L_CanPdoReceive cannot receive data after Reset Communication

Which products are affected?
LenzeCanDrv.lib and LenzeCanDrv0221.lib libraries

EPL-10200 (Drive PLC V7.1 and lower)
EVS93xxEI (Servo PLC V7.2 and lower)
EVS93xxET (Servo PLC with technology function V7.2 and lower)
ECS axis module ECSxx series, operating software V7.4 and lower

What happens?
The function block L_CanPdoReceive of the LenzeCanDrv.lib library cannot receive data although there are CAN telegrams with the identifier set at the function block (function block input dwCobId) on the system bus. The state output nState of the function block indicates 0 (data has been received correctly). The function L_CanGetStatus shows that the CAN driver is initialised. Under code C0359 the PLC target system indicates Operational (= 0) as system bus state.

When does the problem occur?
The response described before occurs after the PLC target system received the network management telegram Communication Reset (COB-ID = 0, Command Specifier=82h).
The sending of CAN telegrams by means of the function block L_CanPdoTransmit is not affected by this function restriction.

Possible diagnostics?
None.

Short-term measures/recommendations?
None.

Evaluation:
The function block L_CanPdoReceive can no longer receive telegrams after the network management telegram (NMT) Communication Reset has been received. It is not possible to detect in the user program that the PLC target system has received the NMT telegram. In most applications the Reset Node (COB-ID=0, Command Specifier=81h) command is used instead of the Communication Reset command.

URL for linking this AKB article: https://www.lenze.com/en-de/go/akb/200707716/1/
Contact form