Funktionen/FBs und Variablen einfügen
Das hier beschriebene Verhalten gilt für Code in FBS/KOP, NKOP, SNKOP und AS.
Sie können ein Objekt im grafischen Editor einfügen, indem Sie:
- das Objekt auf einen freien Anschlusspunkt eines anderen Objekts ziehen, um die Objekte automatisch zu verbinden oder
- ein vorhandenes Objekt ersetzen.
- In FBS/KOP können Objekte auch an jeder beliebigen freien Stelle (leere Zelle) im Arbeitsblatt eingefügt und anschließend manuell verbunden werden.
In NKOP und SNKOP hängt es von der Position der markierten Zelle ab, ob das neu eingefügte Objekt einen neuen Codeabschnitt erzeugt oder rechts von der vorhandenen rechten Stromschiene eingefügt wird. Lesen Sie hierzu die nachfolgend beschriebenen Vorgehensweisen.
Objekte können in das Code-Arbeitsblatt eingefügt werden:
- Per Drag & Drop (Funktionen/Funktionsbausteine) aus dem KOMPONENTEN-Bereich.
- Per Drag & Drop von Variablen aus der Variablentabelle oder einer Datenliste.
- Per Tastatur und der Intellisense-Funktion.
- Per Symbolleistenschaltflächen und Kontextmenü. Gemeinsame Elemente wie Konnektoren, Rücksprünge usw. lassen sich mit der entsprechenden Schaltfläche in der Symbolleiste oder aus dem Kontextmenü einfügen. Die Beschreibung dieser gemeinsamen Elemente finden Sie im Thema "Konstanten, Sprünge/Marken, Rücksprünge, Konnektoren".
Weitere Infos
Informationen, wie Sie Objekte in ein bestehendes KOP-Netzwerk einfügen, finden Sie im Thema "KOP-Netzwerken bearbeiten". |
Funktionen/Funktionsbausteine einfügen
Die Symbolfarbe und das Icon oben links im Symbol zeigen die Herkunft der Funktion (lokal erzeugte Funktion, Funktion aus Anwenderbibliothek oder Systembibliothek). Lesen Sie hierzu den Abschnitt "FU/FB-Symbol zeigt Herkunft".
Funktionen/Funktionsbausteine per Drag & Drop einfügen
- Öffnen Sie im KOMPONENTEN-Bereich unter 'Funktionen und Funktionsbausteine' den gewünschten Unterordner.
- Ziehen Sie die Funktion/den Funktionsbaustein in das Code-Arbeitsblatt und:
- legen Sie es auf einem freien Anschlusspunkt eines anderen Objekts ab (die Objekte werden automatisch verbunden).
- legen Sie das Objekt auf einem vorhandenen Baustein ab, um diesen durch das neue Objekt zu ersetzen (siehe auch "Ersetzen/Aktualisieren von Funktionen/Funktionsbausteinen").
- legen Sie das Objekt in einer leeren Zelle ab.
In NKOP und SNKOP hängt es von der Position der markierten Zelle ab, ob das neu eingefügte Objekt einen neuen Codeabschnitt erzeugt oder rechts von der vorhandenen rechten Stromschiene eingefügt wird.
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.
- Wenn Sie einen Funktionsbaustein eingefügt haben, wird vom Programmiersystem ein Instanzname vorgeschlagen (wird über dem FB angezeigt; 'CTD_1' im nachfolgenden Beispiel). Dieser FB-Instanzname muss in der zugehörigen Variablentabelle deklariert sein.
Eine Funktion/einen Funktionsbaustein mit der Tastatur (Intellisense-Funktion) einfügen
- Öffnen Sie im Code-Arbeitsblatt die Intellisense-Auswahlliste wie folgt:
- Wenn Sie das neue Objekt direkt beim Einfügen mit einem anderen Objekt verbinden möchten, doppelklicken Sie auf einen Anschlusspunkt, z.B. einen Formalparameter oder eine Variable.
- Wenn Sie ein nicht verbundenes Objekt einfügen möchten, doppelklicken Sie in eine leere Zelle oder setzen Sie den Mauszeiger in eine leere Zelle und drücken <Eingabe>.
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:
- Geben Sie im Eingabefeld entweder den Namen des einzufügenden Objekts 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.
- Wenn Sie einen Funktionsbaustein eingefügt haben, wird vom Programmiersystem ein Instanzname vorgeschlagen (wird über dem FB angezeigt; 'CTD_1' im nachfolgenden Beispiel). Dieser FB-Instanzname muss in der zugehörigen Variablentabelle deklariert sein.
Variablen einfügen
Sie können bereits deklarierte Variablen und neue Variablen in Code-Arbeitsblätter einfügen. Variablen können dabei entweder per Drag & Drop aus der Variablentabelle oder direkt im Code-Arbeitsblatt eingefügt werden.
Bereits deklarierte Variablen per Drag & Drop aus der Variablentabelle einfügen
- Linksklicken Sie in der Variablentabelle in den Zeilenkopf der gewünschten Variable. Um mehrere Variablen auszuwählen, linksklicken Sie bei gedrückter <Strg>-Taste (Auswahl nicht-benachbarter Zeilen) oder <Umschalt>-Taste (Auswahl benachbarter Zeilen) auf die Zeilenköpfe der Variablen.
- Ziehen Sie bei gedrückter Maustaste die Auswahl in das Code-Arbeitsblatt und legen Sie diese an der gewünschten Position ab.Wenn Sie eine Variable in ein vorhandenes Netzwerk ziehen, werden die möglichen Einfügepositionen im Netzwerk farbig markiert. Sobald der Editor eine gültige Verbindung erkennt, wird die Verbindungslinie grün markiert (im folgenden Beispiel wird die Variable 'Reset' auf den Formalparameter RESET des Funktionsbausteins CTUD gezogen).
Bereits deklarierte Variablen direkt in das Code-Arbeitsblatt einfügen
- Setzen Sie den Cursor an die gewünschte Position im Code-Arbeitsblatt.
- Um eine Variable einzufügen und direkt mit einem anderen Objekt zu verbinden (z.B. einem Formalparameter eines FB-Eingangs) oder um eine vorhandene Variable zu ersetzen, linksklicken Sie auf das Objekt bzw. die Variable.
- Um eine nicht verbundene Variable einzufügen, setzen Sie den Cursor in eine leere Zelle im Code-Arbeitsblatt.In NKOP und SNKOP hängt es von der Position der markierten Zelle ab, ob das neu eingefügte Objekt einen neuen Codeabschnitt erzeugt oder rechts von der vorhandenen rechten Stromschiene eingefügt wird. Lesen Sie hierzu die nachfolgend beschriebenen Vorgehensweisen.
- Drücken Sie <F7> oder klicken Sie in der Symbolleiste auf
.
- 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>.Um eine Ein-/Ausgangsvariable einer FB-Instanz oder ein Element einer STRUCT-Variablen einzufügen, tippen Sie die FB-Instanz oder die STRUCT-Variable gefolgt von einem Punkt ein. Die Auswahlliste bietet nun alle Eingangs- und Ausgangsvariablen der FB-Instanz bzw. alle Elemente der STRUCT-Variablen an.
Hinweis
Wenn Sie eine vorhandene globale Variable (deklariert mit dem Schlüsselwort 'Global' in der Datenliste des 'IEC 61131-3'-Knotens) in das Code-Arbeitsblatt einfügen und die 'Variablen'-Tabelle keine gleichnamige lokale Variable enthält, wird die zugehörige externe Variablendeklaration ('Verwendung = Extern') automatisch in die 'Variablen'-Tabelle eingefügt. |
Neue Variablen einfügen und deklarieren
- Setzen Sie den Cursor an die gewünschte Position im Code-Arbeitsblatt.
- Um eine Variable beim Einfügen an ein anderes Objekt anzuschließen (z.B. am Eingangsformalparameter eines FB), markieren Sie das betreffende Objekt.
- Um eine nicht verbundene Variable einzufügen, setzen Sie den Cursor in eine leere Zelle im Code-Arbeitsblatt.In NKOP/SNKOP müssen Sie den Cursor innerhalb des Netzwerkrahmens setzen (wie unten gezeigt). Dann wird die neue, unverbundene Variable rechts von der Stromschiene eingefügt:
- Zum Ersetzen einer vorhandenen Variablen, linksklicken Sie das Objekt/die Variable.
- Drücken Sie <F7> oder klicken Sie in der Symbolleiste auf
.
- 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 im Kontextmenü den Befehl 'Neue Variable anlegen > Variablentyp'.Weitere Informationen finden Sie im Thema "Schlüsselwörter zur Variablendeklaration".
Hinweis
IN- und OUT-Ports für PLCnext Technology-Steuerungen können nicht über das Kontextmenü erzeugt werden. |
Die entsprechende Deklaration wird mit dem passenden Schlüsselwort in die Variablentabelle eingefügt.Welche Variablentypen im Kontextmenü gewählt werden können, hängt vom aktuellen POE-Typ ab. In Programmen und Funktionen können beispielsweise lokale und externe Variablen deklariert werden. In FBs sind zusätzlich Eingangs- und Ausgangsvariablen möglich.
Hinweis
Wenn Sie auf diese Weise eine externe Variable deklarieren, wird automatisch auch die zugehörige globale Deklaration (Schlüsselwort 'Global') in die Datenliste der Ressource ('PLC' oder 'Safety PLC') eingetragen, vorausgesetzt die POE ist bereits in der 'PLC' oder 'Safety PLC' instanziiert (d.h. es existiert eine Programminstanz oder eine FB-Instanz in einer Programminstanz). |
- Definieren Sie die Variableneigenschaften in der Variablentabelle. Geben Sie für eine FB-Instanz einen gültigen Instanznamen in das Feld 'Name' ein und wählen Sie im Feld 'Typ' einen Funktionsbaustein.
Eigenschaften einer markierten Variablen/Variablen an der Cursorposition bearbeiten
Am unteren Rand des Code-Editors wird ein einzeiliger tabellarischer Editor angezeigt. Der Editor zeigt die Eigenschaften der im Code markierten Variablen bzw. der Variablen an der aktuellen Cursorposition an. Anstatt zuerst zur Variablentabelle der POE zu wechseln, können Sie hier die Variableneigenschaften direkt bearbeiten, ohne dass Sie zuvor den Code-Editor verlassen müssen. Ausnahmefehler: Der Variablenname kann hier nicht geändert werden. Diesen müssen Sie in der Variablentabelle oder über das Refactoring ändern.
Eine globale Variable zu einem Prozessdaten-Element zuordnen
Hinweis
Falls eine sicherheitsbezogene SPS in Ihrem Projekt enthalten ist, werden (nicht-sicherheitsbezogene) Standard-Daten und sicherheitsbezogene Daten strikt unterschieden. Ressourceglobale Variablen der sicherheitsbezogenen SPS müssen deshalb in der 'Safety PLC'-Datenliste deklariert werden. (Beachten Sie: diese Variablen können einen sicherheitsbezogenen Datentyp oder einen (nicht-sicherheitsbezogenen) Standard-Datentyp haben.) In dieser Datenliste können Sie globale Variablen der sicherheitsbezogenen SPS zu Prozessdaten-Elementen zuordnen. |
Die Zuordnung globaler Variablen zu Prozessdaten-Elementen (I/O-Anschlussklemmen der I/O-Geräte in der ANLAGE) muss in der Datenliste des 'IEC 61131-3'-Knotens oder des beteiligten I/O-Geräts erfolgen.
Im folgenden Beispiel ist die globale Variable 'TemperatureCurrent' der (nicht-sicherheitsbezogenen) Standard-Steuerung mit dem Prozessdatum 'IN01' eines Temperatur-Eingangsmoduls verbunden.
- Doppelklicken Sie in der ANLAGE auf den 'IEC 61131-3'-Knoten oder den Knoten des I/O-Geräts (in unserem Beispiel: 'IEC 61131-3'-Knoten - siehe Nummer (1) in der Abbildung unten).
- Falls nicht sichtbar, öffnen Sie im Editorenbereich die 'Datenliste' (2).
Hinweis
Je nachdem, für welches Element in der ANLAGE die 'Datenliste' geöffnet wurde, enthält sie mehr oder weniger Prozessdaten-Elemente. Für ein bestimmtes Gerät geöffnet, werden nur die Prozessdaten-Elemente dieses Geräts angezeigt. Für den 'IEC 61131-3'-Knoten geöffnet, können darin alle (nicht-sicherheitsbezogenen) Standard-Prozessdaten aller Module der ANLAGE zugeordnet werden. |
- Linksklicken Sie in der 'Datenliste' in die Zelle 'Prozessdatum' der betreffenden Variablen (3) und wählen Sie in der Auswahlliste das gewünschte Prozessdaten-Element (4). Die Auswahlliste enthält nur die Prozessdaten-Elemente, die für die Verbindung mit der betreffenden Variablen geeignet sind (passender Datentyp).
 | Um die Zuweisung eines Prozessdaten-Elements zu einer Variablen zu entfernen, rechtsklicken Sie auf die Variable und wählen 'Prozessdatum trennen'. Alternativ können Sie auch die Variable selektieren und in der 'Datenliste'-Symbolleiste auf die Schaltfläche 'Prozessdatum trennen' klicken oder die <Entf>-Taste drücken. |
 | Variablen, die in der 'Datenliste' nicht länger benötigt werden, können mit dem Kontextmenübefehl 'Alle ungenutzten globalen Variablen löschen' oder der entsprechenden Symbolleisten-Schaltfläche entfernt werden. |