При заводском сбросе ретаин переменные не сохраняются. Это же не отключение питания. Наоборот, ПЛК приходит в исходное заводское состояние, и все что там было записано удаляется и создается с нуля. Вполне возможно, что регистры слэйва конфигурации и переменные ретаин хранятся в разных файлах, и при загрузке сначала считываются переменные, сохраненные в файле слэйва конфигурации, потом из файла ретаин переменных (если он уже есть).
Можно в одном из регистров слэйва хранить какое-нибудь "определенное число" (кроме нуля). При загрузке программы смотреть, что в этом регистре. Если 0, то "вручную" инициализировать регистры нужными начальными значениями, если "определенное число", то ретаин считались правильно и ничего инициализировать не надо.Как добиться того, чтобы после заводского сброса переменные из области Modbus (slave) принимали свои начальные значения?




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