To meet the range of aspects of the assets which have to be described in the AAS a set of submodel element types are defined. Each submodel element type represents one of these aspects. Figure 14 provides a general overview.

image019.png

Figure 14 – SubmodelElement Subtypes

Figure 15 shows an overview about the AASSubmodelElement ObjectType.

image020.png

Figure 15 – AASSubmodelElementType graphical overview

A data element is a submodel element that is not further composed of other submodel elements (Table 27). A data element is a submodel element that has a value. The type of value may differ for different data elements.

Table 27 – AASSubmodelElementType Definition

Attribute

Value

BrowseName

AASSubmodelElementType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the BaseObjectType defined in OPC 10000-5, i.e. inheriting the InstanceDeclarations of that Node.

0:HasInterface

ObjectType

IAASReferableType

-

-

0:HasProperty

Variable

ModelingKind

AASModelingKindDataType

0:PropertyType

M

0:HasComponent

Object

<Qualifier>

AASQualifierType

OP

0:HasComponent

Object

<DataSpecification>

AASReferenceType

OP

0:HasDictionaryEntry

Object

<IRDI_or_IRI_or_Custom_concept_description_entry>

AASIriConceptDescriptionType

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/SubmodelElement

AASIriConceptDescriptionType

Applied from IAASReferableType

0:HasProperty

Variable

Category

0:String

0:PropertyType

M

The default value of the variable “ModelingKind” is “Instance”.

For each AASSubmodelElementType instance the semanticId is mapped to the OPC UA HasDictionaryEntry. This is at instance level because the DictionaryEntry refers to the concept dictionary element, which describes the individual instance and not the submodel element type.

The components of the AASSubmodelElementType have additional references which are defined in Table 28.

Table 28 – AASSubmodelElementType Additional References

Source Path

Reference Type

Is Forward

Target Path

<DataSpecification>

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/hasDataSpecification/dataSpecification

ModelingKind

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/SubmodelElement/kind

<Qualifier>

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/SubmodelElement/qualifiers

Figure 16 shows an overview about the AASSubmodelElementCollection ObjectType.

image021.png

Figure 16 – AASSubmodelElementCollectionType graphical overview

A submodel element collection is a set or list of submodel elements. The AASSubmodelElementCollectionType is defined in Table 29

Table 29 – AASSubmodelElementCollectionType Definition

Attribute

Value

BrowseName

AASSubmodelElementCollectionType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

<SubmodelElement>

AASSubmodelElementType

OP

0:HasProperty

Variable

AllowDuplicates

0:Boolean

0:PropertyType

O

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/SubmodelElementCollection

AASIriConceptDescriptionType

The components of the AASSubmodelElementCollectionType have additional references which are defined in Table 30.

Table 30 – AASSubmodelElementCollectionType Additional References

Source Path

Reference Type

Is Forward

Target Path

<SubmodelElement>

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/SubmodelElementCollection/values

AllowDuplicates

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/SubmodelElementCollection/allowDuplicates

