2.3.1 概述 Overview
AutomationML在 "as-is 原样 "的基础上采用了CAEX,包括CAEX模式和CAEX标准的修改规则。这意味着CAEX对象模型和AutomationML对象模型之间在语法上没有区别。每个AutomationML对象都是一个CAEX对象模型–但反之亦然。AutomationML第二版定义了一小部分额外的通用建模规则;AutomationML的大部分定义都在AutomationML库和最佳实践建议中。
在CAEX 3.0基础上的主要通用建模规则是。
- AutomationML细化了一般的建模规则,以便对对象进行更严格的识别(见第2.3.2节)。
- AutomationML定义了关于所选文件格式的必要版本的规则(见第2.3.3节)。
- AutomationML定义了引用外部文件的参考机制(见第2.5节)。
- AutomationML提供了一系列的AutomationML标准库(见第2.4节)。
- AutomationML定义了对列表、数组、多语言属性和正则表达式进行建模的机制,用于对端口、面、组和外部文件等特殊方面进行建模(见2.6)。
- AutomationML定义了一种容器格式,允许将多个文件捆绑到一个容器文件中(见2.6.9节)。
基于这些规则,AML协会为工业中的不同应用制定了一系列的建模建议。
2.3.2 附加的一般建模规则 Additional general modelling rules
下面的AutomationML规则是在CAEX定义的基础上定义的:
- 与CAEX对象相比,一个AML对象必须直接或间接地分配给一个标准的AML角色类,以便指定其语义。在AML的范围内,一个没有引用AML标准角色类的CAEX对象被命名为用户定义的对象,而不是AML对象。
- 用户定义的对象或类应该被分配到一个角色类,并且必须在适用时使用AML标准属性。然而,用户定义的对象或类可以被分配到一个标准的AML角色类,一个用户定义的角色类,或没有角色类。在这种情况下,这些用户定义的对象不是AML对象,是在AutomationML标准之外定义的。
- 实例(InternalElements或ExternalInterfaces)的识别与CAEX相比有更多的限制:AML第二版建议根据RFC4122通过GUIDS的方式进行识别。对于两个标识符的比较,它被定义为允许使用大括号、小括号、破折号或空格,但不相关。下面的GUID例子是相同的。
- 48d23207-09e0-4104-82fb-344007d2b7f5
- { 48d23207-09e0-4104-82fb-344007d2b7f5 }
- 如果需要属性单位,用户定义的属性必须基于相同的单位系统。AutomationML没有定义一个单位系统,但建议根据ISO 80000-1使用SI单位。对于有关信息技术的单位,建议使用IEC 60027.
2.3.3 附加的AutomationML版本管理规则 Additional AutomationML versioning rules
在第2.2.14节描述的CAEX版本管理规则的基础上,AML定义了进一步的规则。
2.3.3.1 AutomationML版本
在对库、类、实例和属性的版本信息的所有细节进行建模后,整个AutomationML文档本身必须符合其AutomationML版本。AutomationML是一个可能随时间发展的标准,本书根据2018年的[IEC 62714:Ed2],与AutomationML第二版有关。因此,重要的是,每个AML文件可以识别它所服从的AutomationML版本。
AutomationML标准结合了一个特定版本的既定数据格式。这一规则在IEC 62714中规定(见条款0)。该版本信息对AutomationML的可持续长期应用很有意义,有助于区分AutomationML Ed. 2文件与早期或未来版本的区别。该建模规则为:
- AML文件的创建者必须确保只引用版本兼容的类和外部文件。将AutomationML Ed. 2与其他AML版本的混合是不允许的。一个AML文件的所有文件必须遵循给定的AML版本。
2.3.3.2 SuperiorStandardVersion
CAEX是一个独立的标准,AML集成了CAEX。因此,AML作为高级标准。CAEX也可以被其他标准采用。关于CAEX 3.0在AML Ed.2领域的应用。因此,每个CAEX文件必须明确指出自己属于AML Ed. 2,从而确认它遵循AML Ed.2的规则。2. 建模规则是:
- 将CAEX元素SuperiorStandardVersion的值设置为 “AutomationML 2.10”。
图2-65说明了AML Ed. 2兼容的CAEX文件的版本信息。该信息是强制性的。