Variablen
Gemäß IEC 61131-3 werden zur Programmierung der Anwendungslogik in PLCnext Engineer Variablen anstelle der direkten Adressierung von Eingängen, Ausgängen oder Merkern verwendet. Jede Variable und jede FB-Instanz, die im Projekt verwendet wird, muss deklariert sein.
Variablen werden deklariert in der:- Variablentabelle einer POE (jede POE besitzt eine eigene Tabelle).Die Variablentabelle enthält die Deklaration aller Variablen und FB-Instanzen dieser bestimmten POE.
- Datenliste des 'IEC 61131-3'-Knotens in der ANLAGE.Die Datenliste enthält alle ressourceglobalen Variablen und Systemvariablen der Ressource (gemäß IEC 61131-3). Die hier deklarierten Variablen können in allen POEs innerhalb des Projekts verwendet werden (externe Variablen).
Die gleichen Variablen sind auch in der Datenliste des Steuerungsknotens enthalten.Die sicherheitsbezogene SPS besitzt eine eigene Datenliste, die sicherheitsbezogene Variablen und Standard-Variablen enthalten kann.PLCnext Technology-Steuerungen haben neben der Datenliste eine GDS-Portliste (auf dem 'PLCnext'-Knoten in der ANLAGE). Darin lassen sich IN- und OUT-Ports einander zuweisen (das gilt auch für Ports aus nicht-IEC 61131-3-Programmen, die Sie per Bibliothek eingebunden haben).
Variablen können entweder beim Einfügen in den Code (über das Kontextmenü der nicht deklarierten Variable) oder manuell in der Variablentabelle (vor Verwendung im Code) deklariert werden.
Die Variableneigenschaften (mit Ausnahme des Variablennamens) können auch in der 'Variableneigenschaften'-Tabelle (Teil des Code-Editors) bearbeitet werden. In der Tabelle können Sie die Deklaration einer Variablen bearbeiten, ohne den Code-Editor zu verlassen (neue Variablen können in der Tabelle nicht angelegt werden). Die Tabelle erscheint unterhalb des Code-Editors (standardmäßig ausgeblendet). Zum Öffnen der Tabelle klicken Sie in der Symbolleiste des Editors auf die Schaltfläche 'Variableneigenschaften anzeigen' (durch erneutes Klicken schließen Sie die Tabelle).
Dieses Thema enthält die folgenden Abschnitte:
- Gültigkeitsbereich von Variablen
- Standard- und sicherheitsbezogene Variablen
- Austauschvariablen und Lesen von sicherheitsbezogenen Signalen in der Standard-Steuerung
- Rückkopplungsvariablen
- Systemvariablen zur Diagnose/Überwachung
- Ports für PLCnext Technology-Steuerungen
Gültigkeitsbereich von Variablen
Der Gültigkeitsbereich einer Variablen bestimmt, in welcher/n POE(s) eine Variable verwendet werden kann. Mögliche Gültigkeitsbereiche sind lokal und global. Der Gültigkeitsbereich jeder Variablen wird definiert durch den Ort, an dem die Variable deklariert ist (lokale Variablentabelle oder Datenliste des 'IEC 61131-3'-Knotens) und durch das in der Deklaration verwendete Schlüsselwort.
- Lokale Variablen: Eine Variable, die nur in einer POE verwendet werden kann (inklusive ihrer definierten Methoden, Aktionen oder Transitionen), ist eine lokale Variable (d.h. ihr Gültigkeitsbereich ist lokal). Eine lokale Variable muss in der Variablentabelle derjenigen POE deklariert werden, in der die Variable verwendet werden soll. Mögliche Deklarationsschlüsselwörter sind Lokal, Eingang, Ausgang oder InOut. PLCnext Engineer legt diese Variablen in freien Speicherbereichen der Steuerung ab, deren Adressen dem Anwender nicht bekannt sind. Für eine lokale Variable kann ein Anfangswert (Init) vorgegeben werden.
-
Ressourceglobale Variablen: Eine Variable, die in allen von der Standard-Steuerung ausgeführten POEs verwendet werden kann, wird als ressourceglobale Variable bezeichnet. Diese Variablen müssen in der Datenliste des 'IEC 61131-3'-Knotens in der ANLAGE deklariert werden.Die sicherheitsbezogene SPS besitzt eigene ressourceglobale Variablen, die in allen von der sicherheitsbezogenen SPS ausgeführten POEs verwendet werden können. Diese Variablen müssen in der Datenliste des 'Safety PLC'-Knotens der ANLAGE deklariert werden (dieser repräsentiert die Laufzeit der sicherheitsbezogenen SPS). Globale Variablen der sicherheitsbezogenen SPS können sicherheitsbezogene Variablen und Standard-Variablen sein.
Hinweis
In den Datenlisten der Standard-Steuerung und der sicherheitsbezogenen SPS können Sie globale Standard-Variablen der sicherheitsbezogenen SPS mit globalen Variablen der Standard-Steuerung verknüpfen. Dadurch entstehen sogenannte Austauschvariablen. Austauschvariablen besitzen immer einen Standard-Datentyp. Sie ermöglichen die Kommunikation zwischen Standard-Steuerung und sicherheitsbezogener SPS. -
Programmglobale Variablen: Variable, die in der Programm-POE verwendet werden kann, in der sie deklariert ist und in allen FB-POEs, die in diesem Programm instanziiert sind. In der Programm-POE ist solch eine Variable mit 'Verwendung = Programm' deklariert. Zusätzlich muss sie in der lokalen Variablentabelle jeder FB-Instanz, in der sie verwendet werden soll, mit 'Verwendung = Extern' deklariert werden.Programmglobale Variablen werden für sicherheitsbezogene POEs nicht unterstützt.
Weitere Infos
Weitere Informationen hierzu finden Sie im Thema "Instanzbezogene I/O-Variablen".
Standard- und sicherheitsbezogene Variablen
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.
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.
Zur einfacheren Unterscheidung von Standard-Variablen und sicherheitsbezogenen Variablen, sind in sicherheitsbezogenen SNKOP-Code-Arbeitsblättern und Variablentabellen alle sicherheitsbezogenen Variablen gelb markiert. Variablen mit Standard-Datentyp sind nicht farblich markiert. Beim Programmieren von sicherheitsbezogenem FBS/KOP-Code in SNKOP-Arbeitsblättern markiert die kontinuierliche Datenflussanalyse führende sicherheitsbezogene Signalpfade eines Netzwerks durch dicke gelbe Linien. Weitere Informationen hierzu finden Sie im Thema "Sicherheitsbezogene und Standard-Variablen im Code mischen".
Weitere Infos
Informationen zu den Eigenschaften sicherheitsbezogener Datentypen und Standard-Datentypen finden Sie im Thema "Datentypen". |
Austauschvariablen und Lesen von sicherheitsbezogenen Signalen in der Standard-Steuerung
Austauschvariablen ermöglichen die Kommunikation zwischen der sicherheitsbezogenen SPS und der Standard-Steuerung. Eine Austauschvariable entsteht durch Zuordnen einer globalen Variable der Steuerung zu einer Standard-Variable der sicherheitsbezogenen SPS. Dies ermöglicht den Informationsaustausch zwischen den Steuerungen.
Die Standard-Steuerung kann zusätzlich den Status der Signale in der sicherheitsbezogenen Applikation lesen. Durch diese Mehrfachzuweisung zwischen einer Variablen der sicherheitsbezogenen SPS, einer Variable der Steuerung und einem Prozessdatum entsteht aber keine Austauschvariable.
Das Erzeugen von Austauschvariablen und das Zuordnen von Prozessdaten (Rollenzuordnung genannt) erfolgt in der Datenliste der Standard-Steuerung oder der sicherheitsbezogenen SPS.
Details hierzu finden Sie in den Themen "Datenaustausch zwischen Steuerung und sicherheitsbezogener SPS" und "Rollenzuordnung in Datenlisten: I/O-Variablen und Austauschvariablen".
Rückkopplungsvariablen
In FBS/KOP-Funktionsbausteinen und Programm-POEs können implizite Rückkopplungen programmiert werden, indem ein Ausgang zurück auf einen Eingang verbunden wird. Eine Variable, die in eine Rückkopplungslinie eingefügt wird, wird als Rückkopplungsvariable betrachtet. Sie besitzt zwei Anschlusspunkte (Eingang/Ausgang). Der Menüpunkt 'Rückkopplungsvariable umschalten' im Kontextmenü einer solchen Variablen ist als aktiv markiert. Rückkopplungsvariablen müssen an beiden Seiten angeschlossen sein.
Weitere Infos
Weitere Informationen hierzu finden Sie im Thema "Rückkopplungsvariablen in FBS/ LD". |
Systemvariablen zur Diagnose/Überwachung
Systemvariablen werden von der Laufzeit bereitgestellt. Sie ermöglichen beispielsweise den Zugriff auf den Systemstatus, die CPU-Performance usw. Systemvariablen haben eine feste Speicheradresse und können vom Steuerungsprogramm für die Abfrage dieser Informationen verwendet werden.
Systemvariablen sind in der Datenliste der Steuerung automatisch als globale Variablen deklariert. Namen und Eigenschaften von Systemvariablen sind vordefiniert und können nicht geändert werden.
Da jede Systemvariable eine globale Variable ist, muss in der lokalen Variablentabelle der POE, in der die Variable verwendet wird, die gleichnamige Variable mit dem Schlüsselwort 'Extern' deklariert sein.
Hinweis
Falls in Ihrem Projekt eine sicherheitsbezogene SPS enthalten ist, befinden sich die spezifischen (Profisafe-) Systemvariablen der sicherheitsbezogenen SPS in der Datenliste des 'Safety PLC'-Knotens. Das Erzeugen dieser Profisafe-Systemvariablen kann in PLCnext Engineer freigeschaltet oder gesperrt werden. Im Profisafe-System können diese Variablen zur Kommunikation/F-Device-Statusdiagnose verwendet werden. |
Weitere Infos
Informationen zu den Systemvariablen einer Steuerung entnehmen Sie dem PLCnext Info Center und dem Benutzerhandbuch zur Steuerung. |
Ports für PLCnext Technology-Steuerungen
Bei Steuerungen der PLCnext Technology-Generation können Ports verwendet werden, zusätzlich zu den oder anstelle der ressourceglobalen Variablen. Programme kommunizieren über Ports, das heißt über die Ports können Daten aus Programmen gelesen oder in Programme geschrieben werden.
Ports ermöglichen auch die Kommunikation zwischen IEC 61131--3-konformen Programmen und Programmen, die in einer nicht-IEC 61131--3-Sprache, wie z.B. C++, geschrieben wurden.
Zu diesem Zweck lassen sich in der GDS-Portliste IN-Ports und OUT-Ports einander zuordnen. Portlisten gibt es auf dem 'PLCnext'-Knoten und auf Programminstanz-Knoten in der ANLAGE. Eine Portliste enthält alle Ports, die für den jeweiligen ANLAGE-Knoten relevant sind. Alle Zuweisungen zwischen Ports sind im Global Data Space der PLCnext Technology-Steuerung gespeichert.
Weitere Infos
Weitere Informationen hierzu finden Sie im Thema "PLCnext Technology-Steuerungen". |