Аналогичная проблема, но при условии если ставлю два стоповых бита в настройках Ком-порта(
Аналогичная проблема, но при условии если ставлю два стоповых бита в настройках Ком-порта(
Столкнулся с аналогичной проблемой, плк73 перезагружается и сбрасывает все значения. Пользуюсь овеновской библиотекой для Modbus. Заметил следующее.
Работаю с двумя портами, на одном порту частотники с Modbus.lib, на втором модем с самописным слейвом(проблема не в нем, без этого блока так же перезагружается), подключил к ОРС для проверки работоспособности, отработала программа три дня без отключений. Потом пересоздавал конфигурацию ОРС и перепутал номера COM-портов, на одном интерфейсе оказалось два мастера, на втором три слейва без мастера, и контроллер уходил в постоянную перезагрузку. Найдя проблему подключился просто терминалом на порт с мастером и невпопад слал мастеру всякие символы. Контроллер с 5-10 посылки перезагружался. В отладочном режиме контроллер выдает причину перезагрузки сторожевой таймер.
В итоге "на столе" с нормально настроенным OPC контроллер работает отлично, на объекте постоянно перезагружается.
Это аппаратная защита интерфейса, возможно какое-нибудь наведённое напряжение от ПЧ в интерфейс, или всё таки проблема в Modbus.lib по той же причине? на функциях записи одного регистра используются While, контроллер долго отрабатывает точки останова не удалось проверить нормально на каком моменте происходит сбой.
Последний раз редактировалось Балалай; 10.02.2020 в 11:30.
Нельзя while использовать. представьте помеха собьёт передачу и while никогда не выполнится. ПЛК перегрузится как раз по сторожевому таймеру.
Сделайте машину состояний. Тогда ПЛК будет работать, точки останова нормально отрабатывать и т.д.
Тролль-наседка, добрый, нежный и ласковый
Я это писал про Modbus.lib
FUNCTION_BLOCK MB_UNI_IO
7-я строчка
Мастер использовался из библиотеки.
Непросто разобраться в таком большом листинге, проще написать своего мастера, но мне просто интересна сама реакция ПЛК, на ситуацию когда "два мастера в сети", а в моем случае возможно просто помехи в порт шлют всякий мусор.
Последний раз редактировалось Балалай; 10.02.2020 в 13:41.