Unzulässiger Bitzugriff auf Variable möglich

Betrifft welche Produkte?
ESP-HMI1-P (HMI Designer Version 1.2 und höher)

Wie sieht die Reaktion aus?
Es ist möglich, dass über einen Direktbefehl auf ein Bit einer Variablen zugegriffen wird, dass in der Variablen aufgrund des gewählten Datentyps nicht existiert. So kann z. B. auf das Bit 31 einer Variablen mit dem Datentyp Word zugegriffen werden, wobei der Datentyp Word nur 16 Bits besitzt.
Beim Übersetzen des HMI Projekts wird kein Fehler erkannt.
Von der Bedieneinheit wird die Ausführung dieses Direktbefehls ignoriert.

Wann tritt das Problem auf?
Ein Direktbefehl kann nur erstellt bzw. geändert werden, wenn das im Direktbefehl ausgewählte Bit sich innerhalb der entsprechenden Variablen befindet. Ansonsten wird eine Fehlermeldung angezeigt.

Es ist allerdings möglich, einen Bitzugriff auf eine Variable vom Typ Dword in einem Direktbefehl zu definieren und dann nachträglich den Typ der Variablen auf Word zu ändern. Wird in dem Direktbefehl auf ein Bit zwischen 16 und 31 zugegriffen, dann existiert dieses nicht in der Variablen. Dieser unzulässige Bitzugriff wird beim Übersetzen vom HMI Designer nicht erkannt.

Diagnosemöglichkeiten?
keine

Kurzfristige Maßnahmen/Empfehlungen?
Sollten Sie nachträglich den Datentyp einer Variablen ändern, überprüfen Sie in der Projektkomponente Direktbefehle, ob alle Bitzugriffe auf diese Variable weiterhin zulässig sind.

Bewertung:
Vom HMI Designer wird beim Übersetzen der Zugriff auf ein Bit außerhalb einer Variablen nicht erkannt. Von der Bedieneinheit wird ein solcher Zugriff ignoriert. Eine nachträgliche Änderung des Datentyps ist eher selten. Der Datentyp Word wird sehr selten verwendet.

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