Escolar Documentos
Profissional Documentos
Cultura Documentos
Un diagrama de función secuencial (SFC) le permite definir una secuencia de estados a través de los cuales
se desarrolla un proceso que se traduce en acciones que realiza una máquina. Los pasos pueden ejecutar
texto estructurado, llamar subrutinas o simplemente servir de señales para otra lógica. Es similar a un
diagrama de flujo, donde se expresa el orden de un proceso a realizar y se ejecuta de forma secuencial.
Ya que es una representación gráfica, es fácil organizar y leer en él. Las acciones se realizan con
indicaciones lógicas, a través de los pasos que se van desarrollando en la secuencia.
Es fácil establecer ciclos de manera repetitiva hasta que se cumpla una condición dada.
Para aplicaciones donde el proceso implica una serie de pasos, constituye la manera más simple de
representarlo en comparación a los otros lenguajes de programación, tal como lo es, Diagrama de
escalera, Diagrama de bloques o Texto estructurado.
Se reduce el tiempo de diseño y depuración del programa, gracias a su entorno flexible.
Brinda un acceso directo al punto en la lógica donde la máquina falla. Permitiendo la pronta
solución.
En la presente sección expondremos un breve resumen con los conceptos más relevantes de la carta de
función secuencial. Posteriormente, se desarrollarán ejemplos ilustrativos donde se muestra la aplicación
de la misma. Adicional, se programará en RSLOGIX 5000 y se detallará el procedimiento utilizado para
obtener un determinado proceso.
CARTA DE FUNCIÓN SECUENCIAL. RSLogix 5000, Rockwell Automation
GRÁFICO DE MANDO ETAPA/ TRANSICIÓN (GRAFCET). Zelio Logic, Schneider Electric
Para desarrollar esta sección es importante mencionar que Carta de Función Secuencial y Grafcet son dos
lenguajes que realizan la misma función, pero utilizan controladores diferentes. Por consiguiente, el
desarrollo de este documento se centrará en la estructura, que es válida para ambos lenguajes.
Dichos lenguajes están definidos por elementos gráficos y reglas de evolución que reflejan la dinámica del
comportamiento del sistema. Todo automatismo secuencial o concurrente se pueden estructurar en una
serie de Etapas que representan estados o sub estados del sistema en los cuales se realizan una o más
acciones, así como transiciones, que son las condiciones que deben darse para pasar de una etapa a otra.
En conclusión, estos lenguajes son una representación gráfica del automatismo compuesto por etapas y
transiciones.
Representa la
posición de inicio
Etapa Principal para la ejecución
(Initial Step) de la SFC.
Sus propiedades
nos permiten
especificar el lugar
en la carta donde
queremos que se
inicie la ejecución
después de un
reinicio.
Puede estar en
cualquier lugar de
la carta.
No obliga a iniciar
la ejecución de la
rutina en la parte
superior.
Posición dentro de
una SFC que define
un estado
operativo.
Constituyen la
Etapa (Step) función principal
del proceso.
Contiene las
acciones que se
producen en un
tiempo, fase o
estación
específico.
Utilizan tags como
estructura de
control, así como,
temporizadores de
la etapa
configurables para
monitorear la
ejecución.
El preset (tiempo
de temporización)
del timer
(temporizador) de
la etapa puede ser
un valor fijo, una
expresión
evaluada mientras
se ejecuta un tag o
un cálculo
complejo.
Porción de una
etapa que define
Acción (Action) un
comportamiento
específico.
Se puede tener un
número ilimitado
de acciones por
etapa.
Las acciones
booleanas son
ciertas cuando la
etapa se active de
lo contrario, es
falsa.
Puede contener un
texto estructurado
embebido.
Utiliza un tag
como estructura
de control.
Punto de decisión
para determinar
cuándo la
operación de una
etapa se ha
completado.
Transición Condición cierta o
(Transitional) falsa que indica al
SFC cuándo
continuar con el
siguiente paso.
Puede existir un
número ilimitado
de transiciones en
una rutina SFC
Utilizan tag para
datos de estado.
Se puede forzar
múltiples
transiciones de
cierto y falso.
Al forzar
transiciones salta
la lógica del
programa.
Posición de
terminación de
una ruta dentro de
una carta de
función
Stop secuencial.
Define las rutas de
ejecución doble de
un gráfico donde
se ejecuta una sola
ruta.
Ejecuta una de las
muchas rutas de la
Select Branch carta.
Permite
decisiones
basadas en el
proceso para
alterar la
ejecución del flujo.
Número ilimitados
de ramales,
elementos por
ramal y ramales
anidados.
Evita las etapas
inútiles.
El orden de
evaluación es
configurable.
Evaluación por
defecto de
izquierda a
derecha.
Permite cambiar el
orden sin
reorganizar la
carta.
Forzar
transiciones y
etapas permite
anular ramales
individuales.
Define las rutas de
ejecución doble de
una SFC que se
Simultaneous ejecutan al mismo
Branch tiempo.
Ejecuta múltiples
rutas en una carta
simultáneamente.
Diseño flexible,
funciona de la
manera que el
programador
desea.
Evita pasos
inútiles.
El forzar ramales
mejora la
depuración gráfica
y el
mantenimiento.
Permite
deshabilitar cada
ramal de forma
individual.
2. ELEMENTOS BÁSICOS DEL GRAFCET
2.1 Etapas
Una etapa corresponde a una situación del sistema que indica un comportamiento estable. Se puede editar
el nombre de la etapa. Por ejemplo, la etapa se llama Step_000, el programador la puede cambiar a:
“Posición inicial”. Las etapas iniciales se representan con doble recuadro.
Etapa Principal
Las acciones presentes en las etapas se ejecutarán de manera consecutiva siempre y cuando, la última
transición esté unida con la etapa principal. Esto será así hasta que alguna de las condiciones asociadas a
las transiciones no se cumpla.
2.2 Transiciones
La transición es un elemento que permite evolucionar o no, de una etapa a la siguiente. Se representa por
un trazo perpendicular a la línea que une a dos etapas, además, se puede editar el nombre de la transición.
Por ejemplo, si la transición anteriormente se llamaba Tran_000, ahora aparecerá como: “sensor”.
Para que una transición sea franqueable y el grafcet evolucione de una etapa a la siguiente, se deben dar
las siguientes condiciones:
Transiciones
2.3 Receptividad
La receptividad asociada a una transición es una función booleana que expresa la condición lógica de la
que depende el franqueamiento (pasa a través) de la transición.
Ejemplo de receptividades:
Contaje de 20 piezas.
Activación de un captador.
Fin de temporización.
Ejemplo de receptividad. “Fin de la temporización del Step_000”, se permitirá pasar a la siguiente etapa cuando el
Step_000 se haya cumplido y S1 se haya activado
2.4 Arcos o uniones orientadas
Un arco es un segmento de recta orientado que une una etapa con una transición, o bien una transición con
una etapa, pero nunca dos transiciones o dos etapas entre sí. Normalmente, el sentido vertical descendente
no está marcado con flecha (orientación implícita).
Si el sentido del arco es vertical ascendente, debe estar marcado con flecha que lo indique, si se está
trabajando en GRAFCET. Si es SCF, no es necesario.
3. Regla de Sintaxis
La alternancia etapa-transición y transición-etapa debe ser respetada siempre sea cual sea la secuencia
recorrida. Dos etapas nunca deben estar unidas directamente, sino que tienen que estar separadas por una
transición.
4. Acciones
Están especificadas en un rectángulo situado a la derecha del símbolo de etapa, cada etapa desarrolla una
serie de acciones sobre el sistema.
Activar un temporizador
Impulsional
Continuas
Alimentar un motor
Las acciones están especificadas en un rectángulo situado a la
derecha del símbolo de etapa.
Una etapa que no tiene asociada ninguna acción puede corresponder a estados como son el estado de
reposo inicial de la máquina a la espera de la orden de marcha, la espera de un acontecimiento externo, por
ejemplo, el cambio de estado de una entrada. También puede corresponder a la espera de un
acontecimiento interno como puede ser la activación de otra etapa, etc…
La clasificación de las acciones más utilizada es el de comparar la duración de la acción con la actividad de
la etapa.
Continua Se produce mientras la etapa está asociada, está activa.
Es una acción continua cuya ejecución está sometida a una condición lógica.
Se activa la salida si los captadores que deben estar activos dan señal.
Acción
Situación Inicial
• Caracteriza el comportamiento inicial de la parte de mando, en relación a la parte
operativa y corresponde a las etapas activas al comienzo del funcionamiento.
• Si la situación inicial es siempre la misma (automatismos cíclicos), estará caracterizada
por etapas iniciales, el cual corresponde a la situacipon de reposo.
• Para automatismos no cíclicos, la situación de partida depende del estado del proceso en
el momento de la puesta en marcha de la parte de mando.
Evoluciones simultáneas
• Si en un instante determinado existe un conjunto de varias transiciones que son
franqueables simultáneamente, son simultáneamente franqueadas.
Activación y desactivación simultánea
• Si en el curso del funcionamiento del automatismo, una etapa debe ser activada y
desactivada simultáneamente, sigue activa.
Duración del franqueo de una transición o de activación de una etapa.
• Se considera teóricamente tan pequeña como se quiera, pero no nula, aún en el caso de
que esta duración venga impuesta en la práctica por la tecnología utilizada en la
realización del automatismo.
• La duración de la activación de una etapa no puede ser considerada nula.
6. ESTRUCTURA
Se compone de una sucesión de etapas que son activadas una a continuación de la otra. A cada etapa le
sigue solamente una transición y cada transición es válida por unas sola etapa. El franqueo de una
transición activa la etapa siguiente y desactiva la anterior.
Cuando el franqueo de una transición conduce a la activación de varias secuencias al mismo tiempo, se dice
que son secuencias simultáneas. Después de la activación simultánea de estas secuencias, las evoluciones
de las etapas activas en cada una de las secuencias son independientes.
Debajo de la transición se
Debajo de la transición se
dibujan dos líneas paralelas
dibujan dos líneas paralelas
horizontales y debajo de las
horizontales y debajo de las
líneas la transición que la
etapas a activar
desactiva.
Nota: Para asegurar la desactivación de las secuencias simultáneas al mismo tiempo, se deben prever etapas
de espera recíprocas.
Activación simultánea
Desactivación simultánea
6.3 Selección de secuencia
Una selección, o una elección de evolución entre varias etapas o secuencias, se representan a partir de una
o varias etapas, mediante tantas transiciones validadas como evoluciones haya. Por ejemplo, el producto
puede ser de tipo A o tipo B. Si es de tipo A, se activa la etapa 2 y si es de tipo B, se activa la etapa 3.
Para obtener una selección exclusiva entre varias evoluciones posibles a partir de una misma etapa, es
necesario asegurar que todas las receptividades asociadas a las transiciones sean exclusivas, es decir, no
puedan ser verdaderas simultáneamente.
Esta exclusión puede ser:
Físicamente imposible, por ejemplo, un producto es de tipo A o es de tipo B, pero no ambos a la vez.
Dando prioridad a las receptividades.
El salto de etapas permite saltar una o varias etapas, por ejemplo, cuando las acciones a efectuar por esas
etapas lleguen a ser inútiles y no tengan ningún efecto.
Permite volver a comenzar la misma secuencia, mientras una condición establecida no sea cumplida.
Ejemplo de repetición de
secuencia.
Se desea trabajar con una
máquina dispensadora de café,
donde se empaquetará 5 bolsas
de café en una caja. Mientras no
se cumpla este hecho el proceso
se repetirá. Se une entonces la
Tran_004 al inicio del Step_002, y
seguirá ese ciclo hasta que se
cumpla una condición que lo
detenga.
6.7 Paralelismo interpretado
Se le llama paralelismo interpretado, cuando las receptividades asociadas a las transiciones validadas por
una o varias etapas no son exclusivas, entonces, pueden producirse evoluciones simultáneas que activan
varias etapas a la vez.
Se le llama así, puesto que, en vez de ser colocado en evidencia por la estructura del diagrama, como en el
caso del paralelismo estructural, estas evoluciones, simultáneas o no, son determinadas únicamente por
las receptividades asociadas a las transiciones.
Este modo de funcionamiento debe emplearse con cuidado, debido a la gran dificultad que tiene que
especificar correctamente los finales de secuencia, para que la carta de función secuencial o gafcet no siga
hasta no haber terminado de activarse las etapas correspondientes a las secuencias activadas en dicho
paralelismo.
El acceso a los recursos debe hacerse de forma exclusiva, de manera que no existan conflictos de tipo físico
y de tipo lógico. Ya que, en los procesos automatizados es frecuente encontrarse con que un recurso común,
debe ser utilizado por varios procesos o máquinas, como por ejemplo, un robot que debe atender varias
máquinas. Por consiguiente, sino se tiene el debido cuidado se puede entrar en conflictos físicos y conflictos
lógicos.
Una o varias etapas pueden permitir las sincronizaciones sucesivas de varias secuencias, esto lo hace
“memorizando” en el momento preciso las autorizaciones necesarias.
EJEMPLO N°1
SEMÁFORO PEATONAL
Se entiende que la luz verde o amarilla de una dirección implica la luz roja en la otra dirección. Presionar los
botones peatonales permite que se habilite el paso.
El lenguaje de programación que se utilizará para la resolución de este problema es: Carta de Función
Secuencial (SFC), el cual basa toda su lógica en “estados”. Para definir los estados, se deben cumplir ciertas
condiciones que lo hacen propio. Ejemplo, Se desea ejecutar un proceso “x”, se empieza por exponer los
pasos a seguir desde un punto de partida (inicio del proceso) hasta un punto final (final del proceso). Los
pasos, representan acciones que se realizan cuando se cumplen ciertas condiciones, las cuales están
estrechamente relacionadas con entradas y salidas.
Es necesario definir las entradas y salidas del sistema, que al variar, harán evolucionar los estados. Las
entradas por sí solas no son estados, pero un conjunto de ellas puede definir un estado. Las entradas se
usan para definir las transiciones. Las salidas se ejecutan al ser definidos los estados del sistema.
Salidas para
el Semáforo
Este/Oeste
Walk button
S1
Entradas Norte/Sur
(Inputs) Walk button
S2
Este/Oeste
Las entradas a menudo son parte de, o son todas, las transiciones. La transición de un estado a otro, es
equivalente a un cambio de acción.
PROGRAMACIÓN EN RSLOGIx 5000
1. Ejecutar el software RSLogix5000. Esperar que salga su pantalla de inicio, tal como se muestra a
continuación:
2. Minimizar la ventana de “Quick Start” haciendo clic en el botón “Start Page” en el margen izquierdo
3. Hacer un nuevo Archivo. Para ello, hacer clic al botón “File” de la barra de menú, en el margen
superior y hacer clic sobre “New”.
4. Se desplegará una ventana, la cual debe ser llenada con los datos correspondientes de la aplicación
a programar y del controlador a emplear. Adicional, en esta misma sección se nombra el proyecto,
si se desea, se puede agregar una breve descripción del proyecto. Dar clic en “OK” y el proyecto se
habrá guardado en la ubicación seleccionada.
5. Para obtener la pantalla donde se va a programar, se deben seguir los siguientes pasos:
Ir al Controller Organizer,
expandir la carpeta Task, y
seleccionar Main Program
En Main Program,
hacer clic derecho
sobre el mismo y
seleccionar New
Routine.
Aparecerá un entorno
llamado New Routine,
en donde se asigna el
nombre de la rutina y
el tipo de
programación:
Sequential Function
Chart. Clic en “OK”
para aplicar cambios.
Entorno
observado.
Se debe
visualizar
la siguiente
pantalla,
que consta
de una
etapa y una
transición
lista para
comenzar a
programar.
6. Cuando se finalice de editar la nueva rutina, procedemos a seleccionar el documento que creamos
en la carta de función secuencial y eliminar la configuración para programar en Ladder, siguiendo
los pasos que se detallan a continuación:
Dirigirse al Controller Organizer, la carpeta de
Task , expandir Main Task y luego, Main
Program
Controller
Task Main Task
Organizer
Clic derecho
Main
en Main Main Routine
Program
Routine
Clic en Delete
Una vez se halla dado clic en Delete,
aparecerá una pantalla para verificar si en
verdad se desea eliminar el Main Routine
(Ladder), entonces se debe dar clic en Sí.
Cabe destacar, que si el programador lo desea. Puede editar los tags antes de realizar el diagrama de la
carta de función secuencial, o puede agregarlos después de construir las diferentes etapas y transiciones.
No existe un orden específico, sin embargo se sugiere crear los tags antes de crear el diagrama.
Primero, cambiar de Monitor Tags a Edit Tags, para editar los
tags.
Cuarto, se debe asignar los tags a todas las entradas. Por ejemplo,
S1 es un tipo de dato Local (no es remoto), es de entrada (por eso
es "I"), el tipo de dato es boleano y estará en 0.
Quinto, una vez se han asignado todos los tags que se van a utilizar, se debe observar
una ventana como la presentada en el Edit Tags (recuadro en rojo); en el recuadro
verde, se muestra un resumen con las principales características de cualquier
elemento que se seleccione de la tabla, en este caso L3.
8. Una vez asignado los tags, nos dirigimos al nombre del proyecto SEMAFORO_PEATONAL, que se
encuentra en el Controller Organizer en la sección de Main Program y pulsamos sobre él doble clic.
Regresamos al entorno donde estaba la Etapa Inicial (Initial Step) y la primera transición.
Entonces, empezamos con el primer Step, que será la Etapa Inicial, lo reconocemos, porque estará
marcado en un doble recuadro, y le asignamos su nombre.
En el Step principal, seleccionamos la flecha que está indicando
hacia abajo, para elegir el tag con formato SFC_STEP que
necesitamos en nuestro programa, en este caso
Verde_Este_Oeste
Doble clic sobre el nombre Step, y escribimos como Una vez la primera transición este hecha,
deseamos que se llame el nuevo Step, como ya habiamos arrastramos un "step", que se verá como una
creado el tag, inmediatamente se reconocerá. Agregamos marca de agua y lo colocamos debajo de la
las condiciones que queremos que se cumplan para este transición
paso. (tal como lo ilustra la imagen)
Arrastramos del mismo menú donde tomamos la etapa, la transición, tal
como se ilustra y la colocamos debajo del Step "Amarillo_Este_Oeste".
Adicional unimos la Trans_001 con el Step Amarillo_Este_Oeste
DISPENSADORA DE CAFÉ
Planteamiento del Problema
En una fábrica de café se quiere automatizar el área de empaquetado, de acuerdo a los siguientes
requerimientos: La banda transportadora Q1 lleva las bolsas de café y las dejará caer sobre la banda
transportadora Q2. Existirá un sensor para las bolsas de café que se van depositando en la caja (sensor I1), la
cual puede llevar un máximo de 5 bolsas.
Cuando hayan caído 5 bolsas a la caja, se debe activar la banda transportadora Q2 para que pase la otra caja,
pero la banda transportadora Q1 que lleva el café, se debe detener hasta que llegue otra caja, cuya presencia
será confirmada por el sensor I2.
Además, los sensores I1 e I2 se encargarán de saber cuántas bolsas de café y cuántas cajas han pasado en todo
el proceso.
DESCRIPCIÓN DIRECCIÓN
Sensor de las bolsas I1
Sensor de cajas I2
Banda de bolsas de café Q1
Banda de cajas Q2
Botón de display de la Z1
cantidad
SALIDAS
• Banda de bolsas de café (Q1)
• Banda de cajas (Q2)
ENTRADAS
• Sensor de bolsas (I2)
• Sensor de cajas (I1)
PROGRAMACIÓN EN RSLOGIX 5000
1. Ejecutar el software RSLogix5000. Esperar que salga su pantalla de inicio, tal como se muestra a
continuación:
2. Minimizar la ventana de “Quick Start” haciendo clic en el botón “Start Page” en el margen izquierdo
3. Hacer un nuevo Archivo. Para ello, hacer clic al botón “File” de la barra de menú, en el margen
superior y marcar “New”.
4. Se desplegará una ventana, la cual debe ser llenada con los datos correspondientes de la aplicación
a programar y del controlador a emplear. Adicional, en esta misma sección se nombra el proyecto,
si se desea, se puede agregar una breve descripción del proyecto. Dar clic en “OK” y el proyecto se
habrá guardado en la ubicación seleccionada.
Nombre del
controlador
Versión a utilizar
Nombre del
Proyecto
Breve descripción
del proyecto
5. Para obtener la pantalla donde se va a programar, se deben seguir los siguientes pasos:
Ir al Controller Organizer,
expandir la carpeta Task, y
seleccionar Main Program
6. Una vez finalizada la creación de la nueva rutina, procedemos a seleccionar el documento que
creamos en la carta de función secuencial y eliminar la configuración para programar en Ladder,
siguiendo los pasos que se detallan a continuación:
Hecho lo anterior,
regresamos al Controller
Organizer, donde buscaremos
Main Routine, pulsaremos clic
derecho sobre él, y marcamos
Delete, para eliminar la
rutina en Ladder que no
estaremos utilizando.
Se consultará si está seguro
de eliminar la rutina, marcar
en la casilla que dice Sí.
Área de trabajo, lista
para empezar a
programar. Por default
aparece el Step
Principal, marcado con
doble recuadro y la
primera transición
7. Al igual que el ejemplo #1, se editan los tags que se utilizarán, esto se hace en la sección Program
Tags, en la imagen se muestra las variables involucradas. Cabe destacar, que los demás Steps y
Transiciones se irán agregando a medida que se vaya construyendo en el diagrama.
9. Arrastramos una etapa y una transición, que serán conectadas después de Tran_000. Nótese, que el
Step y la transición se aprecian como una marca de agua, porque aún no se han soltado sobre el área
de trabajo.
10. Cuando el Step_001 se haya conectado a la Tran_000, se procede a crear la acción que debe
ejecutarse en ese paso. Se pulsa entonces clic derecho sobre el Step_001 y marcamos Add Action,
que en la imagen izquierda se muestra sombreado en celeste. Cuando el nuevo recuadro de la acción
aparezca, presionamos sobre él doble clic y empezamos a escribir los estados deseados en ese paso.
11. Designamos entonces la entrada que hará nuevamente el cambio de estado de las bandas
transportadoras. I2 es el sensor que detecta las cajas donde caerán las bolsas de café, cuando dicho
sensor detecte la presencia de cajas, la banda Q2 dejará de moverse y la banda Q1 iniciará su
movimiento, para ir depositando en la caja que está esperando en la banda Q2 las bolsas de café.
13. Es necesario dividir la secuencia en dos caminos, dependiendo de lo que esté sucediendo. Utilizamos
una variable x para definir si han pasado o no las 5 bolsas de café. De esta manera, el programa
regresa y evalúa tantas veces se requiera para que el proceso sea completado.
14. Finalmente el programa que realiza la automatización del empaquetado de las bolsas de café se verá
de la siguiente forma: