The mapping of AutomationML XML DataTypes to OPC UA DataTypes is described in Table 20.

Table 20 – Mapping of XML data types to OPC UA BaseTypes

image024.png

The access to the model is split up into an AutomationML specific entry possibility and an OPC UA specific entry possibility. The organizational nodes facilitate the navigation (browse) to elements. Figure 20 depicts an example address space. Different colours represent different nodesets as explained in chapter 5.2.1.

For users familiar with OPC UA, objects and object types can be accessed via the classical UA way (Objects folder and ObjectTypes folder). The global instance view can be reached via the Objects node and a specific node called AutomationMLInstanceHierarchies of type FolderType. The global type view can be reached via the ObjectTypes node and the corresponding AutomationML-specific object types.

The file view is dedicated to AutomationML users who are looking for a direct AutomationML view/representation. This is realized by the node of type FolderType named AutomationMLFiles below the Objects node. This node organizes all File_xyz nodes where File_xyz stands for the AML file name.

The File_xyz node consists of nodes of type FolderType called

  • InstanceHierarchies(for AutomationML InstanceHierarchy elements),
  • RoleClassLibs (for AutomationML RoleClassLibrary elements),
  • SystemUnitClassLibs (for AutomationML AutomationML SystemUnitClassLibrary elements), and
  • InterfaceClassLibs (for AutomationML InterfaceClassLibrary elements).

Below File_xyz all references must be browsable bidirectionally (isForward = False).

image025.jpg

Figure 20 – AutomationML information model structure in OPC UA

The naming for the AutomationML specific nodes is as follows: AutomationMLFiles, AutomationMLLibraries, AutomationMLInstanceHierarchies, CAEXBaseType are entry points into the hierarchies. They include AutomationML or CAEX in their browse names. Everything below these nodes does not need an AutomationML or CAEX prefix anymore, e.g. RoleClassLibs.

Be careful: The representation of the inheritance hierarchy is confusing if more than one file and AML base libraries are included in one OPC UA address space (with different nodesets).

This Instance is a child of Objects. It is defined in Table 21 .

The AutomationMLFiles folder represents a browse entry point when looking for AutomationML files in the OPC UA information model.

Table 21 - AutomationMLFiles Instance Definition

Name

TypeDefinition

AutomationMLFiles

FolderType

This Instance is a child of Objects. It is defined in Table 22 .

The AutomationMLInstanceHierarchies folder represents a browse entry point when looking for AutomationML InstanceHierarchies in the OPC UA information model.

Table 22 - AutomationMLInstanceHierarchies Instance Definition

Name

TypeDefinition

AutomationMLInstanceHierarchies

FolderType

This Instance is a child of Objects. It is defined in Table 23 .

The AutomationMLLibraries folder represents a browse entry point when looking for AutomationML libraries in the OPC UA information model.

Table 23 - AutomationMLLibraries Instance Definition

Name

TypeDefinition

AutomationMLLibraries

FolderType

This Instance is a child of AutomationMLLibraries. It is defined in Table 24 .

The InterfaceClassLibsfolder represents a browse entry point when looking for AutomationML InterfaceClassLibs in the OPC UA information model.

Table 24 - InterfaceClassLibs Instance Definition

Name

TypeDefinition

InterfaceClassLibs

FolderType

This Instance is a child of AutomationMLLibraries. It is defined in Table 25 .

The RoleClassLibsfolder represents a browse entry point when looking for AutomationML RoleClassLibs in the OPC UA information model.

Table 25 - RoleClassLibs Instance Definition

Name

TypeDefinition

RoleClassLibs

FolderType

This Instance is a child of AutomationMLLibraries. It is defined in Table 26 .

The SystemUnitClassLibsfolder represents a browse entry point when looking for AutomationML SystemUnitClassLibs in the OPC UA information model.

Table 26 - SystemUnitClassLibs Instance Definition

Name

TypeDefinition

SystemUnitClassLibs

FolderType