TRANSITION_STATE (ENUM) ¶ TYPE TRANSITION_STATE : Describes the NMT state transitions for function block GET_STATE . Attributes: qualified_only InOut: Name Initial Comment START_REMOTE_NODE 16#5 Enter DEVICE_STATE.OPERATIONAL STOP_REMOTE_NODE 16#4 Enter DEVICE_STATE.STOPPED ENTER_PRE_OPERATIONAL 16#7F Enter DEVICE_STATE.PRE_OPERATIONAL RESET_NODE 16#6 Reset node RESET_COMMUNICATION 16#7 Reset communication ALL_EXCEPT_NMT_AND_SENDER 16#800 A flag for using in combination with another TRANSITION_STATE (logical OR). Must be used if NMT command should be addressed to all devices ( `` DEVICE``=0) but not to the NMT sender and NMT master (= CANopenManager).
Function Blocks ¶ Network management NMT (FunctionBlock) RECV_EMCY (FunctionBlock) RECV_EMCY_DEV (FunctionBlock) Own node id GET_LOCAL_NODE_ID (FunctionBlock) Query state GET_CANOPEN_KERNEL_STATE (FunctionBlock) GET_STATE (FunctionBlock) SDO access SDO_READ4 (FunctionBlock) SDO_READ_DATA (FunctionBlock) SDO_WRITE4 (FunctionBlock) SDO_WRITE_DATA (FunctionBlock) obsolete (only for compatibility) SDO_READ (FunctionBlock) SDO_WRITE (FunctionBlock)
Network management ¶ NMT (FunctionBlock) RECV_EMCY (FunctionBlock) RECV_EMCY_DEV (FunctionBlock)
NMT (FB) ¶ FUNCTION_BLOCK NMT EXTENDS CiA405Base This function block provides NMT services. The NMT request will be sent to the NodeID specified in input DEVICE . If NMT request should be addressed to all devices (including NMT master and sending device) set DEVICE to 0 . If all devices but not NMT master and sending device should be addressed use the additional flag TRANSITION_STATE.ALL_EXCEPT_NMT_AND_SENDER . 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 error CiA405Base ERROR CANOPEN_KERNEL_ERROR CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_NO_ERROR Error code: see CANOPEN_KERNEL_ERROR for further details CiA405Base Input DEVICE DEVICE 0 NodeID of destination device (local or remote). 0 means all devices. STATE TRANSITION_STATE 0 The NMT transition which should be performed.
RECV_EMCY (FB) ¶ FUNCTION_BLOCK RECV_EMCY EXTENDS CiA405Base Function block checks if an emergency object has been received from any DEVICE . If the function block has finished its action without any error, output CONFIRM is changed to TRUE and ERROR to 0. If DEVICE is 0 all devices are error free. If an EMCY is pending or an EMCY error reset was received output DEVICE contains the NodeID of the corresponding device and ERRORINFO contains the EMCY information. Note An EMCY will be returned as long as it is pending. An EMCY error reset (Variable EMCY_ERROR_CODE of EMCY_ERROR is zero) is returned only once. If an error occurred while checking for an emergency, CONFIRM is set to FALSE and ERROR is set to the corresponding error value. 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 error CiA405Base ERROR CANOPEN_KERNEL_ERROR CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_NO_ERROR Error code: see CANOPEN_KERNEL_ERROR for further details CiA405Base DEVICE DEVICE 0 EMCY received: DEVICE contains the NODEID of the sending device; no EMCY received: value is 0 ERRORINFO EMCY_ERROR EMCY information
RECV_EMCY_DEV (FB) ¶ FUNCTION_BLOCK RECV_EMCY_DEV EXTENDS CiA405Base Function block checks if an emergency object has been received from NodeID specified by input DEVICE . If the function block has finished its action without any error, output CONFIRM is changed to TRUE and ERROR to 0. Member EMCY_ERROR_CODE of output ERRORINFO is unequal zero if an EMCY is pending. If EMCY_ERROR_CODE equals zero no EMCY is currently pending. Note A received emergency is not cleared and it is delivered with each call of the function block until the device sends an emergency reset. If an error occurred while checking for an emergency, CONFIRM is set to FALSE and ERROR is set to the corresponding error value. 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 error CiA405Base ERROR CANOPEN_KERNEL_ERROR CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_NO_ERROR Error code: see CANOPEN_KERNEL_ERROR for further details CiA405Base Input DEVICE DEVICE 0 NodeID of device Output ERRORINFO EMCY_ERROR EMCY information; if member EMCY_ERROR_CODE is zero, no EMCY is pending.
Own node id ¶ GET_LOCAL_NODE_ID (FunctionBlock)
GET_LOCAL_NODE_ID (FB) ¶ FUNCTION_BLOCK GET_LOCAL_NODE_ID EXTENDS CiA405Base Function block returns the NodeID of the local device (= CANopenManager) 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 error CiA405Base ERROR CANOPEN_KERNEL_ERROR CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_NO_ERROR Error code: see CANOPEN_KERNEL_ERROR for further details CiA405Base DEVICE DEVICE 0 NodeID of local device
Query state ¶ GET_CANOPEN_KERNEL_STATE (FunctionBlock) GET_STATE (FunctionBlock)
GET_CANOPEN_KERNEL_STATE (FB) ¶ FUNCTION_BLOCK GET_CANOPEN_KERNEL_STATE EXTENDS CiA405Base Gets the current state of the CANopen Kernel. As long as CANopen network is running correctly the function block returns CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_NO_ERROR for output STATE . The function block detects bus errors, configuration errors, guarding errors and internal system errors (e.g. out of system memory). 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 error CiA405Base ERROR CANOPEN_KERNEL_ERROR CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_NO_ERROR Error code: see CANOPEN_KERNEL_ERROR for further details CiA405Base STATE CANOPEN_KERNEL_ERROR CANOPEN_KERNEL_ERROR.CANOPEN_KERNEL_NO_ERROR Current stack state.