本文是“资产管理壳细节 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)-管理壳细节相关推荐

  1. 工业4.0 资产管理壳学习笔记(1)

    何谓资产? 工业4.0的观点下,资产是任何"对组织具有价值的对象(object which has a value for an organization)".因此,工业4.0中的 ...

  2. 2017-2-15从0开始前端学习笔记(HTML)-图片-表格-表单

    2017-2-15从0开始前端学习笔记-图片-表格-表单 标签 图片 图片<img src="#" alt="文本说明 不能加载图片时显示" title= ...

  3. 【C#8.0 and .NET Core 3.0 高级编程学习笔记】

    @C#8.0 and .NET Core 3.0 高级编程学习笔记 前言 为了能精细地完成对C#语言的学习,我决定选择一本书,精读它,理解它,记录它.我想选择什么书并不是最重要的,最重要的是持之以恒的 ...

  4. ISUP5.0语音对讲学习笔记

    ISUP5.0语音对讲学习笔记 文章目录 ISUP5.0语音对讲学习笔记 准备阶段 CMS初始化 SMS初始化 CMS监听 CMS注册事件回调 SMS语音对讲监听 工作阶段 发送对讲命令 发送推流命令 ...

  5. 英宝通Unity4.0公开课学习笔记Vol.0

    英宝通Unity4.0公开课学习笔记 公开课地址 学习笔记目录 公开课地址 公开课地址:游戏蛮牛网. 源码素材:游戏蛮牛网. 公开课在官网上刷新不出来,只能去B站上找资源了.视频链接:哔哩哔哩. Un ...

  6. ET6.0服务器框架学习笔记(二、一条登录协议)

    ET6.0服务器框架学习笔记(二.一条登录协议) 上一篇主要记录ET6.0的服务器启动功能,本篇主要记录ET6.0完整的一条协议,从配置到生成协议数据,到从客户端发送给服务端,再发送回客户端的流程 文 ...

  7. Linux内存从0到1学习笔记(4,TLB)

    一.TLB简介 Kernel初始化的时候,会在初始化内存中创建页表:而处理器读取指令和数据的时候需要首先通过MMU查表得到物理地址,然后在访问物理地址读取指令或数据.MMU查表过程汇中需要4次访问内存 ...

  8. spring学习笔记02-spring-bean创建的细节问题

    spring学习笔记02-spring-bean创建的细节问题 三种创建Bean对象的方式 Bean的作用范围 Bean的生命周期 <?xml version="1.0" e ...

  9. 深度强化学习笔记之PPO实现细节(2)

    深度强化学习笔记之PPO实现细节(2) 本文主要参考于Coding PPO from Scratch with PyTorch系列,但本文并不会像该系列一样手把手讲解全部的实现细节,只是记录一下自己在 ...

最新文章

  1. Worktile旗下智能化研发管理工具PingCode 宣布25人以下免费
  2. 使用 JavaScript 上传 PDF 和 Excel 等二进制文件到 ABAP 服务器并进行解析
  3. 海信新机F30S即将发布:搭载紫光展锐虎贲T310处理器
  4. 女生学计算机专业报考浙大,2021浙大适合女生的最好的专业
  5. 李开复:垂直搜索违背了搜索引擎的发展初衷
  6. 拓端tecdat|【视频】R语言生存分析原理与晚期肺癌患者分析案例|数据分享
  7. 如何卸载删除sql2005
  8. 某个蝰蛇音效的卡刷包代码分析
  9. 计算机硬件软件基础知识(小白)
  10. 【PTA】7-9 句子首字母变大写(python)
  11. 常规的几个API接口(也包括比价)
  12. 为什么智能手机中被撕的永远是华为!
  13. oracle的并行原理
  14. mybatis的switch标签
  15. 零基础学UI设计能够学会吗?
  16. win7桌面的计算机在哪里设置密码,win7如何添加屏幕保护密码|win7设置屏幕保护密码的方法...
  17. win7计算机右键属性无法打开,win7计算机右键属性打不开怎么办
  18. LWIP学习笔记(1)---LWIP简介
  19. 电大学位计算机考试题库,国家开放大学电大学位英语考试试题题库及答案
  20. TS协议解析第一部分(PAT)

热门文章

  1. 疯狂Java讲义_Chapter4_编写控制台的五子棋游戏
  2. 用fluent模拟内循环床气化燃烧(调试过程记录)
  3. 六种常见的「用户行为」分析方法
  4. Ubuntu+Pytorch开发入门整理——环境搭建
  5. 笔记整理,欢迎参观指导 ****补完****
  6. 如何让学习变得有效率
  7. (附源码)springboot手工diy网站 毕业设计 310226
  8. mysql zabbix优化_zabbix性能优化中的几个中肯建议(104)
  9. 霍克HAWKER合力牵引车电池D-400 合力48V400Ah电动牵引叉车蓄电池
  10. flexible.js在华某为手机上使用rem时,页面宽度超出手机屏幕宽度