热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

直击HuaweiMate40产线背后的华为云IoT智能制造

摘要:数字孪生?在数字世界找到物理世界的设备!本文分享自华为云社区《【云驻共创】Huawe

摘要:数字孪生?在数字世界找到物理世界的设备!

本文分享自华为云社区《【云驻共创】Huawei Mate 40产线直击之华为云IoT智能制造助力工厂数字化转型》,原文作者:启明。


Part 1:智能化工业4.0时代的数字孪生

一、工业4.0,智能化时代已来

回顾人类历史,我们共同顺利经历了三次工业革命:

第一次是蒸汽机时代,开创了以机器代替手工劳动的时代;第二次是电气时代,自然科学的发展和工业紧密结合,科学在推动生产力方面发挥了更为重要的作用;第三次是信息化时代,科学技术转化为直接生产力的速度急速加快。

而今,我们迎来了第四次革命,即,工业4.0:智能化时代。“工业4.0的本质,就是通过数据流动自动化技术,从规模经济转向范围经济,以同质化规模化的成本,构建出异质化定制化的产业。对于产业结构改革,这是至关重要的作用。”

作为新一轮的工业革命,工业4.0的核心特征是互联。工业4.0代表了“互联网+制造业”的智能生产,孕育大量的新型商业模式,真正能够助力实现“C2B2C”的商业模式。


二、当前工厂数字化转型痛难点

当前,大家都还在“工业4.0”的摸索阶段。大量的工厂已经开始自己的智能化转型之路,比如通过构建应用来讲采集的数据可视化,讲数据价值最大化。但是,在这个实践过程中,问题不断涌现,诸如:


2.1 数据/信息孤岛,烟囱林立

一家工厂,在不同的阶段,因为项目的不同,有可能找不同的供应商去承接。分段式的项目供应商,导致的是不同的系统应用。形象点说,多系统不互通,就是像独立的“烟囱”,每个“烟囱”都有“烟”,但是却不互通。在工业4.0阶段,不互通,意味着信息孤岛,也就意味着企业的数字资产分布零散,维护成本高,使用效率低下;


2.2 应用上线慢,耗时耗力

正如第一点所说,不同系统之间的不互通,导致的是新的应用上线会“重复造轮子”:每个应用上线,都有大量的重复工作,浪费人力物力,且耗时长。更重要的是,新的应用带来的数据处理问题:由于缺乏统一的建模,每个应用在处理原始数据时,都需要重复处理。两个“重复”让本就高昂的成本,更加“雪上加霜”;


2.3 数据分析门槛高

工厂,或者企业,有着一颗想要降本增效的心,比如想要通过分析现有的数据找到规律,从而优化流程,但却因为数据分析的门槛高,望而却步。这其中最关键的原因,是其业务场景不明确,没有找到一个好的数据平台。


三、找对平台,是成功的一半

以上痛点难点,是大部分工业领域的厂家在“工业4.0”摸索过程中都会遇到的,而贯穿其中的是“应用”。也就是说,软件开发者未做到足够的分层解耦是造成上述问题的重要原因之一。以“应用”为基础,工厂经历了三个时期的三种模式:


3.1 模式一:“烟囱式”应用

在工业4.0之前,由于缺乏应用和实践,大部分厂家的应用,如上所述,都是“烟囱式”的:


这样便导致,一是缺乏整体规划,各应用独立部署,数据各自基于业务需要单独进行采集和使用;二是效率低下,比如重复采集数据,对生产有较大影响。


3.2 模式二:平台解耦——统一数采平台

在“平台”概念提出之后,工厂管理者们逐渐意识到,或许,在生产线和应用之间,需要有一个“平台”,这样的解耦,能让应用和生产线,应用和应用之间互联互通。而这,就是工业4.0的一个基础模型。


模式二的产生,让专业的数据采集团队完成尽可能多的数据采集,并集中统一开放,让整体效率有所提升。但是我们可以发现,即便是这样,数据的使用仍然是独立的,没有实现真正的融合。在产线或者生产设备取得的数据,仍然是元数据,应用在取得数据之后,仍然需要单独对数据进行二次加工处理使用,进而导致应用间对数据的处理仍然存在大量重复工作。


3.3 模式三:数据处理——统一孪生模型

