
- •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

5 - Die Editoren
5.3 Editoren der textuellen Programmiersprachen...
5.3.1Arbeiten in den Texteditoren
Die für den Implementierungsteil verwendeten Texteditoren (der Anweisungslisteneditor und der Editor für Strukurierten Text) von CoDeSys verfügen über die üblichen Funktionalitäten von Windows Texteditoren.
Die Implementierung in den Texteditoren wird durch Syntaxcoloring unterstützt.
Wenn Sie im Überschreibmodus arbeiten, wird in der Statusleiste 'ÜB' schwarz angezeigt. Sie können zwischen dem Überschreibund dem Einfügemodus wechseln, durch Betätigen der Taste <Einfg>.
Die wichtigsten Befehle finden Sie im Kontextmenü (rechte Maustaste).
'Einfügen' 'Operator' in Texteditoren
Mit diesem Befehl werden in einem Dialog alle Operatoren angezeigt, die in der aktuellen Sprache verfügbar sind.
Wird einer der Operatoren ausgewählt und die Liste mit OK geschlossen, dann wird der markierte Operator an die aktuelle Cursorposition eingefügt. (Die Handhabung erfolgt wie bei der Eingabehilfe).
'Einfügen' 'Operand' in Texteditoren
Mit diesem Befehl werden in einem Dialog alle Variablen angezeigt, die als Operanden zur Verfügung stehen. Sie können wählen, ob Sie eine Liste der globalen, der lokalen oder der Systemvariablen dargestellt haben wollen.
Wird einer der Operanden ausgewählt, und der Dialog mit OK geschlossen, dann wird der markierte Operand an der aktuellen Cursorposition eingefügt. (Die Handhabung erfolgt wie bei der Eingabehilfe).
'Einfügen' 'Funktion' in Texteditoren
Mit diesem Befehl werden in einem Dialog alle Funktionen angezeigt. Sie können wählen, ob Sie eine Liste der benutzerdefinierten oder der Standardfunktionen dargestellt haben wollen.
Wird eine der Funktionen ausgewählt, und der Dialog mit OK geschlossen, dann wird die markierte Funktion an der aktuellen Cursorposition eingefügt. (Die Handhabung erfolgt wie bei der Eingabehilfe).
Wurde im Dialog die Option Mit Argumenten angewählt, so werden die erforderlichen Eingabevariablen der Funktion mit eingefügt.
'Einfügen' 'Funktionsblock' in Texteditoren
Mit diesem Befehl werden in einem Dialog alle Funktionsblöcke angezeigt. Sie können wählen, ob Sie eine Liste der benutzerdefinierten oder der Standardfunktionsblöcke dargestellt haben wollen.
Wird einer der Funktionsblöcke ausgewählt, und der Dialog mit OK geschlossen, dann wird der markierte Funktionsblock an der aktuellen Cursorposition eingefügt. (Die Handhabung erfolgt wie bei der Eingabehilfe).
Wurde im Dialog die Option Mit Argumenten angewählt, so werden die erforderlichen Eingabevariablen des Funktionsblocks mit eingefügt. Diese müssen jedoch nicht zwingend belegt werden.
Bausteinaufruf mit Ausgangsparametern in Texteditoren
Die Ausgangsparameter eines aufgerufenen Bausteins können in den textuellen Sprachen AWL und ST bereits direkt im Aufruf zugewiesen werden.
Beispiel: Ausgangsparameter out1 von afbinst wird Variable a zugewiesen.
CoDeSys V2.3 |
5-17 |

