Figure 30 shows the AAS data types which are directly derived from OPC UA data types enumeration and string. The details are defined in the following sub-sections of this chapter.
Figure 30 – Primitive AAS data types
Table 67 defines the AASIdentifierType data type.
Table 67 – AASIdentifierTypeDataType Definition
Name |
Value |
Description |
IRDI |
0 |
IRDI according to ISO29002-5 as an Identifier scheme for properties and classifications |
IRI |
1 |
Internationalized Resource Identifier according to RFC3305 |
Custom |
2 |
Custom identifiers like GUIDs (globally unique Identifiers) |
Table 68 defines the AASModelingKindDataType data type.
Table 68 – AASModelingKindDataType enum value Definition
Name |
Value |
Description |
Template |
0 |
Hardware or software element which specifies the common attributes shared by all instances of the type [SOURCE: IEC TR 62390:2005-01, 3.1.25] |
Instance |
1 |
Concrete, clearly identifiable component of a certain template.
Note: It becomes an individual entity of a template, for example a device model, by defining specific property values. Note: In an object oriented view, an instance denotes an object of a template (class).
[SOURCE: IEC 62890:2016, 3.1.16 65/617/CDV] modified |
Table 69 defines the AASAssetKindDataType data type.
Table 69 – AASAssetKindDataType enum value Definition
Name |
Value |
Description |
Type |
0 |
Hardware or software element which specifies the common attributes shared by all instances of the type [SOURCE: IEC TR 62390:2005-01, 3.1.25] |
Instance |
1 |
Concrete, clearly identifiable component of a certain type
Note: It becomes an individual entity of a type, for example a device, by defining specific property values. Note: In an object-oriented view, an instance denotes an object of a class (of a type).
[SOURCE: IEC 62890:2016, 3.1.16 65/617/CDV] |
The AAS metamodel knows different ways of referencing which have to be specified in the “Keys” variable used in the AASReferenceType (6.3). The “Keys” Variable is of the data type AASKeyDataType which is a structure defined in Table 70. It indicates to which type of AAS element it is referring to (AASKeyElementDataType - Table 71), if the reference refers to a local or remote element (Local), the type of the identifier of the referred element and the identifier value. The IdType is of data type AASKeyTypeDataType (Table 72).
The AASKeyDataType is defined in Table 70.
Name |
Type |
Description |
AASKeyDataType |
Structure |
This structure represents an AAS key. |
Type |
AASKeyElementsDataType |
Type of element which is referenced |
Local |
Boolean |
Indicates if target of reference is within own AAS (=true) or outside (=false) |
Value |
String |
Key to identify the target of reference |
IdType |
AASKeyTypeDataType |
Kind of identifier (Value) |
The AASKeyElementsDataType is defined in Table 71.
Table 71 – AASKeyElementsDataType enum value Definition
Name |
Value |
Description |
AccessPermissionRule |
0 |
"AccessPermissionRule" |
AnnotatedRelationshipElement |
1 |
“AnnotatedRelationshipElement” |
Asset |
2 |
"Asset" |
AssetAdministrationShell |
3 |
"AssetAdministrationShell" |
Blob |
4 |
"Blob" |
Capability |
5 |
“Capability” |
ConceptDescription |
6 |
"ConceptDescription" |
ConceptDictionary |
7 |
"ConceptDictionary" |
DataElement |
8 |
"DataElement" |
Entity |
9 |
“Entity” |
Event |
10 |
"Event" |
File |
11 |
"File" |
FragmentReference |
12 |
“FragmentReference” |
GlobalReference |
13 |
"GlobalReference" |
MultiLanguageProperty |
14 |
“MultiLanguageProperty” |
Operation |
15 |
"Operation" |
Property |
16 |
"Property" |
Range |
17 |
“Range” |
ReferenceElement |
18 |
"ReferenceElement" |
RelationshipElement |
19 |
"RelationshipElement" |
Submodel |
20 |
"Submodel" |
SubmodelElement |
21 |
"SubmodelElement" |
SubmodelElementCollection |
22 |
"SubmodelElementCollection" |
View |
23 |
"View" |
The AASKeyTypeDataType is defined in Table 72.
Name |
Value |
Description |
IdShort |
0 |
Identification of the element itself. Provides a unique identification for a possible event flow scheduling. |
FragmentId |
1 |
Identifier of a fragment within a file |
Custom |
2 |
Identifier is customer specific |
IRDI |
3 |
International Registration Data Identifier) is based on the international standards ISO/IEC 11179-6, ISO 29002 and ISO 6532 |
IRI |
4 |
Internationalized Resource Identifier (IRI) is the international format of Uniform Resource Identifier (URI). It is defined in RFC 3987. |
The CategoryDataType is defined in Table 73.
Table 73 – AASCategoryDataType enum Definition
Name |
Value |
Description |
CONSTANT |
0 |
Values does not change over time |
PARAMETER |
1 |
Typically once value is set, it will not change over time |
VARIABLE |
2 |
Value is calculated or changed during runtime |
RELATIONSHIP |
3 |
Relationship |
The AASValueTypeDataType is defined in Table 74.
Table 74 – AASValueTypeDataType enum Definition
Name |
Value |
Description |
Boolean |
0 |
A two-state logical value (true or false). |
SByte |
1 |
An integer value between -128 and 127. |
Byte |
2 |
An integer value between 0 and 255. |
Int16 |
3 |
An integer value between -32 768 and 32 767. |
UInt16 |
4 |
An integer value between 0 and 65 535. |
Int32 |
5 |
An integer value between -2 147 483 648 and 2 147 483 647. |
UInt32 |
6 |
An integer value between 0 and 4 294 967 295. |
Int64 |
7 |
An integer value between -9 223 372 036 854 775 808 and 9 223 372 036 854 775 807. |
UInt64 |
8 |
An integer value between 0 and 18 446 744 073 709 551 615. |
Float |
9 |
An IEEE single precision (32 bit) floating point value. |
Double |
10 |
An IEEE double precision (64 bit) floating point value. |
String |
11 |
A sequence of Unicode characters. Strings are just an array of UA_Byte. |
DateTime |
12 |
An instance in time. A DateTime value is encoded as a 64-bit signed integer which represents the number of 100 nanosecond intervals since January 1, 1601 (UTC). |
ByteString |
13 |
A sequence of octets. |
LocalizedText |
14 |
Human readable text with an optional locale identifier. |
UtcTime |
15 |
A date/time value specified in Universal Coordinated Time (UTC). |
The AASPath data type is a sub type of string and defined in Table 75.
Table 75 – AASPathDataType Definition
Attribute |
Value |
|||||
BrowseName |
AASPathDataType |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
|
Subtype of String Type defined in OPC 10000-3 |
The enumeration of the AASMime is defined in Table 76.
Table 76 – AASMimeDataType Definition
Attribute |
Value |
|||||
BrowseName |
AASMimeDataType |
|||||
IsAbstract |
False |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
|
Subtype of String Type defined in OPC 10000-3 |
The AASEntityTypeDataType is defined in Table 77.
Table 77 – AASEntityTypeDataType Definition
Attribute |
Value |
||||||
BrowseName |
AASEntityTypeDataType |
||||||
IsAbstract |
False |
||||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
||
Subtype of Enumeration data type defined in OPC 10000-3 |
|||||||
0:HasProperty |
Variable |
0:EnumValues |
0:EnumValueType[] |
0:PropertyType |
|
The enumeration of the AASEntityType is defined in Table 78.
Table 78 – AASEntityTypeDataType Definition
Name |
Value |
Description |
CoManagedEntity |
0 |
Self-Managed Entities have their own AAS. This is why a reference to this asset is specified as well (Entity/asset). Additionally, further property statements (compare to [15]) can be added to the asset that are not specified in the AAS of the asset itself because they are specified in relation to the composite I4.0 Component only. |
SelfManagedEntity |
1 |
For co-managed entities there is no separate AAS. The relationships and property statements of such entities are managed within the AAS of the composite I4.0 Component. |
The AASDataTypeIEC61360DataType is defined in Table 79.
Table 79 – AASDataTypeIEC61360DataType Definition
Attribute |
Value |
||||||||||
BrowseName |
AASDataTypeIEC61360DataType |
||||||||||
IsAbstract |
False |
||||||||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
||||||
Subtype of Enumeration data type defined in OPC 10000-3 |
|||||||||||
0:HasProperty |
Variable |
0:EnumStrings |
0:LocalizedText [] |
0:PropertyType |
|
The enumeration of the AASDataTypeIEC61360 is defined in Table 80.
Table 80 – AASDataTypeIEC61360DataType Definition
Name |
Value |
Description |
BOOLEAN |
0 |
Date type according to IEC61360 |
DATE |
1 |
Date type according to IEC61360 |
RATIONAL |
2 |
Date type according to IEC61360 |
RATIONAL_MEASURE |
3 |
Date type according to IEC61360 |
REAL_COUNT |
4 |
Date type according to IEC61360 |
REAL_CURRENCY |
5 |
Date type according to IEC61360 |
REAL_MEASURE |
6 |
Date type according to IEC61360 |
STRING |
7 |
Date type according to IEC61360 |
STRING_TRANSLATABLE |
8 |
Date type according to IEC61360 |
TIME |
9 |
Date type according to IEC61360 |
TIME_STAMP |
10 |
Date type according to IEC61360 |
URL |
11 |
Date type according to IEC61360 |
INTEGER |
12 |
Date type according to IEC61360 |
INTEGER_COUNT |
13 |
Date type according to IEC61360 |
INTEGER_CURRENCY |
14 |
Date type according to IEC61360 |
The AASLevelTypeDataType is defined in Table 81.
Table 81 – AASLevelTypeDataType Definition
Attribute |
Value |
||||||||||
BrowseName |
AASLevelTypeDataType |
||||||||||
IsAbstract |
False |
||||||||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
||||||
Subtype of Enumeration data type defined in OPC 10000-3 |
|||||||||||
0:HasProperty |
Variable |
0:EnumValues |
0:EnumValueType[] |
0:PropertyType |
|
The enumeration of the AASLevelType is defined in Table 82.
Table 82 – AASLevelTypeDataType enum value Definition
Name |
Value |
Description |
Min |
0 |
Minimum |
Max |
1 |
Maximum |
Num |
2 |
Number |
Type |
3 |
Type |