AML学习

  • AML简介
    • 概念
    • AML架构图
      • 工厂拓扑信息建模Modelling of plant topology information
  • AML术语
  • AML 关系规范
    • Class-instance-relations
    • Instance-instance-relations
  • AML文档引用规范(AML document reference specification)
  • AML base libraries(AML基础库)
    • AML interface class library - AutomationMLInterfaceClassLib
    • AML Role class library - AutomationMLBaseRoleClassLib
    • AML basic attribute type library - AutomationMLAttributeTypeLib
  • Modelling of user-defined data
    • User-defined AttributeTypes
    • User-defined interfaceClasses
    • User-defined RoleClasses
    • User-defined SystemUnitClasses
    • User-defined InstanceHierarchies
  • extended AML concepts扩展的AML概念
    • AML Port interface
    • AML Facet object
    • AML group object
    • Combination of the group and facet concept
    • Modelling of structured attribute lists or arrays(结构化属性列表或数组的建模)
    • Modelling of relations(关系建模)

AML简介

概念

AML(Automation Markup Language),是一种用于工厂工程数据的基于XML的数据交换格式。AML主要为了支持异构工程设备之间的数据交换,它的目标是交换不同领域如机械工程设计、电气设计、加工工程、过程控制工程、HMI、PLC编程、机器人编程等的数据互联。它可以应用于所有需要数据交换的工业领域,如离散工业或过程工业。

AML以面向对象的方式进行信息存储,允许对物理或者逻辑工厂元素作为数据对象,可对对工厂拓扑进行数据建模,在工厂拓扑中按照工厂、单元、组件、特性以及引用等进行分层设计,其中数据对象可以嵌套子对象。在工厂自动化领域的典型对象有:拓扑逻辑、几何模型、动力学与逻辑等,逻辑包括顺序、行为以及控制。

AML的核心是顶层数据格式CAEX(Computer aided engineering eXchange)。CAEX主要用于互联不同的数据格式。
CAEX(Computer aided engineering exChange),是一种中性的数据格式,依据IEC 62424:2016,它相互连接已经发布的拓扑,几何,运动学等工程方面的数据格式 。

AML架构图


COLLADA: Collaborative design activity
由于AML有多个方面因素需要考虑,因此IEC 62714标准系列针对不同的方面进行阐述:

  1. IEC 62714-1:架构以及基础要求
  2. IEC 62714-2:角色类库
  3. IEC 62714-3:几何与动力学
  4. IEC 62714-4:逻辑

Geometry and kinematics information(几何与运动学信息):
通过COLLADA数据格式进行存储。
通过COLLADA,不同对象与复杂场景的几何信息能够进行自动派生,这些文档能够referenced from CAEX,且能够通过interlink进行连接

Logic information(逻辑信息):
逻辑信息存储在PLCopen XML数据格式中。如果逻辑单元,如变量或者信号需要与top level format进行交互,则它们需要发布为CAEX externalInterfaces。 所有PLCopen XML的名目都应该有在PLCopen XML中有一个单独其ID。
逻辑信息描述了动作的顺序以及内部对象的行为如IO连接以及逻辑变量

工厂拓扑信息建模Modelling of plant topology information

在AML中,实际工厂元素(如CNC机床、机器人、AGV、PLC程序等)建模成数据对象,数据对象封装了多方面的工程信息。为此,有必要构造数据对象。建立此类数据对象的一种既定方法是对象层次结构,即工厂拓扑。为了存储工厂层次结构,AML使用了提供的高级数据格式CAEX。

工厂拓扑信息:它是工厂工程信息的顶层数据结构,能够通过CAEX的数据格式进行建模。

一个AML对象与其它的AML对象有关联即称为Mirror object,其关联的对象称为master object,the mirror object is considered to be identical to the master object.这样可以将一个对象实例放置到不同的工厂层次结构中,从而可以对具有交叉结构的复杂对象网络进行建模

下图是一个制造生产线的拓扑逻辑。


SystemUnits and SystemUnitClassLib: SystemUnitClassLib是用来建模供应商提供的元素,AML不提供了任何SystemUnitClassLib或SystemUnitClass;
AttributeTypes and AttributeTypeLib: AttributeTypeLib是用来建模供应商提供的特定属性;
Instances and InstanceHierarchy:Instance hierarchies存储实际项目工程的拓扑逻辑,且是AML的核心。

对工厂拓扑进行建模的一个重要点就是物体标识。有很多种标识物体的方法独特的名字等。有一些设备允许在其生命周期中改变其标识符;

