KOP-Netzwerke bearbeiten
Dieses Thema enthält die folgenden Abschnitte:
Allgemeine Informationen zu Netzwerken (KOP gemischt mit FBS)
Ein grafisches Code-Arbeitsblatt besteht aus einem oder mehreren Netzwerken. Jedes Netzwerk enthält eine Kombination aus FBS/KOP-Code-Objekten, die durch Verbindungslinien miteinander verbunden sind. Die Abarbeitungsreihenfolge der Netzwerke in einem Code-Arbeitsblatt erfolgt normalerweise von oben nach unten.
PLCnext Engineer unterstützt drei Varianten von gemischten FBS- und KOP-Arbeitsblättern.
-
FBS/KOP-Code-Arbeitsblätter, programmiert mit dem freigrafischen Editor. Dieser Editor erlaubt ein anwenderdefiniertes Code-Layout mit einem hohen Maß an Gestaltungsfreiheit. Objekte können eingefügt, gelöscht, verbunden, getrennt und verschoben werden. Beim Verschieben von Objekten führt der Editor ein Autorouting der Verbindungslinien durch. Lesen Sie hierzu das Thema "Objekte auswählen, verschieben, kopieren/ausschneiden/einfügen".Wenn Sie den Mauszeiger über ein Netzwerk bewegen, wird das Netzwerk durch einen grauen Rahmen eingefasst (wie im folgenden FBS/KOP-Netzwerk gezeigt). Wenn Sie den Mauszeiger in der linken oberen Ecke des Netzwerks platzieren, erscheint das 'Verschieben'-Symbol. Um ein gesamtes Netzwerk zu verschieben, klicken Sie auf das 'Verschieben'-Symbol und ziehen das Netzwerk bei gedrückter Maustaste an die gewünschte Position.
-
NKOP-Code-Arbeitsblätter (NKOP = Netzwerkorientierter KOntaktPlan), programmiert mit dem netzwerkorientierten grafischen Editor. Im NKOP-Editor wird das Code-Layout durch den Editor vorgegeben und die Objekte automatisch angeordnet. Das Layout kann nicht geändert werden. Objekte und Verbindungslinien können z.B. nicht verschoben werden.In NKOP wird jedes Code-Netzwerk als Abschnitt betrachtet, der oben durch eine horizontale Leiste begrenzt ist. Ein Abschnitt/Netzwerk besitzt eine durchgehende linke und rechte Stromschiene. Innerhalb eines Abschnitts kann kein weiteres Netzwerk eingefügt werden. Beim Versuch wird automatisch ein neuer Netzwerkabschnitt angelegt.
Die Netzwerkmarke in der horizontalen Leiste identifiziert das Netzwerk und kann als Sprungmarke (Sprungziel) verwendet werden. Sprünge auf Netzwerkmarken sind nur aus anderen Netzwerken innerhalb desselben Arbeitsblattes möglich.
-
SNKOP-Code-Arbeitsblätter (SNKOP = Sicherheitsbezogener Netzwerkorientierter KOntaktPlan), programmiert mit dem sicherheitsbezogenen netzwerkorientierten grafischen Editor. Der SNKOP-Editor funktioniert wie der NKOP-Editor, stellt jedoch zusätzliche sicherheitsbezogene Funktionen bereit, wie z.B. die kontinuierliche Prüfung der Konsistenz der Arbeitsblattdaten, Signalpfadanalyse usw. Weitere Informationen hierzu finden Sie unter "Ähnlichkeiten und Unterschiede zwischen FBS/KOP, NKOP und SNKOP".
FBS/KOP, NKOP und SNKOP verwenden die gleiche Syntax und die gleichen Objekte.
Funktionaler Sprachumfang in SNKOP: LVL oder FVL: Verglichen mit dem Funktionsumfang in Standard-FBS/KOP, gelten für SNKOP einige Einschränkungen hinsichtlich der verfügbaren Sprachobjekte. Die Art der Einschränkungen hängt von Ihrer Applikation und den einzuhaltenden Sicherheitsanforderungen ab. Je nach anzuwendenden Sicherheitsrichtlinien und Normen, unterstützt PLCnext Engineer eine Limited Variability Language (LVL) mit eingeschränktem Funktionsumfang oder eine Full Variability Language (FVL) mit vollem Funktionsumfang. FVL bietet mehr Sprachobjekte und Möglichkeiten als LVL. Sprünge sind beispielsweise nur in FVL verfügbar.
Wählen Sie 'Projekt > Sprachprofil ändern' und selektieren Sie im Auswahldialog das gewünschte Profil, um die verfügbaren Sprachelemente (LVL oder FVL) zu spezifizieren und dadurch auch die anzuwendende Norm zu definieren. Sie müssen dazu im sicherheitsbezogenen Bereich angemeldet sein.
Was möchten Sie tun?
Ein Basisnetzwerk einfügen
Um ein KOP-Netzwerk zu entwickeln, muss zuerst ein Basisnetzwerk, bestehend aus einem Kontakt, einer Spule und einer Stromschiene, eingefügt werden. Dieses Netzwerk kann anschließend durch parallele/serielle Kontakte/Spulen oder andere grafische Objekte, wie z.B. Funktionen und Funktionsbausteine, erweitert werden.
FBS/KOP-Code-Arbeitsblätter:
- Linksklicken Sie im Arbeitsblatt an die Stelle, an der Sie das Netzwerk einfügen möchten.
- Linksklicken Sie auf die Direktschaltfläche
oder die gleiche Schaltfläche in der Symbolleiste des Editors. Alternativ können Sie auch <F8> drücken.Ein Basisnetzwerk mit einer linken und rechten Stromschiene, einem Kontakt und einer Spule wird eingefügt. Die KOP-Objekte werden mit den Bezeichnern C001 und C002 eingefügt, wobei die zugehörigen Variablen noch nicht deklariert sind.
- Deklarieren Sie die Variablen für den Kontakt und die Spule, wie in der unter "Variablen/Konstanten einem KOP-Objekt zuweisen" beschrieben.
NKOP und SNKOP-Code-Arbeitsblätter:
In NKOP und SNKOP wird ein kompletter Codeabschnitt mit einem neuen Netzwerk eingefügt, der oben durch die horizontale Leiste begrenzt ist.
- Linksklicken Sie an eine beliebige Stelle unterhalb des letzten Codeabschnitts.
- Linksklicken Sie auf die Direktschaltfläche
oder die gleiche Schaltfläche in der Symbolleiste des Editors. Alternativ können Sie auch <F8> drücken.Ein Basisnetzwerk mit einer linken und rechten Stromschiene, einem Kontakt und einer Spule wird eingefügt. Die KOP-Objekte werden mit den Bezeichnern C001 und C002 eingefügt, wobei die zugehörigen Variablen noch nicht deklariert sind.
- Deklarieren Sie die Variablen für den Kontakt und die Spule, wie in der unter "Variablen/Konstanten einem KOP-Objekt zuweisen" beschrieben.
Serielle oder parallele Kontakte/Spulen einfügen
Mit folgenden Schaltflächen und Tastaturbefehlen können Sie serielle oder parallele Kontakte/Spulen in ein vorhandenes KOP-Netzwerk in einem FBS/KOP-, NKOP-, SNKOP- und AS-Arbeitsblatt einfügen.
Symbolleistenschaltfläche / Direktschaltfläche | Tastaturbefehl | Beschreibung |
 | <Strg>+<F8> | Fügt einen seriellen Kontakt rechts neben dem ausgewählten Objekt ein.Um einen nicht verbundenen Kontakt einzufügen, klicken Sie im Arbeitsblatt an eine beliebige Stelle und führen dann den Befehl aus.Beachten Sie hierzu den Hinweis im Anschluss an diese Tabelle. |
 | <Alt>+<F8> | Fügt eine serielle Spule rechts neben dem ausgewählten Objekt ein.Um eine nicht verbundene Spule einzufügen, klicken Sie im Arbeitsblatt an eine beliebige Stelle und führen dann den Befehl aus.Beachten Sie hierzu den Hinweis im Anschluss an diese Tabelle. |
 | <Umschalt>+<F8> | Fügt ein paralleles Objekt unterhalb des markierten Objekts ein. Wenn Sie zuvor einen Kontakt markiert haben, wird ein neuer Kontakt eingefügt. Bei markierter Spule wird eine neue Spule eingefügt. Beachten Sie hierzu den Hinweis im Anschluss an diese Tabelle. |
