
- •1 Kurzer Einblick in CoDeSys
- •1.1 Was ist CoDeSys
- •1.2 Überblick über die Funktionalität von CoDeSys...
- •1.3 Übersicht der Anwender-Dokumentation zu CoDeSys
- •2 Was ist was in CoDeSys
- •2.1 Bestandteile eines Projekts...
- •2.2 Die Sprachen...
- •2.2.1 Anweisungsliste (AWL)...
- •2.2.2 Strukturierter Text (ST)...
- •2.2.3 Ablaufsprache (AS)...
- •2.2.4 Funktionsplan (FUP)...
- •2.2.5 Der freigraphische Funktionsplaneditor (CFC)...
- •2.2.6 Kontaktplan (KOP)...
- •2.3 Debugging, Onlinefunktionalitäten...
- •2.4 Die Norm...
- •3 Wir schreiben ein kleines Programm
- •3.1 Die Steuerung einer Ampelanlage...
- •3.2 Die Visualisierung einer Ampelanlage...
- •4 Die Komponenten im Einzelnen
- •4.1 Hauptfenster...
- •4.2 Projekt Optionen...
- •4.3 Projekte verwalten...
- •4.4 Objekte verwalten...
- •4.5 Allgemeine Editierfunktionen...
- •4.6 Allgemeine Online Funktionen...
- •4.7 Fenster ...
- •4.8 Die rettende Hilfe...
- •5 Die Editoren
- •5.1 Das gilt für alle Editoren...
- •5.2 Der Deklarationseditor...
- •5.2.1 Arbeiten im Deklarationseditor
- •5.2.2 Deklarationseditoren im Online Modus
- •5.3 Editoren der textuellen Programmiersprachen...
- •5.3.1 Arbeiten in den Texteditoren
- •5.3.2 Der Anweisungslisteneditor...
- •5.3.3 Der Editor für Strukturierten Text...
- •5.4 Editoren der grafischen Programmiersprachen...
- •5.4.1 Arbeiten in den grafischen Editoren
- •5.4.2 Der Funktionsplaneditor...
- •5.4.3 Der Kontaktplaneditor...
- •5.4.4 Der Ablaufspracheneditor...
- •5.4.5 Der freigraphische Funktionsplaneditor (CFC)...
- •6 Die Ressourcen
- •6.1 Übersicht Ressourcen
- •6.2 Globale Variablen, Variablenkonfiguration, Dokumentvorlage
- •6.2.1 Globale Variablen
- •6.2.2 Variablenkonfiguration...
- •6.2.3 Dokumentvorlage
- •6.3 Alarmkonfiguration
- •6.3.1 Überblick
- •6.3.2 Alarmsystem, Begriffe
- •6.3.3 Alarmklassen
- •6.3.4 Alarmgruppen
- •6.3.5 Alarmspeicherung
- •6.3.6 Menü Extras: Einstellungen
- •6.4 Bibliotheksverwaltung...
- •6.5 Logbuch...
- •6.6 Steuerungskonfiguration
- •6.6.1 Überblick
- •6.6.2 Arbeiten im CoDeSys Steuerungskonfigurator
- •6.6.3 Allgemeine Einstellungen in der Steuerungskonfiguration
- •6.6.4 Anwendungsspezifischer Parameterdialog
- •6.6.5 Konfiguration eines I/O Moduls...
- •6.6.6 Konfiguration eines Kanals
- •6.6.7 Konfiguration von Profibus Modulen...
- •6.6.8 Konfiguration von CAN Modulen...
- •6.6.9 Konfiguration eines CanDevice (CANopen Slave)
- •6.6.10 Steuerungskonfiguration im Online Modus
- •6.6.11 Hardware Scan/Status/Diagnose aus dem Zielsystem
- •6.7 Taskkonfiguration...
- •6.7.1 Arbeiten im Taskkonfigurator
- •6.7.2 System-Ereignisse
- •6.7.3 Taskkonfiguration im Online Modus
- •6.8.1 Überblick
- •6.9 Traceaufzeichnung...
- •6.9.1 Überblick und Konfiguration
- •6.9.2 Darstellung der Traceaufzeichnung
- •6.9.3 'Extras' 'Tracewerte speichern'
- •6.9.4 'Extras' 'Externe Tracekonfigurationen'
- •6.10 Arbeitsbereich
- •6.11 Parameter Manager ..
- •6.11.1 Aktivieren des Parameter Managers
- •6.11.2 Der Parameter Manager Editor, Overview
- •6.11.3 Parameterlisten: Typen und Attribute
- •6.11.4 Parameterlisten verwalten
- •6.11.5 Parameterlisten editieren
- •6.11.6 Parameter Manager im Online Modus
- •6.11.7 Export / Import von Parameterlisten
- •6.12 Zielsystemeinstellungen
- •6.13 PLC Browser...
- •6.13.1 Allgemeines zur PLC-Browser- Bedienung
- •6.13.2 Kommandoeingabe im PLC-Browser
- •6.13.3 Verwendung von Makros bei der Kommandoeingabe im PLC-Browser
- •6.13.4 Weitere PLC-Browser-Optionen
- •6.14 Tools
- •6.14.1 Eigenschaften der bestehenden Verknüpfungen (Objekt Eigenschaften)
- •6.14.2 Verwalten von Verknüpfungen
- •6.14.3 Die wichtigsten Fragen zu Tools
- •7 ENI Versionsverwaltung
- •7.1.2 Voraussetzungen für das Arbeiten mit einer ENI Projektdatenbank
- •7.1.3 Arbeiten in CoDeSys mit der Projektdatenbank
- •7.1.4 Kategorien innerhalb der Projektdatenbank
- •8 DDE Kommunikation
- •8.1 DDE Schnittstelle des CoDeSys Programmiersystems...
- •8.2 DDE Kommunikation über den GatewayDDE-Server...
- •9 Lizenzmanagement in CoDeSys
- •9.1 Der 3S Licensing Manager
- •9.1.1 Erstellen einer lizenzpflichtigen Bibliothek
- •10 ANHANG
- •Anhang A IEC Operatoren und zusätzliche normerweiternde Funktionen
- •Arithmetische Operatoren...
- •Bitstring Operatoren...
- •Bit-Shift Operatoren...
- •Auswahloperatoren...
- •Vergleichsoperatoren...
- •Adressoperatoren...
- •Aufrufoperator...
- •Typkonvertierungen...
- •Numerische Operatoren...
- •Anhang B Operanden in CoDeSys
- •Konstanten...
- •Variablen...
- •Adressen...
- •Funktionen...
- •Anhang C Datentypen in CoDeSys
- •Standard Datentypen
- •Definierte Datentypen
- •Anhang D CoDeSys Bibliotheken
- •Die Bibliothek Standard.lib
- •String Funktionen...
- •Bistabile Funktionsblöcke...
- •Flankenerkennung...
- •Zähler...
- •Timer...
- •Die Bibliothek Util.lib
- •BCD-Konvertierung...
- •Bit-/Byte-Funktionen...
- •Mathematische Hilfsfunktionen...
- •Regler...
- •Signalgeneratoren...
- •Funktionsmanipulatoren...
- •Analogwertverarbeitung...
- •Die Bibliothek AnalyzationNew.lib
- •Die CoDeSys Systembibliotheken
- •Anhang E Übersicht: Operatoren und Bibliotheksbausteine
- •Anhang F Kommandozeilen-/Kommandodatei-Befehle
- •Kommandozeilen-Befehle
- •Kommandodatei (Cmdfile)-Befehle
- •Anhang G Siemens Import
- •SEQ-Symbolikdatei importieren
- •S5-Datei importieren
- •Konvertierung S5 nach IEC 1131-3
- •Anhang H Dialoge der Zielsystemeinstellungen
- •Einstellungen in Kategorie Zielplattform
- •Einstellungen in Kategorie Allgemein
- •Einstellungen in Kategorie Speicheraufteilung
- •Einstellungen in Kategorie Netzfunktionen
- •Einstellungen in Kategorie Visualisierung
- •Anhang I Tastaturbedienung
- •Tastaturbedienung
- •Tastenkombinationen
- •Anhang J Übersetzungsfehler und -warnungen
- •Warnungen...
- •Übersetzungsfehler...
- •Index