可以使用标准CAEX概念对多个层次结构、交叉结构和复杂对象网络进行建模。面向对象范例的效率的关键是包含预定义和经过验证的解决方案的库的可用性

AML术语

  1. automation object 自动化对象
    自动化系统中物理或者逻辑实体,e.g.自动化对象可以是一个自动化元件,一个控制阀或者一个信号。

  2. AML object,AML对象
    具有一个或多个AML角色类相关的CAEX RoleRequirements的自动化对象的数据表示
    AML对象是AML的核心元素,它代表了实例对象,可能包含管理项目,属性,接口,关系以及引用。

  3. AML Class,AML类
    预定义了AML对象类型,AML system unit class, AML interface class, AML Role class或者 AML attribute类型;

AML类存储在AML libraries中,AML类的类型为SystemUnitClass、InterfaceClass、RoleClass或者AttributeType
AML classes定义了可重复使用的样本解决方案,有属性、接口以及聚合对象
AML classes可以进行多重实例化对象*
AMLclasses可以是用户自定义或者标准的AML 类

  1. AML attribute,AML属性

    CAEX属性术语AML对象,而且与AML类或AML AttributeType中定义的属性有关;

  2. AML document,AML文档

  • AML文档可以存储为文件,同样可以存储为stirng或者data streams
  • AML文档可以包含AML对象以及用户自定义对象
  • AML文档可以包含多文件,使用AML CAEX文件作为其根文件
  1. AML interface, AML接口
    与AML接口类相关的单个连接点。接口用于定义所有对象之间的关系(Interfaces serve for the definition of relations between AML objects).
    接口允许使用InternalLinks来描述对象之间的关系,如信号接口、设备接口或者电源接口

7.AML library, AML 库
AML库包含AML类

8.AML Port, AML端口
AML interface与标准的AML接口类Port有直接或者间接的联系,允许指定嵌套接口。
Port术语AML父对象, 描述了父对象的复杂接口,Port可以与任何其他的对象进行连接,包括比父对象层次更高的对象

9.AML Group, AML组
提供了另外一种视角区去看待AML对象

10.AML Facet

11.copy-instance-relation
实例与通过复制类数据结构创建实例的相应类之间的关系。
实例拷贝一份源AML类的属性,AML类的改变并不会引起其实例对象的改变,在实例对象中,类属性都是独立的

  1. Inheritance relation, 继承关系
    主要指AML类之间的关系,派生类继承了父类所有的属性

13.topology, 拓扑
系统的层次关系,通过对象树来显示

AML 关系规范

Class-instance-relations

实例具有唯一地标识符和参数集,其遵循的准则如下:

  1. AML对象可以建模为CAEX InternalElement作为CAEX InstanceHierarchy(层级结构)或者 CAEX SystemUnitClass的一部分。
  2. AML对象可以与任何SystemUnitClass没关系;
  3. 任何AML对象都需要指定一个AML role Class;实例与AutomationMLBaseRole没有任何关系是可以的,不过它们是用户自定义对象,它们并非AML 对象

Instance-instance-relations

实例与实例之间的关系是指任意两个AML对象的接口之间的关系。其遵循的准则如下:

  1. ExternalInterfaces应该直接或者间接继承与AML标准interface class;
  2. COLLADA文档可以建立内部联系(interlinked)。相关的COLLADA接口可能是含有有效URI的任意items。
  3. PLCopen XML文档可以通过相关PLCopen XML接口进行内部链接。

AML文档引用规范(AML document reference specification)

文档引用可以用于一个AML对象与一个外部文档(可能包含几何、动力学或者顺序信息)之间的链接。引用机制是基于标准的AML接口“ExternalDataConnector”或者其派生类。

  1. Referencing COLLADA 文档
    可以使用“COLLADAInterface”或者其子类实现;
  2. Referencing PLCopen XML 文档
    可以使用“PLCopenXMLInterface”或者其子类实现;

AML base libraries(AML基础库)

使用AML基础库来建模AML概念。所有描述的属性如果不需要,则可以在实例化后进行移除;
  1. 所有AML对象都直接或者间接关联“AutomationMLBaseRole”;
  2. 所有AML接口都直接或者间接关联“AutomationMLBaseInterface”;

AML interface class library - AutomationMLInterfaceClassLib

AML Role class library - AutomationMLBaseRoleClassLib

