Чтение регистра, масштабирование, отображение, модификация, запись.

Обсуждение работы Скады встроенной в программу
Ответить
gmz_001
Рядовой
Сообщения: 13
Зарегистрирован: 19.10.2017{, 10:49}
Репутация: 0

Чтение регистра, масштабирование, отображение, модификация, запись.

#1

Сообщение gmz_001 » 18.02.2018{, 11:13}

В двух словах - в регистре хранится значение уставки регулятора в виде signed int, количество знаков после запятой настраивается в приборе и на содержимое регистра никак не влияет. Как отобразить понятно - читаем регистр содержащий уставку, читаем регистр хранящий положение десятичной точки. Делим одно на другое, отображаем в СКАДА. Но как быть если мы должны поменять эту уставу из скада ? Понятно что берем введенное значение, умножаем с учетом положения десятичной точки и передаем в переменную привязанную к регистру прибора. Но если я правильно понимаю слаться значение будет при каждом цикле обмена modbus. Мне бы чтоб отсылалось только при изменении значения из скада. А то я не уверен что измененная уставка в приборе не пишется тут же в еепром. Эдак можно прибор прикончить.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Чтение регистра, масштабирование, отображение, модификация, запись.

#2

Сообщение Sancho » 18.02.2018{, 11:22}

Если речь об овене - не переживай.
Ты в любом случае шлёшь в регистр модбаса, который прибор считывает себе в программу - а ему без разницы дальше, из модбаса, из блока лицевой панели, от... переменные ретайн он переваривает как его учили - по изменению.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

gmz_001
Рядовой
Сообщения: 13
Зарегистрирован: 19.10.2017{, 10:49}
Репутация: 0

Чтение регистра, масштабирование, отображение, модификация, запись.

#3

Сообщение gmz_001 » 18.02.2018{, 14:24}

Да. Тренируюсь на регуляторе от Овена. Вопрос с постоянно отсылаемыми данными еще волнует из соображений создания лишнего трафика.
Еще возник вопрос о выделении бита. В проекте для ардуино есть блок для работы с битами. В скада - нет. Блоки И, ИЛИ, НЕ не работают побитово. Как выделить бит. Доступна только функция чтения holding register.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Чтение регистра, масштабирование, отображение, модификация, запись.

#4

Сообщение Sancho » 18.02.2018{, 14:41}

Трафик дело случая.
Ждём от Автора математической функции modulo - остаток от деления.
На устройстве собираем биты в регистр, потом разбираем, как душе угодно. Писал и примеры выкладывал не раз.
Побитово, по кусочкам бит,...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

gmz_001
Рядовой
Сообщения: 13
Зарегистрирован: 19.10.2017{, 10:49}
Репутация: 0

Чтение регистра, масштабирование, отображение, модификация, запись.

#5

Сообщение gmz_001 » 19.02.2018{, 04:59}

Sancho писал(а):
18.02.2018{, 14:41}
потом разбираем, как душе угодно. Писал и примеры выкладывал не раз.
Побитово, по кусочкам бит,...
Единственный вопрос КАК?
Без битовых операций и взятия по модулю основания? Деление с остатком можно реализовать вычитанием в цикле, но цикла как такового в скаде то же не наблюдаю. Это нужно отслеживать изменение переменной, копировать во временную, выставлять флаг запуска цикла, вычитать пока временная переменная не станет меньше делителя, выставлять флаг нахождения результата. Что то давно на ассемблере с одним сложением ничего не считал, то есть никогда.

Или есть еще варианты решения ? И вообще цикл в flprog scada возможно реализовать?

Ответить

Вернуться в «FLProg-Scada»