Der Deklarationseditor...
'Extras' 'Instanz öffnen'
Dieser Befehl entspricht dem Befehl 'Projekt' 'Instanz öffnen'. Er steht im Kontextmenü oder im Menü Extras zur Verfügung, wenn der Cursor in Texteditoren auf dem Namen eines Funktionsblocks steht bzw. wenn in grafischen Editoren die Box eines Funktionsblocks markiert ist.
Die Funktion 'Komponenten auflisten'
Wenn in den Projektoptionen in der Kategorie Editor die Option Komponenten auflisten aktiviert ist, steht in allen Editoren, im Watchund Rezepturverwalter, in der Visualisierung und in der Tracekonfiguration die "Intellisense Funktion" zur Verfügung:
•Wird anstelle eines Bezeichners ein Punkt "." eingegeben, öffnet sich eine Auswahlliste aller lokalen und globalen Variablen. Aus dieser Liste kann ein Element selektiert und durch Drücken der Eingabetaste hinter dem Punkt eingefügt werden. Das Einfügen funktioniert ebenfalls nach einem Doppelklick auf das Listenelement.
•Wird als Bezeichner eine Funktionsblockinstanz oder eine als Struktur definierte Variable gefolgt
von einem Punkt eingegeben, öffnet sich nach Eingabe des Punktes eine Auswahlliste der Ein-
und |
Ausgangsvariablen |
des |
Funktionsblocks |
bzw. |
der |
Strukturkomponenten. |
Beispiel: |
|
|
|
|
|
|
Eingabe von "struvar." -> |
die |
Komponenten der |
Struktur |
struct1 |
werden angeboten: |
5.2 Der Deklarationseditor...
5.2.1Arbeiten im Deklarationseditor
Der Deklarationseditor wird verwendet bei der Variablendeklaration von Bausteinen und globalen Variablen, zur Datentypdeklaration, und im Watchund Rezepturverwalter. Er verfügt über die Windows-üblichen Funktionalitäten und auch die der IntelliMouse kann genützt werden, wenn der entsprechende Treiber installiert ist.
Im Überschreibmodus wird in der Statusleiste 'ÜB' schwarz angezeigt, zwischen Überschreibund Einfügemodus kann mit der Taste <Einfg> gewechselt werden.
Die Variablendeklaration wird durch Syntaxcoloring unterstützt.
Die wichtigsten Befehle finden Sie im Kontextmenü (rechte Maustaste).
Deklarationsteil
Im Deklarationsteil eines Bausteins werden alle Variablen deklariert, die nur in diesem Baustein verwendet werden. Dies können Eingabevariablen, Ausgabevariablen, EinAusgabevariablen, lokale Variablen, remanente Variablen und Konstanten sein. Die Deklarationssyntax orientiert sich am Standard der IEC 61131-3.
Beachten Sie die Möglichkeit, für das initiale Füllen des Deklarationsteils beim Anlegen eines neuen Objekts vom Typ Globale Variablen', 'Dateityp', 'Funktion', 'Funktionsbaustein' oder 'Programm' Objektvorlagen zu verwenden (siehe Kapitel 4.3, 'Datei' 'Aus Vorlage öffnen'. Außerdem besteht die Möglichkeit, Pragma-Anweisungen einzufügen (siehe Kapitel 5.2.3).
5-2 |
CoDeSys V2.3 |

