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
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 |
PowerlinkErrorEntryDataType [ ] |
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_CommParamRecord_Type |
Optional |
- |
|||
Variable |
PDO_RxCommParam_01h_REC |
|||||||
Variable |
PDO_RxCommParam_02h_REC |
|||||||
Variable |
PDO_RxCommParam_03h_REC |
|||||||
Variable |
PDO_RxMappParam_00h_AU64 |
PowerlinkPDOMappingEntryDataType [ ] |
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_CommParamRecord_Type |
Optional |
- |
|||
Variable |
PDO_TxMappParam_00h_AU64 |
PowerlinkPDOMappingEntryDataType [ ] |
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 |
PowerlinkNMTStateEnumeration |
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 |
PowerlinkNMTResetCmdEnumeration |
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 |
|