This OPC UA ObjectType represents a Device with one or more POWERLINK interfaces.

Figure 15 shows an overview for the PowerlinkDeviceType with its Properties and related components. It is formally defined in Table 15.

image019.png

Figure 15 – PowerlinkDeviceType overview

The PowerlinkDeviceType is formally defined in Table 15.

Table 15 – PowerlinkDeviceType Definition

Attribute

Value

BrowseName

PowerlinkDeviceType

IsAbstract

False

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of DeviceType defined in OPC 10000-100.

Object

<CNIdentifier>

PowerlinkCnConnectionPointType

OptionalPlaceholder

Object

<MNIdentifier>

PowerlinkMnConnectionPointType

OptionalPlaceholder

The PowerlinkDeviceType is an example for a DeviceType that only implements POWERLINK Managing Node (MN) and/or POWERLINK Controlled Node (CN) interfaces, for instance for the representation of POWERLINK Devices by a generic gateway. Usually a Device will only implement one of these choices, but it is also possible to implement multiple POWERLINK interfaces on one Device.

The usage of the PowerlinkCnConnectionPointType and the PowerlinkMnConnectionPointType is not limited to the PowerlinkDeviceType. These ConnectionPoint-Types can be used by any other subtype of DeviceType.

The object CNIdentifier of the type PowerlinkCnConnectionPointType is a placeholder for the POWERLINK Object Dictionary of a POWERLINK Controlled Node. The PowerlinkCnConnectionPointType is defined in 6.3.

The object MNIdentifier of the type PowerlinkMnConnectionPointType is a placeholder for the POWERLINK Object Dictionary of a POWERLINK Managing Node. The PowerlinkMnConnectionPointType is defined in 6.4.

The Type PowerlinkDeviceType is a subtype of DeviceType defined in OPC 10000-100, which mandates a list of Properties for the Device.

Table 16 defines the values for these Properties based on the POWERLINK Objects of the implemented POWERLINK interface. If a PowerlinkDeviceType implements more than one POWERLINK interface, the selection of the interface as source for these objects is device specific.

Table 16 – DeviceType Mapping

DeviceType / OPC 10000-100

POWERLINK

BrowseName

DataType

Description

1:SerialNumber

String

Value of the POWERLINK Object SerialNo_U32 (Index 1018h, Sub-Index 4), converted to a string as decimal number.

If the optional POWERLINK Object is not provided by the device, SerialNumber shall be set to an empty string.

1:RevisionCounter

Int32

Always set to -1

1:Manufacturer

LocalizedText

This variable shall be set to the manufacturer name if known by the OPC UA server. If the server does not know the name the variable shall be set to the value of the POWERLINK Object VendorId_U32 (Index 1018h, Sub-Index 1), converted to a string as decimal number.

1:Model

LocalizedText

Value of the POWERLINK Object NMT_ManufactDevName_VS (Index 1008h)

If the optional POWERLINK Object is not provided by the device, Model shall be set to an empty text field.

1:DeviceManual

String

Pathname in the file system or URL (Web Address) specifying the address of the user manual for the Device.

1:DeviceRevision

String

Value of the POWERLINK Object RevisionNo_U32 (Index 1018h, Sub-Index 3), converted to a string with the format “major.minor”, where “major” is the decimal number of the higher 16 bit and “minor” is the decimal number of the lower 16 bit (as defined in EPSG DS 301)

Example:

POWERLINK RevisionNo_U32 = 0x00020064

DeviceRevision = “2.100”

If the optional POWERLINK Object t is not provided by the device, SoftwareRevision shall be set to an empty string.

1:SoftwareRevision

String

Value of the POWERLINK Object NMT_ManufactSwVers_VS (Index 100Ah).

If the optional POWERLINK Object is not provided by the device, SoftwareRevision shall be set to an empty string.

1:HardwareRevision

String

Value of the POWERLINK Object NMT_ManufactHwVers_VS (Index 1009h)

If the optional POWERLINK Object is not provided by the device, SoftwareRevision shall be set to an empty string.

1:DeviceClass

String

Value of the POWERLINK Object NMT_DeviceType_U32 (Index 1000h), converted to a string as decimal number.

The PowerlinkConnectionPointType is an abstract Object Type that defines the POWERLINK Objects, which are common for both POWERLINK Managing Node and POWERLINK Controlled Node.

