Verwendung eines übersichtlichen Konfigurationseditors für die E/A-Zuordnung
Verwendung eines übersichtlichen Konfigurationseditors für die E/A-Zuordnung
Wir raten davon ab, Speicheradressen wie hier beschrieben zu vergeben, da dies zu einem Verlust der Übersichtlichkeit führen kann.
Wir empfehlen, den Variablen im Konfigurationseditor Edit IO mapping des Gerätes Speicheradressen zuzuweisen.
Das Schlüsselwort AT in der Variablendeklaration weist einer Projektvariablen eine bestimmte Eingangsadresse,
Ausgangsadresse oder Speicheradresse der SPS zu, die im Gerätebaum konfiguriert ist.
Die AT-Deklaration ermöglicht es, einer Adresse einen aussagekräftigen Namen zu geben.
Sie können alle notwendigen Änderungen für die Eingangs- oder Ausgangssignale an nur einer Stelle vornehmen (z. B. in der Deklaration).
Syntax
<variable name> AT % <address> : <data type>;
|
<Variablenname> |
Erforderlich |
|
% <Adresse> |
Erforderlich Adresse im Speicherbereich % <Speicherbereichs-Präfix> <Größen-Präfix> <Speicherposition> |
|
<Präfix des Speicherbereichs> |
Erforderlich
|
|
<Größenpräfix> |
Beliebig
|
|
<Speicherplatz> |
<Positionsnummer> . <Bitpositionsnummer> Beispiel: %IB2.4 steht für das 5. Bit des 3. Bytes |
|
<Positionsnummer> |
Erforderlich Die Nummerierung hängt vom Zielsystem ab und beginnt bei 0. |
|
<Bitpositionsnummer>. |
Beliebig 0..7 für ein Byte |
|
<Datentyp> |
Beliebig Der Datentyp sollte mit dem Größenpräfix übereinstimmen. |
Beispiele
|
|
Variablendeklaration mit Adressinformation eines Eingangswortes |
|
|
Deklaration boolescher Variablen Hinweis: Bei booleschen Variablen wird intern ein Byte zugewiesen, wenn keine Einzelbitadresse
angegeben ist. Eine Änderung des Wertes von |
|
|
Boolesche Variablendeklaration mit expliziter Angabe einer Einzelbitadresse Beim Zugriff wird nur das Eingangsbit 7.5 gelesen. |
|
|
Bei der Adressangabe wird anstelle der Speicherposition der Platzhalter Hinweis: Dies ist in Funktionsblöcken möglich. |
Hilfreiche Hinweise
Wenn Sie nicht ausdrücklich eine Einzelbitadresse angeben, werden boolesche Variablen byteweise zugeordnet.
Für einzelne Bitadressen, die auf boolesche Variablen abgebildet werden, gelten Einschränkungen. Es ist nicht möglich, diese Variablen mit VAR_IN_OUT, REFERENCE TO oder dem ADR-Operator zu verwenden.
Wenn Sie einer Adresse eine Variable zuweisen, ist Folgendes zu beachten:
-
Sie können nicht in Variablen schreiben, die an Eingängen platziert sind. Dies führt zu einem Compilerfehler.
-
Sie können AT-Deklarationen nur für lokale und globale Variablen durchführen, nicht für Ein-/Ausgangsvariablen von POEs.
-
Außerdem können AT-Deklarationen nicht in persistenten Variablenlisten verwendet werden.
-
Wenn Sie AT-Deklarationen für Strukturkomponenten oder Funktionsblockvariablen verwenden, verwenden alle Instanzen denselben Speicher. Dies entspricht der Verwendung von "statischen Variablen" in klassischen Programmiersprachen wie "C".
-
Der Speicheraufbau von Strukturen hängt auch vom Zielsystem ab.
Beispiel
PROGRAM PLC_PRG
VAR
xVar AT %QW0 : BOOL;
END_VAR
xVar := TRUE;
Wenn die Variable xVar geschrieben wird, ist der Ausgangsspeicherbereich von QX0.0 bis QX0.7 betroffen.