Reservierte Schlüsselwörter in ST
Keine Schlüsselwörter für Bezeichner verwenden
Wenn Sie →Bezeichner im ST-Code, in der FBS-Logik oder im Kontaktplan vergeben (z.B. für Variablen-Namen), vergeben Sie dafür keines der →Schlüsselwörter, die laut →IEC-Norm reserviert sind. Falls Sie dies trotzdem tun, werden diese als Fehler gekennzeichnet.
Beachten Sie, dass einige der folgenden Schlüsselwörter für ST/FBS/KOP erlaubt sind. Dies ist möglich, da diese Schlüsselwörter für einen anderen Objekt-Typ reserviert sind (z.B. für ein SPS-Objekt). logi.cals empfiehlt Ihnen, solche Schlüsselwörter in ST/FBS/KOP trotzdem nur mit Bedacht zu verwenden.
Beispiel: Falls Sie ein solches Schlüsselwort (z.B. INTERVAL
) als Bezeichner für ein →Programm oder für eine →externe Variable in ST/FBS/KOP verwenden, verursacht diese Verwendung im ST-/FBS/KOP-Objekt keinen Fehler. Falls Sie das Sprachelement dann aber im SPS-Objekt eintragen/verwenden (als Programmtyp für die Programm→instanz oder als →globale Variable), wird in Folge die Verwendung des Bezeichners im SPS-Objekt als fehlerhaft markiert. Siehe auch "Ein Bezeichner wird für ST/FBS akzeptiert, aber nicht im SPS-Objekt. Das Refactoring des Bezeichners funktioniert nicht wie erwartet".
Derzeit sind folgende Schlüsselwörter in logi.CAD 3 reserviert und können nicht für Bezeichner verwendet werden.
(Es handelt sich dabei um keine endgültige Liste. Sie wird in jenem Ausmaß erweitert, in dem eine neue Version entsprechende Neuigkeiten enthält.)
Schlüsselwort | Bedeutung | Reserviert für (1) |
---|---|---|
| Teil einer →Methode oder eines →Funktionsbausteins | alle |
| zusammen mit END_ACTION : Aktion in ST | alle |
AND | Operator | alle |
ANY und andere ANY_* | →allgemeine Datentypen | alle |
ARRAY | zusammen mit OF : Deklaration eines →ARRAY-Datentyps bzw. einer ARRAY-→Variable | alle |
AT | physikalische Adresse zuweisen (z.B. einer →globalen Variable) | alle |
| →Datentyp BOOL | alle |
BY | Teil der FOR -Anweisung | alle |
| Datentyp BYTE | alle |
CASE | Teil der CASE -Anweisung | alle |
| Datentyp CHAR | alle |
| reserviert für eine zukünftige Verwendung | alle |
CFG_VARCFG | zusammen mit | SPS, VarCfg |
CONFIGURATION | zusammen mit END_CONFIGURATION : →Konfiguration laut IEC-Norm | SPS |
CONSTANT | →Konstante (Variable kann nicht geändert werden.) | alle |
| CONTINUE -Anweisung | alle |
DATE | Datentyp DATE | alle |
| Langform für Datentyp DATE_AND_TIME | alle |
| Datentyp DINT | alle |
DO | Teil der FOR -Anweisung oder der WHILE -Anweisung | alle |
| Kurzform für Datentyp DATE_AND_TIME | alle |
| Datentyp DWORD | alle |
ELSE | Teil der IF -Anweisung oder der CASE -Anweisung | alle |
ELSIF | Teil der IF -Anweisung | alle |
EN | Eingang
| alle |
| zusammen mit ACTION : Aktion in ST | alle |
END_CASE | Teil der CASE -Anweisung | alle |
END_CFG_VARCFG | zusammen mit | SPS, VarCfg |
END_CLASS | reserviert für eine zukünftige Verwendung | alle |
END_CONFIGURATION | zusammen mit CONFIGURATION : Konfiguration laut IEC-Norm | SPS |
END_FOR | Teil der FOR -Anweisung | alle |
END_FUNCTION | zusammen mit FUNCTION : Deklaration einer Funktion | alle |
END_FUNCTION_BLOCK | zusammen mit FUNCTION_BLOCK : Deklaration eines Funktionsbaustein | alle |
END_GLOBALS | zusammen mit GLOBALS : Deklaration von globalen Variablen in einem Global-Objekt (siehe "Deklaration von globalen Variablen in Global-Objekt und deren Verwendung in ST") | SPS |
END_IF | Teil der IF -Anweisung | alle |
END_INTERFACE | zusammen mit INTERFACE : Deklaration einer →Interface | alle |
END_METHOD | zusammen mit METHOD : Deklaration einer →Methode oder eines →Methoden-Prototypen | alle |
| zusammen mit NAMESPACE : Deklaration eines →Namespaces | alle |
END_PROGRAM | zusammen mit PROGRAM : Deklaration eines →Programms | alle |
END_REPEAT | Teil der REPEAT -Anweisung | alle |
END_RES_VARCFG | zusammen mit | SPS, VarCfg |
END_RESOURCE | zusammen mit RESOURCE und ON : →Ressource laut IEC-Norm | SPS |
| zusammen mit INITIAL_STEP oder STEP : Initial-Schritt in ST oder Schritt in ST | alle |
END_STRUCT | zusammen mit STRUCT : Deklaration eines →strukturierten Datentyps | alle |
| zusammen mit TRANSITION : Transition in ST | alle |
END_TYPE | zusammen mit TYPE : Deklaration eines →anwenderdefinierten Datentyps | alle |
END_VAR | zusammen mit VAR , VAR_CONFIG , VAR_EXTERNAL , VAR_GLOBAL , VAR_INPUT , VAR_IN_OUT , VAR_OUTPUT oder VAR_TEMP : Deklaration einer bzw. mehrerer Variablen | alle |
END_WHILE | Teil der WHILE -Anweisung | alle |
ENO | Ausgang
| alle |
| EXIT -Anweisung | alle |
EXTENDS | leitet das Interface von anderen Interfaces ab bzw. den Funktionsbaustein von einem anderen | alle |
F_EDGE | reserviert für eine zukünftige Verwendung | alle |
FALSE | Angabe eines booleschen →Literals | alle |
FOR | Teil der FOR -Anweisung | alle |
FINAL | Teil einer Methode oder eines Funktionsbausteins | alle |
| Teil einer Transition in ST | alle |
FUNCTION | zusammen mit END_FUNCTION : Deklaration einer Funktion | alle |
FUNCTION_BLOCK | zusammen mit END_FUNCTION_BLOCK : Deklaration eines Funktionsbaustein | alle |
GLOBALS | zusammen mit END_GLOBALS : Deklaration von globalen Variablen in einem Global-Objekt | SPS |
IF | Teil der IF -Anweisung | alle |
IMPLEMENTS | implementiert ein oder mehrere Interfaces bei der Deklaration eines Funktionsbaustein | alle |
| zusammen mit END_STEP : Initial-Schritt in ST | alle |
| Datentyp INT | alle |
INTERFACE | zusammen mit INTERFACE : Deklaration einer Interface | alle |
INTERNAL | Sichtbarkeit bei einer Methode oder bei internen Variablen | alle |
| Zykluszeit für den →Tasks | SPS |
LDATE | reserviert für eine zukünftige Verwendung | alle |
LDATE_AND_TIME | reserviert für eine zukünftige Verwendung | alle |
LINT | Datentyp LINT | alle |
| Datentyp LREAL | alle |
LTIME | reserviert für eine zukünftige Verwendung | alle |
LTIME_OF_DAY | reserviert für eine zukünftige Verwendung | alle |
LWORD | Datentyp LWORD | alle |
METHOD | zusammen mit END_METHOD : Deklaration einer Methode oder eines Methoden-Prototypen | alle |
MOD | Operator | alle |
| zusammen mit END_NAMESPACE : Deklaration eines Namespaces | alle |
NON_RETAIN | →nicht-gepufferte Variable | alle |
NOT | Operator | alle |
NULL | Standard-→Initialisierungswert für eine →Referenz-Variable | alle |
OF | Teil der CASE -Anweisung oder zusammen mit ARRAY : Deklaration eines ARRAY-Datentyps bzw. einer ARRAY-Variable | alle |
ON | zusammen mit RESOURCE und END_RESOURCE : Ressource laut IEC-Norm | SPS |
OR | Operator | alle |
OVERLAP | reserviert für eine zukünftige Verwendung | alle |
OVERRIDE | Teil einer Methode | alle |
PRIORITY | Priorität des Tasks (für SPS-Objekt) oder Priorität einer Transition (in ST) | alle |
PRIVATE | Sichtbarkeit bei einer Methode oder bei internen Variablen | alle |
PROGRAM | zusammen mit END_PROGRAM : Deklaration eines Programms;zusammen mit WITH : Zuordnung "Programm und Task" (für SPS-Objekt) | alle |
PROTECTED | Sichtbarkeit bei einer Methode oder bei internen Variablen | alle |
PUBLIC | Sichtbarkeit bei einer Methode oder bei internen Variablen | alle |
R_EDGE | reserviert für eine zukünftige Verwendung | alle |
READ_ONLY | reserviert für eine zukünftige Verwendung | alle |
READ_WRITE | reserviert für eine zukünftige Verwendung | alle |
| Datentyp REAL | alle |
| Operator für die Initialisierung einer Referenz-Variable oder eine Zuweisung darauf | alle |
| Deklaration einer bzw. mehrerer Referenz-Variablen | alle |
REPEAT | Teil der REPEAT -Anweisung | alle |
RES_VARCFG | zusammen mit | SPS, VarCfg |
RESOURCE | zusammen mit ON und END_RESOURCE : Ressource laut IEC-Norm | SPS |
RETAIN | →gepufferte Variable | alle |
| RETURN -Anweisung | alle |
SINGLE | reserviert für eine zukünftige Verwendung | SPS |
| Datentyp SINT | alle |
| zusammen mit END_STEP : Schritt in ST | alle |
| Datentyp STRING | alle |
STRUCT | zusammen mit END_STRUCT : Deklaration eines strukturierten Datentyps | alle |
SUPER | Teil beim Aufruf einer Methode des Basis-Funktionsbausteins bzw. Aufruf des Basis-Funktionsbausteins selbst | alle |
TASK | Task laut IEC-Norm | SPS |
THEN | Teil der IF -Anweisung | alle |
THIS | Teil beim Aufruf einer Methode des gleichen Funktionsbausteins | alle |
TIME | Datentyp TIME | alle |
| Langform für Datentyp TIME_OF_DAY | alle |
TO | Teil der FOR -Anweisung oder Teil der Transition in ST | alle |
| Kurzform für Datentyp TIME_OF_DAY | alle |
| zusammen mit END_TRANSITION : Transition in ST | alle |
TRUE | Angabe eines booleschen Literals | alle |
TYPE | zusammen mit END_TYPE : Deklaration eines anwenderdefinierten Datentyps | alle |
| Datentyp UDINT | alle |
| Datentyp UINT | alle |
| Datentyp ULINT | alle |
UNTIL | Teil der REPEAT -Anweisung | alle |
|
| alle |
| Datentyp USINT | alle |
VAR | zusammen mit END_VAR : Deklaration einer bzw. mehrerer interner Variablen | alle |
VAR_ACCESS | reserviert für eine zukünftige Verwendung | alle |
VAR_CONFIG | zusammen mit | SPS, VarCfg |
VAR_EXTERNAL | zusammen mit END_VAR : Deklaration einer bzw. mehrerer →externer Variablen | alle |
VAR_GLOBAL | zusammen mit END_VAR : Deklaration einer bzw. mehrerer globaler Variablen | alle |
VAR_IN_OUT | zusammen mit END_VAR : Deklaration einer bzw. mehrerer →Ein-/Ausgangsvariablen | alle |
VAR_INPUT | zusammen mit END_VAR : Deklaration einer bzw. mehrerer →Eingangsvariablen | alle |
VAR_OUTPUT | zusammen mit END_VAR : Deklaration einer bzw. mehrerer →Ausgangsvariablen | alle |
VAR_TEMP | zusammen mit END_VAR : Deklaration einer bzw. mehrerer →temporärer Variablen | alle |
WCHAR | reserviert für eine zukünftige Verwendung | alle |
WHILE | Teil der WHILE -Anweisung | alle |
WITH | zusammen mit PROGRAM : Zuordnung "Programm und Task" | SPS |
| Datentyp WORD | alle |
WSTRING | reserviert für eine zukünftige Verwendung | alle |
XOR | Operator | alle |
Legende:
(1) = Diese Spalte informiert Sie, für welchen Objekt-Typ das Schlüsselwort reserviert ist:
- alle = Falls Sie das Schlüsselwort in einem ST-Objekt, FBS-Objekt, KOP-Objekt, Global-Objekt, SPS-Objekt oder VarCfg-Objekt verwenden, wird es dort als fehlerhaft markiert.
- SPS = Falls Sie das Schlüsselwort in einem SPS-Objekt verwenden, wird es dort als fehlerhaft markiert. Bedeutung: Es ist möglich, das Schlüsselwort als Bezeichner in anderen Objekt-Typen (z.B. im ST-/FBS-Objekt) zu verwenden. Achten Sie jedoch auf mögliche Folgefehler bei einer anschließenden Verwendung des jeweiligen Sprachelements im SPS-Objekt.
VarCfg = Falls Sie das Schlüsselwort in einem VarCfg-Objekt verwenden (siehe "VAR_CONFIG-Abschnitt im VarCfg-Objekt deklarieren"), wird es dort als fehlerhaft markiert. Bedeutung: Es ist möglich, das Schlüsselwort als Bezeichner in anderen Objekt-Typen (z.B. im ST-/FBS-Objekt) zu verwenden. Achten Sie jedoch auf mögliche Folgefehler bei einer anschließenden Verwendung des jeweiligen Sprachelements in einem VarCfg-Objekt.