如何用IoT边缘连接器实现云端应用控制PLC?
本文分享自华为云社区《数字工厂深入浅出系列(十):IoT边缘连接器实现云端应用控制PLC》,作者: 云起MAE。
通过IoT云平台和边缘计算的技术设施,工厂可以将PLC等OT过程制造控制器/本地IT系统连接到云端,将过程数据实时上传到云端业务平台,实现办公室的业务人员与车间的操作人员跨职能团队实时连接和安全协同。本期结合案例场景,介绍如何使用华为云数字工厂的边缘连接器,实现将PLC等OT过程制造控制器连接到云端,实现安全实时的云端控制与可视化洞察。
最近“五部门”联合行动“强化智能制造这一主攻方向”,国内“智能制造”相关的数字化车间和智能工厂建设进入“加速时刻”:工业和信息化部办公厅、国家发展改革委办公厅、财政部办公厅、国务院国资委办公厅、市场监管总局办公厅开展2023年度智能制造试点示范行动。行动遴选一批智能制造优秀场景,以揭榜挂帅方式建设一批智能制造示范工厂和智慧供应链,在各行业、各领域选树一批排头兵企业,推进智能制造高质量发展。

劳动人员短缺、受市场压力需要更快响应生产满足客户需求的产品、供应链可靠性挑战和云化新技术的成熟等,都是制造过程控制变革的催化剂。许多公司面临着这样一种情况:再也无法在每个工厂都部署一批专业人员,以实现可靠、高效的运营。新一代员工希望在工厂、公司总部甚至家中都能随时掌握信息,这需要打破信息技术IT和自动化控制技术OT之间的诸多障碍,实现IT业务操作与OT过程控制的可靠实时融合,以更少的成本做更多的事情。
通过IoT云平台和边缘计算的技术设施,工厂可以将PLC等OT过程制造控制器/本地IT系统连接到云端,将过程数据实时上传到云端业务平台,实现办公室的业务人员与车间的操作人员跨职能团队实时连接和协同。借助IoT的云边协同技术优势,可以确保从控制系统向外的传输完全是单向的,从而实现云端控制和优化数据的安全性。
本期结合案例场景,介绍如何使用华为云数字工厂的边缘连接器,实现将PLC等OT过程制造控制器连接到云端,实现安全实时的云端控制与可视化洞察。
(一)案例场景介绍
本期案例场景,实现以下需求:
- 设备实时监控:通过华为云数字工厂平台提供的IoT边缘连接器功能,连接PLC控制器(西门子S-1200),实时采集PLC控制器连接的温度传感器、故障信号灯、蜂鸣器等设备传感器数据,上传到云端数字工厂平台进行数据存储,以及基于数字工厂的逻辑流编排与运行引擎,实现对上报的数据做实时计算和判断是否生成与推送告警事件,同时自动下发数据给PLC控制器对故障信号灯和蜂鸣器进行置位,实现现场通过“灯光/声音”进行异常告警提醒。
- 告警移动端处理:通过华为云数字工厂平台提供的“移动端视图”配置与生成功能,实现在手机等移动端页面查看设备传感器的实时数据、处理告警事件并联动处理关闭故障信号灯和蜂鸣器。

案例示意图:基于华为云数字工厂平台搭建设备监控应用,实现云端远程控制PLC
(二)配置实现步骤
1.PLC编程
使用“博途”工具,开发西门子PLC控制器S-1200满足案例演示所需的程序块,示例如下:

开启西门子PLC控制器的OPC UA Server服务,配置方法: https://www.ad.siemens.com.cn/productportal/prods/s7-1200_plc_easy_plus/smartsms/031.html
OPC UA通信点位如下:

2.IoT边缘连接器配置
在华为云数字工厂企业平台“系统工作台”,使用“边缘连接器”功能,进入IoT边缘连接器的配置控制台:

- 注册边缘节点:连接本地的PLC控制器,需要在本地部署一个边缘网关来运行边缘连接器,所以进入边缘控制台后,我们需求先注册边缘节点,每个边缘节点对应一个边缘连接器运行实例:
选择左侧导航栏“边缘节点 > 单节点”单击右上角“注册节点”:

