Modbus 从站使用指南(适用于 Modbus 测试工具)
一、Modbus 从站简介
Modbus 从站模拟器支持模拟多达 32 个从站设备/地址字段,每个接口均提供 OLE 自动化支持,可用于生成 Excel 报表。该模拟器主要用于模拟、测试和调试 Modbus 通信设备,它能够模拟从站设备接收主站命令和返回数据包的方式,使开发人员能够进行协议模拟和测试。该模拟器支持在 32 个窗口中同时运行多达 32 个 Modbus 从站设备,并具有与 Modbus Poll 相同的用户界面。它支持功能码 01-23,并可监控串口数据。
二、Modbus 从站的使用
1)安装并注册
安装软件。安装完成后,双击“Modbus Slave”快捷方式即可运行。
注册步骤:点击【连接】→【连接】打开注册窗口。解压压缩包中的readme文件,复制Modbus Poll的序列号,并粘贴到注册字段中。点击【确定】完成破解过程。
Modbus Slave 的安装和配置与 Modbus Poll 类似,因此我们在此不再赘述细节。
2)主程序窗口
软件主窗口如下所示:

系统当前处于“未连接”状态。如果只需要测试“04 输出保持寄存器”,您可以跳至步骤 3 并直接进行连接。
3)参数设置
点击菜单 [设置] -> [从属定义] 配置参数,将出现参数设置对话框。

之中:
①从站 ID 指的是 Modbus 从站地址,对应于主界面中的 ID 值,默认值为 1。
②功能是指寄存器功能码的选择,共有四种类型,对应以下关系:
| 代码 | 姓名 | 注册PLC地址 | 位运算/字运算 | 操作计数 |
| 01 | 读取线圈状态 | 00001-09999 | 位操作 | 单个或多个 |
| 02 | 读取离散输入状态 | 10001-19999 | 位操作 | 单个或多个 |
| 03 | 读取保持寄存器 | 40001-49999 | 文字运算 | 单个或多个 |
| 04 | 读取输入寄存器 | 30001-39999 | 文字运算 | 单个或多个 |
| 05 | 写一个单线圈 | 00001-09999 | 位操作 | 单身的 |
| 06 | 写入单个保持寄存器 | 40001-49999 | 文字运算 | 单身的 |
| 15 | 编写多个线圈 | 00001-09999 | 位操作 | 多种的 |
| 16 | 写入多个保持寄存器 | 40001-49999 | 文字运算 | 多种的 |
③地址是寄存器的起始地址,默认为1。
④数量是指连续寄存器的数量,默认值为10。
设置完成后,单击“确定”按钮。仿真窗口将显示已定义的寄存器列表。

之中:
①ID 表示模拟 Modbus 子设备的设备地址;
②F 表示功能码。点击相应的寄存器可以修改其值或状态。例如,将寄存器 2 的值改为 9,或将寄存器 9 的值改为 100。
4)显示设置
①数据显示设置:
默认情况下,寄存器数据以有符号格式(16 位无符号二进制)显示,范围为 -32768 到 32767。要以其他数值格式显示数据,用户可以通过 [显示] 菜单选择相应选项,如下图所示:

② 地址格式设置
Modbus 从站设备默认使用 PLC 地址。[显示] 菜单中的 [PLC 地址(基数 1)] 选项已预先选中,默认寄存器从地址 1 开始。此配置与配置软件中的 Modbus 串口和 TCP 数据转发驱动程序保持一致。对于需要从零开始初始化的测试,请选择 [协议地址(基数 0)]。默认的 PLC 地址设置通常足以满足大多数应用的需求。
5)连接
点击菜单【连接】->【连接】进行连接。此时将出现连接对话框:

之中:
①Port2 表示所使用的串口 (COM2)。请根据实际需要选择其他串口或 TCP/IP 连接。
②模式表示Modbus协议模式,在使用串口时有效,在使用TCP/IP时自动切换到TCP模式。
③流控制是指在串口模式下激活的流控制。
④忽略单元 ID 表示在 TCP 模式下运行时忽略无效的组 ID
用户可根据需要配置参数。默认设置为:串口 1,波特率 9600,数据位宽 8 位,无奇偶校验位,1 位停止位。确认设置后,单击“确定”按钮。主窗口中的红色“未连接”消息将消失,表示从站已连接。
6)记录值变化
双击主窗口的注册地址,打开修改对话框,如下图所示:

请在输入框中输入数值以确认。取值范围为 -32768 至 32767。选中“自动递增”选项后,相应的寄存器值每秒递增 1。
7)检查通信数据帧
在[显示]菜单中单击[通信],打开串口数据帧监视对话框,以查看和分析已发送/已接收的数据帧,如下图所示。

前六位数字表示数据帧的序列号,其中 Rx 表示接收到的数据帧,Tx 表示发送的数据帧。
8)断开连接
点击【连接】→【断开连接】断开连接并结束测试。主窗口中将显示红色“无连接”字样,表示连接已断开。










