Grundlegendes zu Systemvariablen
In diesem Abschnitt wird beschrieben, wie Systemvariablen implementiert werden. Systemvariablen:
oerlauben Ihnen den Zugriff auf allgemeine Systeminformationen, das Durchführen einer Systemdiagnose und das Befehlen einfacher Aktionen.
osind strukturierte Variablen mit IEC 61131-3-konformen Definitionen und Namenskonventionen. Sie können über den IEC-Symbolnamen PLC-GVL auf die Systemvariablen zugreifen. Einige PLC_GVL-Variablen sind schreibgeschützt (z. B. PLC_R) und für andere besteht Lese- und Schreibzugriff (z. B. PLC_W).
owerden automatisch als globale Variablen deklariert. Sie wirken sich systemweit aus und es kann von jeder POU (Program Organization Unit) in einer beliebigen Task auf sie zugegriffen werden.
Systemvariablen sind an folgenden Eigenschaften erkennbar:
oEin Strukturname, der für die Kategorie der Systemvariablen steht. Beispielsweise steht PLC_R für einen Strukturnamen schreibgeschützter Variablen, die für die Steuerungsdiagnose verwendet werden.
oEine Gruppe Komponentennamen, die den Zweck der Variable angeben. Beispielsweise steht i_wVendorID für die ID des Steuerungsherstellers.
Um auf die Systemvariablen zuzugreifen, geben Sie den Strukturnamen der Variablen gefolgt von dem Komponentennamen ein.
Im Folgenden finden Sie ein Beispiel für die Implementierung der Systemvariablen:
VAR
myCtr_Serial : DWORD;
myCtr_ID : DWORD;
myCtr_FramesRx : UDINT;
END_VAR
myCtr_Serial := PLC_GVL.PLC_R.i_dwSerialNumber;
myCtr_ID := PLC_GVL.PLC.R.i_wVendorID;
myCtr_FramesRx := SERIAL_R[0].i_udiFramesReceivedOK
HINWEIS: Der vollständig qualifizierte Name der Systemvariablen im obigen Beispiel lautet PLC_GVL.PLC.R. Der Teil PLC_GVL ist implizit, wenn eine Variable über die Eingabehilfe deklariert wird, kann aber auch vollständig eingegeben werden. Für eine optimale Programmierung empfiehlt sich die Verwendung vollständig qualifizierter Variablennamen in den Deklarationen.
Speicherort der Systemvariablen
Beim Programmieren einer Steuerung werden zwei Typen von Systemvariablen definiert:
oLokalisierte Variablen
Lokalisierte Variablen:
oSie haben einen festen Speicherort im %MW-Bereich: %MW60000 bis %MW60199 für schreibgeschützte Systemvariablen.
oSie können über Modbus TCP-, serielle Modbus- und EtherNet/IP-Requests im RUNNING- und im STOPPED-Status abgerufen werden.
oSie werden in EcoStruxure Machine Expert Programmen verwendet und zwar entsprechend der oben erläuterten Konvention structure_name.component_name. Der Zugriff auf die %MW-Adressen von 0 bis 59999 kann direkt erfolgen. Adressen über dieser Nummer werden von EcoStruxure Machine Expert als außerhalb des zulässigen Bereichs erkannt und der Zugriff kann nur über die Konvention structure_name.component_name erfolgen.
Nicht lokalisierte Variablen:
oDiese Variablen sind nicht physisch im %MW-Bereich gespeichert.
oDer Zugriff auf diese Variablen ist nur über einen Feldbus oder ein Netzwerk-Request möglich, sofern sie nicht von Ihnen in einer Neuzuordnungstabelle lokalisiert werden. Erst dann ist der Zugriff im RUNNING- und im STOPPED-Status möglich. Die Neuzuordnungstabelle verwendet die nachstehenden dynamischen %MW-Bereiche:
o%MW60200 bis %MW61999 für schreibgeschützte Variablen
o%MW62200 bis %MW63999 für mit einem Lese-/Schreibzugriff versehene Variablen
oSie werden in EcoStruxure Machine Expert Programmen verwendet und zwar entsprechend der oben erläuterten Konvention structure_name.component_name. Der Zugriff auf die %MW-Adressen von 0 bis 59999 kann direkt erfolgen. Adressen über dieser Nummer werden von EcoStruxure Machine Expert als außerhalb des zulässigen Bereichs erkannt und der Zugriff kann nur über die Konvention structure_name.component_name erfolgen.