一个轻量、直观的 Windows 桌面工具,专门用来给 Modbus RTU 指令自动计算并追加 CRC-16/MODBUS 校验码。
如果你经常调试串口设备、PLC、传感器、变频器、电表或各类 Modbus 从站,这个工具可以省掉反复手算、查网页、复制粘贴校验码的麻烦。
Modbus RTU 报文最后两个字节是 CRC 校验码,而且发送顺序是低字节在前、高字节在后。手动计算时很容易遇到这些问题:
- 只知道 CRC 数值,却把高低字节顺序写反。
- 每次改寄存器地址或数量,都要重新算 CRC。
- 在线 CRC 工具参数不一致,结果容易混淆。
- 串口助手没有自动追加 Modbus CRC 的功能。
这个工具只做一件事:输入不带 CRC 的 Modbus RTU 指令,立即生成可以直接发送的完整帧。
- 中文桌面界面,双击即可使用。
- 支持 CRC-16/MODBUS,参数符合 Modbus RTU 常用规则。
- 自动按 Modbus RTU 顺序输出 CRC:低字节在前,高字节在后。
- 支持一键复制完整发送帧。
- 支持一键复制 CRC 字节。
- 支持空格、换行、逗号、
0x前缀和紧凑十六进制输入。 - 内置常用示例,适合现场调试快速验证。
- 核心算法有单元测试覆盖,包含
01、02、03、04、05、06、0F、10等常见功能码样例。
输入不带 CRC 的指令:
01 03 00 00 00 0A
工具输出:
CRC值:0xCDC5
CRC发送字节:C5 CD
完整发送帧:01 03 00 00 00 0A C5 CD
注意:0xCDC5 是 CRC 数值,Modbus RTU 报文末尾实际追加的是 C5 CD。
01 01 00 13 00 25 -> 01 01 00 13 00 25 0C 14
01 02 00 C4 00 16 -> 01 02 00 C4 00 16 B8 39
01 03 00 00 00 0A -> 01 03 00 00 00 0A C5 CD
01 04 00 00 00 02 -> 01 04 00 00 00 02 71 CB
01 05 00 AC FF 00 -> 01 05 00 AC FF 00 4C 1B
01 06 00 01 00 64 -> 01 06 00 01 00 64 D9 E1
01 0F 00 13 00 0A 02 CD 01 -> 01 0F 00 13 00 0A 02 CD 01 72 CB
01 10 00 00 00 02 04 00 01 00 02 -> 01 10 00 00 00 02 04 00 01 00 02 23 AE
00 06 00 01 00 64 -> 00 06 00 01 00 64 D8 30
python run_app.pypython -m unittest discover -s tests -v双击:
build.bat
或在 PowerShell 中运行:
powershell -ExecutionPolicy Bypass -File .\build.ps1打包完成后,可执行文件会生成到:
dist\ModbusCRC助手.exe
.
├── run_app.py
├── build.bat
├── build.ps1
├── requirements-build.txt
├── src\modbus_crc_assistant
│ ├── app.py
│ └── crc16_modbus.py
└── tests
└── test_crc16_modbus.py
- Python
- Tkinter
- unittest
- PyInstaller
- 做 Modbus RTU 串口调试的人。
- 做 PLC、传感器、仪表、485 通信调试的人。
- 经常需要手动拼 Modbus 指令的人。
- 想要一个简单、离线、无广告 CRC 工具的人。