Funktion L_CanGetRelocCobId gibt nicht den eingestellten Wert zurück

Betrifft welche Produkte?
EVS93xx-EI (Servo PLC V6.x)
EVS93xx-ET (Servo PLC V6.x mit Technologiefunktion)

Wie sieht die Reaktion aus?
Über die Funktion L_CanInit aus der DDS Bibliothek LenzeCanDrv.lib wird u. a. die Position des freien Empfangs-Identifierbereichs festgelegt. Die Funktion L_GetRelocCobId liefert diese festgelegte Position als Wert zurück.

Unabhängig von dem über die Funktion L_CanInit eingestellten freien Empfangs-Identifierbereich liefert die Funktion L_GetRelocCobId immer den Wert 0 zurück.

Wann tritt das Problem auf?
In der Servo PLC V2.x können nur bestimmte Identifier gleichzeitig empfangen werden. Mit Hilfe eines frei verschiebbaren Empfangs-Identifierbereich von 64 Identifiern kann die Servo PLC V2.x auch Identifier empfangen, die sie ansonsten nicht empfangen könnte.

Die Servo PLC V6.x kann Identifier aus dem gesamten Identifierbereich zwischen 0 und 2047 empfangen. Die Funktion L_GetRelocCobId liefert bei der Servo PLC V6.x immer den kleinsten gültigen Identifier zurück, d. h. den Wert 0.

Diagnosemöglichkeiten?
Prüfen Sie die Firmware-Version der Servo PLC über die Codestelle C0099.

Kurzfristige Maßnahmen/Empfehlungen?
Verwenden Sie nicht die Funktion L_GetRelocCobId um die festgelegte Position des freien Empfangs-Identifierbereichs zu überprüfen.

Bewertung:
In der Servo PLC V6.x können alle Identifier empfangen werden. Die Definition eines freien Empfangs-Identifierbereichs und damit die Verwendung der Funktion L_GetRelocCobId sind nicht mehr notwendig. Durch diese Funktionseinschränkung ist die Servo PLC V6.x nicht uneingeschränkt kompatibel zur Servo PLC V2.x. Allerdings wurde auch schon in Projekten für die Servo PLC V2.x die Funktion L_GetRelocCobId selten eingesetzt.

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/200605989/0/
Contact form