根据页面提示填写参数,勾选右下角“《华为云服务等级协议》”单击“下一步”配置节点数据:

设备数据格式配置要选择为属性平铺格式:

边缘节点创建成功后,把对应的安装命令在边缘服务器上运行:

边缘节点配置的详细介绍参考华为云官网文档:
https://support.huaweicloud.com/bestpractice-iotedge/iotedge_bestpractice_0118.html
- 部署边缘数采应用:案例中,我们需要向边缘节点中部署OPC UA协议的数采驱动应用程序,数采应用部署步骤方法参考:
https://support.huaweicloud.com/bestpractice-iotedge/iotedge_bestpractice_0120.html
3.设备主数据模型扩展IoT观测点字段
使用华为云数字工厂企业平台的“建模工作台>产品模型”系统功能,基于预置的“设备”模型,点击信息模型的“编辑器”图标,进入“信息模型配置器”,然后添加所需采集的IoT“观测点”字段:

信息模型扩展IoT观测点字段的详细配置方法参考案例:https://bbs.huaweicloud.com/blogs/402394
4.PLC点位数据采集配置
点击上面步骤创建的“边缘节点”,进入边缘节点的数据采集配置页面:
创建数采连接通道,填写PLC控制器的IP地址端口信息,然后在数采连接通道下面添加需要采集的PLC点位地址、采集频率等信息,以及在“设备ID”、“设备属性”字段内填写映射设备主数据的数采实例ID和观测点属性字段编码:

查看数字工厂设备ID和设备属性的方法:在数字工厂的“数据工作台”,访问“设备”主数据管理功能,点击进入相应的设备实例主数据“详情”页面,在“感知服务”页签下,可以查看设备实例主数据的数采ID和观测点属性字段编码:

本期案例中,PLC控制器的数采点位配置如下:

点位配置完成后,需要点“下发配置”,将点位配置信息从云端下发到边缘节点(网关)中运行。
华为云官网相关配置文档参考:
a.设备数采配置步骤方法参考:
https://support.huaweicloud.com/bestpractice-iotedge/iotedge_bestpractice_0122.html
b. 基于IoT边缘连接器采集OPC UA协议的PLC控制器,详细完整实施步骤参考:
https://support.huaweicloud.com/bestpractice-iotedge/iotedge_bestpractice_0118.html
5.告警事件建模
在“建模工作台”,使用“事务模型构建器”,新建一个“设备告警事件”模型,模型配置的内容包括:
a.告警事件的信息字段以及移动端视图
信息字段建模如下:

华为云数字工厂信息模型配置器的详细使用方法参考:https://bbs.huaweicloud.com/blogs/399084
移动端视图配置如下:

华为云数字工厂信息模型移动端视图的详细使用方法参考:https://bbs.huaweicloud.com/blogs/407091
b.用户操作“关闭警报”以及相应的处理逻辑流
在“告警事件”事务模型下的“逻辑模型”中新增一个用户操作“关闭警报”:

为用户操作“关闭警报”创建相应的处理逻辑流,实现用户点击“关闭警报”后,通过IoT边缘连接器自动关闭PLC连接的故障灯和蜂鸣器,并且更新告警事件的状态为“已处理”:

逻辑流中的“关闭故障灯和蜂鸣器”的动作节点的输出配置如下:

直接向设备主数据相应的IoT观测点字段写入值即可,平台会自动通过边缘连接器将观测点字段值下发写入到对应的PLC点位,实现对故障灯和蜂鸣器设备的反控。
华为云数字工厂逻辑模型编排器的详细使用方法参考:https://bbs.huaweicloud.com/blogs/399228
6.设备告警逻辑流编排
在“建模工作台>产品模型”系统功能,对预置的“设备”模型,新建逻辑流“平均温度超限告警监控”:
逻辑流编排如下:

