Цитата Сообщение от kondor3000 Посмотреть сообщение
Вообще то слейв переменные, все по умолчанию энергонезависимые и RETAIN, если они у вас при старте обнуляются, значит их перезаписывает в ноль или панель или скада. Или же программа в ПЛК.
Значит надо эти переменные записывать и хранить отдельно, а при включении инициализировать их где надо. Или править программу в ПЛК.
Еще раз повторюсь: для проверки я отключил контроллер от общей сети. Подключил к нему ноут для проверки состояния переменных. Все 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. Это так?

Попробую через промежуточную перемнную, как написали выше сделать. Пока вариантов не собо вижу.