PDA

Просмотр полной версии : Как записать значение состояния кнопки в регистр MODBUS



arty
01.06.2020, 11:07
Добрый день,
прошу знающих подсказать как решить такую задачу.
Есть кнопка(не триггер, состояние не хранит) при нажатии нужно менять значение регистра с 0 на 1 или с 1 на 0 (вкл/выкл), при этом само по себе значение может быть изменено из скады.
Реализовать это с помощью макроса SelChgl получается, но кнопку приходится нажимать физически 2 раза в некоторых случаях, чтобы состояние изменилось, иначе изменений нет, нужно чтобы при первом нажатии кнопки состояние инвертировалось, т.е. если в регистре было 1 после первого нажатия в регистре должно быть 0, если было 0, то должно после нажатия стать 1.
С уважением, Артур

Ревака Юрий
01.06.2020, 11:37
Добрый день,
прошу знающих подсказать как решить такую задачу.
Есть кнопка(не триггер, состояние не хранит) при нажатии нужно менять значение регистра с 0 на 1 или с 1 на 0 (вкл/выкл), при этом само по себе значение может быть изменено из скады.
Реализовать это с помощью макроса SelChgl получается, но кнопку приходится нажимать физически 2 раза в некоторых случаях, чтобы состояние изменилось, иначе изменений нет, нужно чтобы при первом нажатии кнопки состояние инвертировалось, т.е. если в регистре было 1 после первого нажатия в регистре должно быть 0, если было 0, то должно после нажатия стать 1.
С уважением, Артур

Добрый день. Макрос ON/OFF Вам в помощь.

arty
01.06.2020, 11:58
Макрос использую, но у него 2 состояния 0/1 и если кнопка нажата, и при этом изменилось состояние регистра из скады, то кнопку нужно нажимать 2 раза, чтобы изменить состояние.
Здесь 2 источника данных которые конфликтуют: сигнал с кнопки и запись в регистра из скады.

Smey232
01.06.2020, 13:08
Попробуй этот вариант

49394

arty
01.06.2020, 13:53
к сожалению не работает, если регистр принял значение 1, то уже никогда не выключится из-за ИЛИ, на выходе всегда будет 1.

Smey232
01.06.2020, 14:15
Да, вижу, мой косяк) А так?


49401

arty
02.06.2020, 05:40
Smey232, заработало, спасибо, нравится этот форум что спецы без помощи не оставляют!

sergeyvi
21.11.2023, 14:02
Здравствуйте. немного не работает Ваш алгоритм. Например задача такая: есть одна сетевая переменная из устройства 1 (читать и писать может само устройство) и есть устройство ПР200, которое отображает переменную на экран и передаёт в облако и от туда её тоже можно редактировать.
Ваш алгоритм работает только один раз с устройства, а в дальнейшем только из ПР200 или облака, т.к. сброса RS-тригера нет.
71762