新闻中心

PRESS CENTER 纵横智控
你的位置: 首页 新闻 技术应用
纵横智控

EG网关采集西门子S7-200 Smart通过HTTP上传第三方平台

2025-09-01 11:00:53 阅读: 发布人:纵横智控

需求概述

本章节主要实现一个需求:EG8200采集西门子S7-200 Smart的数据,拼装成Json格式,通过HTTP上报应用平台。

PLC数据采集此处不做过多赘述,可参考其他案例介绍。

准备工作

要实现此功能,需提前准备好以下材料。

1. PLC的IP/端口/点位表

PLC

S7-200 Smart

IP

192.168.0.30/102

点表(DB1)

地址

数据类型

属性

名称

VD100

Float

只读

电机1温度

VD104

Float

只读

电机2温度

VD108

Float

只读

电机3温度

VD112

Float

只读

风机1温度

VD116

Float

只读

风机2温度

VD120

Float

只读

风机3温度

2. HTTP通信相关参数

##数据推送

url:192.168.0.34:1880/api/device/reportData

method:POST

 

JSON格式:

{

"devid":"123456",

"data":{

"Temperature1": 20.5,

"Temperature2": 19.96,

"Temperature3": 19.77,

"Temperature4": 21,

"Temperature5": 33.8,

"Temperature6": 26.98,

}

}

需求分析

在制作流程时,基础的逻辑是根据数据走向来制作流程。其中主要工作分为三步:

第一步:通过S7协议采集PLC数据

第二步:将数据按照JSON格式进行格式化

第三步:配置HTTP请求

边缘计算网关/物联网平台/网关模块/纵横智控

需求实现

1. 采集PLC数据

从节点库拖入一个西门子S7节点,以及一个调试节点,调试节点用于打印读到的PLC数据,方便定位问题:

边缘计算网关/物联网平台/网关模块/纵横智控

双击西门子S7节点,根据需求概述的内容填写对应的设置参数,如下图所示:

IP:PLC的IP

端口:102(S7协议通信默认端口102)

连接超时:1000ms(默认2000ms,可自定义)

通讯超时:2000ms(默认2000ms,可自定义)

 

数据点配置(根据帮助文档可以找到对应关系)

VD100

VD104

VD108

VD112

VD116

VD120

有的时候PLC数据点比较多,手动依次录入比较繁琐。节点支持数据点批量导入导出:

此处为语雀视频卡片,点击链接查看:plc导入.mp4

2. 数据格式化

在调试窗口可以看到读到的PLC数据如下:

边缘计算网关/物联网平台/网关模块/纵横智控

HTTP通信要求payload内容符合Json格式,因此需将PLC节点输出的Json格式转换成HTTP通信需要的Json格式:

PLC节点输出Json格式

描述

HTTP上报要求Json格式

{

"Temperature1": 23.5,

"Temperature2": 22.5,

"Temperature3": 32.11,

"Temperature4": 16.5,

"Temperature5": 56,

"Temperature6": 77.3

}

需将左侧Json格式

转换为右侧Json格式

{

"devid": "123456",

"data": {

"Temperature1": 23.5,

"Temperature2": 22.5,

"Temperature3": 32.11,

"Temperature4": 16.5,

"Temperature5": 56,

"Temperature6": 77.3

}

}

如上所示,我们已成功利用函数计算节点将PLC读取的数据格式转换为HTTP上报所需的Json格式。这只是函数计算节点强大功能的一小部分展示,由于支持JavaScript编程,几乎任何你能想象的功能都能在此实现。

3. 通过HTTP上报

拖入一个HTTP节点,根据提示进行配置地址和请求方式,即可实现数据上报:

此处为语雀视频卡片,点击链接查看:HTTP上报.mp4

服务端返回成功,至此,数据上报已经完成,很简单几步即可实现:采集PLC数据HTTP上报。

源码

所有的流程支持以json格式导入导出,方便与其他人分享做好的流程。本章节的流程json文件如下,复制后在菜单栏右上角选择导入粘贴即可,导出同理。

热门产品