TOOL / IIOT / MODBUS-CHECKSUM

Modbus CRC/LRC и адреса регистров

Расчёт CRC-16 RTU и LRC ASCII, сборка запросов, перевод 40001 в адрес PDU с нуля.

Локальные вычисления Промышленный IoT 现场总线 #modbus crc 计算#lrc 校验#40001 地址换算
LIVE WORKBENCH / modbus-checksum

Пример заполнен и редактируется. Всё считается локально, ничего не загружается.

CRC-16/MODBUS (init 0xFFFF)C5 CD
WORD / BIG-ENDIAN0xCDC5 / CD C5
Кадр RTU (с CRC)01 03 00 00 00 0A C5 CD
LRC (режим ASCII)0xF2
Кадр ASCII:01030000000AF2␍␊
Преобразование адресов регистров
Адрес PDU (с 0)9 (0x0009)
Код функции чтения0x03
Запрос чтения (с CRC)01 03 00 09 00 02 14 09
FAQ

Частые вопросы

Какой CRC-16 использует Modbus?

CRC-16/MODBUS: отражённый 0x8005, init 0xFFFF, check 0x4B37. ARC с init 0x0000 для RTU не подходит.

Почему CRC передаётся младшим байтом вперёд?

RTU добавляет CRC в little-endian: слово 0xCDC5, на шине C5 CD. Инструмент показывает оба вида.

Чему равен 40001 на шине?

40001 — адрес с единицы, на шине 0x0000; 40010 → 0x0009. Это смещение — частая ошибка.

Как пользоваться

Основной текст ниже пока полностью доступен только на китайском; интерфейс, заголовки, описания и FAQ отображаются на выбранном языке.

  1. 输入 RTU 报文 hex(不含 CRC),得到 CRC 低/高字节、RTU 完整帧、LRC 与 ASCII 帧。
  2. 在地址换算区选择寄存器类型并输入人机地址,得到 PDU 地址、读取功能码与带 CRC 的读请求。

本工具用 LRC 计算 ASCII 帧、用 CRC-16/MODBUS 计算 RTU 帧,两者不能混用。读请求的数量按规范限制 0x01/0x02 最多 2000 个位、0x03/0x04 最多 125 个寄存器。

地址与功能码

类型起始人机地址报文起始地址读功能码
Coil000010x00000x01
Discrete Input100010x00000x02
Holding Register400010x00000x03
Input Register300010x00000x04

RTU 帧间隔必须大于等于 3.5 个字符时间,ASCII 帧以 : 开头、CRLF 结尾并用 LRC 校验。

NEXT / RELATED TOOLS

Похожие инструменты

ВСЕ В РАЗДЕЛЕ ↗