Betrifft welche Produkte?
ESP-DDS2-x (Global Drive PLC Developer Studio ab Version 2.x)
Wie sieht die Reaktion aus?
Über das Menü Projekt>Querverweisliste ausgeben können die Verwendungsstellen einer Variablen im DDS-Projekt angezeigt werden.
Im Ergebnis der Querverweisliste wird innerhalb eines Bausteins ein Schreibzugriff auf eine Variable angezeigt, der in dem Baustein nicht programmiert wurde.
Wann tritt das Problem auf?
Wird eine Querverweisliste für eine Variable erzeugt, die in einem Baustein vom Typ Funktion (FUNCTION) deklariert wurde, dann wird für diese Variable ein Schreibzugriff angezeigt, der nicht in der Funktion programmiert wurde. Dieser Schreibzugriff befindet sich in der Initialisierungslogik der Funktion. Bei dieser Initialisierungslogik handelt es sich um impliziten Code, d. h. diese Logik wird von DDS nicht angezeigt. Sie wird aber automatisch von DDS für jede Funktion erzeugt.
Diagnosemöglichkeiten?
Mit dem Menüpunkt Projekt>Global suchen können alle 'programmierten' Verwendungsstellen einer Variablen in das Meldungsfenster von DDS ausgegeben werden. Der von DDS erzeugte implizite Code wird bei der Suche ignoriert.
Kurzfristige Maßnahmen/Empfehlungen?
Alternativ zur Querverweisliste können Sie auch die Globale Suche verwenden.
Bewertung:
Die Querverweisliste ist sehr nützlich für die Fehlersuche, da mit ihr nicht nur der Verwendungsort einer Variablen im DDS-Projekt angezeigt wird, sondern auch deren Verwendungsart (schreibend, lesend). Die Anzeige eines nicht programmierten ('vorhandenen') Schreibzugriffs auf eine Variable führt zur Verunsicherung beim Anwender.