-
Принудительная перезагрузка ПЛК и Modbus/TCP
Здравствуйте!
Имеется ПЛК110-32 с прошивкой 2.10.5. Подключен по Ethernet.
Захотелось сделать возможность принудительной перезагрузки ПЛК по записи (с компьютера) определенного значения в заданный регистр Modbus/TCP.
Код типа:
if rres=16#FEFE then
while true do
i:=i+1;
end_while
end_if
При записи значения 0xFEFE плк благополучно уходит в бесконечный цикл, перезагружается по watchdog'у и рестартует.
Вот только установить связь по modbus/tcp со стороны opc-сервера (lectus) уже не удается. Помогает только повторный резет с кнопки.
При этом плк пингуется, Codesys нормально соединяется и все остальное вроде работает...
Может кто подскажет, где грабли?
-
Резет по Watchdog и по кнопке АБСОЛЮТНО одинаковы.
-
Может, просто rres после сброса по сторожевому таймеру остаётся таким же, и опять сваливаемся в бесконечный цикл? Не может такого быть?
-
может, в соседней теме поведали, что модбас-слейв изначально в ретейн..
-
Если ьы ПЛК сваливался в бесконечный цикл - он бы перегружался. А Вы говорите, что связь с CoDeSys есть.
Скорее всего мастер ModBusTCP не устанавливает связь. А при повторной перезагрузке таймаут больше и связь восстанавливается.
Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
-
Правила форума