Modbus RTU полная строка ответа
В протоколе Modbus RTU полная строка ответа на запрос чтения регистров (например, функцией 0x03 — Read Holding Registers) включает в себя не только сами данные, но и служебную информацию.
Структура ответа (для функции 0x03):
Поле | Размер (байт) | Описание |
---|---|---|
Address | 1 | Адрес устройства (slave) |
Function Code | 1 | Код функции (0x03 для чтения регистров) |
Byte Count | 1 | Количество байт данных (N × 2, где N — количество регистров) |
Data | N × 2 | Значения регистров (каждый регистр — 2 байта) |
CRC | 2 | Контрольная сумма (CRC-16 для проверки целостности пакета) |
Пример для 4 регистров:
- Запрос: Чтение 4 регистров (например, с адреса 0x0000).
- Ответ:
- Address = 1 байт (например,
0x01
), - Function Code = 1 байт (
0x03
), - Byte Count = 1 байт (
0x08
, так как 4 регистра × 2 байта = 8 байт), - Data = 8 байт (значения 4 регистров),
- CRC = 2 байта.
- Address = 1 байт (например,
Итого: 1 + 1 + 1 + 8 + 2 = 13 байт — полный размер ответа.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.