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

Page 163

Advertising
background image

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

Advertising