7 OPC UA DataTypes

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

7.1 AASIdentifierTypeDataType enum value definition

Table 67 defines the AASIdentifierType data type.

Table 67 – AASIdentifierTypeDataType Definition
NameValueDescription
IRDI0IRDI according to ISO29002-5 as an Identifier scheme for properties and classifications
IRI1Internationalized Resource Identifier according to RFC3305
Custom2Custom identifiers like GUIDs (globally unique Identifiers)

7.2 AASModelingKindDataType

Table 68 defines the AASModelingKindDataType data type.

Table 68 – AASModelingKindDataType enum value Definition
NameValueDescription
Template0

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]

Instance1

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

7.3 AASAssetKindDataType

Table 69 defines the AASAssetKindDataType data type.

Table 69 – AASAssetKindDataType enum value Definition
NameValueDescription
Type0

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]

Instance1

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]

7.4 AASKey data types

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).

7.4.1 AASKeyDataType

The AASKeyDataType is defined in Table 70.

Table 70 – AASKeyDataType
NameTypeDescription
AASKeyDataTypeStructureThis structure represents an AAS key.

Type

AASKeyElementsDataTypeType of element which is referenced

Local

BooleanIndicates if target of reference is within own AAS (=true) or outside (=false)

Value

StringKey to identify the target of reference

IdType

AASKeyTypeDataTypeKind of identifier (Value)

7.4.2 AASKeyElementsDataType

The AASKeyElementsDataType is defined in Table 71.

Table 71 – AASKeyElementsDataType enum value Definition
NameValueDescription
AccessPermissionRule0"AccessPermissionRule"
AnnotatedRelationshipElement1 “AnnotatedRelationshipElement”
Asset2 "Asset"
AssetAdministrationShell3 "AssetAdministrationShell"
Blob4 "Blob"
Capability5 “Capability”
ConceptDescription6 "ConceptDescription"
ConceptDictionary7 "ConceptDictionary"
DataElement8 "DataElement"
Entity9 “Entity”
Event10 "Event"
File11 "File"
FragmentReference12 “FragmentReference”
GlobalReference13 "GlobalReference"
MultiLanguageProperty14 “MultiLanguageProperty”
Operation15 "Operation"
Property16 "Property"
Range17 “Range”
ReferenceElement18 "ReferenceElement"
RelationshipElement19 "RelationshipElement"
Submodel20 "Submodel"
SubmodelElement21 "SubmodelElement"
SubmodelElementCollection22 "SubmodelElementCollection"
View23 "View"

7.5 AASKeyTypeDataType

The AASKeyTypeDataType is defined in Table 72.

Table 72 – AASKeyTypeDataType
NameValueDescription
IdShort0Identification of the element itself. Provides a unique identification for a possible event flow scheduling.
FragmentId1Identifier of a fragment within a file
Custom2Identifier is customer specific
IRDI3International Registration Data Identifier) is based on the international standards ISO/IEC 11179-6, ISO 29002 and ISO 6532
IRI4Internationalized Resource Identifier (IRI) is the international format of Uniform Resource Identifier (URI). It is defined in RFC 3987.

7.6 AASCategoryDataType

The CategoryDataType is defined in Table 73.

Table 73 – AASCategoryDataType enum Definition
NameValueDescription
CONSTANT0Values does not change over time
PARAMETER1Typically once value is set, it will not change over time
VARIABLE2 Value is calculated or changed during runtime
RELATIONSHIP3 Relationship

7.7 AASValueTypeDataType

The AASValueTypeDataType is defined in Table 74.

Table 74 – AASValueTypeDataType enum Definition
NameValueDescription
Boolean0A 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 5An integer value between -2 147 483 648 and 2 147 483 647.
UInt32 6An integer value between 0 and 4 294 967 295.
Int64 7An integer value between -9 223 372 036 854 775 808 and 9 223 372 036 854 775 807.
UInt64 8An integer value between 0 and 18 446 744 073 709 551 615.
Float 9An IEEE single precision (32 bit) floating point value.
Double 10An IEEE double precision (64 bit) floating point value.
String11A sequence of Unicode characters. Strings are just an array of UA_Byte.
DateTime12An 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).
ByteString13A sequence of octets.
LocalizedText14Human readable text with an optional locale identifier.
UtcTime15A date/time value specified in Universal Coordinated Time (UTC).

7.8 AASPathDataType

The AASPath data type is a sub type of string and defined in Table 75.

Table 75 – AASPathDataType Definition
Attribute Value
BrowseNameAASPathDataType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Others
Subtype of String Type defined in OPC 10000-3

7.9 AASMimeDataType

The enumeration of the AASMime is defined in Table 76.

Table 76 – AASMimeDataType Definition
Attribute Value
BrowseNameAASMimeDataType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Others
Subtype of String Type defined in OPC 10000-3

7.10 AASEntityTypeDataType

The AASEntityTypeDataType is defined in Table 77.

Table 77 – AASEntityTypeDataType Definition
Attribute Value
BrowseNameAASEntityTypeDataType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Others
Subtype of Enumeration data type defined in OPC 10000-3
0:HasPropertyVariable0:EnumValues0:EnumValueType[]0:PropertyType

The enumeration of the AASEntityType is defined in Table 78.

Table 78 – AASEntityTypeDataType Definition
NameValueDescription
CoManagedEntity0Self-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.
SelfManagedEntity1For 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.

7.11 AASDataTypeIEC61360DataType

The AASDataTypeIEC61360DataType is defined in Table 79.

Table 79 – AASDataTypeIEC61360DataType Definition
Attribute Value
BrowseNameAASDataTypeIEC61360DataType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Others
Subtype of Enumeration data type defined in OPC 10000-3
0:HasPropertyVariable0:EnumStrings0:LocalizedText []0:PropertyType

The enumeration of the AASDataTypeIEC61360 is defined in Table 80.

Table 80 – AASDataTypeIEC61360DataType Definition
NameValueDescription
BOOLEAN0Date type according to IEC61360
DATE1Date type according to IEC61360
RATIONAL2Date type according to IEC61360
RATIONAL_MEASURE3Date type according to IEC61360
REAL_COUNT4Date type according to IEC61360
REAL_CURRENCY5Date type according to IEC61360
REAL_MEASURE6Date type according to IEC61360
STRING7Date type according to IEC61360
STRING_TRANSLATABLE8Date type according to IEC61360
TIME9Date type according to IEC61360
TIME_STAMP10Date type according to IEC61360
URL11Date type according to IEC61360
INTEGER12Date type according to IEC61360
INTEGER_COUNT13Date type according to IEC61360
INTEGER_CURRENCY14Date type according to IEC61360

7.12 AASLevelTypeDataType

The AASLevelTypeDataType is defined in Table 81.

Table 81 – AASLevelTypeDataType Definition
Attribute Value
BrowseNameAASLevelTypeDataType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition Others
Subtype of Enumeration data type defined in OPC 10000-3
0:HasPropertyVariable0:EnumValues0:EnumValueType[]0:PropertyType

The enumeration of the AASLevelType is defined in Table 82.

Table 82 – AASLevelTypeDataType enum value Definition
NameValueDescription
Min0Minimum
Max1Maximum
Num2Number
Type3Type