Figure 16 shows a part of the PowerlinkConnectionPointType. The Object ParameterSet contains the POWERLINK Objects, modelled as defined in 5.2. In addition to these Variables, this specification defines a list of Methods (components of the Object MethodSet).

As defined by the concepts of OPC 10000-100 the Parameters (Variables) of the ParameterSet and Methods of the MethodSet are organised in FunctionalGroups where they are referenced by Organize-References. This concept allows splitting the Parameters into different categories, and at the same time, all Parameters are accessible under ParameterSet.

image020.png

Figure 16 – PowerlinkConnectionPointType

The PowerlinkConnectionPointType is formally defined in Table 17.

Table 17 – PowerlinkConnectionPointType Definition

Attribute

Value

BrowseName

PowerlinkConnectionPointType

IsAbstract

True

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Powerlink Attributes

Subtype of ConnectionPointType defined in OPC 10000-100.

HasSubtype PowerlinkCnConnectionPointType defined in 6.3

HasSubtype PowerlinkMnConnectionPointType defined in 6.4

FunctionalGroup NetworkAddress

Variable

NMT_EPLNodeID_REC

-

NMT_EPLNodeID‌_Type

Mandatory

-

Variable

NWL_IpAddrTable_0h_REC

-

NWL_IpAddrTable‌_Type

Optional

-

Functional Group Identification

Variable

NMT_ChildIdentList_AU16

UInt16 [ ]

PowerlinkArrayType

Optional

R

Variable

NMT_DeviceType_U32

UInt32

PowerlinkVariableType

Mandatory

CONST

Variable

NMT_EPLVersion_U8

Byte

PowerlinkVariableType

Mandatory

CONST

Variable

NMT_FeatureFlags_U32

UInt32

PowerlinkVariableType

Mandatory

CONST

Variable

NMT_HostName_VSTR

String

PowerlinkVariableType

Optional

RW,S

Variable

NMT_IdentityObject_REC

-

IDENTITY_Type

Mandatory

-

Variable

NMT_ManufactDevName_VS

String

PowerlinkVariableType

Optional

CONST

Variable

NMT_ManufactHwVers_VS

String

PowerlinkVariableType

Optional

CONST

Variable

NMT_ManufactSwVers_VS

String

PowerlinkVariableType

Optional

CONST

Functional Group Diagnostics

Variable

DIA_ERRStatistics_REC

-

DIA_ERRStatistics‌_Type

Optional

-

Variable

DIA_NMTTelegrCount_REC

-

DIA_NMTTelegrCount‌_Type

Optional

-

Variable

ERR_ErrorRegister_U8

ErrorRegisterBits

PowerlinkVariableType

Mandatory

R

Variable

ERR_History_ADOM

PowerlinkError‌EntryDataType [ ]

PowerlinkArrayType

Optional

R

Variable

PDO_ErrMapVers_OSTR

ByteString

PowerlinkVariableType

Optional

RW

Variable

PDO_ErrShort_RX_OSTR

ByteString

PowerlinkVariableType

Optional

RW

Functional Group Configuration

Variable

NMT_ConsumerHeartbeatTime_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S

Variable

NMT_CycleLen_U32

UInt32

PowerlinkVariableType

Mandatory

RW,S,VR

Variable

NMT_CycleTiming_REC

-

NMT_CycleTiming‌_Type

Mandatory

-

Variable

NMT_IsochrSlotAssign_AU8

Byte [ ]

PowerlinkArrayType

Optional

RW,S,VR

Variable

NMT_MultiplCycleAssign_AU8

Byte [ ]

PowerlinkArrayType

Optional

RW,S,VR

Variable

NMT_NodeAssignment_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S

Variable

NMT_PResPayloadLimitList_AU16

UInt16 [ ]

PowerlinkArrayType

Optional

RW,S,VR

Variable

NMT_RestoreDefParam_REC

-

NMT_ParameterStorage‌_Type

Optional

-

Variable

NMT_StoreParam_REC

Variable

PDL_MnExpAppSwDateList_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S

Variable

PDL_MnExpAppSwTimeList_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S

Variable

PDO_RxCommParam_00h_REC

-

PDO_CommParam‌Record_Type

Optional

-

Variable

PDO_RxCommParam_01h_REC

Variable

PDO_RxCommParam_02h_REC

Variable

PDO_RxCommParam_03h_REC

