基于IoT数据分析快速构建产线数字孪生

举报
irrational 发表于 2022/03/20 18:01:40 2022/03/20
【摘要】 基于IoT数据分析快速构建产线数字孪生 实验内容华为云IoT数据分析服务基于物联网资产模型,整合IoT数据集成、清洗、存储、分析、可视化,为IoT数据开发者提供一站式服务,降低开发门槛,缩短开发周期,快速实现IoT数据价值变现。本实验将指导您使用IoTA服务资产模型能力快速构建SMT数字工厂孪生体,并计算得出数字化产线和设备的OEE指标。实验主要包括如下几个部分:创建SMT产线资产创建SM...

基于IoT数据分析快速构建产线数字孪生

实验内容

华为云IoT数据分析服务基于物联网资产模型,整合IoT数据集成、清洗、存储、分析、可视化,为IoT数据开发者提供一站式服务,降低开发门槛,缩短开发周期,快速实现IoT数据价值变现。

本实验将指导您使用IoTA服务资产模型能力快速构建SMT数字工厂孪生体,并计算得出数字化产线和设备的OEE指标。实验主要包括如下几个部分:

创建SMT产线资产

创建SMT产线下的设备资产

通过设备模拟器上报设备属性数据

通过应用查看设备OEE/关键指标/告警数据

关闭数据上报/回退已创建资产

实验操作步骤

实验准备

创建产品和设备并上报设备数据

进入设备接入控制台,点击快速体验

image-20220222214931592

点击向导式极速体验

image-20220222215005669

自定义产品名称,创建产品。

选择C#语言,下载设备演示包,双击其中的exe文件运行

image-20220222215149251

即可看到开始数据上报。

创建数据源

进入IoT数据分析控制台,页面预览如下图所示。

左侧导航栏选择数据源,进入数据源点击“添加数据源”

创建IoTDA实时数据源,将设备接入上报的设备数据进行在线分析

数据源名称:填写名称如IoT接入数据源

实例:共享实例

产品:勾选刚刚创建的hello

image-20220222215336098

点击确定后提示添加数据源成功

image-20220222215401210

创建数据管道

点击左侧导航栏选择数据管道,点击“创建数据管道”

image-20220222215423722

输入管道信息创建管道作业,点击“确定”进入作业编辑页面。

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001113374446.png

作业名称:SMT产线设备数据接入

描述:SMT产线设备数据接入作业

选择数据源:IoTDA

进入管道作业编辑页面,系统默认为作业配置了“IoT设备接入数据源“,“产品过滤”,“数据存储输出”
3个算子,如下图所示

image-20220222215524275

点击“hello存储输出”,右侧配置存储组名称中选择默认的”资产模型存储“,在”数据存储名称“中点击添加,输入存储名称”hello1“点击右侧https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001159897965.png图标,保存配置。

image-20220222215710936

添加”数据计算算子“,右键点击算子图标,弹出菜单中选择”数据计算“算子,如下图所示

image-20220222215735174

算子配置如下图所示:

image-20220222215916761

算子名称:转换时间格式

变量名称:event_time_s

取值:body.services[0].event_time

属性名称:event_time

表达式:TimeFunction.stringToLong(event_time_s)

  1. 再添加”数据计算算子“,右键点击算子图标,弹出菜单中选择”数据计算“算子,如下图所示

image-20220222220111641

算子的配置如下图所示:

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001113382962.png

算子名称:增加output和quality属性

变量:

变量名称:event_time

取值:event_time

变量名称:quality_result

取值:body.services[?(@.service_id==‘profile2’)].properties.result

计算配置:

属性名称:body.services[?(@.service_id==‘profile2’)].properties.is_plan_work_period

表达式:TimeFunction.shiftCheck(event_time, “07:00:00”,
“12:00:00”) || TimeFunction.shiftCheck(event_time,
“13:30:00”, “18:00:00”) ||
TimeFunction.shiftCheck(event_time, “19:00:00”,
“23:59:00”)

属性名称:body.services[?(@.service_id==‘profile2’)].properties.quality

表达式:quality_result>=1 && quality_result <= 9 ?1:0

属性名称:body.services[?(@.service_id==‘profile2’)].properties.output

表达式:1

  1. 再添加“数据过滤”算子,右键点击算子图标,弹出菜单中选择”数据计算“算子,如下图所示

算子配置如下图所示:

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001113385586.png

算子名称:过滤掉非工作时间段的数据

条件关系: AND

过滤条件

属性:body.services[?(@.service_id==‘profile2’)].properties.is_plan_work_period

计算符号:EQUAL

数值:true

  1. 在hello存储输出中添加三个属性

属性配置如下

