Figure 11 shows the general model and the central object types of this companion specification.
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.
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.
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.
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:
|
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.