PDA

Просмотр полной версии : обрывы соединения по модбасу



Mesoma
21.04.2019, 15:32
Требовалось контролировать соединения по интерфейсу RS-485 протокол модбас, СПК110 в режиме мастера: ПЛК и несколько ПЧ(преобразователей частоты).
итог: организовал чтение состояния соединения-
err_modbus_nasos:=Modbus_Slave_COM_Port_nasos.xErr or;
при неоднократной попытке восстановить соединение-
Modbus_Slave_COM_Port_nasos.xAcknowledge:=TRUE;
порт отваливается вообще. помогает только перезагрузка СПК
ПОМОГИТЕ!!

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

Евгений Кислов
21.04.2019, 16:23
Добрый день.
К сожалению, не очень ясно, какого рода помощь вы ожидаете.

На мой взгляд, оптимальный вариант - устранить источник ошибок.
Предположу, что он - на физическом уровне. Экранированные кабели RS-485 с раздельной прокладкой от силовых, терминаторы, сетевые дроссели для ПЧВ и т.п. должны редуцировать влияние помех от частотников.


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

Если действительно нужно именно описанное поведение:

IF Modbus_Slave_COM_Port_nasos.xError THEN
// останавливаем процесс
END_IF

Mesoma
26.04.2019, 07:53
Добрый день.
К сожалению, не очень ясно, какого рода помощь вы ожидаете.

На мой взгляд, оптимальный вариант - устранить источник ошибок.
Предположу, что он - на физическом уровне. Экранированные кабели RS-485 с раздельной прокладкой от силовых, терминаторы, сетевые дроссели для ПЧВ и т.п. должны редуцировать влияние помех от частотников.



Если действительно нужно именно описанное поведение:

IF Modbus_Slave_COM_Port_nasos.xError THEN
// останавливаем процесс
END_IF

Доброго времени суток.
Я только учусь работать в codesys и многое конечно не знаю.
вопрос решился совместно с вашим коллегой с Украины, а решение было простым:
перед Modbus_Slave_COM_Port_nasos.xAcknowledge:=TRUE;
нужно .xAcknowledge присвоить False.
так как перезапуск соединения происходит по переднему фронту.

всё же спасибо за ответ и внимание.