三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Modbus Poll 与 Slave 一体化调试:PcanWork Modbus Tools 完整使用指南

Modbus Poll 与 Slave 一体化调试:PcanWork Modbus Tools 完整使用指南

PcanWork Modbus Tools 面向 PLC、仪表、网关、BMS、充电设备和工业控制系统联调,把传统 Modbus Poll 的主站能力与 Modbus Slave 的从站仿真能力放进同一套 Windows 桌面工具。当前版本为v0.1.37

一、为什么需要主站与从站一体化

设备联调通常有两个方向:

  • 电脑作为主站,主动读取或写入真实设备。
  • 电脑作为从站,模拟设备等待 PLC、上位机或网关访问。

如果这两种工作分别由不同软件承担,连接参数、寄存器定义、数据显示格式和日志往往无法复用。PcanWork 使用统一的工作区、表格、事件日志和主题系统,让同一组寄存器测试可以从“读取真实设备”自然切换到“模拟设备”。

二、主站模式:覆盖 Modbus Poll 的核心流程

主站模式用于主动连接远端设备。基本步骤是:

  1. 选择 Modbus TCP 或 Modbus RTU。
  2. 填写远端 IP/串口、端口、超时等连接参数。
  3. 设置从站 ID、功能码、起始地址、数量和扫描周期。
  4. 选择 Unsigned、Signed、Hex、Float 等显示格式。
  5. 建立连接并开始单次读取或周期轮询。
  6. 根据需要写入线圈或寄存器。

支持的数据区包括线圈、离散输入、输入寄存器和保持寄存器。常用功能码的地址范围、数量上限和数据长度都会在界面与后端执行层校验,避免非法请求直接进入通信链路。

多工作区管理

不同地址段可以放进独立工作区。例如:

  • BMS 总状态:保持寄存器 0~31。
  • 单体电压:输入寄存器 100~299。
  • 告警位:离散输入 0~63。
  • 控制命令:线圈与可写保持寄存器。

每个工作区保存自己的功能码、地址、数量、扫描周期和格式。切换工作区不需要反复输入参数,保存后可以在下次测试或其他电脑继续打开。

自动重连与超时

现场网络会出现断线、设备重启和链路抖动。工具支持自动重连、超时和重连间隔。事件日志会记录连接、断开、超时与恢复过程,避免“表格不更新但不知道为何停止”的模糊状态。

三、从站模式:覆盖 Modbus Slave 仿真需求

从站模式让电脑模拟 Modbus TCP 或 RTU 设备,外部 PLC、网关或测试程序可以连接并读写模拟数据。

  • 支持线圈、离散输入、输入寄存器和保持寄存器。
  • 可直接编辑寄存器值并即时响应主站。
  • 同时显示工程值和原始十六进制值。
  • 统计请求数量、运行状态和仿真状态。
  • 支持导入、导出仿真数据。

它特别适合“设备固件还没有完成,但上位机需要先联调”的阶段。测试人员可以预先构造正常值、边界值、故障值和跳变值,检查上位机的解析、告警和控制逻辑。

四、绑定失败与“未连接”分别是什么意思

TCP 从站绑定失败

从站监听地址必须属于本机网卡。假设电脑当前 IPv4 地址是 192.168.50.100,那么可以监听:

  • 192.168.50.100:只监听这块网卡。
  • 0.0.0.0:监听本机全部网卡。

不能填写远端 PLC、网关或从站设备的 IP,否则操作系统无法在本机绑定该地址。PcanWork 会明确提示“该地址不是本机网卡地址”,并建议使用 0.0.0.0 或本机实际 IPv4。

未连接不等于不能监听

“未连接”表示当前没有建立 Modbus 会话。对于 TCP 从站,正常顺序是先启动监听,再等待外部主站建立连接;在主站到来之前显示未连接是正常状态。

对于主站模式,未连接则表示还没有连接到远端设备,不能开始有效轮询。

五、寄存器格式、字节序与原始值

Modbus 线上的寄存器是 16 位数据,但工程上常把两个寄存器组合成 32 位整数或浮点数。调试时需要同时关注:

  • 有符号/无符号解释。
  • 十六进制原始值。
  • 32 位寄存器顺序。
  • 字节顺序。
  • 浮点数缩放与工程单位。

PcanWork 的数据视图保留原始十六进制值,便于在工程值异常时回到协议层排查。对于 BMS 电压、温度、电流等带缩放系数的数据,应结合设备协议文档确认倍率和字节序。

六、事件日志、通信流量和曲线

底部区域将“事件日志”和“通信流量”分开:

  • 事件日志:连接、断开、重连、超时、参数错误和运行状态。
  • 通信流量:请求、响应、功能码、地址和异常响应。
  • 曲线窗口:把连续变化的寄存器绘制成趋势,用于观察漂移、突变、周期波动和异常归零。

这样出现读取异常时,不只是看到一个红色错误,而是能够沿着连接状态、请求内容和寄存器变化建立完整证据链。

七、协议边界与稳定性设计

Modbus 常见错误包括:

  • 起始地址与数量组合越界。
  • 读取数量超过功能码允许上限。
  • 写入数据长度与数量不一致。
  • 单元 ID 非法。
  • 把远端地址填入本机监听地址。
  • 长时间轮询导致日志或队列无限增长。

PcanWork 在 UI 与后端双层进行边界校验;通信、记录和界面刷新采用独立有界通路。即使长时间轮询,也不会让日志和队列无上限增长。

八、典型使用方案

方案 A:调试真实 PLC/仪表

使用主站模式连接真实设备,按协议表创建多个工作区,分别轮询状态量、测量值和告警位;将关键寄存器加入曲线并保存工作区。

方案 B:上位机先行开发

使用从站模式建立模拟寄存器,配置正常值与故障值,让上位机在真实设备完成前先验证界面、报警和控制逻辑。

方案 C:现场问题复现

保存现场使用的地址段、扫描周期和格式。回到实验室后用从站模式重建寄存器状态,再通过事件日志与通信流量复盘问题。

九、下载与项目地址

当前版本:PcanWork v0.1.37,Windows x64。

  • GitHub 下载
  • Gitee 下载
  • GitHub 仓库
  • Gitee 仓库
  • 产品网站

PcanWork Modbus Tools 的目标不是简单复制传统工具,而是让主站、从站、数据视图、日志和工作区成为一条可保存、可复现的工程流程。

← 返回列表