modbus-debug について
組み込み機器の Modbus RTU/TCP スレーブ通信を検証する開発者向けデバッグスキルです。レジスターの読み書き、スレーブアドレスのスキャン、値の監視に対応します。
主な機能
- 01Modbus レジスターの読み書き
- 02バス上のスレーブアドレスのスキャン
- 03レジスター値の変化の監視
- 04RTU モードと TCP モードへの対応
- 05接続エラーとプロトコルエラーの分類
活用シーン
- 01RTU シリアルスレーブ通信の検証
- 02TCP デバイスの応答確認
- 03デバイスレジスターの読み取りや変更
- 04レジスター状態の継続的な観察
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ leokemp223/ embed-ai-tool --skill modbus-debugインストール後、Claude Code で/modbus-debugを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/usage.mdscripts/modbus_tool.py詳細
プロジェクトの README よりModbus 调试
适用场景
- 嵌入式设备实现了 Modbus RTU/TCP 从站,需要验证通信是否正常。
- 需要读写保持寄存器、输入寄存器、线圈或离散输入。
- 需要扫描总线上的从站地址,确认设备是否在线。
- 需要持续监控寄存器值的变化。
必要输入
- RTU 模式:串口号(如 COM42)、波特率、从站地址。
- TCP 模式:主机 IP 和端口、从站地址。
- 操作类型:读/写/扫描/监控。
依赖
pymodbus(pip install pymodbus)pyserial(RTU 模式需要)
执行步骤
- 先阅读 references/usage.md,确认操作参数。
- 探测环境:
python scripts/modbus_tool.py --detect - 根据需求执行对应操作:
# 读保持寄存器 python scripts/modbus_tool.py --port COM42 --slave 1 --read --address 0 --count 10 # 写寄存器 python scripts/modbus_tool.py --port COM42 --slave 1 --write --address 0 --values 100,200 # 扫描从站 python scripts/modbus_tool.py --port COM42 --scan --scan-range 1-10 # TCP 读取 python scripts/modbus_tool.py --tcp --host 192.168.1.100 --slave 1 --read --address 0 --count 10
失败分流
connection-failure:串口无法打开、网络不通。slave-no-response:从站地址无响应。illegal-function:设备不支持该功能码。illegal-address:寄存器地址越界。
输出约定
示例输出格式:
结果: ✅ 读取 10 个寄存器
连接: RTU COM42 9600 8N1
从站: 1
地址 | 十进制 | 十六进制 | 二进制
------+---------+----------+--------------------
0 | 100 | 0x0064 | 0000000001100100
1 | 200 | 0x00c8 | 0000000011001000
交接关系
- 从
build-keil/build-platformio烧录固件后,用此 skill 验证 Modbus 通信。 - 与
serial-monitor互补:serial-monitor 查看串口原始输出,modbus-debug 进行协议级调试。
コメント
Markdown 対応