Grundlegendes
Wichtig
Die Anzeige verschiedener Elemente des Kontaktplans, wie beispielsweise Netzwerktitel und Netzwerkkommentare, wird über die Einstellungen in der Datei LadderEditor.prefs gesteuert.
Unterschiede zum Kontaktplan in CODESYS 3
In CODESYS 3 werden mit den Add-ons CODESYS Ladder und CODESYS LD FBD zwei Varianten des Kontaktplans bereitgestellt: Kontaktplan (KOP) und Kontaktplan (KOP2). Der in CODESYS 4 bereitgestellte Kontaktplan ähnelt KOP2.
Kontaktplan in CODESYS 4
Die erforderlichen Elemente stehen in der Elementleiste zur Verfügung. Im Editor werden Befehle im Kontextmenü bereitgestellt, das sich auf ein selektiertes Element oder eine selektierte Einfügestelle bezieht. Es gibt kein Menü.
Kontaktplan in CODESYS 3
Die Befehle für den Kontaktplan werden im Kontaktplan-Menü, die Elemente in der Werkzeuge-Ansicht bereitgestellt. Befehle können auch selektiv über das Kontextmenü aufgerufen werden.
Folgende Funktionalität gibt es nur im Kontaktplan in CODESYS 3:
Die Bausteine
AND,OR,ADD,MUL,SELkönnen um Eingangspins erweitert werden: Befehl Eingangspin hinzufügenEingangs- oder Ausgangspins, die ohne Zuweisung sind, werden von einem Baustein entfernt: Befehl Nicht verwendete Pins entfernen
Zu einem Programmierbausteinen in KOP kann eine Visualisierung generiert werden: Befehl AS/KOP-Visualisierungen erzeugen
Ein ST-Baustein im Kontaktplan (KOP) ermöglicht die Ausführung von Programmteilen in der Implementierungssprache ST innerhalb eines KOP-Netzwerks. Dies ist insbesondere bei komplexen Berechnungen, bedingten Anweisungen sowie Datenmanipulationen von Vorteil: Befehl ST-Baustein einfügen
Folgende Möglichkeiten im Onlinebetrieb gibt es nur im Kontaktplan in CODESYS 3:
Aktuelle Signal- und Variablenwerte beobachten (Inline-Monitoring)
Forcen und Schreiben von Variablen
Debugging mithilfe von Haltepunkten
Für weitere Informationen zur KOP-Programmierung in der CODESYS 3-IDE siehe: Hilfe zu CODESYS Ladder
Aufbau eines Kontaktplans
Im KOP-Editor werden die Elemente in der Elementleiste und im Kontextmenü bereitgestellt.
Element | Elementleiste | Befehle im Kontextmenü | Editor | Beschreibung |
|---|---|---|---|---|
Stromschiene | ![]() | Die schwarze vertikale Linie stellt die Stromschiene dar. Sie verbindet die nummerierten Netzwerke zu einem zusammenhängenden Kontaktplan. Die Netzwerke werden entlang der Stromschiene von oben nach unten in ihrer Reihenfolge abgearbeitet. | ||
![]() | Befehl Netzwerk | Ein Kontaktplan verfügt über mindestens ein Netzwerk. Ein Netzwerk beginnt links an der Stromschiene und ist über den Signalpfad der Elemente mit einem Ausgang oder einer Spule verbunden. Ein Netzwerk entspricht in etwa einer Anweisung, das heißt einer mit Strichpunkt abgeschlossenen Codezeile im ST-Programmierbaustein. Es repräsentiert eine Codezeile, in der beispielsweise ein Ausdruck oder ein Aufruf programmiert werden können. | ||
Netzwerk, Titel | ![]() | Titel für ein Netzwerk In den Präferenzen können Sie festlegen, ob der Titel angezeigt werden soll. | ||
Netzwerk, Kommentar | ![]() | Kommentar für ein Netzwerk In den Präferenzen können Sie festlegen, ob der Kommentar angezeigt werden soll. | ||
Netzwerk, Sprungmarke | ![]() | Sprungmarke für ein Netzwerk Eine Sprungmarke definiert ein Sprungziel innerhalb des Kontaktplans. Pro Netzwerk ist eine Sprungmarke zulässig. Initial wird der Platzhaltertext "Sprungmarke hier einfügen" angezeigt. Dieser ist sichtbar, wenn die Sprungmarke den Fokus erhält. | ||
Strompfad | Die horizontale Linie im Netzwerk kann als Strompfad gelesen werden und verbindet die Elemente von der Stromschiene bis zum letzten Element. Der Strompfad erscheint, sobald ein Element dem Netzwerk hinzugefügt wird. Entlang des Strompfads können die Elemente sowohl in Reihe als auch parallel geschaltet werden. Dadurch ist es möglich, den Pfad über eine oder mehrere Verzweigungen zu führen. Die Logik wird von links nach rechts gelesen. In Reihe geschaltete Elemente sind verundet. Elemente in einer parallelen Verzweigung sind verodert. | |||
![]() | Befehl Kontakt | Kontakt für einen booleschen Eingang Ein Kontakt repräsentiert ein boolesches Eingangssignal. Abhängig vom Signalzustand ist der Kontakt leitend (geschlossen) oder nicht leitend (geöffnet). Die Auswertung der Signalleitung erfolgt von links nach rechts. | ||
![]() | Befehl Spule | Spule für einen booleschen Ausgang Eine Spule repräsentiert ein boolesches Ausgangssignal. Ist die Signalleitung bis zur Spule leitend, wird das Ausgangssignal gesetzt. Andernfalls wird es zurückgesetzt. Dies funktioniert ähnlich wie bei einem Zuweisungsoperator. Die Auswertung der Signalleitung erfolgt von links nach rechts. | ||
![]() | Befehl Baustein | Ein Baustein ist ein Element, das einen komplexen Baustein ausführt. Beim Einfügen eines Bausteins wird das Netzwerk zunächst um einen Leerblock mit Platzhalterfunktion erweitert. Dann können Sie dem Baustein eine Funktion oder eine Funktionsbaustein-Instanz zuordnen. Dadurch wird das Layout und die Ausführung des Bausteins bestimmt sowie die Anzahl der Ein- und Ausgänge. Standardmäßig wird der EN-/ENO-Mechanismus hinzugefügt. | ||
![]() | Befehl Sprung | Das Sprungelement führt einen Sprung zu einer Sprungmarke in einem anderen Netzwerk aus. Die Sprungmarke steht am Anfang des Netzwerks, das angesprungen und dann weiter ausgeführt wird. | ||
![]() | Befehl Return | ![]() | Wenn das Return-Element geschaltet wird, wird die Ausführung des aktuellen Programmierbausteins vorzeitig beendet. Der Programmablauf springt anschließend zum aufrufenden Baustein zurück. Nachfolgende Anweisungen werden nicht mehr ausgeführt. | |
![]() | Befehl Eingang | Eingangselement, das primär für einen nicht-booleschen Wert vorgesehen ist | ||
![]() | Befehl Ausgang | Ausgangselement, das primär für einen nicht-booleschen Wert vorgesehen ist |
Einfügepositionen
Die Einfügepositionen, die für ein Element gültig sind, sind für das Programmieren einer Schaltung wesentlich.
Wenn Sie ein Element in der Elementleiste ausgewählt haben, und Sie den Cursor zurück in den Editorbereich gezogen haben, erscheinen dort die gültigen Einfügepositionen. Ziehen Sie das ausgewählte Element auf die gewünschte Position. Lassen Sie es erst fallen, wenn der Cursor mit einem kleinen Pluszeichen signalisiert, dass es eine gültige Position ist.
Einfügepositionen werden durch verschiedene Symbole dargestellt. Jedes Symbol repräsentiert eine mögliche Stelle im Kontaktplan und zeigt an, wie das Element mit den benachbarten Elementen verbunden werden könnte.
Rechteck

