Variablenzugriff auf falschen Bereich des SPS-Speichers (Beseitigung)

Betrifft welche Produkte?
ESP-DDS2-x (Drive PLC Developer Studio V2.x)

EPL-1020x (Drive PLC V7.x)

Wie sieht die Reaktion aus?
Der Zugriff (schreiben oder lesend) auf eine Variable erfolgt nicht an der Stelle im Speicher der Drive PLC, die für die Variable reserviert wurde. Es ist möglich, dass dadurch andere Variablen überschrieben werden oder ein falscher Wert ausgelesen wird.

Wann tritt das Problem auf?
Die Verwendung einer der beiden Funktionen L_MemReadDINT oder L_MemReadDWORD aus den Bibliotheken LenzeMemDrv.lib bzw. LenzeMemDrv0101.lib kann zu der oben beschriebenen Reaktion führen.

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.

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:
Aufgrund der Verwendung der Funktionen L_MemReadDINT oder L_MemReadDWORD können Zugriffe auf Variablen an einer Stelle im Speicher der Drive PLC erfolgen, die nicht für die Variable reserviert ist. Die Bibliothek LenzeMemDrv, die die Funktionen L_MemReadDINT und L_MemReadDWORD enthält, wird sehr selten für das PLC-Zielsystem Drive PLC genutzt.

URL zur Verlinkung dieses AKB-Artikels: https://www.lenze.com/de-de/go/akb/200506358/0/
Kontaktformular