domingo, 5 de mayo de 2013

Iniciación a la programación en SCL (I)

Aquí dejo 4 sencillos ejemplos para perder el miedo a la programación en SCL. Pueden ser programados y probados en los autómatas S7-1200 de Siemens (Firmware 2.0 o superior) a través del STEP 7 Basic.

Recuerda:  
SCL es un lenguaje de texto estructurado cuya sintaxis es similar a otros lenguajes de alto nivel y propósito general como el Pascal o el C.

1. Lo primero que se debe hacer es crear una tabla con las variables de entradas y salidas que se van a utilizar en la programación.
2. Se crea una función (FC) y se elige el lenguaje SCL.
  
3. Desde el OB1 se llama a dicha función de forma incondicional. 

4. El código SCL debe escribirse en el bloque FC.

 Ejemplos de programación SCL

------------------------------------------------------------------------------------------

Ejemplo 1: Control de una salida a través  una entrada.

Código SCL:
 
 Circuito equivalente en KOP:
------------------------------------------------------------------------------------------

Ejemplo 2: Control de una salida mediante Set/Reset.

Código SCL:
 
Circuito equivalente en KOP:


------------------------------------------------------------------------------------------

Ejemplo 3: Asociación serie (AND) de dos variables de entrada.

Código SCL: 
Circuito equivalente en KOP:
------------------------------------------------------------------------------------------

Ejemplo 4: Activación de un temporización a la conexión (TON).

Código SCL: 
 Circuito equivalente en KOP:



6 comentarios:

  1. Hola,
    Veo que quereis crear el programa en ST (SCL), pero como no podéis crearlo en el OB1, lo hacéis en una función. Aparentemente en el TIA Portal sólo se puede programar el OB1 en LD y FBD.

    Existe un truco (una chapuza, vamos) que permite crear el OB1 en ST.

    Cuando creamos un proyecto, añadimos el PLC y en el árbol del proyecto, asociado al PLC tenemos la carpeta de “Bloques de programa”. Al crear el proyecto, en esta carpeta hay dos elementos “Agregar nuevo bloque” y “Main[OB1]”. Marcamos “Main[OB1]” y pulsamos la tecla de “Suprimir”. Sale la ventana para preguntar si queremos borrar bloques seleccionados y decimos que sí.

    Tenemos que crear ahora el OB1 que borramos. Pulsamos en “Agregar nuevo bloque” y después en la tecla que pone “OB Bloque de organización”. En la siguiente ventana podemos cambiar el nombre “Main” por el que queramos, seleccionamos “Program cycle”, si es que no está ya, el número del OB es 1 porque lo necesita sí o sí, y ahora ya podemos seleccionar el lenguaje ST.

    Como veis una chapuza pero que resuelve el asunto.

    Aprovecho para felicitaros por 15 años al pie del cañón. Saludos,

    Vicente

    ResponderEliminar
    Respuestas
    1. Y para que quieres el OB1 en scl? Yo solo lo uso para hacer las llamadas de los bloques que me interesan

      Eliminar
  2. Muy buenos tip para iniciarse, ¿tienes algunos más o algo más avanzado?

    ResponderEliminar
  3. sabes de alguna forma de convertir bloques creados en FUP o KOP en este lenguaje, por ejemplo para crear una fuente

    ResponderEliminar
    Respuestas
    1. Eso que quieres hacer es imposible, ya que un programa en STL depende de una direccion por TAG y no fisica

      Eliminar