EG边缘计算网关连接纵横云3.0物联网平台(MQTT协议)

上文: EG边缘计算网关连接中移ONENET物联网平台(MQTT协议)

更多可见:成都纵横智控

需求概述

本章节主要实现一个流程:EG8000采集的数据,组装成JSON格式,并通过TCP上报应用平台;同时能够接收应用平台下发的控制命令,实现远程开关。要实现此流程,需要提前准备好以下材料:

要采集的PLC的IP端口以及点位表,例如:

|-------|---------|----|-------------------|
| PLC | S7-200 Smart |||
| IP | 192.168.0.34/102 |||
| 地址 | 数据类型 | 属性 | 名称 |
| 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 |

MQTT通信相关参数及JSON数据格式要求,例如:

JSON格式:
{
	"sensorDatas":
	[
		{
			"flag":"MotorState1",
			"switcher":1
		},
		{
			"flag":"MotorState2",
			"switcher":1
		},
		{
			"flag":"MotorControl1",
			"switcher":1
		},
		{
			"flag":"MotorControl2",
			"switcher":1
		},
		{
			"flag":"voltage",
			"value":220.0
		},
		{
			"flag":"current",
			"value":10.2
		},
    {
			"flag":"frequency",
			"value":50
		},
    {
			"flag":"frequencySetValue",
			"value":50
		},
	]
}

需求分析

网关配置:

第一步:采集PLC数据

第二步:拼接Json

第三步:MQTT上报

第四步:下行MQTT订阅

第五步:解析下行Json写入PLC

平台配置:

第一步:添加设备

第二步:添加数据点

第三步:绑定标志

第四步:测试

需求实现

网关配置

第一步:采集PLC数据

此处为采集PLC数据,不在过多赘述,可参考其他案例。采集到PLC的流程如下:

此处为语雀内容卡片,点击链接查看:PLC Item · IOTRouter

第二步:拼接Json

此处报文将数据按照需求概述拼接成Json格式,需要注意的是平台限制每包数据上传间隔必须大于1S,这里使用缓存队列节点来实现数据有序发送:

💡平台3.0有数据接收长度限制,所以本案例通过函数节点对采集的数据做了拆分上传处理

第三步:MQTT上报
新增MQTT发布节点,连接信息如下:
IP域名:1883.dtuip.com
端口:1883
客户端ID:网关SN(序列号)
用户名:平台3.0登录账号
密码:平台3.0登录密码
发布主题:网关SN(序列号)

配置MQTT发布节点,用于将采集到的数据上传平台3.0:

第四步:下行MQTT订阅
新增MQTT订阅节点:
连接信息:使用发布节点配置的连接信息
订阅主题:网关SN/+

配置MQTT订阅节点,用于接收平台3.0下发的控制指令:

第五步:解析Json并写入到PLC

因为平台3.0的下发的报文格式不满足PLC的要求,所以,此处需要将收到的JSON格式进行格式转换。这里我们需要使用函数计算节点,通过编程将它进行处理转换,再给到PLC进行写的操作:

平台配置

第一步:添加设备

设备管理->添加设备->填入网关SN

第二步:添加数据点
    1. 设备管理找到刚才添加的设备,进入编辑设备
    1. 找到传感器添加数据点
    1. 根据本案例中的数据点添加,4个开关型变量,4个数值型变量,其他小数位以及单位根据自己的需求设定(添加完成后需要下滑到底部点击创建设备)
第三步:绑定标志
    1. 设备管理找到刚才添加的设备,点击设置连接
    1. 填入读写标识(需要和网关PLC Item节点的Name配置一致)
第四步:测试

注意

💡MQTT配置节点导出时,不会携带用户名和密码。因此导入时需要重新录入用户名和密码

相关推荐
WINDHILL_风丘科技1 小时前
Softing工业将OPC UA信息建模集成到边缘应用和安全集成服务器中
物联网·网关·工业边缘·opc·工业自动化
网易独家音乐人Mike Zhou8 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
2401_8827275712 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
畅联云平台15 小时前
美畅物联丨智能分析,安全管控:视频汇聚平台助力智慧工地建设
人工智能·物联网
东芝、铠侠总代1361006839317 小时前
浅谈TLP184小型平面光耦
单片机·嵌入式硬件·物联网·平面
BY—-组态18 小时前
web组态软件
前端·物联网·工业互联网·web组态·组态
Vodka~21 小时前
物联网——UNIX时间戳、BKP备份寄存器、RTC时钟
物联网·实时音视频
电子科技圈1 天前
XMOS携手合作伙伴晓龙国际联合推出集成了ASRC等功能的多通道音频板
科技·嵌入式硬件·mcu·物联网·音视频·iot
IT枫斗者1 天前
如何解决Java EasyExcel 导出报内存溢出
java·服务器·开发语言·网络·分布式·物联网
7yewh1 天前
嵌入式硬件杂谈(四)-高速板PCB设计 高速信号全面讲解 蛇形线 等长线 差分对 阻抗对
驱动开发·嵌入式硬件·mcu·物联网·硬件工程·pcb工艺·精益工程