西门子S7-200 Smart PLC应用于各种控制任务中。当需要将S7-200 Smart的数据通过Modbus协议传输给其他设备或系统。EG边缘计算网关作为一个强大的数据采集和协议转换工具,能够实现这一需求。本文将介绍如何使用EG边缘计算网关采集西门子S7-200 Smart PLC的数据,并将其转换为Modbus协议进行数据传输。
需求概述
本章主要实现一个流程:EG8200采集西门子S7-200smart的数据,并将数据存储在Modbus寄存器中,等待外部主机通过Modbus TCP协议来读取。
要采集的PLC的IP及端口:
PLC | S7-200smart | ||
IP | 192.168.0.34/102 | ||
地址 | 数据类型 | 属性 | 名称 |
I0.0 | Boolean | 只读 | bitSignal1 |
I0.1 | Boolean | 只读 | itSignal2 |
I0.2 | Boolean | 只读 | itSignal3 |
I0.3 | Boolean | 只读 | itSignal4 |
I0.4 | Boolean | 只读 | itSignal5 |
I0.5 | Boolean | 只读 | itSignal6 |
I0.6 | Boolean | 只读 | itSignal7 |
I0.7 | Boolean | 只读 | itSignal8 |
VD20 | Float | 只读 | floatSignal1 |
VD24 | Float | 只读 | floatSignal2 |
VD28 | Float | 只读 | floatSignal3 |
VD32 | Float | 只读 | floatSignal4 |
VW36 | Usint16 | 只读 | uintSignal1 |
VW38 | Usint16 | 只读 | uintSignal2 |
VW40 | Usint16 | 只读 | uintSignal3 |
VW42 | Usint16 | 只读 | uintSignal4 |
需求分析
在制作流程时,基础的逻辑是根据功能实现来制作流程。该需求经过分析可以得出,主要分为PLC数据读取与存储、Modbus TCP通信两个部分。
1.通过西门子S7协议读取PLC的数据,得到的数据存储在内存中(西门子节点)
2.将数据进行格式化(函数节点)
3.将格式化后的数据存储到寄存器中(Modbus Server节点)
4.外部主机连接主动读取
EG网关采集西门子S7-200smart转Modbus协议
需求实现
1.采集PLC数据
从节点库拖入一个S7读数据节点,以及一个调试节点,调试节点用于查看读取到的PLC的数据,方便定位问题:
EG网关采集西门子S7-200smart转Modbus协议
双击西门子节点,根据需求概述的内容填写对应的设置参数,如下图所示:
EG网关采集西门子S7-200smart转Modbus协议
如果设置正确,调试窗口会有日志打印,显示的是读取到的数据内容:
EG网关采集西门子S7-200smart转Modbus协议
有的时候PLC数据点比较多,手动依次录入比较繁琐。节点支持数据点的导入导出或者参数传递的方式来读取:
EG网关采集西门子S7-200smart转Modbus协议
本例程用到的传参代码如下:
msg.payload = [
{ func: "ReadBoolArray", body: { name: "", address: "I0", length: 8 } },
{ func: "ReadFloatArray", body: { name: "", address: "VD20", length: 4 } },
{ func: "ReadUInt16Array", body: { name: "", address: "VW36", length: 4 } }
]
return msg;
2.数据进行格式化
使用函数节点将PLC数据处理成对应格式:
EG网关采集西门子S7-200smart转Modbus协议
数据格式化参考代码如下:
EG网关采集西门子S7-200smart转Modbus协议
3.存储到Modbus寄存器
使用Modbus服务节点,将格式化的数据传入,并配置存储方式:
EG网关采集西门子S7-200smart转Modbus协议
使用TCP IN节点和TCP OUT节点搭配实现TCP服务端:
EG网关采集西门子S7-200smart转Modbus协议
使用上位机(Modbus Poll软件)通过Modbus TCP来读取映射的数据:
EG网关采集西门子S7-200smart转Modbus协议
通过EG边缘计算网关,用户可以轻松实现西门子S7-200 Smart PLC数据的采集,并将其转换为标准Modbus协议输出。这种跨协议的数据转换方案极大简化了工业系统的集成,使不同品牌、不同协议的设备能够在同一系统中协同工作。EG网关强大的协议转换功能为工业自动化、物联网等领域的多协议设备集成提供了高效、灵活的解决方案。