GRAfico Funcional de Control de Etapas y Transiciones
Los diagramas de Karnaugh, a pesar de ser un procedimiento general de resolución, se vuelven demasiado grandes a medida que crece el número de variables y los esquemas finales son igualmente difíciles de interpretar a partir de unas pocas memorias.
No importa la tecnología: Los esquemas de contactos o de bloques o algoritmos de programación, se vuelven enrevesados a partir de un grado de complejidad relativamente bajo. Intentar deducir la causa de averías a partir de estos tipos de información es un lujo demasiado caro que no se pueden permitir las empresas.
Para resolver automatismos, encontrar averías, o simplemente aprender el uso correcto de sistemas automáticos, se necesita conocer con cierto detalle las secuencias que podrán ejecutarse. Al respecto, los esquemas de contactos y de bloques reflejan cómo están realizados pero no cómo se desarrollan los ciclos. Los diagramas de flujo son mucho más aclarativos y útiles en programación, pero no permiten representar secuencias simultáneas (procesos paralelos). Por último, nuestro lenguaje corriente resulta muy pobre para expresar todos los condicionantes posibles, basta recordar que el número de combinaciones es una función exponencial del número de variables. Si algún caso posible no se tiene en cuenta en la resolución, la respuesta que tendrá el sistema es una cuestión de azar si ese caso llega a presentarse, incluso combinaciones poco probables son posibles por causa de averías o una manipulación impropia.
UNA RESPUESTA A LOS PROBLEMAS:
El Grafcet, que supone una recopilación de la experiencia adquirida con otros medios descriptivos, permite representar gráficamente las especificaciones funcionales, que son totalmente independientes de la realización tecnológica, pudiendo ésta ser cableada o programada. Se basa en los conceptos de etapa y transición, que simplifican en gran medida la síntesis de los automatismos secuenciales.
Surge en Francia a mediados de los años 70, debido a la colaboración entre algunos fabricantes de autómatas como Telemecánique y Aper, con dos organismos oficiales: AFCET (Asociación Francesa para la Cibernética, Economía y Técnica) y ADEPA (Agencia Nacional para el Desarrollo de la Producción Automatizada). Homologado en Francia (NFC), Alemania (DIN) y posteriormente por la Comisión Electrotécnica Internacional (norma IEC 848, año 1988). Actualmente es una herramienta imprescindible cuando se trata de automatizar procesos complejos con autómatas programables. El campo de aplicación abarca a todos los sistemas lógicos de mando en automatismos industriales, sea cual sea su complejidad o tecnología empleada.
Una cadena programable:
El siguiente programa contiene una cadena secuencial que le permitirá resolver fácilmente el problema propuesto en la zona derecha. La solución precisa un mínimo de tres memorias, pero la aplicación de una cadena secuencial facilita notablemente su resolución, a la vez que refleja con claridad el funcionamiento. Solo se ha previsto espacio para 6 etapas, por lo que puede esperarse que no serán necesarias más de 6 para resolver el problema. Aunque al principio no son visibles, pulsando junto a las etapas puede activar campos en los que introducir datos. Intente resolver el problema y si tiene dificultades pulse el botón azul.
REGLAS DE UNA CADENA SECUENCIAL:
Como cabe esperar, una cadena secuencial debe poderse programar o resolver con esquemas cableados. Actualmente los fabricantes de autómatas programables están dotando los nuevos modelos con programación gráfica mediante Grafcet, lo que en esencia es una simple aplicación de cadenas secuenciales con determinadas prestaciones añadidas. Si no tenemos la posibilidad de programar en Grafcet, podemos crear nosotros mismos las cadenas secuenciales que hagan exactamente la misma función.
1.- Cada etapa es un elemento de memoria con su correspondiente condición de conexión y condición de desconexión. Por lo tanto, no será el sistema idoneo cuando sea importante simplificar las funciones lógicas, pero esto tendrá muy poca importancia en programación, puesto que cada memoria solo ocupa un bit. En esquemas cableados, el exceso de componentes (su coste) se compensa fácilmente con otras prestaciones: Se comprende mejor el funcionamiento y, sobre todo, se localizan averías con facilidad, como pronto se indicará con más detalle.
2.- La conexión de cada etapa se hace cuando se encuentra activa la etapa anterior y se cumple la transición que sigue a dicha etapa. La desconexión de cada etapa se hace cuando se activa la etapa siguiente.
3.- Puesto que sin alimentación, todas las memorias estarán desconectadas, hace falta una condición adicional que permita activar, solo la primera vez, a la etapa de inicio (se marca con doble recuadro) y opcionalmente, que desconecte al resto de las etapas (en este caso funcionará como un reset que lleva a la cadena a su estado inicial, independientemente de la etapa que estuviera activa en el momento de ejecutar el reset). Resetear la cadena no significa que el automatismo controlado volverá a su estado de inicio, son cosas distintas que no debemos confundir.
La siguiente figura es la traducción directa de estas reglas, aplicado al problema de lámparas que se ha resuelto anteriormente (si no tiene la solución presente, pulse el botón azul). Cada etapa se ha representado como una memoria X seguida del número de etapa, indicando la condición de conexión con un 1 entre paréntesis y la condición de desconexión con un 0 entre paréntesis. La condición de reset se ha hecho con un pulsador R y las acciones asignadas a las etapas (las lámparas) se han colocado a la derecha. Cada una de las acciones es simplemente igual a la suma lógica de las etapas en las que aparece activada.
Los condensadores que se han puesto junto con las bobinas de los relés aseguran que la secuencia funcione correctamente sin depender de las características de los relés. Supongamos los relés X2 y X3: Cuando la bobina X3 recibe alimentación, sus contactos cerrados cortan la señal rápidamente pero sus contactos abiertos tardan un poco más en cerrarse. Puesto que un contacto cerrado de X3 desconecta el relé X2, es posible que X3 pierda su alimentación antes de ser capaz de realimentarse a sí mismo, ya que el X2 abierto que conecta X3 también se desconecta con rapidez. Es una cuestión de la inercia de los relés en sus cambios de estado, que no causará problemas si unos condensadores mantienen un instante la alimentación de las bobinas recien conectadas.
Al esquema representado se puede añadir una lámpara o diodo led con cada relé. De esta forma, al detenerse la secuencia por una avería, el piloto que quede encendido nos dirá en qué etapa se ha quedado parado. Bastará consultar el Grafcet o cadena secuencial para saber las acciones en ejecución y las variables que deberían activarse para pasar a la siguiente etapa. Es posible que una de esas acciones se haya bloqueado o que alguno de los captadores no funcione, pero en todo caso el abanico de posibilidades se habrá reducido considerablemente. Esto es una gran ventaja que suele compensar con creces el mayor coste del esquema de control, además, si este coste se compara con el de la parte operativa, resulta que será casi siempre una mínima parte y porcentualmente será despreciable.
POSIBILIDADES DE UN GRAFCET.
Un programador tiene que tratar directamente con señales que llegan y salen del dispositivo programable, al técnico de mantenimiento le interesan los accionadores y captadores, al encargado que plantea una modificación en el proceso le interesa tratar el problema en lenguaje más coloquial, pero exacto, sin ambigüedades. El Grafcet satisface todas estas exigencias, es decir, se puede dibujar uno para cada caso de forma que sea comprensible para la persona que lo interpreta.
Pongámonos en el caso de un técnico de mantenimiento: Ante una avería nueva (las conocidas se detectan por experiencia), el primer paso sería buscar en el programa en qué etapa se ha quedado parada la máquina (suelen funcionar simulando el estado de variables y acciones, y en el caso de Grafcet se simula directamente el estado de las etapas). La programación suele admitir nombres simbólicos que facilitan con qué captadores y accionadores van asociadas las variables de programación, por lo tanto, será sencillo detectar qué captadores y accionadores pueden haber tenido influencia en la avería, incluso las referencias para buscar los repuestos en almacén pueden haberse previsto en el Grafcet. Por lo tanto, a menos que se trate de problemas mecánicos, la reparación suele consistir en unas pocas consultas y sustitución de un componente.
Aunque son innumerables las formas de combinar las posibilidades de un grafcet, el siguiente cuadro resume las que se utilizan con más frecuencia. Las acciones de las etapas y las variables de las transiciones son ficticias, puesto que no se ha pretendido resolver ningún problema concreto.
Como se puede ver en el cuadro, en las transiciones puede intervenir más de una variable. En general será una función lógica que tiene en cuenta solamente las variables que se necesitan para avanzar etapa, no importando el estado del resto de variables. Además de las variables del proceso, en las transiciones puede intervenir el estado de otras etapas del esquema o de esquemas independientes, de modo que varias cadenas secuenciales podrán estar relacionadas por la consulta del estado de etapas.
Las acciones de las etapas no tienen porqué corresponder necesariamente con el control de accionadores, también pueden representar acciones propias de programación, como conexión y desconexión de memorias, lanzamiento de temporizadores, control de contadores, ejecución de partes del programa que se encargan de tareas especiales como puede ser modificaciones de parámetros en procesos de regulación, selección de subrutinas, etc.
Fíjese especialmente en las posibilidades de salto como repeticiones o selección de secuencia, así como las ejecuciones de secuencias simultáneas. En este último caso, cada secuencia avanza independiente, pero es obligada a esperar cuando se encuentra el cierre con doble trazo, aunque se cumpla la transición siguiente. Dicha transición solo es tenida en cuenta cuando todas las secuencias simultáneas han finalizado.
En las etapas pueden ponerse varias acciones, bien en fila o formando una lista, pero el orden en que se coloquen no implica un orden de ejecución sino que todas se ejecutan a la vez. Sin embargo, algunas acciones pueden tener condiciones adicionales de ejecución, vease acción H de etapa 10, cuya activación exige que esté activa la etapa 10 y a la vez, que se cumpla la condición "u" que tiene asociada. Entre otras cosas, esto permite establecer turnos de ejecución, obligando a que determinadas acciones se vayan activando solo cuando hayan terminado otras.
La norma establece una serie de principios para representar un Grafcet, entre los que cabe destacar los siguientes: Las líneas descendentes no llevarán flecha y serán horizontales o verticales, a menos que de otra forma se aporte claridad al esquema. Se admiten los cruces, pero deben evitarse porque se pueden confundir con uniones de lineas. La figura muestra algunos ejemplos a evitar:
CASOS DE APLICACIÓN FRECUENTE.
Si determinados subprocesos tienen que repetirse con frecuencia, no es aconsejable repetir muchas veces la parte de la secuencia que ejecuta el subproceso. En su lugar, se puede dedicar una secuencia solamente para el subproceso y llamarla desde distintas etapas de la secuencia principal. En el primer recuadro de la siguiente figura se muestra un ejemplo que ejecutaría un subprograma cada vez que pasa por las etapas 5 y 12. El subprograma, parado en su etapa de inicio, consulta con la primera transición si está activa alguna de las etapas que lo debe arrancar y cuando se cumple comienza su ejecución. La indicación en las etapas 5 y 12 solo es una nota informativa. Otra forma de ejecutar un subproceso es forzar directamente su cadena secuencial, de forma similar a la ejecución de un reset (en este caso el forzado dependería de una variable que se podrá activar como una acción en cualquier etapa). En el segundo recuadro se muestran dos formas de mantener activa alguna ejecución (acción B) a lo largo de varias etapas: En el primer caso se pone la acción en todas las etapas que deba estar conectada, en el segundo caso se conecta con memoria (B = 1) en una etapa y ya no se pone más hasta llegar a la etapa en que deberá desconectarse (B = 0). Para hacer esto se necesita una memoria adicional y asignar su estado directamente a la acción a mantener.
Con frecuencia los automatismos se configuran con diversos modos de marcha. En el primer recuadro de la siguiente figura se trata el caso en que se requiere una intervención del operador para ejecutar cada uno de los ciclos: Se obliga a que la condición de comienzo (CC) se haya desconectado para poder volver a la primera etapa (un mantenimiento accidental o provocado de esta condición hace imposible la repetición). Cuando se necesita una marcha automática en ciclo continuo y el mando de paro (P en segundo recuadro) tiene que permitir la finalización del ciclo antes de ejecutarse la detención, la estructura utilizada con más frecuencia incluye un segundo grafcet que memoriza las informaciones de comienzo de ciclo y de parada (en el caso de que dichas informaciones tengan carácter de impulso). Otra posible representación para el caso anterior es la que utiliza informaciones permanentes (tercer recuadro), por ejemplo las que provienen de un conmutador. En el ejemplo, el ciclo comienza al accionar CC y se repite si el conmutador está en “auto” pero pasa de nuevo a la etapa 1 si se encuentra en modo “ciclo a ciclo”, con lo que exige accionar de nuevo CC. La parada se consigue poniendo el conmutador en la posición “ciclo a ciclo”.
Las marchas de intervención o de mantenimiento, de las que son más conocidas las marchas manuales, exigen de quién las utiliza un conocimiento muy preciso de la máquina y sus posibilidades. Generalmente son ejecutadas por el encargado de la puesta a punto o de mantenimiento. Por definición, en los funcionamientos manuales, la ejecución de una acción está relacionada directamente con una orden manual; la ejecución de esta orden está sujeta generalmente a unos determinados grados de seguridad, que se clasifican en dos niveles:
- Seguridades de primer nivel, que deben teener en cuenta las circunstancias de la máquina y los modos de
marcha. La no observación de estas seguridades puede provocar una catástrofe a nivel del sistema.
- Seguridades de segundo nivel, que generallmente tienen por objeto asegurar la protección de los órganos de
la máquina y también evitar acciones simultáneas incompatibles, como el caso, por ejemplo, de los
enclavamientos.
Cuando el funcionamiento se realiza secuencia por secuencia o etapa por etapa, la evolución del ciclo está fraccionada. En el primer recuadro de la siguiente figura, el paso de una etapa a la siguiente se realiza por orden del operador (activando e, f, etc). Este modo de funcionamiento es particularmente útil después de la localización de una avería o cuando hay que efectuar un ajuste. Una variante perfeccionada consiste en provocar la parada del ciclo en una etapa predeterminada; una vez que se ha producido esa parada, el operador tendrá la posibilidad de continuar etapa por etapa, o de continuar el ciclo, que se parará otra vez en esa etapa determinada previamente.
En el segundo recuadro de la figura anterior se encuentra una seguridad bimanual: Cuando se acciona uno cualquiera de los pulsadores (P1 o P2) se lanza una temporización de 0,2 segundos. La orden de mando solo se ejecuta si están pulsados los dos pulsadores antes de dicho tiempo, en caso contrario queda anulada la operación. Este tipo de seguridad es característico en prensas, cizallas y otras máquinas en las que interesa ejecutar la operación solo si se tiene la garantía de que las manos están en posición de seguridad, es decir, sobre los respectivos botones de mando. En el tercer recuadro de la figura anterior tenemos un Grafcet dedicado exclusivamente al tratamiento de averías: La secuencia principal debe estar diseñada de forma que las órdenes solo puedan ejecutarse si la secuencia de averías se encuentra en la etapa 10, en caso contrario, esta secuencia tendrá el control, procediendo de la forma que más segura resulte en el proceso controlado.