实现在温度传感器每次上报数据时,判断最近1分钟上报的平均温度超过XX值并且非报警状态时,触发创建告警事件并推送系统通知或短信通知相关人员,同时自动反向控制本地故障信号灯和蜂鸣器进行灯光声音警报。其中:
a.实时监测温度传感器上报值来触发判断,则配置逻辑流的触发器类型为“数据变更”,触发字段选择温度传感器所映射设备主数据的IoT观测点字段“温度”,触发器的具体配置如下:

b.计算温度传感器最近1分钟上报温度的平均值,使用数字工厂平台内置的标准函数“时序统计函数”,函数的参数配置如下:

(三)运行效果验证
1.在华为云数字工厂企业平台PC端的“协同工作台”:

进入“设备告警事件”功能实例,可以查看通过IoT边缘连接器监控PLC连接的温度传感器自动生成的设备告警事件,以及点击 “关闭警报”操作,验证是否实现PLC反控故障灯和蜂鸣器设备:

查看“系统消息”或者查收短信,可验证是否收到相应的告警提醒通知:

2.在华为云数字工厂企业平台移动端的“协同工作台”:

进入“设备告警事件”功能实例,可以查看通过IoT边缘连接器监控PLC连接的温度传感器自动生成的设备告警事件,以及点击 “关闭警报”操作,验证是否实现PLC反控故障灯和蜂鸣器设备:

进入某个告警事件详情页面,点击“设备”字段后面的“实时监测”图标,可以查看设备的实时数据和历史数据,以及对设备进行下发控制信息:


华为云数字工厂平台,以轻量级数据融合底座和生成式制造应用构建引擎为核心,打造开放式的数字工厂aPaaS平台,帮助中小制造企业快速构建覆盖制造全流程全场景一体式的制造数字化应用系统。华为云数字工厂为使用数字工厂的每个企业客户提供1个IT/OT信息统一架构的制造数据平台底座,支持业务、设备和图文档等多种模态数据采集、存储、管理和融合分析,实现制造全过程的数据源与数据标准的统一。基于统一的制造数据底座,能加速企业研产供销服各业务域的信息数据流动,实现数据驱动业务流程的自动化和智能化,将大大提升业务协同效率。

