Clase 9.2 - Lenguaje SFC

Embed Size (px)

Citation preview

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    1/22

    PLCs

    LENGUAJE SFC(Sequential Function Chart)

    Introducción

    Lenguaje gráfico basado en operaciones secuenciales

    Programa SFC: secuencia de pasos, transiciones y

    saltos

    Entre dos pasos debe existir al menos una transición1

    Entre dos transiciones debe existir al menos un paso2

    Debe existir al menos un paso inicial3

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    2/22

    Secuencia de ejecución en SFC

    Transición 1

    Paso 1

    Paso 2

    Transición 2

    Paso 1

    Transición 1

    Paso 2

    Transición 2

    Paso 1 activo

    Transición 1 habilitada; resultado FALSE

    Paso 2 inactivo

    Transición 2 inhibida

    Paso 1

    Transición 1

    Paso 2

    Transición 2

    Disparo Transición 1; resultado TRUEPaso 1

    Transición 1

    Paso 2

    Transición 2

    Paso 1 inactivo

    Transición 1 inhibida

    Paso 2 activo

    Transición 2 habilitada

    Ejemplo

    n La bomba será encendida si:

    - Se pulsa botón de arranque

    - Protección térmica deshabilitada

    - Botón de emergencia abierto

    - Botón de parada abierton Después de un tiempo T a partir del encendido

    no puede existir ni sobre ni baja corriente

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    3/22

    Ejemplon Apagado:

    - Se pulsa botón de parada

    - Salta protección térmica

    - Se pulsa botón de emergencia

    - Se pasa uno de los límites decorriente

    Ejemplo: nivel 1 y 2BOMBA_ON := FALSE

    Salto

    Divergencia

    simple

    BOMBA_ON := TRUE;

    DISPARO_TIMER;

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    4/22

    Ejemplo: Nivel 2

    PASO 3

    TRANSICION 2

    Componentes SFC

    n Componentes básicos:

    - pasos

    - pasos iniciales

    - transiciones- saltos a pasos

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    5/22

    El Pason Representación:

    El Paso

    n Nivel 1: nombre y comentario

    n Estados: activo o inactivo

    n Estado Activo: desde el disparo de una

    transición cualquiera anterior hasta eldisparo de una transición cualquiera

    posterior 

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    6/22

    El PasoConsiste en una secuencia de acciones. Existen 3 tipos de acciones:Tipo boolean: relacionan valor de variables booleanas y estado del paso

    VAR = actividad del pasoVAR;

    Tipo N (non-stored): se ejecutan en cada ciclo mientras el paso está activo

    Tipo P (pulsed): se ejecutan una sola vez cada vez que el paso está activo

    VAR = actividad del paso negada/ VAR;

    VAR(S); Setea VAR con la actividad del paso

    VAR(R); Resetea VAR con la actividad del paso

     ACTION (N):

    (* Instrucciones *)

    END_ACTION;

     ACTION (P):

    (* Instrucciones *)

    END_ACTION;

     AccionesEn el PLC del laboratorio disponemos de 3 acciones principales:

    Tipo N: se ejecutan en cadaciclo mientras el paso está

    activo

    Tipo P de entrada: seejecutan una sola vez

    cuando se ingresa al paso(“Entry Action”)

    Tipo P de salida: se ejecutan

    una sola vez cuando se saledel paso (“Exit Action”)

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    7/22

    El Paso Inicialn Un programa comienza en el paso inicial.n El paso inicial se representa con doble

    recuadro:

    La Transición

    n Representación:

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    8/22

    La Transiciónn Nivel 1: nombre y comentario

    n Dos estados posibles: habilitada odeshabilitada

    n Una transición está habilitada si todos lospasos unidos a ella están en estado

    activo.

    La Transición

    n Nivel 2: secuencia de sentencias conresultado booleano

    n Condición de disparo: resultado = TRUE

    n El disparo activa el paso siguiente

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    9/22

    La Transiciónn Lenguajes en que se programa en el PLC

    del laboratorio:n IL

    n LD

    n FBD

    n ST

    Salto

    n Representación:

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    10/22

    Divergencias y Convergenciasn Divergencias/Convergencias

    n Simples – Ramas Alternativas (OR)

    n Dobles – Ramas Simultáneas (AND)

    Convergencias/DivergenciasSimples (Alternativas)

    n Divergencia simple: La actividad del paso previo

    habilita todas las transiciones.

    n Convergencia simple: El disparo de una transición

    cualquiera activa el paso siguiente.

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    11/22

    Convergencias/Divergencias

    Dobles (Simultáneas)

    n Divergencia doble: el disparo de una transición activatodos los pasos.

    n Convergencia doble: la transición está habilitada sitodos los pasos están activos

    Macros (Subsecuencias)

    n Grupo de pasosy transiciones

    n  Ayuda a

    simplificar 

    secuencias

    complejas

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    12/22

    Control de Secuencian Secuencia de

     Arranque deBomba

    n Requerimiento 1:ante “Falla” finalizar lasecuencia

    Soluciónengorrosa y propensa

    a errores

    n Requerimiento 2:el operario debepoder pausar lasecuencia

     AND not Pausa

     AND not Pausa

    Control de Secuencia

    n En PLC de laboratorio: SFC Flags

    n Variables disponibles que controlan lasecuencia

    n SFCInit – lleva la secuencia al paso inicial y

    detiene la ejecución del pason SFCReset – ídem pero ejecuta el paso

    inicial

    n SFCPause – se detiene la secuencia

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    13/22

     Variables Implícitas en SFCn Activación de un paso:

    n indica paso activo en elciclo actual

    n _ indica paso activo en elsiguiente ciclo

    n Tiempo de un paso:n

     _time tiempo transcurridoen el paso (requiere declaración TIME)

    Herramientas SFC

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    14/22

     Ambiente de Desarrollo SFCn Acciones en los pasos:

    n Tipo N – doble click en elpaso

    n Tipo P – botón derecho:

     Ambiente de Desarrollo SFC

    n Transición:n Variable booleana directa o

    n Sentencia directa con AND/OR o

    n Sentencia en IL, LD, FBD, ST con resultadobooleanon Ej en LD:

    n Ej en FBD:

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    15/22

     Ambiente de Desarrollo SFCn Botón derecho sobre

    SFCn Zoom Action/Transition

    n Ver código asociado

    n Clear Action/Transitionn Borrar código asociado

     Ambiente de Desarrollo SFC

    Insertar Paso/Transición Borrar Paso/Transición

    Seleccionarambos

    n Insertar/Borrar Pasos-Transiciones

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    16/22

     Ambiente de Desarrollo SFC

    Insertar Rama Paralela Insertar Rama Alternativa

    n Ramas Paralelas / Alternativas

    Seleccionarel paso

    Seleccionar latransición

     Ambiente de Desarrollo SFC

    n Variables de control de Secuencia:n Declaración como variables locales o

    globales:n SFCInit: BOOL;

    n SFCReset: BOOL;

    n SFCPause: BOOL;

    n Tienen acción directa sobre la secuencia

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    17/22

     Ambiente de Desarrollo SFCn Ejecutar un solo ciclo del PLC:

    n Online -> “Single Cycle” Ctrl+F5

    Ejecución Ciclo a Ciclo de SFC

    Paso1AccionN := TRUE;

    Paso1AccionP0 := TRUE;Paso1AccionP1 := TRUE;

    Paso2AccionN := TRUE;

    Paso2AccionP0 := TRUE;Paso2AccionP1 := TRUE;

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    18/22

    Ejecución Ciclo a Ciclo de SFC

    Ciclo 1 Ciclo 2

    Ejecución Ciclo a Ciclo de SFC

    Ciclo 3 Ciclo 4

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    19/22

    Ejecución Ciclo a Ciclo de SFC

    Ciclo 5 Ciclo 6 Ciclo 7

     Acciones en SFC

    n Según IEC 61131-3:

    Calificador Descripción

    N Non-stored, ejecución mientras paso activo

    R Reset de acción activada

    S Activa una acción

    L Acción por tiempo limitadaD Acción demorada

    P Acción ejecutada una vez cuando se activa el paso

    P0 Acción ejecutada una vez al desactivar el paso

    P1 Acción ejecutada una vez al activar el paso

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    20/22

    Transiciones Simultáneas

    Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4

    Tiempos en SFC

    n Tiemposmínimos/máximospor paso

    n Timeouts

    (SFCError)n Tiempo

    transcurrido en unpaso (_timeXX)

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    21/22

    Tiempos en SFC

    Secuencias Inseguras

    Fuente: R. W. Lewis “Programming industrial control systems using IEC 1131-3” 

  • 8/16/2019 Clase 9.2 - Lenguaje SFC

    22/22

    Secuencias Inalcanzables

    Fuente: R. W. Lewis “Programming industrial control systems using IEC 1131-3”