Einfügeposition rechts der bereits eingefügten Elemente
Raute
für ein Einfügen in ReiheEinfügeposition links der bereits eingefügten Elemente
Dreieck
, 
Einfügeposition nach einer Abzweigung auf einer parallelen Verbindung, die unterhalb (Dreieck zeigt nach unten) oder oberhalb (Dreieck zeigt nach oben) verläuft
Einfügeposition | Kontext | Beschreibung |
|---|---|---|
| ![]() | Initiale Einfügeposition Wenn Sie den Mauszeiger auf ein Netzwerk, eine Stromschiene, einen Strompfad oder ein Element bewegen, werden Symbole für Einfügepositionen sowie Eingabefelder für Titel, Kommentare oder Sprungmarken angezeigt. Diese zeigen die verfügbaren Programmieroptionen an. |
| ![]() | Einfügeposition für ein neues Netzwerk oberhalb des bestehenden Netzwerks. Wenn Sie in der Elementleiste beispielsweise einen Kontakt ausgewählt haben, wird zusätzlich in das neue Netzwerk ein Kontakt eingefügt. |
| ![]() | Einfügeposition unterhalb des bestehenden Netzwerks |
| ![]() | Einfügeposition am Ende der Leitung Das Rechteck wird angezeigt, wenn weder eine Spule noch ein Ausgang in der Verbindung vorhanden sind. |
| ![]() | Einfügeposition links der bereits eingefügten Elemente Die Raute markiert eine Position, an der ein weiteres Element in Reihe vor den vorhandenen eingefügt wird. |
| Das nach unten zeigende Dreieck markiert eine Einfügeposition, bei der nach einer Abzweigung ein Element auf einer parallelen Verbindung eingefügt wird. Die parallele Verbindung verläuft unterhalb. | |
| Das nach oben zeigende Dreieck markiert eine Einfügeposition, an der ein neues Element parallel eingefügt werden kann. Die parallele Verbindung verläuft oberhalb. Voraussetzung: Es gibt bereits eine Abzweigung. | |
| ![]() | Das Quadrat signalisiert, dass der Baustein selektiert ist. Beispielsweise für den Befehl Parameter aktualisieren. Das nach unten zeigende Dreieck ermöglicht das Einfügen eines neuen Elements parallel zum selektierten Baustein. |




















