Подскажите, штатно CoDeSys поддерживает Modbus RTU over TCP? Или как такой обмен настроить?
Подскажите, штатно CoDeSys поддерживает Modbus RTU over TCP? Или как такой обмен настроить?
Всем добра! Подскажите пожалуйста, как работает библиотека CmpOPCUAClient Implementation ? Есть документалка как либо или примеры на эту библиотеку?
Есть вот такая проблема с обменом по Modbus TCP со слейвом (RESPONSE INVALID HEADER):
https://s1.hostingkartinok.com/uploa...3516b9b2c8.png
Различными Modbus-сканерами этот слейв опрашивается. Проведенный анализ показал, что проблема может быть связана с тем, что слейв шлет "лишний" байт в каждом ответе:
https://s1.hostingkartinok.com/uploa...80a374e63f.png
Поэтому CoDeSyS-реализация Modbus TCP мастера отбраковывает данный ответ, и данные не принимает. Библиотека OwenCommunication - тоже.
Подскажите, как проще "подстроиться" под данную явно кривую реализацию слейва? Что-то изменить на стороне слейва возможности нет.
Использовать ФБ UNM_TcpRequest из библиотеки OwenCommunication.Цитата:
Подскажите, как проще "подстроиться" под данную явно кривую реализацию слейва?
У вас цель - полностью сделать "правильную" реализацию Modbus TCP с использованием данного ФБ или решить конкретную проблему с вашим конкретным слэйвом с "кривой реализацией" протокола?
Если второе - то достаточно хардкодом задать нужные запросы и написать примитивный парсер ответов, вычленяющий данные по известным байтовым смещениям.
Вся нужная для этого информация на вашем скриншоте с Communication Traffic есть.