远创智控MPI-ETH-YC01Puls转以太网模块支持 Modbus 功能,可作为 Modbus 主站或者 Modbus 从站,实现 PLC 与其他 Modbus 设备的通讯。
一、 Modbus 主站功能介绍
1.1 功能和应用
远创智控MPI-ETH-YC01Puls 的扩展母口作为 Modbus 主站运行,连接外部 Modbus 仪表,根据预置命令在西门子 PLC 和Modbus 仪表之间交换数据。应用于西门子 PLC 和 Modbus 仪表进行通讯。
远创智控MPI-ETH-YC01Puls 可最多配置 72 条数据交换命令,可以传送的数据类型包括位、字节和字。单条命令最多一次传送连续的 100 个字(寄存器),对 Modbus 站点数目并无限制。
1.2 通讯线连接
远创智控MPI-ETH-YC01Puls 的扩展总线接口连接外部 Modbus 仪表,桥接模式下,以太网模块扩展总线接口的针脚定义:
以太网模块扩展通讯口引脚 DSUB9 母口 | 定义 | 说明 |
第 3 脚 | RX/TX+ | RS485 信号正 |
第 8 脚 | RX/TX- | RS485 信号负 |
第 5 脚 | GND | RS485 信号地 |
1.3 远创智控MPI-ETH-YC01Puls 配置
配置步骤:NetDevice 搜索--参数配置--扩展总线接口--Modbus 从站。
1.3.1.电脑连接 远创智控MPI-ETH-YC01Puls 转以太网模块,运行 NetDevice(V1013 版本以上)配置软件,选择查找到的NetDevice 转以太网模块,点击按钮栏【修改设备参数】按钮。
1.3.2.在参数配置界面左侧选择【S7 总线接口参数配置】,右侧页面选择【扩展总线接口】,设置【功能选择】为 Modbus主站,设置波特率、数据位、停止位和奇偶校验参数。如果为多 Modbus 从站设备的总线网络,建议设定通讯同步时间,一般为 30~50mS;
1.3.3. 在参数配置界面左侧选择【Modbus 主站】,右侧页面点击【新建命令】配置数据交换命令。
1.3.4. 编辑新建 Modbus 数据传送命令对话框,配置完成后点击【检查】查看有无错误,点击【确定】保存该命令。
如上:
1) 数据传送方向
ModbusS7:读取 Modbus 仪表数据传送到西门子PLC;
S7Modbus:读取西门子 PLC 数据传送到 Modbus 仪表; 传送的数据个数、数据类型和数据区域
对于位传送,只能传送一个位,数据区域:COIL 和 INPUT;
对于字节传送,最多连续的 200 个字节,数据区域:COIL 和 INPUT;字节传送只能是 ModbusS7 方向。
对于字传送,最多连续的 100 个字,数据区域:INPUT REG 和 HOLDING REG(输入寄存器和保持寄存器)。
2) S7 站点的起始地址:指定PLC 的通讯口站地址和传送区域,对于S7-200 的V 区请选择DB1。另外对于 S7-200 的SM/AI 区只能读取,不能写入。
3) Modbus 站点的起始地址:指定 Modbus 站号和数据区起始地址。另外对于 INPUT REG 只能读取不能写入。
1.3.5. 命令示例
1) S7Modbus 字传送:读取PLC 地址为 2 的 DB10.DBW0~18 传送到 Mdobus 1 号站的 40001(HoldingRegsiter 保持寄存器 1)开始的 10 个字。
2) S7Modbus 字传送:读取 PLC 地址为 2 的 QW0~18 传送到 Mdobus 1 号站的 40001(HoldingRegsiter 保持寄存器1)开始的 10 个字。
3) ModbusS7 字节传送:读取 Modbus 1 号站的 00001(Coil 线圈 1)~00008(Coil 线圈 8) 之间的数据传送到 2 号PLC 的 MB0。
4) ModbusS7 位传送:读取 Modbus 1 号站的 00001(Coil 线圈 1)数据传送到 2 号 PLC 的Q0.0。
1.3.6. 配置完成后点击【下载参数】按钮,将参数下载到 远创智控MPI-ETH-YC01Puls;设备重启运行后可对运行状态进行监视;
1.4 通讯测试
Modbus 仪表较常见的有各种智能温控仪,示例以集成 ModbusRTU 从站通讯口的温控器仪表为例, 说明如何实现 远创智控MPI-ETH-YC01Puls 的 Modbus 主站数据通讯。示例功能:将两台温控仪表的实际温度值(PV)分别读取到一台S7-300 的DB1.DBW100 和DB1.DBW102数据区;将 S7-300 的 DB1.DBW200 和 DB1.DBW202 数据作为温度设定值(SV)分别传送到两台温控仪表。
1.4.1. 接线:用 PROFIBUS 电缆连接两台温控器,将 PROFIBUS 网络插头插在 远创智控MPI-ETH-YC01Puls 的扩展总线接口上。如果自制通讯线,远创智控MPI-ETH-YC01Puls 扩展总线接口的 3 脚接 RS485+(接温控器 A 端口),8 脚接RS485-(接温控器B 端口),5 脚接 RS485 地。
1.4.2. 设置温控器参数为 Modbus 通讯协议,地址分别为 1 和 2,设置 9600bps 波特率,8 数据位,偶校验,一个停止位;
1.4.3. 配置 远创智控MPI-ETH-YC01Puls 参数,下载参数。
1) 扩展总线接口参数:Modbus 主站,9600bps 波特率,8 位数据位,1 位停止位,偶校验。
2) 配置 Modbus 主站命令:
温控器的当前温度(PV 值)在保持寄存器 16#14,即保持寄存器的 20;设定值(SP 值) 在保持寄存器的 16#28,即保持寄存器的 40。
按示例要求配置如下命令:
1.4.4. 点击参数配置页面的【Modbus 执行监视】,查看命令执行信息。
1.4.5. 打开 Step7 软件,连接 远创智控MPI-ETH-YC01Puls,在监控表中输入 DB1.DBW100,DB1.DBW102,DB1.DBW200 和 DB1.DBW202,查DB1.DBW100/1002 是否为温控器的实际温度,修改 DB1.DBW200/2002 查看温控器设定温度是否一致。
1.4.6. 总结:
1) 远创智控MPI-ETH-YC01Puls 的 Modbus 主站功能依据预先配置的数据交换命令自动执行 Modbus 仪表和 PLC 之间的数据传输,无须在PLC 中编程;
2) 远创智控MPI-ETH-YC01Puls 的 Modbus 主站通讯并不影响上位机的以太网通讯,上位机(如编程软件、监控组态软件、以太网触摸屏等)仍然可以通过以太网读写 PLC 数据;
3) 利用命令的连续数据区多字节/字传送可减少每个站点的命令数,从而增加可通讯站点;
4) 对于位传送,可以采用字节数据类型,连续的 8 个位值将直接传送到PLC 中的一个字节地址;
5) 提高 PLC 的波特率(如 S7-200 设置为 187.5Kbps)和 远创智控MPI-ETH-YC01Puls 扩展通讯口的波特率(最高256Kbps)可以加快 Modbus 数据交换的速度;如果 Modbus 通讯线较长应适当降低波特率;
6) 所有的 Modbus 站点需设置为站地址不一样,波特率、数据位和校验位应该相同并和 远创智控MPI-ETH-YC01Puls 扩展通讯口参数一致;