Variable

PDO_RxMappParam_00h_AU64

PowerlinkPDO‌Mapping‌Entry‌DataType [ ]

PowerlinkArrayType

Optional

RW,S

Variable

PDO_RxMappParam_01h_AU64

Variable

PDO_RxMappParam_02h_AU64

Variable

PDO_RxMappParam_03h_AU64

Variable

PDO_TxCommParam_00h_REC

-

PDO_CommParam‌Record_Type

Optional

-

Variable

PDO_TxMappParam_00h_AU64

PowerlinkPDO‌Mapping‌Entry‌DataType [ ]

PowerlinkArrayType

Optional

RW,S

Variable

SDO_CmdLayerTimeout_U32

UInt32

PowerlinkVariableType

Optional

RW,S,VR

Variable

SDO_SequLayerNoAck_U32

UInt32

PowerlinkVariableType

Optional

RW,S,VR

Variable

SDO_SequLayerTimeout_U32

UInt32

PowerlinkVariableType

Mandatory

RW,S,VR

Functional Group Status

Variable

NMT_CurrNMTState_U8

Powerlink‌NMTState‌Enumeration

PowerlinkVariableType

Mandatory

R

Variable

NMT_InterfaceGroup_0h_REC

-

NMT_InterfaceGroup_Type

Mandatory

-

Variable

NMT_RelativeLatencyDiff_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

R

Functional Group Control

Variable

INP_ProcessImage_REC

-

INP_ProcessImage_Type

Optional

-

Variable

NMT_ResetCmd_U8

Powerlink‌NMTResetCmd‌Enumeration

PowerlinkVariableType

Mandatory

RW

FunctionalGroup SdoServices

Method

ReadByIndex

Defined in 6.2.3 Method ReadByIndex

Mandatory

Method

WriteByIndex

Defined in 6.2.4 Method WriteByIndex

Mandatory

The Method ReadByIndex reads the value of a POWERLINK Object addressed by Index and Sub-Index.

Signature

ReadByIndex (

[in]UInt16 Index

[in]Byte SubIndex

[out]BaseDataTypeData

[out]UInt32 PowerlinkAbortCode

);

Argument

Description

Index

Index of the POWERLINK Object in the POWERLINK Object Dictionary

SubIndex

Sub-Index of the POWERLINK Object in the POWERLINK Object Dictionary

Data

Value of the POWERLINK Object

PowerlinkAbortCode

SDO Abort Code as defined in EPSG DS 301

Some of the SDO Abort Codes defined in POWERLINK are mapped to an OPC UA ResultCode, see table for ‘Method Result Codes’

Method Result Codes

ResultCode

SDO Abort Code

Description

Good

0

The read access was successful

Bad_ResourceInvalid

-

The POWERLINK Device is not available, the output argument PowerlinkAbortCode will be set to 0x0504 0000 (timeout)

Bad_NotFound

0x0602 0000

Object does not exist in the POWERLINK Object Dictionary

0x0609 0011

Sub-Index does not exist

Bad_Timeout

0x0504 0000

The operation timed out / SDO protocol timed out

Bad_NotReadable

0x0601 0001

Attempt to read a write-only POWERLINK Object

Bad_CommunicationError

All other SDO Abort Codes

The Method WriteByIndex can be used to access the POWERLINK Object Dictionary by Index and Sub-Index to write values of POWERLINK Objects.

Signature

WriteByIndex (

[in]UInt16 Index

[in]Byte SubIndex

[in]BaseDataTypeData

[out]UInt32 PowerlinkAbortCode

);

Argument

Description

Index

Index of the POWERLINK Object in the POWERLINK Object Dictionary

SubIndex

Sub-Index of the POWERLINK Object in the POWERLINK Object Dictionary

Data

Data to be written to the POWERLINK Object

PowerlinkAbortCode

SDO Abort Code as defined in EPSG DS 301

Some of the SDO Abort Codes defined in POWERLINK are mapped to an OPC UA ResultCode, see table for ‘Method Result Codes’

Method Result Codes

ResultCode

SDO Abort Code

Description

Good

0

The write access was successful

Bad_ResourceInvalid

-

The POWERLINK Device is not available, the output argument PowerlinkAbortCode will be set to 0x0504 0000 (timeout)

Bad_NotFound

0x0602 0000

Object does not exist in the POWERLINK Object Dictionary

