7.5.3.3
Indexierte Adressierung mit den Anweisungen PEEK und POKE
SCL bietet die Anweisungen PEEK und POKE, mit denen Sie aus Datenblöcken, E/A oder
dem Speicher lesen oder in diese schreiben können. Sie geben für die Operation Parameter
mit einem spezifischen Byte- oder Bit-Versatz an.
Hinweis
Um die Anweisungen PEEK und POKE mit Datenbausteinen zu verwenden, müssen Sie
Standarddatenbausteine (keine optimierten Datenbausteine) verwenden. Beachten Sie
zudem, dass die Anweisungen PEEK und POKE lediglich Daten übertragen. Die Datentypen
an den Adressen werden nicht beachtet.
PEEK(area:=_in_,
PEEK_WORD(area:=_in_,
PEEK_DWORD(area:=_in_,
PEEK_BOOL(area:=_in_,
S7-1200 Automatisierungssystem
Systemhandbuch, V4.2, 09/2016, A5E02486681-AK
dbNumber:=_in_,
byteOffset:=_in_);
dbNumber:=_in_,
byteOffset:=_in_);
dbNumber:=_in_,
byteOffset:=_in_);
dbNumber:=_in_,
byteOffset:=_in_,
bitOffset:=_in_);
7.5 Programmiersprache
Liest das von byteOffset angegebene Byte
aus dem angegebenen Datenbaustein, aus
den E/A oder dem Speicherbereich.
Beispiel für den Verweis auf einen Datenbau-
stein:
%MB100 := PEEK(area:=16#84,
dbNumber:=1, byteOffset:=#i);
Beispiel für den Verweis auf Eingang EB3:
%MB100 := PEEK(area:=16#81,
dbNumber:=0, byteOffset:=#i); // when
#i = 3
Liest das von byteOffset angegebene Wort
aus dem angegebenen Datenbaustein, aus
den E/A oder dem Speicherbereich.
Beispiel:
%MW200 := PEEK_WORD(area:=16#84,
dbNumber:=1, byteOffset:=#i);
Liest das von byteOffset angegebene Dop-
pelwort aus dem angegebenen Datenbau-
stein, aus den E/A oder dem Speicherbereich.
Beispiel:
%MD300 := PEEK_DWORD(area:=16#84,
dbNumber:=1, byteOffset:=#i);
Liest einen von bitOffset und byteOffset an-
gegebenen Booleschen Wert aus dem ange-
gebenen Datenbaustein, aus den E/A oder
dem Speicherbereich.
Beispiel:
%MB100.0 := PEEK_BOOL(area:=16#84,
dbNumber:=1, byteOffset:=#ii,
bitOffset:=#j);
Programmierkonzepte
219