Figure 13 shows an overview about the AASSubmodel ObjectType.

image018.png

Figure 13 – AASSubmodelType graphical overview

A Submodel defines a specific aspect of the asset represented by the AAS and is defined in Table 25.

A submodel is used to structure the information model of an AAS representing the technical functionality of the underlying asset into distinguishable parts. Each submodel refers to a well-defined domain or subject matter. Submodels can become standardized and thus become submodel templates. Submodels can have different life-cycles.

Note: The concept of template and instance applies to properties.

Table 25 – AASSubmodelType Definition

Attribute

Value

BrowseName

AASSubmodelType

IsAbstract

False

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

IAASIdentifiableType

-

-

-

0:HasComponent

Object

<DataSpecification>

AASReferenceType

OP

0:HasProperty

Variable

ModelingKind

AASModelingKindDataType

0:PropertyType

M

0:HasComponent

Object

<Qualifier>

AASQualifierType

OP

0:HasComponent

Object

<SubmodelElement>

AASSubmodelElementType

OP

0:HasDictionaryEntry

Object

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

AASIriConceptDescriptionType

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

For each AASSubmodelType instance the semanticId is mapped to the OPC UA HasDictionaryEntry reference. This is why the semanticId refers to the instance of the submodel element. This is equivalent to the DictionaryEntry which refers to the concept dictionary element which describes the individual instance not the submodel type.

The components of the AASSubmodelType have additional references which are defined in Table 26.

Table 26 – AASSubmodelType Additional References

Source Path

Reference Type

Is Forward

Target Path

<DataSpecification>

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Asset/dataSpecifications

ModelingKind

0:HasDictionaryEntry

True

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

<Qualifier>

0:HasDictionaryEntry

True

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

<SubmodelElement>

0:HasDictionaryEntry

True

Admin-shell.io/aas/2/0/Submodel/submodelElements