Количество байтов в 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) имеет.

Какие коды функций используются?

Другие вопросы по тегам