如何同步解决“应用解耦”和“数据统一处理”问题,华为IoT有自己的方法。


在物联网领域,有“孪生体”这样一个概念。通过“孪生体”把设备的感知和设备的认知,进行统一的处理。同样以工厂为例,工厂里面是有非常多的生产装备、生产产线以及其他各式各样的物理设备的,那我们能不能帮助工厂把所有的这些物理设备,通过统一的建模,对这些设备一一进行处理,抽象为数字化的形象呢?

答案是,可以。通过把物理对象一一进行数字化处理,那么应用和物理设备的交互,就转变成了应用和数字孪生体的交互。相对于前两种模式,这种模式的开发方式有了一个非常大的变化:我们可以无视最底层的物理设备,或者物理接口,将数据建模部分的工作,交由IoT的“统一孪生模型层”完成。

“孪生”这一概念,意味着我们在建模的时候,首先需要对模型有清晰的认知,也即广泛的数采能力,毕竟在工厂里面,会有各式各样的设备,这些设备同时又有各式各样的一些协议;其次,需要有非常高的抽象能力,你需要将物理世界的设备,抽象成数字世界里的模型,并且能进行交互。

数采能力和抽象能力,是目前开发物联网应用过程中,非常关键的两个能力。

基于华为云IoT带来新的开发模式,帮助用户快速构建数字化转型的基础平台。

接下来以华为自己的工厂为例,来简单说明华为云IoT是如何使用新的开发模式,助力工厂数字化转型的。

正如大家所知道的,华为本身也是一个制造型的工厂,华为云IoT的能力首先是在自己的工厂进行实践。我们以南方工厂,也就是Huawei Mate 40 生产工厂为例,把工厂的手机贴片过程通过数采、建模在数字世界中构建出一个数字化的产线的孪生体。

基于华为云IoT的能力,在南向完成一个统一的孪生体,并在上层构建可视化、智能化的应用,具体架构图见下:


        在南方工厂实际数字化进程中,有以下几个挑战:

产线设备厂家/种类/型号多种多样,涉及超过30+不同应用层协议需要对接,采集难度大;

一条产线上超过上千条测点数据,缺乏数据建模手段,导致数据处理低下。

        那么,如何站在开发者的角度,去省时省力地完成数字化呢?华为云IoT正式登场。


四、以多维模型为核心,构建数字孪生

在一个数字孪生体的实际应用背后,是有很多的模型的,比如产线的模型,设备的模型,质量缺陷的模型等等。而在建模过程中,从看待一个工厂物理世界当中的物理对象的角度,可以把工厂的孪生体分为两类:制造的数字孪生和产品的数字孪生。

制造数字孪生:

定位:将工厂的制作环节进行数字化的镜像,能够实时反映工厂的制造过程;经过对制造过程的统一抽象,不同应用可以基于同样的语义进行交互;

建模内容:生产装备、产线、生产工艺流程、质量缺陷、物理结构等等;

产品数字孪生:

定位:从工厂在制产品维度,组织生产过程中产生的各种数据,并预留通过与数字主线对接能力打通产品设计阶段、产品维护阶段的数据;

建模内容:产品的各种属性,生产过程数据,质量数据等。


以上,就是工厂数字孪生的两个非常重要的数字抽象维度。通过将产线生产过程透明化,实现生产有序可控,让应用上线时间从原来的6-9个月,缩减至3个月;同时,孪生建模+智能分析,用数据去驱动智能生产,让数据的开发效率能提升70%。通过华为云IoT,我们可以快速实现工厂的全要素联结,并通过构建工厂数字孪生模型,大幅度提升数据利用效率。



Part 2:基于南方工厂的数字孪生实践

回到我们的主题。南方工厂,即是生产Huawei Mate 40的产线。手机产量的暴增,让产线的数字化需求迫在眉睫。通过整个产线的数字化,可以提升生产过程、优化制造工程厂商的管理,以及质量控制的管理,让产线的效率得到大大的提高,同时能够降低运营的成本。

上图是一个工厂孪生体的多维模型。我们可以看到在产品模型中,包括了设备模型和产线模型,更上层还有制程能力模型、质量缺陷模型以及设备物理/结构模型和设备故障预测模型。

