AT
-Deklaration
Um eine Projektvariable mit einer endgültigen Adresse zu verknüpfen, können Sie die Variablen in der Ansicht
für ein Gerät in einer Steuerungskonfiguration (Geräteeditor) einer Adresse zuweisen. Alternativ dazu besteht die Möglichkeit, diese Adresse direkt in die Deklaration der Variablen einzugeben.<variable name> AT <address> : <data type>;
<address> : %<memory area prefix> ( <size prefix> )? <memory position
Auf das Schlüsselwort AT
muss eine gültige Adresse folgen. Weitere Informationen erhalten Sie im Abschnitt zur Adressenbeschreibung. Bedenken Sie, dass es im Byte-Adressierungsmodus zu Überlappungen kommen kann.
Mit der Deklaration können Sie einzelnen Adressen aussagekräftige Namen zuweisen. Änderungen mit Bezug auf ein ein- oder ausgehendes Signal können nur an einem einzigen Ort vorgenommen werden, beispielsweise in der Deklaration.
Bei der Auswahl einer Variablen für die Zuweisung zu einer Adresse ist Folgendes zu bedenken:
Der Schreibzugriff ist für Variablen, die eine Eingabe erfordern, nicht verfügbar. Der Compiler erkennt Schreibzugriffe als Fehler.
AT
-Deklarationen können nur zusammen mit lokalen bzw. globalen Variablen verwendet werden. Eine Verwendung zusammen mit Eingangs- und Ausgangsvariablen eines POUs ist nicht möglich.
In Listen mit persistenten Variablen sind AT
-Deklarationen nicht erlaubt.
Werden AT
-Deklarationen zusammen mit Struktur- oder Funktionsbausteinelementen verwendet, greifen alle Instanzen auf den gleichen Speicherort in den entsprechenden Strukturen bzw. Funktionsbausteinen zu. In den klassischen Programmiersprachen, wie z. B. C, entspricht dieses Prinzip den statischen Variablen.
Das Speicherlayout der Strukturen wird ebenfalls über das Ziel festgelegt.
xCounterHeat7 AT %QX0.0: BOOL;
xLightCabinetImpulse AT %IX7.2: BOOL;
xDownload AT %MX2.2: BOOL;
Wenn boolesche Variablen BYTE-, WORD- oder DWORD-Adressen zugewiesen werden, dann nehmen Sie mit TRUE oder FALSE 1 Byte in Anspruch und nicht nur das erste Bit nachdem Offset.
Die Speichergröße für Eingangs-, Ausgangs- und Speicherdaten (Deklarationen mit AT %I
, %Q
und %M
) wird vom Zielgerät vorgegeben und kann in den Eigenschaften eines Applikationsobjekts für PacDrive-Steuerungen (PacDrive LMC Eco, PacDrive LMC Pro/Pro2) überschrieben werden.