亚马逊AWS官方博客

基于Amazon IoT TwinMaker的工厂数字孪生解决方案

“数字孪生”概念在近几年非常流行,特别是在国家工业4.0,工业数据平台相关政策驱动下,越来越多的制造业客户希望在企业内部部署一套完整的数字孪生系统,从而实时地去反映企业工厂生产情况,仓储实时运营情况以及实现企业物流供应链实时化分析等场景。

在我们接触到的客户当中,大家对于“数字孪生”有不同层级的定义和需求。一些客户希望实现对整个产线运营效率的实时化分析;一些客户希望将某些机器设备连接上云,并通过采集数据来做预测性维护场景;还有一部分客户希望利用工具来绘制工厂的3D视图,从而通过3D交互的方式来监控工厂的运营情况。基于此,我们对于“数字孪生”的定义如下:

数字孪生是物理系统的一种数字化表现形式,它能够动态更新物理系统的外观,结构,状态和行为,并最终帮助企业驱动业务收益。

亚马逊云科技面向制造业客户提供了一系列的物联网解决方案和服务,帮助广大客户在亚马逊云上实现不同层级的数字孪生解决方案。其中 Amazon IoT SiteWise 提供大规模并快速的设备连接服务,帮助客户将工厂中大量工业设备连接上云;Amazon IoT TwinMaker提供快速上手的3D建模服务,客户可以利用它绘制整个工厂的3D模型,从而将工业资产比如机器,产线,车间等映射到云中进行实时地可视化监控;另外 Amazon Grafana 提供全托管式数据可视化服务,它能够集成 TwinMaker,帮助企业快速实现数据实时可视化分析。

在这篇博文中,我们将向您介绍如何将以上三个服务进行集成,通过 SiteWise 来采集产线上的数据,并在TwinMaker中对工厂,产线进行3D建模,同时将3D模型和 SiteWise 资产关联起来;最后通过 Grafana 进行3D可视化分析。

  • 在 Amazon IoT TwinMaker 中建立工厂3D模型,并将模型和 SiteWise 资产进行集成
  • 搭建 Amazon Grafana 环境并集成TwinMaker模型,实现工厂3D资产可视化分析

关于Amazon IoT TwinMaker/SiteWise/Grafana

Amazon IoT TwinMaker 是一项全面托管的亚马逊云科技 IoT 服务。您可以使用该服务构建物理世界的数字化 3D 模型。IoT TwinMaker 通过收集传感器数据、摄像头视频和来自企业各种应用系统的数据来创建数字化模型,从而帮助您跟踪工厂,车间,产线或者建筑的运行情况。您可以通过实时数据分析和创新的3D 交互模式来进行业务创新,帮助企业实现运营目标。

Amazon IoT SiteWise 是一项全面托管的亚马逊云科技 IoT 服务,可用于收集,组织和分析大规模工业设备的数据。 Amazon IoT SiteWise 使您能够从传感器,设备或本地网关收集工厂车间的数据,并使用网关软件( Amazon IoT SiteWise 连接器)上传到Amazon云。Amazon IoT SiteWise Gateway在运行Amazon IoT Greengrass 的通用工业网关设备上运行,并通过 OPC UA 协议直接从服务器中读取数据。然后,您可以使用丰富的资产建模框架来构建和组织数据,以创建设备和流程的数字虚拟映射。使用IoT SiteWise Monitor,您可以创建操作仪表盘并与工厂操作员共享,以便实时监控和可视化设备运行状况。

Amazon Grafana 为企业提供全托管的数据可视化服务。客户可以通过该服务快速连接亚马逊云上各种数据源,比如各种 RDS 数据库,S3或者IoT相关服务。Amazon Grafana 可以帮助客户快速地在亚马逊云中部署 Grafana 这个流行的BI数据框架工具,从而帮助企业快速实现数据可视化分析能力。

解决方案架构综述

此解决方案在边缘端利用Amazon IoT Greengrass 服务将工厂里面的摄像头,机器,设备和传感器连接到云中,数据到了云中后通过 SiteWise 或者 IoT Core 服务将这些数据和资产进行建模和存储。接下来,我们需要在 TwinMaker 中建立对应资产的Entity(实体),Property(属性)并利用内置的connector(连接器)将其和 SiteWise 资产进行映射。由此,通过 SiteWise 连接到的资产和数据就和您在 TwinMaker 中创建的实体进行了集成。然后我们需要在 TwinMaker 中绘制整个工厂的3D模型。最后我们会在 Grafana 中创建项目对TwinMaker资源进行集成。通过以上步骤,工厂内的设备和数据就在云中建立了 “数字孪生” 。

先决条件

  • 您已经在Amazon 云端搭建完成基于Amazon IoT SiteWise的智能工厂demo,有相应的Measurements或Metrics可以进行在线实时监控。
  • 如果没有达到以上条件,可以通过以下方式在Amazon EC2中建立OPC UA服务器,并将数据导入到Amazon IoT SiteWise云端。

https://github.com/node-opcua/node-opcua