Hinweis
In NKOP und SNKOP sind diese Befehle nur verfügbar, wenn ein passendes Objekt oder eine Verbindungslinie in einem vorhandenen Netzwerk ausgewählt ist. Passend bedeutet, dass der neue Kontakt an der gewählten Position eingefügt werden darf. |
Hinweis
Sie können für NKOP- und SNKOP-Arbeitsblätter in den Optionen für den grafischen Editor ('Extras > Optionen | Grafischer Editor | NKOP-Optionen') eine begrenzte Seitenbreite definieren. Die Seitenbreite wird dabei über die Anzahl an Kontakten in einem Netzwerkstrang vorgegeben. Wenn eine begrenzte Seitenbreite eingestellt ist, wird die Netzwerkbreite nach rechts begrenzt. Die Seitenbreite wird anhand der angegebenen Anzahl an Kontakten bestimmt. Wenn anschließend die eingestellte Seitenbreite durch Einfügen zu vieler serieller Objekte überschritten wird, wird ein Fehler gemeldet und die rechte Stromschiene entsprechend hervorgehoben. Um weiter editieren zu können, müssen Sie zunächst Objekte löschen, um die eingestellte Breite wieder zu erreichen.

Bei unbegrenzter Seitenbreite (die Option 'Feste Breite...' in den Einstellungen des grafischen Editors im Optionen-Dialog ist deaktiviert), wird der Inhalt gleich behandelt und gedruckt wie in NKOP-/SNKOP-Arbeitsblättern. |
Stromschienen einfügen
 | In FBS/KOP- und AS-Code können Stromschienen nur direkt verbunden mit anderen Objekten eingefügt werden. Der Editor erkennt, ob am markierten Objekt eine rechte oder linke Stromschiene erlaubt ist. Die betreffende Schaltfläche in der Symbolleiste ist inaktiv, wenn die Stromschiene an der gewählten Position nicht eingefügt werden darf.In NKOP und SNKOP können nur ganze Netzwerke eingefügt und gelöscht werden. |