属性名称:isPlanWorkPeriod

属性类型:String

源属性:body.services[?(@.service_id==‘profile2’)].properties.is_plan_work_period

属性名称:Output

属性类型:INTEGER

源属性:body.services[?(@.service_id==‘profile2’)].properties.output

属性名称:Quality

属性类型:INTEGER

源属性:body.services[?(@.service_id==‘profile2’)].properties.quality

  1. 增加计划工作状态属性,
    右键点击IoTDA数据源算子弹出“添加产品过滤”算子图标

image-20220222220613360

产品过滤算子的参数可参考上面的hello1分支进行相同配置

image-20220222220813839

image-20220222220913450

  1. 增加超时插补算子,右键点击增加“超时插补”算子

image-20220222220932096

算子配置及解释说明如下:

分区键:header.device_id
即使用消息头中的设备ID字段,用于给每个设备插补设备的计划工作状态。

插补时间类型:ABOLUTELY,
绝对类型,即每个周期都会固定插入设备的计划工作状态属性。

插补周期: * * * * * ?
Cron表达式,表示每秒钟都插补设备的计划工作状态。

等待时长 : 0 表示不等待

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001159907867.png

  1. 增加“数据计算”算子,用于转换时间格式,配置方法与步骤5相同,

  1. 增加“数据计算”算子,用于增加增加PlanningWorkStatus属性

配置数据计算算子

算子名称:增加PlanningWorkStatus属性

变量:

变量名称:event_time

取值:event_time

计算配置:

属性名称:PlanningWorkStatus

表达式:TimeFunction.shiftCheck(event_time, “07:00:00”,
“12:00:00”) || TimeFunction.shiftCheck(event_time,
“13:30:00”, “18:00:00”) ||
TimeFunction.shiftCheck(event_time, “19:00:00”,
“23:59:00”)

  1. 增加数据输出算子,用于将设备计划工作状态数据输出到存储中

image-20220222221513706

算子配置如下:

存储组:资产模型存储

数据存储名称:hello1

设备id来源:header.device_id

属性:

输出属性名称:PlanningWorkStatus

属性类型:String

源属性:PlanningWorkStatus

  1. 点击右上角保存,并启动作业。

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001113551562.png

启动成功后,约1分钟左右,作业状态为“运行中”表示作业正常运行。

image-20220222221746308

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001159871449.png

创建SMT产线和设备资产模型

创建设备模型:印刷机模型,在IoTA
ConsoleIoT数据分析-总览 (huaweicloud.com)中左侧导航栏中选择“资产建模”,“模型”,点击上方“新建”

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001159913191.png

输入模型名称: smokedetector, 显示名称: “烟雾传感器”,点击“确定”保存。

image-20220226180733456
为传感器增加属性,点击属性信息下方“快速添加”按钮,可从数据存储中快速导入印刷机属性字段,减少手工操作。

image-20220226180804743

在数据存储中下拉选择“hello1”存储名称,勾选所有导入的属性,然后点击“确定”保存。

image-20220226181118109

导入后效果如下

image-20220226181145287

为传感器增加静态类型和分析任务类型的属性,通过界面“手动添加”方式,按照"设备公共性属性列表"的参数进行配置。

image-20220226181406962

设备共性属性列表

属性名称 显示名称 属性类别 数据类型 单位 备注
PlanningWorkPeriod 设备计划工作时长 分析任务 double min
ActualWorkPeriod 设备实际工作时长 分析任务 double min
ProductPeriod 指定数量产品的理想生产时长 分析任务 double min
PlanningOutputPeriod 设备理想产品生产时长 静态配置 double min 属性值0.06
TimeUsage 时间利用率 分析任务 double %
PerformanceUtilization 性能利用率 分析任务 double %
QualificationRatio 合格率 分析任务 double %
OEE OEE 分析任务 double %
TemperatureState 温度状态 分析任务 string NA
HumidityState 湿度状态 分析任务 string NA
TemperatureUpLimit 温度上限 静态配置 double °C 属性值为:35
TemperatureDownLimit 温度下限 静态配置 double °C 属性值为:25
HumidityUpLimit 湿度上限 静态配置 double % 属性值为:63
HumidityDownLimit 湿度下限 静态配置 double % 属性值为:45
  1. 为传感器模型增加分析任务,通过界面“添加分析任务”,按照"设备公共分析任务列表"的参数进行配置。

设备共性分析任务列表

