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.

image036.png

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.

Table 70 – AASKeyDataType

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.

Table 72 – AASKeyTypeDataType

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