Запись в ModBus переменную

Ответить


Этот вопрос предназначен для предотвращения автоматической отправки форм спам-ботами.
Смайлики
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ВКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Запись в ModBus переменную

Re: Запись в ModBus переменную

admin » 29 окт 2018, 15:16

Составная переменная предназначена для вычисления сложных значений по различным формулам.
Этим обуславливается особенность обработки составной переменной.
Она не предназначена для внедрения логики работы.
Для этого используйте возможности используемой SCADA системы.

Re: Запись в ModBus переменную

ATnk » 29 окт 2018, 15:06

Спасибо, помогло, но теперь запись в регистр происходит практически в каждом цикле. Почему?

i:=Minute(Item(CURRENTTIME));
if i <> Item(min) then
{
Item(m_s):=0;
Item(min):=i;
}

Re: Запись в ModBus переменную

admin » 29 окт 2018, 14:31

В параметрах установите:
"Настройка" - "Параметры" - "Разные" - "Дополнительно" - "Составная переменная" -> "Отработать запись"

Запись в ModBus переменную

ATnk » 29 окт 2018, 14:25

Есть задача выполнить периодическую запись в ModBus переменную - написал небольшой скрипт, значение в саму переменную передаются, но запись в устройство не происходит, хотя, если сделать принудительно ручную запись через диалог "Запись значений", то меняется значение переменной на самом устройстве.
Прошу подсказать что делаю не так?

Пример скрипта:
if Minute(Item(CURRENTTIME))<>Item(min) then {Item(m_s):=0;}

Item(min):=Minute(Item(CURRENTTIME));

Вернуться к началу