Variablen/Konstanten einem KOP-Objekt zuweisen
Jedem KOP-Objekt muss eine gültige Variable oder Konstante zugewiesen sein. In KOP entspricht der Objektname dem Namen der zugewiesenen Variablen bzw. dem Typ der Konstante. Beim Einfügen eines Kontakts oder einer Spule wird ein Standardname vergeben. Da das neue Objekt noch nicht in der lokalen Variablentabelle oder in einer Datenliste deklariert ist, wird es im Code-Arbeitsblatt rot markiert. Zusätzlich wird ein Fehler ausgegeben.
Eine Variable kann einem KOP-Objekt auf unterschiedliche Arten zugewiesen werden.
Methode 1: Auswahl einer bereits in der lokalen Variablentabelle deklarierten Variablen
- Doppelklicken Sie auf das KOP-Objekt im Code-Arbeitsblatt.
- Suchen Sie in der Auswahlliste nach der Variablen (geben Sie die ersten Zeichen der Variable ein, um die Suche zu vereinfachen), markieren Sie die Variable und drücken <Eingabe>.
Methode 2: Zuweisung einer Variablen per Drag & Drop
Ziehen Sie die Variable aus der lokalen Variablentabelle auf das gewünschte KOP-Objekt im Code.
Wenn Sie eine Eingangsvariable per Drag & Drop aus der Variablentabelle direkt auf einer KOP-Netzwerklinie ablegen (und nicht auf einem Objekt), wird diese als Kontakt eingefügt.
Ziehen Sie eine Ausgangsvariable per Drag & Drop auf eine KOP-Netzwerklinie, so wird diese als Spule eingefügt.
Methode 3: Deklarieren einer neuen Variablen für ein KOP-Objekt
- Doppelklicken Sie auf das KOP-Objekt, geben Sie den Namen der neuen Variablen in das Eingabefeld ein und drücken Sie <Eingabe>.
- Rechtsklicken Sie auf die Variable und wählen Sie 'Neue Variable anlegen > Variablentyp' aus dem Kontextmenü oder markieren Sie die Variable und klicken auf die entsprechende Direktschaltfläche.Weitere Informationen finden Sie im Thema "Schlüsselwörter zur Variablendeklaration".
- Ändern Sie bei Bedarf die Variableneigenschaften (Datentyp, Anfangswert in der Spalte 'Init', diverse Merker usw.) in der Variablentabelle.
Funktionen/Funktionsbausteine einfügen
Sie können an jeder beliebigen Stellen im Code-Arbeitsblatt eine Funktion oder einen Funktionsbaustein einfügen und das Objekt dann später verbinden. Linksklicken Sie dazu in eine leere Zelle im Arbeitsblatt.
In NKOP und SNKOP hängt es von der Position der markierten Zelle ab, ob der neu eingefügte Baustein einen neuen Codeabschnitt erzeugt oder rechts von der vorhandenen rechten Stromschiene eingefügt wird.
Wenn Sie ein Element in einer Zelle innerhalb des Rahmens eines vorhandenen Netzwerks einfügen, erscheint es rechts von der rechten Stromschiene. Beispiel:
Wenn Sie ein Element in einer Zelle außerhalb des Rahmens eines vorhandenen Netzwerks einfügen, wird dadurch ein neuer Codeabschnitt angelegt. Beispiel:
Sie können eine Funktion oder einen Funktionsbaustein auch mit folgenden Methoden direkt in ein vorhandenes KOP-Netzwerk einfügen und somit automatisch mit anderen Objekten verbinden.
Methode 1: Eine Funktion bzw. einen Funktionsbaustein per Drag & Drop aus dem KOMPONENTEN-Bereich einfügen
- Öffnen Sie im KOMPONENTEN-Bereich unter 'Funktionen und Funktionsbausteine' den gewünschten Unterordner.
- Ziehen Sie die Funktion bzw. den Funktionsbaustein auf das gewünschte KOP-Netzwerk im Code-Arbeitsblatt.Beim Ziehen des Objekts auf ein KOP-Netzwerk werden die möglichen Einfügepositionen im Netzwerk farbig hervorgehoben (wie im folgenden Beispiel gezeigt). Sobald der Editor beim Ziehen eine gültige Verbindung erkennt, wird die Verbindungslinie farbig markiert.
Wenn ein KOP-Objekt farbig hervorgehoben ist und Sie das einzufügende Objekt ablegen, wird es parallel zum hervorgehobenen Objekt eingefügt.
Auch in NKOP und SNKOP können nicht verbundene Objekte eingefügt werden.Dabei gilt Folgendes:
Wenn Sie in NKOP/SNKOP ein Objekt durch Ablegen (Drag & Drop) einfügen, werden beim Ziehen des Objekts Markierungen angezeigt. Diese Markierungen zeigen Ihnen, ob das Objekt an der aktuellen Mausposition abgelegt werden kann und was beim Ablegen passiert.
- Nachdem Sie einen Funktionsbaustein eingefügt haben, deklarieren Sie den FB-Instanznamen in der Variablentabelle wie folgt:
- Um den vom Programmiersystem vorgeschlagenen Instanznamen zu übernehmen (wird über dem Baustein angezeigt), rechtsklicken Sie auf den Funktionsbaustein und wählen den Befehl 'Neue Funktionsbaustein-Instanz erzeugen' oder drücken <Strg>+<Umschalt>+<B>.
- Um dem Objekt einen bereits deklarierten Instanznamen zuzuweisen oder einen neuen Namen zu definieren, doppelklicken Sie auf den Funktionsbaustein und geben im Eingabefeld den Instanznamen ein. Sie können den Instanznamen auch über die Direktschaltfläche
oder mit <F2> und Eingeben des Namens definieren.
Methode 2: Eine Funktion bzw. einen Funktionsbaustein per Tastatur einfügen
- Doppelklicken Sie auf die Verbindungslinie, an die der Baustein angeschlossen werden soll.
- Geben Sie in das Eingabefeld entweder den Namen der Funktion/des FB ein oder öffnen Sie die Auswahlliste und suchen in der Dropdownliste nach dem Objekt. Drücken Sie die <Eingabe>-Taste, um Ihre Auswahl zu bestätigen.
- Nachdem Sie einen Funktionsbaustein eingefügt haben, deklarieren Sie den FB-Instanznamen in der Variablentabelle, wie oben beschrieben.
Methode 3: Eine Funktionsbausteininstanz per Drag & Drop aus der Variablentabelle einfügen
Ziehen Sie die Funktionsbausteininstanz aus der Variablentabelle auf das gewünschte KOP-Netzwerk im Code-Arbeitsblatt.
Hinweis
Sie können für NKOP- und SNKOP-Arbeitsblätter in den Optionen für den grafischen Editor ('Extras > Optionen | Grafischer Editor | NKOP-Optionen') eine begrenzte Seitenbreite definieren. Die Seitenbreite wird dabei über die Anzahl an Kontakten in einem Netzwerkstrang vorgegeben. Wenn eine begrenzte Seitenbreite eingestellt ist, wird die Netzwerkbreite nach rechts begrenzt. Die Seitenbreite wird anhand der angegebenen Anzahl an Kontakten bestimmt. Wenn anschließend die eingestellte Seitenbreite durch Einfügen zu vieler serieller Objekte überschritten wird, wird ein Fehler gemeldet und die rechte Stromschiene entsprechend hervorgehoben. Um weiter editieren zu können, müssen Sie zunächst Objekte löschen, um die eingestellte Breite wieder zu erreichen.

