{ 智能工厂背景 }
很多的制作企业正在利用数字化技术进行转型,并利用机器学习、计算机视觉和机器人等技术晋升制作自动化水平。智能工厂便是在制作数字化的根底上,整合信息技术(IT)和经营技术(OT),利用物联网,AI,机器学习等技术进行实时收集、连贯、剖析和推断企业数据。这些数据能够通过各种利用实现可操作性,这些数据还可用于无效掂量某条生产线或工厂的性能,与组织中的其余生产线或寰球基准进行比拟,以进步生产过程可控性、缩小生产线人工干预,优化打算排程,并在性能、品质和平安方面进行继续的优化。
然而大部分制作企业的数字化和智能工厂转型路线并不是一帆风顺,在这个过程中他们都会面临着各种各样的问题,这其中包含了很多产线设施数据因网络、协定等问题没有被很好的收集;海量的经营数据因本地存储限度而被抛弃,没有被很好的利用;企业紧缺的IT人才被繁琐的系统维护破费了大量的精力,而没有工夫投入到能为生产制作带来价值的翻新和优化上。近些年云计算、物联网、大数据、人工智能等技术正在从各个方面扭转咱们的生存,同时这些技术也能够为制作企业的数字化转型扫清很多技术阻碍,为智能工厂提供技术保障。本文将介绍亚马逊云科技如何利用这些技术为智能工厂提供解决方案并展现如何利用物联网技术将产线数据上云,如何利用边缘计算技术实时控制设施。
{ Amazon智能工厂解决方案简述 }
要让数据驱动咱们向智能制作的转型,就须要数字化和智能工厂平台让数据真正流动起来,这里咱们介绍亚马逊云科技的智能工厂的解决方案如何让工业数据流动起来,下图咱们给出一个端、边、云的智能工厂参考架构。
在右边的工厂站点“端”侧是底层的工业设施和PLC控制器,这是数据的源头,这些源头数据咱们能够通过协定转换将特定的工业协定转换为物联网通用的协定。在工厂侧的小数据中心咱们称“边缘”侧,这里能够部署边缘网关负责数据的收集和预处理工作,预处理后的数据通过专线或者互联网发送到“云端”,并且作为实时的热数据存储起来,对于这些实时数据一方面给到操作KPI仪表板展现给工厂经理和主管,同时对于一些异样数据比方温度过高、触动异样等数据须要立刻触发报警管理系统。另外这些热数据也会最终流入数据湖中作为温数据或者冷数据存储起来,用于机器学习和大数据分析或者构建数据仓库的数据源。
数据湖除了具备各种类型和体量数据的存储能力之外,还要具备灵便的数据拜访能力,以便于为数据工程师和科学家提供训练机器学习模型的能力。同时也为工厂经理企业决策者提供业务智能报表的能力。对于工厂生产工艺或者业务经理人员,也能够利用自助服务即可拜访数据湖的数据做相应的业务剖析。对于企业的IT数据例如ERP,CRM等能够通过远端的服务调用拜访相应的数据做OT和IT的交融。在这个参考架构的每一部分亚马逊云科技都提供了相应的服务来帮忙企业疾速构建本人的智能工厂平台,如下图所示,在工厂本地端和边缘侧,亚马逊云科技提供的Amazon IoT Greengrass服务能够帮忙做边缘数据的收集,预处理工作;在云端,亚马逊云科技也提供了各种的服务来满足不同业务的需要,比方应用IoT服务做工业数据的入口,应用Amazon S3做数据湖的载体,应用Amazon SageMaker服务做机器学习的训练等等。在后边的章节中将展现如何利用亚马逊云科技的合作伙伴研华的硬件设施来理论搭建智能工厂的演示环境。
{ 利用研华硬件理论搭建智能工厂的演示环境 }
整体架构图
咱们基于Amazon IoT合作伙伴研华的硬件设施,疾速搭建了一个演示环境。整体架构图如下:
如下是理论的演示环境:
图中所波及到的各类硬件设施介绍如下:
- ECU-1251 工业网关负责协定转换和通信。能够采集多个PLC的数据,并转换为工业标准协议,如OPC UA等。通过这个网关进行多种协定聚合和协定转换,对外提供规范的OPC UA或者MQTT协定格局。
- PLC 可编程逻辑控制器负责工业环境的数字/模拟量采集和管制。这里用于采集下方多个按钮的状态,并且实时反馈在其下方的多个LED下面,和电机下面。
- ADAM-4055传感器采集器提供8路数字输出通道和8路数字输入通道。采集工业现场的数字/模仿类型的传感器,比方电表等。
- 电机本地可执行部件,用于多种场景,如启动风扇等。
- UNO-2484G工业边缘计算单元基于x86架构的边缘计算单元,装置了AWS Greengrass,协调1和6之间的本地通信,以及与Amazon IoT Core的交互。工厂的利用场景中可能有一台或多台的边缘计算设施,利用Greengrass的lambda等性能进行local shadow或者ML等高级性能。
- ADAM-3600无线智能RTU汇合了1和2和3的性能,并且带有无线传输的可选性能。提供8路数字输出通道和4路数字输入通道,以及8路模仿输出和USB/ETH/RS485等接口。
- 按钮用于演示触发本地电机运行。本地可模仿多种事件,比方烟雾报警器等。
- SCADA工业现场软件(研华)本地数据采集与监控零碎。
{ 数据采集与上传 Amazon IoT Core }
什么是OPC UA
OPC UA的全名是OPC Unified Architecture(OPC对立架构),他着重在数据收集以及管制为目标的通信,用在工业设施以及零碎中,并且它是一个跨平台的开源规范。
为什么工业现场须要OPC UA工业现场有多种通信协议,不齐全统计:工业现场罕用的通信协定不低于20种。OPC基金会在旧的开放平台通信(OPC)协定根底上开发一个针对全新而且独立的OPC UA通信协定栈来取代COM/DCOM。目前,OPC UA是少数工业现场事实上的对立协定规范?
amazon-iot-greengrass-opcua-adapter是如何实现的?
基于OPC UA的协定,amazon-iot-greengrass-opcua-adapter 利用了node-OPC UA 编写的OPC UA stack 模仿成OPC UA client, 而依据OPC UA的client-server的架构向OPC UA Server订阅node的information,OPC UA Server会在这些node的数据扭转时, 将数据发送给这些订阅者。除了向OPC UA Server订阅收集数据外,Amazon IoT OPC UA adapter并且整合了Greengrass SDK,使之能成为一个Lambda function,这样一来就能随着Greengrass的部署从云端download到边缘端执行该function。
以下将介绍如何将amazon-iot-greengrass-opcua-adapter Lambda设定git apply patch/Fix-the-npm-install-issue-due-to-openssl.patchnpm rebuild:
1. Nodejs装置
请确认装置Greengrass的边缘安装有装置nodejs版本x:请参考
https://nodejs.org/en/download/
装置完后将node执行档copy到/usr/bin/node or /usr/local/bin
将node执行档更名成x
2. 从GitHub下载Amazon IoT OPC UA adater 代码,并且透过npm装置package
git clone https://github.com/aws-samples/aws-iot-greengrass-OPC UA-adapter.gitcd greengrass-OPC UA-adapter-nodejsnpm install
2.3.2.1 npm install时遇到openssl相干的issue, solution如下:
git apply patch/Fix-the-npm-install-issue-due-to-openssl.patchnpm rebuild
2.3.2.2 装置完后, 另外须要在apply patch:
git apply patch/factories.patch
2.3.3 编辑config 文件夹中(amazon-iot-greengrass-OPC UA-adapter/greengrass-OPC UA-adapter-nodejs/config/)的json配置文件,并且挪动至指定地位.
2.3.3.1 published_nodes.json: 将OPC UA Server及node相干信息填入
PowerShell { "serInfo": [ { "endpointName": "UNO-1372G", "endpointUrl": "opc.tcp://localhost:26543", "certExist": false, "userIdentity": { "userName": "", "password": "" }, "OpcNodes": [ { "Id": "ns=1;s=Temperature", "DisplayName": "M140001" }, { "Id": "ns=1;s=FanSpeed", "DisplayName": "M140002" }, { "Id": "ns=1;s=PumpSpeed", "DisplayName": "M140003" } ] } ] }
endpointName: OPC UA Server名称
endpointUrl: OPC UA Server的IP及Port编号
OpcNodes: OPC UA Server反对的node信息
OpcNodes:
2.3.3.2 client_config.json: OPC UA client相干的设定
其余字段具体设定可参考该链接阐明:
https://github.com/aws-sample...
2.3.4 挪动config 文件夹(amazon-iot-greengrass-OPC UA-adapter/greengrass-OPC UA-adapter-nodejs/config/)至指定地位/etc/greengrass/OPC UA-adapter/config, 或是客户自行指定地位但须要自行记录在Lambda的环境变量.
2.3.5 打包代码, 并且将之上传到Lambda Function.
2.3.5.1 打包代码cd amazon-iot-greengrass-OPC UA-adapter/greengrass-OPC UA-adapter-nodejszip -r OPC UALambda.zip2.3.5.2 上传压缩包至Lambda
请参考该链接:
https://docs.aws.amazon.com/g...
2.3.6 在Greengrass Group设定Lambda
2.3.6.1 增加Lambda,并且退出以下设定–生命周期为Long-Lived
–设定Memory Limit
–设定环境变量AMAZON_LAMBDA_OPC UA_ADAPTER_CONFIG_FILE_PATH
– 设定环境变量AMAZON_LAMBDA_OPC UA_ADAPTER_SEND_ALL_DATA_TO_CLOUD
2.4 配置Greengrass的“订阅”权限,
2.5 在Amazon Iot Core中订阅“/OPC UA/#” Topic,并测试数据。
2.6 设置 Amazon IoT rule,过滤并导出数据到新的Topic,不便其余服务调用。
2.7 配置NodeRED server,读取上一步中指定的Topic,并在web上显示实时的数据状态。
{ 设施本地管制 }
什么是Local shadow
影子是用于存储事物的以后或所需状态信息的 JSON 文档,demo中装置在UNO-2484G外面的AWS Greengrass保留有本地设施的设施影子文件。应用本地影子能够不同步到云,当 Amazon IoT 连贯到 Internet 时,能够启用云同步,影子能够同步到 Amazon IoT Greengrass Core。
为什么要用Local shadow
在设施、应用程序和其余云服务连贯到 Amazon IoT 后,它们能够通过设施影子拜访和管制设施的以后状态。例如,应用程序能够更新影子以申请更改设施的状态。Amazon IoT 公布一条音讯以批示对设施所做的更改。设施接管该音讯,更新其状态以放弃匹配,而后公布一条音讯以批示其更新状态。Device Shadow 服务在相应的影子中反映该更新状态。应用程序能够订阅影子的更新,也能够查问影子以获取其以后状态。在设施脱机时,应用程序依然能够与 Amazon IoT 和设施的影子进行通信。在设施从新连贯时,它接管其影子的以后状态,以便它能够更新其状态以与其影子的状态匹配,而后公布一条音讯以批示其更新状态。同样,如果应用程序脱机并且设施状态在其脱机时发生变化,则设施将影子放弃更新状态,以便应用程序能够在设施从新连贯时查问影子以获取其以后状态。
如何利用Local shadow 实现本地设施联动。
1.按下按钮,模仿烟雾报警器被触发。
2.Greengrass 通过OPC UA adapter lambda采集PLC中的按钮触发信息,并发送到另一个本地触发的lambda中(这里叫做shadow_example)
3.本地触发的 lambda判断收到的信息为烟雾报警后,会更改local shadow的期望值,心愿启动喷淋零碎(这里以转动电机来示意)。
4.Shadow负责把期望值和原有值的差距(开启或者进行电机转动的JSON)发送给网关ECU-1251。
5.ECU-1251收到后差距值后,通过现场的管制总线(这里是RS485总线)发送管制命令给PLC。
6.PLC收到RS485总线上的命令后,开启或者进行转动电机。
7.最初,进入Greengrass的Devices设置,把本地设施上的local shadow的状态同步到云端。
设施本地管制局部,全副操作能够在不连贯Amazon IoT Core的离线状况下执行。
{ 相干材料 }
视频介绍:
https://www.bilibili.com/vide...
https://www.bilibili.com/vide...
本篇作者
陈雪杰
亚马逊云科技制造业解决方案架构师
负责制作行业的计划征询和架构设计,致力于智能制作,智能产品的计划利用和推广。
林俊
亚马逊云科技高级解决方案架构师
次要负责古代应用程序的计划征询与架构设计,致力于无服务器 (Serverless) 技术的推广与利用。
孙铭鸿
亚马逊云科技物联网实验室软件开发工程师
负责基于Amazon IoT服务之设施端的开发,设计,以及利用。在退出亚马逊云科技之前曾在芯片厂服务多年, 专精于嵌入式零碎畛域。
徐开
亚马逊云科技物联网实验室解决方案架构师
次要负责物联网解决方案,致力于Amazon IoT 相干技术的的推广与利用。