Principios básicos de programación
6.5 Lenguaje de programación
Direccionamiento
Igual que en el caso de KOP y FUP, SCL permite utilizar variables (direccionamiento
simbólico) o direcciones absolutas en el programa de usuario. SCL también permite utilizar
una variable como índice de matriz.
Direccionamiento absoluto
%I0.0
%MB100
Direccionamiento simbólico
"PLC_Tag_1"
"Data_block_1".Tag_1
"Data_block_1".MyArray[#i]
Direccionamiento indexado con instrucciones PEEK y POKE
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_,
194
dbNumber:=_in_,
byteOffset:=_in_);
dbNumber:=_in_,
byteOffset:=_in_);
Debe colocar el símbolo "%" delante de las
direcciones absolutas. Sin el símbolo "%", STEP 7
genera un error de variable no definido durante el
tiempo de compilación.
Variable en la tabla de variables PLC
Variable en un bloque de datos
Elemento de una matriz de bloque de datos
Lee el byte referenciado por byteOffset del
bloque de datos, E/S o área de memoria
referenciados.
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
referenciados.
Ejemplo:
%MW200 := PEEK_WORD(area:=16#84,
dbNumber:=1, byteOffset:=#i);
Manual de sistema, 03/2014, A5E02486683-AG
Controlador programable S7-1200