云端IOT-Tree Server如何最低成本通过DTU对接现场西门子S7-200 Smart

当前有很大一部分物联网软件平台有这样一个需求,需要远程对接很多个现场设备,这些现场设备非常分散------如智慧农业、智慧灌区等系统。这样的现场有很多都是通过PLC控制本地的一些设备,其中使用的比较多的PLC时西门子S7-1200 Smart。

本文就针对西门子S7-1200 Smart这个使用广泛的PLC为目标,仅仅使用一个4G/5G DTU就可以低成本的接入云端。云端配置IOT-Tree Server运行实例,并且有公网IP地址或由移动网络公司提供的虚拟VPN内网,能够被4G/5G DTU连接接入。

如果你对IOT-Tree Server不了解,可以看如下内容

IOT-Tree Server是个开源物联网软件,可以作为组态软件成为自动化系统的上位软件。她提供了各种设备接入、数据组织管理、数据分享使用、消息流控制逻辑和人机交互多个方面的功能。当然,你也可以仅仅使用这个软件作为数据采集终端或边缘计算的软件。

这是IOT-Tree Server相关的系列文章,你可以参考其他文章更多了解IOT-Tree能给你带来的好处:

使用IOT-Tree Server通过MC协议连接三菱Q系列PLC

使用IOT-Tree Server通过FINS协议连接欧姆龙CP2E-N系列PLC

系列文章还包含IOT-Tree完成一个具体项目的过程,非常详细,如下:

机房自动化监控手把手分享给你 - 10 项目完成总结

1 DTU的选择和连接电路

这里的DTU都是对上支持4G/5G连接云端系统,对下通过RS485接口直接连接西门子PLC的PPI接口(9针含RS485 A B针脚)。

4G/5G DTU网络上购买成本很低,但有个细节要注意------西门子PLC S7-1200 Smart上面的PPI接口针脚定义有点特殊,除非你自己能制作转接头,建议一定要购买专用的转接头。

1.1 连接方式

除了供电,PLC只需要使用这个电缆和DTU连接即可------整个电路没有比这个更简单和更低成本的了。

2 通信原理

DTU到云端的通信建立过程如下:

1,云端建立Tcp Server并且监听某个端口(如10000),等待DTU的接入

2,每个DTU内部都配置了一个唯一ID号,通电启动之后,本地建立Tcp Client,然后向云端主动发起连接请求,连接成功建立之后,DTU Client端立刻发送自己的ID号为云端,告诉云端自己的身份。

3,云端软件获取这个ID之后,进行身份验证。如果验证失败则立刻断开连接,如果成功则保持链接。进入正常运行状态。

4,由云端程序定时运行PPI驱动程序,不断地向DTU端发起读取数据请求。下面是一次请求到应答过程:

  • 4.1 云端向DTU发出PPI数据读取数据包
  • 4.2 DTU手动请求数据包之后,通过RS485电缆透明转发请求数据发送给西门子PLC S7-1200 Smart
  • 4.3 PLC根据请求数据包,输出应答数据,并通过RS485电缆发送到DTU
  • 4.4 DTU通过4G/5G网络向云端透明转发请求到云端
  • 4.5 云端程序接收到应答数据,更新内部对应的数据标签

3 在云端使用IOT-Tree Server具体配置过程

假设你已经在满足条件的云端安装配置了IOT-Tree Server运行实例。访问http://host:port/admin/进入你的项目管理主界面。接下来,你就可以配置现场DTU的接入了。

3.1 建立Tcp Server Connector

参考下图,增加Connector Provider - TcpServer

通过设定TcpServer端口、链接标识判定方式等。如此,IOT-Server就成为了一个接入服务器。

启动项目之后,TcpServer会接受到远端每个监测点的tcp链接。由此,每个现场接入都会有个对应的链接Connector。

参考下图,在tcpserver下面添加Connector。其中,conn必须设定对应DTU的接入id。

