8 l_canpdoreceive - receiving a can object, 8 l_canpdoreceive − receiving a can object, System bus (can) for lenze plc devices – Lenze DDS System bus CAN for PLC User Manual
Page 154: Lenzecandrv.lib function library

10.8
L_CanPdoReceive − receiving a CAN object
System bus (CAN) for Lenze PLC devices
LenzeCanDrv.lib function library
10−12
L
PLC−Systembus EN 2.0
10.8
L_CanPdoReceive − receiving a CAN object
Function block
This FB serves to receive data via the system bus interface according to CANopen.
Tip!
An overload with regard to the receive process can occur if due to a high bus utilisation or very fast
transmission activities of the other nodes further receive telegrams already arrive while a receive
telegram is processed.
The operating system responds to this with an overflow error:
·
A corresponding error message is output (see chapter "Error messages" in the Manual for the
respective PLC, e. g. 9300 Servo PLC, Drive PLC, or ECSxA).
·
Furthermore the CAN driver is deactivated for the free CAN objects and has to be reinitialised
via the function L_CanInit.
L_CanPdoReceive
wDrvNr
byLen
dwCobId
pIOAdress
nState
bNewMessage
Identifier
Data type
Variable type
Possible settings
Information
wDrvNr
Word
VAR_INPUT
10
System bus
byLen
Byte
VAR_INPUT
0...8
Telegram length (in bytes)
dwCobID
Double Word
VAR_INPUT
0...2047
CAN identifier
pIOAdress
Pointer to Byte
VAR_INPUT
Pointer to the address in the
memory from which the data
bytes received are stored.
The address of a variable can be determined via
the address function ADR.
bNewMessage
Bool
VAR_OUTPUT
−
Is set to TRUE if data have been received, and
only is reset to FALSE by calling the following
action:
ResetNewMessage
·
If no reset is carried out, data can furthermore
be received, but data reception is not
displayed.
nState
Integer
VAR_OUTPUT
−
Displays the current receive status.
·
See the following table
"Receive state (nState)"
Note!
With regard to the allocation of the CAN identifier (dwCobId) please be sure that it is not already used
by one of the other CAN objects CAN1_IO ... CAN3_IO, as otherwise incorrect data are received!