通过应用华为云IoT数据分析服务建模和分析能力,可以快速构建的电子工程产线和设备孪生体。那么本文我们就来介绍一下如何构建一个数据分析服务建模。


一、基础概念介绍


(一)OEE概念简介

在进行建模讲解之前,我们先普及一个基础的概念。OEE,即设备综合效率(Overall Equipment Effectiveness)。一般来说,每一个生产设备都有自己的理论产能,要实现这一理论产能必须保障没有任何干扰和质量损耗。OEE就是用来表现设备是的生产能力相对于理论产能的比率。

在计算OEE的时候,会涉及到以3个维度:

时间利用率:时间利用率=Σ实际运行时间/Σ计划开机时间*100%。用来评价停工所带来的损失,包括引起计划生产发生停工的任何事件,例如设备故障,原材料短缺以及生产方法的改变等等;

性能利用率:性能利用率=Σ[产出数量*一个产品在设备应有状态下加工的周期时间]/Σ实际运行时间*100%。用来评价生产速度上的损失。包括任何导致生产不能以最大速度运行的因素,例如设备的磨损,材料的不合格以及操作人员的失误等;

合格率:合格率=[合格产出数量]/[产出数量]*100%。用来评价质量的损失,它用来反映没有满足质量要求的产品(包括返工的产品);

那么最终的计算公式就是,OEE=[时间利用率]*[性能利用率]*[合格率]*100%,这就是衡量设备综合运营效率的一个关键指标,也是很多电子制造工厂以及其他类似厂房里的一个关键性指标。

一般来说,国内厂家OEE的数值都不会太高,一般只有70%,或者80%,少的甚至只有40%左右。


(二)工厂孪生体产线和设备建模分析效果图

工厂孪生体产线和设备建模分析,可以通过一些可视化的管理后台进行查看。以下分别三个不同功能的效果图。

Picture 1:图上共有3条产线,可以进行适当地拖放。图里可以看到每个设备的OEE数值。通过资产建模和分析能力可实时计算出产线和设备的OEE,各设备关键指标实时监控,同时可查看历史数据。


Picture 2:设备建模图。通过设备上报故障消息和设备模型相结合,实时监控设备运行状态。


Picture 3:资产分析图。通过资产模型分析能力,可实时分析和监控上报的设备数据是否存在异常。比如说,湿度正常情况下是到45%~63%,如果上报的数据不在这个范围内,则属于不正常数据。界面就会显示一个黄色的点,表示这里的设备上报的数据有异常。可以看出,数据分析是可以实时计算,实时监控的,如果有些严重异常的话,甚至可以推送到运维人员。



(三)工厂数字孪生Demo数据处理和分析流程

要实现上述的效果图,我们需要经过如下几个步骤(因为不是真实工厂,所以采取的是模拟设备):

设备模拟器:基于标准物模型,模拟器定时5秒通过MQTT协议自动上报设备属性数据,可模拟手动出发上报消息,比如设备告罄消息。

IoT设备接入服务:通过配置设备数据转发规则将设备属性数据和设备消息到IoTA(数据分析)服务。

IoT数据分析服务:基于数据管道接收设备数据,并通过资产建模和计算分析能力,实时计算生成产线和设备OEE相关数据,判断数据是否存在异常信息。

3D应用:通过调用IoTA的API获取数据,以3D的形式展示产线和设备,可查看产线和设备OEE,设备关键指标,告罄等故障信息,同时可查到相关历史数据。这也就是第二部分的效果图。



(四)IoT数据分析内的分析过程

接下来,我们来重点讲解一下“IoT数据分析服务”内部的流转过程。

第一步,数据管道。我们通过数据管道把数据接进来,同时本地也会进行备份;

第二步,对设备进行建模;

第三步,建立设备资产;

第四步,把模型实例化之后的设备,及灌进来的数据,通过设备资产分析这个计算引擎,完成实时计算相关的分析任务;

第五步,把数据存储到IoT内部;

第六步,把这个数据通过API开放给第三方使用。

具体见下图:


在这个过程中,我们需要详细讲解一下第二步以及第三步是如何操作的,也就是,我们如何创建模型和资产呢?


(五)IoT数字孪生的基本概念介绍

在进行创建模型和资产讲解之前,我们先介绍一下“IoT数字孪生”的基本概念。

