System bus (can) for lenze plc devices, Lenzecandsxdrv.lib function library – Lenze DDS System bus CAN for PLC User Manual

Page 167

Advertising
background image

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);

Advertising