When using NodeIds of type STRING_1 the NodeId contains information about address and DataType as string value. Compared to opaque NodeIds this format is easier for manual entry by the user.

The NodeId has the following form:

[[<Network>.]<DeviceAddress>.]<Index>.<Sub-Index>:<Datatype>

Network:

This parameter identifies the network and starts with “NW” followed by the decimal number of the selected network, e.g. “NW1” for the first POWERLINK network which is represented by this Server. If the parameter is omitted the selection of a network is server specific.

DeviceAddress:

This parameter identifies the POWERLINK Device within a network. It shall either be “MN” for the POWERLINK Managed Node or “CN” followed by the device address, e.g. “CN2”.

Both parameters (Network and Device) are not relevant for Servers that only implement one single POWERLINK Object Dictionary and therefore they may be omitted.

Index:

Index of the POWERLINK Object, e.g. “0x1001” for the object ERR_ErrorRegister_U8. The value shall be given as decimal string, or as hexadecimal string preceding the characters “0x”.

Sub-Index:

Sub-Index of the POWERLINK Object, e.g. “17” for accessing Sub-Index 17. The value shall be given as decimal string, or as hexadecimal string preceding the characters “0x”.

If the POWERLINK Object requested by Index/Sub-Index is not existing the server shall signal this case with the StatusCode Bad_NodeIdUnknown.

Datatype:

Requested DataType of the response data for read access or MonitoredItems. Allowed values are the names of the built-in types 1 to 12, and 15. E.g. if Datatype is “UInt64” the Server shall respond with an unsigned 64 bit integer. Capitalisation of this parameter shall be irrelevant, so “uint64” and “UInt64” shall give the same result. If Datatype is set to “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.

Examples for String NodeIds:

“0x1001.0:byte” : Object ERR_ErrorRegister_U8

“NW2.CN104.24640.0:UInt16” : Object 0x6040, SubIndex 0, 16 Bit unsigned

“CN1.0x1018.1:UInt32” : VendorId_U32 in Object NMT_IdentityObject_REC