7 Mapping of DataTypes
7.1 Primitive DataTypes
Table 22 shows the mapping between basic data types of both standards.
POWERLINK Basic Data Types | OPC UA DataTypes | Description |
| BOOLEAN | Boolean | 1 Bit |
| INTEGER8 | SByte | Signed integer, 8 Bit |
| INTEGER16 | Int16 | Signed integer, 16 Bit |
| INTEGER32 | Int32 | Signed integer, 32 Bit |
| INTEGER64 | Int64 | Signed integer, 64 Bit |
| UNSIGNED8 | Byte | Unsigned integer, 8 Bit |
| UNSIGNED16 | UInt16 | Unsigned integer, 16 Bit |
| UNSIGNED32 | UInt32 | Unsigned integer, 32 Bit |
| UNSIGNED64 | UInt64 | Unsigned integer, 64 Bit |
| REAL32 | Float | Float, 32 Bit |
| REAL64 | Double | Float, 64 Bit |
| DOMAIN | ByteString | ByteString with variable size |
| IP_ADDRESS | PowerlinkIpAddressDataType | IPV4 Address |
| OCTET_STRING | ByteString | ByteString with variable size |
| VISIBLE_STRING | String | Variable number bytes interpreted as ISO 646-1973(E) 7-bit coded characters |
7.2 Enumeration DataTypes
7.2.1 PowerlinkNMTStateEnumeration
This DataType is an enumeration that represents the NMT State. Its values are defined in Table 23. States with the prefix “NMT_XS” represent a state that is existing for the POWERLINK Controlled Node as well as for the POWERLINK Managing Node. For instance, the states NMT_MS_OPERATIONAL and NMT_CS_OPERATIONAL are both represented by the enumeration value NMT_XS_OPERATIONAL_253.
| Value | Description |
| NMT_GS_OFF_0 | |
| NMT_GS_INITIALISING_25 | first state after power-on of the POWERLINK Device |
| NMT_GS_RESET_APPLICATION_41 | set manufacturer-specific and standardised device profile area to their power-on values |
| NMT_GS_RESET_COMMUNICATION_57 | set communication profile area (except ERR_History_ADOM) to their power-on values |
| NMT_GS_RESET_CONFIGURATION_121 | generate the active device configuration |
| NMT_XS_NOT_ACTIVE_28 | a non-permanent state which allows a starting device to recognise the current network state |
| NMT_XS_PRE_OPERATIONAL_1_29 | the POWERLINK network operates in reduced cycle |
| NMT_XS_PRE_OPERATIONAL_2_93 | the POWERLINK network operates in isochronous operation, but the device is still in a configuration state |
| NMT_XS_READY_TO_OPERATE_109 | the device configuration is completed and the device is ready to switch over to NMT_XS_OPERATIONAL |
| NMT_XS_OPERATIONAL_253 | normal operating state of a POWERLINK Device |
| NMT_CS_STOPPED_77 | the device is largely passive, NMT_CS_STOPPED shall be used for controlled shutdown of a selected CN while the system is still running |
| NMT_XS_BASIC_ETHERNET_30 | Legacy Ethernet communication according to IEEE 802.3, no POWERLINK specific network traffic control |
Its representation in the AddressSpace is defined in Table 24.
| Attributes | Value |
| BrowseName | PowerlinkNMTStateEnumeration |
| Subtype of Enumeration defined in OPC 10000-5. | |
7.2.2 PowerlinkNMTResetCmdEnumeration
This DataType is an Enumeration that represents the NMT reset commands for POWERLINK. Its values are defined in Table 23.
| Value | Description |
| NMTResetNode_40 | start application initialisation |
| NMTResetCommunication_41 | start communication initialisation |
| NMTResetConfiguration_42 | activate device configuration |
| NMTSwReset_43 | start basic node initialisation |
| NMTInvalidService_255 | readback value for the POWERLINK Object NMT_ResetCmd_U8 |
Its representation in the AddressSpace is defined in Table 24.
| Attributes | Value |
| BrowseName | PowerlinkNMTResetCmdEnumeration |
| Subtype of Enumeration defined in OPC 10000-5. | |
7.3 OptionSet DataTypes
7.3.1 PowerlinkAttributes
This DataType is an OptionSet that represents the POWERLINK entry attributes. It is a subtype of OptionSet. Its values are defined in Table 27 and the DataType is used for the Property PowerlinkAttributes in the VariableTypes PowerlinkArrayType (5.2.2) and PowerlinkVariableType (5.2.4).
| Value | Bit | Abbreviation | Description |
| Const | 0 | CONST | Read access only, the value is not changing |
| Read | 1 | R | Read access |
| Write | 2 | W | Write access |
| Input | 3 | I | Represents process input data, object can be used in PDO mapping |
| Output | 4 | O | Represents process output data, object can be used in PDO mapping |
| Store | 5 | S | Can be stored to non-volatile memory |
| ValidOnReset | 6 | VR | Only valid after reset |
| DefaultMapping | 7 | DEF | Variable is included in default mapping |
| RPDO | 8 | RPDO | Variable may be mapped into receive PDO |
| TPDO | 9 | TPDO | Variable may be mapped into transmit PDO |
The expressions in the column ‘Abbreviation’ are used in the OPC UA object definitions.
The Field CurrentRead of the Variables Attribute AccessLevel shall be contain the same value as the Field Read in the Variables Attribute PowerlinkAttributes.
The Field CurrentWrite of the Variables Attribute AccessLevel shall be contain the same value as the Field Write in the Variables Attribute PowerlinkAttributes.
| Attributes | Value |
| BrowseName | PowerlinkAttributes |
| Subtype of OptionSet defined in OPC 10000-3. | |
7.3.2 ErrorRegisterBits
This DataType is an OptionSet that represents the values of the Variable ERR_ErrorRegister_U8. It is a subtype of Byte. Its values are defined in Table 29.
| Value | Bit | Description |
| Generic_error | 0 | This bit shall be set if any error is present. Additionally to this bit, the following bits may be used to signal more detailed error information. |
| Current | 1 | |
| Voltage | 2 | |
| Temperature | 3 | |
| Communication_error | 4 | |
| Device_profile_specific | 5 | |
| Reserved | 6 | always 0 |
| Manufacturer_specific | 7 |
| Attributes | Value |
| BrowseName | ErrorRegisterBits |
| Subtype of OptionSet defined in OPC 10000-3. | |
7.4 VariableTypes
7.4.1 DIA_ERRStatistics_Type Definition
Table 31 formally defines the VariableType to represent the POWERLINK Record DIA_ERRStatistics_TYPE.
| Attribute | Value | |||||
| BrowseName | DIA_ERRStatistics_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | HistoryEntryWrite_U32 | UInt32 | PowerlinkVariableType | Optional | R |
| HasComponent | Variable | EmergencyQueueWrite_U32 | ||||
| HasComponent | Variable | EmergencyQueueOverflow_U32 | ||||
| HasComponent | Variable | StatusEntryChanged_U32 | ||||
| HasComponent | Variable | StaticErrorBitFieldChanged_U32 | ||||
| HasComponent | Variable | ExceptionResetEdgePos_U32 | ||||
| HasComponent | Variable | ExceptionNewEdge_U32 | ||||
7.4.2 DIA_NMTTelegrCount_Type Definition
Table 32 formally defines the VariableType to represent the POWERLINK Record DIA_NMTTelegrCount_TYPE.
| Attribute | Value | |||||
| BrowseName | DIA_NMTTelegrCount_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | IsochrCyc_U32 | UInt32 | PowerlinkVariableType | Optional | R |
| HasComponent | Variable | IsochrRx_U32 | ||||
| HasComponent | Variable | IsochrTx_U32 | ||||
| HasComponent | Variable | AsyncRx_U32 | ||||
| HasComponent | Variable | AsyncTx_U32 | ||||
| HasComponent | Variable | SdoRx_U32 | ||||
| HasComponent | Variable | SdoTx_U32 | ||||
| HasComponent | Variable | Status_U32 | ||||
7.4.3 DLL_ErrorCntRec_Type Definition
Table 33 formally defines the VariableType to represent the POWERLINK Record DLL_ErrorCntRec_TYPE.
| Attribute | Value | |||||
| BrowseName | DLL_ErrorCntRec_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | CumulativeCnt_U32 | UInt32 | PowerlinkVariableType | Mandatory | RW |
| HasComponent | Variable | Threshold_U32 | UInt32 | Mandatory | RW,S,VR | |
| HasComponent | Variable | ThresholdCnt_U32 | UInt32 | Mandatory | R | |
7.4.4 IDENTITY_Type Definition
Table 34 formally defines the VariableType to represent the POWERLINK Record IDENTITY.
| Attribute | Value | |||||
| BrowseName | IDENTITY_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | VendorId_U32 | UInt32 | PowerlinkVariableType | Mandatory | CONST |
| HasComponent | Variable | ProductCode_U32 | UInt32 | Optional | CONST | |
| HasComponent | Variable | RevisionNo_U32 | UInt32 | Optional | CONST | |
| HasComponent | Variable | SerialNo_U32 | UInt32 | Optional | CONST | |
7.4.5 INP_ProcessImage_Type Definition
Table 35 formally defines the VariableType to represent the POWERLINK Record INP_ProcessImage_TYPE.
| Attribute | Value | |||||
| BrowseName | INP_ProcessImage_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | SelectedRange_U32 | UInt32 | PowerlinkVariableType | Mandatory | RW |
| HasComponent | Variable | ProcessImageDomain_DOM | ByteString | Mandatory | RW | |
7.4.6 NMT_BootTime_Type Definition
Table 36 formally defines the VariableType to represent the POWERLINK Record NMT_BootTime_TYPE.
| Attribute | Value | |||||
| BrowseName | NMT_BootTime_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | MNWaitNotAct_U32 | UInt32 | PowerlinkVariableType | Mandatory | RW,S,VR |
| HasComponent | Variable | MNTimeoutPreOp1_U32 | UInt32 | Mandatory | RW,S,VR | |
| HasComponent | Variable | MNWaitPreOp1_U32 | UInt32 | Optional | RW,S,VR | |
| HasComponent | Variable | MNTimeoutPreOp2_U32 | UInt32 | Mandatory | RW,S,VR | |
| HasComponent | Variable | MNTimeoutReadyToOp_U32 | UInt32 | Mandatory | RW,S,VR | |
| HasComponent | Variable | MNIdentificationTimeout_U32 | UInt32 | Optional | RW,S,VR | |
| HasComponent | Variable | MNSoftwareTimeout_U32 | UInt32 | Optional | RW,S,VR | |
| HasComponent | Variable | MNConfigurationTimeout_U32 | UInt32 | Optional | RW,S,VR | |
| HasComponent | Variable | MNStartCNTimeout_U32 | UInt32 | Optional | RW,S,VR | |
| HasComponent | Variable | MNSwitchOverPriority_U32 | UInt32 | Optional | RW,VR | |
| HasComponent | Variable | MNSwitchOverDelay_U32 | UInt32 | Optional | RW,VR | |
| HasComponent | Variable | MNSwitchOverCycleDivider_U32 | UInt32 | Optional | RW,VR | |
7.4.7 NMT_CycleTiming_Type Definition
Table 37 formally defines the VariableType to represent the POWERLINK Record NMT_CycleTiming_TYPE.
| Attribute | Value | |||||
| BrowseName | NMT_CycleTiming_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | IsochrTxMaxPayload_U16 | UInt16 | PowerlinkVariableType | Mandatory | CONST |
| HasComponent | Variable | IsochrRxMaxPayload_U16 | UInt16 | Mandatory | CONST | |
| HasComponent | Variable | PResMaxLatency_U32 | UInt32 | Optional | CONST | |
| HasComponent | Variable | PReqActPayloadLimit_U16 | UInt16 | Optional | RW,S,VR | |
| HasComponent | Variable | PResActPayloadLimit_U16 | UInt16 | Optional | RW,S,VR | |
| HasComponent | Variable | ASndMaxLatency_U32 | UInt32 | Optional | CONST | |
| HasComponent | Variable | MultiplCycleCnt_U8 | Byte | Mandatory | RW,S,VR | |
| HasComponent | Variable | AsyncMTU_U16 | UInt16 | Mandatory | RW,S,VR | |
| HasComponent | Variable | Prescaler_U16 | UInt16 | Optional | RW,S,VR | |
| HasComponent | Variable | PResMode_U8 | Byte | Optional | R | |
| HasComponent | Variable | PResTimeFirst_U32 | UInt32 | Optional | R | |
| HasComponent | Variable | PResTimeSecond_U32 | UInt32 | Optional | R | |
| HasComponent | Variable | SyncMNDelayFirst_U32 | UInt32 | Optional | R | |
| HasComponent | Variable | SyncMNDelaySecond_U32 | UInt32 | Optional | R | |
| HasComponent | Variable | LeaseTime_U32 | UInt32 | Optional | R | |
7.4.8 NMT_EPLNodeID_Type Definition
Table 38 formally defines the VariableType to represent the POWERLINK Record NMT_EPLNodeID_TYPE.
| Attribute | Value | |||||
| BrowseName | NMT_EPLNodeID_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | NodeID_U8 | Byte | PowerlinkVariableType | Mandatory | R |
| HasComponent | Variable | NodeIDByHW_BOOL | Boolean | Mandatory | R | |
| HasComponent | Variable | SWNodeID_U8 | Byte | Optional | RW,S,VR | |
7.4.9 NMT_InterfaceGroup_Type Definition
Table 39 formally defines the VariableType to represent the POWERLINK Record NMT_InterfaceGroup_Xh_TYPE.
| Attribute | Value | |||||
| BrowseName | NMT_InterfaceGroup_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | InterfaceIndex_U16 | UInt16 | PowerlinkVariableType | Mandatory | R |
| HasComponent | Variable | InterfaceDescription_VSTR | String | Mandatory | CONST | |
| HasComponent | Variable | InterfaceType_U8 | Byte | Mandatory | CONST | |
| HasComponent | Variable | InterfaceMtu_U16 | UInt16 | Mandatory | CONST | |
| HasComponent | Variable | InterfacePhysAddress_OSTR | ByteString | Mandatory | CONST | |
| HasComponent | Variable | InterfaceName_VSTR | String | Mandatory | R | |
| HasComponent | Variable | InterfaceOperStatus_U8 | Byte | Mandatory | R | |
| HasComponent | Variable | InterfaceAdminState_U8 | Byte | Mandatory | RW,S | |
| HasComponent | Variable | Valid_BOOL | Boolean | Mandatory | RW,S | |
| HasComponent | Variable | PortEnableMask_U64 | UInt64 | Optional | R | |
7.4.10 NMT_MNCycleTiming_Type Definition
Table 40 formally defines the VariableType to represent the POWERLINK Record NMT_MNCycleTiming_TYPE.
| Attribute | Value | |||||
| BrowseName | NMT_MNCycleTiming_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | WaitSoCPReq_U32 | UInt32 | PowerlinkVariableType | Mandatory | RW,S,VR |
| HasComponent | Variable | AsyncSlotTimeout_U32 | UInt32 | Optional | RW,S,VR | |
| HasComponent | Variable | ASndMaxNumber | Byte | Optional | RW,S,VR | |
| HasComponent | Variable | MinRedCycleTime_U32 | UInt32 | Optional | RW,S,VR | |
7.4.11 NMT_ParameterStorage_Type Definition
Table 41 formally defines the VariableType to represent the POWERLINK Record NMT_ParameterStorage_TYPE.
| Attribute | Value | |||||
| BrowseName | NMT_ParameterStorage_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName |
Data
Type |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | AllParam_U32 | UInt32 | PowerlinkVariableType | Mandatory | RW |
| HasComponent | Variable | CommunicationParam_U32 | UInt32 | Optional | RW | |
| HasComponent | Variable | ApplicationParam_U32 | UInt32 | Optional | RW | |
| HasComponent | Variable | ManufacturerParam_XXh_U32 | UInt32 | Optional Placeholder | RW | |
7.4.12 NMT_RequestCmd_Type Definition
Table 42 formally defines the VariableType to represent the POWERLINK Record NMT_RequestCmd_TYPE.
| Attribute | Value | |||||
| BrowseName | NMT_RequestCmd_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName | DataType |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | Release_BOOL | Boolean | PowerlinkVariableType | Mandatory | RW |
| HasComponent | Variable | CmdID_U8 | Byte | Mandatory | RW | |
| HasComponent | Variable | CmdTarget_U8 | Byte | Mandatory | RW | |
| HasComponent | Variable | CmdData_DOM | ByteString | Optional | RW | |
7.4.13 NWL_IpAddrTable_Type Definition
Table 43 formally defines the VariableType to represent the POWERLINK Record NWL_IpAddrTable_TYPE.
| Attribute | Value | |||||
| BrowseName | NWL_IpAddrTable_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName | DataType |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | IfIndex_U16 | UInt16 | PowerlinkVariableType | Mandatory | R |
| HasComponent | Variable | Addr_IPAD | PowerlinkIpAddressDatatType | Mandatory | RW,S | |
| HasComponent | Variable | NetMask_IPAD | PowerlinkIpAddressDatatType | Mandatory | RW,S | |
| HasComponent | Variable | ReasmMaxSize_U16 | UInt16 | Mandatory | R | |
| HasComponent | Variable | DefaultGateway_IPAD | PowerlinkIpAddressDatatType | Mandatory | RW,S | |
7.4.14 PDO_CommParamRecord_Type Definition
Table 44 formally defines the VariableType to represent the POWERLINK Record PDO_CommParamRecord_TYPE.
| Attribute | Value | |||||
| BrowseName | PDO_CommParamRecord_Type | |||||
| IsAbstract | False | |||||
| References | NodeClass | BrowseName | DataType |
Type
Definition |
Modelling
Rule | Powerlink Attributes |
|---|---|---|---|---|---|---|
| Subtype of PowerlinkRecordType defined in 5.2.3. | ||||||
| HasComponent | Variable | NodeID_U8 | Byte | PowerlinkVariableType | Mandatory | RW,S |
| HasComponent | Variable | MappingVersion_U8 | Byte | Mandatory | RW,S | |
7.5 Structure DataTypes
7.5.1 PowerlinkErrorEntryDataType
Table 45 formally defines the Structure DataType PowerlinkErrorEntryDataType to represent the entries of the POWERLINK Object ERR_History_ADOM.
| Name | Type | Description |
| PowerlinkErrorEntryDataType | Structure | |
entryType | UInt16 | Entry type as defined in the Powerlink specification EPSG DS 301 |
errorCode | UInt16 | Error code as defined in the Powerlink specification EPSG DS 301 |
timeStamp | UInt64 | SoC Nettime from the cycle when the error/event was detected |
additionalInformation | UInt64 | This field contains device profile or vendor specific additional error information |
7.5.2 PowerlinkIpAddressDataType
Table 46 formally defines the Structure DataType PowerlinkIpAddressDataType to represent POWERLINK Objects of the POWERLINK data type IP_ADDRESS.
| Name | Type | Description |
| PowerlinkIpAddressDataType | Structure | |
b1 | Byte | 1st byte of the IP-Address, e.g. 192 for the Address 192.168.100.1 |
b2 | Byte | 2nd byte of the IP-Address, e.g. 168 for the Address 192.168.100.1 |
b3 | Byte | 3rd byte of the IP-Address, e.g. 100 for the Address 192.168.100.1 |
b4 | Byte | 4th byte of the IP-Address, e.g. 1 for the Address 192.168.100.1 |
7.5.3 PowerlinkPDOMappingEntryDataType
Table 47 formally defines the Structure DataType PowerlinkPDOMappingEntryDataType to represent the entries of POWERLINK Objects like PDO_RxCommParam_00h_REC.
| Name | Type | Description |
| PowerlinkPDOMappingEntryDataType | Structure | |
length | UInt16 | Index of the object to be mapped |
offset | UInt16 | Sub-Index of the object to be mapped |
reserved | Byte | for alignment purpose |
subIndex | Byte | Offset related to start of PDO payload (Bit count) |
index | UInt16 | Length of the mapped object (Bit count) |