Figure 11 shows the general model and the central object types of this companion specification.

image015.png

Figure 11 – POWERLINK OPC UA model overview

POWERLINK Objects are represented by OPC UA Variables as part of the PowerlinkConnectionPointType and its subtypes. A PowerlinkConnectionPointType contains common Variables while the subtypes contain only the Variables that are specific to the POWERLINK Controlled Node and the POWERLINK Managing Node.

Instances of subtypes of PowerlinkConnectionPointType are used to represent the POWERLINK Object Dictionary of a POWERLINK Device. The subtypes of ConnectionPointType are used to extend a Device (not limited to PowerlinkDeviceType) by one or more POWERLINK Object Dictionaries.

The PowerlinkDeviceType is used to represent a typical POWERLINK Device and defines a standardised way to generate the mandatory Properties for a DeviceType (like SerialNumber, RevisionCounter, etc.) from values of certain POWERLINK Objects. In case a Device implements more than one POWERLINK interface (by implementing multiple ConnectionPoints), the selection of the ConnectionPoint as source for the DeviceType Properties is implementation specific.

Figure 12 shows an example for a Device (DeviceExample1) that implements an instance of a POWERLINK Controlled Node and another Device (DeviceExample2) that implements two instances of a POWERLINK Managing Node.

image016.png

Figure 12 – PowerlinkDeviceType example for POWERLINK Controlled Node

The focus of this document is the detailed specification of the POWERLINK Objects of the communication profile EPSG DS 301 and EPSG DS 302, but it also defines the modelling rules for the implementation of specific POWERLINK Device Profiles.

Figure 13 shows how to add device profile specific POWERLINK Objects to the existing definition for the communication profile. The modelling rules are defined in 5.2.

image017.png

Figure 13 – Model of a POWERLINK Device Profile

One of the very significant differences between POWERLINK and OPC UA is that OPC UA provides metadata to each object directly through the Server, whereas POWERLINK can transport metadata only through XDD files or specification documents. Table 9 and Table 10 show examples for object definitions in the POWERLINK Communication Profile EPSG DS 301.

Table 9 – Example for the description of Objects in POWERLINK specifications

Index

1006h

Object Type

VAR

Name

NMT_CycleLen_U32

Data Type

UNSIGNED32

Category

M

Value Range

refer below

Access

rws, valid on reset

Default Range

-

PDO Mapping

No

Table 10 – Example for the description of SubObjects in POWERLINK specifications

Sub-Index

09h

Name

Prescaler_U16

Data Type

UNSIGNED16

Category

MN: M, CN: O

Value Range

0, 1-1000

Access

rws, valid on reset

Default Range

2

PDO Mapping

No

Figure 14 shows the same information in the XDD format defined in EPSG DS311.

image018.jpg

Figure 14 – Example for XDD format

Table 11 lists the attributes that are specified for POWERLINK Objects, and how they are mapped to OPC UA mechanisms.

Table 11 – Mapping of attributes

POWERLINK Attribute

Description

Index

Index and Sub-Index are provided by the Information Model as Properties of the Objects as defined in 5.2.2, 5.2.3 and 5.2.4.

SubIndex

Name

The name of the POWERLINK Object shall be used as the BrowseName and the DisplayName of the OPC UA Node

Object Type

The relevant object types of POWERLINK are VAR, ARRAY and RECORD.

The VariableTypes PowerlinkArrayType, PowerlinkRecordType and PowerlinkVariableType are used to represent such objects from the POWERLINK Object Dictionary and extend the BaseDataVariableType by POWERLINK specific information about the object.

POWERLINK Objects of the type ARRAY shall be modelled as PowerlinkArrayType (5.2.2)

POWERLINK Objects of the type RECORD shall be modelled as PowerlinkRecordType (5.2.3)

POWERLINK Objects of the type VAR shall be modelled as PowerlinkVariableType (5.2.4)

Data Type

The mapping of primitive datatypes is defined in Table 22.

In certain cases the Information Model makes an exception and uses a Structure DataType to improve the usability.

Examples for such exceptions:

Also for usability reasons some variables are modelled as Enumeration.

Examples for such cases:

Value Range

The Value Range of the POWERLINK Object can be provided by the optional Property Range of the PowerlinkVariableType (5.2.4).

Category

POWERLINK defines the 3 categories Mandatory (M), Optional (O) and Conditional (Cond).

