You are on page 1of 19

Técnicas de la automatización

(Cód. 201987)

6. PLC-III: Programación con Diagramas Funcionales


Secuenciales (SFC)

Escuela Politécnica Superior


SFC Etapas Transiciones Secuencias Acciones Referencias 2/19

Índice

1 Lenguaje SFC (Sequential Function Chart)

2 Etapas

3 Transiciones

4 Secuencias

5 Acciones

6 Referencias
SFC Etapas Transiciones Secuencias Acciones Referencias 3/19

Diagrama funcionales secuenciales

1 SFC es un lenguaje gráfico de programación de autómatas.


2 Permite descomponer programas complejos en elementos sencillos
conectados entre sí.
3 Con SFC se pueden describir procesos secuenciales y procesos
concurrentes.
4 Está basado en las redes de Petri y los diagramas Grafcet (norma IEC
60848).
5 Los programas SFC también se pueden expresar textualmente para
facilitar su procesamiento por ordenador.
SFC Etapas Transiciones Secuencias Acciones Referencias 4/19

Elementos léxicos de SFC

En un programa SFC podemos encontrarnos los siguientes elementos:


1 Etapas: representan los estados en los que se descompone las ejecución
secuencial del sistema que se desea automatizar.
2 Transiciones: representan las condiciones que se tienen que dar para
que el sistema cambie de estado (evolución entre etapas).
3 Acciones: representan las instrucciones que se ejecutan cuando el
sistema alcanza cada estado. Las acciones están asociadas a las etapas.
4 Enlaces: establecen la conexión entre etapas y transiciones.
SFC Etapas Transiciones Secuencias Acciones Referencias 5/19

Interpretación de RdP mediante programas SFC


p0 •
E0
t0
Tr0
p1 A1

t1
E1 A1
Tr1
p2 A2
E2 A2
t2 Tr2
p3 A3 p4 A4
E3 A3 E4 A4
t3 t4 Tr3 Tr4
p5 A5 p6 A6 E5 A5 E6 A6

t5 Tr5
p7 A7 E7 A5

t6 t7 Tr6 Tr7
SFC Etapas Transiciones Secuencias Acciones Referencias 6/19

Índice

1 Lenguaje SFC (Sequential Function Chart)

2 Etapas

3 Transiciones

4 Secuencias

5 Acciones

6 Referencias
SFC Etapas Transiciones Secuencias Acciones Referencias 7/19

Etapas

Representan los estados por los que pasa el sistema.

1 Step Nombre_Etapa :
2 (* Acciones asociadas a »
Nombre_Etapa » la etapa *)
3 End_Step

Etapa inicial
1 Initial_Step Nombre_Etapa :
2 (* Acciones asociadas a la »
Nombre_Etapa » etapa inicial *)
3 End_Step

Variables implícitas de una etapa


Nombre_Etapa.X Bit que indica si la etapa está activa o no.
Nombre_Etapa.T Tiempo que la etapa lleva activa o inactiva.
SFC Etapas Transiciones Secuencias Acciones Referencias 8/19

Índice

1 Lenguaje SFC (Sequential Function Chart)

2 Etapas

3 Transiciones

4 Secuencias

5 Acciones

6 Referencias
SFC Etapas Transiciones Secuencias Acciones Referencias 9/19

Transiciones
Representan las condiciones que se tienen que dar para que el sistema
cambie de estado (evolución entre etapas).
Asociación directa entre condiciones y transiciones

Con diagramas de contactos (LD):


E
V1 V2
Con diagramas de bloques
de función (FBD):
Ej
E
Con texto estructurado (ST): V1
&
V2
E
Ej
V1 AND V2

Ej
SFC Etapas Transiciones Secuencias Acciones Referencias 10/19

Asociación indirecta entre condiciones y transiciones

Con diagramas de bloques de


Con diagramas de contactos (LD) función (FBD)

1 Transition Tr From Ei To» 1 Transition Tr From Ei To»


» Ej : » Ej :
V1 V2 Tr E
V1
2 E &
V2
3 End_Transition
Tr Ej
2
3 End_Transition
Con listas de instrucciones (IL) Ej
1 Transition Tr From Ei To»
» Ej : Con texto estructurado (ST)
2 LD V1 1 Transition Tr From Ei To»
3 AND V2 » Ej :
4 End_Transition 2 := V1 AND V2 ;
3 End_Transition
SFC Etapas Transiciones Secuencias Acciones Referencias 11/19

Índice

1 Lenguaje SFC (Sequential Function Chart)

2 Etapas

3 Transiciones

4 Secuencias

5 Acciones