3.2 为每个链接Connector添加通道Channel和对应的驱动

参考下图,在Browser树中添加通道(含选择设备驱动),我们设备在此例子中使用Siemens PPI协议的驱动。

建立通道Channel和链接Connector之间的关联

3.3 选择添加设备,运行查看接入数据

在通道下面鼠标右键,选择添加设备。如下图:

选择New Device,在弹出窗口中填写设备信息:

Name=plc2

其他都不需要填写了,点击OK之后,通道下面就会出现对应设备节点。点击此节点,在右边主内容区域点击Properties标签,在属性Device Address行修改值为2.然后点击右上角的Apply按钮保存。如下图:

3.4 新增设备数据项(Tag)

S7-200内部数据通过不同的存储区方式进行,如输出映像寄存器区Q、输入映像寄存器I、变量存储区V等等。IOT-Tree Server对应的PPI驱动也兼容此PLC数据寻址方式。

在主内容区域点击[Tags]标签,下面的内容就是plc2设备对应的数据项列表界面。我们可以点击上方的+Add Tag按钮进行添加。

在弹出窗口中,我们填写如下内容:

复制代码
Name=q0_1
Title=Q0.1
Date type=bool
R/W=Read/Write
Address=Q0.1

编辑窗口如图所示:

点击OK之后,就可以看到列表中新增了这一项。

用同样方法,你可以根据自己设备读取的需要,添加其他数据标签(含对应的PLC内部地址)。

其中,关键内容是每个Tag的Address内容,这个写法兼容西门子的PLC编程软件。另外一个对应的是值类型(Value type),可以看出输入的Address可能会限定Value type。在编写时,可以点击Address右边的"Check Address"按钮,就会自动帮你修改。

4 运行效果

在点击项目配置上方的绿色启动项目按钮------云端会启动Tcp Server并且监听接入。确保现场DTU和PLC设备都通电运行正常,链接正常之后,你就可以看到读取数据成功。此时,你可以点击选择通电,在属性中修改读取时间间隔参数:

5 更进一步

你可以在自己的项目中,新增人机交互节点(HMI),并且通过在线编辑功能进行操作界面的设计:

或者,你也可以把项目中的组织节点直接输出http json格式的数据,方便其他系统调用实时数据。如你在plc2节点上鼠标右键,点击Access,在弹出窗口中可以查看输出的json格式数据,非常方便其他系统调用:

你还可以使用消息流,对接收的数据进行数据库记录保存。

你可以参考:

使用IOT-Tree消息流实现实时数据同步:标签实时数据--关系数据库表

使用IOT-Tree消息流InfluxDB模块节点实现标签数据的时序数据库存储

相关推荐
OidEncoder3 小时前
拉绳位移传感器赋能水利管控:精准测控筑牢闸门开度运行安全防线
安全·自动化·信息与通信
电子科技圈3 小时前
大理5G研究院加速建设面向南亚东南亚新一代信息技术产业化合作新通道
人工智能·物联网·5g·网络安全·信息与通信
Jason_zhao_MR3 小时前
RK3506工业网关:如何打通现场采集、无线传输与行业规约接入?
linux·嵌入式硬件·物联网·系统架构·嵌入式
helx824 小时前
Gemini镜像站驱动的运维事件自动复盘:从日志聚类到根因定位的全链路自动化
运维·自动化·聚类
收放扳机4 小时前
蜘蛛机械手高速收板方案:CD视觉与并联机械手的技术特点
人工智能·科技·自动化·制造·pcb工艺
工业机器人销售服务4 小时前
攻克大型钣金搬运难题:伯朗特高负载机型完成重型工件精准移栽,保障作业全程安全
机器人·自动化
测试员周周11 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
北京耐用通信14 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
BY组态15 小时前
Ricon组态系统最佳实践:从零开始构建物联网监控平台
前端·物联网·iot·web组态·组态