SDO_WRITE_DATA (FB)¶
FUNCTION_BLOCK SDO_WRITE_DATA EXTENDS CiA405Base
This function block is used for writing a specific object in object dictionary of a DEVICE
.
If DATA
was written without error CONFIRM
becomes TRUE
.
DATA
has to be in Little Endian byte order.
If an error occurs ERROR
becomes unequal 0. In case of a SDO abort ERROR
is set to CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_OTHER_ERROR
and ERRORINFO
contains the associated abort code (in Little endian) as defined by CiA 301.
- InOut:
Scope
Name
Type
Initial
Comment
Inherited from
Input
NETWORK
USINT
1
CAN network number the function block should operate on. Note: It is not the same like the network number in CANBus configurator. The CiA405
NETWORK
is calculated by NetID + 1. Example: 1 = CAN0, 2 = CAN1, 3 = CAN2, …CiA405Base
ENABLE
BOOL
FALSE
Enables the function block on rising edge. Aborts operation on falling edge.
CiA405Base
TIMEOUT
UDINT
0
Timeout in ms; 0 means no timeout
CiA405Base
Output
CONFIRM
BOOL
FALSE
TRUE
: function block finished without errorCiA405Base
ERROR
CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_NO_ERROR
Error code: see CANOPEN_KERNEL_ERROR for further details
CiA405Base
Input
DEVICE
NodeID of destination device; 0 means local device (= CANopenManager)
CHANNEL
USINT
1
SDO channel: 0: use any free channel; 1..n: specific channel
INDEX
WORD
Index of object
SUBINDEX
BYTE
SubIndex of object
MODE
SDO_MODE.AUTO
specifies the SDO Mode to be used
DATA
POINTER TO BYTE
pointer to data which should be written (data has to be in little endian byte order)
DATALENGTH
UDINT
length of data in bytes
Output
ERRORINFO
contains abort code in little endian in case of
ERROR
is CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_OTHER_ERROR