
西门子 S7 协议
适配PLC:S7-200 Smart
S7-300
S7-400
S7-1200
S7-1500
西门子目前在售的PLC一般都支持S7协议通信,以下主要讲解EG8200Mini使用S7协议读取西门子S7-200 Smart PLC的数据。
1. 硬件连接
S7协议采用网口通信的方式,只需要保证网关的LAN口IP和西门子PLC的IP在一个网段即可(注意:特殊情况下可以不在一个网段,需要设置路由,详询技术支持)。本例程IP地址分配如下:

2. PLC通信参数
2.1. 查看机架/槽号
a.如果PLC型号是S7-200 Smart,无需设置机架号和槽号
b.如果PLC型号是S7-300/S7-400/S7-1200/S7-1500,在设备组态页面下,选择常规,项目信息,查看机架号和槽号:

2.2.打开访问权限
如果PLC型号是S7-1200/S7-1500,需打开访问权限,才能读取到数据,具体操作如下:
a.右键单击要使用的DB快,在弹出的会话框中选择属性,在弹出的会话框中,取消勾选优化的块访问:


右键单击设备名称,在弹出的会话框中选择属性,如图设置访问级别和连接机制:



3. 网关设置
3.1. PLC连接设置

3.2. 数据点位设置
在Siemens节点的参数列表内填写要读取的数据点,数据点填写完成后,会按照设定的频率自动读取PLC的数据。
数据点一般PLC工程师会提供,拿到点位表后,按照网关要求的格式填写数据点,具体对应关系可以参考:

本例程读取VD20地址的数据,通过STEP7软件可以看到VD20存储的浮点数是:415.64,在参数列表,依次填写地址/名称/数据类型/数据长度,定时2秒循环读取,如图所示:

3.3. 测试
a.如果PLC型号是S7-200 Smart,无需设置机架号和槽号
4. 将两者连起来
将画布的注入节点和调试节点连接在一起,具体方法是:鼠标移动到注入节点的输出口,按住鼠标左键不放,拖拽到调试节点的输入口,松开鼠标即可

5. 部署
此时,节点和流程仅存在于工作区中。如果需要流程执行,必须点击部署按钮将程序固化到网关内

6. 测试
选中调试区的日志窗口,单击注入节点的左侧按钮,日志窗口会打印时间戳

7. 添加一个函数节点
你可以在函数节点里面通过Javascript代码对消息进行处理
删除现有的连线(选择连线,在键盘上按Delete键)
在注入节点和调试节点之间连接函数节点
双击函数节点打开编辑对话框,将以下代码复制到对话框中,点击完成按钮关闭对话框,单击部署按钮
现在,单击注入节点按钮时,日志窗口的消息已经被函数节点格式化为可读的时间戳

本章节介绍了创建流程的基本概念,展示了如何使用注入节点手动触发流程,以及调试节点如何在日志窗口查看信息,还展示了如何使用函数节点对消息进行处理
源码
所有的流程支持以json格式导入导出,方便与其他人分享做好的流程。本章节的流程json文件如下,复制后在菜单栏右上角选择导入粘贴即可,导出同理

注意
其他的节点都可以理解为封装好的函数节点