Instrucciones básicas
8.6 Transferencia
8.6.8
Instrucciones de leer / escribir memoria
8.6.8.1
PEEK y POKE (solo SCL)
SCL ofrece instrucciones PEEK y POKE que permiten leer de bloques de datos, E/S o memoria, o
escribir en ellos. Hay que proporcionar parámetros de offsets de byte, o de bit, específicos para
la operación.
Nota
Para usar las instrucciones PEEK y POKE con bloques de datos deben usarse bloques de datos
estándar (no optimizados). Nótese que las instrucciones PEEK y POKE solo transfieren datos.
Desconocen los tipos de datos que hay en las direcciones.
PEEK(area:=_in_,
PEEK_WORD(area:=_in_,
PEEK_DWORD(area:=_in_,
PEEK_BOOL(area:=_in_,
258
dbNumber:=_in_,
byteOffset:=_in_);
dbNumber:=_in_,
byteOffset:=_in_);
dbNumber:=_in_,
byteOffset:=_in_);
dbNumber:=_in_,
byteOffset:=_in_,
bitOffset:=_in_);
Lee el byte referenciado por byteOffset del blo‐
que de datos, E/S o área de memoria referen‐
ciados.
Ejemplo de referencia al bloque de datos:
%MB100 := PEEK(area:=16#84,
dbNumber:=1, byteOffset:=#i);
Ejemplo de referencia a la entrada IB3:
%MB100 := PEEK(area:=16#81,
dbNumber:=0, byteOffset:=#i); // when
#i = 3
Lee la palabra referenciada por byteOffset del
bloque de datos, E/S o área de memoria refe‐
renciados.
Ejemplo:
%MW200 := PEEK_WORD(area:=16#84,
dbNumber:=1, byteOffset:=#i);
Lee la doble palabra referenciada por byteOff‐
set del bloque de datos, E/S o área de memoria
referenciados.
Ejemplo:
%MD300 := PEEK_DWORD(area:=16#84,
dbNumber:=1, byteOffset:=#i);
Lee un booleano referenciado por el bitOffset y
el byteOffset del bloque de datos, E/S o área de
memoria referenciados.
Ejemplo:
%MB100.0 := PEEK_BOOL(area:=16#84,
dbNumber:=1, byteOffset:=#ii,
bitOffset:=#j);
Controlador programable S7-1200
Manual de sistema, V4.5 05/2021, A5E02486683-AO