https://docs.aws.amazon.com/iot-sitewise/latest/userguide/what-is-sitewise.html

演练操作步骤

本演练操作中有四个部分:

  • Amazon IoT TwinMaker 服务主要概念和部件
  • 创建 TwinMaker Entities(实体)和 component(组件),将 SiteWise Asset 集成到 TwinMaker 中
  • 导入3D模型,创建并编辑 Scenes(场景)
  • 将 TwinMaker 和 Grafana 进行集成,创建3D模型和数据实时可视化分析应用

Amazon IoT TwinMaker 服务主要概念和部件

首先介绍下TwinMaker服务主要概念和部件。

  1. Workspace:Workspace可以理解为一个项目空间,可以在里面创建您的模拟资产,3D环境。您可以根据不同的项目来创建不同的Workspace。
  2. Entity:实体就是在云中的虚拟设备。它可以是传感器,机器,一条产线或者整个工厂。每个实体都映射到对应的工业资产以及实时上报的数据。
  3. Component:组件是对实体的补充,提供对应的数据或者资料。比如对于一个generator实体,需要收集rpm,temperature,pressure以及generator的规格说明书。那么我们需要建立一个SiteWise 类型component来采集rpm,temperature,pressure数据,并且将规格书放入S3存储桶中来建立S3类型component。组件的类型可以是文档,时序数据,视频录像,报警数据以及一些第三方的数据源。
  4. Scene:场景即客户最终建立的一个3D环境,可以是整个工厂或者单独一个机器。目前支持GITF和GLB格式模型的直接导入。您可以通过导入预先建立好的3D模型来构建场景。

创建TwinMaker Entities(实体)和component(组件),将SiteWise Asset集成到TwinMaker中

基于先决条件,我们已经搭建了OPC UA 服务器,并且把数据打到 Amazon IoT SiteWise。基于demo场景,您可以在 SiteWise 中预创建一些模拟资产,如下图,建立一个 All Power Plants,3个 Power Plant 和6个 Generator 的结构。这样,通过OPC UA 服务器,我们可以把对应的 Generator 数据发送到 SiteWise 资产中。

如下图,实时的设备数据已经上传到SiteWise,比如pressure,rpm,temperature等。

首先,我们打开 TwinMaker console,点击 Create Workspace 创建一个工作组。如下图,作者创建了一个 Workspace 为“IndustrialIoTDigitalTwin”。

点击打开“IndustrialIoTDigitalTwin”工作组,如下图,可以看到每个工作组包含的Component,Entity,Scene等资源。其中 Recent component types 中显示了常用的组件连接器。比如本文中会用到的iot sitewise 连接器;其他还有kvs连接器用来连接工厂视频流;athena 连接器用来连接您存储在 athena 服务中的工业数据等等。

点击左边栏位选项“Entities”并点击“Create”创建实体。如下图,作者针对 demo 资产创建了 all power plants,power plant 和 generator。

接下来,我们需要对每个实体创建对应的 Component 组件从而将属性和数据赋予给实体。如下图,点击Generator 1,并点击“add component”。

为组件命名“Generator1”,Type选择com.amazon.iotsitewise.connector, Asset Model 选择您在 SiteWise 中建立的 Generator 模型,Asset选择SiteWise中的Generator 1。如下图所示,这样您的实体 Generator 1和 SiteWise 中的 Asset Generator 1便对应到了一起。

同时,SiteWise 中资产对应的属性也自动关联到了 TwinMaker 实体中,如下图,后续通过 Grafana 服务就可以对设备数据进行可视化分析。

用同样的方式,我们建立其他Generator,Power plant和All power plants实体对应的组件。

导入3D模型,创建并编辑Scenes(场景)

完成工作组创建,建立好了实体和对应的组件之后,来自SiteWise的资产和数据就连接到了TwinMaker中。接下来,我们来创建demo资产的3D可视化模型。

首先点击左边栏位选项“Resource library”,在这里,我们需要将预先建立好的3D模型导入到TwinMaker中。目前TwinMaker支持GITF和GLB格式模型的直接导入。如下图,作者已经导入了Power plant和Generator相关的3D模型。

点击 Scenes 创建场景,如下图,作者创建了“Digital_Factory_demo”场景。

打开该场景, 您会看到一个空白的3D可视化编辑环境,我们先把 Power Plant 工厂的 3D 环境模型导入进来。点击“+”号以及“Add 3D model”,选择 PowerPlantEnvironment.glb,如下图所示:

这个时候,整个工厂的3D环境已经建立,如下图。您可以通过鼠标点击,拖动来移动3D模型的位置以及通过鼠标缩放观察模型细节。同时,您可以在右侧配置中进行命名,并利用三角坐标系来准确编辑模型位置。

同样的方式,我们导入PowerPlantLine和Generator模型,这样我们便建立了一个Power Plant的3D环境,里面包含若干条产线和Generator机器。

建立了工厂,产线,机器的3D环境后,接下来,我们需要把这些3D模型和之前建立好的实体对应起来,这样模型,实体以及背后的数据才能做到一一对应。

