新闻中心
PRESS CENTER本章节主要实现一个需求:EG8200采集西门子PLC的数据,拼装成Json格式,通过MQTT上报纵横云平台;同时能够接收纵横云平台下发的控制命令,实现远程控制PLC。
要实现此功能,需提前准备好以下材料。
1. PLC的IP/端口/点位表
PLC | S7-200 Smart | ||
IP | 192.168.0.30/102 | ||
点表(DB1) | |||
地址 | 数据类型 | 属性 | 名称 |
I0.0 | Boolean | 只读 | MotorState1 |
I0.1 | Boolean | 只读 | MotorState2 |
V0.4 | Boolean | 读写 | MotorControl1 |
V0.5 | Boolean | 读写 | MotorControl2 |
VD100 | Float | 只读 | voltage |
VD200 | Float | 只读 | current |
VW300 | Uint16 | 只读 | frequency |
VW302 | Uint16 | 只读 | frequencySetValue |
2. MQTT通信相关参数
JSON格式: { "sensorDatas": [ { "flag":"MotorState1", "switcher":1 }, { "flag":"MotorState2", "switcher":1 }, { "flag":"voltage", "value":220.0 }, { "flag":"current", "value":10.2 } ] } |
网关配置:
第一步:采集PLC数据
第二步:拼接Json
第三步:MQTT上报
第四步:MQTT订阅
第五步:解析下行Json并写入PLC
平台配置:
第一步:添加设备
第二步:添加数据点
第三步:绑定标识
第四步:测试
网关配置
第一步:采集PLC数据
采集PLC数据可参考其它案例,此处不做重点介绍。配置流程如下视频介绍:
此处为语雀视频卡片,点击链接查看:读取西门子.mp4
第二步:拼接Json
网关上报的Json数据中Key值必须与平台配置的数据点标识名称一致,平台才能正确识别显示。
PLC节点输出Json格式 | 描述 | 纵横云平台要求Json格式 |
{ "MotorState1": false, "voltage": 50, } | 需将左侧Json格式 转换为右侧Json格式 | { "sensorDatas": [{ "flag": "MotorState1", "switcher": 0 }, { "flag": "voltage", "value": 50 }] } |
纵横云平台3.0有数据接收长度限制,所以本案例通过函数节点对上报数据做了拆分上传
纵横云平台限制每包数据上传间隔必须大于1S,这里增加了一个缓存队列节点来实现数据有序发送
第三步:MQTT上报
新增MQTT发布节点,连接信息如下:
IP域名:1883.dtuip.com
端口:1883
客户端ID:网关SN(序列号)
用户名:平台3.0登录账号
密码:平台3.0登录密码
发布主题:网关SN(序列号)
配置MQTT发布节点,用于将采集到的数据上传到纵横云平台3.0:
此处为语雀视频卡片,点击链接查看:MQTT连接.mp4
第四步:MQTT订阅
连接信息:使用发布节点配置的连接信息
订阅主题:网关SN/+
配置MQTT订阅节点,用于接收纵横云平台3.0下发的控制指令:
此处为语雀视频卡片,点击链接查看:下行配置.mp4
第五步:解析Json并写入到PLC
纵横云平台下发的报文格式与PLC节点要求的Json格式不一致,因此,此处需要将收到的Json格式转换。
纵横云平台下发Json格式 | 描述 | PLC节点要求Json格式 |
{ "sensorDatas": [{ "sensorsId": 4503840, "switcher": 0, "flag": "MotorControl2" }], "down": "down" } | 需将左侧Json格式 转换为右侧Json格式 | { "MotorControl2": false } |
此处为语雀视频卡片,点击链接查看:下行解包.mp4
平台配置
平台3.0地址:app.iotrouter.com
平台3.0注册邀请码:882261310
序列号:设备SN,需要将SN发客服,添加到后台才可使用
第一步:添加设备
设备管理->添加设备->填入网关SN。
第二步:添加数据点
在设备管理页面找到刚才添加的设备,点击编辑设备。
找到传感器添加数据点。
根据本案例中的数据点添加:4个开关型变量,4个数值型变量。小数位以及单位根据自己的需求设定。添加完成后下滑到底部点击创建设备。
第三步:绑定标识
在设备管理页面找到刚才添加的设备,点击设置连接。
将PLC节点的数据点名称填入纵横云平台对应的读写标识。
第四步:测试
此处为语雀视频卡片,点击链接查看:测试.mp4
MQTT配置节点导出时,不会携带用户名和密码。因此导入时需要重新录入用户名和密码