5 - Die Editoren
Ein Beispiel für eine korrekte Variablendeklaration im CoDeSys-Editor:
Eingabevariablen
Zwischen den Schlüsselwörtern
VAR_INPUT und END_VAR werden alle Variablen deklariert, die als Eingabevariablen eines Bausteins dienen, das heißt, an der Aufrufstelle kann der Wert der Variablen beim Aufruf mitgegeben werden.
Beispiel:
VAR_INPUT
in1:INT; (* 1. Eingabevariable*)
END_VAR
Beispiel für den Zugriff auf eine Eingabevariable eines Funktionsblocks
Der Funktionsblock FUB hat eine Eingabevariable in1 vom Typ int.
Deklaration:
PROGRAM prog
VAR inst:FUB;
END_VAR
Programmteil in AWL:
LD 17
ST inst.in1
CAL inst
Programmteil in ST:
inst(in1:=17);
Ausgabevariablen
Zwischen den Schlüsselwörtern
VAR_OUTPUT und END_VAR werden alle Variablen deklariert, die als Ausgabevariablen eines Bausteins dienen, das heißt, diese Werte werden dem aufrufenden Baustein zurückgeliefert, dort können diese abgefragt und weiterverwendet werden.
Beispiel:
VAR_OUTPUT
out1:INT; (* 1. Ausgabevariable*)
END_VAR
CoDeSys V2.3 |
5-3 |

