Modbus 开发环境

学习 Modbus 协议最快的方法就是动手实践,为了降低操作门槛,我们可以通过软件来模拟,而不需要真实的 Modbus 设备。在 Windows 上,我们可以安装 Modbus Poll 和 Modbus Slave,以及 Visual Serial Port Driver(即 VSPD)软件。

这三个工具的功能分别如下:

  • Modbus Poll —— Modbus 主站设备;
  • Modbus Slave —— Modbus 从站设备;
  • Visual Serial Port Driver —— 虚拟串口软件,允许用户模拟多串口,支持所有的串口设置和信号线。

通过实操,可以加深对 Modbus 协议的理解,为后续调试真实设备打下良好基础 。

下载地址:

VSPD 虚拟串口

下载并安装 VSPD 软件,打开软件,可以看到如下窗口。

点击 “Pair” 创建一对相互连接的虚拟串口,例如 COM1 和 COM2。

此时,如果打开两个串口终端,分别连接 COM1 和 COM2,即可相互通信。但我们的目标是搭建 Modbus 开发环境,因此还需要安装 Modbus Poll 和 Modbus Slave 作为主站设备和从站设备。大致工作框架如下图所示。

Modbus Poll

Modbus Poll 是 Modbus 主站设备仿真器,可以用于测试和调试 Modbus 从站设备,便于观察 Modbus 通信过程中的各种报文数据。该软件支持多种 Modbus 协议模式:

  • Modbus RTU
  • Modbus ASCII
  • Modbus TCP/IP
  • Modbus RTU Over TCP/IP
  • Modbus ASCII Over TCP/IP
  • Modbus UDP/IP
  • Modbus RTU Over UDP/IP
  • Modbus ASCII Over UDP/IP

Modbus Poll 主画面窗口如下。

按 F1 打开帮助,按 F3 进入连接设置页面。

按 F8 进入协议定义页面。例如,你要读取 20 个保持寄存器的值,起始地址为 40011(10),那么设置参数如下:

  • Slave ID :输入从站设备 ID
  • Function :03 功能码(Read Holding Registers)
  • Address :10(Protocol address)
  • Quantity :20
  • Scan Rate :1000(将会每 1000ms 轮询一次数据)

在菜单栏 Functions 可以找到一些功能码的单独操作页面,例如写线圈状态寄存器、写保持寄存器等。

Modbus Slave

Modbus Slave 是 Modbus 从站设备仿真器,用于接收主站设备的命令包,并回送数据包,便于观察 Modbus 通信过程中的各种报文数据。

Modbus Slave 最多可以在 32 个子窗口中模拟多达 32 个 Modbus 从站设备。用户界面与 Modbus Poll 相同,支持 01、02、03、04、05、06、15、16、22 和 23 等功能码,可用于监视串口或者网络通信数据。

按 F8 打开从站定义窗口,可以设置从站 ID、功能码、寄存器起始地址、寄存器数量,以及 Modbus Slave 窗口的显示格式等。

Modbus Poll 和 Modbus Slave 仿真软件的用法就是这么简单,但由于它们都是商业软件,因此如果想长期使用,需要购买正版 License。

Leave a Reply