新闻中心
PRESS CENTER西门子S7-200 PLC是西门子品牌下的PLC控制器,是一种高性能、模块化的可编程逻辑控制器,广泛应用于各种自动化控制领域。它没有网口,只有串口,串口通信使用的是PPI协议。本文主要以纵横智控的EG8200Mini边缘计算网关为例,讲解如何使用PPI协议读取西门子S7-200 PLC的数据。
1. 硬件连接
EG8200Mini和西门子S7 200通信之前,必须保证接线正确。PPI采用的是485通信,具体接线为3脚接A,8脚接B。
实际接线图如下:红色是RS485A接S7 200的3脚,蓝色是RS485B接S7 200的8脚。
2. PLC串口参数
2.1. 打开STEP7软件
2.2 查看通信参数
可以看到站号是2,波特率是9600,后面网关配置需要使用该参数。
3.网关设置
3.1 PLC连接设置
从左侧拖入一个Siemens节点,双击打开设置页面,根据PLC的串口参数填写配置如下:
协议:选择PPI 串口:选择RS485-1,根据实际硬件连接选择 波特率:9600 数据位:8 停止位:1 校验位:EVEN 通讯超时:2000 串口分帧:100,单位ms,串口分帧时间根据实际情况填写,推荐50-100ms 站号:2
按照如上设置好PLC的连接信息,此时点击部署后,可以看到PLC显示状态就绪:
3.2 数据点位设置
通常情况下,可以在Siemens节点的参数列表内填写要读取的数据点,数据点填写完成后,会按照设定的频率自动读取PLC的点位。本示例采用了高级的方案,以函数的方式来读取PLC的点位,此方案的好处是可以动态修改要读取的数据点。
拖入一个函数节点,复制如下代码:
msg.payload = [] msg.payload[0] = {} msg.payload[0].func = "ReadBool" msg.payload[0].body = {} msg.payload[0].body.name = "I0.5" msg.payload[0].body.address = "I0.5" msg.payload[0].body.length = 1 return msg;
这段代码的意思是:使用“ReadBool”方法读“I0.5”地址的1个Bool量,结果存在名字为“I0.5”的变量中。其中length表示一次性可以读多个连续地址的值。msg.payload是一个数组,你也可以一次性读多种不同类型的数据。
所有可调用的方法,可参考节点介绍。
示例如下:
3.3 测试
拖入一个注入节点和调试节点,如图所示,点击注入节点,观察读到的数据点结果为:I0.5:true。通信成功!
以上就是纵横智控为你带来的边缘计算网关如何对接西门子S7-200 PLC的方法,希望对你有所帮助!