关于ml:即刻到位快速落地-Amazon-智能工厂解决方案

5次阅读

共计 6621 个字符,预计需要花费 17 分钟才能阅读完成。

{智能工厂背景}

很多的制作企业正在利用数字化技术进行转型,并利用机器学习、计算机视觉和机器人等技术晋升制作自动化水平。智能工厂便是在制作数字化的根底上,整合信息技术(IT)和经营技术(OT),利用物联网,AI,机器学习等技术进行实时收集、连贯、剖析和推断企业数据。这些数据能够通过各种利用实现可操作性,这些数据还可用于无效掂量某条生产线或工厂的性能,与组织中的其余生产线或寰球基准进行比拟,以进步生产过程可控性、缩小生产线人工干预,优化打算排程,并在性能、品质和平安方面进行继续的优化。

然而大部分制作企业的数字化和智能工厂转型路线并不是一帆风顺,在这个过程中他们都会面临着各种各样的问题,这其中包含了很多产线设施数据因网络、协定等问题没有被很好的收集;海量的经营数据因本地存储限度而被抛弃,没有被很好的利用;企业紧缺的 IT 人才被繁琐的系统维护破费了大量的精力,而没有工夫投入到能为生产制作带来价值的翻新和优化上。近些年云计算、物联网、大数据、人工智能等技术正在从各个方面扭转咱们的生存,同时这些技术也能够为制作企业的数字化转型扫清很多技术阻碍,为智能工厂提供技术保障。本文将介绍亚马逊云科技如何利用这些技术 为智能工厂提供解决方案 并展现如何利用 物联网 技术将产线数据上云,如何利用 边缘计算 技术实时控制设施。

{Amazon 智能工厂解决方案简述}

要让数据驱动咱们向智能制作的转型,就须要数字化和智能工厂平台让数据真正流动起来,这里咱们介绍亚马逊云科技的智能工厂的解决方案如何让工业数据流动起来,下图咱们给出一个端、边、云的智能工厂参考架构。

在右边的工厂站点“端”侧是底层的工业设施和 PLC 控制器,这是数据的源头,这些源头数据咱们能够通过协定转换将特定的工业协定转换为物联网通用的协定。在工厂侧的小数据中心咱们称“边缘”侧,这里能够部署边缘网关负责数据的收集和预处理工作,预处理后的数据通过专线或者互联网发送到“云端”,并且作为实时的热数据存储起来,对于这些实时数据一方面给到操作 KPI 仪表板展现给工厂经理和主管,同时对于一些异样数据比方温度过高、触动异样等数据须要立刻触发报警管理系统。另外这些热数据也会最终流入数据湖中作为温数据或者冷数据存储起来,用于机器学习和大数据分析或者构建数据仓库的数据源。

数据湖除了具备各种类型和体量数据的存储能力之外,还要具备灵便的数据拜访能力,以便于为数据工程师和科学家提供训练机器学习模型的能力。同时也为工厂经理企业决策者提供业务智能报表的能力。对于工厂生产工艺或者业务经理人员,也能够利用自助服务即可拜访数据湖的数据做相应的业务剖析。对于企业的 IT 数据例如 ERP,CRM 等能够通过远端的服务调用拜访相应的数据做 OT 和 IT 的交融。在这个参考架构的每一部分亚马逊云科技都提供了相应的服务来帮忙企业疾速构建本人的智能工厂平台,如下图所示,在工厂本地端和边缘侧,亚马逊云科技提供的 Amazon IoT Greengrass 服务能够帮忙做边缘数据的收集,预处理工作;在云端,亚马逊云科技也提供了各种的服务来满足不同业务的需要,比方应用 IoT 服务做工业数据的入口,应用 Amazon S3 做数据湖的载体,应用 Amazon SageMaker 服务做机器学习的训练等等。在后边的章节中将展现如何利用亚马逊云科技的合作伙伴研华的硬件设施来理论搭建智能工厂的演示环境。

{利用研华硬件理论搭建智能工厂的演示环境}

整体架构图

咱们基于 Amazon IoT 合作伙伴研华的硬件设施,疾速搭建了一个演示环境。整体架构图如下:

如下是理论的演示环境:

图中所波及到的各类硬件设施介绍如下:

  1. ECU-1251 工业网关负责协定转换和通信。能够采集多个 PLC 的数据,并转换为工业标准协议,如 OPC UA 等。通过这个网关进行多种协定聚合和协定转换,对外提供规范的 OPC UA 或者 MQTT 协定格局。
  2. PLC 可编程逻辑控制器负责工业环境的数字 / 模拟量采集和管制。这里用于采集下方多个按钮的状态,并且实时反馈在其下方的多个 LED 下面,和电机下面。
  3. ADAM-4055 传感器采集器提供 8 路数字输出通道和 8 路数字输入通道。采集工业现场的数字 / 模仿类型的传感器,比方电表等。
  4. 电机本地可执行部件,用于多种场景,如启动风扇等。
  5. UNO-2484G 工业边缘计算单元基于 x86 架构的边缘计算单元,装置了 AWS Greengrass,协调 1 和 6 之间的本地通信,以及与 Amazon IoT Core 的交互。工厂的利用场景中可能有一台或多台的边缘计算设施,利用 Greengrass 的 lambda 等性能进行 local shadow 或者 ML 等高级性能。
  6. ADAM-3600 无线智能 RTU 汇合了 1 和 2 和 3 的性能,并且带有无线传输的可选性能。提供 8 路数字输出通道和 4 路数字输入通道,以及 8 路模仿输出和 USB/ETH/RS485 等接口。
  7. 按钮用于演示触发本地电机运行。本地可模仿多种事件,比方烟雾报警器等。
  8. 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.git
cd greengrass-OPC UA-adapter-nodejs
npm install

2.3.2.1 npm install 时遇到 openssl 相干的 issue, solution 如下:

git apply patch/Fix-the-npm-install-issue-due-to-openssl.patch
npm 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 相干技术的的推广与利用。

正文完
 0