Der Deklarationseditor...
EinAusgabevariablen
Zwischen den Schlüsselwörtern
VAR_IN_OUT und END_VAR werden alle Variablen deklariert, die als Einund Ausgabevariablen eines Bausteins dienen.
Achtung: Bei dieser Variablen wird direkt der Wert der übergebenen Variablen verändert ("Übergabe als Pointer", Call-by-Reference). Deshalb kann der Eingabewert für eine solche Variable keine Konstante sein. Deshalb können auch VAR_IN_OUT Variablen eines Funktionsblocks nicht von außen direkt über <Funktionsblockinstanz>.<Ein-/Ausgabevariable> gelesen oder beschrieben werden !Beispiel:
Beispiel:
VAR_IN_OUT
inout1:INT; (* 1. EinAusgabevariable *)
END_VAR
Lokale Variablen
Zwischen den Schlüsselwörtern
VAR und END_VAR werden alle lokalen Variablen eines Bausteins deklariert. Diese haben keine Verbindung nach außen, das heißt, es kann nicht von außen auf sie geschrieben werden.
Beispiel:
VAR
loc1:INT; (* 1. Lokale Variable*)
END_VAR
Remanente Variablen
Remanente Variablen können ihren Wert über die übliche Programmlaufzeit hinaus behalten. Dazu gehören Retain-Variablen und Persistente Variablen.
Beispiel:
VAR RETAIN
rem1:INT; (* 1. Remanente Variable*) END_VAR
•Retain-Variablen werden mit dem Schlüsselwort RETAIN gekennzeichnet. Diese Variablen behalten ihren Wert nach einem unkontrolliertem Beenden wie auch nach normalem Ausund Einschalten der Steuerung (bzw. beim Kommando 'Online' 'Reset'.) Bei erneutem Start des Programms wird mit den gespeicherten Werten weitergearbeitet. Ein Anwendungsbeispiel wäre ein Stückzähler in einer Fertigungsanlage, der nach einem Stromausfall weiterzählen soll.
Alle anderen Variablen werden neu initialisiert, entweder mit ihren initialisierten Werten oder mit den Standardinitialisierungen.
Im Gegensatz zu persistenten Variablen werden Retain-Variablen allerdings bei einem erneuten Programm-Download neu initialisiert.
•Persistente Variablen werden mit dem Schlüsselwort PERSISTENT gekennzeichnet. Im Gegensatz zu Retain-Variablen behalten Sie ihren Wert nur nach einem erneuten Download ('Online' 'Laden'), nicht aber nach 'Online' 'Reset', 'Online' 'Reset Ursprung' oder 'Online' 'Reset Kalt' (siehe jeweils Kapitel 4.6), da sie nicht im "Retain-Bereich" gespeichert werden. Sollen auch
persistente Variablen nach einem unkontrollierten Steuerungsausfall ihre vorherigen Werte behalten, müssen sie also zusätzlich als VAR RETAINs deklariert werden. Ein Anwendungsbeispiel für "persistente Retain-Variablen" wäre ein Betriebsstundenzähler, der nach einem Stromausfall weiterzählen soll.
Achtung: - Wenn eine lokale Variable in einem Programm als RETAIN deklariert ist, wird genau diese Variable im Retain-Bereich gespeichert (wie eine globale Retain-Variable).
-Wenn eine lokale Variable in einem Funktionsblock als RETAIN deklariert ist, wird die komplette Instanz dieses Funktionsblocks im Retain-Bereich gespeichert (alle Daten des Bausteins), wobei jedoch nur die deklarierte Retain-Variable als solche behandelt wird.
-Wenn eine lokale Variable in einer Funktion als RETAIN deklariert ist, hat dies keine Auswirkung.
5-4 |
CoDeSys V2.3 |