角色是描述一个抽象功能而不是定义底层技术实现的类
角色可以通过CAEX的SupportedRoleClass(es)与SystemUnitClass来建立联系。它表示能够支持参考角色,可以支持多个SupportedRoleClasses,映射对象建立了role属性与接口以及SystemUnitClass属性与接口之间的联系。一旦SystemUnitClass实例化,相关的internalElement拥有其信息。然而,并不是指实例实际扮演着所有角色。
roleClasses用于定义元素的抽象特征,从而实现对用户定义的SystemUnitClasses或InternalElement的自动语义解释 。有点不太懂

AML basic attribute type library - AutomationMLAttributeTypeLib

Modelling of user-defined data

AML概念的核心是用户自定义的数据,用户自定义的数据是指CAEX SystemUnitClasses, CAEX attributeTypes,CAEX InterfaceClasses和CAEX RoleClasses。

为了交换用户自定义的数据,因此,可能需要不属于IEC 62714的用户特定协议和功能 。

User-defined AttributeTypes


User-defined interfaceClasses

为了确保用户定义的接口类的语义具有算法可解释性,用户自定义的接口都需要从标准的Interface class派生。

User-defined RoleClasses

所有用户自定义的RoleClass都应该从标准的Role Class中进行派生

User-defined SystemUnitClasses

IEC 62714并不指定SystemUnitClasses,所有所有的SystemUnitClasses均为用户自定义的
用户自定义的SystemUnitClasses应该指定一个role Class 并在适当的时候使用attributes
推荐给User-defined SystemUnitClasses指定Role Class\

User-defined InstanceHierarchies

CAEX实例层次结构用于存储个人和与项目相关的工程信息。它们构成AML顶级格式的中心,并包含所有单独的数据对象,包括属性,接口,关系和引用。

extended AML concepts扩展的AML概念

AML Port interface

AML接口是CAEX接口,允许指定复杂的接口,端口概念允许对复杂接口进行高级描述。可以理解为plugs或者sockets
AML接口应该直接或间接与interfaceClass Port相关联
端口可以更高的抽象级别上彼此连接,而不是链接每个单个接口?。AML port可以有效的描述plugs、sockets或者任何其他可以直接相互连接的接口组。

In addtion to this concept, AML allows modelling and storage of each individual link between the sub-interfaces.

AML Facet object

Facet是一个AML对象,它提供了有关父CAEX internalElement的属性或接口的子视图。该概念用于存储不同的组态设置,例如HMI或PLC相关数据,并允许多个控制工程步骤的自动化。AML方面允许存储AML对象的属性和接口的子集

  1. AML Facet会直接或间接关联到RoleClass ”Facet“;
  2. AML facet可以位于InstanceHierarchy或SystemUnitClass的任意位置,同时可以是InternalElement或SystemUnitClass的子对象;
  3. InternalElement或者SystemUnitClass可以有任意数量的facet object;
  4. AML Facet应该仅包含镜像属性或接口
    所描述的属性和接口的子组与某个工程方面有关,并且可以存储有关相应工程解决方案或模板的信息。考虑到,对象的属性中包含有PLC代码模板的名字以及接口描述了模板的输入与输出信号;因此,PLC代码生成算法(了解这些属性和接口的语义)可能会根据此生生PLC代码。

AML group object

AML组概念允许将结构信息与实例信息分开;AML Groups allow the storage of separate views on a subset of AML objects.


Combination of the group and facet concept

Modelling of structured attribute lists or arrays(结构化属性列表或数组的建模)

在许多应用中,存储列表是必须的,比如支持的频率列表。AML允许建模和存储属性列表或数组;

  1. 列表应该是同样的属性,data Type类型一样;
  2. 将列表建模为CAEX属性,该属性充当为列表的根节点;
  3. 如果列表为非有序列表,则应该引用为Attribute中的ListType;
  4. 如果列表为有序列表,则应该引用Attribute中的OrderedListType;
  5. AttributeDataType、Value、DefaultValue与Unit均应该为空;
  6. 所有的子属性均应该有通用的dataType

Modelling of relations(关系建模)

对对象建模需要定义机制以将这些对象彼此关联。还需要其他机制将这些对象与外部存储的数据链接起来。

  • 父类子类关系

    • AML 对象之间的父子关系
    • AML类之间的父子关系
  • 继承关系
  • SystemUnitClasses之间的继承关系
  • RoleClass之间的继承关系
  • InterfaceClasses之间的继承关系
  • AttributeTypes之间的继承关系
  • 类与实例关系
  • SystemUnitClass与其实例
  • RoleClass与其实例
  • InterfaceClass与其实例
  • AttributeType与其实例
  • 实例与实例之间的关系
  • AML对象之间的关系
  • relations between published externally stored data

附:
Automaion ML编辑器下载地址:https://www.automationml.org/o.red.c/dateien.html

