Datentypen
Dieses Thema enthält die folgenden Abschnitte:
Hinweis
Von Geräten bereitgestellte Prozessdaten-Elemente (die in Datenlisten Variablen und in GDS-Portlisten Ports zugeordnet werden können) können andere Datentypen haben, die durch die entsprechende Feldbustechnologie definiert sind. Entsprechende Konvertierungstabellen finden Sie im Thema "Regeln für das Zuordnen von Ports und Variablen". |
Datentypenklassen "Standard" und "Sicherheitsbezogen"
In PLCnext Engineer wird strikt zwischen sicherheitsbezogenem Code und (nicht-sicherheitsbezogenem) Standard-Code unterschieden. Aus diesem Grund wird auch zwischen sicherheitsbezogenen Variablen und (nicht-sicherheitsbezogenen) Standard-Variablen, oder genauer gesagt Datentypen, unterschieden.
- (Nicht-sicherheitsbezogene) Standard-Datentypen gemäß IEC 61131-3. Dazu gehören elementare und anwenderdefinierte Datentypen.
- Sicherheitsbezogene elementare Datentypen.
Eine Variable mit einem Standard-Datentyp kann bspw. nicht mit einem Formalparameter verbunden werden, der eine sicherheitsbezogene Variable erwartet. In sicherheitsbezogenen Code-Arbeitsblättern können sicherheitsbezogene und (nicht-sicherheitsbezogene) Standard-Variablen gemischt und direkt miteinander verbunden werden. Dies entspricht einer impliziten Typkonvertierung, die bestimmten Regeln unterliegt.
Standard (nicht-sicherheitsbezogene) Datentypen
Im Gegensatz zu anwenderdefinierten Datentypen, müssen elementare und generische Datentypen nicht deklariert werden, da diese im System vordefiniert und deshalb sofort in jeder POE verfügbar sind.
Anwenderdefinierte Datentypen wie ARRAYs, STRUCTs und STRINGs müssen mit dem Texteditor in einem Datentyp-Arbeitsblatt deklariert werden. Die Datentyp-Arbeitsblätter werden rechts im KOMPONENTEN-Bereich in der Kategorie 'Datentypen' verwaltet. Hier legen Sie neue Datentyp-Arbeitsblätter an, öffnen bestehende Arbeitsblätter zur Bearbeitung oder strukturieren die Kategorie durch das Einfügen von Ordnern. Jeder Datentyp-Deklarationsblock beginnt mit dem Schlüsselwort TYPE und wird mit END_TYPE abgeschlossen. Ein Deklarationsblock kann eine oder mehrere Datentyp-Deklarationen enthalten.
Deklarationsbeispiel
TYPE
graph : ARRAY[1..23] OF INT;
props :
STRUCT
height : REAL;
ident : INT;
END_STRUCT;
END_TYPE
Elementare (nicht sicherheitsbezogene) Standard-Datentypen können auch in sicherheitsbezogenen POEs verwendet werden. Beim Mischen von sicherheitsbezogenen und Standard-Datentypen müssen bestimmte Regeln beachtet werden.
Sicherheitsbezogene Datentypen
Sicherheitsbezogene Datentypen sind immer ausschließlich elementare Datentypen. Sicherheitsbezogene anwenderdefinierte Datentypen werden nicht unterstützt. Die unterstützten sicherheitsbezogenen elementaren Datentypen und sicherheitsbezogenen generischen Datentypen müssen nicht deklariert werden, da diese im System vordefiniert sind und deshalb direkt in jeder sicherheitsbezogenen POE verfügbar sind.
Sicherheitsbezogene Datentypen können nur in sicherheitsbezogenen POEs verwendet werden.
Darstellung von sicherheitsbezogenen und Standard-Variablen
Zur einfacheren Unterscheidung von Standard- und sicherheitsbezogenen Variablen, sind in sicherheitsbezogenen SNKOP-Code-Arbeitsblättern, Variablentabellen und Datenlisten die sicherheitsbezogenen Variablen gelb markiert. Variablen mit Standard-Datentyp sind nicht farblich markiert.
Beim Programmieren von sicherheitsbezogenem FBS/KOP-Code in SNKOP-Arbeitsblättern werden durch die kontinuierliche Datenflussanalyse die führenden sicherheitsbezogenen Signalpfade eines Netzwerks durch dicke gelbe Linien gekennzeichnet. Weitere Informationen hierzu finden Sie im Thema "Sicherheitsbezogene und Standard-Variablen im Code mischen".
Anwenderdefinierte Datentypen und Datentyp-Arbeitsblätter
Die folgenden Beschreibungen gelten nur für Standard-Datentypen.
Sicherheitsbezogene anwenderdefinierte Datentypen werden nicht unterstützt.
Datentyp-Arbeitsblätter verwalten
Datentyp-Arbeitsblätter befinden sich im KOMPONENTEN-Bereich in der Kategorie 'Programmierung' im Ordner 'Lokal'. Öffnen Sie den 'Datentypen'-Ordner, um die darin enthaltenen Arbeitsblätter anzuzeigen. Im Ordner 'Datentypen' können die Datentyp-Arbeitsblätter in Unterordnern organisiert sein.
Rechtsklicken auf einen Knoten (Ordner oder Arbeitsblatt) öffnet das Kontextmenü. Das Kontextmenü enthält nur die für den gewählten Knoten ausführbaren Befehle. Neben den Standardbefehlen wie 'Ausschneiden', 'Kopieren', 'Einfügen' usw. enthält das Kontextmenü den Befehl zum Einfügen eines neuen Datentyp-Arbeitsblattes (siehe nachfolgende Beschreibungen).
Sie können über das Kontextmenü maximal 3 Unterordner im Ordner 'Lokal' anlegen, um die Arbeitsblätter nach Ihren Wünschen zu organisieren. Der Wert in Klammern hinter dem Ordnernamen gibt an, wie viele Arbeitsblätter der Ordner enthält. Sie können Arbeitsblätter zwischen Ordnern einfach per Drag & Drop verschieben.
Hinweis
Elemente, die in den KOMPONENTEN gelöscht wurden, werden in den PAPIERKORB verschoben (sofern dieser im Dialog 'Extras > Optionen', in der Kategorie 'Werkzeug | Recycle Bin' aktiviert ist). Ein gelöschtes Element können Sie im PAPIERKORB mit Hilfe des 'Wiederherstellen'-Befehls im Kontextmenü des Elements wiederherstellen. |
Hinweis
Elemente, die in den KOMPONENTEN gelöscht wurden, werden in den PAPIERKORB verschoben (sofern dieser im Dialog 'Extras > Optionen', in der Kategorie 'Allgemein', Abschnitt 'Papierkorb' aktiviert ist). Ein gelöschtes Element können Sie im PAPIERKORB mit Hilfe des 'Wiederherstellen'-Befehls im Kontextmenü des Elements wiederherstellen. |
Datentyp-Arbeitsblatt öffnen
Datentyp-Deklarationen editieren Sie mit dem Texteditor. Im Editor stehen Standardbefehle wie 'Ausschneiden', 'Kopieren', 'Einfügen' usw. zur Verfügung (auch über Standard-Tastenkombinationen). Der Editor bietet Syntaxhervorhebung für Deklarationsschlüsselwörter.
Um ein Datentyp-Arbeitsblatt im Editorenbereich zu öffnen, doppelklicken Sie unter 'KOMPONENTEN | Programmierung > Lokal >Datentypen' (oder einen darin enthaltenen Unterordner) auf das Arbeitsblattsymbol.
Die Symbolleiste oben im Arbeitsblatt bietet Zugriff auf die am häufigsten verwendeten Editorbefehle. Jede Schaltfläche in der Symbolleiste verfügt über einen Tooltip, der eine Kurzbeschreibung des Befehls enthält und, falls vorhanden, die dazugehörige Tastenkombination.
Datentypen in einem Datentyp-Arbeitsblatt deaktivieren
- Fügen Sie entweder eine neue Zeile in einem vorhandenen Deklarationsblock ein oder geben Sie einen neuen Deklarationsblock ein, der mit dem Schlüsselwort TYPE beginnt und mit END_TYPE endet.
- Geben Sie die neue Datentyp-Deklaration ein oder verwenden Sie eine vordefinierte Deklarationsvorlage. Deklarationsvorlagen sind für die anwenderdefinierten Datentypen ARRAY, STRUCT und STRING verfügbar. Diese können mit Hilfe des Kontextmenübefehls 'Vorlage einfügen' in das Datentyp-Arbeitsblatt eingefügt werden. Nachdem Sie eine Vorlage eingefügt haben, vervollständigen Sie diese mit den tatsächlich benötigten Namen und Werten.
Der Editor unterstützt Sie mit einer Intellisense-Funktion. Beim Eingeben der Deklarationen erkennt der Editor gültige Deklarationselemente und zeigt diese in einer Auswahlliste an. Durch Drücken der <Eingabe>-Taste oder der <Leertaste> für ein Element in der Liste wird das Element eingefügt.
Hinweis
Elemente und Mitglieder von anwenderdefinierten Datentypen (ARRAYs und STRUCTs) können einfach mit dem 'Init-Werteeditor' initialisiert werden. |
Lokale Konstanten in einem Datentyp-Arbeitsblatt deklarieren
Sie können im Datentyp-Arbeitsblatt lokale oder globale Konstanten für Arraygrenzen und Initialisierungswerte in Arrays, Strukturen und Aufzählungen (Enumerationen) verwenden.
Um eine lokale Konstante in einem Datentyp-Arbeitsblatt zu deklarieren, gehen Sie wie folgt vor:
- Geben Sie einen Deklarationsblock, bestehend aus den Schlüsselwörtern VAR CONSTANT und END_VAR in das Arbeitsblatt ein.
- Deklarieren Sie innerhalb des Deklarationsblocks die Variablen.
(Eine globale Konstante erzeugen Sie, indem Sie für eine in der Variablentabelle/Datenliste definierte Variable das Attribut 'Konstante' markieren.)
Hinweis
Lokale Konstanten können nur im gleichen Datentyp-Arbeitsblatt verwendet werden. |
Namespace für anwenderdefinierte Datentypen definieren
Neues Datentyp-Arbeitsblatt anlegen
- Rechtsklicken Sie auf den Ordner 'KOMPONENTEN | Programmierung > Lokal > Datentypen' (oder einen darin enthaltenen Unterordner) und wählen Sie den Befehl 'Datentyp-Arbeitsblatt einfügen' aus dem Kontextmenü. (Der Einfügen-Befehl ist nur für Ordner verfügbar.)Das Datentyp-Arbeitsblatt wird mit einem vorgeschlagenen Namen unter dem zuvor ausgewählten Ordner eingefügt.Um in einem bestehenden Ordner einen Unterordner anzulegen, rechtsklicken Sie auf den Ordner und wählen 'Ordner einfügen' aus dem Kontextmenü (maximal 3 Unterordner sind möglich).
- Nach dem Einfügen eines Elements in die KOMPONENTEN ist der Elementname standardmäßig ausgewählt. Sie können den vorgeschlagenen Namen entweder ändern oder diesen mit der <Eingabe>-Taste übernehmen.
Um das Element später umzubenennen, rechtsklicken Sie auf das Element und wählen 'Umbenennen' aus dem Kontextmenü oder drücken <F2> und geben den gewünschten Namen ein.
Datentypen importieren