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.9 L_CanDSxOpenNodeGuarding − initialising the "Node Guarding"
11−11
L
PLC−Systembus EN 2.0
11.9 L_CanDSxOpenNodeGuarding − initialising the "Node Guarding"
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 "Node Guarding" 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_CanDSxNodeGuarding FB. (^ 11−12)
· By means of the function L_CanDSxCloseNodeGuarding you can deactivate the "Node
Guarding" monitoring mechanism again.
(^ 11−15)
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_CanDSxOpenNodeGuarding(bOpen);
Transfer parameters Data type Information/possible settings
bOpen Bool Initialising the "Node Guarding" monitoring mechanism
TRUE The "Node Guarding" monitoring mechanism of the CanDSx driver is initialised.
return value Data type Value/meaning
Bool Status
TRUE The "Node Guarding" monitoring mechanism has been initialised.
FALSE A The "Node Guarding" monitoring mechanism has not been initialised.
– Remedy: function call with transfer parameter bOpen = TRUE.
or
B The PLC is not configured as "Master with Node Guarding" anymore.
– Remedy: set code C352 to the value "2" to configure the PLC as "Master
with Node Guarding".
Example
Calling the function in ST:
bReturnOpenNodeGuarding := L_CanDSxOpenNodeGuarding(bOpen:=TRUE);