工业4.0 资产管理壳学习笔记( 6)-管理壳细节

Posted 姚家湾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工业4.0 资产管理壳学习笔记( 6)-管理壳细节相关的知识,希望对你有一定的参考价值。

         本文是“资产管理壳细节 Part1的读书笔记。

          <Details_of_the_Asset_Administration_Shell_Part1_V3.pdf>

    要真正了解工业4.0 的管理壳,绕不开认真地读这篇文章。老实说, 第一次读这个文本会发现什么都明白,就是不知道有什么用场。其实学习信息模型基本上都是如此的,当手脚架拆除之后,人们难以理解金字塔是如何构造出来的。 标准应该具备完整性。信息模型能够应对所有的场景。特别是I4.0 管理壳模型更加强调语义的规范。增加了许多关于语义定义的单元。

          管理壳模型能够使用JSON,AML和OPC UA 来描述。上述文章的内容比较难懂,可以和OPC UA 发布了OPC 30270 OPC UA AA规格文件的文本结合起来一起阅读。

子模型

工业4.0 的概念是希望所有的资产都具有一个管理壳,并且管理壳能够对资产进行全过程,全方位的管理。比如要管理机械特征,控制特征,能源特征,安全特征,要管理设计阶段的文档,图纸,又要管理运行过程中的安装,维护文档。总之,管理壳包罗万象。

  那么管理壳是怎么做到的呢?这就是子模型。每个管理壳包含了多个子模型。一个子模型针对资产的一个方面的特征。

可能的子模型如下:

 这些子模型尽量符合相关的标准。这些国际标准有些在国外已经使用了许多年。如果之前我们并没有使用这些标准,现在结合管理壳来使用的话,会比较复杂和辛苦。许多的概念,术语,数据规范需要构建相应的字典数据库。这是一项非常巨大的工程。达成共识,被厂商认可更难。笔者的看法是尽可能地简化,实现AAS模型的子集,必要的数据规范可以做出嵌入式数据规范。当AAS技术普及时再制定相关的标准。

分层结构

        工业4.0 管理壳(下面简称AAS)信息模型不完全是分层结构的模型。对象之间有交叉的引用,并且还有通过标识符(ID) 引用。但是,我们仍然可以使用分层结构来构建管理壳模型。应为分层结构能够方便地使用图形化设计方式。交叉引用可以使用额外的参数配置。

         每个管理壳由多个子管理壳组成,每个子管理壳内部包含了多个子管理壳单元。

5.4 标识(Identifiers)

        在智能制造领域中,不同的单元需要有一个唯一的标识(unique identification),正因为如此,标识(Identifiers)是形式化描述管理壳的基本单元。至少下面这些单元需要标识:

  • 资产管理壳
  • 资产
  • 子模型实例和模板
  • 在外部仓库中的属性定义和概念描述(ECLASS 或者 IEC CDD)

标识的作用

  • 在管理壳中唯一地区分各个子单元
  • 让单元与外部定义和模板

          例如子模型模板,属性定义。让管理壳的数据和功能单元注入语义。

标识的类型

IRDI - ISO29002-5, ISO IEC 6523 和 ISO IEC 11179-6

IRI – IRI (Rfc 39871 ) 或者遵循 RFC 39862的URI 和 URL 

专用 - 内部专用标识 UUIDs/GUIDs

5.7 元模型

        在该文中,管理壳信息模型是使用UML图形方式和模板方式描述的。在第8 章才讲述了如何将AAS 的内容打成一个AAS 包(AASX Package) 。在工程设计过程中,人们通过AASX Package 来交换工程文件,AASX 包是一个压缩包。关于UML 模板的介绍在附录C。

例如:UML 图形

 模板

 公共属性

在AAS 建模过程中,使用一些公共的特征。它们包括:

Extensions (HasExtensions)

可引用属性(Referable)

     元模型使用两个属性来区分不同的单元(Referable和identifiable) Referable是通过idshort 来引用,而identifiable通过标识符来区分。

可标识属性(identifiable)

模板或者实例属性(HasKind)

一个枚举类型。

管理信息属性(Administrative Information Attributes)

语义id 属性(HasSemantics)

指向一个语义定义的ID

限定属性(Qualifier Attributes)

限定属性,例如液位值,增加最大最小值