OPC UA defines the ModellingRules Mandatory and Optional. Since OPC UA does provide an ModellingRule which can be mapped to Conditional of POWERLINK, the mapping is the following:

  • Category M becomes the ModellingRule Mandatory
  • Category O becomes the ModellingRule Optional
  • Category Cond becomes the ModellingRule Optional and requires a textual description at the objects definition about the condition that makes the object mandatory.

Access

Access and PDO Mapping are provided by the Property PowerlinkAttributes defined for the PowerlinkVariableType (5.2.4).

PDO Mapping

Default Value

The default value of the object is provided by the optional Property DefaultValue of the PowerlinkVariableType (5.2.4).

The VariableType PowerlinkArrayType is formally defined in Table 12 and represents POWERLINK Objects of the type ARRAY as defined in 5.2.

Table 12 – PowerlinkArrayType Definition

Attribute

Value

BrowseName

PowerlinkArrayType

IsAbstract

False

ValueRank

1 (1 = OneDimension)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Access

Level

Subtype of BaseDataVariableType defined in OPC 10000-5.

HasProperty

Variable

PowerlinkAttributes

PowerlinkAttributes

PropertyType

Mandatory

Read

HasProperty

Variable

Index

UInt16

PropertyType

Mandatory

Read

HasProperty

Variable

NumberOfEntries

Byte

PropertyType

Mandatory

Read / Write

HasProperty

Variable

Range

Range

PropertyType

Optional

Read

HasProperty

Variable

DefaultValue

BaseDataType

PropertyType

Optional

Read

The Property PowerlinkAttributes provides the information of the XML-Attribute ‘accessType’ from the POWERLINK XML Device Description.

The Property Index provides the Index of the object in the POWERLINK Object Dictionary.

The Property NumberOfEntries provides the value of Sub-Index 0 of the POWERLINK Object. For most POWERLINK Objects this value is read-only. For a few, like ERR_History_ADOM or PDO_RxMappParam_XXh_AU64, this Property is also writable.

The optional Property Range provides the Value Range of the array elements.

The optional Property DefaultValue provides the default value of the array elements. The DataType of this Property shall be identical to the DataType of the DataVariable itself.

The VariableType PowerlinkRecordType is formally defined in Table 13 and represents POWERLINK Objects of the type RECORD as defined in 5.2.

Table 13 – PowerlinkRecordType Definition

Attribute

Value

BrowseName

PowerlinkRecordType

IsAbstract

True

ValueRank

-1 (-1 = Scalar)

DataType

Byte

Value

0

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Access

Level

Subtype of BaseDataVariableType defined in OPC 10000-5.

HasProperty

Variable

Index

UInt16

PropertyType

Mandatory

Read

HasProperty

Variable

NumberOfEntries

Byte

PropertyType

Mandatory

Read

The Property Index provides the Index of the object in the POWERLINK Object Dictionary.

The Property NumberOfEntries provides the value of Sub-Index 0 of the POWERLINK Object.

The VariableType PowerlinkVariableType if formally defined in Table 14 and represents POWERLINK Objects of the type VAR as defined in 5.2.

Table 14 – PowerlinkVariableType Definition

Attribute

Value

BrowseName

PowerlinkVariableType

IsAbstract

False

ValueRank

-1 (-1 = Scalar)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Access

Level

Subtype of BaseDataVariableType defined in OPC 10000-5.

HasProperty

Variable

PowerlinkAttributes

PowerlinkAttributes

PropertyType

Mandatory

Read

HasProperty

Variable

Index

UInt16

PropertyType

Mandatory

Read

HasProperty

Variable

SubIndex

Byte

PropertyType

Mandatory

Read

HasProperty

Variable

Range

Range

PropertyType

Optional

Read

HasProperty

Variable

DefaultValue

BaseDataType

PropertyType

Optional

Read

The Property PowerlinkAttributes provides the information of the XML-Attribute ‘accessType’ from ‘Object’ and ‘SubObject’-Elements in the POWERLINK XML Device Description. The DataType PowerlinkAttributes is formally defined in 7.3.1.

The Properties Index and SubIndex provide the address information of the object in the POWERLINK Object Dictionary.

The optional Property Range provides the Value Range of the POWERLINK Object.

The optional Property DefaultValue provides the default value of the POWERLINK Object. The DataType of this Property shall be identical to the DataType of the DataVariable itself.

Note 1 to entry:

The Properties Index and SubIndex serve two purposes. It is not only additional information for the Client, but it also allows a generic implementation to interpret an imported Information Model because it already provides the required addressing information.