Editoren der textuellen Programmiersprachen...
AWL: CAL afbinst(in1:=1, out1=>a)
ST: afbinst(in1:=1, out1=>a);
Wird der Baustein unter Verwendung der Eingabehilfe (<F2>) mit Option Mit Argumenten im Implementationsfenster eines ST oder AWL-Bausteins eingefügt, wird er automatisch in dieser Syntax mit ihren Parametern dargestellt. Die Parameter müssen jedoch nicht zwingend belegt werden.
Die Texteditoren im Online Modus
Die Onlinefunktionen in den Editoren sind Breakpoint setzen und Einzelschrittabarbeitung (Steppen). Zusammen mit dem Monitoring steht dem Anwender so die Debugging-Funktionalität eines modernen Windows-Hochsprachendebuggers zur Verfügung.
Im Online Modus wird das Texteditor-Fenster vertikal zweigeteilt. Auf der linken Seite des Fensters befindet sich dann der normale Programmtext, auf der rechten Seite finden Sie die Variablen dargestellt, deren Werte in der jeweiligen Zeile geändert werden.
Die Darstellung ist dieselbe wie im Deklarationsteil. D.h. wenn die Steuerung läuft, werden die momentanen Werte der jeweiligen Variablen dargestellt.
Beim Monitoring von Ausdrücken oder Bit-adressierten Variablen ist folgendes zu beachten: Bei Ausdrücken wird stets der Wert des gesamten Ausdrucks dargestellt. Beispiel: a AND b wird als blau bzw. mit ":=TRUE" angezeigt, wenn a und b TRUE sind). Bei Bit-adressierten Variablen wird immer der angesprochene Bit-Wert gemonitort (z.B. wird a.3 blau bzw. mit :=TRUE dargestellt, wenn a den Wert 4 hat). Wenn Sie den Mauszeiger eine kurze Zeit über einer Variablen halten, wird der Typ, die Adresse und der Kommentar der Variablen in einem Tooltip angezeigt.
'Extras' 'Monitoring Einstellungen'
Mit diesem Befehl können Sie Ihr Monitoring-Fenster konfigurieren. In den Texteditoren wird beim Monitoring das Fenster aufgeteilt in eine linke Hälfte, in der das Programm steht, und eine rechte Hälfte, in der alle Variablen, die in der entsprechenden Programmzeile stehen, gemonitort werden.
Sie können einstellen, welche Breite der Monitoring-Bereich im Textfenster be kommen soll, und welchen Abstand zwei Monitoring-Variablen in einer Zeile haben sollen. Die Abstandsangabe 1 entspricht dabei einer Zeilenhöhe in der gewählten Schriftart.
Monitoring Einstellungen-Dialog
Breakpoint-Positionen im Texteditor
Da intern in CoDeSys mehrere AWL-Zeilen zu einer C-Code-Zeile zusammengefasst werden, können nicht in jeder Zeile Breakpoints gesetzt werden. Breakpoint-Positionen sind alle Stellen im Programm, an denen sich Variablenwerte ändern können oder an denen der Programmfluss verzweigt (Ausnahme: Funktionsaufrufe. Hier muss gegebenenfalls ein Breakpoint in der Funktion gesetzt werden). An den dazwischen liegenden Positionen ist ein Breakpoint auch nicht sinnvoll, da sich an den Daten seit der vorhergehenden Breakpoint-Position nichts geändert haben kann.
Damit ergeben sich folgende Breakpoint-Positionen in der AWL:
•Am Anfang des Bausteins
•Auf jedem LD, LDN (oder falls ein LD direkt nach einer Marke steht, auf dieser)
•Bei jedem JMP, JMPC, JMPCN
•Bei jeder Marke
•Bei jedem CAL, CALC, CALCN
5-18 |
CoDeSys V2.3 |

