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

2 - Was ist was in CoDeSys
Variable. Wenn ein Kontakt negiert ist, dann schaltet er nur dann durch, wenn die zugehörige boolesche Variable FALSE ist.
Funktionsblöcke im Kontaktplan
Neben Kontakten und Spulen können Sie auch Funktionsblöcke und Programme eingeben, diese müssen im Netzwerk einen Eingang und einen Ausgang mit boolschen Werten haben und können an denselben Stellen verwendet werden wie Kontakte, d.h. auf der linken Seite des KOP-Netzwerks.
Set/Reset-Spulen
Spulen können auch als Setoder Reset-Spulen definiert sein. Eine Set-Spule (erkennbar am ‚S' im Spulensymbol: (S)) überschreibt in der zugehörigen boolschen Variablen niemals den Wert TRUE. D.h., wenn die Variable einmal auf TRUE gesetzt wurde, dann bleibt sie es auch.
Eine Reset-Spule (erkennbar am ‚R' im Spulensymbol: (R)), überschreibt in der zugehörigen boolschen Variablen niemals den Wert FALSE: Wenn die Variable einmal auf FALSE gesetzt wurde, dann bleibt sie es auch.
KOP als FUP
Beim Arbeiten mit dem KOP kann leicht der Fall auftreten, dass Sie das Ergebnis der Kontaktschaltung zur Steuerung anderer Bausteine nutzen wollen. Dann können Sie einerseits das Ergebnis mit Hilfe der Spulen in einer globalen Variable ablegen, die an anderer Stelle weiter benutzt wird. Sie können aber auch den eventuellen Aufruf direkt in Ihr KOP-Netzwerk einbauen. Dazu führen Sie einen Baustein mit EN-Eingang ein.
Solche Bausteine sind ganz normale Operanden, Funktionen, Programme oder Funktionsblöcke, die einen zusätzlichen Eingang haben, der mit EN beschriftet ist. Der EN-Eingang ist immer vom Typ BOOL und seine Bedeutung ist: der Baustein mit EN-Eingang wird dann ausgewertet, wenn EN den Wert TRUE hat.
Ein EN-Baustein wird parallel zu den Spulen geschaltet, wobei der EN-Eingang mit der Verbindungslinie zwischen den Kontakten und den Spulen verbunden wird. Wenn über diese Linie die Information AN transportiert wird, dann wird dieser Baustein ganz normal ausgewertet.
Ausgehend von einem solchen EN-Baustein können Netzwerke wie in FUP erstellt werden.
Beispiel eines KOP-Netzwerks mit einem EN-Baustein:
2.3 Debugging, Onlinefunktionalitäten...
Debugging
Mit den Debugging-Funktionen von CoDeSys wird Ihnen das Auffinden von Fehlern erleichtert.
Um Debuggen zu können, muss der Befehl 'Projekt' Optionen' ausgeführt und im erscheinenden Dialog unter Übersetzungsoptionen der Punkt Debugging ausgewählt werden.
Breakpoint
Ein Breakpoint ist eine Stelle im Programm, an der die Abarbeitung angehalten wird. Somit ist es möglich, die Werte von Variablen an einer bestimmten Programmstelle zu betrachten.
CoDeSys V2.3 |
2-23 |

Debugging, Onlinefunktionalitäten...
Breakpoints können in allen Editoren gesetzt werden. In den Texteditoren werden Breakpoints auf Zeilennummern gesetzt, in FUP und KOP auf Netzwerknummern, im CFC auf Bausteine und in AS auf Schritte. In Funktionsblockinstanzen können keine Breakpoints gesetzt werden.
Einzelschritt
Einzelschritt bedeutet:
•in AWL: Das Programm bis zum nächsten CAL, LD oder JMP-Befehl ausführen.
•in ST: Die nächste Anweisung ausführen.
•in FUP, KOP: Das nächste Netzwerk ausführen
•in AS: Die Aktion zum nächsten Schritt ausführen
•in CFC: Den nächsten Baustein (Box) im CFC-Programm ausführen
Durch schrittweise Abarbeitung können Sie die logische Korrektheit Ihres Programms überprüfen.
Einzelzyklus
Wenn Einzelzyklus gewählt wurde, dann wird nach jedem Zyklus die Abarbeitung angehalten.
Werte Online verändern
Variablen können im laufenden Betrieb einmalig auf einen bestimmten Wert gesetzt werden (Wert schreiben) oder auch nach jedem Zyklus wieder neu mit einem bestimmten Wert beschrieben werden (Forcen). Sie können den Variablenwert im Online-Betrieb auch verändern, indem Sie einen Doppelklick darauf durchführen. Boolesche Variablen wechseln dadurch von TRUE auf FALSE bzw. umgekehrt, für alle anderen erhalten Sie einen Dialog Variable xy schreiben, in dem Sie den aktuellen Variablenwert editieren können.
Monitoring
Im Online Modus werden für alle am Bildschirm sichtbaren Variablen laufend die aktuellen Werte aus der Steuerung gelesen und dargestellt. Diese Darstellung finden Sie im Deklarationsund Programmeditor, außerdem können Sie im Watchund Rezepturmanager und in einer Visualisierung aktuelle Variablenwerte ausgeben. Sollen Variablen aus Funktionsblock-Instanzen "gemonitored" werden, muss erst die entsprechende Instanz geöffnet werden Beim Monitoring von VAR_IN_OUT Variablen wird der dereferenzierte Wert ausgegeben.
Beim Monitoring von Pointern wird im Deklarationsteil sowohl der Pointer als auch der dereferenzierte Wert ausgegeben. Im Programmteil wird nur der Pointer ausgegeben:
+ --pointervar = '<'pointervalue'>'
POINTER im dereferenzierten Wert werden ebenfalls entsprechend angezeigt. Mit einfachem Klick auf das Kreuz oder mit Doppelklick auf die Zeile wird die Anzeige expandiert bzw. kollabiert.
In den Implementierungen wird der Wert des Pointers angezeigt. Für Dereferenzierungen wird jedoch der dereferenzierte Wert angezeigt.
Monitoring von ARRAY-Komponenten: Zusätzlich zu Array-Komponenten, die über eine Konstante indiziert sind, werden auch Komponenten angezeigt, die über eine Variable indiziert sind:
anarray[1] = 5 anarray[i] = 1
Besteht der index aus einem Ausdruck (z.B. [i+j] oder [i+1]), kann die Komponente nicht angezeigt werden.
2-24 |
CoDeSys V2.3 |

2 - Was ist was in CoDeSys
Beispiel für Monitoring von Pointern:
Bitte beachten: Wenn die Anzahl der Variablen, die maximal "gemonitored" werden können, erreicht ist, wird für jede weitere Variable anstelle des aktuellen Wertes der Text "Zu viele Monitoring Variablen" angezeigt.
Simulation
Bei der Simulation wird das erzeugte Steuerungsprogramm nicht in der Steuerung, sondern auf dem Rechner, auf dem auch CoDeSys läuft, abgearbeitet. Es stehen alle Onlinefunktionen zur Verfügung. Sie haben somit die Möglichkeit, die logische Korrektheit Ihres Programmes ohne Steuerungshardware zu testen.
Hinweis: Bausteine aus externen Bibliotheken laufen nicht in der Simulation.
Logbuch
Das Logbuch zeichnet Benutzeraktionen, interne Vorgänge, Statusänderungen und Ausnahmezustände während des Online-Modus chronologisch auf. Es dient der Überwachung und der Fehlerrückverfolgung.
CoDeSys V2.3 |
2-25 |

Die Norm...
2.4 Die Norm...
Die Norm IEC 61131-3 ist ein internationaler Standard für Programmiersprachen von speicherprogrammierbaren Steuerungen.
Die in CoDeSys realisierten Programmiersprachen sind konform zu den Anforderungen der Norm. Nach diesem Standard besteht ein Programm aus folgenden Elementen:
•Strukturen
•Bausteine
•Globale Variablen
Die allgemeinen Sprachelemente werden in den Abschnitten Bezeichner, Adressen, Typen, Kommentare und Konstanten beschrieben.
Die Abarbeitung eines CoDeSys-Programms beginnt mit dem speziellen Baustein PLC_PRG. Der Baustein PLC_PRG kann andere Bausteine aufrufen.
2-26 |
CoDeSys V2.3 |