AT-Deklaration
Übersichtlichen Konfigurationseditor für E/A-Abbild nutzen
Von der hier beschriebenen Zuweisung von Speicheradressen ist abzuraten, da dies zu einem Verlust der Übersichtlichdiet führen kann.
Es wird empfohlen, die Zuordnung von Speicheradressen zu Variablen im Konfigurationseditor E/A-Abbild bearbeiten der Geräts vorzunehmen.
Das Schlüsselwort AT
in der Variablendeklaration ordnet einer Projektvariable eine bestimmten Eingabe-, Ausgabe- oder Speicheradresse der im Gerätebaum konfigurierten Steuerung zu.
Die AT-Deklaration ermöglicht, einer Adresse einen aussagekräftigen Namen zu geben.
Tipp
Eventuell nötige Änderungen bezüglich des ein- oder ausgehenden Signals dürfen Sie nur an einer Stelle durchführen, zum Beispiel in der Deklaration.
Für weitere Informationen siehe:
Syntax
<Variablenname> AT
%
<Adresse>:
<Datentyp>;
<Variablenname> | Obligatorisch |
| Obligatorisch Adresse im Speicherbereich
|
<Speicherbereichspräfix> | Obligatorisch
|
<Größenpräfix> | Optional
|
<Speicherposition> | <Positionsnummer> Beispiel: |
<Positionsnummer> | Obligatorisch Die Nummerierung ist zielsystemabhängig und bei 0 beginnend. |
| Optional 0..7 bei einem Byte |
<Datentyp> | Optional Der Datentyp soll zum Größenpräfix passen. |
VAR wInput AT %IW0 : WORD; END_VAR | Variablendeklaration mit Adressangabe eines Eingangsworts |
VAR xActuator AT %QW0 : BOOL; END_VAR | Boolesche Variablendeklaration Hinweis: Für boolesche Variable wird intern ein Byte alloziert, wenn keine Einzelbitadresse angegeben ist. Eine Wertänderung von |
VAR xSensor AT %IX7.5 : BOOL; END_VAR | Boolesche Variablendeklaration mit expliziter Angabe einer Einzelbitadresse Beim Zugriff wird nur das Eingangsbit 7.5 gelesen. |
VAR xSensor AT %IX* : BOOL; END_VAR | Bei der Adressangabe ist statt der Speicherposition der Platzhalter Hinweis: Das ist in Funktionsbausteinen möglich. |
Wissenswertes
Wichtig
Wenn Sie nicht explizit eine Einzelbitadresse angeben, werden boolesche Variablen byteweise alloziert.
Wichtig
Einzelne Bit-Adressen, die auf boolesche Variablen abgebildet werden, haben Einschränkungen. Es ist nicht möglich, diese Variablen mit VAR_IN_OUT
, REFERENCE TO
oder dem ADR
-Operator zu verwenden.
Wenn Sie eine Variable einer Adresse zuweisen, müssen Sie Folgendes beachten:
Auf Variablen, die auf einen Eingang gelegt sind, können Sie nicht schreibend zugreifen. Dies führt zu einem Compilerfehler.
AT
-Deklarationen können Sie nur für lokale und globale Variablen durchführen, nicht aber für Ein- und Ausgabevariablen von Bausteinen.AT
-Deklarationen dürfen Sie nicht in persistenten Variablenlisten verwenden!Wenn Sie
AT
-Deklarationen bei Strukturkomponenten oder Funktionsbausteinvariablen anwenden, verwenden alle Instanzen denselben Speicher. Dies entspricht der Verwendung von „statischen Variablen“ in klassischen Programmiersprachen wie zum Beispiel „C“.Das Speicherlayout von Strukturen ist ebenfalls abhängig vom Zielsystem.
Beispiel
PROGRAM PLC_PRG VAR xVar AT %QW0 : BOOL; END_VAR xVar := TRUE;
Beim Schreiben der Variablen xVar
ist der Ausgangsspeicherbereich von QX0.0
bis QX0.7
betroffen.