5 - Die Editoren
Die Variable wird nicht im Retain-Bereich gespeichert ! Wird eine lokale Variable in einer Funktion als PERSISTENT deklariert, bleibt dies ebenfalls ohne Wirkung !
x = Wert bleibt erhalten |
- = Wert wird neu initialisiert |
|
|
||
|
|
|
|
|
|
nach Online-Befehl |
|
VAR |
VAR RETAIN |
VAR PERSISTENT |
VAR RETAIN PERSISTENT |
|
|
|
|
|
VAR PERSISTENT RETAIN |
|
|
|
|
|
|
Reset |
|
- |
x |
- |
x |
|
|
|
|
|
|
Reset (Kalt) |
|
- |
- |
- |
- |
|
|
|
|
|
|
Reset (Ursprung) |
|
- |
- |
- |
- |
|
|
|
|
|
|
Laden (=Download) |
|
- |
- |
x |
x |
|
|
|
|
|
|
Konstanten, Typed Literals
Konstanten werden mit dem Schlüsselwort
CONSTANT gekennzeichnet. Sie können lokal oder global deklariert werden. Syntax:
VAR CONSTANT bzw. VAR_GLOBAL CONSTANT
<Bezeichner>:<Typ>:= <Initialisierung>;
END_VAR
Beispiel:
VAR CONSTANT
con1:INT:=12; (* 1. Konstante*) END_VAR
Eine Auflistung möglicher Konstanten und Information zur Verwendung von getypten Konstanten (Typed Literals) finden Sie im Anhang C.
Externe Variablen
Globale Variablen, die in einen Baustein importiert werden sollen, werden mit dem Schlüsselwort EXTERNAL gekennzeichnet. Sie erscheinen online auch im Watch-Fenster des Deklarationseditors.
Wenn die Deklaration unter VAR_EXTERNAL nicht mit der globalen Deklaration übereinstimmt, erscheint folgende Fehlermeldung beim Übersetzen: "Deklaration von '<Name>' stimmt nicht mit globaler Deklaration überein!".
Wenn die globale Variable nicht existiert, erscheint die folgende Meldung: "Unbekannte globale Variable: '<variable>'!".
Beispiel:
VAR_EXTERNAL
var_ext1:INT:=12; (* 1st external variable *) END_VAR
Schlüsselwörter
Schlüsselwörter sind in allen Editoren in Großbuchstaben zu schreiben. Schlüsselwörter dürfen nicht als Variablennamen verwendet werden.
Variablendeklaration
Eine Variablendeklaration hat folgende Syntax: <Bezeichner> {AT <Adresse>} :<Typ> {:= <Initialisierung>}; Die Teile in geschweiften Klammern {} sind optional.
CoDeSys V2.3 |
5-5 |