Bei unbegrenzter Seitenbreite (die Option 'Feste Breite...' in den Einstellungen des grafischen Editors im Optionen-Dialog ist deaktiviert), wird der Inhalt gleich behandelt und gedruckt wie in NKOP-/SNKOP-Arbeitsblättern. |
Editorengruppe einer Funktion/eines Funktionsbausteins öffnen
Um die Editorengruppe einer Funktion-/Funktionsbaustein-POE zu öffnen, doppelklicken Sie im KOP-Netzwerk auf die Funktion/den FB. Alternativ dazu können Sie auch den Kontextmenübefehl 'Zur Implementierung springen' ausführen.
Kontakt-/Spulentyp ändern
 | Zur Programmierung stehen unterschiedliche Kontakt- und Spulentypen (z.B. Öffner und Schließer) zur Verfügung. Um durch die verschiedenen Typen zu blättern, markieren Sie den Kontakt/die Spule und klicken wiederholt auf die 'Durchblättern'-Direktschaltfläche oder auf die gleiche Schaltfläche in der Editor-Symbolleiste bis der gewünschte Typ eingestellt ist. Alternativ können Sie auch <Alt>+<F7> drücken. |
Zwischen Kontakt und Spule umschalten
 | Um einen Kontakt durch eine Spule zu ersetzen und umgekehrt, markieren Sie den Kontakt oder die Spule und klicken anschließend auf die 'Umschalten'-Direktschaltfläche. Die zugewiesene Variable wird dabei nicht geändert. |
