Количество байтов в Modbus TCP PDU
Я пишу Modbus TCP Master для связи с ведомыми Modbus TCP.
У меня проблема с определением правильного формата пакета
Это стандартный формат пакета:
| Tx ID | Proto ID | Length | Unit ID ***| FCode | Data |***
Как мы знаем, FCode & Data формирует PDU связи.
Но у моего ведомого устройства Modbus TCP есть один байт спереди для количества переданных байтов. выглядит так:
| Tx ID | Proto ID | Length | Unit ID ***| FCode | byte count | Data |***
Мой вопрос в любом случае это нарушение спецификации Modbus TCP?
1 ответ
Это зависит от кода функции. Разные функциональные коды имеют разные pdu:s.
Запись одного регистра (0x06), например, не имеет "счетчика байтов", но запись нескольких регистров (0x010) имеет.
Какие коды функций используются?