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

10.7 L_CanPdoTransmit − transmitting a CAN object
System bus (CAN) for Lenze PLC devices
LenzeCanDrv.lib function library
10−10
L
PLC−Systembus EN 2.0
Transmit request memory as an interface between the CAN driver and the
L_CanPdoTransmitFB
As the data transmission via the CAN driver is effected simultaneously to the process of the PLC
program, a temporary storage for the transmit requests, the so−called transmit request memory, is
used between the CAN driver and the L_CanPdoTransmit FB.
L_CanPdoTransmit
L_CanPdoTransmit
Transmit request 1
CAN driver
System bus (CAN)
250 s cyclem
PLC program Operating system
Transmission request memory
L_ParWrite
Transmit request 2
Transmit request 3
Transmit request 64
· Every time the L_CanPdoTransmit FB is called, a transmit request is stored in the transmit
request memory.
· Transmit requests can also be stored in the transmit request memory using the L_ParWrite FB
of the LenzeDrive.lib function library.
· The transmit request memory can buffer 64 transmit requests of the L_CanPdoTransmit or
L_ParWrite FBs at a total.
· Every 250 ms, simultaneously to the process of the PLC program, a transmit request is
collected from the transmit request memory and is processed by the operating system.
Note!
If the transmit request memory due to a too frequent call of the L_CanPdoTransmit or L_ParWrite
FBs is filled up faster as it is emptied by the operating system which collects the transmit requests,
an overflow error will occur.
· In the case of an overflow error, the variable nState receives the value "−119".
· Additionally a corresponding error message is output by the operating system.
(See chapter "Error messages" in the Manual to the respective target system, e. g.
9300 Servo PLC, Drive PLC, or ECSxA).