CONTROL
Control Schlüsselwörter
Beachten Sie, dass WinCC OA ab Version 3.16 neue Control-Schlüsselwörter reserviert (z.B. new
oder
delete
, siehe Variablen und Konstanten) bzw. verwendet (z.B. struct
oder class
, siehe Control++) werden. Beim Nachziehen von älteren Projekten auf 3.18 kann
es daher zu Problemen kommen, falls Sie diese Schlüsselwörter, beispielsweise als Variablennamen, definiert haben. In diesem Fall müssen Sie
alle Panels & Scripts anpassen, in denen diese Schlüsselwörter falsch verwendet werden.
Skriptausführung
Ab Version 3.18 werfen Funktionen in den nachfolgenden Fällen einen Syntaxfehler, welcher das Ausführen des Skripts verhindert:
- Funktionen, welche als
void
deklariert wurden, aber einen Rückgabewert liefern. - Funktionen, welche einen deklarierten Rückgabewert haben, aber keine Rückgabe liefern.
Control Funktionen - Leere Pfadangaben
Seit WinCC OA -Version 3.15 P011 wird in folgenden CTRL-Funktionen die Angabe eines leeren Dateipfades als Pfad auf das Projektverzeichnis interpretiert:
getFileNames()
- dir
-Parameter
Seit WinCC OA -Version 3.16 P001 kann für den
dir
-Parameter der Funktion getFileNames() nur noch ein Verzeichnispfad angegeben werden. Bei Angabe eines
Dateipfades liefert die Funktion nur einen leeren String, da ein Dateipfad kein gültiges
Verzeichnis ist.
CNS-Funktionen mit Wildcards
SQL-Abfragen – "." vor UserName
Beginnend mit Version 3.20 wurde die Syntaxprüfung von SQL-Abfragen verbessert, wodurch es nun bei einer invaliden Angabe von Benutzernamen (UserName ohne "." als Prefix) zu einer Fehlermeldung kommt.
Dieses Verhalten wurde in früheren Versionen nicht explizit geprüft.
Fehlerhafte Angabe des Benutzernamens
sQuery = "SELECT 'UserName:_online.._value' FROM '*' WHERE _DPT = "_Ui"";
Korrekte Syntax der SQL-Abfrage
sQuery = "SELECT '.UserName:_online.._value' FROM '*' WHERE _DPT = "_Ui"";