在左边列表中选择“Generator 1”,点击“+”并选择“Add model shader”,这样我们就可以为模型配置对应实体。如下图,对3D模型Generator 1进行配置,选择Entity id为Generator 1,Component Name为Generator_1,Property Name为temperature,Rule Id为sampleTimeSeriesColorRule,这样3D模型就和对应实体做了映射。比如,当Generator 1的temperature数据满足Rule Id中定义的范围时,模型的颜色就会变成红色,从而进行报警。下面会介绍Rule Id的定义。

客户通常希望通过数字孪生来实现对工厂或者机器的3D可视化实时监控,这样客户就不需要走到车间或者机器面前就能了解到机器当前的运行情况。比如,客户希望知道某台发动机的温度,压力,转速情况,一旦某项数值超标,就能提供可视化报警,从而迅速定位问题机器。针对这个场景,TwinMaker提供Rules功能。如下图,选择“Rules”栏位,可以看到预先内置的一些Rules,客户也可以自定义新的Rule。

我们点击前文中提到的 sampleTimeSeriesColorRule,如下图,我们定义3个表达式,在不同的temperature参数条件下,模型颜色显示红,黄,绿色。这样,客户就可以在3D数字孪生中快速发现并定位问题设备。

以上,我们完成了来自SiteWise的demo资产在TwinMaker中的3D实体建模,最终效果如下,包含了一个Power Plant的环境,3条产线,6个Generator和其他相关模型。

将TwinMaker和Grafana进行集成,创建3D模型和数据实时可视化分析应用

目前为止,我们完成了demo资产的3D建模和数据映射。接下来作者会介绍如何利用Grafana来集成TwinMaker,实现机器数据的实时可视化分析以及3D视图展示。

首先我们需要开启Amazon Grafana服务,并在console中创建Grafana Workspace。Grafana支持SAML认证登录,本文中我们选择okta服务进行用户登录。

以下连接包含okta认证登录相关配置流程教程:

https://catalog.us-east-1.prod.workshops.aws/workshops/0ee4408e-818a-4774-b03d-bf68bfc016ac/en-US/digital-twin/amazon-grafana

完成以上步骤后,我们就会在Grafana console中看到刚刚创建的workspace,作者创建“AmazonGrafanaWorkspace”工作组,如下图:

点击workspace URL并完成SAML认证登录,进入Grafana服务界面。点击左边设置图标,选择data sources来添加数据源。如下图所示:

点击AWS IoT TwinMaker,并配置详细连接参数,其中需要填入预先创建的Workspace IAM Role(在上面连接步骤中完成),并选择前文中创建的TwinMaker workspace “IndustrialIoTDigitalTwin”,点击“save & test”,如果弹出绿色标志语句,即表明数据连接成功。如下图所示:

接下来,我们创建一些简单的dashboard来实时分析来自TwinMaker的设备数据和3D模型。点击左边栏位“+”创建新的dashboard。点击add new panel,在右上角选择 “AWS IoT TwinMaker Scene Viewer” ,并选择Workspace “IndustrialIoTDigitalTwin” ,Scene “Digital_Factory_demo” 。由此刚刚创建好的Power Plant 3D模型环境就加载到了Grafana Dashboard中。如下图所示:

点击apply,保存Panel。同样的方式,我们可以创建其他的Panel,比如时间序列图,柱状图,Stat图来实时分析不同的机器运行参数。如OEE, temperature,pressure等。作者创建了demo dashboard如下图所示:


您还可以看到不同的Generator的颜色不一致,因为我们设置了Rule让模型的颜色随着温度的变化而变化。通过这样的方式,客户可以非常直观地监控车间里机器的实际运行情况,帮助客户了解整个工厂当前的运营状态。

总结

在本文中,您学习了如何利用 Amazon IoT SiteWise 来创建 demo 资产,并将资产集成到 Amazon IoT TwinMaker 服务;同时您学习了如何通过 TwinMaker 服务来构建 3D 工厂,了解了Entity,Component,Scenes的概念并成功创建了第一个数字孪生工厂;最后本文介绍了如何将来自 SiteWise 和 TwinMaker 的数据集成到 Amazon Grafana 服务中并快速建立 BI 应用,从而对来自工厂的数据进行实时可视化分析。亚马逊云科技通过 Amazon IoT SiteWise + Amazon IoT TwinMaker + Amazon Grafana 的组合为制造业客户提供了建立数字孪生工厂的组合拳服务。通过这样的解决方案,客户可以快速创建属于自己的数字孪生工厂并且利用亚马逊云更多的数据分析和人工智能服务来激发应用创新,实现业务目标。

本篇作者

杨阳

亚马逊云科技专业服务团队物联网应用架构师。负责基于Amazon IoT的解决方案咨询,架构与交付,深度参与过智慧工厂、智能家居等行业的IoT解决方案的咨询与交付。进入Amazon之前在消费电子产品和制造业拥有丰富的物联网项目开发和管理经验。