我们认为,物理世界的物,在数字世界中是有一个实时的、准确的一个映射的,它可以把实际的设备数据和一些其他的数据组织起来,组成jason模型,成为一个载体。


上图是我们数字孪生的一个概念图。

首先数据孪生体,可以分为模型和资产两部分。其中模型相当于开发过程中,Java的类,表示一个类的一个模板。在实例化之后生成一个资产,就相当于new class,那么也就生成了一个对象。一个对象对应一个资产。

同时,模型又分为两种,第一种是属性,属性还可以往下分还要分三种:

第一种是静态配置属性,此类属性不需要设备上报,也不怎么会有变化,比如产品型号,设备类型等等;

第二种是测量数据属性,测量数据属性是需要设备上报的。通俗一点说,就是,数据分析自己是没法得到的,需要别人给系统的数据。包括设备上报的属性,也有可能包括从第三方的业务系统读到的属性,系统都认为是一种测量属性;

第三种是分析任务属性,此类属性在数据上报之后,是需要去进一步计算的。

针对最后一种任务分析属性,有相应的任务去配置,去计算。在这个过程中,相当于算法的加载及配置:先去分析这个数据,然后后台的计算引擎就去加载配置的业务逻辑。分析任务属性目前有分三种:

第一种是转换计算:举个简单例子,假设创建的时候包含了两个属性,a和b,而我们要求在这个过程中,a+b=c,那么这就是一个转化计算。转化属性要求是实时的,且ab两个值的数据时间戳是相同的;

第二种是聚合运算:聚合是一个时间维度的计算,假设要求过去五分钟的一个平均温度,如果设备每五秒钟上报一次数据,那么就需要对五分钟内的所有上报的数据做一个平均,相当于在时间维度下,做聚合运算;

第三种是流计算:流计算主要是用在比较复杂的场景,逻辑不能用简单的一个if /else表达出来的时候,就需要使用到流计算。举例来说,当资产将很多参数上报之后,系统需要通过这几个参数计算出一个结果,再返回资产,那么流计算在其中的作用就相当于一个计算器。流计算的功能非常强大,在工厂数字化模型中,大部分的场景都能实现,比如滑动窗口、数据过滤、加属性等等,是比较通用的一个能力。

以上就是一个整体的建模的概念,基于上述的这些概念,我们能更好地理解后面的内容。


二、资产建模实操


(一)设备建模:SMT产线印刷机设备

对物理世界事物构建数字资产模型时,必须先定义好资产模型,然后再创建资产。一般来说,一个产线有7种设备,我们以其中的印刷机为例,来讲解一下设备是如何建模的。

首先,是属性的配置。针对于印刷机,我们三种属性分别为:

静态配置属性:产品理想印刷时长、设备型号

测量数据属性:印刷速度、脱模速度、印刷高度

分析任务属性:时间利用率、性能利用率、合格率、OEE

而分析任务属性同时又有以下计算配置:

转换计算:计算时间利用率、计算性能利用率、计算OEE以及判断温度状态

聚合计算:计算实际工作时长、计算实际工作时间、计算合格率

流计算:SMT场景暂未使用

下图为属性编辑的页面,包括静态配置、测量数据以及分析任务,可供参考。


下图为所有参数都配备完成之后的完整样例。在这里面可以看到大概有70个左右的属性,这些属性都是模拟了真实产业的一些属性。下图所有的数据,包括样本和格式都是来自于南方工厂实际的生产数据,所以是相对比较真实的。


通过下面的截图,我们希望能够说明印刷机的分析任务是怎么配置的。以“转换计算”为例,只需要读取上报的温度值,并做一个表达式判断,比如说温度大于25,小于35,那么就认为是正常温度。把判断的结果复制给应用,应用就能直接使用这个结果。


下图为配置好的分析任务。可以看到,我们目前配置好了11个分析任务,包括计算资金利率、性能利用率、合格率、OEE、以及各种状态的判断等等前面所说过的种类。



(二)产线建模:SMT产线

前面说完了“设备建模”,接下来我们讲解一下“产线建模”。

产线建模实际上也和设备建模的概念相同,模型类似。但是静态属性和测量数据属性暂时没有配置,因为产线相对简单一些,主要是求OEE的值,也就是分析任务属性,包括OEE相关的四个指标,以及转换计算、聚合计算和流计算。