The value elements in this collection are not ordered (i.e. http://Admin-shell.io/aas/2/0/ SubmodelElementCollection/ordered == False).

Figure 17 shows an overview about the AASOrderedSubmodelElementCollection ObjectType.

image022.png

Figure 17 – AASOrderedSubmodelElementCollectionType graphical overview

Table 31 defines the AASOrderedSubmodelElementCollection ObjectType.

Table 31 – AASOrderedSubmodelElementCollectionType Definition

Attribute

Value

BrowseName

AASOrderedSubmodelElementCollectionType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementCollectionType defined in Table 29 and Table 30 i.e. inheriting the InstanceDeclarations of that Node.

0:HasOrderedComponent

Object

<SubmodelElement>

AASSubmodelElementType

OP

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/SubmodelElementCollection

AASIriConceptDescriptionType

The components of the AASOrderedSubmodelElementCollectionType have additional references which are defined in Table 32.

Table 32 – AASOrderedSubmodelElementCollectionType Additional References

Source Path

Reference Type

Is Forward

Target Path

<SubmodelElement>

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/SubmodelElementCollection/values

The value elements in this collection are ordered (i.e. http://Admin-shell.io/aas/2/0/ SubmodelElementCollection/ordered == True).

Figure 18 shows an overview about the AASMultiLanguageProperty ObjectType

image023.png

Figure 18 – AASMultiLanguagePropertyType graphical overview

This submodel element type is used for properties with a value that can be provided in multiple languages (see Table 33).

Table 33 – AASMultiLanguagePropertyType Definition

Attribute

Value

BrowseName

AASMultiLanguagePropertyType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node

0:HasComponent

Object

ValueId

AASReferenceType

O

0:HasProperty

Variable

Value

0:LocalizedText[]

0:PropertyType

O

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/MultiLanguageProperty

AASIriConceptDescriptionType

The components of the AASMultiLanguagePropertyType have additional references which are defined in Table 34.

Table 34 – AASMultiLanguagePropertyType Additional References

Source Path

Reference Type

Is Forward

Target Path

ValueId

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/MultiLanguageProperty/valueId

Value

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/MultiLanguageProperty/value

Figure 19 shows an overview about the AASProperty ObjectType.

image024.png

Figure 19 – AASPropertyType graphical overview

The valueId attribute references a DictionaryEntry. Table 35 defines the AASProperty ObjectType.

Table 35 – AASPropertyType Definition

Attribute

Value

BrowseName

AASPropertyType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

Value

0:BaseDataType

0:PropertyType

O

0:HasProperty

Variable

ValueType

AASValueTypeDataType

0:PropertyType

M

0:HasComponent

Object

ValueId

-

AASReferenceType

O

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/Property

AASIriConceptDescriptionType

The components of the AASPropertyType have additional references which are defined in Table 36.

Table 36 – AASPropertyType Additional References

Source Path

Reference Type

Is Forward

Target Path

Value

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Property/value

ValueType

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Property/valueType

ValueId

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Property/valueId

Table 37 defines the AASCapability ObjectType.

Table 37 – AASCapabilityType Definition

Attribute

Value

BrowseName

AASCapabilityType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/Property

AASIriConceptDescriptionType

Figure 20 shows an overview about the AASOperation ObjectType.

image025.png

Figure 20 – AASOperationType graphical overview

AASOperationType is defined in Table 38. It encapsulates the standard OPC UA Method “Operation”. All rules for the OPC UA Method NodeClass declaration apply. “Operation” is defined without Arguments but with the OptionalPlaceholder ModellingRule. As defined in OPC 10000-3, this rule allows the inclusion of Arguments to this Method on sub-types or on instances.

Table 38 – AASOperationType Definition

Attribute

Value

BrowseName

AASOperationType

IsAbstract

False

References

NodeClass

BrowseName

Data

Type

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Method

Operation

MP

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/Operation

AASIriConceptDescriptionType

An example of a method definition is:

Signature

Method_xy_name (

[InputArgument]

0:PropertyType BrowseNameA

0:PropertyType BrowseNameB

[OutputArgument]

0:PropertyType BrowseNameK

0:PropertyType BrowseNameL

)

Each individual element of the InputArgument and OutputArgument has to be referenced by a 0:HasDictionaryEntry to its semantic definition.

Figure 21 shows an overview about the AASBlob ObjectType.

image026.png

Figure 21 – AASBlobType graphical overview

Table 39 defines the AASBlob ObjectType.

Table 39 – AASBlobType Definition

Attribute

Value

BrowseName

AASBlobType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

File

0:FileType

M

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/Blob

AASIriConceptDescriptionType

The components of the AASBlobType have additional references which are defined in Table 40.

Table 40 – AASBlobType Additional References

Source Path

Reference Type

Is Forward

Target Path

File

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Blob/value

Figure 22 shows an overview about the AASFile ObjectType.

image027.png

Figure 22 – AASFileType graphical overview

Table 41 defines the AASFile ObjectType.

Table 41 – AASFileType Definition

Attribute

Value

BrowseName

AASFileType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

Value

0:String

0:PropertyType

M

0:HasProperty

Variable

MimeType

AASMimeDataType

0:PropertyType

M

0:HasComponent

Object

File

0:FileType

O

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/File

AASIriConceptDescriptionType

The components of the AASFileType have additional references which are defined in Table 42.

Table 42 – AASFileType Additional References

Source Path

Reference Type

Is Forward

Target Path

File

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/File/value

MimeType

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/File/mimeType

The additional reference to the real file of type 0:FileType is optional and not specified as such in the asset administration shell metamodel.

Figure 23 shows an overview about the AASRelationElement ObjectType.

image028.png

Figure 23 – AASRelationElementType graphical overview

A relationship element is used to define a relationship between two referable elements (Table 43).

Table 43 – AASRelationshipElementType Definition

Attribute

Value

BrowseName

AASRelationshipElementType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

First

AASReferenceType

M

0:HasComponent

Object

Second

AASReferenceType

M

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/RelationshipElement

AASIriConceptDescriptionType

Objects which have the AASReferenceType shall reference another type. According to Table 43 these are the following references:

  • the “First” node shall reference the Referable Type instance having the role of the subject
  • the “Second” node shall reference the Referable Type instance having the role of the object

The components of the AASRelationshipType have additional references defined in Table 44.

Table 44 – AASRelationshipElementType Additional References

Source Path

Reference Type

Is Forward

Target Path

First

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/RelationshipElement/first

Second

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/RelationshipElement/second

Table 45 defines the AASAnnotatedRelationshipElement ObjectType.

Table 45 – AASAnnotatedRelationshipElementType Definition

Attribute

Value

BrowseName

AASAnnotatedRelationshipElementType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASRelationshipElementType defined in Table 45, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

<DataElement>

AASSubmodelElementType

OP

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/AnnotatedRelationshipElement

AASIriConceptDescriptionType

The components of the AASAnnotatedRelationshipElementType have additional references which are defined in Table 46.

Table 46 – AASAnnotatedRelationshipElementType Additional References

Source Path

Reference Type

Is Forward

Target Path

<DataElement>

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/AnnotatedRelationshipElement/annotations

The following SubmodelElement objects are allowed for AASAnnotatedRelationshipElementType:

  • AASProperty
  • AASMultiLanguageProperty
  • AASRangeType
  • AASReferenceElementType
  • AASFileType
  • AASBlobType

Figure 24 shows an overview about the AASReferenceElement ObjectType.

image029.png

image030.png

Figure 24 – AASReferenceElementType graphical overview

An AASReferenceElement has a Reference as value (Table 47). This reference has an aggregation of keys (see Table 47) which represents a key chain. The resolved key chain points to an element.

Table 47 – AASReferenceElementType Definition

Attribute

Value

BrowseName

AASReferenceElementType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

Value

AASReferenceType

M

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/ReferenceElement

AASIriConceptDescriptionType

The Object which has the AASReferenceType shall reference another type. According to Table 47 the “Value” can contain the allowed subtypes of AASSubmodelElementTypes as defined in chapter 6.3.

The components of the AASReferenceElementType have additional references which are defined in Table 48.

Table 48 – AASReferenceElementType Additional References

Source Path

Reference Type

Is Forward

Target Path

Value

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/ReferenceElement/value

Figure 25 shows an overview about the AASEvent ObjectType.

image031.png

Figure 25 – AASEventType graphical overview

Table 49 defines the AASEvent ObjectType.

Table 49 – AASEventType Definition

Attribute

Value

BrowseName

AASEventType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

The attribute “observed” of the BasicEvent submodel element in the AAS metamodel is mapped to the OPC UA eventing mechanism using GeneratesEvent-references pointing from instances of this AASEventType to ObjectTypeNodes of type BaseEventType or its customized subclasses.

Figure 26 shows an overview about the AASEntity ObjectType.

image032.png

Figure 26 – AASEntityType graphical overview

Table 50 defines the AASEntity ObjectType.

Table 50 – AASEntityType Definition

Attribute

Value

BrowseName

AASEntityType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasComponent

Object

<SubmodelElement>

-

AASSubmodelElementType

OP

0:HasProperty

Variable

EntityType

AASEntityTypeDataType

0:PropertyType

M

0:HasComponent

Object

Asset

-

AASReferenceType

O

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/Entity

AASIriConceptDescriptionType

The components of the AASEntityType have additional references which are defined in Table 51.

Table 51 – AASEntityType Additional References

Source Path

Reference Type

Is Forward

Target Path

<SubmodelElement>

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Entity/statements

EntityType

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Entity/entityType

Asset

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Entity/asset

If Min missing then negative open range infinitely, if max missing the open range infinitely.

Table 52 – AASRangeType Definition

Attribute

Value

BrowseName

AASRangeType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

Subtype of the AASSubmodelElementType defined 6.8.1, i.e. inheriting the InstanceDeclarations of that Node.

0:HasProperty

Variable

ValueType

AASValueTypeDataType

0:PropertyType

M

0:HasProperty

Variable

Min

0:BaseDataType

0:PropertyType

O

0:HasProperty

Variable

Max

0:BaseDataType

0:PropertyType

O

0:HasDictionaryEntry

Object

Admin-shell.io/aas/2/0/Range

AASIriConceptDescriptionType

Only simple data type of the OPC UA specification are allowed.

The components of the AASRangeType have additional references which are defined in Table 53.

Table 53 – AASRangeType Additional References

Source Path

Reference Type

Is Forward

Target Path

ValueType

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Range/valueType

Min

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Range/min

Max

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Range/max