6.2 PowerlinkConnectionPointType

6.2.1 General

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.

Figure 16 – PowerlinkConnectionPointType

6.2.2 PowerlinkConnectionPointType Definition

The PowerlinkConnectionPointType is formally defined in Table 17.

Table 17 – PowerlinkConnectionPointType Definition
Attribute Value
BrowseNamePowerlinkConnectionPointType
IsAbstractTrue
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
VariableNMT_EPLNodeID_REC-NMT_EPLNodeID‌_TypeMandatory-
VariableNWL_IpAddrTable_0h_REC-NWL_IpAddrTable‌_TypeOptional-
Functional Group Identification
VariableNMT_ChildIdentList_AU16UInt16 [ ]PowerlinkArrayTypeOptionalR
VariableNMT_DeviceType_U32UInt32PowerlinkVariableTypeMandatoryCONST
VariableNMT_EPLVersion_U8BytePowerlinkVariableTypeMandatoryCONST
VariableNMT_FeatureFlags_U32UInt32PowerlinkVariableTypeMandatoryCONST
VariableNMT_HostName_VSTRStringPowerlinkVariableTypeOptionalRW,S
VariableNMT_IdentityObject_REC-IDENTITY_TypeMandatory-
VariableNMT_ManufactDevName_VSStringPowerlinkVariableTypeOptionalCONST
VariableNMT_ManufactHwVers_VSStringPowerlinkVariableTypeOptionalCONST
VariableNMT_ManufactSwVers_VSStringPowerlinkVariableTypeOptionalCONST
Functional Group Diagnostics
VariableDIA_ERRStatistics_REC-DIA_ERRStatistics‌_TypeOptional-
VariableDIA_NMTTelegrCount_REC-DIA_NMTTelegrCount‌_TypeOptional-
VariableERR_ErrorRegister_U8ErrorRegisterBitsPowerlinkVariableTypeMandatoryR
VariableERR_History_ADOMPowerlinkError‌EntryDataType [ ]PowerlinkArrayTypeOptionalR
VariablePDO_ErrMapVers_OSTRByteStringPowerlinkVariableTypeOptionalRW
VariablePDO_ErrShort_RX_OSTRByteStringPowerlinkVariableTypeOptionalRW
Functional Group Configuration
VariableNMT_ConsumerHeartbeatTime_AU32UInt32 [ ]PowerlinkArrayTypeOptionalRW,S
VariableNMT_CycleLen_U32UInt32PowerlinkVariableTypeMandatoryRW,S,VR
VariableNMT_CycleTiming_REC-NMT_CycleTiming‌_TypeMandatory-
VariableNMT_IsochrSlotAssign_AU8Byte [ ]PowerlinkArrayTypeOptionalRW,S,VR
VariableNMT_MultiplCycleAssign_AU8Byte [ ]PowerlinkArrayTypeOptionalRW,S,VR
VariableNMT_NodeAssignment_AU32UInt32 [ ]PowerlinkArrayTypeOptionalRW,S
VariableNMT_PResPayloadLimitList_AU16UInt16 [ ]PowerlinkArrayTypeOptionalRW,S,VR
VariableNMT_RestoreDefParam_REC-NMT_ParameterStorage‌_TypeOptional-
VariableNMT_StoreParam_REC
VariablePDL_MnExpAppSwDateList_AU32UInt32 [ ]PowerlinkArrayTypeOptionalRW,S
VariablePDL_MnExpAppSwTimeList_AU32UInt32 [ ]PowerlinkArrayTypeOptionalRW,S
VariablePDO_RxCommParam_00h_REC-PDO_CommParam‌Record_TypeOptional-
VariablePDO_RxCommParam_01h_REC
VariablePDO_RxCommParam_02h_REC
VariablePDO_RxCommParam_03h_REC
VariablePDO_RxMappParam_00h_AU64PowerlinkPDO‌Mapping‌Entry‌DataType [ ]PowerlinkArrayTypeOptionalRW,S
VariablePDO_RxMappParam_01h_AU64
VariablePDO_RxMappParam_02h_AU64
VariablePDO_RxMappParam_03h_AU64
VariablePDO_TxCommParam_00h_REC-PDO_CommParam‌Record_TypeOptional-
VariablePDO_TxMappParam_00h_AU64PowerlinkPDO‌Mapping‌Entry‌DataType [ ]PowerlinkArrayTypeOptionalRW,S
VariableSDO_CmdLayerTimeout_U32UInt32PowerlinkVariableTypeOptionalRW,S,VR
VariableSDO_SequLayerNoAck_U32UInt32PowerlinkVariableTypeOptionalRW,S,VR
VariableSDO_SequLayerTimeout_U32UInt32PowerlinkVariableTypeMandatoryRW,S,VR
Functional Group Status
VariableNMT_CurrNMTState_U8Powerlink‌NMTState‌EnumerationPowerlinkVariableTypeMandatoryR
VariableNMT_InterfaceGroup_0h_REC-NMT_InterfaceGroup_TypeMandatory-
VariableNMT_RelativeLatencyDiff_AU32UInt32 [ ]PowerlinkArrayTypeOptionalR
Functional Group Control
VariableINP_ProcessImage_REC-INP_ProcessImage_TypeOptional-
VariableNMT_ResetCmd_U8Powerlink‌NMTResetCmd‌EnumerationPowerlinkVariableTypeMandatoryRW
FunctionalGroup SdoServices
MethodReadByIndexDefined in 6.2.3 Method ReadByIndexMandatory
MethodWriteByIndexDefined in 6.2.4 Method WriteByIndexMandatory

