Download - Clase 9.2 - Lenguaje SFC
-
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”