摘要:数字孪生?在数字世界找到物理世界的设备!本文分享自华为云社区《【云驻共创】HuaweiMate 40产线直击之华为云IoT智能制造助力工厂数字化转型》,原文作者:启明。
这样便导致,一是缺乏整体规划,各应用独立部署,数据各自基于业务需要单独进行采集和使用;二是效率低下,比如重复采集数据,对生产有较大影响。2. 模式二:平台解耦——统一数采平台在“平台”概念提出之后,工厂管理者们逐渐意识到,或许,在生产线和应用之间,需要有一个“平台”,这样的解耦,能让应用和生产线,应用和应用之间互联互通。而这,就是工业 4.0 的一个基础模型。
模式二的产生,让专业的数据采集团队完成尽可能多的数据采集,并集中统一开放,让整体效率有所提升。但是我们可以发现,即便是这样,**数据的使用仍然是独立的,没有实现真正的融合。**在产线或者生产设备取得的数据,仍然是元数据,应用在取得数据之后,仍然需要单独对数据进行二次加工处理使用,进而导致应用间对数据的处理仍然存在大量重复工作。3. 模式三:数据处理——统一孪生模型如何同步解决“应用解耦”和“数据统一处理”问题,华为 IoT 有自己的方法。
在物联网领域,有“孪生体”这样一个概念。通过“孪生体”把设备的感知和设备的认知,进行统一的处理。同样以工厂为例,工厂里面是有非常多的生产装备、生产产线以及其他各式各样的物理设备的,那我们能不能帮助工厂把所有的这些物理设备,通过统一的建模,对这些设备一一进行处理,抽象为数字化的形象呢?答案是,可以。通过把物理对象一一进行数字化处理,那么应用和物理设备的交互,就转变成了应用和数字孪生体的交互。相对于前两种模式,这种模式的开发方式有了一个非常大的变化:我们可以无视最底层的物理设备,或者物理接口,将数据建模部分的工作,交由 IoT 的“统一孪生模型层”完成。“孪生”这一概念,意味着我们在建模的时候,首先需要对模型有清晰的认知,也即广泛的数采能力,毕竟在工厂里面,会有各式各样的设备,这些设备同时又有各式各样的一些协议;其次,需要有非常高的抽象能力,你需要将物理世界的设备,抽象成数字世界里的模型,并且能进行交互。数采能力和抽象能力,是目前开发物联网应用过程中,非常关键的两个能力。基于华为云 IoT 带来新的开发模式,帮助用户快速构建数字化转型的基础平台。接下来以华为自己的工厂为例,来简单说明华为云 IoT 是如何使用新的开发模式,助力工厂数字化转型的。正如大家所知道的,华为本身也是一个制造型的工厂,华为云 IoT 的能力首先是在自己的工厂进行实践。我们以南方工厂,也就是 Huawei Mate40 生产工厂为例,把工厂的手机贴片过程通过数采、建模在数字世界中构建出一个数字化的产线的孪生体。基于华为云 IoT 的能力,在南向完成一个统一的孪生体,并在上层构建可视化、智能化的应用,具体架构图见下:
在南方工厂实际数字化进程中,有以下几个挑战:
以上,就是工厂数字孪生的两个非常重要的数字抽象维度。通过将产线生产过程透明化,实现生产有序可控,让应用上线时间从原来的 6-9 个月,缩减至 3 个月;同时,孪生建模+智能分析,用数据去驱动智能生产,让数据的开发效率能提升 70%。通过华为云 IoT,我们可以快速实现工厂的全要素联结,并通过构建工厂数字孪生模型,大幅度提升数据利用效率。
Picture 2:设备建模图。通过设备上报故障消息和设备模型相结合,实时监控设备运行状态。
Picture 3:资产分析图。通过资产模型分析能力,可实时分析和监控上报的设备数据是否存在异常。比如说,湿度正常情况下是到 45%~63%,如果上报的数据不在这个范围内,则属于不正常数据。界面就会显示一个黄色的点,表示这里的设备上报的数据有异常。可以看出,数据分析是可以实时计算,实时监控的,如果有些严重异常的话,甚至可以推送到运维人员。
(三)工厂数字孪生 Demo 数据处理和分析流程要实现上述的效果图,我们需要经过如下几个步骤(因为不是真实工厂,所以采取的是模拟设备):
(四)IoT 数据分析内的分析过程接下来,我们来重点讲解一下“IoT 数据分析服务”内部的流转过程。第一步,数据管道。我们通过数据管道把数据接进来,同时本地也会进行备份;第二步,对设备进行建模;第三步,建立设备资产;第四步,把模型实例化之后的设备,及灌进来的数据,通过设备资产分析这个计算引擎,完成实时计算相关的分析任务;第五步,把数据存储到 IoT 内部;第六步,把这个数据通过 API 开放给第三方使用。具体见下图:
在这个过程中,我们需要详细讲解一下第二步以及第三步是如何操作的,也就是,我们如何创建模型和资产呢?(五)IoT 数字孪生的基本概念介绍在进行创建模型和资产讲解之前,我们先介绍一下“IoT 数字孪生”的基本概念。我们认为,物理世界的物,在数字世界中是有一个实时的、准确的一个映射的,它可以把实际的设备数据和一些其他的数据组织起来,组成 jason 模型,成为一个载体。
上图是我们数字孪生的一个概念图。首先数据孪生体,可以分为模型和资产两部分。其中模型相当于开发过程中,Java 的类,表示一个类的一个模板。在实例化之后生成一个资产,就相当于 new class,那么也就生成了一个对象。一个对象对应一个资产。同时,模型又分为两种,第一种是属性,属性还可以往下分还要分三种:第一种是静态配置属性,此类属性不需要设备上报,也不怎么会有变化,比如产品型号,设备类型等等;第二种是测量数据属性,测量数据属性是需要设备上报的。通俗一点说,就是,数据分析自己是没法得到的,需要别人给系统的数据。包括设备上报的属性,也有可能包括从第三方的业务系统读到的属性,系统都认为是一种测量属性;第三种是分析任务属性,此类属性在数据上报之后,是需要去进一步计算的。针对最后一种任务分析属性,有相应的任务去配置,去计算。在这个过程中,相当于算法的加载及配置:先去分析这个数据,然后后台的计算引擎就去加载配置的业务逻辑。分析任务属性目前有分三种:第一种是转换计算:举个简单例子,假设创建的时候包含了两个属性,a 和 b,而我们要求在这个过程中,a+b=c,那么这就是一个转化计算。转化属性要求是实时的,且 ab 两个值的数据时间戳是相同的;第二种是聚合运算:聚合是一个时间维度的计算,假设要求过去五分钟的一个平均温度,如果设备每五秒钟上报一次数据,那么就需要对五分钟内的所有上报的数据做一个平均,相当于在时间维度下,做聚合运算;第三种是流计算:流计算主要是用在比较复杂的场景,逻辑不能用简单的一个 if /else 表达出来的时候,就需要使用到流计算。举例来说,当资产将很多参数上报之后,系统需要通过这几个参数计算出一个结果,再返回资产,那么流计算在其中的作用就相当于一个计算器。流计算的功能非常强大,在工厂数字化模型中,大部分的场景都能实现,比如滑动窗口、数据过滤、加属性等等,是比较通用的一个能力。以上就是一个整体的建模的概念,基于上述的这些概念,我们能更好地理解后面的内容。
下图为所有参数都配备完成之后的完整样例。在这里面可以看到大概有 70 个左右的属性,这些属性都是模拟了真实产业的一些属性。下图所有的数据,包括样本和格式都是来自于南方工厂实际的生产数据,所以是相对比较真实的。
通过下面的截图,我们希望能够说明印刷机的分析任务是怎么配置的。以“转换计算”为例,只需要读取上报的温度值,并做一个表达式判断,比如说温度大于 25,小于 35,那么就认为是正常温度。把判断的结果复制给应用,应用就能直接使用这个结果。
下图为配置好的分析任务。可以看到,我们目前配置好了 11 个分析任务,包括计算资金利率、性能利用率、合格率、OEE、以及各种状态的判断等等前面所说过的种类。
(二)产线建模:SMT 产线前面说完了“设备建模”,接下来我们讲解一下“产线建模”。产线建模实际上也和设备建模的概念相同,模型类似。但是静态属性和测量数据属性暂时没有配置,因为产线相对简单一些,主要是求 OEE 的值,也就是分析任务属性,包括 OEE 相关的四个指标,以及转换计算、聚合计算和流计算。
分析任务属性的配置和设备产线是一致的,就不再重复讲解。下图为印刷机的设备资产配置图示例:
接下来,我们来看看产线资产是如何构建的。如下图,产线资产一共分三层:第一层是工厂(父资产);第二层是产线(子资产);第三层是设备(子资产)。产线和设备同样有模型,三层模型构成了一个“父子关系”的资产数。资产来自于模型,由模型实例化而来,同时,模型实例化为资产时可以根据业务场景来指定层级关系,且资产之间相互独立。
下图是构建好的资产树。相比于上一张图的逻辑图,这是一个示例图。图中表明一个电子工厂有三条 SMT 产线,每条产线有 7 个 SMT 设备。
(三)、OEE 相关指标配置(设备 &产线)我们再来看看设备的每个指标是如何计算的,如下图。我们以“产品合格率”(下图灰色部分)为例。如前文所述,合格率=[合格产出数量]/[产出数量]*100%。表格中“TS_Sum”表示时序求和,即可以把产量在一个时间范围内求和,比如,对五分钟内的产量进行求和。其他指标的计算方式和合格率类似,就不一一赘述。产线和设备的指标计算过程相似,差别在于数据的来源。产线的数据来源于子资产,而非产线自己产生的。因为资产“父子之间”的数据是可以相互引用的,而产线本身是不上报任何数据的。
(四)资产运行监控所有的产品创建、属性配置都完成之后,即可点击“发布”,将模型发布并运行。模型在定义的时候,本身是一个静态的过程,一旦发布,就会激活。根据前序定义的任务分析逻辑,系统将会自动计算,并得出实时结果,进行上报。所有的数据都可以在下图中观察看到。
除了上述的数据展现模式,还可以根据业务的需要,将数据展示成折线图、热力图、曲线图等等,更易进行分析的图形展示方式,得出你想要的结果。示例图如下。
想要体验一个产线模型建立的过程,可以前往华为云IoT数据分析服务深度体验。根据“总览”页的指导一步步进行操作。
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100
我最近与一位同事讨论了以下Ruby语法:value=ifa==0"foo"elsifa>42"bar"else"fizz"end我个人并没有看到太多这种逻辑,但我的同事指出,这实际上是一种相当普遍的Rubyism。我试着用谷歌搜索这个主题,但没有找到任何文章、页面或SO问题来讨论它,这让我相信这可能是一种非常实际的技术。然而,另一位同事发现语法令人困惑,而是将上面的逻辑写成这样:ifa==0value="foo"elsifa>42value="bar"elsevalue="fizz"end缺点是value=的重复声明和隐式elsenil的丢失,如果我们想使用它的话。这也感觉它与Ruby
所有题目均有五种语言实现。C实现目录、C++实现目录、Python实现目录、Java实现目录、JavaScript实现目录题目n行m列的矩阵,每个位置上有一个元素你可以上下左右行走,代价是前后两个位置元素值差的绝对值.另外,你最多可以使用一次传送阵(只能从一个数跳到另外一个相同的数)求从走上角走到右下角最少需要多少时间。输入描述:第一行两个整数n,m,分别代表矩阵的行和列。后面n行,每行m个整数,分别代表矩阵中的元素。输出描述:一个整数,表示最少需要多少时间。
西安华为OD面试体验开始投简历技术面试进展工作进展开始投简历去年一整年一直在考研和工作之间纠结,感觉自己的状态好像当时的疫情一样差劲。之前刚毕业的时候投了个大厂的简历,结果一面写算法的时候太拉跨了,虽然知道时dfs但是代码熟练度不够,放在平时给足时间自己可以调试通过,但是熟练度不够那面试当时就写不出来被刷了。说真的算法学到后期我感觉最重要的是熟练度和背板子(对于我这种普通玩家来说),面试题如果一上来短时间内想不出思路就完蛋了。然后由于当时找的工作不是很理想就又想考研了。但是考研是有风险的,我自我感觉自己可能冲不上那个学校,而找工作一个没成可以继续找嘛。本着抱着试试看的态度在boss上投了简历,
在尝试构建Rubygem(使用Bundler)时,我倾向于使用Bundler提供的REPL测试代码——可通过bundleconsole访问。有什么方法可以重新加载整个项目吗?我最终再次加载单个(更改的)文件以测试新更改。 最佳答案 以下hack适用于我的一个相对简单的gem和Ruby2.2.2。我很想看看它是否适合你。它做出以下假设:您具有传统的文件夹结构:一个名为lib/my_gem_name.rb的文件和一个文件夹lib/my_gem_name/,其中包含任何文件/文件夹结构。您要重新加载的所有类都嵌套在您的顶级模块MyGemN
这个问题在这里已经有了答案:Nokogiri:SelectcontentbetweenelementAandB(3个答案)关闭2年前。我正在从url中抓取文本的div,并想删除具有backtotop类的段落下方的所有内容。我在stackoverflow上看到了一段遍历代码片段,看起来很有希望,但我不知道如何将它合并,所以@el只包含第一个p.backtotop之前的所有内容分区我的代码:@doc=Nokogiri::HTML(open(url))@el=@doc.css("div")[0]end遍历片段:doc=Nokogiri::HTML(code)stop_node=doc.css
今天我遇到了下面的正则表达式,想知道Ruby会用它做什么:>"#a"=~/^[\W].*+$/=>0>"1a"=~/^[\W].*+$/=>nil在这种情况下,Ruby似乎忽略了+字符。如果这是不正确的,我不确定它在做什么。我猜它没有被解释为量词,因为*没有转义并且被用作量词。在Perl/Ruby正则表达式中,有时当一个字符(例如,-)在不能被解释为特殊字符的上下文中使用时,它会被视为文字。但如果在这种情况下发生这种情况,我希望第一个匹配失败,因为左值字符串中没有+。这是对+字符的巧妙正确使用吗?以上行为是错误吗?我是否遗漏了一些明显的东西? 最佳答案
目录一、安装包链接二、安装详细步骤1.安装Wireshark和WinPcap2.安装OracleVMVirtualBox3.安装ensp三、安装后注册四、启动路由器出现40错误怎么解决一、安装包链接二、安装详细步骤链接:https://pan.baidu.com/s/1QbUUYMOMIV2oeIKHWP1SpA?pwd=xftx提取码:xftx1.安装Wireshark和WinPcap找到Wireshark安装包所在文件夹,双击它,按照以下步骤安装。2.安装OracleVMVirtualBox找到OracleVMVirtualBox安装包所在文件夹,双击它,按照以下步骤安装。注:可自定义安装
近日,上海证券交易所科创板披露的信息显示,嘉兴中润光学科技股份有限公司(下称“中润光学”)获得上市委会议通过。这意味着,中润光学的上市之路获得实质性进展,接下来将提交注册。据贝多财经了解,中润光学的招股书于2022年5月20日获得科创板受理,5个月后便获得上市委会议通过,进度不可谓不快。本次冲刺科创板上市,中润光学拟募资4.05亿元,计划用于高端光学镜头智能制造项目、高端光学镜头研发中心升级项目等。天眼查信息显示,中润光学成立于2012年8月,是一家以从事非金属矿物制品业为主的企业。当前,该公司的注册资本为6600万元,法定代表人为张平华。穿透股权可知,张平华也是该公司的实际控制人。据招股书介