beautypg.com

3 application, 4 possible errors, error causes and solutions, Application – Lenze PLC Designer PLC Designer (R2-x) CANopen for Runtime Systems User Manual

Page 54: Possible errors, error causes and solutions

background image

L-force | PLC Designer - CANopen for Runtime Systems

Appendix

DMS 2.0 EN 05/2009 TD29

53

5.3.3 Application

In this chapter you find questions and answers on the handling of CANopen libraries in the application
layer.

F1: Is there any possibility to guard the PDOs of a CAN slave? The slave does not support

Heartbeat and Nodeguarding. I want to check whether the slave e.g. every 50ms sends a
PDO telegram.

A:

Always when a RxPDO is received, the output variable bNewMessage will be set. The variable
has no other function.

When the value of this variable changes from 0 to 1, trigger your watch timer and reset the
variable. Due to the fact that it is the output of a function block, you must do the following in
order to reset the variable:

pB : Pointer TO BOOL;

pB := ADR(pCanOpenPDO_Rx[0].bNewMessage);

pB^ := FALSE;

F2: How can RTR frames be sent application-controlled?

A:

In the „CanOpen implicit Variables“ (Ressources -> Global Variables) you find a list of all CAN
RxPDOs (pCanOpenPDO_Rx) currently mapped in the PLC Configuration.
By using action SendRTRFrame it is possible to send a RTR frame to the corresonding PDO.

pCanOpenPDO_Rx[x].bNewMessage := FALSE;

pCanOpenPDO_Rx[x].SendRTRFrame;

If pCanOpenPDO_Rx[x].bNewMessage = FALSE Then

...

END_IF

5.3.4 Possible Errors, Error causes and Solutions

Find in the following a description on errors which might occur when using the 3S-CANopen-stack.

NOTE: Also observe the descriptions of the drive-specific error messages in the respective drive
documentations.

F1: The outputs are not set. What can be the reason?

A:

Please check the following:

1.Usage of variables
In order to get updated the output variables it is necessary that those get called cyclically in
your application program.
For this reason open the PLC Configuration and define a name for the output (e.g.: byOut1).
Then call this output in your application.
byOut1;
In online mode now you can modify the value of the variable and write to new value to the PLC
by [Ctrl]+[F7].

2.Transmission Type
It may be that you have asynchronous PDO. This will only be transferred if parallel the sync-
functionality is activated.
You can check this by having a look at the properties of the respective PDO.