由于作者水平有限,本文章中可能存在不足之处和错误,敬请广大读者指正。
---------- 作者 2021.02.18

AML(Automation Markup Language)简单介绍相关推荐

  1. html中css路径和xpath路径,6.1 HTML的简单介绍和快速获取XPath和CSS路径

    Web UI 自动化其实就是在页面元素,所以在真正进入页面元素操作之前,我们先认识下我们后面会用到的一些HTML相关知识. HTML的简单介绍 什么是HTML HTML(Hyper Text Mark ...

  2. html 源码_HTML从零开始——简单介绍

    HTML 是网页使用的语言,定义了网页的结构和内容.浏览器访问网站,其实就是从服务器下载 HTML 代码,然后渲染出网页. HTML 的全名是"超文本标记语言"(HyperText ...

  3. 第一次预习作业(html,css,js简单介绍,HTML常用标签)

    目录 一.HTML,CSS,JS,简单介绍 1.HTML 2.CSS 3.JS 二.HTML常用标签 一.HTML,CSS,JS,简单介绍 1.HTML HTML 是用来描述网页的一种语言. HTML ...

  4. HTML-HyperText Markup Language

    一个例子 <!DOCTYPE html> 声明为 HTML5 文档 doctype 声明是不区分大小写的 <html> 元素是 HTML 页面的根元素 <head> ...

  5. xml、json、url的一些简单介绍

    一:XML 和 JSON 的简单介绍 xml 和 json 都是程序和程序之间传送和交流数据的方式. 都是独立于 各种编程语言 而存在的. 早些时间 xml 用的非常多,后来 json 出现了,jso ...

  6. SqlServer微软数据库简单介绍

    1.SqlServer基本介绍 sql SQL是英文Structured Query Language的缩写,意思为结构化查询语言.SQL语言的主要功能就是同各种数据库建立联系,进行沟通. 按照ANS ...

  7. html,css,js简单介绍,html常用标签

    目录 简单介绍 HTML常用标签 1.html骨架标签 2.标题标签 3.段落标签 4.换行标签 5.文本格式化标签 6.div标签,span标签和pre标签 7.图像标签 8.超链接标签 9.注释标 ...

  8. HTML简单介绍及举例

    超文本标记语言(Hyper Text Markup Language,简称HTML)是为"网页创建和其他可在网页浏览器中看到的信息"设计的一种标记语言.HTML被用来结构化信息,也 ...

  9. JavaScript词法作用域的简单介绍

    by Michael McMillan 迈克尔·麦克米兰(Michael McMillan) JavaScript词法作用域的简单介绍 (An easy intro to Lexical Scopin ...

最新文章

  1. 鳗鱼劈断后下半身还能运动,机器人:拿来吧你丨Science子刊封面
  2. 在java中将数据信息写入本地文本(1)
  3. Nacos客户端配置
  4. (四)Trigger
  5. 一些常用的字符串方法
  6. spring boot项目Intellij 打包
  7. Java API —— ArrayList类 Vector类 LinkList类
  8. Chrome查看Android的systrace抓取的log
  9. 洛谷P4867 Gty的二逼妹子序列(莫队+树状数组)
  10. 使用Dotfuscator混淆winphone8应用XAP
  11. 计算机主板型号尺寸,10大华硕主板型号简介,组装电脑的朋友可别错过
  12. 配置TURN服务器实现NAT穿透
  13. android oppo 驱动,OPPO R9驱动安装不了怎么办 OPPO R9驱动安装不了的解决方法
  14. 10天精读掌握:计算机组成与设计COAD:Patterson and Hennessy 第7天 2018/11.1
  15. 图像处理——特征检测涉及到的数据结构和匹配方法
  16. Attention机制介绍(原理+代码)
  17. 微软WHQL认证的好处
  18. 共模电感的原理、作用和使用示例
  19. CRC-16/MODBUS的高低位之说
  20. 计算机考试感受作文,关于考试感受作文5篇

热门文章

  1. web进销存源码-Java进销存ERP软件系统源码定制多仓库多门店 + 小程序 Saas多商户
  2. 论文阅读笔记--Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers
  3. redis windows版下载教程,及双系统百度网盘资源分享
  4. Cannot resolve module 'fs'
  5. [转]AP,mAP计算
  6. 商务智能-系统概述-商务智能作用
  7. opencv.js 4点透视变换
  8. 国信证券学习系列(3)
  9. LabVIEW中VI的运行和调试
  10. 罗马数字背后的秘密——LeetCode XII XIII 题记