Instruction Manual
Table Of Contents
- System bus (CAN) for Lenze PLC devices
- This documentation is valid for ...
- Contents
- 1 Preface and general information
- 2 General information on the system bus (CAN)
- 2.1 Introduction
- 2.2 Interfaces of the Lenze PLCs for system bus connection
- 2.3 Identification of the nodes
- 2.4 Structure of the CAN telegram
- 2.5 Network management (NMT)
- 2.6 Transmission of process data
- 2.7 Transmitting parameter data
- 2.8 Free CAN objects
- 2.9 Application recommendations for the different CAN objects
- 2.10 Monitoring mechanisms
- 3 Configuration (system bus - CAN interface)
- 3.1 CAN baud rate
- 3.2 CAN boot-up
- 3.3 Node address (node ID)
- 3.4 Identifiers of the process data objects
- 3.5 Cycle time (CAN2_OUT/CAN3_OUT)
- 3.6 Delay time (CAN2_OUT/CAN3_OUT)
- 3.7 Synchronisation
- 3.8 Reset node
- 3.9 System bus management
- 3.10 Mapping indexes to codes
- 3.11 Remote parameterisation (gateway function)
- 3.12 Monitoring processes
- 3.13 Diagnostics
- 4 Configuration (AIF interface)
- 5 Configuration (FIF interface)
- 6 Configuration (CAN-AUX system bus interface)
- 7 CAN system blocks
- 8 FIF-CAN system blocks (only Drive PLC)
- 9 CAN-AUX system blocks (only ECSxA)
- 10 LenzeCanDrv.lib function library
- 10.1 Overview
- 10.2 Version identifiers of the function library
- 10.3 L_CanInit - initialising the CAN driver
- 10.4 L_CanClose - deactivating the CAN driver
- 10.5 L_CanGetStatus - querying the driver status
- 10.6 L_CanGetRelocCobId - querying the COB-ID range
- 10.7 L_CanPdoTransmit - transmitting a CAN object
- 10.8 L_CanPdoReceive - receiving a CAN object
- 11 LenzeCanDSxDrv.libfunction library
- 11.1 Overview
- 11.2 Version identifiers of the function library
- 11.3 L_CanDSxInitIndexCode - Configuration of index mapping
- 11.4 L_CanDSxOpen - initialising the CanDSx driver
- 11.5 L_CanDSxClose - deactivating the index mapping
- 11.6 L_CanDSxOpenHeartBeat - initialising a "Heartbeat"
- 11.7 L_CanDSxHeartBeat - carrying out a "Heartbeat"
- 11.8 L_CanDSxCloseHeartBeat - deactivating the "Heartbeat"
- 11.9 L_CanDSxOpenNodeGuarding - initialising the "Node Guarding"
- 11.10 L_CanDSxNodeGuarding - carrying out a "Node guarding"
- 11.11 L_CanDSxCloseNodeGuarding - deactivating the "Node Guarding"
- 12 Index

System bus (CAN) for Lenze PLC devices
LenzeCanDSxDrv.lib function library
11.6 L_CanDSxOpenHeartBeat − initialising a "Heartbeat"
11−7
L
PLC−Systembus EN 2.0
11.6 L_CanDSxOpenHeartBeat − initialising a "Heartbeat"
Function
In the CANopen communication profile (CiA DS301, version 4.01) two optional monitoring
mechanisms for ensuring the function of system bus nodes are specified, "Heartbeat" and "Node
Guarding".
By means of this function, the "Heartbeat" monitoring mechanism of the CanDSx driver is initialised.
· For the initialisation the transfer parameter bOpen has to be set to TRUE.
· The actual monitoring is carried out using the L_CanDSxHeartBeat FB. (^ 11−8)
· By means of the function L_CanDSxCloseHeartBeat you can deactivate the "Heartbeat"
monitoring mechanism again.
(^ 11−10)
Note!
Using both monitoring mechanisms at the same is not permitted!
If a non−zero transmission cycle time for the "Heartbeat" message is configured for the node to be
monitored, the "Heartbeat" mechanism is used prior to the "Node Guarding" mechanism.
Declaration
BOOL L_CanDSxOpenHeartBeat(bOpen);
Transfer parameters Data type Information/possible settings
bOpen Bool Initialising the "Heartbeat" monitoring mechanism.
TRUE The "Heartbeat" monitoring mechanism of the CanDSx driver is initialised.
Return value Data type Value/meaning
Bool Status
TRUE The "Heartbeat" monitoring mechanism has been initialised.
FALSE A The "Heartbeat" monitoring mechanism has not been initialised.
– Remedy: function call with transfer parameter bOpen = TRUE.
or
B Beforehand the function L_CanDSxOpenNodeGuarding has been called
("Node Guarding" is activated).
– Remedy: function call L_CanDSxCloseNodeGuarding with transfer
parameter bClose = TRUE (deactivate "Node Guarding").
Example
Calling the function in ST:
bReturnOpenHeartBeat := L_CanDSxOpenHeartBeat(bOpen:=TRUE);