Меня мучает вопрос. Может, кто-то смог в лоб решить задачу? Есть Овен "ПЛК-160", который на Codesys 2.3. Захотелось мне сделать уставку через Modbus и чтобы она сохранялась при отключении питания, имела начальное значение и изменялась через Holding Register. Если я в лоб пишу "Var retain a:word=10;", то переменная обнуляется, если прописана как переменная в Holding Register. Может есть какой-то более прямой путь, который не связан с отдельной программой, которая сохраняет переменную в retain и извлекает её на первом цикле ?
Комментарии: 6
Yyriy
Не знаю, что там на 160м, а на 110м холдинг переменная втыкась(копировалась) в ретейн и всё работало
Vildan
Если в общем опишите задачу - напишу в целом как лучше ( да конечно решал подобное ) Сколько слейвов мастеров и тд
Nikita
Вот, допустим есть переменная, и используется следующим образом Мастеров там 1, как сделать, чтобы уставка сохранялась без танца с бубном ?
Vildan
Объявить переменную в конфигурации модбас слейв - она ретайн Или у вас при вкл скада/мастер успевает перезаписать?
Nikita
Она и объявлена в Modbus Slave. Там где-то ещё нужно добавить retain ? Скада там ленивая, она явно не пишет ничего пока оператор не дёрнется, да и даже при работающей СКАДА, т.е. когда запись уже была, проявляются 0 после перезагрузки. Лечу тем, что создаю ещё 1 переменную в retain, из которой забираю данные при запуске контроллера. Если бы это Scada хулиганила, то при перезагрузке СКАДА вылетали бы 0, а тут только при перезагрузке контролера
Vildan
Это что то особенное - скиньте проект - гляну....