Siemens 6ES7223-1BH22-0XA0 EM 223 Digital Input / Output Module 6ES7223-1BH22-0XA0 用户手册

产品代码
6ES7223-1BH22-0XA0
下载
页码 538
SPS-Grundlagen
Kapitel 4
33
Bild 4-10 zeigt ein Beispiel für die E/A-Nummerierung für eine bestimmte Hardware-Konfiguration.
Die Lücken in der Adressierung (grau und kursiv dargestellt) können von Ihrem Programm nicht
verwendet werden.
Modul 0
Modul 1
Modul 2
E2.0
A2.0
E2.1
A2.1
E2.2
A2.2
E2.3
A2.3
E2.4
A2.4
E2.5
A2.5
E2.6
A2.6
E2.7
A2.7
E3.0
E3.1
E3.2
E3.3
E3.4
E3.5
E3.6
E3.7
CPU 224XP
4 Analogeingänge
1 Analogausgang
8 Eingänge
4 Eingänge /
4 Ausgänge
Modul 3
Modul 4
A3.0
A3.1
A3.2
A3.3
A3.4
A3.5
A3.6
A3.7
8 Ausgänge
AEW4
AAW4
AEW6
AAW6
AEW8
AEW10
AEW12
AAW8
AEW14
AAW10
AEW16
AEW18
4 Analogeingänge
1 Analogausgang
Erweiterungs-E/A
E0.0
A0.0
E0.1
A0.1
E0.2
A0.2
E0.3
A0.3
E0.4
A0.4
E0.5
A0.5
E0.6
A0.6
E0.7
A0.7
E1.0
A1.0
E1.1
A1.1
E1.2
A1.2
E1.3
A1.3
E1.4
A1.4
E1.5
A1.5
E1.6
A1.6
E1.7
A1.7
AEW0
AAW0
AEW2
AAW2
Integrierte E/A
Bild 4-10
Beispiel für die E/A-Adressen von integrierten E/A und Erweiterungs-E/A (CPU 224XP)
Indirekte Adressierung der S7-200 Speicherbereiche durch Pointer
Die indirekte Adressierung verwendet Pointer, um auf Daten im Speicher zuzugreifen. Pointer sind
Doppelwortwerte, die eine Adresse im Speicher enthalten. Als Pointer können Sie nur Adressen
des Variablen- und Lokaldatenspeichers bzw. einen der Akkumulatoren (AC1, AC2 oder AC3)
angeben. Zum Erstellen eines Pointers verwenden Sie die Operation Doppelwort übertragen.
Diese Operation überträgt die indirekt adressierte Adresse an die Adresse des Pointers. Pointer
können auch als Parameter an ein Unterprogramm übergeben werden.
Bei der S7-200 können Sie mit einem Pointer auf die folgenden Speicherbereiche zugreifen: E, A,
V, M, S, AE, AA, SM, T (nur auf den aktuellen Wert) und Z (nur auf den aktuellen Wert). Mit der
indirekten Adressierung können Sie nicht auf einzelne Bits oder auf die Speicherbereiche HC
oder L zugreifen.
Wenn Sie indirekt auf Daten in einer Adresse im Speicher zugreifen möchten, können Sie einen
Pointer auf die Adresse erstellen, indem Sie das Zeichen & und die entsprechende Adresse
eingeben. Dem Eingabeoperanden der Anweisung müssen Sie das Zeichen & voranstellen, um
dadurch anzugeben, dass die Adresse und nicht der Inhalt der Adresse an die vom
Ausgabeoperanden der Anweisung (Pointer) angegebene Adresse übertragen werden soll.
Ein Stern (*) vor dem Operanden einer Operation zeigt an, dass es sich bei der Adresse um einen
Pointer handelt. In Bild 4-11 gibt *AC1 an, dass AC1 ein Pointer ist, der die Adresse für den
Wortwert enthält, der von der Operation Wort übertragen (MOVW) referenziert wird. In diesem
Beispiel werden die Werte von VB200 und VB201 in den Akkumulator AC0 übertragen.
AC1
Adresse von VW200
AC0
1234
1 2
3 4
5 6
7 8
V199
V200
V201
V202
V203
MOVD &VW200, AC1
MOVW *AC1, AC0
Erstellt den Pointer, indem die Adresse von VB200
(Adresse des Anfangsbyte von VW200) in AC1 übertragen
wird.
Überträgt den Wortwert, auf den AC1 zeigt, in AC0.
Bild 4-11
Erstellen und Verwenden eines Pointers