工业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 资产管理壳学习笔记(1)
何谓资产? 工业4.0的观点下,资产是任何"对组织具有价值的对象(object which has a value for an organization)".因此,工业4.0中的 ...
- 2017-2-15从0开始前端学习笔记(HTML)-图片-表格-表单
2017-2-15从0开始前端学习笔记-图片-表格-表单 标签 图片 图片<img src="#" alt="文本说明 不能加载图片时显示" title= ...
- 【C#8.0 and .NET Core 3.0 高级编程学习笔记】
@C#8.0 and .NET Core 3.0 高级编程学习笔记 前言 为了能精细地完成对C#语言的学习,我决定选择一本书,精读它,理解它,记录它.我想选择什么书并不是最重要的,最重要的是持之以恒的 ...
- ISUP5.0语音对讲学习笔记
ISUP5.0语音对讲学习笔记 文章目录 ISUP5.0语音对讲学习笔记 准备阶段 CMS初始化 SMS初始化 CMS监听 CMS注册事件回调 SMS语音对讲监听 工作阶段 发送对讲命令 发送推流命令 ...
- 英宝通Unity4.0公开课学习笔记Vol.0
英宝通Unity4.0公开课学习笔记 公开课地址 学习笔记目录 公开课地址 公开课地址:游戏蛮牛网. 源码素材:游戏蛮牛网. 公开课在官网上刷新不出来,只能去B站上找资源了.视频链接:哔哩哔哩. Un ...
- ET6.0服务器框架学习笔记(二、一条登录协议)
ET6.0服务器框架学习笔记(二.一条登录协议) 上一篇主要记录ET6.0的服务器启动功能,本篇主要记录ET6.0完整的一条协议,从配置到生成协议数据,到从客户端发送给服务端,再发送回客户端的流程 文 ...
- Linux内存从0到1学习笔记(4,TLB)
一.TLB简介 Kernel初始化的时候,会在初始化内存中创建页表:而处理器读取指令和数据的时候需要首先通过MMU查表得到物理地址,然后在访问物理地址读取指令或数据.MMU查表过程汇中需要4次访问内存 ...
- spring学习笔记02-spring-bean创建的细节问题
spring学习笔记02-spring-bean创建的细节问题 三种创建Bean对象的方式 Bean的作用范围 Bean的生命周期 <?xml version="1.0" e ...
- 深度强化学习笔记之PPO实现细节(2)
深度强化学习笔记之PPO实现细节(2) 本文主要参考于Coding PPO from Scratch with PyTorch系列,但本文并不会像该系列一样手把手讲解全部的实现细节,只是记录一下自己在 ...
最新文章
- Worktile旗下智能化研发管理工具PingCode 宣布25人以下免费
- 使用 JavaScript 上传 PDF 和 Excel 等二进制文件到 ABAP 服务器并进行解析
- 海信新机F30S即将发布:搭载紫光展锐虎贲T310处理器
- 女生学计算机专业报考浙大,2021浙大适合女生的最好的专业
- 李开复:垂直搜索违背了搜索引擎的发展初衷
- 拓端tecdat|【视频】R语言生存分析原理与晚期肺癌患者分析案例|数据分享
- 如何卸载删除sql2005
- 某个蝰蛇音效的卡刷包代码分析
- 计算机硬件软件基础知识(小白)
- 【PTA】7-9 句子首字母变大写(python)
- 常规的几个API接口(也包括比价)
- 为什么智能手机中被撕的永远是华为!
- oracle的并行原理
- mybatis的switch标签
- 零基础学UI设计能够学会吗?
- win7桌面的计算机在哪里设置密码,win7如何添加屏幕保护密码|win7设置屏幕保护密码的方法...
- win7计算机右键属性无法打开,win7计算机右键属性打不开怎么办
- LWIP学习笔记(1)---LWIP简介
- 电大学位计算机考试题库,国家开放大学电大学位英语考试试题题库及答案
- TS协议解析第一部分(PAT)
热门文章
- 疯狂Java讲义_Chapter4_编写控制台的五子棋游戏
- 用fluent模拟内循环床气化燃烧(调试过程记录)
- 六种常见的「用户行为」分析方法
- Ubuntu+Pytorch开发入门整理——环境搭建
- 笔记整理,欢迎参观指导 ****补完****
- 如何让学习变得有效率
- (附源码)springboot手工diy网站 毕业设计 310226
- mysql zabbix优化_zabbix性能优化中的几个中肯建议(104)
- 霍克HAWKER合力牵引车电池D-400 合力48V400Ah电动牵引叉车蓄电池
- flexible.js在华某为手机上使用rem时,页面宽度超出手机屏幕宽度