mcpField
M
modbus-debug

modbus-debug

github.com/leokemp223开发1.0k565 次安装10 周前更新
代码仓库

关于 modbus-debug

用于验证嵌入式设备 Modbus RTU/TCP 从站通信的调试技能,面向设备开发者。可读写寄存器、扫描从站地址并监控寄存器变化。

主要功能

  1. 01读取与写入 Modbus 寄存器
  2. 02扫描总线从站地址
  3. 03监控寄存器值变化
  4. 04支持 RTU 与 TCP 模式
  5. 05区分连接及协议错误

适用场景

  1. 01验证 RTU 串口从站通信
  2. 02检查 TCP 设备是否响应
  3. 03读取或修改设备寄存器
  4. 04持续观察寄存器状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/leokemp223/embed-ai-tool --skill modbus-debug

安装后在 Claude Code 中输入/modbus-debug确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
usage.md
scripts/
modbus_tool.py

详细介绍

来自项目 README

Modbus 调试

适用场景

  • 嵌入式设备实现了 Modbus RTU/TCP 从站,需要验证通信是否正常。
  • 需要读写保持寄存器、输入寄存器、线圈或离散输入。
  • 需要扫描总线上的从站地址,确认设备是否在线。
  • 需要持续监控寄存器值的变化。

必要输入

  • RTU 模式:串口号(如 COM42)、波特率、从站地址。
  • TCP 模式:主机 IP 和端口、从站地址。
  • 操作类型:读/写/扫描/监控。

依赖

  • pymodbus(pip install pymodbus)
  • pyserial(RTU 模式需要)

执行步骤

  1. 先阅读 references/usage.md,确认操作参数。
  2. 探测环境:
    python scripts/modbus_tool.py --detect
    
  3. 根据需求执行对应操作:
    # 读保持寄存器
    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