在 Windows 上进行 Modbus 实验,最简单的方法是使用仿真软件。你可以把你的电脑同时变成“主站”和“从站”,让它们自己跟自己对话。
这样你不需要购买任何 PLC、传感器或电缆,零成本就能搞懂协议。
我们将使用行业标准的工具:Modbus Poll (主站模拟器) 和 Modbus Slave (从站模拟器)。
请下载并安装以下两个软件(都有免费试用版,足够学习使用):
实验方案选择:
- 方案 A (推荐 - 最快):Modbus TCP。 不需要安装额外驱动,直接通过网络(本地回环 127.0.0.1)通信。
- 方案 B (进阶):Modbus RTU。 需要安装“虚拟串口软件” (如 Virtual Serial Port Driver) 来创建一对虚拟串口(如 COM1 连接 COM2)。
为了让你立刻看到效果,我们要进行方案 A (Modbus TCP) 的实验。
我们要先建立一个“虚拟设备”,里面存放一些数据等待被读取。
Slave ID: 1 的窗口。这代表我们模拟了一个 ID 为 1 的设备。Modbus TCP/IP。
- Port: 默认 502 (这是 Modbus TCP 的标准端口)。
- 点击 OK。
- 现象: 此时状态栏应该显示 "Server Active" 或类似字样,表示它正在监听 502 端口。123。
- 勾选 "Auto increment" (自动增加) 可以让这个数字一直变,方便观察。
- 点击 OK。现在,你的电脑里已经有一个“虚拟传感器”在运行了,它的寄存器 0 里有一个数值 123。
现在我们要模拟上位机(或 PLC)去读取那个数据。
Modbus TCP/IP。
- IP Address: 输入 127.0.0.1 (代表本机)。
- Server Port: 输入 502。
- 点击 OK。1 (必须和从站一致)。
- Function: 选择 03 Holding Register (最常用的读取指令)。
- Address: 0。
- Quantity: 10 (读取10个数据)。
- 点击 OK。如果一切设置正确,你应该会立刻看到 Modbus Poll 的表格里出现了数据!
Tx: 发送出去的报文 (请求)。Rx: 接收回来的报文 (响应)。00 00 00 00 00 06 01 03 00 00 00 0A (TCP 报文头 + Modbus 指令)。刚才我们是“读”,现在试试“写” (控制设备)。
999。999。恭喜你!你刚刚完成了一次标准的工业控制操作。 这相当于你在控制室点了一下鼠标,现场的阀门(从站)就打开了。