真实PLC与电脑中的Modbus Slave从站通讯
实际问题概况
现有一西门子S7-200 smart PLC, 通过RS485的串口调试工具与电脑中安装的Modbus Slave软件进行通讯,其中Modbus Slave来代替仪表。其实际场景:S7-200 SMART 作为 Modbus 主站(Master) → 电脑上的 Modbus Slave 软件作为从站(Slave) → 通过 RS485 通讯测试。
一、整体通讯结构
S7-200 SMART PLC ——RS485—— USB转485 —— 电脑
│
└─ Modbus Slave 软件 (模拟仪表)
PLC:
- Modbus Master
电脑软件:
- Modbus Slave
- 模拟 Modbus RTU 从站设备
二、硬件准备
需要:1️⃣ USB转RS485转换器
接线:
| RS485转换器 | PLC |
|---|---|
| A+ | A+ |
| B- | B- |
注意:有些转换器写的是
D+
D-
等同于
A+
B-
如果通讯失败,可以 A/B对调试一下。
三、PLC端配置
由PLC作为从站代替仪表,电脑中的软件Neo Modbus作为主站;
方案1:PLC做为从站,由电脑中的软件如Neo Modbus做为主站,来测试PLC与电脑中的软件通讯是否正常;

如图所示通讯也都正常,说明在硬件连接上是没有问题 的;

在PLC中的程序编写如下图所示,注此时PLC是做为从站来编写的;

同理使用摩尔信使调试软件也是可以的。

摩尔信使调试软件做为从站,PLC做为主站;传输浮点数Float数据的,需要在摩尔信使用对变量进行设置,如下图所示:

通过以上可以证明硬件连接也都是正常的,并连当PLC做为从站通讯也是正常的;
PLC作为主站,由modbus slave软件作为从站通讯
方案2:PLC做为主站,由摩尔信使或Modbus-Slave做为从站来代替仪表;进行通讯;
在摩尔信使调试软件中的配置,将摩尔信使调试软件设为Modbus Slave从站,也就是相当于一个仪表;而在PLC中做为一个主站来处理数据;

在PLC中的程序配置,如下图所示,PLC是做为主站来处理数据的。

当使用Modbus Slave也是可以的,如果在定义时勾选PLC Address时,基地址就变成了40001, 如果不勾选的话基地址就是0开始,这一点需要注意。

