Está en la página 1de 22

PLCs

LENGUAJE SFC
(Sequential Function Chart)

Introducción
Lenguaje gráfico basado en operaciones secuenciales

Programa SFC: secuencia de pasos, transiciones y


saltos

1 Entre dos pasos debe existir al menos una transición

2 Entre dos transiciones debe existir al menos un paso

3 Debe existir al menos un paso inicial

1
Secuencia de ejecución en SFC
Paso 1 activo
Paso 1 inactivo
Paso 1 Transición 1 habilitada; resultado FALSE
Disparo Transición
Transición 1; resultado TRUE
1 inhibida
Paso 2 inactivo
Paso 2 activo
Transición 1 Transición 2 inhibida
Transición 2 habilitada

Paso 2

Transición 2

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 abierto
n Después de un tiempo T a partir del encendido
no puede existir ni sobre ni baja corriente

2
Ejemplo
n 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 de
corriente

Ejemplo: nivel 1 y 2
BOMBA_ON := FALSE

DISPARO_TIMER;
BOMBA_ON := TRUE;
Divergencia
simple

Salto

3
Ejemplo: Nivel 2
TRANSICION 2

PASO 3

Componentes SFC

n Componentes básicos:
- pasos
- pasos iniciales
- transiciones
- saltos a pasos

4
El Paso

n 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 el


disparo de una transición cualquiera
posterior

5
El Paso
Consiste en una secuencia de acciones. Existen 3 tipos de acciones:
Tipo boolean: relacionan valor de variables booleanas y estado del paso
VAR; VAR = actividad del paso

/ VAR; VAR = actividad del paso negada

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

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

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


ACTION (N):
(* Instrucciones *)
END_ACTION;

Tipo P (pulsed): se ejecutan una sola vez cada vez que el paso está activo
ACTION (P):
(* Instrucciones *)
END_ACTION;

Acciones
En el PLC del laboratorio disponemos de 3 acciones principales:

Tipo N: se ejecutan en cada


ciclo mientras el paso está
activo

Tipo P de entrada: se Tipo P de salida: se ejecutan


ejecutan una sola vez una sola vez cuando se sale
cuando se ingresa al paso del paso (“Exit Action”)
(“Entry Action”)

6
El Paso Inicial
n Un programa comienza en el paso inicial.
n El paso inicial se representa con doble
recuadro:

La Transición
n Representación:

7
La Transición

n Nivel 1: nombre y comentario


n Dos estados posibles: habilitada o

deshabilitada
n Una transición está habilitada si todos los

pasos unidos a ella están en estado


activo.

La Transición

n Nivel 2: secuencia de sentencias con


resultado booleano
n Condición de disparo: resultado = TRUE

n El disparo activa el paso siguiente

8
La Transición

n Lenguajes en que se programa en el PLC


del laboratorio:
n IL
n LD
n FBD
n ST

Salto

n Representación:

9
Divergencias y Convergencias

n Divergencias/Convergencias
n Simples – Ramas Alternativas (OR)
n Dobles – Ramas Simultáneas (AND)

Convergencias/Divergencias
Simples (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.

10
Convergencias/Divergencias
Dobles (Simultáneas)

n Divergencia doble: el disparo de una transición activa


todos los pasos.
n Convergencia doble: la transición está habilitada si
todos los pasos están activos

Macros (Subsecuencias)

n Grupo de pasos
y transiciones
n Ayuda a
simplificar
secuencias
complejas

11
Aplicación: Arranque de Bomba

Control de Secuencia
n Secuencia de n Requerimiento 1:
Arranque de ante “Falla”
finalizar la
Bomba secuencia AND not Pausa

n Requerimiento 2:
el operario debe
poder pausar la
secuencia

AND not Pausa


Solución
engorrosa
y propensa
a errores

12
Control de Secuencia
n En PLC de laboratorio: SFC Flags
n Variables disponibles que controlan la
secuencia
n SFCInit – lleva la secuencia al paso inicial y
detiene la ejecución del paso
n SFCReset – ídem pero ejecuta el paso
inicial
n SFCPause – se detiene la secuencia

Variables Implícitas en SFC


n Activación de un paso:
n <nombre_paso> indica paso activo en el
ciclo actual
n _<nombre_paso> indica paso activo en el
siguiente ciclo
n Tiempo de un paso:
n _time<nombre_paso> tiempo transcurrido
en el paso (requiere declaración TIME)

13
Herramientas SFC

Ambiente de Desarrollo SFC


n Acciones en los pasos:
n Tipo N – doble click en el
paso

n Tipo P – botón derecho:

14
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 resultado
booleano
n Ej en LD:

n Ej en FBD:

Ambiente de Desarrollo SFC


n Botón derecho sobre
SFC
n Zoom Action/Transition
n Ver código asociado
n Clear Action/Transition
n Borrar código asociado

15
Ambiente de Desarrollo SFC
n Insertar/Borrar Pasos-Transiciones

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

Seleccionar
ambos

Ambiente de Desarrollo SFC


n Ramas Paralelas / Alternativas
Insertar Rama Paralela Insertar Rama Alternativa

Seleccionar Seleccionar la
el paso transición

16
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

Ambiente de Desarrollo SFC


n Ejecutar un solo ciclo del PLC:
n Online ->
“Single Cycle”
Ctrl+F5

17
Ejecución Ciclo a Ciclo de SFC

Paso1AccionN := TRUE;

Paso1AccionP1 := TRUE; Paso1AccionP0 := TRUE;

Paso2AccionN := TRUE;

Paso2AccionP1 := TRUE; Paso2AccionP0 := TRUE;

Ejecución Ciclo a Ciclo de SFC

Ciclo 1 Ciclo 2

18
Ejecución Ciclo a Ciclo de SFC

Ciclo 3 Ciclo 4

Ejecución Ciclo a Ciclo de SFC

Ciclo 5 Ciclo 6 Ciclo 7

19
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 limitada
D 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

Transiciones Simultáneas

Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4

20
Tiempos en SFC
n Tiempos
mínimos/máximos
por paso
n Timeouts
(SFCError)
n Tiempo
transcurrido en un
paso (_timeXX)

Tiempos en SFC

21
Secuencias Inseguras

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

Secuencias Inalcanzables

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

22

También podría gustarte