Большое спасибо.
Вид для печати
Большое спасибо.
Пример подготовлен:
https://ftp.owen.ru/CoDeSys3/21_Exam...projectarchive
Евгений, такое может быть что скачанная с сайта библиотека выдает ошибку при установке UnitID равным нулю (wrong parametr) ?
Использую библиотеку owen communication library 3.5.11.7.
Использую пример 5.9.3 документа "настройка обмена по протоколу modbus. Вер 3.2"
Мне нужен режим режим modbus rtu over ethernet, адрес устройства 0 (источник питания ps-ea серии 9000).
Создаю фб для подключения по TCP (связь создается) и другой ФБ для отравки запроса по модбас. Но когда ставлю параметр usiUnitId равным нулю, то функция возвращает eError = WRONG_PARAMETER.
Потом проверял на модели используя программу modbus slave. Устанавливал usiUnitId равным 1. В этом случае обмен идёт нормально.
Скриншоты смогу показать через пару недель.
Для режима "RTU over TCP" адрес 0 считается широковещательным и может использоваться только совместно с функциями записи.
Это следует из спецификации протокола Modbus.
Вложение 90644
тогда не совсем понимаю, как это соотносится с сообщениями #64 и #66 ?
https://owen.ru/forum/showthread.php...l=1#post397164
Там речь шла про Modbus TCP. В рамках этого протокола на использование Unit ID = 0 не накладывается никаких ограничений.
Вложение 90647
У вас - Modbus RTU over TCP. С ним ситуация обстоит иначе - я писал об этом выше.
Хм. Видимо в моей ситуации нужно использовать фб unm_tcprequest. Попробую.