Ответ: Сбросить бит (coil) записанный по modbus
Правильно данная задача выполняется так:
Т.к. событие редкое - заявлено раз в сутки, то скада передаёт holding с текущей датой. Хоть до посинения передаёт её на контроллер. Контроллер, видя, что дата сравнялать с текущей, щёлкает релюхой. Дошел ответ контроллера до скады или не дошёл - не важно. Каждый последующий запрос будет с текущей датой. Рано или поздно скада поймёт, что всё произошло. Даже если связи не будет до полуночи, то в полночь даты перестанут совпадать, хотя более правильно отменить отправку на стороне скады.
На следующий день всё повторится.
В результате:
а) Мы исключаем многократное щёлкание реле. Реле не может щёлкнуть чаще раза в сутки
б) Нам становятся не нужны любые манипуляции с переменными на стороне слейва
Задача решена. Качественно.
__________________
Программа делает то что написал программист, а не то что он хотел.
Добро всегда побеждает зло. Кто победил - тот и добрый.
|