0x0609 0011

Sub-Index does not exist

Bad_Timeout

0x0504 0000

The operation timed out / SDO protocol timed out

Bad_NotSupported

0x0601 0000

Unsupported access to an POWERLINK Object

Bad_NotWritable

0x0601 0002

Attempt to write a read-only POWERLINK Object

Bad_OutOfRange

0x0609 0030

Value range of parameter exceeded

0x0609 0031

Value of parameter written too high

0x0609 0032

Value of parameter written too low

Bad_TypeMismatch

0x0607 0010

length of service parameter does not match

0x0607 0012

length of service parameter too high

0x0607 0013

length of service parameter too low

Bad_CommunicationError

All other SDO Abort Codes

The PowerlinkCnConnectionPointType is a subtype of PowerlinkConnectionPointType and adds the POWERLINK Objects that are specific to the POWERLINK Controlled Node. It also provides the possibility to implement POWERLINK Device Profiles and customer specific POWERLINK Objects by adding components of the Type PowerlinkDeviceProfileType.

The PowerlinkCnConnectionPointType is formally defined in Table 18.

Table 18 – PowerlinkCnConnectionPointType Definition

Attribute

Value

BrowseName

PowerlinkCnConnectionPointType

IsAbstract

False

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Powerlink Attributes

Subtype of PowerlinkConnectionPointType defined in 6.2.2.

Object

<DeviceProfileIdentifier>

-

PowerlinkDeviceProfileType

OptionalPlaceholder

FunctionalGroup Diagnostics

Variable

DLL_CNCollision_REC

-

DLL_ErrorCntRec_Type

Optional

-

Variable

DLL_CNCRCError_REC

-

DLL_ErrorCntRec_Type

Mandatory

-

Variable

DLL_CNLossOfLinkCum_U32

UInt32

PowerlinkVariableType

Optional

RW

Variable

DLL_CNLossOfSocTolerance_U32

UInt32

PowerlinkVariableType

Mandatory

RW,S

Variable

DLL_CNLossPReq_REC

-

DLL_ErrorCntRec_Type

Optional

-

Variable

DLL_CNLossSoA_REC

-

DLL_ErrorCntRec_Type

Optional

-

Variable

DLL_CNLossSoC_REC

-

DLL_ErrorCntRec_Type

Mandatory

-

Variable

DLL_CNSoCJitter_REC

-

DLL_ErrorCntRec_Type

Optional

-

FunctionalGroup Configuration

Variable

DLL_CNSoCJitterRange_U32

UInt32

PowerlinkVariableType

Optional

RW

Variable

NMT_CNBasicEthernetTimeout_U32

UInt32

PowerlinkVariableType

Mandatory

RW,S,VR

The object DeviceProfileIdentifier of the type PowerlinkDeviceProfileType is a placeholder for the device- or vendor-specific part of the POWERLINK Object Dictionary.

The PowerlinkDeviceProfileType is formally defined in Table 19.

Table 19 – PowerlinkDeviceProfileType Definition

Attribute

Value

BrowseName

PowerlinkDeviceProfileType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

AccessLevel

Subtype of TopologyElementType defined in OPC 10000-100

HasProperty

Variable

IndexRangeStart

UInt16

PropertyType

Mandatory

Read

HasProperty

Variable

IndexRangeSize

UInt16

PropertyType

Mandatory

Read

The Properties IndexRangeStart and IndexRangeSize indicate the range of POWERLINK Objects represented by the instance. The POWERLINK Objects shall be components of the Object ParameterSet, which is defined in the TopologyElementType by OPC 10000-100.

Table 20 shows the ranges that are available for objects defined by POWERLINK Device Profiles and manufacturer specific POWERLINK Objects.

Table 20 – Device Profile Ranges

Index Range

Description

2000h – 5FFFh

Manufacturer Specific Profile Area

6000h – 67FFh

Standardised Device Profile Area, device 0

6800h – 6FFFh

Standardised Device Profile Area, device 1

7000h – 77FFh

Standardised Device Profile Area, device 2

7800h – 7FFFh

Standardised Device Profile Area, device 3

8000h – 87FFh

Standardised Device Profile Area, device 4

8800h – 8FFFh

Standardised Device Profile Area, device 5

9000h – 97FFh

Standardised Device Profile Area, device 6

9800h – 9FFFh