分析任务属性的配置和设备产线是一致的,就不再重复讲解。

下图为印刷机的设备资产配置图示例:


接下来,我们来看看产线资产是如何构建的。如下图,产线资产一共分三层:

第一层是工厂(父资产);

第二层是产线(子资产);

第三层是设备(子资产)。

产线和设备同样有模型,三层模型构成了一个“父子关系”的资产数。资产来自于模型,由模型实例化而来,同时,模型实例化为资产时可以根据业务场景来指定层级关系,且资产之间相互独立。




(三)、OEE相关指标配置(设备&产线)

我们再来看看设备的每个指标是如何计算的,如下图。我们以“产品合格率”(下图灰色部分)为例。

如前文所述,合格率=[合格产出数量]/[产出数量]*100%。表格中“TS_Sum”表示时序求和,即可以把产量在一个时间范围内求和,比如,对五分钟内的产量进行求和。其他指标的计算方式和合格率类似,就不一一赘述。

产线和设备的指标计算过程相似,差别在于数据的来源。产线的数据来源于子资产,而非产线自己产生的。因为资产“父子之间”的数据是可以相互引用的,而产线本身是不上报任何数据的。



(四)资产运行监控

所有的产品创建、属性配置都完成之后,即可点击“发布”,将模型发布并运行。模型在定义的时候,本身是一个静态的过程,一旦发布,就会激活。根据前序定义的任务分析逻辑,系统将会自动计算,并得出实时结果,进行上报。所有的数据都可以在下图中观察看到。


除了上述的数据展现模式,还可以根据业务的需要,将数据展示成折线图、热力图、曲线图等等,更易进行分析的图形展示方式,得出你想要的结果。示例图如下。


想要体验一个产线模型建立的过程,可以前往华为云IoT数据分析服务(https://www.huaweicloud.com/product/iotanalytics-platform.html)深度体验。根据“总览”页的指导一步步进行操作。



三、小结

从上述的讲解和介绍,我们可以得出以下结论:

物理世界的物在数字世界中的实时准确映射,组织数据&模型的载体,是IoT领域的数字孪生;

围绕一个具体的物理对象,组织数据&模型,定义一个数字化的模型,即是IoT领域的数字建模过程;

设备数字孪生模型由属性和任务分析两部分组成;

对物理世界事物构建资产模型时,须先定义模型,再创建资产

面向对象建模思想带来的好处:封装、继承、组合,提升复用效率和可扩展性。

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

来一起体验一下吧~

 

点击关注,第一时间了解华为云新鲜技术~



推荐阅读
  • 本文详细介绍了Java代码分层的基本概念和常见分层模式,特别是MVC模式。同时探讨了不同项目需求下的分层策略,帮助读者更好地理解和应用Java分层思想。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 阿里面试题解析:分库分表后的无限扩容瓶颈与解决方案
    本文探讨了在分布式系统中,分库分表后的无限扩容问题及其解决方案。通过分析不同阶段的服务架构演变,提出了单元化作为解决数据库连接数过多的有效方法。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 在ElasticStack日志监控系统中,Logstash编码插件自5.0版本起进行了重大改进。插件被独立拆分为gem包,每个插件可以单独进行更新和维护,无需依赖Logstash的整体升级。这不仅提高了系统的灵活性和可维护性,还简化了插件的管理和部署过程。本文将详细介绍这些编码插件的功能、配置方法,并通过实际生产环境中的应用案例,展示其在日志处理和监控中的高效性和可靠性。 ... [详细]
  • JSP(JavaServer Pages)和Servlet都是Java Web开发中的重要技术。JSP可以看作是Servlet的扩展,主要关注页面的展示效果。而Servlet则更侧重于处理业务逻辑。本文将详细介绍它们的相同点和不同点。 ... [详细]
  • RocketMQ 运维监控实践指南
    本文详细介绍了如何实现 RocketMQ 的运维监控,包括监控平台的搭建、常用运维命令及其具体用法。适合对 RocketMQ 监控感兴趣的读者参考。 ... [详细]
  • Java作为全球最流行的编程语言之一,应用广泛。本文将详细介绍Java开发的相关岗位及其具体职责,帮助读者更好地了解这一领域的职业发展路径。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
author-avatar
吟荣wekenbo
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有