Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
SCL
SCL
rbol de instrucciones que contiene las instrucciones SCL soportadas por la CPU
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=62121591435&Language=es-ES&TopicId=52965963659 27/05/2017
SIMATIC S7 Controlador programable S7-1200
SCL
En la seccin de interfaz del bloque lgico SCL se pueden declarar los tipos de parmetros
siguientes:
Input, Output, InOut y Ret_Val: estos parmetros definen las variables de entrada, las variables de
salida y el valor de retorno del bloque lgico. El nombre de la variable introducida en este punto se
emplea de forma local durante la ejecucin del bloque lgico. Normalmente, no se emplea el nombre
de variables globales en la tabla de variables.
Static (solo FB; la figura de arriba corresponde a una FC): el bloque lgico utiliza variables estticas
para almacenar resultados intermedios estticos en el bloque de datos de instancia. El bloque
retiene datos estticos hasta que se sobrescriben, lo cual puede ocurrir despus de varios ciclos.
Los nombres de los bloques, que este bloque llama como multiinstancia, tambin se almacenan en
los datos locales estticos.
Temp: estos parmetros son variables temporales que se emplean durante la ejecucin del bloque
lgico.
Si se llama el bloque lgico SCL desde otro bloque lgico, los parmetros del bloque lgico
SCL aparecen como entradas o salidas.
En este ejemplo, las variables de "Start" y "On" (de la tabla de variables de proyecto) se
corresponden con "StartStopSwitch" y "RunYesNo" en la tabla de declaracin del programa
SCL.
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=62121591435&Language=es-ES&TopicId=52965963659 27/05/2017
SIMATIC S7 Controlador programable S7-1200
SCL
Si tienen la misma prioridad, los operadores se procesan en una secuencia de izquierda a derecha.
Se utilizan parntesis para designar una serie de operadores que deben evaluarse conjuntamente.
El resultado de una expresin se puede utilizar para asignar un valor a una variable utilizada
por el programa, como una condicin que debe ser considerada en una instruccin de control,
o como parmetros para otra instruccin SCL o para llamar un bloque lgico.
Matemticas Alimentacin ** 2
Multiplicacin * 4
Divisin / 4
Modulo MOD 4
Suma + 5
Resta - 5
Mayor > 6
Igual = 7
Diferente <> 7
Combinacin lgica O O 10
Parametrizacin Parametrizacin := 11
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=62121591435&Language=es-ES&TopicId=52965963659 27/05/2017
SIMATIC S7 Controlador programable S7-1200
SCL
Como lenguaje de programacin de alto nivel, SCL utiliza instrucciones estndar para tareas
bsicas:
Instruccin de asignacin: :=
Funciones matemticas: +, -, * y /
Los operadores aritmticos pueden procesar varios tipos de datos numricos. El tipo de datos
resultante lo determina el tipo de datos de los operandos ms significativos. Por ejemplo, una
operacin de multiplicacin que emplea un operando INT y un operando REAL da como
resultado un valor REAL.
Instrucciones de control
Una instruccin de control es un tipo de expresin SCL especializada, que realiza las siguiente
tareas:
Ramificacin del programa
Ejecucin condicionada
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=62121591435&Language=es-ES&TopicId=52965963659 27/05/2017
SIMATIC S7 Controlador programable S7-1200
SCL
Una instruccin de control tambin puede llevar una etiqueta. Una etiqueta se inserta
colocando dos puntos (:) al comienzo de la instruccin:
Etiqueta: <Instruccin>;
La ayuda en lnea de STEP 7 ofrece una completa referencia del lenguaje de programacin
SCL.
Condiciones
Una condicin es una expresin de comparacin o una expresin lgica cuyo resultado es del
tipo BOOL (con el valor TRUE o bien FALSE). El siguiente ejemplo muestra condiciones de
varios tipos.
Direccionamiento
Igual que en el caso de KOP y FUP, SCL permite utilizar variables (direccionamiento simblico)
o direcciones absolutas en el programa de usuario. SCL tambin permite utilizar una variable
como ndice de matriz.
Direccionamiento absoluto
%I0.0 Debe colocar el smbolo "%" delante de las direcciones
absolutas. Sin el smbolo "%", STEP 7 genera un error
%MB100
de variable no definido durante el tiempo de compilacin.
Direccionamiento simblico
"PLC_Tag_1" Variable en la tabla de variables PLC
"Data_block_1".Tag_1 Variable en un bloque de datos
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=62121591435&Language=es-ES&TopicId=52965963659 27/05/2017
SIMATIC S7 Controlador programable S7-1200
SCL
Nota
Para usar las instrucciones PEEK y POKE con bloques de datos deben usarse bloques de
datos estndar (no optimizados). Ntese que las instrucciones PEEK y POKE solo transfieren
datos. Desconocen los tipos de datos que hay en las direcciones.
%MW200 := PEEK_WORD(area:=16#84,
dbNumber:=1, byteOffset:=#i);
PEEK_DWORD Lee la doble palabra referenciada por byteOffset
(area:=_in_, dbNumber:=_in_, byteOffs del bloque de datos, E/S o rea de memoria
et:=_in_); referenciados.
Ejemplo:
%MD300 := PEEK_DWORD(area:=16#84,
dbNumber:=1, byteOffset:=#i);
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=62121591435&Language=es-ES&TopicId=52965963659 27/05/2017
SIMATIC S7 Controlador programable S7-1200
SCL
%MB100.0 := PEEK_BOOL(area:=16#84,
dbNumber:=1, byteOffset:=#ii, bitOffset:=#j);
POKE Escribe el valor (Byte, Word o DWord) en el
(area:=_in_, dbNumber:=_in_, byteOffs byteOffset referenciado del bloque de datos, E/S o
et:=_in_, value:=_in_); rea de memoria referenciados.
Ejemplo de referencia al bloque de datos:
POKE_BOOL(area:=16#84, dbNumber:=2,
byteOffset:=3, bitOffset:=5, value:=0);
POKE_BLK Escribe el nmero de "recuento" de bytes
(area_src:=_in_, dbNumber_src:=_in_, empezando por el offset de bytes referenciado del
byteOffset_src:=_in_, area_dest:=_in_, bloque de datos, E/S o rea de memoria de origen
dbNumber_dest:=_in_, byteOffset_dest:=_in_ referenciados en el byteOffset referenciado del
, count:=_in_); bloque de datos, E/S o rea de memoria de destino
referenciados.
Ejemplo:
POKE_BLK(area_src:=16#84,
dbNumber_src:=#src_db,
byteOffset_src:=#src_byte, area_dest:=16#84,
dbNumber_dest:=#src_db,
byteOffset_dest:=#src_byte, count:=10);
Para las instrucciones PEEK y POKE, se aplican los valores siguientes de los parmetros
"area", "area_src" y "area_dest". Para otras reas distintas de los bloques de datos, el
parmetro dbNumber debe ser 0.
16#81 I
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=62121591435&Language=es-ES&TopicId=52965963659 27/05/2017
SIMATIC S7 Controlador programable S7-1200
SCL
16#82 Q
16#83 M
16#84 DB
"MyDB"(MyInput:=10, MyInOut:="Tag1");
"MyFC"(MyInput:=10, MyInOut:="Tag1");
Tambin se pueden arrastrar bloques desde el rbol de navegacin al editor del programa
SCL y completar la asignacin de parmetros.
Ver tambin
Instrucciones bsicas
Instrucciones avanzadas
Utilizar bloques para estructurar el programa
This document constitutes a free excerpt compiled by the user himself/herself from the documentation provided by Siemens for this product. Siemens disclaims
all liability for the completeness of this document. It shall only be used for the user's own internal purposes. It shall not be passed on to third parties. The complete
documentation can be found at:
/dokumentation/default.aspx?DocVersionId=62121591435&Language=es-ES&TopicId=52965963659 27/05/2017