6 Referencias
SFC Etapas Transiciones Secuencias Acciones Referencias 12/19

Secuencias (i)
Simple:
p
E
tk
Trk
pj Ej

Selección (divergencia):

p E

t1 t2 tk Tr1 Tr2 Trk


Ej1 Ej2 Ejk
pj1 pj2 pjk
m 6= n ⇒ T rm · T rn = 0.
Atribución (convergencia):
p1 p2 pk
E1 E2 Ek
t1 t2 tk
Tr1 Tr2 Trk
pj
Ej
SFC Etapas Transiciones Secuencias Acciones Referencias 13/19

Secuencias (ii)
Distribución (inicio de concurrencia):
p
E
t Tr
pj1 pj2 pjk Ej1 Ej2 Ejk

Conjunción (fin de concurrencia):


p1 p2 pk
E1 E2 Ek
t
Tr
pj Ej

Fin e inicio de concurrencia:


p1 p2 pk
E1 E2 Ek
t
Tr
pj1 pj2 pjℓ
Ej1 Ej2 Ejℓ
SFC Etapas Transiciones Secuencias Acciones Referencias 14/19

Índice

1 Lenguaje SFC (Sequential Function Chart)

2 Etapas

3 Transiciones

4 Secuencias

5 Acciones

6 Referencias
SFC Etapas Transiciones Secuencias Acciones Referencias 15/19

Acciones

Las acciones se emplean para definir las instrucciones asociadas a cada


etapa.
Las instrucciones de una acción pueden consistir en:
Asignar un valor a una variable boolean:
Calificador Variable

Una secuencia de instrucciones:


Asociación directa:
Calificador Nombre_Acción Indicador_Boolean
Instrucciones de la acción

Asociación indirecta:
Calificador Nombre_Acción Indicador_Boolean

1 Action Nombre_Acci ó n :
2 (* Instrucciones de la acci ó n . *)
3 End_Action
SFC Etapas Transiciones Secuencias Acciones Referencias 16/19

Relación entre etapas, acciones y transiciones: ejemplo


E N Acción_Ej hay_Fallos

Tj IF (Ej.X AND comprueba_Fallos()) THEN


hay_Fallos := TRUE;
ELSE
Ej hay_Fallos := FALSE;
hay_Fallos END_IF
Tjk (* Restantes instrucciones de la acción *)
...
plazo_Superado D T#1s plazo_Superado
Ek

Cuando se cumpla la condición asociada Cuando haya transcurrido 1 segundo


a Tij se desactivará Ei y se activará Ej . (D T#1s) desde la activación de Ej , la
Mientras Ej esté activa (Ej.X=TRUE), se variable lógica plazo_Superado tomará
estarán ejecutando las acciones el valor TRUE.
Acción_Ej y plazo_Superado. Cuando haya fallos o se haya superado
Por cada ciclo de SCAN, la Acción_Ej el plazo, se cumplirá la condición
comprueba si se ha producido algún fallo asociada a la transición Tjk , se
(comprueba_Fallos). desactivará Ej y se activará Ek .
Ejercicio 6.1
SFC Etapas Transiciones Secuencias Acciones Referencias 17/19

Calificadores
Modifican el tiempo de ejecución de una acción y la duración de sus efectos.
E Calificador V
Calificador Descripción
N (Calificador por defecto) V=True hasta que Ei se desactive.
R (Reset) V=False.
S (Set) V=True.
L t#plazo
V=True hasta que expire el plazo o Ei se desactive.
D t#retardo
V=True desde que finaliza el retardo hasta que Ei se desactiva.
SD t#retardo
V=True desde que finaliza el retardo, independientemente de que Ei
se desactive antes de ese instante.
DS t#retardo
V=True desde que finaliza el retardo, siempre que ocurra mientras Ei
está activa.
SL t#plazo
V=True hasta que expira el plazo, independientemente de que Ei se
desactive antes de ese instante.
P1 La acción se ejecuta en un solo ciclo de SCAN tras la activación de Ei .
P0 La acción se ejecuta en un solo ciclo de SCAN tras la desact. de Ei .
SFC Etapas Transiciones Secuencias Acciones Referencias 18/19

Índice

1 Lenguaje SFC (Sequential Function Chart)

2 Etapas

3 Transiciones

4 Secuencias

5 Acciones

6 Referencias
SFC Etapas Transiciones Secuencias Acciones Referencias 19/19

Referencias

International Electrotechnical Commission.


Programmable controllers - Part 3: Programming languages.
IEC, 2006.
Karl-Heinz John and Michael Tiegelkamp.
IEC 61131–3: Programming Industrial Automation Systems.
Springer, 2010.

You might also like