任务名称 显示名称 类型 表达式 输出 引用模型
calc_TimeUsage 计算时间利用率 转换计算 ActualWorkPeriod/PlanningWorkPeriod*100 TimeUsage
calc_PerformanceUtilization 计算性能利用率 转换计算 ProductPeriod/ActualWorkPeriod*100 PerformanceUtilization
calc_QualificationRatio 计算产品合格率 聚合计算 TS_Sum(Quality)/TS_Sum(Output)*100 QualificationRatio
calc_ProductPeriod 计算实际数量产品的理想生产时长 聚合计算 TS_Sum(Output)*PlanningOutputPeriod ProductPeriod
calc_PlanningWorkPeriod 计算计划工作时长 聚合计算 StateTime(PlanningWorkStatus,“true”)/(1000*60) PlanningWorkPeriod
calc_ActualWorkPeriod 计算实际工作时长 聚合计算 StateTime(ActualWorkStatus,“Run”)/(1000*60) ActualWorkPeriod
calc_TemperatureState 计算温度状态 转换计算 If(Temperature >= TemperatureDownLimit && Temperature <= TemperatureUpLimit, “normal”, “abnormal”) TemperatureState
calc_HumidityState 计算湿度状态 转换计算 If(Humidity >= HumidityDownLimit && Humidity <= HumidityUpLimit, “normal”, “abnormal”) HumidityState
calc_OEE 计算OEE 转换计算 TimeUsage*PerformanceUtilization*QualificationRatio/10000 OEE

创建完成后如下所示

image-20220228215747592

创建产线模型,点击新建,弹出模型对话框,输入模型名称:“ProductLine”,显示名称:“产线”,点击“确定”。

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001113410338.png

image-20220228215939177

创建SMT产线资产

创建SMT工厂资产,在左侧导航栏,选择“资产”,点击“新建资产”

image-20220228220210096

输入资产名称:SMTFactoryDemo,显示名称:SMT数字工厂 模型:ProductLine

image-20220228220258180

创建SMT产线资产

点击SMTFactoryDemo资产进入资产编辑页面,右键点击工厂资产,选择“添加子资产”

image-20220228220350956

输入 资产名称:ProductLine01, 显示名称: SMT产线1, 模型:ProductLine,
设备ID:不填

点击“确定”创建完成。

image-20220228220429668

创建完成如下图所示:

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001159930421.png

创建SMT产线下的设备资产

右键点击厂线资产节点,点击“添加子资产”

image-20220228220501004

输入资产名称 “ProductLine01_LaserMarking01”

显示名称:“产线01_印刷机01”

选择模型:“smokedetector”

输入设备ID:XXXX (参见附录:如何从IoTDA上获取设备ID)

image-20220228220806787

(获取设备ID如下图)

image-20220228220743512

完成所设备资产创建后的效果图如下:

点击右上角的“发布”按钮发布资产

https://support.huaweicloud.com/bestpractice-iotanalytics/images/zh-cn_image_0000001159930527.png

发布成功后进入监控界面,可以看到属性的实时数据更新

点击可以进入时序探索中查看详细的历史数据,更多属性数据可以自行体验查看

附录:如何在IoTDA上查询设备ID

访问设备接入IoTDA服务产品首页,链接如下:https://www.huaweicloud.com/product/iothub.html,单击“立即使用”。

进入设备接入控制台,选择左侧导航栏的“设备”>“所有设备”,在右侧选择需要查看设备对应的产品类型,比如“Mouter1”表示查看所有的贴片机设备。

镭雕机:HDCLaserMarking1

印刷机:Printing1

贴片机:Mounter1

锡膏检测仪:SPI1

AOI光学检测仪:AOI1

回流炉:RefluxFurnace1

选择需要查看的设备,比如选择“ProductLine02_Mounter01”,点击右侧“查看”,进入设备详情页面,如下图所示:

在设备详情页面中,可看到设备ID信息,点击设备ID右侧的复制图标即可完成设备ID的复制。

至此,本实验体验内容完成。请参考后续章节释放资源。

实验资源释放

关闭数据上报/删除创建的产线和设备资产

体验关闭设备模拟器上报数据。

关闭了最开始下载的exe命令提示符,然后过一段时间后会自动停止上报。

进入资产编辑工作台页面,选择上面体验过程中创建的产线资产“ProductLine01”,点击右键选择“删除”。

删除父资产时会自动删除父资产下的所有子资产,即删除产线时会自动删除整个产线和产线下所有设备。

注:删除资产是为了后续重复体验做好准备。

image-20220228221906112

点击右上角的“发布”按钮使之生效。

确认资产是否已删除。

刷新页面,查看监控页签,确认资产模型已删除。

停止数据管道

在左侧导航栏,选择“数据管道”,点击管道进入界面

image-20220228222003205

点击右上角“停止作业”

点击“确认”

停止管道作业成功后,作业处于就绪状态

image-20220228222040832

至此,本次体验全部完成。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200