华为云数字工厂,为每个制造企业打造专属的智能制造协同平台
如何用IoT边缘连接器实现云端应用控制PLC?的更多相关文章
- 【物联网云端对接-3】通过MQTT协议与微软Azure IoT Hub进行云端通信
在上一篇文章<通过MQTT协议与阿里云物联网套件进行云端通信>中,我们介绍了通过MQTT对接阿里云的物联网套件.其实同样的代码,稍加调整也可以对接到微软Azure IoT hub上,不过需 ...
- 【物联网云端对接-1】 通过HTTP协议与微软Azure IoT hub进行云端通信
在2015年曾写过一篇文章<从微软build 2015,展望微软未来发展>,提到了微软的Azure和Windows 10 IoT,那算是初次接触微软物联网技术.比较幸运的是在后续的时间里, ...
- Windows 10 IoT Core用PWM控制器控制树莓派LED灯亮度
我接到一个需求,需要调节LED灯的亮度,且是从上位机进行控制,我了解到树莓派也有PWM,就准备通过PWM来控制灯的亮度. PWM又叫脉宽调制,是用微处理器的数字输出来对模拟电路进行控制,对模拟信号电平 ...
- 机电传动控制 PLC梯形图编程练习
交通灯控制 在如下图的场景中,打开SW1开关后,交通灯控制器开始工作,关闭SW1则控制器停止工作. 梯形图: 仿真结果: 可以满足所需要求. 输送带控制 输送带场景如下图: 梯形图: 仿真结果: 满足 ...
- 腾讯IOT安卓开发初探
目录 腾讯IOT 安卓开发初探 Tecent IOT 开发平台的使用 新建项目 创建产品 添加自定义功能 设备开发 微信小程序配置 面板配置 新建设备 使用设备 安卓开发 前置配置 data.json ...
- 腾讯IOT之树莓派物联网设备
目录 腾讯IOT之树莓派物联网设备 硬件配置 软件配置 Tecent IOT 开发平台的使用 新建项目 新建产品 添加自定义功能 设备开发 微信小程序配置 面板配置 新建设备 使用设备 在线调试 设备 ...
- 控制Arduino的利器-Windows Remote Arduino
1. 概述 相信很多朋友已经在玩 Arduino了,而且一般都是使用官方的Arduino IDE来写程序控制Arduino硬件.为了能够实现更加方便的控制,微软在Windows IoT计划中推出了Wi ...
- [转] 控制Arduino的利器-Windows Remote Arduino
原文地址:控制Arduino的利器-Windows Remote Arduino 1. 概述 相信很多朋友已经在玩 Arduino了,而且一般都是使用官方的Arduino IDE来写程序控制Ardui ...
- 基于数传电台的组态王控制实现远程采集控制器PLC
「物联网应用案例」基于数传电台的组态王控制 一.案例介绍 采用亚控科技组态王结合亿佰特E90系列数传电台实现远程采集控制PLC.在这里主要介绍通信环境的搭建,故不采用过于复杂的控制程序,但为了体现控制 ...
- Azure产品目录
计算 Linux 虚拟机:为 Ubuntu.Red Hat 等预配虚拟机 Windows 虚拟机 为 SQL Server.SharePoint 等预配虚拟机 应用服务 快速创建适用于 Web 和移动 ...
随机推荐
- "树形List"与"扁平List"互转(Java实现)
背景:在平时的开发中,我们时常会遇到下列场景 公司的组织架构的数据存储与展示 文件夹层级的数据存储与展示 评论系统中,父评论与诸多子评论的数据存储与展示 ...... 对于这种有层级的结构化数据,就像 ...
- 如何理解 Spring Boot 中的 Starter ?
假如 没有 Spring Boot Starter,我们有两种方式来创建 Spring Bean. spring xml 模式 (远古模式,并不推荐) spring API 来创建 Spring Be ...
- < Python全景系列-5 > 解锁Python并发编程:多线程和多进程的神秘面纱揭晓
欢迎来到我们的系列博客<Python全景系列>!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法.无论你是编程新手,还是有一 ...
- ps vs top:CPU占用率统计的两种不同方式
如何计算 CPU 占用率? 简单来说,进程的 CPU 占用率指的是 CPU 有多少时间花费在了运行进程上.在 Linux 系统里,进程运行的时间是以jiffies[1]统计的,通过计算jiffies ...
- pyinstaller打包exe
1.执行环境说明 python版本3.7直接使用pip进行安装pywin32.pyinstallerpip install pywin32pip install pyinstaller 2.使用了第三 ...
- HDU 6981.Rise in Price (Beam Search 贪心)
by 0htoAi,写于2021.8.14 Problem Description There are n×n cells on a grid, the top-left cell is at (1, ...
- 10个 Istio 流量管理 最常用的例子,你知道几个?
10 个 Istio 流量管理 最常用的例子,强烈建议收藏起来,以备不时之需. 为了方便理解,以Istio官方提供的Bookinfo应用示例为例,引出 Istio 流量管理的常用例子. Bookinf ...
- GIS融合之路(三)CesiumJS和ThreeJS相机同步
同样在这篇文章开始前重申一下,山海鲸并没有使用ThreeJS引擎.但由于ThreeJS引擎使用广泛,下文中直接用ThreeJS同CesiumJS的整合方案代替山海鲸中3D引擎和CesiumJS整合. ...
- binfmt_misc
一:binfmt_misc是什么 binfmt_misc是内核中的一个功能,它能将非本机的二进制文件与特定的解析器自动匹配起来,进行二进制解析. 例如,在x86上解析arm64架构的二进制. 通过bi ...
- 现代C++学习指南-类型系统
在前一篇,我们提供了一个方向性的指南,但是学什么,怎么学却没有详细展开.本篇将在前文的基础上,着重介绍下怎样学习C++的类型系统. 写在前面 在进入类型系统之前,我们应该先达成一项共识--尽可能使用C ...