数据规范(HasDataSpecification

    一个元素可以通过数据规范来扩展,所谓数据规范模板就是一组额外的特征,比如单位,符号等等。

       

 管理壳

特征

从何导出(derivedFrom

       包括一个Identable,或者包含一个数据规范

资产信息

子模型

由此可见,子模型主要由子模型单元构成。 

子模型单元属性(submodelElement Attribute)

大约有9种子类型单元,数据单元又分为6种。如下图所示:

公共属性

数据单元值,比如字符串。

           每一个子模型单元都有一个语义定义((semanticId)它可以是指向一个外部的语义定义(ECLASS 或者IEC CDD 特征定义),也可以引用指向概念描述(ConceptDescription),我看到的例子中,将概念描述放置在一个子模型中。

数据单元(DataElement)

特征(Property)

是一种数据单元,包含了简单数据类型。

多语言特征(MultiLanguageProperty)

value 特征实例的值,这类特征应该是字符串类型的。数据类型LangStringSet。

valueId 指向唯一ID 的引用。

区间值(Range)

  指定了一个值的范围,即取值的最小值和最大值。包含了三个属性        

文件(AASFileType)

包含了两个属性

        Value -为文件的名称和路径

        contentType-文件内容类型 可以是扩展名

可以可选的属性:FileType 对象

操作(Operation)

       该子模型单元封装了一个OPC UA 的Method。还可以包括一个指向概念描述的引用。

语义定义

相比于其它的信息模型,在AAS 模型中更加重视语义的定义。

管理壳模型的描述方式

在这篇文章中,采用了中性的方法(UML) 来描述AAS 模型。在实际应用中,不同的阶段会将AAS模型转换成为某一种信息模型。例如AutomationML,JSON和OPC UA 。

  •   工程设计阶段使用AutomationML
  •    系统运营阶段使用OPC UA
  •    与IT 系统接口时使用JSON

在AASX Package Explore 软件中,能够Export AML ,JSON 和OPCUA 的文本格式。

OPC 30270  -管理壳OPCUA 模型

       OPC UA  于2021 年6月份提出了《OPC 30270: Industry 4.0 Asset Administration Shell》。使用OPC UA 信息模型完全能够描述AAS 元模型。

    在AAS 的规范中,使用UAObject ,UAVariable,UAMethod 和Reference 来描述AAS 的元模型。需要注意的是:

1 AAS 中的某些Reference 类型,需要使用OPCUA 的Object 建模

2 AAS 中的某些属性使用OPC UA 中的结构化数据类型来描述。(也就是说,Variable 中可能包含结构数据单元。

AAS 元模型的图形化建模和模板

这是笔者做的一些工作。

按照IDTA 的建议,AASX 模型建模的方法大致是:

          使用AASX Package Explore 软件来构建AASX 模型。然后导出AML ,OPC UA 的模型文本。在其它软件中使用该模型。但是事情好像并不简单,比如导出的OPC UA 模型进一步导入到OPC UA 服务器平台上,与其它软件结合时,仍然有很大的编程的工作量。我们正在寻找一种基于图形和组件化的设计方法来构建AAS 的信息模型,并且能够与其它OPC UA 服务结合,比如IEC61499 运行时。

为了实现这个目标,我们做了如下工作:

在IDE 开发工具中,内部直接使用OPC UA 的Node模型 。

为AAS 元模型建立了基于OPCUA 的模板。模板与模型的差别是,模板是基于分层结构的。AAS ,SubModel ,SubModel 和SubModelElement 都是嵌套的。模板中包含了嵌入式子模型的模板。这种模板便于在OPC UA 服务器中实现实例化与部署。

下面是一个例子:

<Model Type="AASPropertyType">
<UAObject BrowseName="AASPropertyType" DisplayName="AASPropertyType" Type="AASPropertyType" Reference="HasComponent">
<UAVariable  BrowseName="Value" DisplayName="Value" Type="PropertyType" DataType="BaseDataType" Reference="HasProperty">
        <Value>0</Value> 
</UAVariable>
<UAVariable BrowseName="ValueType" DisplayName="ValueType" Type="PropertyType" DataType="AASValueTypeDataType" Reference="HasProperty">
        <Value>Int32</Value>
</UAVariable>
<UAObject BrowseName="ValueId" DisplayName="ValueId" Type="AASReferenceType" Reference="HasComponenet">
            <UAVariable BrowseName="Keys" DisplayName="Keys" Type="PropertyType"  DataType="AASKeyDataType[]" Reference="HasComponent">
                <UAVariable BrowseName="AASKeyDataType" DisplayName="AASKeyDataType"  Type="AASKeyDataType"  DataType="Structure" Reference="HasComponent"> 
                    <UAVariable BrowseName="Local" DisplayName="Local" Type="Local"   DataType="Bool" Reference="HasComponent"></UAVariable>
                    <UAVariable BrowseName="Value" DisplayName="Value" Type="Value"   DataType="String" Reference="HasComponent"></UAVariable>
                </UAVariable>
            </UAVariable>
            <References>
            <Reference Type="AASReference"></Reference>
            <Reference Type="HasDictionaryEntry"></Reference>
            </References>
</UAObject>
</UAObject>
</Model>

以上是关于工业4.0 资产管理壳学习笔记( 6)-管理壳细节的主要内容,如果未能解决你的问题,请参考以下文章

工业4.0 资产管理壳学习笔记

工业4.0 资产管理壳学习笔记

工业4.0 资产管理壳学习笔记( 4) OPCUA 构建资产管理壳

工业4.0 资产管理壳学习笔记( 4) OPCUA 构建资产管理壳

工业4.0 管理壳学习笔记-应用场景与架构

工业4.0 资产管理壳学习笔记-应用场景与架构