Standardised Device Profile Area, device 7

The PowerlinkMnConnectionPointType is a subtype of PowerlinkConnectionPointType and adds the POWERLINK Objects that are specific to the POWERLINK Managing Node.

The PowerlinkMnConnectionPointType is formally defined in Table 21.

Table 21 – PowerlinkMnConnectionPointType Definition

Please report errors or issues with the site to webmaster.

Copyright © 2024 - OPC Foundation

Attribute

Value

BrowseName

PowerlinkMnConnectionPointType

IsAbstract

False

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Powerlink Attributes

Subtype of PowerlinkConnectionPointType defined in 6.2.2.

FunctionalGroup Diagnostics

Variable

DLL_MNCNLatePResCumCnt_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW

Variable

DLL_MNCNLatePResThrCnt_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

R

Variable

DLL_MNCNLatePResThreshold_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S

Variable

DLL_MNCNLossPResCumCnt_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW

Variable

DLL_MNCNLossPResThrCnt_AU32

UInt32 [ ]

PowerlinkArrayType

Mandatory

R

Variable

DLL_MNCNLossPResThreshold_AU32

UInt32 [ ]

PowerlinkArrayType

Mandatory

RW,S

Variable

DLL_MNCollision_REC

-

DLL_ErrorCntRec_Type

Optional

-

Variable

DLL_MNCRCError_REC

-

DLL_ErrorCntRec_Type

Mandatory

-

Variable

DLL_MNCycTimeExceed_REC

-

DLL_ErrorCntRec_Type

Optional

-

Variable

DLL_MNLossOfLinkCum_U32

UInt32 [ ]

PowerlinkVariableType

Optional

RW

Variable

DLL_MNLossStatusResCumCnt_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW

Variable

DLL_MNLossStatusResThrCnt_AU32

UInt32 [ ]

PowerlinkArrayType

Mandatory

R

Variable

DLL_MNLossStatusResThreshold_AU32

UInt32 [ ]

PowerlinkArrayType

Mandatory

RW,S

Variable

NMT_MNNodeCurrState_AU8

Powerlink‌NMTState‌Enumeration [ ]

PowerlinkArrayType

Mandatory

R

Variable

NMT_MNNodeExpState_AU8

Powerlink‌NMTState‌Enumeration [ ]

PowerlinkArrayType

Optional

R

Variable

NMT_RequestCmd_REC

-

NMT_RequestCmd_Type

Mandatory

-

FunctionalGroup Configuration

Variable

CFM_ExpConfDateList_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S

Variable

CFM_ExpConfIdList_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S

Variable

CFM_ExpConfTimeList_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S

Variable

DLL_MNCycleSuspendNumber_U32

UInt32

PowerlinkVariableType

Mandatory

RW

Variable

NMT_BootTime_REC

-

NMT_BootTime_Type

Mandatory

-

Variable

NMT_MNCNPResTimeout_AU32

UInt32 [ ]

PowerlinkArrayType

Mandatory

RW,S,VR

Variable

NMT_MNCycleTiming_REC

-

NMT_MNCycleTiming_Type

Mandatory

-

Variable

NMT_MNDeviceTypeIdList_AU32

UInt32 [ ]

PowerlinkArrayType

Mandatory

RW,S,VR

Variable

NMT_MNPReqPayloadLimitList_AU16

UInt16 [ ]

PowerlinkArrayType

Mandatory

RW,S,VR

Variable

NMT_MNProductCodeList_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S,VR

Variable

NMT_MNRevisionNoList_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S,VR

Variable

NMT_MNSerialNoList_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S,VR

Variable

NMT_MNVendorIdList_AU32

UInt32 [ ]

PowerlinkArrayType

Optional

RW,S,VR

Variable

NMT_StartUp_U32

UInt32

PowerlinkVariableType

Mandatory

RW,S,VR

Variable

PDO_TxCommParam_01h_REC

-

PDO_CommParam‌Record_Type

Optional

-

Variable

PDO_TxCommParam_02h_REC

Variable

PDO_TxCommParam_03h_REC

Variable

PDO_TxMappParam_01h_AU64

PowerlinkPDO‌MappingEntry‌DataType [ ]

PowerlinkArrayType

Optional

RW,S

Variable

PDO_TxMappParam_02h_AU64

Variable

PDO_TxMappParam_03h_AU64