5 - Die Editoren
•Bei jedem RET, RETC, RETCN
•Am Ende des Bausteins
Für Strukturierten Text ergeben sich folgende Breakpoint-Positionen:
•Bei jeder Zuweisung
•Bei jeder RETURN und EXIT-Anweisung
•in Zeilen, in denen Bedingungen ausgewertet werden (WHILE, IF, REPEAT)
•Am Ende des Bausteins
Breakpoint-Positionen sind dadurch gekennzeichnet, dass das Zeilennummernfeld in einem dunkleren Grau dargestellt ist.
AWL-Editor mit möglichen Breakpoint-Positionen (dunklere Nummernfelder)
Um einen Breakpoint zu setzen, klickt der Anwender mit der Maus das Zeilennummernfeld der Zeile an, in der er den Breakpoint setzen möchte. Ist das ausgewählte Feld eine Breakpoint-Position, so wechselt die Farbe des Zeilennummernfeldes von dunkelgrau nach hellblau und der Breakpoint wird in der Steuerung aktiviert.
Entsprechend wird, um einen Breakpoint zu löschen, das Zeilennummernfeld der Zeile mit dem zu löschenden Breakpoint angeklickt.
Setzen und Löschen von Breakpoints kann auch über Menü ('Online' 'Breakpoint an/aus'), über Funktionstaste <F9> oder das Symbol in der Funktionsleiste ausgewählt werden.
Was passiert an einem Breakpoint?
Ist in der Steuerung ein Breakpoint erreicht, so wird am Bildschirm der Aus schnitt mit der entsprechenden Zeile dargestellt. Das Zeilennummernfeld der Zeile, in der die Steuerung steht, ist rot. In der Steuerung stoppt die Bearbeitung des Anwenderprogramms.
Steht das Programm auf einem Breakpoint, so kann die Bearbeitung mit 'Online' 'Start' fortgesetzt werden.
Außerdem kann mit 'Online' 'Einzelschritt über' bzw. 'Einzelschritt in' nur bis zur nächsten Breakpoint-Position gegangen werden. Ist die Anweisung, auf der man steht, ein CAL-Befehl oder steht in den Zeilen bis zur nächsten Breakpoint-Position ein Funktionsaufruf, so wird dieser mit 'Einzelschritt über' übersprungen, mit 'Einzelschritt in' wird in den aufgerufenen Baustein verzweigt.
Zeilennummern des Texteditors
Die Zeilennummern des Texteditors geben die Nummer jeder Textzeile einer Implementierung eines Bausteins an.
Im Offline Modus markiert ein einfacher Klick auf eine spezielle Zeilennummer die gesamte Textzeile.
CoDeSys V2.3 |
5-19 |

Editoren der textuellen Programmiersprachen...
Im Online Modus zeigt die Hintergrundfarbe der Zeilennummer den Breakpoint-Zustand jeder Zeile an:
•dunkelgrau: Diese Zeile ist eine mögliche Position für einen Breakpoint.
•hellblau: in dieser Zeile wurde ein Breakpoint gesetzt.
•rot: die Programmabarbeitung befindet sich an diesem Punkt.
Im Online Modus wechselt ein einfacher Mausklick den Breakpoint-Zustand dieser Zeile.
5.3.2Der Anweisungslisteneditor...
So sieht ein in AWL geschriebener Baustein unter dem entsprechenden CoDeSys-Editor aus:
Alle Editoren für Bausteine bestehen aus einem Deklarationsteil und einem Rumpf. Diese sind getrennt durch einen Bildschirmteiler.
Der Anweisungslisteneditor ist ein Texteditor mit den üblichen Funktionalitäten von Windows Texteditoren. Die wichtigsten Befehle finden Sie im Kontextmenü (rechte Maustaste).
Ein mehrzeiliger Bausteinaufruf ist möglich: Beispiel:
CAL CTU_inst( CU:=%IX10, PV:=(
LD A
ADD 5
)
)
Für Informationen zur Sprache, siehe Anweisungsliste (AWL).
So sieht ein in AWL geschriebener Baustein unter dem entsprechenden CoDeSys-Editor aus:
5-20 |
CoDeSys V2.3 |

5 - Die Editoren
Alle Editoren für Bausteine bestehen aus einem Deklarationsteil und einem Rumpf. Diese sind getrennt durch einen Bildschirmteiler.
Der Anweisungslisteneditor ist ein Texteditor mit den üblichen Funktionalitäten von Windows Texteditoren. Die wichtigsten Befehle finden Sie im Kontextmenü (rechte Maustaste).
Ein mehrzeiliger Bausteinaufruf ist möglich: Beispiel:
CAL CTU_inst(
CU:=%IX10,
PV:=(
LD A
ADD 5
)
)
Für Informationen zur Sprache, siehe Anweisungsliste (AWL).
AWL im Online Modus
Mit dem Befehl 'Online' 'Ablaufkontrolle' wird im AWL-Editor auf der linken Seite jeder Zeile ein weiteres Feld eingefügt, in dem der Akkumulatorinhalt dargestellt wird.
Zu weiteren Informationen über den AWL-Editor im Online Modus siehe Kapitel 'Die Texteditoren im Online Modus'.
CoDeSys V2.3 |
5-21 |