"Befreundete" Netzwerke erzeugen/bearbeiten (nur in FBS/KOP-Code)
In FBS/KOP-Code-Arbeitsblättern können "befreundete" Netzwerke erzeugt werden. "Befreundet" heißt, dass sich diese Netzwerke überlappen dürfen, wobei immer noch jedes Netzwerk separat abgearbeitet wird. Ein "befreundetes" Netzwerk wird mit einem anderen Hintergrund angezeigt, wenn Sie den Mauszeiger über das Netzwerk bewegen.
Das folgende Beispiel zeigt links die Standardanordnung von zwei Netzwerken und rechts das "befreundete" Netzwerk bestehend aus den zwei Einzelnetzwerken. In der rechten Abbildung bilden die beiden Netzwerke ein "befreundetes" Netzwerk.
Sie können ein "befreundetes" Netzwerk auf unterschiedliche Weise erstellen:
- Durch Verschieben eines Netzwerks in ein anderes Netzwerk, indem Sie die <Alt>-Taste drücken und halten und dabei das Netzwerk mit Hilfe des 'Verschieben-Symbols bewegen.
- Durch Verbinden von zwei oder mehreren Objekten in einem Netzwerk.
- Durch Löschen einer Verbindung, sodass ein Netzwerk in zwei sich überlagernde Netzwerke aufgeteilt wird.
Um ein "befreundetes" Netzwerk aufzulösen, schieben Sie die überlappenden Objekte eines Netzwerks aus dem anderen Netzwerk heraus oder verbinden Sie die zwei Netzwerke über Verbindungslinien (und erzeugen so ein einzelnes Netzwerk).
Codeabschnitte in NKOP/SNKOP-Code auf-/zuklappen
Sie können im aktiven Arbeitsblatt einzelne Codeabschnitte oder alle Codeabschnitte gleichzeitig auf- oder zuklappen.
- Um einen einzelnen Codeabschnitt zuzuklappen, linksklicken Sie auf den Abwärtspfeil links von der horizontalen Leiste.
Einen zugeklappten Abschnitt können Sie wieder erweitern, indem Sie links von der horizontalen Leiste auf den Pfeil nach rechts klicken.
- Mit der Schaltfläche
in der Symbolleiste des Editors werden alle Codeabschnitte aufgeklappt.Um alle aufgeklappten Abschnitte wieder zuzuklappen, klicken Sie auf die Schaltfläche
.
NKOP/SNKOP-Codeabschnitt (Netzwerk) umbenennen
In NKOP und SNKOP wird jedes Code-Netzwerk als Netzwerkabschnitt betrachtet, der jeweils oben durch eine horizontale Leiste begrenzt ist. Die horizontale Leiste enthält die Netzwerkmarke zur Identifikation des Netzwerks. In NKOP dient die Netzwerkmarke als Sprungmarke (Ziel).
In SNKOP werden Sprünge auf Netzwerkmarken nur im FVL-Sprachprofil unterstützt.
Hintergrundinformationen
Funktionaler Sprachumfang in SNKOP: LVL oder FVL: Verglichen mit dem Funktionsumfang in Standard-FBS/KOP, gelten für SNKOP einige Einschränkungen hinsichtlich der verfügbaren Sprachobjekte. Die Art der Einschränkungen hängt von Ihrer Applikation und den einzuhaltenden Sicherheitsanforderungen ab. Je nach anzuwendenden Sicherheitsrichtlinien und Normen, unterstützt PLCnext Engineer eine Limited Variability Language (LVL) mit eingeschränktem Funktionsumfang oder eine Full Variability Language (FVL) mit vollem Funktionsumfang. FVL bietet mehr Sprachobjekte und Möglichkeiten als LVL. Sprünge sind beispielsweise nur in FVL verfügbar.
Wählen Sie 'Projekt > Sprachprofil ändern' und selektieren Sie im Auswahldialog das gewünschte Profil, um die verfügbaren Sprachelemente (LVL oder FVL) zu spezifizieren und dadurch auch die anzuwendende Norm zu definieren. Sie müssen dazu im sicherheitsbezogenen Bereich angemeldet sein.
Ein neu eingefügter Codeabschnitt erhält den vorgeschlagenen Namen Code_Networkn (n = laufende Nummer).
Wenn eine POE mehrere Code-Arbeitsblätter enthält, wird der Name Codex_Networkn vergeben, wobei x die Nummer des Arbeitsblatts in der POE ist.
Zum Editieren der Netzwerkmarke linksklicken Sie in die Leiste und anschließend auf die Direktschaltfläche
. Der Bearbeiten-Befehl ist auch im Kontextmenü der Leiste verfügbar.
Hinweis
In NKOP dient die Netzwerkmarke als Sprungmarke (Ziel). Wenn Sie eine Netzwerkmarke ändern, müssen Sie auch die zugehörigen Sprünge anpassen. Die betroffenen Sprünge werden im Code rot markiert. Beispiel:
 |
In der Leiste kann auch ein optionaler Kommentar eingetragen werden. Der Kommentar kann wie die Netzwerkmarke über das Kontextmenü oder die Direktschaltfläche bearbeitet werden.
Verifizierungsmarkierung für SNKOP-Codeabschnitt setzen