Der Deklarationseditor...
Für den Bezeichner, also den Namen von Variablen ist zu beachten, dass er keine Leerstellen und Umlaute enthalten darf, er darf nicht doppelt deklariert werden und nicht identisch mit Schlüsselwörtern sein. Groß-/Kleinschreibung bei Variablen wird nicht beachtet, das heißt VAR1, Var1 und var1 sind keine unterschiedlichen Variablen. Unterstriche sind in Bezeichnern signifikant, z.B. werden "A_BCD" und "AB_CD" als unterschiedliche Bezeichner interpretiert. Mehrfach aufeinander folgende Unterstriche am Anfang eines Bezeichners oder in einem Bezeichner sind nicht erlaubt. Die Bezeichnerlänge sowie der signifikante Bereich sind unbegrenzt.
Alle Variablendeklarationen und Datentypelemente können Initialisierungen (Zuweisung eines initialen Wertes) enthalten. Sie erfolgen mit dem Zuweisungsoperator " := ". Für Variablen von elementaren Typen sind diese Initialisierungen Konstanten. Die Default-Initialisierung ist für alle Deklarationen 0.
Beispiel:
var1:INT:=12; (* Integer-Variable mit Initialwert 12*)
Wenn Sie eine Variable direkt an eine bestimmte Adresse binden wollen, dann müssen Sie die Variable mit dem Schlüsselwort AT deklarieren.
Zur schnelleren Eingabe von Deklarationen verwenden Sie den Kurzformmodus.
In Funktionsblöcken können Variablen auch mit unvollständigen Adressangaben spezifiziert werden. Um solche Variablen in einer lokalen Instanz zu nutzen, muss dafür ein Eintrag in der
Variablenkonfiguration (Ressourcen) vorgenommen werden. Beachten Sie die Möglichkeit des automatischen Deklarierens.
AT-Deklaration
Wenn Sie eine Variable direkt an eine bestimmte Adresse binden wollen, dann müssen Sie die Variable mit dem Schlüsselwort AT deklarieren. Der Vorteil einer solchen Vorgehensweise ist, dass man einer Adresse einen aussagekräftigeren Namen geben kann, und dass man eine eventuelle Veränderung eines Einoder Ausgangssignals nur an einer Stelle (nämlich in der Deklaration) zu ändern braucht.
Beachten Sie, dass man auf Variablen, die auf einen Eingang gelegt sind, nicht schreibend zugreifen kann.
Beispiele:
schalter_heizung7 AT %QX0.0: BOOL; lichtschrankenimpuls AT %IW2: WORD; ablage AT %MX2.2: BOOL;
Hinweis: Wenn boolesche Variablen auf eine Byte-, Wordoder DWORD-Adresse gelegt werden, belegen sie 1 Byte mit TRUE bzw. FALSE, nicht nur das erste Bit nach dem Offset !
'Einfügen' 'Deklarations Schlüsselworte'
Mit diesem Befehl öffnen Sie eine Liste aller Schlüsselwörter, die im Deklarationsteil eines Bausteins benutzt werden können. Nachdem ein Schlüsselwort ausgewählt, und die Wahl bestätigt wurde, wird das Wort an der aktuellen Cursorposition eingefügt.
Die Liste erhalten Sie auch, wenn Sie die Eingabehilfe (<F2>) aufrufen und die Kategorie
Deklarationen auswählen.
'Einfügen' 'Typen'
Mit diesem Befehl erhalten Sie eine Auswahl der möglichen Typen für eine Variablendeklaration. Die Liste erhalten Sie auch, wenn Sie die Eingabehilfe (<F2>) aufrufen.
Die Typen sind eingeteilt in die Kategorien:
•Standard-Typen BOOL, BYTE etc.
•Definierte Typen Strukturen, Aufzählungstypen etc.
•Standard-Funktionsblöcke für Instanzdeklarationen
5-6 |
CoDeSys V2.3 |
5 - Die Editoren
• Definierte Funktionsblöcke für Instanzdeklarationen
CoDeSys unterstützt sämtliche Standard-Typen der Norm IEC 61131-3.
Beispiele für die Verwendung der verschiedenen Typenbefinden sich im Anhang C.
Syntaxcoloring
In allen Editoren werden Sie bei der Implementierung und der Variablendeklaration optisch unterstützt. Fehler werden vermieden bzw. schneller entdeckt, dadurch dass der Text farbig dargestellt wird.
Ein ungeschlossener Kommentar, der dadurch Anweisungen auskommentiert, wird sofort bemerkt; Schlüsselwörter werden nicht versehentlich falsch geschrieben usw.
Es gilt folgende Farbgebung:
• Blau |
Schlüsselwörter |
• Grün |
Kommentare in den Texteditoren |
• Rosa |
Spezielle Konstanten (z.B. TRUE/FALSE, T#3s, %IX0.0) |
• Rot |
Fehlerhafte Eingabe (z.B. ungültige Zeitkonstante, Schlüsselwort kleingeschrieben,...) |
• Schwarz |
Variablen, Konstanten, Zuweisungsoperatoren, ... |
Kurzformmodus
Der Deklarationseditor von CoDeSys bietet Ihnen die Möglichkeit des Kurzformmodus. Dieser wird aktiviert, wenn Sie eine Zeile mit <Strg><Eingabetaste> beenden.
Folgende Kurzformen werden unterstützt:
•Alle Bezeichner bis auf den letzten Bezeichner einer Zeile werden zu Variablenbezeichnern der Deklaration.
•Der Typ der Deklaration wird durch den letzten Bezeichner der Zeile bestimmt, hierbei gilt:
B oder BOOL ergibt BOOL
I oder INT ergibt INT
R oder REAL ergibt REAL
S oder STRING ergibt STRING
•Wenn durch diese Regeln kein Typ festgelegt werden konnte, dann ist der Typ BOOL und der letzte Identifikator wird nicht als Typ benutzt (Beispiel 1.).
•Jede Konstante wird, je nach Typ der Deklaration, zu einer Initialisierung oder einer Stringlänge (Beispiele 2. und 3.).
•Eine Adresse (wie im %MD12) wird um das AT ... Attribut erweitert (Beispiel 4.).
•Ein Text nach einem Strichpunkt (;) wird ein Kommentar (Beispiel 4.).
•Alle anderen Zeichen in der Zeile werden ignoriert (wie z.B. das Ausrufezeichen im letzten Beispiel).
Beispiele: |
|
|
|
|
Kurzform |
Deklaration |
|
||
A |
|
A: |
BOOL; |
|
A B I 2 |
|
A, B: INT := 2; |
|
|
ST S 2; |
Ein String |
ST: STRING(2); (* Ein String *) |
||
X %MD12 |
R 5; Reelle Zahl |
X AT %MD12: REAL := 5.0; |
(* Reelle Zahl *) |
|
B ! |
|
B: BOOL; |
|
CoDeSys V2.3 |
5-7 |

Der Deklarationseditor...
Automatisch deklarieren
Wenn im Dialog 'Projekt' 'Optionen' in der Kategorie Editor die Option Automatisch deklarieren gewählt wurde, so erscheint in allen Editoren nach Eingabe einer noch nicht deklarierten Variablen ein Dialog, mit dessen Hilfe diese Variable deklariert werden kann.
Dialog zur Variablendeklaration
Wählen Sie mit Hilfe der Combobox Klasse, ob es sich um eine lokale Variable (VAR) Eingabevariable (VAR_INPUT), Ausgabevariable (VAR_OUTPUT), EinAusgabevariable(VAR_IN_OUT) oder eine globale Variable (VAR_GLOBAL) handelt.
Mit den Optionen CONSTANT, RETAIN, PERSISTENT können sie definieren, ob es sich um eine Konstante oder eine remanente Variable handelt.
Das Feld Name ist mit dem im Editor eingegebenen Variablennamen vorbelegt, das Feld Typ mit
BOOL. Mit der Schaltfläche erhalten Sie hier den Dialog der Eingabehilfe zur Auswahl aller möglichen Datentypen.
Deklaration von Arrays (Feldern):
Wird als Typ der Variable ARRAY (Feld) ausgewählt, so erscheint der Dialog zur Eingabe der Array-Grenzen.
Deklarationseditor für Arrays
Für jede der drei möglichen Dimensionen (Dim.) können unter Start und Ende die Arraygrenzen eingegeben werden, indem durch Mausklick auf das entsprechende Feld ein Editierrahmen
geöffnet wird. Im Feld Typ wird der Datentyp des Arrays angegeben. Über die Schaltfläche kann hierzu ein Eingabehilfedialog aufgerufen werden.
Beim Verlassen des Array-Grenzen-Dialogs über die Schaltfläche OK wird aus den Angaben das Feld 'Typ' im Dialog Variablendeklaration im IEC-Format belegt. Beispiel: ARRAY [1..5, 1..3] OF INT
Im Feld Initialwert können Sie den Initialwert der zu deklarierenden Variable eintragen. Ist diese
ein Array oder eine gültige Struktur, können Sie über die Schaltfläche oder einen speziellen Initialisierungsdialog öffnen, bzw. bei anderen Typen den Eingabehilfedialog.
5-8 |
CoDeSys V2.3 |

5 - Die Editoren
Im Initialisierungsdialog für ein Array erhalten Sie eine Auflistung der Array-Elemente und können mit Mausklick auf die Stelle hinter ":=" ein Editierfeld zum Eintragen des Initialwerts eines Elements öffnen.
Im Initialisierungsdialog für eine Struktur werden die einzelnen Komponenten in Baumstruktur dargestellt. In Klammern hinter dem Variablennamen stehen Typ und Default-Initialwert der Komponente, dahinter folgt jeweils ":=". Bei Mausklick auf das Feld hinter ":=" öffnet ein Editierfeld, in dem Sie den gewünschten Initialwert eingeben. Ist eine Komponente ein Array, können im Initialisierungsdialog durch Mausklick auf das Pluszeichen vor dem Array-Namen die einzelnen Felder des Arrays aufgeklappt und mit Initialwerten editiert werden.
Nach Verlassen des Initialisierungsdialogs mit OK erscheint im Feld Initialwert des Deklarationsdialogs die Initialisierung des Arrays bzw. der Struktur im IEC-Format.
Beispiel: x:=5,feld:=2,3,struct2:=(a:=2,b:=3)
Im Feld Adresse können Sie die zu deklarierende Variable an eine IEC-Adresse binden (ATDeklaration).
Gegebenenfalls geben Sie einen Kommentar ein. Der Kommentar kann mittels der Tastenkombination <Strg>+<Eingabetaste> mit Zeilenumbrüchen versehen werden.
Durch Drücken von OK wird der Deklarationsdialog geschlossen und die Variable gemäß IEC-Syntax in den entsprechenden Deklarationseditor eingetragen.
Hinweis: Den Dialog zur Variablendeklaration erhalten Sie ebenfalls auf Anfrage über den Befehl 'Bearbeiten' 'Variablen' Deklaration' (siehe Allgemeine Editierfunktionen). Steht der Cursor auf einer Variablen, kann im Offline Modus mit <Shift> <F2> das Autodeclare-Fenster mit den aktuellen variablenbezogenen Einstellungen geöffnet werden.
Zeilennummern im Deklarationseditor
Im Offline Modus markiert ein einfacher Klick auf eine spezielle Zeilennummer die gesamte Textzeile.
Im Online Modus lässt ein einzelner Klick auf eine bestimmte Zeilennummer die Variable in dieser Zeile aufoder zuklappen, falls es sich um eine strukturierte Variable handelt.
Deklarationen als Tabelle
Ist die Option Deklarationen als Tabelle im Optionendialog in der Kategorie Editor aktiviert, erhalten Sie den Deklarationseditor in einer tabellarischen Darstellung. Wie in einem Karteikasten können Sie einzeln die Registerkarten der jeweiligen Variablenarten auswählen und die Variablen editieren.
Für jede Variable erhalten Sie folgende Felder zum Eintrag:
Name: |
Geben Sie den Bezeichner der Variablen ein. |
Adresse: |
Geben Sie gegebenenfalls die Adresse der Variablen ein (AT-Deklaration) |
Typ: |
Geben Sie den Typ der Variablen ein. (Bei der Instanzierung eines |
|
Funktionsblocks, den Funktionsblock) |
Initial: |
Geben Sie eine eventuelle Initialisierung der Variablen ein. (entsprechend |
|
dem Zuweisungsoperator " := ") |
Kommentar: Geben Sie hier einen Kommentar ein.
Die beiden Darstellungsarten des Deklarationseditors können problemlos gewechselt werden. Im Online Modus gibt es für die Darstellung des Deklarationseditors keine Unterschiede.
Um eine neue Variable zu editieren, führen Sie den Befehl 'Einfügen' 'Neue Deklaration' aus.
CoDeSys V2.3 |
5-9 |