Behoben ab:
ECS Achsmodul B-SW V6.7
Verhalten der neuen Version ?
Betrifft welche Produkte?
ESP-DDS2-x (Drive PLC Developer Studio V2.x)
EPL-1020x (Drive PLC V6.x)
ECSxA (ECS Achsmodul <=V6.6)
Wie sieht die Reaktion aus?
- Die Konvertierung von Datentypen z. B. von REAL_TO_INT… führt zu fehlerhaften Ergebnissen.
- Die Ausführung von numerischen Funktionen, z.B. SIN, EXP, SQRT,… führt zu fehlerhaften Ergebnissen bzw. zu einem CCr-Trip oder PEr-Trip.
Wann tritt das Problem auf?
- Wird eine der beiden Funktionen L_MemReadDINT oder L_MemReadDWORD aus den Bibliotheken LenzeMemDrv.lib bzw. LenzeMemDrv0101.lib aufgerufen, dann führt eine Datentypkonvertierung von REAL in einen anderen Datentyp (REAL_TO_xxx) in der gleichen Task zu einem inkorrekten Ergebnis.
- Wird eine der beiden Funktionen L_MemReadDINT oder L_MemReadDWORD aus den Bibliotheken LenzeMemDrv.lib bzw. LenzeMemDrv0101.lib aufgerufen und werden in der gleichen Task numerische Funktionen, die den Datentyp REAL erfordern, ausgeführt, dann gibt die Funktion ein fehlerhaftes Ergebnis aus bzw. es tritt ein CCr-Trip oder PEr-Trip auf.
Die PLC-Zielsysteme Drive PLC V1.x und V2.x sind von dieser Funktionseinschränkung nicht betroffen, da von ihnen die Bibliothek LenzeMemDrv nicht unterstützt wird.
Diagnosemöglichkeiten?
Überprüfen Sie mit der Querweisliste von DDS (Menü
Projekt>Querverweisliste ausgeben), ob eine der Funktionen L_MemReadDINT oder L_MemReadDWORD im Projekt verwenden werden. Wählen Sie dazu im Dialog
Querverweise die
Kategorie Baustein.
Wird eine dieser Funktionen im Projekt verwendet, überprüfen Sie, ob in der gleichen Task Datentypkonvertierungen oder numerische Berechnung durchgeführt werden.
Kurzfristige Maßnahmen/Empfehlungen?
Verwenden Sie nicht die Funktionen L_MemReadDINT oder L_MemReadDWORD.
Mit dem Service Pack 1 des DDS V2.3 wird die überarbeitete Bibliothek
LenzeMemDrv0102.lib installiert, mit der diese Funktionseinschränkung behoben wird. Ersetzen Sie im Dialog
Bibliotheksverwalter (Menü
Fenster>Bibliotheksverwaltung) die existierende
LenzeMemDrv.lib bzw.
LenzeMemDrv0101.lib durch die neue Bibliothek
LenzeMemDrv0102.lib.
Bewertung:
Die Datentypkonvertierungen REAL_TO_xxx und numerische Funktionen, die den Datentyp REAL erfordern, liefern inkorrekte Ergebnisse bzw. führen zu einem CCr-Trip / PEr-Trip, wenn in der gleichen Task eine der Funktionen L_MemReadDINT oder L_MemReadDWORD ausgeführt wird. REAL-Berechnungen sowie die Datenkonvertierung REAL_TO_xxx dürfen nur in der zyklischen Task verwendet werden. Die Bibliothek
LenzeMemDrv, die die Funktionen L_MemReadDINT und L_MemReadDWORD enthält, wird sehr selten für die PLC-Zielsysteme Drive PLC und ECS genutzt.