Показать сообщение отдельно
Старый 17.08.2023, 15:58   #22
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 157
Благодарил(а): 15 раз(а)
Поблагодарили: 665 раз(а) в 607 сообщениях
По умолчанию Ответ: Сбросить бит (coil) записанный по modbus

Правильно данная задача выполняется так:

Т.к. событие редкое - заявлено раз в сутки, то скада передаёт holding с текущей датой. Хоть до посинения передаёт её на контроллер. Контроллер, видя, что дата сравнялать с текущей, щёлкает релюхой. Дошел ответ контроллера до скады или не дошёл - не важно. Каждый последующий запрос будет с текущей датой. Рано или поздно скада поймёт, что всё произошло. Даже если связи не будет до полуночи, то в полночь даты перестанут совпадать, хотя более правильно отменить отправку на стороне скады.

На следующий день всё повторится.

В результате:

а) Мы исключаем многократное щёлкание реле. Реле не может щёлкнуть чаще раза в сутки

б) Нам становятся не нужны любые манипуляции с переменными на стороне слейва

Задача решена. Качественно.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием