腾龙边缘计算网关一体机凭借其强大的性能和丰富的功能,为企业提供了一种高效、灵活的解决方案。本文将详细介绍如何使用腾龙边缘计算网关一体机内置的AIoTedge+NodeRED接入西门子PLC,实现数据的采集、处理与传输。

一、硬件准备与环境搭建
在开始之前,需要确保以下硬件设备已准备妥当:
- 腾龙边缘计算网关一体机:确保设备已通电并正常启动,网络连接稳定。
- 西门子PLC:本文以西门子S7-200 Smart系列为例,确保PLC已正确配置,并通过以太网与腾龙边缘计算网关一体机相连。
- 网络设备:确保网络环境稳定,且各设备之间能够正常通信。
二、AIoTedge平台配置
- 登录AIoTedge平台:通过浏览器访问腾龙边缘计算网关一体机的IP地址,在浏览器中输入 http://<腾龙一体机IP地址>:8080 ,进入AIoTedge平台的登录界面,使用默认的用户名和密码(通常为 admin/admin)登录平台。
- 创建新项目:在AIoTedge平台中,点击"创建新项目",为接入西门子PLC的应用场景创建一个专属的项目空间。在项目创建过程中,可以自定义项目名称、描述等信息,以便于后续的管理和维护。
三、NodeRED流程设计与PLC数据读写
(一)安装NodeRED S7模块
在NodeRED中,需要安装专门用于与西门子PLC通信的模块。在NodeRED的界面右上角,点击菜单按钮(三条横线),选择"管理节点"。在弹出的节点管理界面中,搜索"node-red-contrib-s7",找到该模块后点击"安装"按钮进行安装。安装完成后,可以在节点列表中看到新增的S7相关节点,如"s7 endpoint"、"s7 in"、"s7 out"等。
(二)配置S7 endpoint节点
- 添加S7 endpoint节点:在NodeRED的左侧节点面板中,找到"s7 endpoint"节点,将其拖放到工作区中。
- 配置节点参数 :
- Transport:选择"iso-on-tcp"协议,这是与西门子S7-200 Smart PLC通信的标准协议。
- Address:填写PLC的IP地址,例如"192.168.102.23"。
- Port:填写PLC的端口号,通常为"102"。
- Mode:选择"TSAP"模式。
- Local TSAP:设置本地传输服务访问点,例如"10"和"02"。
- Remote TSAP:设置远程传输服务访问点,例如"03"和"01"。
- Connmode:连接模式选择"tsap"。
- Cycletime:通讯周期设置为"2000"毫秒。
- Timeout:超时时间设置为"2000"毫秒。
- VarTable:在变量表中添加需要读写的PLC数据点。例如,添加"DB1,INT108"表示数据块DB1中的整数型数据,起始地址为108;添加"DB1,INT200"表示数据块DB1中的整数型数据,起始地址为200,用于存储管道静压等数据。
(三)创建读取PLC数据的流程
- 添加"s7 in"节点:从左侧节点面板中拖拽一个"s7 in"节点到工作区中,并将其与之前配置好的S7 endpoint节点相连。
- 配置"s7 in"节点 :
- Endpoint:选择刚才创建的S7 endpoint节点。
- Mode:选择"All",表示读取所有在VarTable中定义的变量。
- Name:为该节点命名,例如"读PLC数据"。
- 添加"debug"节点:为了方便调试,拖拽一个"debug"节点到工作区,并将其与"s7 in"节点相连。在"debug"节点的配置中,可以设置输出内容为"msg.payload",以便查看读取到的PLC数据。
- 部署流程:点击右上角的"部署"按钮,将流程部署到腾龙边缘计算网关一体机中。此时,NodeRED会尝试与PLC建立连接,并读取数据。如果配置正确,可以在"debug"节点的输出面板中看到从PLC读取到的数据。
(四)创建写入PLC数据的流程
- 添加"inject"节点:拖拽一个"inject"节点到工作区,用于模拟向PLC发送数据。在"inject"节点的配置中,可以设置发送数据的类型为"num",并填写具体的数值,例如"554"。
- 添加"s7 out"节点:从左侧节点面板中拖拽一个"s7 out"节点到工作区,并将其与"inject"节点相连。
- 配置"s7 out"节点 :
- Endpoint:选择之前创建的S7 endpoint节点。
- Variable:在下拉菜单中选择需要写入的变量,例如"DB1.VW200",表示将数据写入数据块DB1中的VW200地址。
- Name:为该节点命名,例如"写入PLC数据"。
- 部署流程:点击"部署"按钮,将流程部署到设备中。当触发"inject"节点时,NodeRED会将指定的数据写入到PLC的相应地址中。
四、数据处理与业务逻辑实现
在完成PLC数据的读写操作后,可以利用NodeRED强大的节点库和低代码编程能力,进一步实现数据处理和业务逻辑的编排。例如:
- 数据转换与计算:使用"function"节点对读取到的PLC数据进行数学运算、单位转换等操作,以满足特定的业务需求。
- 数据存储与分析:将处理后的数据存储到本地数据库或云端数据库中,以便后续进行数据分析和挖掘。可以使用"mysql"、"influxdb"等节点与数据库进行交互。
- 报警与通知:根据PLC数据的实时状态,设置报警条件。当满足条件时,通过"email"、"pushbullet"等节点发送报警通知给相关人员。
- 与其他系统的集成:利用NodeRED的灵活性,将PLC数据与企业的其他系统(如MES、ERP等)进行集成,实现数据的共享和协同工作。
五、流程优化与监控
- 优化流程性能:根据实际应用场景,对NodeRED流程进行优化。例如,调整"s7 in"和"s7 out"节点的触发条件和频率,避免不必要的数据传输,降低系统负载。
- 监控流程运行状态:在AIoTedge平台中,可以实时监控NodeRED流程的运行状态,查看节点的执行情况、错误信息等。通过监控,及时发现并解决流程中出现的问题,确保系统的稳定运行。
