Еще раз повторюсь: для проверки я отключил контроллер от общей сети. Подключил к нему ноут для проверки состояния переменных. Все Master устройства отключены от контроллера.
Про то, что все Slave переменные должны быть retain я уже прочитал. Но реальность другая.
В программе для записи применяются только уставки разные. Они не обрабатываются ничем, являются входами для блоков.
Вот так объявлены переменные (это я для примера вынес одну в retain блок)
2024-08-01_09-11-23.png
Вот так в программе переменная применена
2024-08-01_09-10-13.png
Вот так она объявлена в Modbus Slave для работы с ней
2024-08-01_09-12-05.png
Как я понимаю - при перезагрузке контроллер производится переинициализация переменных. Обычные переменные (это попробовал), есди они не в Modbus и добавлены в retain область, инициализируются последним заданным значением. При перезагрузке в карте Modbus переменных нет значений (никто туда ничего не пишет) т.е. там 0. Соответственно т.к. переменная привязана к карте с нулевыми значениями она и становится равной 0. Это так?
Попробую через промежуточную перемнную, как написали выше сделать. Пока вариантов не собо вижу.





Ответить с цитированием