6.2.3 Method ReadByIndex

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]	BaseDataType	Data
		[out]	UInt32		PowerlinkAbortCode
		);
	
Argument Description
IndexIndex of the POWERLINK Object in the POWERLINK Object Dictionary
SubIndexSub-Index of the POWERLINK Object in the POWERLINK Object Dictionary
DataValue 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
Good0The read access was successful
Bad_ResourceInvalid-The POWERLINK Device is not available, the output argument PowerlinkAbortCode will be set to 0x0504 0000 (timeout)
Bad_NotFound0x0602 0000Object does not exist in the POWERLINK Object Dictionary
0x0609 0011Sub-Index does not exist
Bad_Timeout0x0504 0000The operation timed out / SDO protocol timed out
Bad_NotReadable0x0601 0001Attempt to read a write-only POWERLINK Object
Bad_CommunicationErrorAll other SDO Abort Codes

6.2.4 Method WriteByIndex

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]	BaseDataType	Data
		[out]	UInt32		PowerlinkAbortCode
		);
	
Argument Description
IndexIndex of the POWERLINK Object in the POWERLINK Object Dictionary
SubIndexSub-Index of the POWERLINK Object in the POWERLINK Object Dictionary
DataData 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
Good0The write access was successful
Bad_ResourceInvalid-The POWERLINK Device is not available, the output argument PowerlinkAbortCode will be set to 0x0504 0000 (timeout)
Bad_NotFound0x0602 0000Object does not exist in the POWERLINK Object Dictionary
0x0609 0011Sub-Index does not exist
Bad_Timeout0x0504 0000The operation timed out / SDO protocol timed out
Bad_NotSupported0x0601 0000Unsupported access to an POWERLINK Object
Bad_NotWritable0x0601 0002Attempt to write a read-only POWERLINK Object
Bad_OutOfRange0x0609 0030Value range of parameter exceeded
0x0609 0031Value of parameter written too high
0x0609 0032Value of parameter written too low
Bad_TypeMismatch0x0607 0010length of service parameter does not match
0x0607 0012length of service parameter too high
0x0607 0013length of service parameter too low
Bad_CommunicationErrorAll other SDO Abort Codes