Error when reading out a parameter via L_ParRead()

Which products are affected?
LenzeDrivexxxx.lib library

ECS Application operating software from V8.0 onwards
EVS93xx-EI  (Servo PLC) from V8.0 onwards
EVS93xx-ET  (Servo PLC with technology function) from V8.0 onwards
EPL-10200 EI (Drive PLC) from V8.0 onwards

What happens?
The parameter (code or CAN index) of a CAN device cannot be read out via  L_ParRead(). The bFail output becomes TRUE and error message 1  (= error when transmitting data via system bus (CAN)) is indicated via the wFailNumber output.

When does the problem occur?
Compared to the previous version the request telegram (Read Request) has been reduced from 8 bytes to 4 bytes for the value of a parameter of the  L_ParRead() function block.

Possible diagnostics?
None.

Short-term measures/recommendations?
The LenzeCanOpenSdoDrv.lib library is provided in the Lenze Application Knowledge Base (article ID No.: 200807534). By means of the IndexRead block from this library a parameter of a CAN device can be read based on the LenzeCanDrv.lib library. In order to do so the block transmits an 8 bytes request telegram.

Evaluation:
Most Lenze devices equipped with CAN interface also support 4 bytes long request telegrams (Read Request). The function restriction can be avoided by using the LenzeCanOpenSdoDrv.lib library.

URL for linking this AKB article: https://www.lenze.com/en-de/go/akb/201107775/1/
Kontaktformular