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 9and Table 10show 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 14shows the same information in the XDD format defined in EPSG DS311.
Figure 14– Example for XDD format
Table 11lists 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 Modelas Propertiesof the Objectsas defined in 5.2.2, 5.2.3and 5.2.4. |
SubIndex |
|
Name |
The name of the POWERLINK Objectshall be used as the BrowseNameand the DisplayNameof the OPC UA Node |
Object Type |
The relevant object types of POWERLINK are VAR, ARRAY and RECORD.
The VariableTypes PowerlinkArrayType, PowerlinkRecordTypeand PowerlinkVariableTypeare used to represent such objects from the POWERLINK Object Dictionaryand extend the BaseDataVariableTypeby POWERLINK specific information about the object.
POWERLINK Objects of the type ARRAY shall be modelled asPowerlinkArrayType(5.2.2) POWERLINK Objectsof the type RECORD shall be modelled as PowerlinkRecordType(5.2.3) POWERLINK Objectsof 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 Modelmakes an exception and uses a Structure DataTypeto 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 Objectcan be provided by the optional Property Rangeof the PowerlinkVariableType(5.2.4). |
Category |
POWERLINK defines the 3 categories Mandatory (M), Optional (O) and Conditional (Cond). OPC UA defines the ModellingRulesMandatory and Optional. Since OPC UA does provide an ModellingRulewhich can be mapped to Conditional of POWERLINK, the mapping is the following:
|
Access |
Access and PDO Mapping are provided by the Property PowerlinkAttributesdefined for the PowerlinkVariableType(5.2.4). |
PDO Mapping |
|
Default Value |
The default value of the object is provided by the optional Property DefaultValueof the PowerlinkVariableType(5.2.4). |
The VariableType PowerlinkArrayTypeis formally defined in Table 12and represents POWERLINK Objectsof 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 BaseDataVariableTypedefined 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 PowerlinkAttributesprovides the information of the XML-Attribute ‘accessType’ from the POWERLINK XML Device Description.
The Property Indexprovides the Index of the object in the POWERLINK Object Dictionary.
The Property NumberOfEntriesprovides the value of Sub-Index 0 of the POWERLINK Object. For most POWERLINK Objectsthis value is read-only. For a few, like ERR_History_ADOMor PDO_RxMappParam_XXh_AU64, this Propertyis also writable.
The optional Property Rangeprovides the Value Range of the array elements.
The optional Property DefaultValue provides the default value of the array elements. The DataTypeof this Propertyshall be identical to the DataTypeof the DataVariableitself.
The VariableType PowerlinkRecordTypeis formally defined in Table 13and represents POWERLINK Objectsof 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 BaseDataVariableTypedefined in OPC 10000-5. |
|||||||
HasProperty |
Variable |
Index |
UInt16 |
PropertyType |
Mandatory |
Read |
|
HasProperty |
Variable |
NumberOfEntries |
Byte |
PropertyType |
Mandatory |
Read |
The Property Indexprovides the Index of the object in the POWERLINK Object Dictionary.
The Property NumberOfEntriesprovides the value of Sub-Index 0 of the POWERLINK Object.
The VariableType PowerlinkVariableTypeif formally defined in Table 14and represents POWERLINK Objectsof 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 BaseDataVariableTypedefined 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 PowerlinkAttributesprovides the information of the XML-Attribute ‘accessType’ from ‘Object’ and ‘SubObject’-Elements in the POWERLINK XML Device Description. The DataType PowerlinkAttributesis formally defined in 7.3.1.
The Properties Index and SubIndexprovide the address information of the object in the POWERLINK Object Dictionary.
The optional Property Rangeprovides the Value Range of the POWERLINK Object.
The optional Property DefaultValue provides the default value of the POWERLINK Object. The DataTypeof this Propertyshall be identical to the DataTypeof the DataVariableitself.
Note 1 to entry:
The PropertiesIndex 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 Modelbecause it already provides the required addressing information.