When using NodeIds of the type OPAQUE_3 the NodeId contains information about address and DataType in binary form. Compared to String-NodeIds this format is smaller and generates less overhead when registering Nodes for Subscriptions.
To access POWERLINK Objects on a Server, which represents only one POWERLINK Object Dictionary the size of the NodeId is 4 byte and the format is defined in shown in Table 48.
Table 48 – NodeIds for single instances
Byte |
Description |
0 |
LSB of the objects POWERLINK Index |
1 |
HSB of the objects POWERLINK Index |
2 |
POWERLINK Sub-Index |
3 |
DataTypeId |
Byte 0, 1 and 2 are the values of the POWERLINK addressing scheme Index / Sub-Index. If the POWERLINK Object requested by Index/Sub-Index is not existing the server shall signal this case with the StatusCode Bad_NodeIdUnknown.
With byte 3 the client specifies the expected DataType of the response data by using the built-in types defined in OPC 10000-6. Allowed values are 1 to 12, as well as 15. If byte 3 is set to 12 or 15 (String or ByteString) the server shall respond with the same length like the POWERLINK Object. Otherwise, if the bit-length of the referenced POWERLINK Object is different to the bit-length of the requested DataType, the Server shall signal this case with the StatusCode Bad_NodeIdInvalid.
To access POWERLINK Objects on a Server, which represents more than one POWERLINK Object Dictionary the size of the NodeId is 6 byte and the format is defined in Table 49.
Table 49 – NodeIds for multiple instances
Byte |
Description |
0 |
LSB of the objects POWERLINK Index |
1 |
HSB of the objects POWERLINK Index |
2 |
POWERLINK Sub-Index |
3 |
DataTypeId |
4 |
POWERLINK DeviceAddress |
5 |
POWERLINK Network |
Byte 0 to 3 have the same function like in Table 48.
Byte 4 defines the Address of the device in the POWERLINK network.
Byte 5 defines the interface/network number where this device is expected. The assignment of a number to a physical interface is application specific.