apuntes de automatismos
Short Description
Download apuntes de automatismos...
Description
Sistemas de control secuencial ____________________________________________________________________________________
AUTOMATISMOS
TEMA 1 : INTRODUCCIÓN A LOS AUTOMATISMOS 1
INTRODUCCIÓN 1.1 Definición de automatización 1.2 Introducción
2
EL PROCESO TÉCNICO 2.1 Procesos continuos 2.2 Procesos discretos 2.3 Procesos discontinuos o por lotes
3
FORMAS DE REALIZAR EL CONTROL SOBRE UN PROCESO 3.1 Control en lazo abierto ( bucle abierto ) 3.2 Control en lazo cerrado ( bucle cerrado )
4
OPCIONES TECNOLÓGICAS 4.1 Lógica cableada 4.2 Lógica programada 4.3 Organigramas para desarrollar el control de un proceso 4.4 Fases de estudio en la elaboración de un automatismo
5
ANÁLISIS DE LOS AUTOMATISMOS 5.1 Lógica combinacional 5.2 Lógica secuencial
TEMA 2 : REPRESENTACIÓN DE LOS AUTOMATISMOS 1
LÓGICA DE CONTACTOS 1.1 Elementos de entrada 1.2 Elementos de salida 1.3 Asociación de elementos 1.3.1 Función lógica O 1.3.2 Función lógica Y 1.3.3 Función O lógica de funciones Y 1.3.4 Función Y lógica de funciones O
2
LÓGICA DE FUNCIONES 2.1 Función "O" u "OR" ( Suma lógica ) 2.2 Función "Y" O "AND" ( Producto lógico ) 2.3 Función NOT ( Negación, inversión o complemento ) 2.4 Función NOR ( NO-O ) 2.5 Función NAND ( NO - Y ) 2.6 Función OR - Exclusiva ( XOR ) 2.7 Función NOR - Exclusiva ( XNOR ) 2.8 Función IGUALDAD
____________________________________________________________________________________ Índice pág. 1
Sistemas de control secuencial ____________________________________________________________________________________ 3
LÓGICA NEUMÁTICA 3.1 Función "O" u "OR" ( Válvula selectora de circuito ) 3.2 Función "Y" O "AND" ( Válvula de simultaneidad ) 3.3 Función NO ( Negación, inversión o complemento ) 3.4 Función NOR ( NO-O ) 3.5 Función NAND ( NO - Y ) 3.6 Función OR - Exclusiva ( XOR ) 3.7 Función NOR - Exclusiva ( XNOR ) 3.8 Función IGUALDAD
4
IMPLEMENTACIÓN DE FUNCIONES 4.1 Implementación de funciones lógicas con contactos 4.2 Implementación de funciones con puertas lógicas 4.2.1 Implementación de funciones con puertas NAND 4.2.2 Implementación de funciones con puertas NOR 4.3 Implementación de funciones con elementos neumáticos
TEMA 3 : ÁLGEBRA DE BOOLE 1
AXIOMAS DEL ÁLGEBRA DE BOOLE 1.1 Postulados y teoremas
2
TEOREMA DE DE MORGAN
3
FORMAS DE UNA FUNCIÓN BOOLEANA
4
CONVERSIÓN ENTRE FORMAS
5
SIMPLIFICACIÓN DE FUNCIONES 5.1 Método algebraico 5.2 Métodos tabulares de simplificación 5.2.1 Tablas de Karnaugh Simplificación de ecuaciones en tablas de Karnaugh Estados indiferentes Azares o " Aleas tecnológicas " 5.2.2 Tablas de Quine-McCluskey
TEMA 4 : GRAFCET 1
INTRODUCCIÓN
2
EL GRAFCET 2.1 Principios básicos
3
DEFINICIÓN DE CONCEPTOS Y ELEMENTOS GRÁFICOS ASOCIADOS 3.1 Etapa 3.2 Acción asociada Reales, Virtuales Incondicionales Condicionales 3.3 Transición y receptividad 3.4 Arco 3.5 Trazos paralelos
____________________________________________________________________________________ Índice pág. 2
Sistemas de control secuencial ____________________________________________________________________________________ 4
CONDICIONES EVOLUTIVAS
5
ESTRUCTURAS EN EL GRAFCET 5.1 Estructuras básicas Secuencia única Secuencias paralelas 5.2 Estructuras Lógicas
5.3
Divergencia en OR Convergencia en OR Posibilidades de utilización de estas estructuras Divergencia en AND Convergencia en AND Saltos condicionales. Retención de secuencia Repetición de secuencias. Concepto de macroetapa Situaciones Especiales 5.3.1 Evoluciones simultáneas 5.3.2 Acciones y receptividades temporizadas 5.3.3 Transiciones temporizadas 5.3.4 Acción mantenida
6
IMPLEMENTACIÓN DE UN AUTOMATISMO A TRAVÉS DEL GRAFCET 6.1 Módulo secuenciador de etapa 6.2 Obtención de las funciones lógicas a partir del diagrama GRAFCET 6.2.1 Ecuación de activación / desactivación 6.2.2 Ecuaciones de activación de operaciones de mando 6.3 Funciones lógicas de activación / desactivación y estructuras lógicas 6.3.1 Divergencia en OR 6.3.2 Convergencia en OR 6.3.3 Divergencia en AND 6.3.4 Convergencia en AND
7
CICLOS DE EJECUCIÓN : TIPOS 7.1 Marcha ciclo a ciclo 7.2 Marcha automática / Parada de ciclo 7.3 Marcha automática / Marcha ciclo a ciclo 7.4 Marcha de verificación en el orden del ciclo
8
TRATAMIENTO DE ALARMAS Y EMERGENCIAS 8.1 Sin secuencia de emergencia 8.2 Con secuencia de emergencia
TEMA 5 : TEORÍA BINODAL 1
INTRODUCCIÓN
2
CONCEPTOS BINODALES BÁSICOS 2.1 Definición general de binodo. Variables de acción 2.2 Binodo " mono " o " monodo ". Gráfico representativo 2.2.1 Obtención de la ecuación lógica del binodo mono 2.3 Binodo " bi ". Grafo de secuencia representativo 2.4 Teoremas del binodo " bi " 1º Teorema ( prioridad de la v.d.a. negadora ) 2º Teorema ( prioridad de la v.d.a. creadora ) 2.5 Multinodo. Grafo de secuencia 2.6 Condicionantes parciales y generales
____________________________________________________________________________________ Índice pág. 3
Sistemas de control secuencial ____________________________________________________________________________________ 3
DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES 3.1 Variables de acción ( v.d.a ) 3.2 Estados de acción 3.2.1 Estados de acción idénticos 3.2.1.1 Estados de acción idénticos compatibles 3.2.1.2 Estados de acción idénticos incompatibles 3.2.3 Estados de acción no idénticos e incompatibles
4
DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE NO PRESENTAN ESTADOS IDÉNTICOS INCOMPATIBLES
5
DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE ESTADOS IDÉNTICOS INCOMPATIBLES 5.1 Automatismos con variable auxiliar 5.2 Variables auxiliares 5.3 Variables directivas 5.3 Discriminación de estados de acción incompatibles 5.4 Dominio de una variable 5.5 Dominio de una situación binodal 5.6 Estados inoperantes o transitorios 5.7 Estados inoperantes o transitorios
6
DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES GOBERNADOS POR LOS CAMBIOS DE NIVEL ( FLANCOS ) EN SUS ENTRADAS a) Solución mediante variable P diferenciada b) Solución actuando P por flanco explícito b) Solución actuando P por flanco implícito
7
DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES CON TEMPORIZADOR 7.1 Introducción 7.2 Tipos de temporización 7.2.1.- Temporización en la activación Ata 7.2.2.- Temporización en la desactivación Atd 7.2.3.- Temporización en la activación y en la desactivación Atad A.- Inversión a la salida B.- Inversión a la entrada 7.3 Detección de monodos con apariencia de binodos
8
AUTOMATISMOS CON BINODOS DE APOYO
PRESENTAN
TEMA 6 : AUTÓMATA PROGRAMABLE FESTO FPC 404 1
OPERANDOS DE LOS FPC DE FESTO 1.1 1.2 1.3
Operandos monobit y multibit 1.1.1 Operandos Monobit 1.1.2 Operandos Multibit Operandos locales y globales 1.2.1 Operandos Globales 1.2.2 Operandos Locales Operadores
____________________________________________________________________________________ Índice pág. 4
Sistemas de control secuencial ____________________________________________________________________________________ 2
ESTRUCTURA DE PROGRAMACIÓN AWL 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9
Jerarquía de los elementos awl Instrucción step ( paso ) Frases 2.3.1 Frases típicas Instrucción step Reglas de ejecución Influencia en el flujo del programa Instrucción nop Instrucción jmp Instrucción othrw
3
RESUMEN DE INSTRUCCIONES AWL
4
REFERENCIA DE LAS INSTRUCCIONES AWL AND BID CFM CMP CPL DEB DEC EXOR INC INV JMP TO LOAD...TO NOP OR PSE RESET ROL ROR SET SHIFT SHL SHR SWAP
5
TEMPORIZADORES 5.1 El temporizador 5.2 Funcionamiento de un temporizador 5.3 Utilización de un temporizador 5.3.1 Inicialización de un preselector de temporizador Ejemplo: Inicialización de un Preselector de Temporizador con una base de tiempo Ejemplo : Inicialización de un Preselector de Temporizador sin una base de tiempo 5.3.2 Activación de un temporizador 5.3.3 Interrogación del estado de un temporizador 5.3.4 Paro de un temporizador 5.4 Ejemplos 5.4.1 Retardo de la conexión 5.4.2 Retardo de la desconexión 5.4.3 Impulso de temporización 5.4.4 Impulso de desconexión
____________________________________________________________________________________ Índice pág. 5
Sistemas de control secuencial ____________________________________________________________________________________
5.5
6
5.4.5 Impulso secuencial 5.4.6 Luz intermitente 5.4.7 Eliminación de rearranques no deseados utilizando la estructura step de awl 5.4.8 Eliminación de continuos rearranques de temporizadores en procesos paralelos Programas de enlaces lógicos para la ejecución de funciones de temporizadores 5.5.1 Ejemplo : retardo de conexión 5.5.2 Ejemplo relacionado a la función de temporizador
CONTADORES 6.1 Generalidades 6.1.1 Contadores de hardware 6.1.2 Contadores rápidos 6.1.3 Indicación del estado efectivo del contador 6.1.4 Método multiplexor 6.1.5 Programa para visualizar el estado del contador 6.2 6.3
6.4
6.5
Funciones de los contadores 6.2.1 Aplicación 6.2.2 Programación de una función de contador Utilización de contadores 6.3.1 Contadores estándar 6.3.2 Utilización de Contadores estándar 6.3.3 Inicialización de un Preselector de Contador Ejemplo: Inicialización de un Preselector de Contador con un valor absoluto Ejemplo : Inicialización de un Preselector de Contador con un MBO 6.3.4 Activación de un Contador 6.3.5 Interrogación del estado de un Contador 6.3.6 Conteo de eventos 6.3.7 Parada de un Contador Ejemplos 6.4.1 Contadores estándar 6.4.2 Contadores ASCENDENTES / DESCENDENTES Ejemplo : Utilización de un Registro como contador Programas de enlaces lógicos para la ejecución de funciones de contadores y temporizadores 6.5.1 Ejemplo relacionado a la función de contador
7
UTILIZACIÓN DE REGISTROS 7.1 EJEMPLOS Utilización de Registros en la parte condicional de una frase Utilización de Registros en la parte ejecutiva de una frase
8
FLAGs Y FLAG WORD 8.1 Similitudes con otros operandos multibit 8.2 Diferencias otros operandos multibit 8.3 Ejemplos 8.3.1 Ejemplos en la parte Condicional 8.3.2 Ejemplos en la parte Ejecutiva 8.3.3 Registros de desplazamiento
____________________________________________________________________________________ Índice pág. 6
Sistemas de control secuencial ____________________________________________________________________________________ 9
ACCESO A LAS ENTRADAS Y SALIDAS 9.1 Organización de las e/s ( i/o ) 9.2 Palabras de e/s ( i/o words ) 9.3 Entradas discretas de i/o 9.4 Uso de entradas en programas 9.4.1 Entradas discretas 9.4.2 Palabras de entrada ( Input Words ) 9.5 Uso de salidas en programas 9.5.1 Salidas discretas 9.5.2 Palabras de Salida ( Output Words )
10
DETECCIÓN DE FLANCOS 10.1 Flancos 10.1.1 Flancos positivos y negativos 10.2 Recordador de flancos 10.3 Programación de la evaluación de flancos positivos y negativos
11
MULTITAREA 11.1 Funcionamiento automático y manual 11.2 Funciones 11.3 Realización con orden de salto ( recuperación de subprogramas ) 11.3.1 Órdenes de salto / Órdenes de salto hacia atrás 11.4 11.5
12
11.3.2 Orden de salto con retorno automático ( recuperación de subprograma ) Realización con la técnica de procesadores Procesadores y programas Activación de un programa Cancelación de un programa Activación de un procesador Cancelación de un procesador
PROGRAMAS DE EJEMPLO Ejemplo 1. Completamente secuencial Ejemplo 2. Principalmente secuencial con algunas acciones aleatorias Ejemplo 3. Acciones completamente aleatorias Ejemplo 4. Secuencias múltiples y acciones aleatorias Máquina Transfer rotativa multi-estación
____________________________________________________________________________________ Índice pág. 7
Sistemas de control secuencial ____________________________________________________________________________________
TEMA 1 : INTRODUCCIÓN A LOS AUTOMATISMOS
____________________________________________________________________________________ Introducción a los automatismos pág. 1
Sistemas de control secuencial ____________________________________________________________________________________
Firma no verificada
JMGO
Firmado digitalmente por JMGO Nombre de reconocimiento (DN): cn=JMGO, o=EDUCACION, ou=ELECTRICIDAD/EL ECTRONICA, c=ES Fecha: 2003.11.11 12:00:21 +01'00'
____________________________________________________________________________________ Introducción a los automatismos pág. 2
Sistemas de control secuencial ____________________________________________________________________________________
1
INTRODUCCIÓN
1.1
Definición de automatización
La Real Academia de Ciencias Exactas Físicas y Naturales define la Automática como el estudio de los métodos y procedimientos cuya finalidad es la sustitución del operador humano por un operador artificial en la generación de una tarea física o mental previamente programada. Partiendo de esta definición y ciñéndonos al ámbito industrial, puede definirse la Automatización como " El estudio y aplicación de la Automática al control de los procesos industriales " 1.2
Introducción
La automatización de un proceso industrial ( máquina, conjunto o equipo industrial ) consiste en la incorporación al mismo, de un conjunto de elementos y dispositivos tecnológicos que aseguren su control y buen comportamiento. Dicho automatismo, en general, ha de ser capaz de reaccionar frente alas situaciones previstas de antemano, y por el contrario, frente a imponderables, tener como objetivo situar al proceso y a los recursos humanos que lo asisten en una situación más favorable. Históricamente, los objetivos de la automatización han sido el procurar la reducción de costes de fabricación, la calidad constante en los medios de producción, y liberar al ser humano de las tareas tediosas, peligrosas o insalubres. Sin embargo, desde los años 60, debido a la alta competitividad empresarial y a la internacionalización creciente de los mercados, estos objetivos han sido ampliamente incrementados. Téngase en cuenta que como resultado de dicha competencia, cualquier empresa actualmente se ve sometida a grandes y rápidos procesos de cambio en búsqueda de su adecuación a las demandas del mercado, neutralización de los avances de su competencia, o, simplemente como maniobra de cambio de estrategia al verse acortado el ciclo de vida de alguno de sus productos. Esto obliga a mantener medios de producción adecuados que posean una gran flexibilidad y puedan modificar oportunamente la estrategia de producción. La aparición de la microelectrónica y el computador, ha tenido como consecuencia el que sea posible lograr mayores niveles de integración entre el Sistema Productivo y los centros de decisión y política empresarial, permitiendo que la producción pueda ser contemplada como un flujo de material a través del Sistema Productivo y que interacciona con todas las áreas de la empresa.
____________________________________________________________________________________ Introducción a los automatismos pág. 3
Sistemas de control secuencial ____________________________________________________________________________________
Este concepto es la base de la Automatización Integrada - CIM- ( Computer Integrated Manufacturing ), que tiene como objetivos : *
Reducir los niveles de stock y aumentar su rotación Disminuir los costes directos Control de los niveles de stock en tiempo real Reducir los costes de material Aumentar la disponibilidad de las máquinas mediante la reducción de los tiempos de preparación y puesta a punto * Incrementar la productividad * Mejorar el control de calidad * Permitir la rápida introducción de nuevos productos * Mejorar el nivel de servicio * * * *
En este contexto, lo que se pretende, es que las denominadas islas de automatización, tales como PLC's, máquinas de control numérico, robots etc. se integren en un sistema de control jerarquizado que permita la conversión de decisiones de política empresarial en operaciones de control de bajo nivel.
2
EL PROCESO TÉCNICO
Según la norma DIN 66201, un proceso es un procedimiento para la conversión y/o transporte de material, energía y/o informaciones.
Conversión Transporte Material Energía Información
Material Proceso
Energía Información
____________________________________________________________________________________ Introducción a los automatismos pág. 4
Sistemas de control secuencial ____________________________________________________________________________________
El punto principal de la automatización se encuentra en el sector de la producción. De acuerdo con su funcionamiento puede distinguirse, de forma general, entre cuatro clases de procesos : * * * *
Procesos de transformación Procesos de fabricación Procesos de distribución Procesos de medición y de verificación
En los procesos de transformación se producen materiales o energía partiendo de materias primas; tienen lugar transformaciones físicas o químicas. Los campos de aplicación son la industria química ( p.ej. producción de fibras sintéticas ), la industria siderúrgica ( p.ej. producción de acero ), fábricas de cemento, centrales eléctricas etc. En los procesos de fabricación se modifica la forma del material por medio de elaboración mecánica. Destacan en este sector las máquinas-herramienta de control numérico, máquinas transfer y máquinas especiales en la construcción de maquinaria, vehículos y máquinas para trabajar la madera. En los procesos de distribución, el material, la energía o las informaciones, se distribuyen con respecto al espacio o al tiempo. Por ejemplo, existen sistemas de almacenamiento que clasifican, agrupan y entregan el material almacenado de forma totalmente automática. En redes de energía y en centrales telefónicas automáticas se controlan distribuidores de energía. En los procesos de medición y de verificación se analizan las propiedades mecánicas, físicas y químicas de los objetos. Estos procesos son típicos en los bancos de pruebas ( p.ej. bancos de pruebas de motores ), en la técnica de los análisis y en ensayos de comprobación para la aviación y la navegación espacial ( p.ej. simuladores de vuelo ). Un aspecto muy interesante, es clasificar los procesos industriales, en función de su evolución con el tiempo. Se pueden clasificar en : * * *
Continuos Discontinuos o por lotes Discretos
Tradicionalmente, el concepto de automatización industrial se ha ligado al estudio y aplicación de los sistemas de control empleados en los procesos discontinuos y los procesos discretos, dejando los procesos continuos a disciplinas tales como : regulación o servomecanismos
2.1
Procesos continuos
Un proceso continuo se caracteriza porque las materias primas están constantemente entrando por un extremo del sistema, mientras que en el otro extremo se obtiene de forma continua un producto terminado.
____________________________________________________________________________________ Introducción a los automatismos pág. 5
Sistemas de control secuencial ____________________________________________________________________________________
Un ejemplo típico de proceso continuo puede ser un sistema de calefacción para mantener una temperatura constante en una determinada instalación industrial. La materia prima de entrada es la temperatura que se quiere alcanzar en la instalación; la salida será la temperatura que realmente existe. El sistema de control, teniendo en cuenta la temperatura de consigna y las informaciones recibidas del proceso, ha de ejecutar las oportunas acciones para que la temperatura de la instalación controlada se mantenga en el punto más cercano a la de referencia.
SISTEMA DE CONTROL +
ACTUADOR Valvula de gas
Regulador
-
PROCESO
Caldera
Instalación a temperatura constante
TEMPERATURA EN LA INSTALACIÓN
FLUIDO DE CONTROL PERDIDAS DE CALOR
SELECTOR DE TEMPERATURA DE REFERENCIA
SENSOR DE TEMPERATURA EN INSTALACIÓN SENSORES
OPERARIO Selecciona la temperatura
A la vista de la instalación se comprueban dos características propias de los sistemas continuos : *
El proceso se realiza durante un tiempo relativamente largo
*
Las variables empleadas en el proceso y sistema de control son de tipo analógico. Dentro de unos límites determinados, las variables pueden tomar infinitos valores
____________________________________________________________________________________ Introducción a los automatismos pág. 6
Sistemas de control secuencial ____________________________________________________________________________________
2.2
Procesos discretos
El producto de salida se obtiene a través de una serie de operaciones, muchas de ellas con gran similitud entre sí. La materia prima sobre la que se trabaja es habitualmente un elemento discreto que se trabaja de forma individual. Un ejemplo de proceso discreto es la fabricación de una pieza metálica rectangular con dos taladros. El proceso para obtener la pieza terminada puede descomponerse en una serie de estados que han de realizarse secuencialmente, de forma que para realizar un estado determinado es necesario que se hayan realizado correctamente los anteriores. Para el ejemplo propuesto estos estados son : *
Corte de la pieza rectangular con unas dimensiones determinadas, a partir de una barra que alimenta la sierra
*
Transporte de la pieza rectangular a la base del taladro
*
Realizar el taladro A
*
Realizar el taladro B
*
Evacuar la pieza S1 C3
S1 C1
A
B
S2
S2
S1 M1
S2
M2
C2
C4 A
S2
S1
C5 M3 S1 S2
C4 S2
S1
C5 ____________________________________________________________________________________ Introducción a los automatismos pág. 7
Sistemas de control secuencial ____________________________________________________________________________________
Cada uno de estos estados supone a su vez una serie de activaciones y desactivaciones de los actuadores ( motores y cilindros neumáticos ), que se producirán en función de : *
Los sensores de posición ( colocados sobre la cámara de los cilindros ), y contactos auxiliares situados en los contactores que activan los motores eléctricos
* 2.3
Variable que indica que se ha realizado el estado anterior Procesos discontinuos o por lotes
A
B
B
C
E
D
A B C
B D
E
Se reciben a la entrada del proceso las cantidades de las diferentes piezas discretas que se necesitan para realizar el proceso. Sobre este conjunto se realizan las operaciones necesarias para producir un producto acabado o un producto intermedio listo para un procesamiento posterior. Por ejemplo, se trata de formar una pieza de una máquina partiendo de las piezas representadas en la figura, que se han obtenido a partir de una serie de procesos discretos. Las piezas se ensamblarán como se indica en la figura; una vez colocadas se remacharán los cilindros superiores de las piezas C, D y E de forma que pueda obtenerse la pieza terminada. ____________________________________________________________________________________ Introducción a los automatismos pág. 8
Sistemas de control secuencial ____________________________________________________________________________________
El proceso puede descomponerse en estados, que, por ejemplo, podrían ser : * * * *
Posicionar piezas C, D y E Posicionar piezas B Posicionar pieza A Remachar los cilindros superiores de C, D y E
Estos estados se realizarán de forma secuencial, y para activar los dispositivos encargados de posicionar las diferentes piezas, serán necesarias : * *
Señales de sensores Variables de estados anteriores
3
FORMAS DE REALIZAR EL CONTROL SOBRE UN PROCESO
Existen dos formas básicas de realizar el control de un proceso industrial. 3.1
Control en lazo abierto ( bucle abierto )
OPERARIO - Consignas - Órdenes
SISTEMA DE CONTROL
PRODUCTO DE ENTRADA
ACTUADORES
PROCESO
PRODUCTO TERMINADO
El control en lazo abierto se caracteriza porque la información o variables que controlan el proceso circulan en una sola dirección, desde el sistema de control al proceso. El sistema de control no recibe la confirmación de que las acciones que a través de los actuadores se han de realizar sobre el proceso, se hayan ejecutado correctamente.
____________________________________________________________________________________ Introducción a los automatismos pág. 9
Sistemas de control secuencial ____________________________________________________________________________________
3.2
Control en lazo cerrado ( bucle cerrado )
El control en lazo cerrado se caracteriza porque existe una realimentación de los sensores desde el proceso hacia el sistema de control, que permite a este último conocer si las acciones ordenadas a los actuadores se han realizado correctamente sobre el proceso
OPERARIO - Consignas - Órdenes
SISTEMA DE CONTROL
ACTUADOR
PRODUCTO DE ENTRADA
PROCESO
PRODUCTO TERMINADO
SENSORES
La mayoría de procesos existentes en la industria utilizan el control en lazo cerrado, bien, porque el producto que se pretende obtener o la variable que se controla necesita un control continuo en función de unos determinados parámetros de entrada, o bien, porque el proceso a controlar se subdivide en una serie de acciones elementales de tal forma que, para realizar una determinada acción sobre el proceso, es necesario que previamente se hayan realizado otra serie de acciones elementales.
4
OPCIONES TECNOLÓGICAS
El desarrollo de los automatismos, su complejidad y eficacia, ha ido parejo al desarrollo experimentado a lo largo de los tiempos. Básicamente se puede establecer la clasificación mostrada en el cuadro siguiente, partiendo de dos conceptos principales : el de lógica cableada y lógica programada
____________________________________________________________________________________ Introducción a los automatismos pág. 10
Sistemas de control secuencial ____________________________________________________________________________________
CLASIFICACIÓN TECNOLÓGICA
LÓGICA PROGRAMADA
LÓGICA CABLEADA
Neumática
Fluídica
Relés
4.1
Eléctrica
Electrónica estática
Autómata programable
Microprocesador
Computador
Lógica cableada
Su denominación viene dada por el tipo de elementos que intervienen en su implementación, en la cual las uniones físicas se realizan mediante cables eléctricos, pero también relés electromagnéticos, interruptores, pulsadores etc., en el caso de la tecnología eléctrica. En lo referente a la tecnología electrónica, las puertas lógicas son los elementos fundamentales mediante los cuales se realizan los automatismos. En el caso de la tecnología fluidica, sus conexiones vienen siendo efectuadas por tuberias de acero, cobre, pvc etc. junto con elementos tales como válvulas, presostatos, manorreductores etc. La tecnología cableada, ha sido y es aún utilizada en los automatismos industriales, aunque va quedando relegada a los accionamientos de cierta potencia, ya que frente a la lógica programada presenta los siguientes inconvenientes : * * * * 4.2
Imposibilidad de realización de funciones complejas de control Gran voluminosidad y peso Escasa flexibilidad frente a modificaciones Reparaciones costosas Lógica programada
Se trata de una tecnología desarrollada a partir de la aparición del microprocesador, y de los sistemas programables basados en éste : computador, controladores lógicos y autómatas programables.
____________________________________________________________________________________ Introducción a los automatismos pág. 11
Sistemas de control secuencial ____________________________________________________________________________________
Constantemente, debido a los altos niveles de integración alcanzados en la microelectrónica, el umbral de rentabilidad de esta tecnología decrece y frente a la lógica cableada presenta : * *
Gran flexibilidad Posibilidad de cálculo científico e implementación de tareas complejas de control de procesos, comunicaciones y gestión
Como inconvenientes a corto y medio plazo, presenta la necesidad de formación en las empresas de personal adecuado para su programación y asistencia, al tratarse de verdaderas herramientas informáticas; también, su relativa vulnerabilidad frente a las agresivas condiciones del medio industrial
4.3
Organigramas para desarrollar el control de un proceso
ORGANIGRAMA PARA EL DESARROLLO DE UN PROCESO CON LÓGICA CABLEADA
Inicio Documentación del proceso: Especificaciones funcionales Interpretación del proceso Esquemas de potencia, mando, etc, Especificaciones de material, aparatos y sus valoraciones Determinación de tiempos Montaje y sus pruebas Puesta en funcionamiento Fin
____________________________________________________________________________________ Introducción a los automatismos pág. 12
Sistemas de control secuencial ____________________________________________________________________________________
ORGANIGRAMA PARA EL DESARROLLO DE UN PROCESO CON AUTÓMATA PROGRAMABLE
Inicio Documentación del proceso * Memoria de func. * Planos, etc.
Interpretación del proceso a controlar
Diagrama del proceso
Determinación de E/S, temp. Cont. etc
Elección del autómata
Asignación de E/S tem. Cont. etc.
Programación * Diagrama de contactos * Lista de instrucciones
Esquema electrico de potencia
Plano distribución componentes del automatismo
Puesta en funcionamiento PLC
Esquema de conexionado de E/S del autómata Puesta en modo RUN Montajes
Proceso a controlar
Fin
____________________________________________________________________________________ Introducción a los automatismos pág. 13
Sistemas de control secuencial ____________________________________________________________________________________
4.4
Fases de estudio en la elaboración de un automatismo
Para el desarrollo y elaboración correcta de un automatismo por el técnico o equipo encargado de ello, es necesario conocer previamente los siguientes datos : a) b) c)
Las especificaciones técnicas del proceso y su correcta interpretación La parte económica asignada para no caer en el error de elaborar una buena opción desde el punto de vista técnico, pero inviable económicamente Los materiales, aparatos, etc. existentes en el mercado que se van a utilizar para diseñar el automatismo. En este apartado es importante conocer también : * *
Calidad de la información técnica de los equipos Disponibilidad y rapidez en cuanto a recambios y asistencia técnica
ORGANIGRAMA GENERAL PARA EL ESTUDIO Y ELABORACIÓN DE AUTOMATISMOS Inicio
ESTUDIO PREVIO
Especificaciones funcionales
Resolución de las opciones tecnológicas más eficaces
ESTUDIO TÉCNICO ECONÓMICO
Estudio económico opciones
Toma de decisiones
DECISIÓN FINAL Lógica cableada
Lógica programada
Fin
____________________________________________________________________________________ Introducción a los automatismos pág. 14
Sistemas de control secuencial ____________________________________________________________________________________
a)
Estudio previo
Es importante antes de acometer cualquier estudio medianamente serio de un automatismo, el conocer con el mayor detalle posible las características, el funcionamiento, las distintas funciones etc. de la máquina o proceso a automatizar. Esto lo obtenemos de las especificaciones funcionales; base mínima a partir de la cual podremos iniciar el siguiente paso, es decir, estudiar cuales son los elementos más idóneos para la construcción del automatismo.
b)
Estudio técnico-económico
Es la parte técnica de especificaciones del automatismo : relación de materiales, aparatos, su adaptación al sistema y al entorno en el que se haya inscrito, etc. También aquí se ha de valorar la parte operativa del comportamiento del automatismo en todos sus aspectos, como mantenimiento, fiabilidad, etc. Es obvio que la valoración económica, que será función directa de las prestaciones del mismo, ha de quedar incluida en esta parte del estudio.
c)
Decisión final
En el apartado anterior se han debido estudiar las dos posibilidades u opciones tecnológicas posibles : lógica cableada y lógica programada. Con esta información y previa elaboración de los parámetros que se consideren necesarios tener en cuenta, se procede al análisis del problema. Los parámetros que se deben valorar para una decisión correcta pueden ser muchos y variados, algunos de los cuales serán específicos del problema concreto que se va a resolver, pero otros serán comunes, tales como los siguientes : *
Ventajas e inconvenientes que se le asignan a cada opción en relación a su fiabilidad, vida media y mantenimiento
*
Posibilidades de ampliación y de aprovechamiento de lo existente en cada caso
*
Posibilidades económicas y rentabilidad de la inversión realizada en cada opción
*
Ahorro desde el punto de vista de necesidades para su manejo y mantenimiento
Una vez realizado este análisis solo queda adoptar la solución final elegida.
____________________________________________________________________________________ Introducción a los automatismos pág. 15
Sistemas de control secuencial ____________________________________________________________________________________
5
ANÁLISIS DE LOS AUTOMATISMOS
El método de análisis de los automatismos se establece a partir de la naturaleza de las variables que intervienen en éstos. En los sistemas de automática secuencial, las variables toman en todo momento un número finito de valores manteniendo dos estados claramente diferenciados, por lo que su naturaleza es discreta y binaria. Por ello, para establecer las relaciones funcionales entre las variables intervinientes se toma el Álgebra de Boole, como ente matemático capaz de definir las leyes que relacionan un conjunto de variables discretas binarias. En general, un controlador lógico programable ejecuta unas acciones de control en base a una función lógica, que resulta de la observación y posterior tratamiento de una serie de variables. Con frecuencia los controladores lógicos son sistemas que requieren la memorización de variables de entrada en forma de estado interno, de manera que se puedan tomar decisiones lógicas en un instante determinado, en función de secuencias de los valores de las variables de entrada en el pasado. Por ello disponemos de una serie de variables provenientes de consignas de mando, lecturas efectuadas por los captadores o bien, variables de estado. Dichas funciones lógicas pueden ser representadas por un conjunto de ecuaciones booleanas de la forma :
ST = f1 ( ET . QT ) Q ( T + ∆T ) = f2 ( ET . QT ) Siendo :
ET el conjunto de variables de entrada al circuito en el instante T ST el conjunto de salidas QT el conjunto de variables internas
Donde la primera ecuación ST representa las salidas del circuito como combinación de las variables de entrada e internas y Q (T + ∆T ) representa la actualización del estado interno
5.1
Lógica combinacional
Si ocurre la no existencia de variables de estado, el análisis del automatismo puede ser tratado según la lógica de circuitos combinacionales, por lo cual el conjunto de ecuaciones booleanas anteriores queda reducido a la ecuación :
ST = f ( ET ) Por tanto, la salida de un automatismo de lógica combinacional, depende única y exclusivamente de la combinación de las variables de entrada ( ET )
____________________________________________________________________________________ Introducción a los automatismos pág. 16
Sistemas de control secuencial ____________________________________________________________________________________
5.2
Lógica secuencial
Si la salida del automatismo en un instante determinado, depende de la secuencia de valores de las variables de entrada en instantes anteriores, es decir, existen variables de estado, entonces estamos en el caso general descrito por las dos ecuaciones lógicas enunciadas anteriormente. En este caso, el sistema deberá ser analizado según la lógica secuencial. Se comprueba que los procesos discretos y continuos, tienen una gran similitud entre sí. Ambos procesos podrán controlarse mediante el mismo tipo de sistema de control; es decir, mediante un controlador secuencial. Se pueden indicar algunas de las características propias de los procesos que se controlan de forma secuencial : *
El proceso puede descomponerse en una serie de estados que se activarán de forma secuencial ( variables internas ) * Cada uno de los estados, cuando está activo realiza una serie de acciones sobre los actuadores ( variables de salida ) * Las señales procedentes de los captadores ( variables de entrada ) controlan la transición entre estados * Las variables empleadas en el proceso y sistema de control ( entrada, salida e internas ), son múltiples y generalmente de tipo discreto, solo toman 2 valores, activado y desactivado. En función de como se realice la transición entre estados, los controladores secuenciales pueden ser de dos tipos : * Asíncronos * Síncronos Los circuitos secuenciales asíncronos son aquellos en los que las variables de entrada actúan sobre el estado interno del sistema en el mismo instante en que pasan a un determinado estado, o cambian de estado. Para sistemas de control de relativa sencillez estos circuitos pueden ser adecuados, no así cuando existan problemas de fenómenos aleatorios, difícilmente controlables cuando cambia de estado más de una variable de entrada o de estado interno simultáneamente.
Variables de entrada Xo...Xn Sensores
CONTROLADOR SECUENCIAL ASÍNCRONO Sistema Combinacional
Variables de salida Yo...Yn
Actuadores
Estados Eo+1...En+1 Células de Memoria
PROCESO Estados Eo...En
____________________________________________________________________________________ Introducción a los automatismos pág. 17
Sistemas de control secuencial ____________________________________________________________________________________
En los controladores síncronos la transición a un estado determinado se produce en función de las variables de entrada y de la variable asociada al estado anterior. Las variables de entrada y la variable interna están sincronizadas mediante una señal de reloj de frecuencia fija, de forma que la transición entre estados solo se produce para un flanco de la señal de reloj. Las células de memoria que almacenan las variables de entrada se activan todas, de forma conjunta con la señal de reloj, permitiendo el paso al circuito combinacional de las Xn variables; las células que almacenan las variables asociadas a los estados se activan mediante la señal del contador de forma individual; a cada impulso de la señal de reloj, el contador se incrementa en una unidad permitiendo el acceso a una sola célula Los controladores síncronos y asíncronos descritos podrían construirse empleando lógica cableada y elementos discretos de tecnologías como electrónica, electricidad o neumática. El único requisito que tendría que cumplir el controlador sería que el tiempo que necesita el circuito combinacional para tomar decisiones ( ciclo de trabajo ), en función de las variables de entrada y estados anteriores, tendría que ser mucho menor que el tiempo de evolución del proceso.
Variables de entrada Xo...Xn Sensores
CONTROLADOR SECUENCIAL SÍNCRONO Células de Memoria Lect. paralelo
Sistema Combinacional
Variables de salida Yo...Yn
Actuadores
Células de Memoria Lect. serie
Reloj
Contador
PROCESO
Al emplear lógica cableada, la configuración del circuito combinacional y las operaciones lógicas que ha de realizar, dependen de la cantidad de variables necesarias para controlar el proceso ( variables de entrada y salida ) y del número de estados en que se ha desglosado ( variables internas ). Una modificación del proceso que suponga una modificación del nº de variables anteriores o en su orden de actuación, significa diseñar de nuevo el controlador secuencial.
____________________________________________________________________________________ Introducción a los automatismos pág. 18
Sistemas de control secuencial ____________________________________________________________________________________
Basándose en el microprocesador puede construirse un controlador secuencial síncrono cuya configuración es independiente del nº de variables y del orden en que éstas actúan en el proceso. El circuito combinacional se sustituye por la memoria del programa y la unidad operativa del microprocesador. La memoria del programa de usuario almacena las operaciones lógicas y con que variables se han de realizar; la unidad operativa se encarga de realizarlo: El contador de programa del microprocesador accederá secuencialmente a las posiciones de memoria de programa de usuario.
____________________________________________________________________________________ Introducción a los automatismos pág. 19
Sistemas de control secuencial _____________________________________________________________________________________
TEMA 2 : REPRESENTACIÓN DE LOS AUTOMATISMOS
_____________________________________________________________________________________ Representación de los automatismos pág.1
Sistemas de control secuencial _____________________________________________________________________________________
_____________________________________________________________________________________ Representación de los automatismos pág.2
Sistemas de control secuencial _____________________________________________________________________________________
Toda función lógica puede ser representada gráfica y simbólicamente, dependiendo de la tecnología utilizada en su implementación. Dejando para un tema posterior la representación simbólica nemotécnica propia de la lógica programable, la representación gráfica de la lógica cableada puede ser bien a través de los diagramas de contactos, si lo que se utiliza es tecnología eléctrica, o bien la representación puede ser a través de diagramas de funciones lógicas, si lo que se utiliza es la tecnología electrónica de puertas lógicas. 1
LÓGICA DE CONTACTOS
Se trata de la representación gráfica de esquemas de automatismos eléctricos, en los cuales, el elemento fundamental es el interruptor electromagnético denominado relé, junto con pulsadores, interruptores y contactores. Este método de representación ha tenido profusa difusión entre los automaticistas eléctricos en la época inmediata anterior, donde los dispositivos automáticos han estado basados en armarios de relés. Este tipo de representación gráfica se sigue manteniendo ampliamente por los fabricantes de dispositivos basados en lógica programable, procurando de esta manera salvar el inconveniente de tener que formar a personal no expresamente informático en lenguajes evolucionados de alto nivel. Por ello pasamos a mostrar los elementos fundamentales de la lógica de contactos y la representación mediante el siguiente cuadro : FUNCIÓN Nemónicos
Y
O
AND
OR
.
+
&
≥
Complemento
Representación Booleana
X
Norma CEI
Norma Francesa Norma NEMA
DIN 40713 16
_____________________________________________________________________________________ Representación de los automatismos pág.3
Sistemas de control secuencial _____________________________________________________________________________________
1.1
Elementos de entrada
Los elementos de entrada pueden ser pulsadores, interruptores, captadores tales como finales de carrera, detectores de proximidad, etc. Son los dispositivos físicos mediante los cuales el automatismo realiza la observación de las variables de entrada. Por tanto, se debe asociar a dichos elementos las variables de entrada de cuya combinación resultará una función lógica que activará o no la salida correspondiente. Las variables de entrada pueden ser clasificadas como : * Variables de entrada directa * Variables de entrada inversa La variable de entrada directa, da un "1" lógico cuando es activada. La variable de entrada inversa, da un "0" lógico cuando es activada. Se representará pues como una variable negada. Según donde se realice la observación del automatismo, las variables de entrada pueden clasificarse como : * *
Variable de entrada pura Variable de salida realimentada
La variable de entrada pura, proviene de acciones de mando del operador, o bien de la lectura de los elementos de entrada. La variable de salida realimentada, proviene de la realimentación de una variable de salida y posterior consideración como variable de entrada. Esto puede tener lugar en automatismos que deban ser tratados según la lógica secuencial síncrona o asíncrona.
Norma DIN Variable de entrada directa
Norma NEMA
Norma CEI
Xo
Xo
Xo
Xo
Xo
Xo
Yo
Yo
( normalmente abierta ) Variable de entrada inversa ( normalmente cerrada )
Variable de salida
Yo
1.2 Elementos de salida Los elementos de salida deberán ser asociados a las variables de salida de las funciones lógicas. Casi siempre vendrán implementadas físicamente por el circuito de mando de un relé o de un contactor
_____________________________________________________________________________________ Representación de los automatismos pág.4
Sistemas de control secuencial _____________________________________________________________________________________
1.3 Asociación de elementos Los diversos elementos bien sean normalmente abiertos o normalmente cerrados, pueden conectarse de forma asociada formando diversas funciones lógicas 1.3.1 Función lógica O Se trata de la conexión en paralelo de diversos elementos de entrada a1 y
a2 a3
y = a1 + a2 + a3
1.3.2 Función lógica Y Se trata de la conexión en serie de diversos elementos de entrada
a1
a2
a3
y
y = a1 . a2 . a3
1.3.3 Función O lógica de funciones Y Corresponde a la conexión en paralelo de dos o más ramas en serie a1
a2
a3 y
a4
a5
a6
y = ( a1 . a2 . a3 ) + ( a4 . a5 . a6 )
_____________________________________________________________________________________ Representación de los automatismos pág.5
Sistemas de control secuencial _____________________________________________________________________________________
1.3.4 Función Y lógica de funciones O Corresponde a la conexión en serie de conjuntos de dos o más ramas en paralelo
a1
a3 y
a2
a4
y = ( a1 + a2 ) . ( a3 + a4 ) A partir de las funciones básicas enumeradas, se pueden establecer combinaciones entre ellas de diversa complejidad 2
Lógica de funciones
Los sistemas digitales se caracterizan por funcionar de modo binario, es decir, emplean dispositivos mediante los cuales solo son posibles dos estados. Por tanto, al transistor solo le vamos a permitir trabajar en la zona de corte o en la de saturación, nunca en la zona activa ( ideal para el uso del transistor como amplificador ). Esta naturaleza biestable ( todo - nada ) o nivel alto - nivel bajo de muchos dispositivos industriales hace posible tratar su función mediante un cálculo matemático que solo opere con dos valores "0" y "1" Existen dos sistemas lógicos distintos : Lógica positiva : Cuando el estado alto coincide con el "1" lógico y el estado bajo con el "0" lógico Lógica negativa : Cuando el estado alto coincide con el "0" lógico y el estado bajo con el "1" lógico El desarrollo de los distintos bloques lógicos se puede realizar con elementos de alguna de las siguientes familias lógicas : * * * * *
Familia RTL : Familia DTL : Familia TTL : Familia ECL : Familia C-MOS
Lógica transistor - resistencia Lógica transistor - diodo Lógica transistor - transistor Lógica acoplada por emisor
_____________________________________________________________________________________ Representación de los automatismos pág.6
Sistemas de control secuencial _____________________________________________________________________________________
2.1
Función "O" u "OR" ( Suma lógica ) La función, puerta o dispositivo OR se caracteriza porque proporciona una salida "1" siempre que sea "1" el estado de al menos una de las variables de entrada, es decir, realiza la suma lógica
S=A+B
Los símbolos más generalizados para la representación de la función lógica "OR " son :
A B
≥1
A B C
S=A+B
S=A+B+C
La representación de todas las combinaciones posibles de las variables de entrada y su repercusión en las salidas se expresa mediante una tabla llamada " Tabla de verdad " Tabla de verdad A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
2.2
C 0 1 0 1 0 1 0 1
S 0 1 1 1 1 1 1 1
Representación gráfica de una ecuación lógica con todas las combinaciones posibles de sus variables binarias ( 0, 1 ) y el resultado final Nº combinaciones = 2n
Función "Y" O "AND" ( Producto lógico ) La función AND se caracteriza porque la salida es "1" solamente cuando todas las variables de entrada son "1", realiza pues el producto lógico
S=A·B
A B
&
S=A·B
A B C
S=A·B·C
_____________________________________________________________________________________ Representación de los automatismos pág.7
Sistemas de control secuencial _____________________________________________________________________________________
A 0 0 0 0 1 1 1 1
Tabla de verdad
2.3
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
S 0 0 0 0 0 0 0 1
Función NOT ( Negación, inversión o complemento ) Representa el valor inverso de la variable o función. Gráficamente, se expresa mediante una rayita o barra colocada encima de la variable o función
S=A
A
A
será A = 0
Si A = 0,
será A = 1
A
Tabla de verdad
2.4.-
Si A = 1,
A 0 1
A
S 1 0
Función NOR ( NO-O ) Si después de efectuar una operación "OR", realizamos una inversión, obtendremos la función NO - O o NOR A B
S= A+B=A·B
Tabla de verdad
A 0 0 1 1
B 0 1 0 1
S 1 0 0 0
A B
≥1
S=A+B
S=A+B
_____________________________________________________________________________________ Representación de los automatismos pág.8
Sistemas de control secuencial _____________________________________________________________________________________
2.5
Función NAND ( NO - Y ) Si después de efectuar una operación AND, realizamos una inversión, obtenemos la función NO - Y o NAND S= A·B=A+B
A B
&
S=A·B
S=A·B
A B
Tabla de verdad
2.6
S=A·B
A B
A 0 0 1 1
B 0 1 0 1
S 1 1 1 0
Función OR - Exclusiva ( XOR ) La salida es "1" cuando las entradas están en distinto estado S= A⊕B=A·B+A·B
A B
=1
S=A + B
S=A + B
A B
Tabla de verdad
A 0 0 1 1
B 0 1 0 1
S 0 1 1 0
_____________________________________________________________________________________ Representación de los automatismos pág.9
Sistemas de control secuencial _____________________________________________________________________________________
2.7
Función NOR - Exclusiva ( XNOR ) La salida es "1" cuando las entradas están en el mismo estado S= A~B=A·B+A·B
S=A
A B
Tabla de verdad
2.8
A 0 0 1 1
B 0 1 0 1
B
S 1 0 0 1
Función IGUALDAD Se trata de una puerta lógica de igualdad, lo que quiere decir que su salida siempre tiene el mismo valor que su entrada. Es utilizada como amplificador digital S= A
A
Tabla de verdad
3
S
A
A 0 1
S
S 0 1
LÓGICA NEUMÁTICA
Las válvulas neumáticas realizan distintas funciones lógicas conectándolas adecuadamente. Las funciones lógicas más complejas pueden realizarse también mediante la conexión de varias válvulas El esquema lógico contiene todos los elementos necesarios y sus líneas para el funcionamiento de la máquina. En neumática, se indican además, todos los acoplamientos de aire comprimido ( P ) y sus escapes.
_____________________________________________________________________________________ Representación de los automatismos pág.10
Sistemas de control secuencial _____________________________________________________________________________________
3.1
Función "O" u "OR" ( Válvula selectora de circuito )
La válvula selectora de circuito es necesaria cuando desde dos o más puntos de emisión de señal ha de quedar accionado el mismo proceso. S=A+B Los símbolos más generalizados para la representación de la función lógica "OR " son : A B
≥1
A B C
S=A+B
S=A+B+C
La representación neumática de la función OR es la siguiente : 2 (A) 12 ( X )
14 ( Y )
Tabla de verdad
A 0 0 1 1
B 0 1 0 1
S 0 1 1 1
Ejemplo : Mando de un cilindro de simple efecto desde dos puntos diferentes 1.0
2 12
14 1.6
2
2 1.2
1
3
1.4 1
3
No es posible la conexión en paralelo de válvulas para obtener la función "OR", ya que de no existir la válvula selectora de circuito, al accionar las válvulas 1.2 ó 1.4, el aire escaparía a través de la purga de la otra válvula.
_____________________________________________________________________________________ Representación de los automatismos pág.11
Sistemas de control secuencial _____________________________________________________________________________________
Si se desea llevar varias señales hacia la misma salida, es necesario conectar válvulas selectoras en paralelo ( ya que siempre existen solo dos entradas por válvula ) Ejemplo : 4 señales e1......e4 han de accionar el mismo proceso Número necesario de válvulas Nv en una salida S Nv = Ne - 1
Ne = nº de señales de entrada
Las posibilidades de conexionado de válvulas selectoras que se representan en la siguiente figura son totalmente equivalentes en cuanto a la lógica. En la práctica sin embargo, conviene aplicar preferentemente la posibilidad a), ya que aquí las señales de entrada han de pasar por el mismo número de resistencias ( válvulas ). Una composición totalmente simétrica sin embargo, sólo es posible con 2, 4, 8, 16 ... etc. señales de entrada. Se tienen las dos posibilidades de conexión siguientes Posibilidad A
S 2 12
14
2
2
12
12
14
14
e2 e3
e1
Posibilidad B
e4
S 2 12
14
2 12
14
2 12
e1
14
e2
e3
e4
_____________________________________________________________________________________ Representación de los automatismos pág.12
Sistemas de control secuencial _____________________________________________________________________________________
3.2
Función "Y" O "AND" ( Válvula de simultaneidad ) La función AND se caracteriza porque la salida es "1" solamente cuando todas las variables de entrada son "1", realiza pues el producto lógico S=A·B
A B
&
A B C
S=A·B
S=A·B·C
La representación neumática de la función AND es la siguiente 2 12
Tabla de verdad
14
A 0 0 1 1
B 0 1 0 1
S 0 0 0 1
En neumática existen en principio, 3 posibilidades de realizar la función Y 1ª Posibilidad : Por conexión en serie S 2 1.4 1
3 2
1.2 1 Ventajas :
3
Coste más bajo de elementos, solución más económica
Desventajas : En la práctica, a menudo conducciones muy largas entre los órganos de señal. La señal de la válvula 1.4 no se puede co-utilizar en otras combinaciones de señales, ya que sólo tiene energía en conexión Y con la válvula 1.2 _____________________________________________________________________________________ Representación de los automatismos pág.13
Sistemas de control secuencial _____________________________________________________________________________________
2ª Posibilidad : Por válvula de simultaneidad S 2 12
14 1.6 2
2 1.2 1
Ventajas :
1.4 1
3
3
Las señales de las válvulas 1.2 y 1.4 pueden co-utilizarse a voluntad en otras combinaciones de señales, ya que ambos órganos de señal quedan abastecidos directamente con energía. Ambas líneas de señal pueden llevarse por el trecho más corto a la válvula de simultaneidad 1.6
Desventajas : El gasto en componentes es mayor que en la 1ª posibilidad. En cuanto a la energía resulta que en la salida de la válvula de simultaneidad aparece siempre la señal más débil 3ª Posibilidad : Con válvula de accionamiento neumático de 3/2 vías cerrada en reposo S 2 1.6
1
2 1.2
Ventajas :
1
3
2 3
1.4
1
3
Todas las ventajas de la 2ª posibilidad. Adicionalmente existe aquí la posibilidad de conectar la señal débil en el empalme 12 y la señal fuerte en el empalme 1 de la válvula 1.6. Con ello está garantizado que la señal fuerte aparezca en la salida 2 ( efecto de amplificación )
Desventajas : Mayor gasto de componentes Cuando en la práctica hace falta una operación Y con más de dos entradas, rige análogamente lo mismo que en el accionamiento de válvulas selectoras de circuito.
_____________________________________________________________________________________ Representación de los automatismos pág.14
Sistemas de control secuencial _____________________________________________________________________________________
Ejemplo : El proceso debe realizarse solamente cuando existan 5 señales e1...e5 El número de válvulas de simultaneidad necesarias resulta ser : Nv = Ne - 1 = 5-1 = 4
Ne = número de señales de entrada
La siguiente figura muestra las dos posibilidades de conexionado de válvulas de simultaneidad. También aquí conviene dar la preferencia a la posibilidad a), como en las válvulas selectoras de circuito. Posibilidad a
S 2
12
14
2
2
12
14 12
14 2 12
e1
e2
e3
14
e4
e5
Posibilidad b
S 2 12
14
2 12
14
2 12
14
2 12
e1
14
e2
e3
e4
e5
_____________________________________________________________________________________ Representación de los automatismos pág.15
Sistemas de control secuencial _____________________________________________________________________________________
Ejemplo de función Y : El vástago de un cilindro de doble efecto ha de salir únicamente en el caso en que se accione un pulsador y al mismo tiempo se disponga de la información de un estado determinado de la instalación ( por ejemplo presencia de material ). El retroceso del cilindro se producirá por medio de un final de carrera situado en la posición final delantera del vástago. 1.3 1.0
4
2
12
14
1.1
1
3
2 12
14 1.6
2
1.2 1
3.3
2
1.4 3
1
2
1.3 1
3
3
Función NO ( Negación, inversión o complemento )
Representa el valor inverso de la variable o función. Gráficamente, se expresa mediante una rayita o barra colocada encima de la variable o función. En neumática, si se ha de realizar un proceso cuando la señal de mando tenga valor "0", hace falta una válvula que emita señal "1" por la salida cuando la señal de mando es "0"
S=A
A
A
Si A = 1,
será A = 0
Si A = 0,
será A = 1
A
A
La representación neumática de la función NO es la siguiente : S
A
2
10
Válvula de 3 vias abierta en reposo 1
3
_____________________________________________________________________________________ Representación de los automatismos pág.16
Sistemas de control secuencial _____________________________________________________________________________________
S
S S = 1, si A = 0
&
S=A.B
&
S = 1, si B = 1 y A = 0 B A
A
Símbolo función NO de Parker
Conexionado en inhibición A 0 1
Tabla de verdad
S 1 0
Ejemplo de función NO : Ha de sonar una señal acústica si un dispositivo de protección no está cerrado. Bocina 1.0
1.1
2
10 1 1.2
2
1
3.4
3
3
Función NOR ( NO-O )
La función se obtiene por inversión de la función OR A B
S= A+B=A·B
Tabla de verdad
A 0 0 1 1
B 0 1 0 1
S 1 0 0 0
A B
≥1
S=A+B
S=A+B
_____________________________________________________________________________________ Representación de los automatismos pág.17
Sistemas de control secuencial _____________________________________________________________________________________
Neumáticamente la función NOR se puede realizar con el siguiente montaje S 2 10 1
2 A
3.5
12
14
3
B
Función NAND ( NO - Y ) La función se obtiene por inversión de la puerta AND S= A·B=A+B
A B
S=A·B
&
Tabla de verdad
S=A·B
A B
A 0 0 1 1
B 0 1 0 1
S 1 1 1 0
Con elementos neumáticos, la función NAND se realiza con el siguiente montaje S
S 1ª Posibilidad
2ª Posibilidad 2
2
10
10 1
1
3
2 A
12
3
2 14
B
A 1
3 B
_____________________________________________________________________________________ Representación de los automatismos pág.18
Sistemas de control secuencial _____________________________________________________________________________________
3.6
Función OR - Exclusiva ( XOR ) La salida es "1" cuando las entradas están en distinto estado S= A⊕B=A·B+A·B
A B
S=A + B
=1
S=A + B
A B
A 0 0 1 1
Tabla de verdad
B 0 1 0 1
S 0 1 1 0
Con elementos neumáticos, la función XOR se realiza con el siguiente montaje S 2 1
2 12
14 2
10 1
2 1
A
3
3
3
B
_____________________________________________________________________________________ Representación de los automatismos pág.19
Sistemas de control secuencial _____________________________________________________________________________________
3.7
Función NOR - Exclusiva ( XNOR ) La salida es "1" cuando las entradas están en el mismo estado S= A~B=A·B+A·B
S=A
A B A 0 0 1 1
Tabla de verdad
B 0 1 0 1
B
S 1 0 0 1
Con elementos neumáticos, la función XNOR se puede realizar con el siguiente montaje S 2 12
14
2
2 10
10 1
3
1
3
2 12
14
A
B
_____________________________________________________________________________________ Representación de los automatismos pág.20
Sistemas de control secuencial _____________________________________________________________________________________
3.8
Función IGUALDAD La salida siempre tiene el mismo valor que la entrada. Es utilizada como regenerador
S= A
A
S
A
A 0 1
Tabla de verdad
S
S 0 1
En neumática, la función igualdad puede obtenerse, bien con una célula lógica o bien utilizando una válvula 3/2 vías cerrada en reposo, tal como se indica en la siguiente figura S 2 A
10
Válvula de 3 vias cerrada en reposo 1
3 S
=
S=A ( regenerado ) A
Símbolo función SI de Parker
_____________________________________________________________________________________ Representación de los automatismos pág.21
Sistemas de control secuencial _____________________________________________________________________________________
4
IMPLEMENTACIÓN DE FUNCIONES
Se denomina implementar una función, a realizar el circuito que cumpla la ecuación de dicha función. Obtenida la ecuación lógica de funcionamiento del circuito de mando de un automatismo, se puede elegir la tecnología a utilizar ( contactos, puertas lógicas, neumática, hidráulica ), teniendo en cuenta que cada una de estas tecnologías tiene elementos para realizar las distintas funciones lógicas, pero asimismo, no todas las funciones pueden realizarse de forma económica con cualquier tecnología. Cada tecnología posee funciones características que son óptimas desde el punto de vista económico y tecnológico 4.1
Implementación de funciones lógicas con contactos
Cuando se desea implementar la ecuación de funcionamiento del circuito de mando de un automatismo con contactores y pulsadores, se deben tener en cuenta las siguientes normas : * Cada ecuación se implementará con un contactor o relé * Las entradas de la ecuación se realizan con contactos ( interruptores, pulsadores o contactos auxiliares de los contactores ) * Cuando en una ecuación aparece como entrada una salida, dicha entrada se realiza con un contacto auxiliar del contactor que implementa dicha ecuación * Las multiplicaciones de variables en una ecuación equivalen a poner en serie los elementos que representan dichas variables * Las sumas de variables en una ecuación equivalen a poner en paralelo los elementos que componen dicha suma * Las negaciones de variables en una ecuación equivalen al empleo de elementos ( pulsadores o contactos ) normalmente cerrados * Las negaciones de grupos de variables no pueden implementarse directamente, precisando de la aplicación del álgebra de Boole para su reducción a variables simples. Ejemplo : A+B+C=A·B·C Problema : Implementar, con pulsadores solamente, la siguiente ecuación lógica de un automatismo : S=A.B.(C+D) Solución : Cuando se implementa un circuito sólo con pulsadores, cada una de las variables de entrada estará representada por un pulsador que, según se encuentre negada o no, corresponderá a un pulsador normalmente cerrado o normalmente abierto
_____________________________________________________________________________________ Representación de los automatismos pág.22
Sistemas de control secuencial _____________________________________________________________________________________
La implementación del circuito se realiza representando en primer lugar la alimentación. En serie con ella se representa el circuito equivalente en pulsadores - a la ecuación de funcionamiento - y, por último, también en serie, el receptor cuya funcionamiento define la ecuación. En nuestro caso, tenemos 4 variables de entrada asociadas de la siguiente forma : •
Las variables C y D bajo la forma de suma que se representarán, por tanto, con dos pulsadores en paralelo. El correspondiente a C será normalmente cerrado, por encontrarse esta variable negada, mientras que el correspondiente a D será normalmente abierto
•
Las variables A y B bajo la forma de producto en conjunto con el bloque ( C + D ) serán representadas por dos pulsadores en serie, en conjunto con el bloque anterior. El pulsador de A será normalmente cerrado
B
C Receptor S
A
D Alimentación
4.2
Implementación de funciones con puertas lógicas
A partir de la ecuación de funcionamiento del automatismo, se puede implementar la función con la utilización de las puertas lógicas ya descritas. Sin embargo, ello requeriría la disponibilidad de toda la serie de circuitos integrados digitales. De otra parte, todas las funciones básicas pueden ser sustituidas por las puertas NAND y NOR. Este aspecto es muy importante dado que casi todos los circuitos tienden a realizarse mediante este tipo de puertas, con el fin de simplificar el montaje de aquellos problemas digitales en los que intervienen sumas, productos, negaciones, etc., que supondrían bastantes tipos de funciones específicas a realizar por un solo elemento que la ejecute, complicando sobremanera su montaje. Mediante la correcta utilización del teorema de De Morgan, se puede resolver cualquier ecuación con estas dos funciones.
_____________________________________________________________________________________ Representación de los automatismos pág.23
Sistemas de control secuencial _____________________________________________________________________________________
Equivalencias entre puertas lógicas
Función
a
a b
Puertas NAND
S
a
a b
S
Puertas NOR
a
S
S
a S
S b
a a b
S
S
a b
S
b
a a b
S
S b
a a b
S
S b
4.2.1 Implementación de funciones con puertas NAND El proceso es el siguiente : 1.- Una vez obtenida la expresión correspondiente del problema, se realiza a todo el conjunto una doble inversión o negación 2.- Si en la expresión resultante existe algún producto, las dos negaciones deben dejarse tal cual. Si por el contrario, es una suma, aplicaremos el teorema de De Morgan sobre dicha suma 3.- Se continua realizando el proceso anterior hasta la obtención de una función compuesta exclusivamente por productos negados. _____________________________________________________________________________________ Representación de los automatismos pág.24
Sistemas de control secuencial _____________________________________________________________________________________
Como ejemplo, vamos a realizar la implementación mediante puertas NAND de la función OR Función OR ----------- S = a + b Con puertas NAND : S = a + b ............ ( 1 )
S = a · b............... ( 2 ) y ( 3 )
que, representado lógicamente, sería la función existente en la tabla de equivalencias 4.2.2 Implementación de funciones con puertas NOR El proceso es el siguiente : 1.- Una vez obtenida la expresión correspondiente del problema, se realiza a todo el conjunto una doble inversión o negación 2.- Si en la expresión resultante existe alguna suma, las dos negaciones deben dejarse tal cual. Si por el contrario, es un producto, aplicaremos el teorema de De Morgan sobre dicho producto 3.- Se continua realizando el proceso anterior hasta la obtención de una función compuesta exclusivamente por sumas negadas. Como ejemplo, vamos a realizar la implementación con puertas NOR de la función Y Función Y ----------- S = a · b Con puertas NOR : S = a + b ............ ( 1 )
S = a · b............... ( 2 ) y ( 3 )
obteniendo la representación lógica mostrada en la tabla de equivalencias de puertas 4.3 Implementación de funciones con elementos neumáticos Cuando se desea implementar la ecuación de funcionamiento del circuito de mando de un automatismo con elementos neumáticos, se deben tener en cuenta las siguientes normas : *
Las entradas de la ecuación se realizan con válvulas distribuidoras ( válvulas de vías, en sus diversas disposiciones )
*
Las multiplicaciones de variables en una ecuación equivalen a poner en serie los elementos que representan dichas variables. Se puede utilizar : bien la conexión en serie de válvulas, o bien usar las válvulas de simultaneidad
*
Las sumas de variables en una ecuación equivalen a poner en paralelo los elementos que componen dicha suma. En este caso conviene utilizar las válvulas selectoras de circuito
_____________________________________________________________________________________ Representación de los automatismos pág.25
Sistemas de control secuencial _____________________________________________________________________________________
*
Las negaciones de variables en una ecuación equivalen al empleo de elementos ( válvulas ) normalmente abiertas. Aquí, para realizar la función, se dispone de : válvulas de vías normalmente abiertas, función NO y función Inhibición.
*
Las negaciones de grupos de variables no pueden implementarse directamente, precisando de la aplicación del álgebra de Boole para su reducción a variables simples. Ejemplo : A+B+C=A·B·C
Problema : Implementar, con elementos neumáticos solamente, la siguiente ecuación lógica de un automatismo : S = P1 . I1 + P0
S
P1
I1
P0
_____________________________________________________________________________________ Representación de los automatismos pág.26
Sistemas de control secuencial ____________________________________________________________________________________
TEMA 3 : ÁLGEBRA DE BOOLE
____________________________________________________________________________________ Algebra de Boole pág. 1
Sistemas de control secuencial ____________________________________________________________________________________
____________________________________________________________________________________ Algebra de Boole pág. 2
Sistemas de control secuencial ____________________________________________________________________________________
El fin de toda álgebra o sistema matemático es el de representar, mediante una serie de símbolos y operaciones un grupo de objetos o elementos con el fin de obtener una serie de ecuaciones escritas en forma simbólica, que mediante su manipulación y/o simplificación correctas nos den la solución de un sistema con el menor número de elementos posible, de modo que sea idéntica a la dada. El filósofo y matemático George Boole desarrolló a mediados del siglo XX un sistema matemático basado en relaciones lógicas, estableciendo una serie de postulados y operaciones con la misión de resolver los automatismos o procesos a ejecutar. La diferencia entre el álgebra convencional y el álgebra de Boole es que esta última está relacionada con dos operaciones binarias lógicas, como son la suma ( + ) y el producto ( . ) lógicos, y con las variables "0" y "1"; mientras que la convencional necesita de relaciones cuantitativas, es decir, necesitamos saber si X es mayor que Y por ejemplo. Basado en estas relaciones lógicas, su álgebra da a todos sus elementos dos únicos valores ( 0 y 1 ) que son opuestos entre sí. 1
AXIOMAS DEL ÁLGEBRA DE BOOLE
En este punto, se indican todos aquellos postulados o teoremas que relacionan el álgebra de Boole, apoyándonos en la representación de contactos eléctricos para una mayor comprensión. Recordemos que el signo suma (+) en el álgebra de Boole equivale, traducido al álgebra de contactos eléctricos, a un circuito paralelo, mientras que el signo producto (.) equivale al circuito serie.
Operación
Expresión Booleana
Contactos eléctricos a
Suma
a+b b a
Producto
b
a.b
Significar que la operación producto se indica generalmente mediante la ausencia de símbolo entre dos variables. También :
a · b = ab 1 lógico equivale a contacto cerrado 0 lógico equivale a contacto abierto
____________________________________________________________________________________ Algebra de Boole pág. 3
Sistemas de control secuencial ____________________________________________________________________________________
1.1
Postulados y teoremas
1.-
Las operaciones suma y producto son conmutativas : b
a a)
a+b=b+a
= b
b)
2.-
3.-
a
ab = ba
a b
=
a)
(a+b)+c=a+(b+c)=a+b+c
b)
( ab ) c = a ( bc ) = abc
Ambas operaciones son distributivas :
a + bc = ( a + b ) ( a + c )
a ( b + c ) = ( ab ) + ( ac )
= b
c b
a
c a
b
a
c
= c
4.-
a
a
b b)
a
Ambas operaciones son asociativas :
a a)
b
La suma o producto de dos variables iguales equivale a la misma variable a a)
a+a= a
=
a
a
b)
a.a = a
a
a
a =
____________________________________________________________________________________ Algebra de Boole pág. 4
Sistemas de control secuencial ____________________________________________________________________________________
5.-
Existe elemento complementario para cada operación : a a)
a+ a=1
1
= a
b)
6.-
a.a = 0
a
0
a
=
Ley de absorción a a)
a
a + ab = a
= a
b)
a(a+b)= a
b a
a
a =
b
7.Existen dos elementos neutros, el 0 y el 1, cumpliéndose la propiedad en dos de los casos, quedando como 1 y 0 lógicos en los otros dos :
a)
a.1= a
a
1
a
=
a b)
a
=
a+0= a 0 a
c)
0
a.0= 0
=
a d)
a+1= 1
0
1 =
1
____________________________________________________________________________________ Algebra de Boole pág. 5
Sistemas de control secuencial ____________________________________________________________________________________
8.-
Para todo elemento del álgebra de Boole se cumple que : = a = a Lo que queda perfectamente aclarado comprobando su tabla de verdad
9.-
a
_ a
= a
0 1
1 0
0 1
Postulado noveno a
a a)
a+ab=a+b
= a
b)
a(a+b)= ab
b
b
a
a
a =
b
b Demostración
2
a)
a+ab=(a+a)(a+b)=1(a+b)=a+b
b)
a(a+b)=aa+ab=0+ab=ab
TEOREMA DE DE MORGAN
Permite transformar funciones " suma " en funciones " producto " y viceversa.
a)
A+B=A·B
c)
A+B=A·B
b)
A·B=A+B
d)
A·B=A+B
____________________________________________________________________________________ Algebra de Boole pág. 6
Sistemas de control secuencial ____________________________________________________________________________________
*
La ecuación a) nos demuestra que podemos conseguir una puerta NOR invirtiendo las entradas de una puerta AND
*
La ecuación b) nos demuestra que podemos obtener una puerta NAND invirtiendo las entradas de una puerta OR
*
La ecuación c) nos demuestra que podemos obtener una puerta OR invirtiendo las entradas de una puerta NAND
*
La ecuación d) nos demuestra que podemos obtener una puerta AND invirtiendo las entradas de una puerta NOR
Los teoremas del álgebra de Boole son demostrables por el método de inducción completa que consiste en comprobar que la relación entre los elementos que el teorema define, se cumplen en todos los casos posibles. Para poder realizar esto, se utilizan las tablas de verdad. Por ejemplo : Vamos a demostrar la ley de absorción a+a.b=a Cuya tabla de verdad es la siguiente :
a 0 0 1 1
b 0 1 0 1
a+a.b 0+0.0=0 0+0.1=0 1+1.0=1 1+1.1=1
a 0 0 1 1
Existen infinidad de teoremas en el álgebra de Boole, tantos como puedan ser demostrados por el método referido, sin embargo, los indicados anteriormente se encuentran entre los más importantes por su utilidad. Por otra parte, siempre que se cumple una ley o teorema en el álgebra de Boole, se cumple también su forma dual; es decir, la expresión que se obtiene cambiando solamente las operaciones de suma por las de producto y las de producto por las de suma. Las formas duales de las leyes y teoremas básicos se indican en la siguiente tabla.
____________________________________________________________________________________ Algebra de Boole pág. 7
Sistemas de control secuencial ____________________________________________________________________________________
Nombre de la Ley Ley de absorción Teorema Morgan
de
Forma básica
Forma dual
a+a.b=a
A.(a+b)=a
De __________ _ _ _ ( a + b + c + ... ) = a . b . c ...
_______ _ _ _ ( a . b . c ... ) = a + b + c + ...
Leyes de transposición
_ _ a.b+a.c=(a+c).(a+b) _ _ _ _ a.b+a.b=(a+b).(a+b)
_ _ (a+b).(a+c)=a.c+a.b _ _ _ _ (a+b).(a+b)=a.b+a.b
Leyes varias
_ a+a.b=a+b _ _ a+a.b=a+b _ a.b+a.b.c=a.b+a.c _ _ a.b+a.c+b.c=a.b+a.c _ a.b+a.b=a
_ a.(a+b)=a.b _ _ a.(a+b)=a.b _ ( a+b ) . ( a + b + c ) = ( a+b ) . ( a+c) _ _ (a + b) (a + c) (b + c ) = (a + b) (a+ c) _ (a+b).(a+b)=a
a.b+a.c=a.(b+c)
(a+b).(a+c)=a+(b.c)
3
FORMAS DE UNA FUNCIÓN BOOLEANA
Una función Booleana se puede expresar de las siguientes formas : a)
Mediante la expresión lógica : F = c + b a
b)
Mediante la tabla de verdad. Ejemplo : F ( c, b, a ) = c b + c a
c
b
A
F
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
0 1 0 1 0 0 1 1
____________________________________________________________________________________ Algebra de Boole pág. 8
Sistemas de control secuencial ____________________________________________________________________________________
c)
Mediante los términos canónicos. Se tienen las siguientes estructuras : *
Ecuación con estructura minterms : Esta ecuación está estructurada como una suma de términos en forma de productos de las diferentes variables que intervienen en la ecuación. Por ejemplo : x=abc+abc+abc
*
Ecuación con estructura maxterms : Se dispone como un producto de términos en forma de suma de las diferentes variables que intervienen en la ecuación. Por ejemplo : y = ( a + b + c ) . ( a + b + c ) .( a + b + c )
Tanto en una estructura como en la otra, todos los términos han de contener todas las variables que intervienen en la ecuación Suele utilizarse también una segunda forma canónica, llamada numérica. Se asigna a cada término canónico un número decimal que es el equivalente binario que se obtiene de sustituir las variables según el siguiente criterio : A las variables que aparecen de forma directa ⇔ 1 A las variables que aparecen de forma negada ⇔ 0 Ejemplo : Supongamos una función F expresada en minterms :
F = c b a + c b a + c b a + c b a = ∑ ( 1, 3, 5, 7 ) 3
111 (7) 101 (5) 011 (3) 001 (1) Si viene expresada en forma de maxterms : F = ( c + b + a ) . ( c + b + a ) . ( c + b + a ) . ( c + b + a ) = II ( 1, 3, 5, 7 ) 3
____________________________________________________________________________________ Algebra de Boole pág. 9
Sistemas de control secuencial ____________________________________________________________________________________
4 a)
CONVERSIÓN ENTRE FORMAS Para pasar de la tabla de verdad a la expresión canónica algebraica en forma de suma de productos, se parte de la tabla de verdad y, aquellas combinaciones que hacen "1" la función se toman con el criterio expuesto anteriormente. c 0 0 0 0 1 1 1 1
luego
b 0 0 1 1 0 0 1 1
a 0 1 0 1 0 1 0 1
F 0 1 0 1 0 0 1 1
⇒
c.b.a
⇒
c.b.a
⇒ ⇒
c.b.a c.b.a
F = c . b . a + c . b . a + c . b . a + c . b . a = Σ ( 1, 3, 6, 7 ) 3
b)
Para pasar de la forma canónica algebraica o numérica de minterms a la tabla de verdad se procede al contrario, poniendo un "1" en las combinaciones correspondientes a los minitérminos.
c)
Para pasar de la tabla de verdad a la expresión canónica algebraica producto de sumas, se parte de la tabla de verdad y aquellas combinaciones que hacen "0" la función se toman con el criterio inverso al anterior ( las variables que valgan "0" se toman directas y las que valgan "1" complementadas. En el ejemplo anterior : F = ( c + b + a ) . ( c + b + a ) . ( c + b + a ) . ( c + b + a ) = II ( 2, 3, 5, 7 ) 3
d)
Para pasar directamente de una forma canónica de minterms a maxterms y viceversa, se obtiene la conversión mediante el complemento a 2n-1 de los términos que no pertenecen a la función, siendo n el número de variables de la función Ejemplo : Σ ( 1, 3, 6, 7 ) ----- faltan los términos 0, 2, 4, 5 3 2n-1 = 23 - 1 = 8 - 1 = 7....... 7 - 0 = 7 7-2=5 7-4=3 7-5=2
F = II ( 2, 3, 5, 7 ) 3
____________________________________________________________________________________ Algebra de Boole pág. 10
Sistemas de control secuencial ____________________________________________________________________________________
e)
Para convertir una expresión no canónica en canónica se procede de la siguiente manera : * *
A los productos que no sean canónicos se les multiplica por la forma directa y complementada de las variables que faltan A las sumas que no sean canónicas se les suma el producto de la forma directa y complementada de las variables que falten
Ejemplo : Transformar en la forma canónica minterms la siguiente ecuación : F=a.b.c + a + b.d Solución : A los productos que no sean canónicos, por faltarles algún término, se les multiplica por el término ( a + a ), ( b + b ), (c + c ) o ( d + d ), que les falte. Por tanto, la función anterior se transforma en : F = a . b . c . ( d + d ) + a . ( b + b ) (c + c ) ( d + d ) + b . d . ( a + a ) . ( c + c )
5
SIMPLIFICACIÓN DE FUNCIONES
Existen dos procedimientos básicos para simplificar las ecuaciones Booleanas : * * 5.1
Método algebraico Métodos tabulares y gráficos Método algebraico
Este método consiste en ir aplicando las propiedades del álgebra de Boole hasta conseguir la reducción total. El criterio más extendido consiste en obtener una expresión de un sistema cualquiera de las dos formas ya conocidas : como sumas de productos o como productos de sumas; de forma que tenga el menor número de términos y de variables, para obtener una expresión que realice exactamente la misma función planteada en el problema. Ejemplo : Simplificar la función F=abcd+abcd+abcd+abcd
____________________________________________________________________________________ Algebra de Boole pág. 11
Sistemas de control secuencial ____________________________________________________________________________________
Aplicando los axiomas del álgebra de Boole, obtenemos : abcd+abcd=abc(d+d)=abc(1)=abc abcd+abcd=abc (d+d)=abc (1)=abc F=abc+abc
de donde
y repitiendo el proceso anterior
abc+abc =ab(c+c)=ab (1)=ab
F=ab
5.2
Métodos tabulares de simplificación
Los métodos más empleados en la simplificación de funciones son : *
Tablas de Karnaugh : Se pueden utilizar para simplificar funciones de dos a seis variables, aunque habitualmente sólo se emplee para funciones de dos a cinco variables.
*
Tablas de Quine-McCluskey : Se puede emplear en la simplificación de ecuaciones de cualquier número de variables, pero se suelen utilizar solamente a partir de cinco variables
5.2.1 Tablas de Karnaugh Es un método de simplificación de funciones sencillo y rápido de manejar. Se aconseja no utilizarlo para más de 4-5 variables puesto que entraña más dificultades que ventajas a la hora de resolverlo. Para epigrafiar las tablas de Karnaugh se hace uso de un código progresivo, normalmente se emplea el código Gray. El código Gray se caracteriza porque dos números consecutivos solo se diferencian en un dígito o bit, lo que no ocurre con el código binario natural
____________________________________________________________________________________ Algebra de Boole pág. 12
Sistemas de control secuencial ____________________________________________________________________________________
Decimal 0 1 2 3 4 5 6 7
Binario natural 000 001 010 011 100 101 110 111
Binario Gray 000 001 011 010 110 111 101 100
El código binario natural es útil para el cálculo matemático, pero no para ciertas aplicaciones, por ejemplo para la codificación de las informaciones procedentes de los transductores analógicos, ya que el retraso de alguno de los bits daría lugar a una codificación transitoria errónea. El código Gray es continuo y cíclico porque el último término, como veremos, cumple la progresividad con el, primero. También es reflexivo porque puede generarse por reflexión sobre un eje, siendo precisamente la propiedad reflexiva la que utilizaremos para obtener el código Gray : Para una sola variable se tiene :
0 1 ---------1 0
Haciendo girar el código anterior sobre el eje "X" y añadiendo " ceros " a la izquierda de las posiciones antiguas y " unos " a la izquierda de las reflejadas, se tiene el código para 2 variables :
0 0
0 1
----------------
1 1
0 0 0 0
1 0
Para 3 variables
0 0 1 1
0 1 1 0
0 0 0 0 0 0 0 0
--------------------------- Para 4 variables
1 1 1 1
1 1 0 0
0 1 1 0
0 0 0 0 1 1 1 1
0 0 1 1 1 1 0 0
0 1 1 0 0 1 1 0
-------------------------------
1 1 1 1 1 1 1 1
1 1 1 1 0 0 0 0
0 0 1 1 1 1 0 0
0 1 1 0 0 1 1 0
____________________________________________________________________________________ Algebra de Boole pág. 13
Sistemas de control secuencial ____________________________________________________________________________________
Siguiendo con el mismo procedimiento se puede obtener el código Gray para cualquier número de variables Las tablas de Karnaugh están constituidas por una cuadrícula en forma de encasillado cuyo número de casillas depende del número de variables que tenga la función a simplificar. Cada una de las casillas representa las distintas combinaciones de las variables que puedan existir. ab cd a b 0
0
1
c 0
1
ab
00
01
11
00
01
11
10
00
10
01 11
1
10 Para 2 variables
Para 3 variables
Para 4 variables
Cada una de las casillas que forman la tabla puede representar términos tanto minterms como maxterms. En la siguiente figura aparece, a modo de ejemplo, la equivalencia de cada una de las casillas de una tabla de 4 variables expresada en términos minterms y maxterms
ab
00
01
11
10
00
abcd
abcd
abcd
abcd
01
abcd
abcd
abcd
abcd
11
abcd
abcd
abcd
abcd
10
abcd
abcd
abcd
abcd
cd
Términos Minterms
____________________________________________________________________________________ Algebra de Boole pág. 14
Sistemas de control secuencial ____________________________________________________________________________________
ab
00
01
11
10
00
a+b+c+d
a+b+c+d
a+b+c+d
a+b+c+d
01
a+b+c+d
a+b+c+d
a+b+c+d
a+b+c+d
11
a+b+c+d
a+b+c+d
a+b+c+d
a+b+c+d
10
a+b+c+d
a+b+c+d
a+b+c+d
a+b+c+d
cd
Términos Maxterms Cuando se vaya a representar una ecuación en forma minterms, se pondrá un "1" en la casilla correspondiente a cada término. Por el contrario, si se representa en forma maxterms, colocaremos un "0" en la casilla correspondiente a cada término. Hay que tener en cuenta, que al representar una ecuación Booleana, ésta tiene que estar en su forma canónica ( minterms o maxterms ) completa y, por tanto, todos los términos han de contener todas las variables que intervienen en la función Simplificación de ecuaciones en tablas de Karnaugh El principio de simplificación de las tablas se basa en una de las leyes del álgebra de Boole. a.b+a.b=a Como se puede observar en la tabla anterior, todas las casillas contiguas, según los ejes coordenados, se caracterizan por diferenciarse sólo en una variable, que se encuentra negada en una de ellas y sin negar en la otra. Esta característica, que se cumple en todas las tablas, permite aplicar de una forma automática la ley anterior, consiguiendo así simplificar las casillas contiguas por sus variables comunes El proceso de simplificación consta de las siguientes etapas : 1º .- Se hace una tabla de 2n celdillas ( siendo n el número de variables de entrada ) y se epigrafía con el código Gray 2º.- Se numeran los términos de la ecuación y este número de referencia se coloca en la celdilla cuyo epigrafiado corresponda al término considerado. Cuando se desea simplificar una función desde su tabla de verdad, no es preciso obtener previamente la ecuación de la función sin simplificar para seguidamente representarla en la tabla y proceder a su simplificación. En la práctica, se suele representar la función, directamente desde la tabla de verdad al mapa de Karnaugh, sin más que ir colocando los unos o los ceros en las casillas correspondientes a los valores que toma la función para cada una de las combinaciones binarias de las variables que forman dicha función
____________________________________________________________________________________ Algebra de Boole pág. 15
Sistemas de control secuencial ____________________________________________________________________________________
3º.- Se enlazan con un bucle los grupos de 2, 4, 8, celdillas ( potencias de 2 ) ocupadas si son adyacentes no oblicuas. Cada celdilla puede formar parte de más de un bucle. Se considera que los lados opuestos de la tabla se están tocando como si su superficie formara un toroide. Se debe procurar conseguir grupos del máximo número de casillas 4º.- Los términos agrupados por los bucles son simplificables entre sí y cada grupo dará lugar a un solo término, que se obtiene por la regla siguiente : Regla : Cada bucle proporciona un término que contiene las variables que no invierten a lo largo de todo el dominio del bucle. Las variables epigrafiadas con "0" llevarán la barra de inversión Ejemplo : Simplificar la siguiente ecuación S=ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD 1
2
3
ab cd
00
4
01
11
00
1
01
2
11
3
7
10
4
5
5
6
7
10
6
El bucle 1-2 proporciona el término : ABCD ⇒ABC ABCD El bucle 3-7-4-5 proporciona el término : ABCD ABCD ⇒AC ABCD ABCD
____________________________________________________________________________________ Algebra de Boole pág. 16
Sistemas de control secuencial ____________________________________________________________________________________
El bucle 4-6 proporciona el término : ABCD ⇒BCD ABCD Luego el resultado es :
S=ABC+BCD+AC
Ejemplo 2 : Dada la tabla de verdad de una función, obtener la ecuación más simplificada
a 0 0 0 0 1 1 1 1
b 0 0 1 1 0 0 1 1
c 0 1 0 1 0 1 0 1
F 1 1 0 0 1 1 1 1
Un punto a tener en cuenta al simplificar una función Booleana desde su tabla de verdad es si debemos representar la ecuación bajo la forma de minterms o maxterms. La norma práctica consiste en representar la ecuación en la forma canónica que menos términos tenga en la salida de dicha tabla. Esta norma no impide que a veces se obtengan ecuaciones más simplificadas representando la forma canónica que más términos tiene en la tabla de verdad En este ejemplo, representaremos la forma canónica maxterms por ser la de menos términos en la tabla de verdad
c 0 1
ab 00
01
11
10
0
a+b+c
0
a+b+c
Siendo la simplificación final de la función
(a+b)
F=a+b
____________________________________________________________________________________ Algebra de Boole pág. 17
Sistemas de control secuencial ____________________________________________________________________________________
Estados indiferentes En algunos casos existen combinaciones de variables de entrada que, por razones tecnológicas o de programa, no se pueden producir, o bien nos encontramos con alguna salida inhibida aunque exista la combinación de entradas que pueda producirla A estas combinaciones de entrada que, apareciendo en la tabla de verdad de funcionamiento del circuito, no producen en la salida ni 0 ni 1, las denominamos combinaciones indiferentes y se representan en la tabla de verdad mediante los símbolos X o φ. A su vez estas combinaciones indiferentes dan lugar a términos indiferentes, que pueden ser representados en las tablas de Karnaugh y se los puede considerar bien como 0 o como 1, según convenga para la simplificación Ejemplo : Simplificar por Karnaugh la función definida en la siguiente tabla de verdad
a
b
C
F
0 0 0 0 1 1 1 1
0 0 1 1 0 0 1 1
0 1 0 1 0 1 0 1
X 1 0 1 0 1 0 X
Si analizamos la tabla, comprobamos que el número de términos minterms es igual al número de términos maxterms. En estos casos debe intentar simplificarse por ambos tipos de ecuaciones y decidir cual de los resultados es el más simplificado. c
ab 00
0
X
1
1
01
1
11
X
1
abc abc abc abc
10
c
ab 00
0
X
1
01
11
10
0
0
0
X
a+b+c c
a+b+c a+b+c
c
a+b+c
____________________________________________________________________________________ Algebra de Boole pág. 18
Sistemas de control secuencial ____________________________________________________________________________________
Azares o " Aleas tecnológicas " Teóricamente la expresión F = A + A = 1 es totalmente cierta, pero en la práctica, debido a las características de los elementos utilizados en la conmutación, se puede producir un estado transitorio, conocido por azar o " alea tecnológica ", durante el cual F=A+A=0 Veamos un ejemplo : Si materializamos con contactos la función F = A + A , resulta el circuito siguiente : A 1
F
2
Puede verse que, al conmutar A, antes de cerrarse el contacto 2 se abre el contacto 1; por tanto, existe un pequeño intervalo de tiempo durante la conmutación en el que F=A+A=0 La duración de este transitorio es del orden de milisegundos en los contactores eléctricos y del orden de nanosegundos en los elementos electrónicos. Si el receptor es de respuesta lenta no acusará este fenómeno, sin embargo, el citado transitorio puede ocasionar el disparo no deseado de un biestable, un contactor, etc. dando lugar a una maniobra no prevista en el diseño. La forma de eliminar los azares al simplificar una función por las tablas de Karnaugh, es añadir a los términos obtenidos de los bucles normales, otros términos derivados de nuevos bucles que solapen las celdillas adyacentes pertenecientes a bucles normales distintos. Otra solución si el circuito se materializa con puertas lógicas consiste en poner un condensador entre la salida del circuito y masa para filtrar los impulsos transitorios. Asimismo, existen sensores electromecánicos ( como pulsadores ) que cierran el contacto abierto antes de abrirse el contacto cerrado. En expresiones del tipo A A = 0 también cierta, teóricamente, se puede presentar un fenómeno análogo y su solución es semejante
____________________________________________________________________________________ Algebra de Boole pág. 19
Sistemas de control secuencial ____________________________________________________________________________________
5.2.2 Tablas de Quine-McCluskey Cuando las ecuaciones tienen 5 o más variables es complicado utilizar las tablas de Karnaugh, siendo el método de Quine-McCluskey el más idóneo. Consiste este método en ordenar según el número de "1" que tengan las combinaciones de variables que cumplen la ecuación. A continuación se buscan las combinaciones que comparadas con los grupos adyacentes, con un "1" más o menos, difieran solo en una variable, que en una combinación estará negada y en la otra sin negar, eliminándose la misma. La función Booleana a simplificar ha de venir expresada bajo la forma minterms. El proceso de simplificación de ecuaciones se lleva a cabo a través de una serie de operaciones, obteniéndose las siguientes tablas : Tabla de agrupamientos base Tabla de agrupamientos de orden : primero, segundo, tercero, etc. Tabla reductora final Para poder comprender el proceso de reducción, veamos un ejemplo. Supongamos que se desea simplificar la ecuación ( representada en este caso en forma algebraica ) : X = ABC + ACD + ABCD + ACD 1ª Fase.-
Todos los términos de la ecuación lógica han de contener todas las variables ( es decir la ecuación debe representarse en su forma canónica ). Los términos que carezcan de alguna variable, ésta se incluye realizando la operación AND del término por la variable directa más la variable negada, teniendo en cuenta que (U+U)=1 Al aplicar esta regla en nuestro ejemplo, se obtiene : X = ABC ( D+D ) + ACD ( B+B ) + ABCD + ACD ( B+B )
X = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD
____________________________________________________________________________________ Algebra de Boole pág. 20
Sistemas de control secuencial ____________________________________________________________________________________
2ª Fase : Se determina el " índice " de cada término, siendo dicho índice el número de variables sin negar, o de valor "1", que contenga el término. Así por ejemplo, el primer término ABCD ( 0101 ) tiene de índice 2 y le corresponde el valor decimal de 5, obteniéndose por este procedimiento la tabla de agrupamientos base, que representaremos ordenada de menor a mayor por su índice
3ª Fase :
Término
Estado de las Variables
Valor decimal
Índice
ABCD
0100
4
1
ABCD
0011
3
ABCD
0101
5
ABCD
0110
6
ABCD
0111
7
ABCD
1011
11
ABCD
1111
15
2
3
4
Se forma una segunda tabla de agrupamientos de primer orden. Esta tabla se obtiene combinando los términos expresados en la tabla de agrupamientos base, siguiendo la siguiente regla : " Los términos a combinar no difieren entre sí, más que en el estado de una de las variables, la cual será sustituida por un guión " Términos combinados ( valor decimal ) ( 4, 5 ) ( 4, 6 ) ( 5, 7 ) ( 3, 7 ) ( 3, 11 ) ( 6, 7 ) ( 7, 15 ) ( 11, 15 )
Combinación 01001-0 01-1 0-11 -011 011-111 1-11
Índice 1 2 3
____________________________________________________________________________________ Algebra de Boole pág. 21
Sistemas de control secuencial ____________________________________________________________________________________
4ª Fase :
Se forma una nueva tabla de agrupamientos de segundo orden. Las nuevas combinaciones dispondrán por lo tanto de dos guiones, uno correspondiente a la lista anterior más el de la nueva variable que cambia de estado en la nueva tabla. Cuando en una tabla aparecen términos repetidos, se pueden eliminar, si bien, conservando siempre su procedencia Términos combinados ( valor decimal ) ( 4, 5 ) , ( 6, 7 ) ( 4, 6 ) , ( 5, 7 ) ( 3, 7 ) , ( 11, 15 ) ( 3, 11 ) , ( 7, 15 )
Combinación 01-01-- ( Se elimina ) --11 --11 ( Se elimina )
Índice 1 2
El proceso de reducción debe realizarse hasta que no sea posible realizar más agrupamientos; obteniéndose en ese momento la tabla reductora final 5ª Fase :
Se forma la tabla reductora final con los agrupamientos de orden superior realizados. Si con ellos no están cubiertos todos los términos de la tabla de agrupamientos base, se añadirán agrupamientos del orden inmediatamente inferior, y así sucesivamente, hasta que estén cubiertos todos los términos A B C D 0 1 - - - 1 1
3
4 5 6 7 11 15 X X X X X X X X
La ecuación simplificada se forma mediante la suma lógica de los términos no eliminados, empleando el convenio de las ecuaciones minterms ( 0 = variable negada y 1 = variable sin negar ), de manera que todos los términos de la tabla de agrupamientos base estén incluidos. Por tanto, en nuestro caso la ecuación final es : X = AB + CD
____________________________________________________________________________________ Algebra de Boole pág. 22
Sistemas de control secuencial ____________________________________________________________________________________
TEMA 4 : GRAFCET
____________________________________________________________________________________ Grafcet pág. 1
Sistemas de control secuencial ____________________________________________________________________________________
____________________________________________________________________________________ Grafcet pág. 2
Sistemas de control secuencial ____________________________________________________________________________________
1
INTRODUCCIÓN
Los métodos de síntesis basados en automatismos vistos en los textos de electrónica digital son adecuados bajo el punto de vista pedagógico. Sin embargo su adecuación resulta poco eficaz cuando el número de variables de entrada supera el número de 5 ó 6. Teniendo en cuenta que en los procesos industriales reales, el número de entradas/salidas puede ser de varios millares, resulta obvio que deben buscarse métodos de diseño más eficaces y adecuados para la síntesis de dichos sistemas basados en automatismos. En este módulo temático se trata el método de diseño mediante el Diagrama de Mando Etapa-Transición ( GRAFCET ) ( GRAphe Fonctionnel de Commande EtapesTransitions ), por ser de gran utilidad y creciente implantación en los dispositivos controladores lógicos programables industriales, si bien resulta igualmente eficaz para el diseño de automatismos basados en lógica cableada. 2
EL GRAFCET
Se trata de un método de análisis y diseño de los sistemas basados en automatismos, derivado de las Redes de Petri y desarrollado por la Asociación Francesa para la Cibernética, Economía y Técnica ( AFCET ) y por la también francesa Agencia para el Desarrollo de la Producción Automatizada. La norma francesa UTE NF C030-190 precisa los principios del Grafcet y codifica sus símbolos. La norma alemana DIN 40719 propone un lenguaje gráfico idéntico en sus principios pero ligeramente diferente en su forma. El Grafcet fue homologado en el año 1988 por la Comisión Electrotécnica Internacional ( Norma IEC 848 ). Una de las características a destacar en los automatismos, sobre todo en los dedicados al control de medianos y grandes procesos industriales, es el elevado número de variables de entrada que en ellos intervienen. A consecuencia de ello, los métodos clásicos de análisis vistos tradicionalmente en la electrónica digital se muestran inadecuados para su tratamiento, ya que la intervención de más de 5 ó 6 variables de entrada complica sobremanera su resolución. En los Controladores Lógicos Programables, y en general en la implementación de dispositivos basados en lógica programada no resulta ya rentable buscar una ley de mando con un número mínimo de "puertas lógicas". El coste de dicha búsqueda excede al de la memoria disponible en el dispositivo programable, ya que ésta experimenta abaratamientos constantes debidos a los altos niveles de integración alcanzados con los avances tecnológicos en la microelectrónica. El Grafcet no busca la minimización de las funciones lógicas que representan la dinámica del sistema, bien al contrario, su poder radica precisamente en que impone una metodología rigurosa y jerarquizada de solución en los problemas, evitando así las incoherencias, los bloqueos o los conflictos durante el funcionamiento del automatismo. ____________________________________________________________________________________ Grafcet pág. 3
Sistemas de control secuencial ____________________________________________________________________________________
Habría que destacar además en este método ciertas cualidades tales como : * * *
2.1
Claridad Legibilidad Presentación sintética
Principios básicos
El Grafcet es un diagrama funcional que describe la evolución del proceso que se pretende automatizar, indicando las acciones que hay que realizar sobre el proceso y que informaciones las provocan. Accesible tanto para el usuario como para el diseñador, facilita la comunicación y el diálogo entre las personas implicadas en el automatismo, tanto en el momento del análisis del proceso a automatizar, como posteriormente en el mantenimiento y reparación de averías. El Grafcet es independiente de las técnicas secuenciales " todo o nada ", neumática, eléctrica o electrónica, cableadas o programadas, pudiendo utilizarse para realizar el automatismo de mando, pero la utilización de secuenciadores, por una parte, y de autómatas programables por otra, permite una transcripción directa del diagrama funcional. Entre sus principales características podemos destacar que : *
Ofrece una metodología de programación estructurada " top-down " ( de forma descendente ) que permite el desarrollo conceptual de los general a lo particular
*
Introduce un concepto de "tarea " de forma jerarquizada
El proceso se descompone en etapas, que se activarán unas después de otras. A una etapa se asocian una o varias acciones. Estas acciones no son efectivas más que en la etapa que es activa. Una etapa se activa si la etapa precedente está activa y si la condición lógica o receptividad asociada a la transición de etapa se verifica. El cumplimiento de esta transición provoca la activación de la etapa siguiente y la desactivación de la etapa anterior
____________________________________________________________________________________ Grafcet pág. 4
Sistemas de control secuencial ____________________________________________________________________________________
Ejemplo :
Acción asociada a la etapa 1
Etapa 1
1
Traspaso de pieza Condición de transición
sv 2
Descenso pieza Condición de transición
d 3
Subida prensa m
Con el fin de definir el cuaderno de cargas de un equipo, el Grafcet se utiliza en 2 niveles Nivel 1 Nivel 2
Permite comprender lo que debe hacer el automatismo, de cara a las diferentes situaciones que puedan presentarse Estando hecha la elección tecnológica, establece la descripción de las precisiones necesarias para la realización práctica del equipo
El ejemplo que se da a continuación muestra la ayuda aportada a lo largo del estudio por el empleo del Grafcet : El Grafcet del ciclo se va determinando a medida que se eligen las tecnologías a emplear ( accionadores, captadores, preaccionadores, etc. ) evolucionando del Grafcet funcional al Grafcet de mando Marcado
Alimentació 0 Pulsador marcha Pieza 1
2
3
Alimenta Pieza li d Marcar
Retorno alimentació Pieza marcada y final retorno alimentador Retorno marcado Final del retorno de marcado
____________________________________________________________________________________ Grafcet pág. 5
Sistemas de control secuencial ____________________________________________________________________________________
1.Desde el pliego de condiciones, el Grafcet determina el ciclo ordenando las funciones a realizar, estando estas últimas expresadas de forma literal
b0 B a0
A+
b1
a1
A B+
Pieza
0 m 1
A+ a1
2
B+
A-
b1 a0 B-
3 b0
____________________________________________________________________________________ Grafcet pág. 6
Sistemas de control secuencial ____________________________________________________________________________________
2.Escogidos los accionadores ( cilindros A y B ), el Grafcet utiliza entonces los símbolos de movimientos ( A+, A-,...) y las referencias de los captadores de fin de carrera ( a0, a1,...)
B
b+
b0 a+
ab-
a0
b1 a1
A Pieza
0 m 1
1
a+
a1
a1 2
b+
a-
2
bb0
3.-
b+
a-
b1 a0
b1 a0 3
a+
Escogidos los preaccionadores ( 4.distribuidores biestables en este caso )el Grafcet determina entonces las señales emitidas ( a+, a-...) o recibidas (a0, a1,..) por la parte de mando
3
bb0 m
Finalmente, comprobando que pueden mantenerse los retornos de los cilindros, se utiliza la última etapa 3, como etapa inicial, suprimiendo así la etapa 0
____________________________________________________________________________________ Grafcet pág. 7
Sistemas de control secuencial ____________________________________________________________________________________
3
DEFINICIÓN ASOCIADOS
3.1
Etapa
DE
CONCEPTOS
Y
ELEMENTOS
GRÁFICOS
Se define a la Etapa como la situación del sistema en la cual todo o una parte del órgano de mando es invariante con respecto a las entradas/salidas del sistema automatizado. Una etapa corresponde a un periodo de funcionamiento del automatismo de mando, durante el cual, en espera de la satisfacción de una receptividad, las acciones engendradas y la receptividad del sistema no varían. La receptividad representa la facultad para el automatismo, de distinguir entre todas las informaciones que le llegan, únicamente aquellas que deben modificar su comportamiento en un instante dado. Durante el desarrollo del proceso, las Etapas se activan unas después de otras. Entre estas etapas, la primera se activa inicialmente al principio del funcionamiento. Gráficamente la Etapa, se representa por un cuadrado que se numera en su interior, dando de esta manera una secuencialidad a las etapas representadas. Igualmente, la numeración puede representarse por la letra E con un número como subíndice. En ambos casos el número indica el orden que ocupa la etapa dentro del Grafcet. Para distinguir el comienzo del Grafcet, la primera etapa ( etapa de inicialización ) se representa con un " doble cuadrado "
E 2
2
Representación de
0
E0
Representación de etapas iniciales
____________________________________________________________________________________ Grafcet pág. 8
Sistemas de control secuencial ____________________________________________________________________________________
3.2
ACCIÓN ASOCIADA
La acción o acciones elementales a realizar durante la etapa en el sistema, vienen indicadas mediante las etiquetas, que son rectángulos conectados a las etapas y situados a la derecha de las mismas.
10
Abrir válvula
5
A+
B-
Estas acciones elementales, pueden ser clasificadas como sigue : * Reales :
Se trata de acciones concretas que se producen en el automatismo, tales como abrir/cerrar una válvula, arrancar/parar un motor, etc. A su vez se clasifican en : Internas : Son acciones que se producen en el interior del dispositivo de control, tales como temporizaciones, conteos etc.
Fin de descenso CICLO 1 TEMPORIZACIÓN
3
Fin temporización
Externas : Se producen sobre el proceso en sí
M ACTIVAR MOTOR 1
4
PARAR MOTOR 2
P
____________________________________________________________________________________ Grafcet pág. 9
Sistemas de control secuencial ____________________________________________________________________________________
* Virtuales :
No se realiza ninguna acción sobre el sistema. Suelen utilizarse como situaciones de espera a que se produzcan determinados eventos ( activación de determinadas señales ) que permitan la evolución del proceso. En estas etapas la etiqueta está vacía o sin etiqueta. mac
1
A derecha
11
b 2
d A Izquierda
B Izquierda
12
a 3
B Derecha
c Espera
13
Espera
E3 . E13
Cuando se realizan dos secuencias simultáneas, es posible que el tiempo que cada una de estas secuencias tarda en realizarse sea distinto, en función del número de tareas asociadas a las etapas, de cuando se activen las condiciones de transición, etc. Para finalizar dos secuencias simultáneas es necesario que las etapas últimas de cada una de ellas estén activas; una o las dos pueden ser etapas de espera para que la secuencia más rápida aguarde el final de la secuencia más lenta.
* Incondicionales:
Son acciones que se producen con sólo quedar activadas las etapas correspondientes M ACTIVAR MOTOR 1
4 P
____________________________________________________________________________________ Grafcet pág. 10
Sistemas de control secuencial ____________________________________________________________________________________
Estas acciones pueden ser activas mientras la etapa esté activa o pueden activarse en una etapa y desactivarse en otra posterior
M ACTIVAR MOTOR 1
4
P PARAR MOTOR 1
10
* Condicionales :
Son aquéllas que requieren el cumplimiento de una condición adicional a la propia activación de la etapa correspondiente. Estas condiciones suplementarias se anotan al lado de un trazo vertical encima de la acción
d 34
T / 0 / 5 seg ABRIR VÁLVULA 1
f 35
La válvula 1 se abrirá si la etapa 34 está activa y han transcurrido 5 seg. desde que se activó el temporizador T0
____________________________________________________________________________________ Grafcet pág. 11
Sistemas de control secuencial ____________________________________________________________________________________
3.3
Transición y receptividad
El concepto de Transición se asocia a la barrera existente entre dos etapas consecutivas y cuyo franqueamiento hace posible la evolución lógica del sistema. A toda transición le corresponde una receptividad, que es la condición lógica necesaria para que se produzca el franqueamiento, si bien éste se producirá siempre que además, la etapa precedente esté activa. La condición lógica viene expresada mediante una función lógica booleana. Si se verifica la receptividad, estando activada la etapa precedente, entonces se realiza la transición, y se produce la activación de la etapa siguiente y la desactivación de la etapa precedente. Las receptividades se pueden expresar bajo diferentes formas : * * * * * * *
Captadores, fin de carrera Valor de contador ( C = 20 ) Temperatura ( 800 º C ) Nivel de velocidad ( 1000 r.p.m. ) Fin de una temporización Resultado de una comparación ( >, > > <
N.I.E.E.A.I 4 5 5 3
3-6
Q
1
<
3
6-3 3-7
R' Q
7 1
> <
5 4
7-3
S
1
<
4
Compatible Compatible Compatible Incompatibl e Incompatibl e Compatible Incompatibl e Incompatibl e
S. Antag. No No No Si Si No Si Si
Los e.d.a ( 2 ) y ( 7 ), son idénticos e incompatibles, por el caso c: observemos que los intervalos entre S y S̅ son menores que entre los estados ( 7 ) y ( 2 ). Los e.d.a ( 3 ) y ( 6 ) son idénticos e incompatibles, por el apartado c. Observemos que los intervalos entre Q y Q̅ son menores que los intervalos entre los estados ( 3 ) y ( 6 ) Los e.d.a ( 3 ) y ( 7 ) son idénticos e incompatibles por al apartado c. Observemos que los intervalos entre Q y Q̅ son menores que los intervalos entre los estados ( 3 ) y ( 7 ). Igualmente, los intervalos entre S y S̅ son menores que los intervalos entre los estados ( 7)y(3) Para eliminar las incompatibilidades existentes entre e.d.a idénticos, se introducen las variables necesarias , de manera que la creación corte todos los lazos, y la desactivación sea fuera de los lazos 5.2
Variables auxiliares
La discriminación de e.d.a incompatibles se puede realizar, algunas veces, por condicionamiento a variables internas ( situaciones binodales ), pero normalmente es necesario introducir nuevas variables condicionadoras, llamadas " variables auxiliares ". Estas variables se introducen en el grafo de secuencia y se mantienen memorizadas durante un cierto intervalo del ciclo secuencial 5.3
Variables directivas
Se llaman " variables directivas " a aquellas que en el momento de aparecer dan lugar a una nueva situación binodal. Estas variables pueden ser simples o booleanas " Las variables directivas han de tomarse siempre para la obtención de las ecuaciones lógicas ", porque son las que determinan el momento de creación de las situaciones binodales. Las restantes variables que junto con la directiva constituyen un e.d.a. son solamente " condicionantes " del efecto de dicha variable directiva y únicamente serán necesarias, algunas de ellas, en aquellos casos que la variable directiva exista ( aunque no sea como directiva ) varias veces en un mismo ciclo y necesita ser discriminado su efecto en los distintos momentos de la secuencia. ____________________________________________________________________________________ Teoría Binodal pág. 17
Sistemas de control secuencial ____________________________________________________________________________________
5.4
Discriminación de estados de acción incompatibles
La discriminación de e.d.a. idénticos incompatibles se consigue introduciendo en el grafo de secuencia las variables auxiliares. Una variable auxiliar será creada por alguna de las variables directivas o situaciones binodales existentes en uno de los intervalos del ciclo que separan los e.d.a. incompatibles, y será borrada ( creada su complementaria ) por alguna variable directiva o situación binodal existente en el otro intervalo que separa a los citados e.d.a. Las variables auxiliares tiene carácter binario ( X, X̅ ); por tanto, una sola variable auxiliar puede discriminar dos o más e.d.a. incompatibles; bastará para ello que unos e.d.a. queden en el intervalo del dominio de X, y los correspondientes incompatibles, en el intervalo del dominio de X̅ El número de variables auxiliares necesarias para discriminar todos los e.d.a. incompatibles, y la determinación de los puntos del grafo en que aquellas deben ser introducidas se obtiene fácilmente trazando el número mínimo de líneas verticales que, pasando por alguna v.d.a., intercepten la totalidad de los enlaces de los e.d.a. incompatibles. Así, en el grafo anterior bastará la línea vertical X para interceptar todos los enlaces de un intervalo, y la línea X̅ para interceptar los del intervalo de vuelta 5.5
Dominio de una variable
Se denomina dominio de una variable ( directiva, condicionante o auxiliar, simple o booleana ) a los intervalos de ciclo durante los cuales permanece en ese estado. Por ejemplo X está activada en 3 intervalos : entre ( 5 ) y ( 6 ), entre ( 6 ) y ( 7 ) y entre ( 7 ) y(8) 5.6
Dominio de una situación binodal
Se llama dominio de una situación binodal a los intervalos de ciclo comprendidos entre la citada situación y situación antagónica. Por ejemplo de P a P̅ hacia la derecha hay un intervalo, y hacia la izquierda hay siete Tanto el dominio de una variable como el dominio de una situación binodal pueden ser intermitentes, pues es frecuente en muchos automatismos el que una misma variable o situación binodal exista en dos o más grupos de intervalos distintos del ciclo; es decir, que se cree y se borre más de una vez dentro de un mismo ciclo. Observemos que los e.d.a. ( 2 ) y ( 3 ) han quedado bajo el dominio de X̅ , mientras que sus incompatibles ( 6 ) y ( 7 ), respectivamente, están bajo el dominio de X A continuación, diseñaremos un automatismo concreto, con el objeto de aclarar los conceptos expuestos y orientar sobre la forma de realizar el grafo de secuencia y la obtención de las ecuaciones lógicas
____________________________________________________________________________________ Teoría Binodal pág. 18
Sistemas de control secuencial ____________________________________________________________________________________
Ejercicio : Se desea sintetizar un autómata secuencial para el gobierno del desplazamiento de dos móviles, según el programa siguiente : Mediante una orden impulsional en el botón de puesta en marcha M se debe activar el contactor R1, lo que provoca que el móvil (1) se desplace hacia la derecha, al llegar éste al captador F2 se debe desactivar R1 y a continuación activarse R3, lo que hace desplazar al móvil (2) hacia la derecha. Al llegar éste al captador F4 se debe desactivar R3 y activarse seguidamente R4, por lo cual el móvil (2) se desplazará hacia la izquierda hasta llegar de nuevo a F3, donde debe pararse y seguidamente activarse R2, que hace regresar al móvil (1) hasta F1 ( estado inicial ), donde permanecerá hasta una nueva pulsación en M, que ordenará la iniciación de un nuevo ciclo.
R1
R2
HUSILLO
MOTOR
1
M F1
F2
R3
R4
HUSILLO
MOTOR
2
F3
F4
X M·F1
R1
F2
R1
F2·R1
R3
F4
X
R3
F4·R3
R4
F3
R4
F3·R4
R2
F1
M... 1 F1...1 F2...0 F3...1
* 0 1 1
* 0 1 1
* 0 1 0
* 0 1 0
* 0 1 1
* 0 1 1
0 1 0 1
F4...0 (1)
0 (2)
0 (3)
1 (4)
1 (5)
0 (6)
0 (7)
0 (8)
R2
____________________________________________________________________________________ Teoría Binodal pág. 19
Sistemas de control secuencial ____________________________________________________________________________________
Identificación de e.d.a. idénticos * * * *
2-7 7-2 3-6 6-3 3-7 7-3
Comparando el e.d.a. ( 1 ) con todos los siguientes vemos que no es idéntico a ninguno Comparando el e.d.a. ( 2 ) con todos los siguientes se deduce que es compatible con el ( 3 ) ( caso b ). También es compatible con el ( 6 ) ( caso c ). Sin embargo con el ( 7 ) es incompatible Comparando el e.d.a. ( 3 ) con todos los siguientes se verifica que es incompatible con el ( 6 ) y con el ( 7 ) Los restantes e.d.a no tienen ninguna incompatibilidad
R1' R2 R3 R4' R3 R2
N.I.E.E.S.B 7 1 1 7 1 1
> < < > < <
N.I.E.E.A.I 5 3 3 5 4 4
Compatible Incompatible Incompatible Compatible Incompatible Incompatible
S. Antag. No Si Si No Si Si
Introducción de variables auxiliares Si en el ciclo que existen e.d.a. incompatibles ( en el ejercicio que estamos tratando son incompatibles el 2 con el 7 y el 3 con el 6 y 7 ) es necesario discriminar sus acciones, lo cual se consigue condicionando los e.d.a. incompatibles a variables auxiliares distintas. Estas variables deben colocarse en los intervalos que separan a los citados e.d.a. incompatibles El número de variables auxiliares y el lugar del grafo donde deben ser introducidas se determina prácticamente trazando el número mínimo de líneas verticales que pasando por alguna v.d.a., intercepten la totalidad de los enlaces de los e.d.a. incompatibles. Así, en el grafo presente bastará la línea vertical X que pasa por la variable de acción F4 para interceptar todos los enlaces de un intervalo, y la línea X̅ que pasa por la v.d.a. F1 para interceptar el intervalo de vuelta Obsérvese en el grafo como los e.d.a. 2 y 3 quedan bajo el dominio de X̅ en tanto que sus incompatibles están bajo el dominio de X. Por tanto, si condicionamos la operatividad de dos e.d.a. idénticos incompatibles a la existencia o dominio de dos variables distintas ( X y X̅ ) desaparece la incompatibilidad, pues, evidentemente, al incorporarse a dos e.d.a. idénticos una variable distinta se obtienen dos nuevos estados diferentes entre sí. Una vez introducidas las variables auxiliares, el paso siguiente y último es la obtención de las ecuaciones lógicas
____________________________________________________________________________________ Teoría Binodal pág. 20
Sistemas de control secuencial ____________________________________________________________________________________
Obtención de las ecuaciones lógicas Se aplican los teoremas binodales, teniendo en cuenta la siguiente regla :
" Si el dominio de una variable directiva es menor que el de la situación por ella activada, o lo que es lo mismo, si en el dominio de una variable directiva no aparece la situación antagónica de la situación activada por la citada variable, es suficiente para el gobierno de la situación la propia variable directiva, es decir, no hace falta tomar, al hallar la ecuación de la situación, ninguna variable más, ni auxiliar ni de entrada "
En caso contrario, sí es necesaria la intersección con otra u otras variables auxiliares o de entrada, para tener un dominio menor que el de la situación activada. Apliquemos la regla para la obtención de las ecuaciones lógicas de los binodos del grafo de secuencia anterior Ecuación del binodo auxiliar ( X, X̅ ) Los dominios de las variables directivas F4 y F1 son menores que los de las situaciones X y X̅ , creadas por ellas, respectivamente. No serán necesarias otras variables. X = ( X + F4 ) · F1 Ecuación del binodo ( R1, R̅1 ) La variable directiva de la situación R1 es la booleana M · F1 cuyo dominio es menor que el de la situación R1. La variable directiva de la situación R̅1 es F2 cuyo dominio es menor que el de R̅1 ; por tanto, su ecuación lógica será : R1 = ( R1 + M · F1 ) · F2 Ecuación del binodo ( R2, R̅2 ) La variable directiva de la situación R2 es F3 ·R̅4 , cuyo dominio es mayor que el de R2; por tanto F3 · R̅4 no es suficiente para el gobierno de R2, porque dentro de su dominio aparecerá la situación antagónica R̅2 dando lugar a una indeterminación. Por esta razón es necesario reducir el dominio de F3 · R̅4 , lo que se consigue interceptándole con el dominio de la auxiliar X, resultando F3 · R̅4 · X; esta intersección ya tiene un dominio menor que R2. Así pues, la citada intersección F3 · R̅4 · X será la v.d.a. definitiva creadora de la situación R2
____________________________________________________________________________________ Teoría Binodal pág. 21
Sistemas de control secuencial ____________________________________________________________________________________
1
2
3
4
5
6
7
8
F3 R4 R2 Utilizando la variable auxiliar X, se consigue reducir el dominio, no apareciendo ya la situación antagónica de R2 ( es decir no apareciendo R̅2 ), tal como se puede apreciar en la tabla siguiente 1
2
3
4
5
6
7
8
F3 R4 X R2
La variable directiva de la situación R̅2 es F1, cuyo dominio es menor que el de R2; por tanto, es suficiente F1 como v.d.a. definitiva R2 = ( R2 + F3 · R4 · X ) · F1 Cuando la variable directiva crea a su vez una variable auxiliar ( X̅ ), puede utilizarse ésta en lugar de la directiva, siempre que la intersección resultante siga siendo de menor dominio que la situación. Este caso se da en el problema presente y su utilización puede reportar alguna simplificación, como ocurre aquí : R2 = ( R2 + F3 · R4 · X ) · X = ( R2 + F3 · R4 ) · X Aplicando las mismas reglas a los restantes binodos se obtienen las siguientes ecuaciones R3 = ( R3 + F2 · R1 · X ) · X = ( R3 + F2 · R1 ) · X Nota : Todos los factores parciales de los términos de una función "O" pueden suprimirse si también figuran en la misma ecuación como factores generales. Para comprobarlo, basta efectuar el producto, simplificar y sacar nuevamente factores comunes. R4 = ( R4 + F4 · R3 ) · F3
____________________________________________________________________________________ Teoría Binodal pág. 22
Sistemas de control secuencial ____________________________________________________________________________________
5.7
Estados inoperantes o transitorios
Cuando en un sistema secuencial una o más variables tienen carácter aleatorio, es decir si el instante de aparición de dichas variables no está totalmente determinado, pueden aparecer en los intervalos existentes entre e.d.a. operativos, unos estados transitorios que aunque deben ser inoperantes porque no se les ha asignado efecto alguno, pueden ser idénticos e incompatibles con otros e.d.a. operativos La existencia de un estado transitorio en un instante dado de la secuencia haría actuar el e.d.a. operativo idéntico correspondiente a otro momento secuencial distinto, produciendo un salto de secuencia no deseado. En estos casos es necesario discriminar el e.d.a. operativo respecto al transitorio idéntico, bien mediante una variable auxiliar o bien a través de su condicionamiento a situaciones binodales si ello fuera posible. Los estados transitorios se escriben, en el grafo de secuencia, debajo de la situación binodal correspondiente al momento secuencial en que aparecen. Los estados transitorios, por ser inoperantes, son siempre compatibles entre sí. también son compatibles con los dos e.d.a. operativos adyacentes, puesto que en la identidad de un transitorio con el e.d.a. operativo adyacente anterior no haría más que confirmar el efecto de éste; y si la identidad es con el e.d.a. operativo adyacente posterior significaría que ya se había llegado a él, es decir, no sería realmente un transitorio. Para detectar si en el intervalo entre dos e.d.a. operativos consecutivos puede aparecer algún estado transitorio, se observa si en dicho intervalo puede cambiar de nivel alguna variable. Para ello hay que tener en cuenta, además del enunciado y exigencias del programa, el comportamiento de las variables. Al escribir el grafo de secuencia se asignará el signo de indeterminación * a aquellas variables que tengan este carácter. A las variables que no cambien de nivel se les asignará el nivel lógico que mantienen en el intervalo, que evidentemente es el que figura en el e.d.a. de entrada a dicho intervalo. Supongamos que en el grafo parcial de la figura, la variable de entrada "a" es aleatoria. Se observa que la aparición del transitorio ( 2' ) podría hacer actuar el e.d.a. operativo ( 1 ), que puede ser idéntico, en un momento no deseado; por tanto, es necesario discriminar el e.d.a. operativo ( 1 ) respecto al transitorio ( 2' ) a
S1
b
S1
c
S2
*a
1
*
*
*
*
*
b
0
0
1
*
0
0
c
0
0
0
0
1
1
(1)
( 1' )
(2)
(3)
( 3' )
( 2' )
____________________________________________________________________________________ Teoría Binodal pág. 23
Sistemas de control secuencial ____________________________________________________________________________________
También aparecen transitorios cuando la variable directiva de alguna situación binodal contiene más de una variable exterior independiente, dado que no es posible físicamente que dos o más variables independientes lleguen al mismo tiempo; la diferencia podría ser despreciable y no provocar problemas, pero lo más probable en la práctica, es que la duración del transitorio sea superior al tiempo de respuesta de los elementos del sistema. El grafo de la figura siguiente posee dos transitorios de este tipo a
b·c
S1
a
1
1
1
1
b
0
0
1
1
c
0
1
0
1
(1)
( 1' ) ( 1" )
S2
(2)
El e.d.a. ( 2 ) se forma a la llegada de b y c, pero como estas variables no pueden llegar al mismo tiempo aparecerá alguno de los transitorios ( 1' ) ó ( 1" ), según sea c o b que llegue antes. Ejercicio. Sistema de alarma Un sensor vigila la temperatura de una máquina. Cuando, por causa de una avería, la temperatura llega a un cierto valor preestablecido, el sensor envía una señal S. Tanto si la avería es momentánea como si es persistente, se debe poner en funcionamiento un avisador acústico A y encenderse una lámpara roja L. Recibida la señal de alarma, el operario debe accionar un pulsador P, y pueden ocurrir dos casos : a.b.-
Si la avería sólo fue momentánea, el impulso P hace que se apague la lámpara L y también deje de funcionar el avisador acústico. Si la avería persiste, el impulso P desconecta el avisador acústico A, pero la lámpara L seguirá encendida hasta que desaparezca la avería, en cuyo momento se apaga
S A
P
L
____________________________________________________________________________________ Teoría Binodal pág. 24
Sistemas de control secuencial ____________________________________________________________________________________
En este automatismo la v.d.a. "S" es aleatoria; por tanto, habrá que tener en cuenta los estados transitorios
S
A
A
L
P
S
A
L
S
1
*
*
*
*
*
0
0
P
0
0
0
0
1
*
*
*
(1)
( 1' )
(2)
( 2' )
(3)
L
( 3' ) ( 4 )
( 4' )
A A
Aunque el e.d.a. ( 1 ) es incompatible con el transitorio ( 3' ) no es necesario introducir variables auxiliares porque ( 1 ) está bajo el dominio de L̅ , mientras que ( 3' ) lo está en el dominio de L. Por tanto, la situación binodal L̅ será el condicionante discriminatorio del e.d.a. ( 1 ) respecto al transitorio ( 3' ) El e.d.a. ( 2 ) es incompatible con el ( 4 ) y el ( 4' ), pero está bajo el dominio de situaciones distintas ( A y A̅ ) que servirán para discriminarlos. Por tanto las ecuaciones lógicas serán : A=(A+S·L)·P L=(L+A)·S·A=L·S+A
____________________________________________________________________________________ Teoría Binodal pág. 25
Sistemas de control secuencial ____________________________________________________________________________________
6
DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES GOBERNADOS POR LOS CAMBIOS DE NIVEL ( FLANCOS ) EN SUS ENTRADAS
Vamos a estudiar el diseño binodal de automatismos secuenciales gobernados por los flancos en sus entradas, mediante un ejemplo práctico Ejercicio : Se desea diseñar un automatismo de forma que cada vez que se actúe sobre un pulsador P se encienda una bombilla B si estaba apagada, o se apague si estaba encendida. a)
Solución mediante variable P diferenciada
P
B
P
P
B
P
1
1
(1)
(2)
B
( 1 ) y ( 2 ) son incompatibles porque dan lugar a situaciones antagónicas. Si intentamos introducir entre ellos variables auxiliares para diferenciarlos, vemos que no se puede, ya que no hay estados intermedios Podríamos condicionar la creación de B a B̅ · P ; y la creación de B̅ a B · P, pero haciéndolo de esta forma van a surgir problemas. Veamos : B=(B+B·P)·B·P=(B+B·P)(B+P)=B·P+B·P=B + P
____________________________________________________________________________________ Teoría Binodal pág. 26
Sistemas de control secuencial ____________________________________________________________________________________
Si P = 1 con B = 0 → B = 1, pero si soltamos el pulsador P = 1 con B = 1 → B = 0 y así sucesivamente, es decir, se producen oscilaciones. El único caso en que funcionaría sería si al mismo tiempo que B = 1, P pasase a 0, es decir, que la pulsación de P fuese muy corta. La forma de conseguir esto es que P actúe de forma diferenciada. Un sencillo diferenciador sería : P
Pd
La duración del impulso se puede aumentar añadiendo más inversores, con la condición de que el total sea un número impar. Esta forma de materialización es insegura desde el punto de vista P Pd hardware. Requiere verificar experimentalmente la anchura de Pd↑ más adecuada ya que con un sólo inversor en TTL resulta un impulso ≈ 10 ns, siendo algo justo para conmutar B. Con 3 inversores el impulso sería de unos 30 ns pudiendo dar lugar a veces a 2 conmutaciones sucesivas. Una solución intermedia podría ser añadir un buffer no inversor a continuación del inversor B = ( B + B · Pd
) · B · Pd
= B · Pd
+ B · Pd
= B + Pd
B
Pd
Este montaje no es recomendable por ser muy difícil encontrar un impulso de duración adecuada b)
Solución actuando P por flanco explícito
Cuando aparecen 2 e.d.a. incompatibles consecutivos, la solución más segura es por flancos. El grafo sería :
P
P
B
P
1
1
(1)
(2)
B
____________________________________________________________________________________ Teoría Binodal pág. 27
Sistemas de control secuencial ____________________________________________________________________________________
Sin embargo, aun actuando por flanco los estados siguen siendo iguales e incompatibles ( dan lugar a situaciones antagónicas ) ya que ambas situaciones son activadas por la misma variable directiva P ↑. Para distinguir los estados, los condicionaremos a la situación anterior, es decir B se creará si estando presente B̅ llega P ↑ ; y B̅ se creará si estando presente B llega P ↑ B=(B+B·P )·B·P c)
Solución actuando P por flanco implícito
En este caso se realiza la detección del flanco a través de un binodo auxiliar X - X̅
X
X B·P
B·P X·P=P
P
B
X·P=P
1
1
(1)
(2)
B
( X ) será creada por la situación anterior condicionada al reposo de P ( P̅ ) y será borrada ( X̅ ) por la situación anterior ( B̅ ) condicionada también al reposo de P
X=(X+B·P)·B·P La situación principal ( B ) será creada por X̅ condicionada a la llegada de P y será borrada ( B̅ ) por X condicionada también a la llegada de P
B=(B+X·P)·X·P Regla Práctica Cuando dos e.d.a. incompatibles sean consecutivos, la variable auxiliar discriminatoria de cada e.d.a. será creada y negada por el producto lógico de la situación binodal precedente con el complemento de la variable directiva del e.d.a. considerado En el caso, poco probable de que la intersección citada tuviera un dominio mayor que la variable auxiliar creada, se reducirá este dominio interceptándolo con otras variables, tal como se ha venido haciendo en la determinación de las v.d.a. definitivas
____________________________________________________________________________________ Teoría Binodal pág. 28
Sistemas de control secuencial ____________________________________________________________________________________
7 7.1
DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES CON TEMPORIZADOR Introducción
En este punto se va a tratar el fenómeno de la temporización y su aplicación a los automatismos secuenciales. Para ello se va a hacer un resumen de los diversos tipos de temporización y la forma de plasmarlo en los grafos de secuencia resolutivos del problema secuencial. Un punto importante a tener en cuenta, que va parejo al problema de la temporización, es la detección de posibles estructuras monodales que con apariencia de binodos se encuentran en los grafos de secuencia. Este problema surge como consecuencia de temporizar el efecto de alguna variable, ya que, con ello, se alarga, se recorta o desplaza, en el dominio del tiempo, el efecto de la misma, provocando usualmente una variación del dominio de la variable, lo cual debe ser tenido en cuenta. Por último, se va a tratar el diferenciador. Dicho dispositivo va a permitir, en determinadas ocasiones, evitar la utilización de variables auxiliares. Como consecuencia de ello el número de binodos auxiliares disminuirá y, por tanto, el número de ecuaciones lógicas 7.2
Tipos de temporización
Los temporizadores son dispositivos que se colocan entre la señal que se desea temporizar y el receptor que tiene que recibir su acción, para retardar su activación, su desactivación, o las dos cosas sucesivamente. El diagrama de bloques de un temporizador es el mostrado en la siguiente figura : SEÑAL DE ENTRADA A TEMPORIZADOR
At
RECEPTOR
Se distinguen tres tipos de temporizadores elementales : 7.2.1 Temporización en la activación Ata Es aquel que al activarse la señal de entrada A, tarda un tiempo "t" en transmitirla a la salida
____________________________________________________________________________________ Teoría Binodal pág. 29
Sistemas de control secuencial ____________________________________________________________________________________
7.2.2 Temporización en la desactivación Atd Es aquel que recibe la señal de entrada A y la transmite inmediatamente al receptor, pero cuando desaparece A, el temporizador sigue suministrando, durante un tiempo "t", una señal equivalente a la entrada A, ya desaparecida 7.2.3 Temporización en la activación y en la desactivación Atad Es el que realiza sucesivamente las dos temporizaciones indicadas anteriormente Los tres tipos de temporización están representados gráficamente en la siguiente figura :
1 A
Señal de entrada A Señal temporizada en la activación ta A
A
Señal temporizada en la desactivación td A
A
Señal temporizada en la activación y en la desactivación tad A
A
0
t
A ta
t
A td
t
A tad
t
t
t
t
A partir de estas tres temporizaciones básicas estudiadas se pueden obtener otros tipos de temporizaciones, que podríamos llamar secundarias, simplemente invirtiendo las entradas o las salidas de los temporizadores estudiados. Con estos nuevos tipos de temporización se abre un amplio abanico de posibilidades a la hora de utilizar los temporizadores. También es útil, el presente estudio, para que a partir de un sólo tipo de temporizador comercial se pueda obtener cualquier tipo de temporización, según nos interese. Así pues, vamos a distinguir dos tipos de temporizaciones secundarias : A.B.-
Inversión a la salida del temporizador básico Inversión a la entrada del temporizador básico
____________________________________________________________________________________ Teoría Binodal pág. 30
Sistemas de control secuencial ____________________________________________________________________________________
A.- Inversión a la salida Se obtienen las temporizaciones siguientes :
Ata
Atd
Atad
1 0
A
A
t
A ta
A
t
A td
A
t
A tad
t
t
t
t
B.- Inversión a la entrada Si la señal sufre una inversión a la entrada del temporizador, se obtienen las temporizaciones siguientes :
A ta
A td
A tad
1 0
A ta
A
t
A
A
t
A td
t
A
t
A tad
t
t
t
____________________________________________________________________________________ Teoría Binodal pág. 31
Sistemas de control secuencial ____________________________________________________________________________________
Observando detenidamente las figuras anteriores se obtienen tres igualdades de gran importancia, las cuales permiten obtener todas las funciones de tiempo, utilizando un sólo tipo de unidad temporizadora, asociada a las unidades inversoras que sean necesarias A ta = A td
A td = A ta
A tad = A tad
A
A
ta ta
A td
A
ta
td
Temporizaciones básicas
tad ta
td
A
A
ta
ta
A td
td
tad
td
A
ta Temporizaciones
A ta
td
A td
A
tad
secundaria
ta
ta
____________________________________________________________________________________ Teoría Binodal pág. 32
Sistemas de control secuencial ____________________________________________________________________________________
7.3
Detección de monodos con apariencia de binodos
Cuando en un automatismo se temporiza el efecto de alguna de sus variables, los dominios de éstas, se ven modificados en mayor o menor medida. Como consecuencia de esta modificación, del dominio de algunas variables, puede ocurrir que ciertas estructuras con apariencia de binodos en el grafo de secuencia, se comporten como verdaderas estructuras monodales ( monodos ). La detección de estas estructuras monodales se traduce en una mayor simplificación de la ecuación lógica resultante del falso monodo. Para detectar estas estructuras monodales existen dos reglas prácticas. Estas reglas son de aplicación inmediata una vez que se ha realizado el grafo de secuencia del automatismo.
REGLA 1.- Dos situaciones binodales antagónicas constituyen un " monodo restringido ", es decir, carente de variable de borrado, cuando el dominio de la variable " C " creadora de la situación principal " P ", es igual al dominio de ésta
C
P
REGLA 2.- Dos situaciones binodales antagónicas constituyen un " monodo generalizado " cuando sus variables directivas sean diferentes y además la variable " C" creadora de la situación principal " P ", se mantenga en todo el dominio de la situación o le sobrepase, pero no sobrepase el dominio de variable de borrado " B " ( en el caso de que el dominio de "C" penetre en el dominio de "B" )
B
C
P
____________________________________________________________________________________ Teoría Binodal pág. 33
Sistemas de control secuencial ____________________________________________________________________________________
Ejercicio 1 Un equipo de soldadura oxiacetilénica lleva una electroválvula A para la vía del acetileno y otra Ox para la vía del oxígeno. Programa : a) Un impulso en un pulsador de marcha M excita la electroválvula A y a los 3 segundos de existir A se excita Ox. b)
Un impulso en un pulsador de parada P desexcita A y seguidamente se desexcita Ox
Monodo restringido ( regla 1 )
M
A
ta A 3 s.
Ox
P
A
A
M
1
0
0
0
P ta A 3 s.
0
0
1
1
0
1
1
0
(1)
(2)
(3)
(4)
A=(A+ M)·P
Ox
Ox = A ta 3 s.
Ejercicio 2 Diseñar un circuito para el gobierno de dos electroimanes A y B, con el siguiente programa de trabajo a)
Un impulso eléctrico dado por el pulsador de puesta en marcha M activa al electroimán A y a los 5 segundos siguientes se activa B
b)
Un impulso eléctrico del pulsador de parada P desactiva al electroimán B y a los 8 segundos siguientes se desactiva A
____________________________________________________________________________________ Teoría Binodal pág. 34
Sistemas de control secuencial ____________________________________________________________________________________
Monodo generalizado ( regla 2 )
X
M
X
A
ta A 5 s.
B
P
B
ta B 8 s.
M
1
0
0
0
P ta A 5 s. ta B 8 s.
0
0
1
0
0
1
1
1
1
1
0
1
(1)
(2)
(3)
(4)
ta A=(A+ M)·B ·X 8 s.
X=(X+M )·P
A
B = A ta · X 5 s.
____________________________________________________________________________________ Teoría Binodal pág. 35
Sistemas de control secuencial ____________________________________________________________________________________
8
AUTOMATISMOS CON BINODOS DE APOYO
Son numerosos los automatismos que precisan, para su correcto funcionamiento, la actuación secuencial de una serie de acontecimientos con un orden y duración predeterminados. Pensemos, por ejemplo, en cajeros automáticos, alarmas, puertas de seguridad, etc. Sólo después de que la secuencia establecida en la actuación de los captadores de información sea la correcta, el automatismo estará en situación de variar el nivel de alguna de sus salidas. Esto se puede conseguir mediante la introducción de los " BINODOS DE APOYO " Así, pues, los binodos de apoyo son una herramienta auxiliar que nos va a permitir que determinados automatismos respondan sólo a una ( ó varias ) secuencias predeterminadas. Dicha secuencia va a estar regida por la limitación, tanto en el orden de aparición de los captadores de información, como en los tiempos en que estos acontezcan. A diferencia de los binodos habituales, estos binodos no producen ninguna actuación externa del automatismo, sino que sólo sirven para " memorizar " determinadas secuencias de actuación. Por tanto con ellos se dota de cierta inteligencia a los automatismos, ya que la secuencia puede bifurcarse por distintos caminos dentro del grafo de secuencia. También son diferentes a los binodos auxiliares introducidos en los grafos de secuencia, ya que estos binodos auxiliares se introducen después de realizado el grafo de secuencia. Por tanto, al realizar el grafo de secuencia, introduciremos dichos binodos de apoyo siempre que se produzca una acción de entrada que sea condición del programa, pero que no produzca de inmediato un cambio en ninguna salida. Ejemplo : Queremos que un actuador Z se active si y sólo si los tres captadores de información A, B y C llegan de forma secuencial en el siguiente orden : primero A, luego B y luego C El grafo de secuencia quedaría de la siguiente forma :
······
A
Am
B · Am
Bm
C · Bm
Z
······
En dicho grafo de secuencia Am y Bm memorizan las llegadas de A y B respectivamente, si previamente se ha memorizado A. Sólo queda decir que la obtención de la ecuación lógica de un binodo de apoyo se realiza de forma análoga a los binodos normales, aplicando los teoremas de la teoría binodal.
____________________________________________________________________________________ Teoría Binodal pág. 36
Sistemas de control secuencial ____________________________________________________________________________________
TEMA 6: AUTÓMATA PROGRAMABLE FESTO FPC 404
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 1
Sistemas de control secuencial ____________________________________________________________________________________
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 2
Sistemas de control secuencial ____________________________________________________________________________________
1
OPERANDOS DE LOS FPC DE FESTO
El software FST permite que los programas se escriban utilizando indistintamente operandos absolutos ( p.ej. T1 es el operando absoluto del Temporizador número 1 ) o bien operandos simbólicos ( p.ej. MOTOR puede ser asignado a la salida 1.6 ). Para obtener un mayor grado de claridad, en este documento se utilizarán solamente operandos absolutos. Antes de empezar a utilizar el lenguaje AWL es necesario familiarizarse con los diferentes operandos de los controles FPC y como se direccionan utilizando este lenguaje. Dependiendo del modelo de control, puede haber diferencias en el tipo y alcance de los operandos disponibles
1.1
Operandos monobit y multibit
Debe distinguirse entre los operandos Monobit y Multibit. Los Operandos Monobit ( SBO ) ( Single Bit Operand ) pueden evaluarse como cierto / falso en la parte condicional de una frase del programa y pueden Activarse / Desactivarse ( Set / Reset ) en la parte ejecutiva del programa. Durante las operaciones de interrogación y carga, los SBO son almacenados en el Acumulador Monobit ( SBA ) ( Single Bit Accumulator ) de la CPU Los operandos Multibit ( MBO ) ( Multi Bit Operand ) pueden compararse con otros operandos multibit ( , =, etc. ) ( rango 0-255, 0-65535, +/- 32767 etc. ) en la parte condicional de la frase. En la parte de ejecución de la frase de un programa, los operandos multibit pueden ser cargados con valores, decrementados e incrementados o manipulados por medio de un amplio conjunto de operadores aritméticos y lógicos. Durante su interrogación y operaciones de carga, los MBOs son cargados en el Acumulador Multibit ( MBA ) de la CPU
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 3
Sistemas de control secuencial ____________________________________________________________________________________
1.1.1 Operandos Monobit La siguiente tabla proporciona información general sobre los operandos Monobit, cómo se abrevian en el lenguaje AWL, así como un breve ejemplo. La columna indica si el ejemplo respectivo es válido para la parte Condicional ( c ) o Ejecutiva ( e ) de una frase del programa
Operando Entrada Input Salida Output Marca Flag Contador Counter Temporizador Timer Programa Program Procesador Processor Error Status
AWL Forma I
Sintaxis
Parte
Ejemplo típico
In.n
c
IF I 2.0
O O F F C C T T P P Y Y E
On.n On.n Fn.n Fn.n Cn Cn Tn Tn Pn Pn Yn Yn E
c e c e c e c e c e c e c
IF O 2.6 SET O 2.3 IF F 7.15 RESET F 9.3 IF C 3 SET C 5 IF T 7 SET T 4 * IF P2 * SET P3 * IF Y2 * RESET Y1 * IF E
NOTA : Los operandos marcados con "* " pueden diferir o no estar disponibles en todos los modelos de FPC
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 4
Sistemas de control secuencial ____________________________________________________________________________________
1.1.2 Operandos Multibit La siguiente tabla proporciona información general sobre los operandos Multibit, cómo se abrevian en el lenguaje AWL, así como un breve ejemplo. La columna indica si el ejemplo respectivo es válido para la parte Condicional ( c ) o Ejecutiva ( e ) de una frase del programa Operando Palabra de Entradas Input Word Palabra de Salidas Output Word Palabra de Marcas Flag Word Unidad Funcional Function Unit Pal. deTemporizador Timer Word Preselec de Tempor. Timer Preselect Palabra deContador Counter Word Presel. de Contador Counter Preselect Registro register
AWL Forma IW
Sintaxis
Parte
Ejemplo típico
IWn
c
IF ( IW3 = V 255 )
OW OW FW FW FU FU TW TW TP TP
OWn OWn FWn FWn FUn FUn TWn TWn TPn TPn
c e c e c e c e c e
CW CW CP CP R R
CWn CWn CPn CPn Rn Rn
c e c e c e
IF ( OW2 = V 80 ) LOAD V 128 TO OW3 IF ( FW3 = V 220 ) LOAD V 2100 TO FW1 IF ( FU32 = V16 ) LOAD FU34 TO R60 IF ( TW2 < V 2000 ) LOAD V1345 TO TW6 IF ( TP0 < V20 ) * THEN LOAD V50 TO TP4 IF ( CW 3 V20 ) THEN INC CW 5 IF ( CP3 = V 555 ) LOAD V67 TO CP5 IF ( R 60 = V 21113 ) LOAD ( R53 + R 45 ) TO R 32
NOTA : Los operandos marcados con "* " pueden diferir o no estar disponibles en todos los modelos de FPC
1.2
Operandos Locales y Globales
Algunos modelos de FPC permiten varias CPUs dentro del mismo sistema. Cuando se construyen tales sistemas, algunos operandos se designan como locales mientras que otros se definen como globales 1.2.1 Operandos Globales Los operandos globales son partes de un sistema al que puede accederse desde cualquier CPU. Ejemplos típicos de elementos globales incluyen Entradas, Salidas y Marcas. Para que sea posible este acceso global, los operandos globales deben ser únicos en su designación convencional
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 5
Sistemas de control secuencial ____________________________________________________________________________________
1.2.2 Operandos Locales Los operandos locales son parte de un sistema al cual sólo puede accederse por medio de programas en una determinada CPU. Generalmente estos operandos residen en la CPU local y no tienen nombres globales únicos. Si el modelo de FPC utilizado no permite la inclusión de un número de CPU o número de módulo cuando se referencia un operando, entonces el operando es clasificado típicamente como de uso local. Por ejemplo, en un sistema que contenga múltiples CPUs, cada CPU puede tener 32 Temporizadores que son referenciados como T0 - T 31 en los programas AWL. Así que podemos tener un programa funcionando en la CPU 0 que se refiera al temporizador 6 ( T6 ) y al mismo tiempo un programa en la CPU 1 que también se refiera al temporizador 6 como T6. En esta situación, nuestro sistema contiene actualmente dos ( 2 ) temporizadores totalmente independientes, ambos referenciados como T6...uno en cada CPU. A pesar de que se debería consultar el manual del modelo de FPC utilizado, se considera que los siguientes operandos son generalmente locales : * * * * * * 1.3
Registros Temporizadores Contadores Unidades Funcionales Programas Procesadores Operadores
El lenguaje AWL utiliza los siguientes operadores y notaciones en la construcción de frases. Símbolo N V V$ V% + * / < > = =
Propósito NOT ( negación VALUE asignación para operandos multibit ( decimal ) VALUE asignación para operandos multibit ( hexadecimal ) VALUE asignación para operandos multibit ( binario ) Suma de operandos multibit y constantes Resta de operandos multibit y constantes Multiplicación de operandos multibit y constantes División de operandos multibit y constantes Comparación multibit....Menor que Comparación multibit....Mayor que Comparación multibit....Igual a Comparación multibit....Diferente de Comparación multibit....Menor o igual a Comparación multibit....Mayor o igual a
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 6
Sistemas de control secuencial ____________________________________________________________________________________
2
ESTRUCTURA DE PROGRAMACIÓN AWL
El lenguaje de programación AWL ( lista de instrucciones ) permite al programador resolver tareas de control utilizando simples instrucciones en inglés para describir las operaciones que se desea que haga el control. Los programas en lista de instrucciones se construyen utilizando varios elementos importantes. No se requieren todos los elementos disponibles, y la forma en que son combinados los elementos influye notablemente en el comportamiento del programa 2.1
Jerarquía de los elementos AWL PROGRAMA PASO FRASE PARTE CONDICIONAL PARTE EJECUTIVA
2.2
Instrucción STEP ( Paso )
A pesar de que la instrucción STEP ( Paso ) es opcional, muchos de los programas AWL utilizan la instrucción STEP. Esta instrucción se utiliza para marcar el inicio de un bloque lógico de programa Cada programa AWL puede contener hasta 255 STEPs ( Pasos ) y cada Paso puede contener una o más Frases. A cada Paso se le puede asignar un nombre o " etiqueta " opcional. Una Etiqueta de Paso solamente se requiere si el Paso correspondiente debe ser posteriormente nombrado como el destino de una instrucción de salto. 2.3
Frases
La Frase forma el nivel más elemental de la organización de un programa. Cada Frase consta de una Parte Condicional y de una Parte Ejecutiva . La Parte Condicional sirve para indicar una o más condiciones que son evaluadas durante el funcionamiento por su condición de ciertas o falsas. La Parte Condicional siempre empieza con la palabra clave IF y sigue con una o más instrucciones que describen las condiciones a evaluar.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 7
Sistemas de control secuencial ____________________________________________________________________________________
Si las condiciones programadas son evaluadas como ciertas, entonces serán ejecutadas todas las instrucciones programadas en la parte ejecutiva de la frase. El inicio de la parte ejecutiva se indica con la palabra clave THEN 2.3.1 Frases típicas A continuación se presenta un ejemplo típico de frases sencillas en AWL sin la utilización de la instrucción STEP
IF THEN IF THEN
SET N SET
IF THEN
AND AND RESET RESET
N
I 1.0 O 1.2
Si entrada 1.0 activa entonces activa la salida 1.2
I 2.0 O 2.3
Si entrada 2.0 NO está activa entonces activar la salida 2.3
I 6.0 I 2.1 O 3.1 O 2.1 T6
Si entrada 6.0 está activa y entrada 2.1 no está activa y salida 3.1 está activa entonces desactiva salida 2.1 y desactiva Timer 6
En la última frase del ejemplo, se ha introducido el concepto de condiciones compuestas. Esto significa que todas las condiciones citadas en la frase deben ser ciertas para que se ejecuten las acciones que siguen a la palabra clave THEN
IF THEN
OR INC SET
I 3.2 N T6 CW1 T4
Si entrada 3.2 activa o Timer 6 no está activo entonces incrementa Counter 1 y arranca Timer 4 con los parámetros existentes
Este ejemplo muestra la utilización de una estructura en OR dentro de la parte condicional de una frase. Esto significa que la frase será evaluada como cierta ( y por tanto se incrementará el Contador 1 y se activará el Temporizador 4 ) si una o ambas de las condiciones indicadas son ciertas.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 8
Sistemas de control secuencial ____________________________________________________________________________________
La siguiente frase introduce la utilización de paréntesis entre las partes condicionales de una frase para influir en la forma en la que las condiciones son evaluadas. IF OR AND OR
( I 1.1 T4 ) ( I 1.3 I 1.2 )
Si entrada 1.1 activa o Timer 4 está funcionando y si entrada 1.3 está activa o entrada 1.2 está activa
Hemos utilizado la instrucción OR para combinar dos condiciones compuestas por medio de un operador de paréntesis. Es posible crear programas enteros que consten solamente de frases sin utilizar en ningún caso la instrucción STEP. Los programas construidos de esta forma suelen llamarse programas paralelos, y reaccionan igual que los programas escritos en diagrama de contactos. Esto significa que, sin utilizar la instrucción STEP, tales programas serían procesados una sola vez. Para que estos programas puedan procesarse continuamente, es necesario incluir la instrucción PSE.
2.4
Instrucción STEP
Los programas que no utilizan la instrucción STEP pueden procesarse de modo paralelo ( scanning ). A pesar de que este tipo de ejecución de programas puede ser adecuado para resolver ciertas tareas de control, el lenguaje AWL ofrece la instrucción STEP que permite que los programas sean divididos en compartimentos estancos ( STEPS o PASOS ), que serán ejecutados independientemente. En su forma más sencilla, un STEP incluye por lo menos una frase y toma la forma
STEP IF THEN
( Label ) SET
I 1.0 O 2.4
Si entrada 1.0 está activa entonces activa la salida 2.4 y continua en el siguiente paso
Es importante comprender que el programa ESPERARÁ en este paso hasta que las condiciones sean ciertas, en cuyo momento se ejecutarán las acciones y solamente entonces el programa seguirá procesando el siguiente paso. La etiqueta ( Label ) del paso es opcional y solo se requiere si el paso va a ser el destino de una instrucción de salto ( JMP ). Debe observarse que cuando el software FST carga un programa AWL en el control programable, asigna automáticamente una numeración relativa a cada paso del programa.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 9
Sistemas de control secuencial ____________________________________________________________________________________
Estos números de paso asignados son reproducidos en todos los listados del programa y pueden ser muy útiles en la visualización de la ejecución del programa en modo on-line a efectos de seguimiento. Los pasos de un programa pueden, por descontado, incluir varias frases :
STEP IF THEN IF THEN
SET
I 2.2 O 4.4
Si entrada 2.2 activa entonces conecta salida 4.4
RESET SET
I 1.6 O 2.5 O 3.3
Si entrada 1.6 activa entonces desconecta salida 2.5 y conecta salida 3.3
En el ejemplo anterior, hemos introducido el concepto de varias frases en un solo paso. Cuando el programa llega a este paso, procesará la primera frase ( en este caso, activando la salida 4.4 si la entrada 2.2 está activa ) y a continuación se desplaza a la siguiente frase independientemente de si las condiciones de la primera frase son ciertas o falsas. Cuando la última frase de un paso ( en este caso la segunda ) es procesada, si la parte condicional es cierta , entonces se realiza la parte ejecutiva y el programa continua en el siguiente paso. Si la parte condicional de la última frase no es cierta, entonces el programa regresa a la primera frase del paso actual.
2.5
Reglas de ejecución
Pueden utilizarse las siguientes pautas para determinar como se procesan los Pasos y las Frases :
Si las Condiciones de una frase se cumplen, se ejecutarán las acciones programadas en ella
Si las Condiciones de la última ( o la única ) frase dentro de un paso se cumplen, se ejecutarán las Acciones programadas y el programa seguirá en el siguiente paso
Si las Condiciones de la frase no se cumplen, entonces el programa seguirá en la siguiente frase del paso actual
Si las Condiciones de la última ( o la única ) frase dentro de un paso no se cumplen, entonces el programa regresará a la primera frase del paso actual
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 10
Sistemas de control secuencial ____________________________________________________________________________________
Nota : Cuando se construyen programas o pasos que contengan varias frases, es muy importante recordar que estas se procesarán de forma paralela ( scanning ); que cada vez que la parte condicional de la frase sea evaluada como cierta, se ejecutarán las instrucciones programadas en la parte ejecutiva. Esto debe ser considerado para evitar las incontroladas ejecuciones múltiples de instrucciones tales como SET TIMER o INC/DEC contador. El lenguaje AWL no utiliza " accionamiento por flancos "... las condiciones son evaluadas cada vez que se procesan, sin tener en cuenta su anterior estado. Esta situación se resuelve fácilmente o bien utilizando STEPs, Flags ( Marcas ) u otras formas de control La siguiente figura ilustra la estructura del proceso de un paso en AWL. Utilizando varias combinaciones de pasos conteniendo una o varias frases, el lenguaje AWL proporciona amplias facilidades para resolver tareas complejas de control.
Frase Primera o anterior en STEP x
¿ Parte condicional cierta ?
No
Si Acción
¿ es esta la ULTIMA frase del STEP x ?
No
No
¿ es esta la ULTIMA frase del STEP x ?
Si
Ir al siguiente STEP
Siguiente frase del STEP x
Volver al inicio del STEP x
Reglas de ejecución de un STEP básico
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 11
Sistemas de control secuencial ____________________________________________________________________________________
2.6
Influencia en el flujo del programa
Adicionalmente a las estructuras de control inherentes a la instrucción STEP, se dispone de varias instrucciones AWL adicionales que pueden utilizarse para modificar los criterios de ejecución de los Pasos de programa y sus Frases. 2.7
Instrucción NOP
La instrucción NOP puede utilizarse indistintamente en la parte Condicional o en la Ejecutiva de una frase. Cuando se utiliza en la parte condicional siempre es evaluada como cierta. pudiendo utilizarse para forzar la ejecución incondicional de una frase
IF THEN
NOP O 1.0
SET
Siempre cierto así que salida 1.0 siempre se activará cuando el programa pase por aquí
En el siguiente ejemplo puede verse una aplicación típica en la que el autor desea que cuando la ejecución del programa alcance el paso 50 se comprueben varias condiciones que, de ser ciertas, realizarán las correspondientes acciones. Sin embargo, independientemente de si una o todas las condiciones son ciertas, después de ser procesadas exactamente una sola vez, el programa activará la salida 3.6 y seguirá en el siguiente paso... puesto que hemos forzado la última frase a ser cierta con la instrucción NOP
STEP 50 IF THEN
I 1.0 O 2.2
Si entrada 1.0 está activa entonces activar salida 2.2
THEN
AND RESET
I 3.5 I 4.4 O 1.2
Si entrada 3.5 NO está activa y entrada 4.4. está activa entonces desconecta salida 1.2
IF THEN
SET
T3 F 0.0
Si Timer 3 funciona activa Marca ( Flag ) 0.0
IF
NOP
THEN
SET
SET
IF
N
O 3.6
De todas formas nos aseguramos que la ÚLTIMA frase siempre sea cierta Activa la salida 3.6, abandona este paso y procesa el siguiente
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 12
Sistemas de control secuencial ____________________________________________________________________________________
La instrucción NOP también puede utilizarse en la parte Ejecutiva de una frase. En este caso un NOP es equivalente a " no hagas nada ". Es utilizada frecuentemente cuando el programa debe esperar ciertas condiciones y seguir en el siguiente paso
IF THEN
2.8
I 3.2 NOP
Si entrada 2.2 activa entonces no hagas nada y sigue en el siguiente paso
Instrucción JMP
Otra instrucción AWL que puede utilizarse para influir en el flujo de ejecución de un programa, es la instrucción JMP ( salto ). Esta instrucción añade la posibilidad de ramificar el lenguaje AWL. Modificando el ejemplo anterior es posible comprobar las condiciones de cada frase y, de ser ciertas, realizar la acción programada y a continuación saltar ( JMP ) al Paso ( Step ) indicado del programa
STEP 50 IF THEN
I 1.0 O 2.2 70
Si entrada 1.0 está activa entonces activar salida 2.2 y salta al paso ( etiqueta ) 70
AND RESET JMP TO
I 3.5 I 4.4 O 1.2 6
Si entrada 3.5 NO está activa y entrada 4.4. está activa entonces desconecta salida 1.2 y salta al paso ( etiqueta ) 6
IF THEN
SET
T3 F 0.0
Si Timer 3 funciona activa Marca ( Flag ) 0.0
IF
NOP
THEN
SET
SET JMP TO
IF THEN
N
O 3.6
De todas formas nos aseguramos que la ÚLTIMA frase siempre sea cierta Activa la salida 3.6, abandona este paso y procesa el siguiente
Puede verse que no solo hemos alterado el flujo del programa, sino que además hemos establecido prioridades entre las frases. Por ejemplo, las frases 2, 3 y 4 solamente tienen posibilidad de ser procesadas si la frase 1 es falsa y por lo tanto no se ejecuta; puesto que si la frase 1 se ejecuta, el programa saltará al paso 70 sin haber procesado ninguna frase subsiguiente en el paso 50. ____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 13
Sistemas de control secuencial ____________________________________________________________________________________
2.9
Instrucción OTHRW
La instrucción OTHRW ( otherwise, sino ) también puede utilizarse para influir en el flujo del programa. La instrucción OTHRW es ejecutada cuando la última IF es evaluada como falsa
IF THEN OTHRW
SET SET
I 2.0 O 3.3 O 4.5
Si entrada 2.0 está activa entonces activa salida 3.3 sino, activa la salida 4.5
Frase Primera o anterior en STEP x
¿ Parte condicional cierta ?
No
Si Si
Acción
¿ es esta la ULTIMA frase del STEP x ?
Ejecuta la instrucción OTHRW
No
No
No
¿ es esta la ULTIMA frase del STEP x ? Si
Si
Ir al siguiente STEP
¿ OTHRW en esta Frase ?
Siguiente frase del STEP x
Volver al inicio del STEP x
Reglas de ejecución de un STEP con instrucciones OTHRW
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 14
Sistemas de control secuencial ____________________________________________________________________________________
3
RESUMEN DE INSTRUCCIONES AWL
El lenguaje AWL usa las siguientes instrucciones que permiten resolver tareas de control sencillas o complejas fácil y rápidamente
Instrucción AND BID CFM n CMP n CPL DEC DEB EXOR IF INC INV JMP TO ( Step Label ) LOAD NOP OR OTHRW PSE RESET ROL ROR
Propósito Realiza una función lógica AND entre operandos monobit o entre multibit y constantes Convierte el contenido del acumulador multibit de Binario a formato BCD Empieza la ejecución o inicialización de un módulo de función Empieza la ejecución de un Módulo de programa Produce el complemento a dos del contenido del acumulador multibit Decrementa un operando multibit / acumulador Convierte el contenido del acumulador multibit de formato BCD a Binario Realiza la función EXOR entre operandos monobit o multibit y constantes Instrucción que marca el inicio de la parte condicional de una frase Incrementa un operando multibit / acumulador Realiza el complemento a uno del contenido del acumulador multibit Obliga al programa a seguir en un Paso especificado Permite la carga en el acumulador monobit o multibit de los operandos especificados ( monobit o multibit ) y constantes Instrucción especial que siempre es cierta en la parte Condicional de una frase. En la parte Ejecutiva equivale a " no hacer nada " Realiza la función OR entre operandos monobit o multibit y constantes Permite la continuación de la ejecución del programa aunque la Parte Condicional de la frase sea falsa PSE ( Program Section End ) Fin de un programa parcial La instrucción Reset se utiliza para cambiar los operandos monobit a estado lógico "0" Gira a izquierdas una posición todos los bits contenidos en el Acumulador. El bit más significativo es desplazado a la posición del menos significativo Gira a derechas una posición todos los bits contenidos en el acumulador. El bit menos significativo es desplazado a la posición del más significativo
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 15
Sistemas de control secuencial ____________________________________________________________________________________
Instrucción SET SHIFT SHL SHR SWAP TO THEN WITH
Propósito La instrucción Set se usa para cambiar los operandos monobit a estado lógico "1" Realiza un desplazamiento entre operandos monobit Desplaza una posición a la izquierda todos los bits contenidos en el Acumulador Multibit. El más significativo se pierde Desplaza una posición a la derecha todos los bits contenidos en el Acumulador Multibit. El menos significativo se pierde, y el más significativo es puesto a "0" Intercambia el Byte alto con el Byte bajo del Acumulador Multibit Se utiliza junto con la instrucción LOAD para especificar el operando destino de la carga Instrucción que indica el inicio de la parte Ejecutiva de una frase Utilizada para parametrizar las llamadas CMF / CMP. También se utiliza para especificar la base de tiempo en algunos modelos de FPC
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 16
Sistemas de control secuencial ____________________________________________________________________________________
4
REFERENCIA DE LAS INSTRUCCIONES AWL
AND
Propósito 1.-
Para combinar dos o más operandos monobit o multibit en la parte condicional de una frase utilizando la operación lógica AND
2.-
Para realizar una intersección en AND entre dos operandos multibit o valores, indistintamente en la parte condicional o ejecutiva de una frase
Ejemplos Monobit IF
I 1.1 T6 O 1.5
AND SET
THEN
Si entrada 1.1 está activa y timer 6 funciona entonces activa salida 1.5
Multibit A continuación se muestra la operación lógica AND aplicada a dos operandos de 8 bits 0 1 0
0 1 0
1 1 1
0 0 0
1 1 1
1 1 1
0 0 0
1 0 0
operando 1 = 45 decimal AND operando 2 = 236 decimal resultado = 44 decimal
La función AND puede utilizarse indistintamente en la parte Condicional o en la parte Ejecutiva de una frase. Cuando se utiliza en la parte Condicional de una frase, esta función permite comparar el resultado de una función lógica AND de dos operandos multibit, con un tercer operando multibit o bien con una constante.
IF AND THEN
......
( R6 R7 ) = V 34
El contenido de R6 es enlazado en AND con el contenido del registro R7 A continuación el resultado es comparado con la cte. decimal 34 Si hay igualdad entonces se realizarán las funciones programadas
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 17
Sistemas de control secuencial ____________________________________________________________________________________
El siguiente ejemplo muestra como utilizar la prestación multibit para leer una palabra entera ( Word ) de Entradas. A continuación el resultado es enlazado en AND con el valor decimal 15 ( 00001111 en binario ). Comparando el resultado de esta operación para ver si es mayor de "0", podremos verificar si alguna de las entradas I0.0 hasta I 0.3 se haya activa
IF AND THEN
(IW0 V 15 ) >V0
......
El contenido de la palabra de entradas IW0 es enlazado con la constante 15 y el resultado es comparado ..... Si es mayor de "0" la frase será cierta
El siguiente ejemplo muestra esta utilización de la función AND con operandos multibit en la parte Ejecutiva de una frase
IF THEN
....... LOAD AND TO
( R 38 R 45 ) R 17
Si las condiciones son ciertas transfiere el contenido del registro 38 al acumulador multibit Enlaza en AND con el registro 45 y deposita el resultado en el registro 17
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 18
Sistemas de control secuencial ____________________________________________________________________________________
BID
Propósito Para convertir el contenido del acumulador multibit de un formato binario al formato BCD Esta instrucción se utiliza frecuentemente junto con un dispositivo conectado a las salidas del PLC ( p.ej. visualizadores de mensajes, controles de motores, etc. ) Estos dispositivos generalmente esperan la entrada de órdenes en formato BCD
Ejemplos El valor a convertir, primero debe ser cargado en el acumulador multibit
IF THEN
I 1.0
Al accionar el pulsador del motor
LOAD
R 26
BID AND TO
V 15 OW2
El registro 26 contiene la información de la nueva posición Convierte a formato BCD y oculta todos los bits excepto 0-3 transfiere el resultado a la palabra de salida 2 ( conectada al control del servomotor )
Por favor, observe que los valores permitidos son de 0-9999
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 19
Sistemas de control secuencial ____________________________________________________________________________________
CFM Propósito La instrucción CFM ( Module, Llamada a un Módulo de Función ) se utiliza para requerir la ejecución de una rutina estándar del sistema, la cual reside en la memoria del sistema de control. Debe consultarse el correspondiente manual de FPC para ver que llamadas CFM pueden hacerse en cada configuración de hardware. Estas rutinas estándar no pueden ser escritas por el usuario, ya que forman parte del sistema operativo del PLC. Algunos Módulos de Función pueden utilizar Unidades Funcionales ( FU ) para pasar información desde / hacia los programas del usuario y Módulos de Función Ejemplos. Dependiendo del modelo específico de FPC , así como de la rutina CFM en particular, puede ser necesario pasar algunos parámetros cuando se programa una CFM Ejemplo 1 : FPC 202 c Esta rutina del sistema puede utilizarse para borrar o inicializar diversos operandos. La llamada a este CFM acepta un solo parámetro numérico. Si utilizamos el valor 2, el Módulo de Función inicializará todos los Flags a 0s IF THEN
I 1.2 2 V2
CFM WITH
Pulsador de reset accionado Llamar al módulo de función 1 pasar el valor 2 al 1er parámetro que aquí significa poner a cero TODOS los Flags
Ejemplo 2 : FPC 404 Esta rutina del sistema puede utilizarse para habilitar un controlador de interrupciones de conteo a alta velocidad en la entrada I0 de la CPU del FPC 404. Este CFM requiere pasar varios parámetros junto con la llamada al sistema. El primer parámetro especifica el número del programa que queremos ejecutar cuando se alcance el final del conteo. El segundo parámetro permite especificar si deseamos identificar el flanco ascendente o el descendente de la señal. El parámetro 3 permite especificar el número de pulsos que queremos contar antes de ejecutar el programa especificado en el parámetro 1 IF THEN
AND SET CFM
N
I 2.2 O 2.1 O 2.1 2
WITH
V6
WITH WITH
V0 V200
Pulsador arranque motor Y motor inactivo Arranca el motor Llama al módulo de función 2, habilita la función de interrupción para CPU 0 Programa a lanzar cuando se alcance el final del conteo Sobre el flanco ascendente de la señal El conteo es 200
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 20
Sistemas de control secuencial ____________________________________________________________________________________
CMP Propósito La instrucción CMP ( Call Program Module, Llamada a un Módulo de Programa ) se utiliza para solicitar la ejecución de una rutina de programa externa. Los módulos de programa pueden considerarse similares a las subrutinas NOTA : No es posible utilizar la función CMP DENTRO de un módulo de programa Los módulos de programa pueden escribirse en uno de los diferentes lenguajes incluyendo AWL y Assembler. Festo pude suministrar varios módulos de programa optimizados para realizar tareas especializadas tales como : * Entrada / Salida de Textos * Conteo en alta velocidad * Funciones aritméticas de 32 bits Algunos Módulos de Programa pueden utilizar Unidades Funcionales ( FU ) para pasar información desde / hacia los programas de usuario y los Módulos de Programa Ejemplos Dependiendo del modelo específico de FPC , así como del Módulo de Programa llamado, puede ser necesario pasar algunos parámetros cuando se utiliza una CMP Ejemplo : FPC 202 c Este módulo de programa puede utilizarse para transmitir texto. La llamada a este CMP en particular acepta varios parámetros dependiendo de la función deseada IF THEN
CMP WITH WITH
I 1.5 7 V0 Tanque # 1
Si sensor de nivel máximo Llamar al módulo de programa 7 con el texto que se indica lleno
El ejemplo anterior sirve simplemente para dar una idea general de la forma en que son llamados los módulos de programa. Los diferentes procedimientos de llamada varían mucho, así que el usuario siempre deberá consultar la documentación específica Módulos sencillos En una situación donde el usuario simplemente escribe una subrutina como un módulo de programa, no es necesario pasar ningún parámetro. En tales casos, la llamada puede realizarse con : IF...... THEN
CMP
8
Llama a un módulo de programa que no requiere ningún parámetro
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 21
Sistemas de control secuencial ____________________________________________________________________________________
CPL
Propósito Esta instrucción complementa el contenido del acumulador multibit utilizando el método del complemento a dos En principio, el efecto de la instrucción CPL es el mismo que multiplicar por -1, si se trata de números enteros con signo
Ejemplos Lo siguiente muestra la utilización de la instrucción CPL a un número de 16 bits que ha sido cargado en el acumulador multibit
0 1
0 1
0 1
1 0
0 1
0 1
1 0
0 1
0 1
1 0
1 0
0 1
0 1
1 0
1 0
1 1
4711 CPL = - 4711
El valor con que se va a operar, primero debe ser cargado en el acumulador multibit. En el ejemplo siguiente, el programa comprobará si el Registro 32 contiene un número negativo, y si es así lo convertirá a positivo y lo depositará en el Registro 22
IF THEN
LOAD CPL TO
( R32 V 150 ) O 1.0
( CW 1 > CP 1 ) O 1.1
Mediante la consulta del contador ( estado ) es posible comprobar en el programa si el contador aún está activado ( señal 1 ) o si se ha detenido o si aún no se ha puesto en funcionamiento ( señal 0 ). La consulta del contador también puede efectuarse comparando la palabra del contador con una constante. La palabra y el preselector del contador son unidades que ocupan 16 bits respectivamente. El contador ( estado ) es una unidad que ocupa un bit.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 76
Sistemas de control secuencial ____________________________________________________________________________________
6.2.2 Programación de una función de contador En el ejemplo se muestra el programa de una función de contador simple : la salida O 1.0 es activada 5 veces. Cargar el contador : El contador es cargado mediante la señal de entrada proveniente de I 1.3. La palabra del contador CW1 es puesta en el valor efectivo 5. Si se trata de un contador de cuenta atrás, el valor nominal es puesto automaticamente en 1 ( por lo que no es necesario activar el preselector del contador CP ). Contar : Las " operaciones " que son contadas equivalen a las señales "1" de la entrada I 1.2. Del valor efectivo de la palabra del contador se resta 1 ( DEC : cuenta hacia atrás ). Al mismo tiempo se activa la salida O 1.0 Consulta : A continuación se procede a la consulta del contador. Si el contador aún está activado, se repite la operación. En total, la salida es activada y desactivada cinco veces : salto hacia paso CONTAR. Si el contador se para, se produce un salto hacia el paso CARGAR. Cuando se efectúa la programación de las funciones de un contador, siempre deberán acatarse los siguientes tres pasos : Cargar el contador - Contar - Consultar STEP IF THEN STEP IF THEN STEP CON IF THEN
CARGAR LOAD TO CONTAR SET DEC SULTAR AND RESET JMP TO
IF THEN
AND RESET JMP TO
I 1.3 V5 CW 1 I 1.2 O 1.0 CW 1 C1 N I 1.2 O 1.0 CONTAR N C1 N I 1.2 O 1.0 CARGAR
Se sobreentiende que entre estos pasos es posible activar otras salidas adicionales en otros pasos del programa. Las operaciones de conteo y consulta son repetidas hasta que el contador se para.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 77
Sistemas de control secuencial ____________________________________________________________________________________
6.3
Utilización de contadores
6.3.1 Contadores estándar Cada contador tal y como ha sido implementado en el lenguaje AWL, puede programarse de dos formas diferentes. Primero se describirá el método estándar ( generalmente citado como contador INCremental )
Elemento / Operando
Ref.
Counter Bit de estado
Cn
Counter Preselect
CPn
Counter Word
CWn
Función Permite a un programa interrogar si un Contador está activo ( no ha alcanzado aún su valor ). Este bit es cambiado a activo cuando se activa el contador ( SET ). Cuando se ha alcanzado el número de eventos preseleccionados o si el Contador se ha detenido ( RESET ) el bit de estado pasa a inactivo Preselector del Contador. Un operando de 16 bits que contiene el valor a contar Palabra del Contador. Un operando de 16 bits que contiene el valor actual de conteo modificado por las instrucciones INCrementar o DECrementar. Si se ejecuta la instrucción SET Cn la Counter Word es automáticamente puesta a 0 ( cero )
Nota : Todos los modelos de FPC incorporan baterías que mantienen el contenido de los Preselectores de Contador, Palabras ( Words ) y bit de estado, durante los periodos de desconexión
6.3.2 Utilización de Contadores estándar Un Contador ( Counter ) estándar es adecuado para contar eventos definidos y realizar una determinada acción cuando se ha alcanzado una cantidad preseleccionada. Los contadores estándar funcionan de la siguiente forma :
El valor a contar es almacenado en el Preselector del Contador ( CPn ) El contador es activado ( SET Cn ), lo que produce : Poner un valor "0" en la Palabra de Contador ( CWn = 0 ) Cambiar el bit de estado del Contador a activo ( Cn = 1 ) El valor actual de conteo puede ser INCrementado o DECrementado Cuando el valor actual ( CWn ) = valor preseleccionado ( CPn ), el bit de estado del contador ( Cn ) cambia a inactivo ( Cn = 0 )
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 78
Sistemas de control secuencial ____________________________________________________________________________________
6.3.3 Inicialización de un Preselector de Contador Antes de utilizar un contador estándar, el correspondiente Preselector de Contador debe ser inicializado con un valor correspondiente al número de eventos a contar Esta inicialización sólo es preciso hacerla de nuevo si el valor de conteo para otras actividades debe cambiarse. No es necesario recargar el Preselector del Contador cada vez que se active el Contador. Los Preselectores de Contador pueden cargarse con valores absolutos, o con el contenido de cualquier MBO ( p.ej. Registros, Input Word, Flag Word, etc. ) Ejemplo: Inicialización de un Preselector de Contador con un valor absoluto IF THEN
LOAD
I 1.0 V 100
TO
CP 4
En las condiciones deseadas de carga cargamos el valor absoluto 100 como número de eventos a contar al preselector del contador CP 4
Ejemplo : Inicialización de un Preselector de Contador con un MBO IF THEN
LOAD
I 1.0 IW 1
TO
CP 5
En las condiciones deseadas de carga cargamos el valor de la Palabra de Entradas 1 en el Preselector de Contador 5
Por medio de la instrucción DEB podemos utilizar conmutadores rotativos externos BCD para fijar el valor de conteo 6.3.4 Activación de un Contador La activación de un contador solamente requiere la ejecución de la instrucción SET, especificando qué contador debe arrancarse IF THEN
SET
I 1.2 C2
Condiciones deseadas activar Contador 2
Siempre que se ejecute la orden SET Cn, sucede lo siguiente : 1.2.-
La correspondiente Palabra de Contador ( CWn ) es cargada con el valor "0" Cn ( El estado del Contador n ) se pone en "1" ( activo )
Nota : Si se ejecuta una instrucción SET Cn, y el Contador indicado YA está activo, el Contador será REARRANCADO y el valor actual de conteo ( en CWn ) será puesto de nuevo a "0"
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 79
Sistemas de control secuencial ____________________________________________________________________________________
6.3.5 Interrogación del estado de un Contador Para poder utilizar los contadores de forma comprensible es necesario determinar cuándo se ha alcanzado el valor de preselección
6.3.6 Conteo de eventos Una vez que se ha activado el contador ( SET ), el valor actual es mantenido en la respectiva Palabra de Contador ( Counter Word ), que es actualizada utilizando las instrucciones INC CWn o DEC CWn
6.3.7 Parada de un Contador Un contador puede ser detenido ( desactivado ) en cualquier momento ejecutando la instrucción RESET Cn. Cuando esto sucede, el bit de estado del Contador ( Cn ) se pone a "0". El contenido de la Palabra de Contador ( CWn ) permanece inalterable
Atención : Cuando se desarrollan programas o pasos que contengan varias frases que serán procesadas de forma paralela ( exploración / scanning continua ), es importante comprender que cada vez que la parte condicional de una frase es evaluada como cierta, las instrucciones programadas en la parte ejecutiva se realizarán. Esto debe ser considerado para evitar las múltiples ejecuciones de muchas instrucciones como SET TIMER o INC / DEC CW, SHL, etc. El lenguaje AWL no utiliza el " accionamiento por flancos "...Las condiciones son evaluadas cada vez que se procesan, sin tener en cuenta su estado anterior.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 80
Sistemas de control secuencial ____________________________________________________________________________________
6.4
Ejemplos
6.4.1 Contadores estándar El primer ejemplo presentado utiliza un contador estándar junto con la instrucción STEP del lenguaje AWL para evitar los incontrolados INCrementos múltiples que se realizarían en los pasos 10 y 15 Se utiliza un pulsador para iniciar el ciclo de una máquina. El ciclo activará un transportador y contará las botellas que pasan frente a un sensor. Una vez que hayan pasado 25 botellas por delante del sensor, el transportador se detiene y un dispositivo posiciona corchos de cierre en cada botella. Finalmente, todos los corchos son presionados dos veces en las botellas por un tiempo de 1 segundo cada vez.
STEP 1 THEN
STEP 5 IF THEN STEP 10 IF THEN STEP 15 IF THEN OTHRW
RESET RESET RESET RESET LOAD TO LOAD TO LOAD TO
SET SET
INC
JMP TO
ARRANQUE Contador de botellas Contador de prensados Desactivar transporte Desactivar prensa corchos Conteos que debe hacer el contador 0 Número de prensadas que debe hacer el contador 2 Temporizador 0 al valor de 100 x 0,1 seg.
I 1.0 C0 O 1.0
ESPERA PULSADOR MARCHA Pulsador de marcha Activar contador Arranca transporte
I 1.1 CW 0
CONTEO DE BOTELLAS Sensor de botella activo incrementa contador
N
C0 O 1.0 C2 50
N
I 1.1
RESET SET JMP TO NOP
STEP 20 IF THEN
C0 C1 O 1.0 O 1.1 V 25 CP 0 V2 CP 2 V 100 TP 0
10
¿ HAY 25 BOTELLAS ? Hemos terminado, luego... para transporte activa contador de prensa salir del bucle de conteo sino seguir en paso 20 Esperar que la última botella salga del sensor y seguir contando
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 81
Sistemas de control secuencial ____________________________________________________________________________________
STEP 50 THEN
STEP 60 IF THEN STEP 70 IF THEN OTHRW
SET SET INC
O 1.0 T2 CW 2 N
T2 O 1.1
ESPERAR 1 SEGUNDO Tiempo vencido desactivar prensado
N
C2 5 50
¿ TERMINADO ? 2 veces prensado volver al paso 5 sino, prensar de nuevo
RESET
JMP TO JMP TO
CONTADOR 25 BOTELLAS Prensar tapones Tiempo de prensado contar este prensado
El siguiente ejemplo detalla la utilización de un contador estándar en una sección de programa de exploración / scanning, en la que no se ha utilizado la estructura de STEPs para eludir los incontrolados INCrementos del contador. Como solución alternativa se ha utilizado un Flag auxiliar El programa espera la acción sobre un pulsador y entonces mueve 100 veces un cilindro desde completamente atrás hasta completamente delante. Sin la utilización del Flag, un programa de exploración ( scanning ) INCrementaría el contador a cada ciclo de scan del programa, en lugar de hacerlo cada vez que el cilindro avanzara nuevamente. STEP 1 IF THEN
LOAD TO RESET LOAD TO SET
STEP 2 IF
THEN
AND AND AND SET SET
IF THEN IF THEN
AND INC RESET RESET JMP TO
I 1.0 V0 OW 1 F 3.0 V 100 CP 0 C0 I 1.1 C0 N F 3.0 N O 1.0 O 1.0 F 3.0 I 1.2 F 3.0 CW 0 F 3.0 O 1.0 N C0 1
Inicializar solo la 1ª vez Pulsador accionado Desactivar todas las salidas Desactivar Flag auxiliar Inicializar contador 0 Activar contador 0 Sección principal de exploración Cilindro detrás Contador activo Detección del flanco válvula cilindro inactiva Avanzar cilindro listo para otro avance Cilindro delante nuevo flanco contar el ciclo actualizar control flanco retroceder cilindro realizados 100 ciclos empezar todo de nuevo
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 82
Sistemas de control secuencial ____________________________________________________________________________________
6.4.2 Contadores ASCENDENTES / DESCENDENTES Además de la utilización de los contadores descritos anteriormente ( Estándar ), el lenguaje AWL también permite al usuario la libre creación de contadores a través de los operandos multibit Los llamados contadores Ascendentes / Descendentes pueden realizarse utilizando cualquier Operando Multibit ( Flag Words, Registros, etc. ). A diferencia de los contadores estándar no es necesario inicializar el preselector, ni existe un determinado bit de estado. Naturalmente, las instrucciones SET / RESET no son aplicables en este contexto. Se requieren los siguientes pasos para utilizar este tipo de conteo : * * *
Inicializar el correspondiente MBO a un valor El MBO puede ser INCrementado o DECrementado El MBO puede ser comparado con un valor o con otro MBO
Ejemplo : Utilización de un Registro como contador En el siguiente ejemplo se inicia un proceso y funciona hasta que se han producido 100 piezas buenas STEP 10 IF THEN
I 1.0 V 100 R 50 O 1.0
LOAD TO SET
STEP 20 IF THEN IF THEN
( I 1.1 I 2.3 ) R 50 30
AND DEC JMP TO AND NOP
( I 1.1 N I 2.3 )
STEP 30 IF THEN OTHRW
CONTROL DE CALIDAD Listo para comprobar calidad correcta 1 pieza buena de menos seguir en el paso 30 Listo para comprobar Calidad NO correcta ( sensor inactivo ) no contar piezas malas VER SI YA TENEMOS 100 PIEZAS
( R 50 =V0) O 1.1 10
RESET JMP TO NOP
STEP 40 IF THEN
ESPERAR ARRANQUE Pulsador de marcha Piezas buenas a producir El R50 hace las funciones de contador Arranca la máquina
N JMP TO
I 1.1 20
Todas las piezas hechas Parar la máquina regresar al principio o si no ha terminado seguir ESPERAR SALIDA ULTIMA PIEZA Sensor de zona de control de calidad liberado seguir funcionando y verificando
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 83
Sistemas de control secuencial ____________________________________________________________________________________
6.5 Programas de enlaces lógicos para la ejecución de funciones de contadores y temporizadores Cuando se efectúa la programación de funciones de temporizadores o de contadores, es necesario distinguir entre la programación de la duración del tiempo y la programación de las secuencias ( del programa ). Recurriendo a programas de paso a paso, es fácil programar las secuencias: en el primer paso se carga el tiempo, en el segundo se efectúa la consulta, etc. Si por el contrario se programa un tiempo en un programa de enlaces lógicos, deberá ponerse cuidado en que las operaciones de carga y consulta del tiempo estén ligadas a condiciones que no pueden cumplirse simultáneamente. ( En un programa de enlaces lógicos, todas las condiciones del proceso son leídas prácticamente de modo simultáneo ). En consecuencia, se recurre a recordadores de flancos. 6.5.1 Ejemplo relacionado a la función de contador Un cilindro es desplazado por acción de una electroválvula Y1 de reposición por muelle. La posición del cilindro es consultada por los interruptores de final de carrera S1 ( posición normal ) y S2 ( posición de avance ). S3 es el pulsador de activación. Al pulsar S3, el cilindro deberá avanzar 10 veces hasta el final de carrera. Una vez concluidos estos movimientos, deberá activarse nuevamente con S3. El programa secuencial consta de 4 pasos. de esta manera se obtiene un desglose claro de la ejecución del programa. El último paso es una instrucción de salto, ya sea al paso 1 o al paso 2 STEP IF THEN STEP IF THEN STEP IF THEN
Start LOAD TO
I 1.2 V 10 CW 0
Cargar contador S3 : Pulsador Start Cargar valor efectivo del contador con 10
I 1.0 O 1.0 CW 0
Avanzar cilindro / reducir C0 en 1 S1 : F.d.c. atrás Y1 : avanzar cilindro Contador -1
I 1.1 O 1.0
Retroceder cilindro S2 : F.d.c. avanzado Y1 : retroceder cilindro
cil.desact. SET DEC cil.act. RESET
STEP salto IF C0 THEN JMP TO cil.desact. IF N C0 THEN JMP TO Start Programa secuencial : contador
Interrogación posición del contador Valor efectivo mayor que 0 continuar con cadencia siguiente Valor efectivo es 0 continuar con Start
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 84
Sistemas de control secuencial ____________________________________________________________________________________
El programa de enlaces lógicos necesario para solucionar este problema de control es más complicado. Se necesitan dos recordadores de flancos : F 0.0 Recordador " activar contador " F 0.1 Recordador " impulso de conteo Cada uno de los recordadores tiene que ser consultado, activado y cancelado IF THEN
AND SET LOAD TO
I 1.2 N F 0.0 F 0.0 V 10 CW 0
IF THEN
AND AND SET SET DEC
N
IF THEN IF THEN OTHRW
AND RESET RESET N RESET PSE PSE
S3 : Pulsador Start Recordador "activar contador" Activar recordador cargar valor nominal con 10
I 1.0 F 0.0 F 0.1 F 0.1 O 1.0 CW 0
S1 : cilindro retrocedido Recordador activado Recordador " impulso de conteo " Activar recordador Y1 : avanzar cilindro Contador -1
I 1.1 F 0.0 O 1.0 F 0.1
S2 : cilindro avanzado Contador activado Y1 : retroceder cilindro Desactivar recordador
C0 F 0.0
Valor efectivo es igual a "0" Desactivar recordador
Programa de enlaces lógicos : Contador F 0.0 tiene la finalidad de que el control sepa en todo momento si ha sido activada la operación de conteo o no. Este recordador es activado al cargar el contador. En este estado, si se pulsa nuevamente S3 durante la operación de conteo, no sucede nada, puesto que el contador sólo puede ser activado al principio del programa mediante consulta del recordador si dicho recordador aún no ha sido activado. F 0.0 es cancelado solamente al final de programa ( cuando ha terminado de contar el contador ). La salida es activada mediante una señal positiva emitida por el interruptor de final de carrera I 1.0, con lo que del valor efectivo de contador se resta 1. Si la señal proveniente de la entrada dura más que la duración del ciclo de programa, es posible que se cuente dos veces. El segundo recordador de flancos F 0.1 tiene la finalidad de evitar esta situación. Dicho segundo recordador es activado cuando la operación de conteo se produce una vez. Cuando el cilindro avanza y llega al final de carrera ( señal 1 en I 1.1 ), se cancela la salida y el cilindro retrocede. Simultáneamente se cancela el recordador de flancos F 0.1
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 85
Sistemas de control secuencial ____________________________________________________________________________________
7
UTILIZACIÓN DE REGISTROS
Los controles programables FESTO que pueden programarse utilizando el lenguaje AWL, poseen un número de registros de 16 bits. La cantidad exacta de estos registros varia según el modelo de FPC. Estos registros son operandos multibit que pueden utilizarse para almacenar números en la gama de : *
0 - 65535 Enteros sin signo
*
+/- 32767 Enteros con signo
Si el modelo de FPC utilizado lleva una batería, el contenido de los registros será mantenido durante los periodos de desconexión. Los registros que no han sido nunca inicializados contendrán un valor aleatorio. Los Registros ( Registers ) son generalmente utilizados con la instrucción LOAD TO y en operaciones lógicas multibit. Los Registros no pueden direccionarse directamente bit a bit. Si se requiere acceder a un determinado bit, será más adecuado utilizar Flag Words. Los registros también pueden utilizarse para simplificar procesos secuenciales dentro de una sección de programa de exploración simple, como alternativa a la instrucción STEP 7.1
Ejemplos
Utilización de Registros en la parte condicional de una frase IF AND AND
( R 51 = V 111 ) T7 (R3 V0) FW 6 OW 1 T0
Hay alguna pieza a procesar activar motores de mecanizado en las estaciones con pieza iniciar proceso de temporización
STEP 15 IF THEN
SET
IF THEN
LOAD TO SET
STEP 20 IF THEN
N LOAD SET
T0 V0 O 2.0
STEP 25 IF THEN
N LOAD SHL TO
RESET JMP TO
¿ TIEMPO DE MECANIZADO TERMINADO ? Tiempo vencido desconectar todos los motores e iniciar la transferencia de la línea
FW 6
ESPERAR A QUE EMPIECE LA TRANSFERENCIA Ya ha empezado a transferir cargar los estados de las estaciones desplazar los bits que coinciden con las piezas y guardarlos de nuevo
I 2.2 O 2.0 15
¿ HA TERMINADO TRANSFERENCIA ? Nuevo punto de indexación Parar el motor de indexación regresar al paso 15 para seguir
I 2.2 FW 6
STEP 30 IF THEN
HAYA
LA
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 90
Sistemas de control secuencial ____________________________________________________________________________________
9
ACCESO A LAS ENTRADAS Y SALIDAS
9.1
Organización de las E/S ( I/O )
Los controles programables Festo organizan las Entradas y Salidas en grupos denominados Word ( palabras ). Dependiendo del modelo de FPC ( o del grupo de I/O para los sistemas modulares ) cada grupo de I/O consiste en 8 o 16 entradas o salidas discretas 9.2
Palabras de E/S ( I/O WORDS )
Estos grupos completos de palabras son referenciados por su tipo ( Input o bien Output y la dirección de la Word n ). Esta dirección es un número generalmente asignado en los controles pequeños y configurable ( por conmutadores ) en los sistemas modulares. Las Input Words se referencian con IWn, mientras que las Output Words se nombran como OWn. Ejemplos
IW 1 IW 7
Input Word 1 Input Word 7
Palabra de Entradas 1 Palabra de Entradas 7
OW 0 OW 2
Output Word 0 Output Word 2
Palabra de Salidas 0 Palabra de Salidas 2
Debe observarse que cada Input o Output dentro de un sistema debe tener un único número de dirección. O lo que es lo mismo : no se permiten direcciones duplicadas en un mismo sistema Sin embargo, es generalmente aceptable para un sistema, incluir una Input Word con la misma dirección que una Output Word ( p.ej. IW1 y OW1 ).
9.3
Entradas discretas de I/O
Las entradas y salidas contenidas en cada grupo de I/O se referencian especificando : El tipo de I/O ( I ó O ) + El número de dirección de la Word ( n ) + " . " seguido por el número particular de la etapa I/O ( Sn ) Los números de etapa son 0 - 7 ó 0 - 15 dependiendo del grupo de I/O. Por ejemplo
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 91
Sistemas de control secuencial ____________________________________________________________________________________
I 3.2 I 0.15
Etapa 2 de la palabra de entradas 3 Etapa 15 de la palabra de entradas 0
O 2.7 O 0.0
Etapa 7 de la palabra de salidas 2 Etapa 0 de la palabra de salidas 0
9.4
Uso de entradas en programas
Las Inputs ( o Entradas ) son elementos del sistema de control que están diseñados solamente para ser leídas o interrogadas. Es decir, están conectadas a dispositivos externos, tales como sensores, interruptores, etc. que pueden o no emitir señal a una determinada entrada 9.4.1 Entradas discretas Ejecutando las instrucciones adecuadas en AWL, dentro de la parte Condicional de una frase, el control puede determinar el estado actual de una entrada discreta
IF
I 1.1
IF
N 13.3
Comprueba si hay señal válida en la entrada I 1.1 Comprueba si hay señal falsa en la entrada I 3.3
Pueden enlazarse en diversas combinaciones lógicas entradas múltiples, así como otras condiciones 9.4.2 Palabras de entrada ( Input Words ) A veces es necesario o deseable comprobar el estado de palabras completas de entrada. Para determinar el estado de una palabra de entrada completa, es necesario leer el valor de la palabra entera y determinar si se ajusta al criterio deseado. Por ejemplo, para determinar si todas las 8 entradas de la Input Word 2 están recibiendo señales válidas, podríamos enlazar en AND cada una de las entradas : IF AND AND AND AND AND AND AND
I 2.0 I 2.1 I 2.2 I 2.3 I 2.4 I 2.5 I 2.6 I 2.7
Aquí verificamos si las 8 entradas de una palabra de entradas de 8 bits, se hallan en estado lógico 1
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 92
Sistemas de control secuencial ____________________________________________________________________________________
o utilizando la capacidad del lenguaje AWL, evaluar por palabras enteras utilizando el programa :
IF
( IW2 = V 255 )
Comprobar si las 8 entradas son = 255 ( 11111111 binario )
Verificaciones más complejas, que normalmente requerirían largas frases si se programaran bit a bit, se realizan fácilmente utilizando las Input Words combinadas con otras instrucciones lógicas. Para verificar si una o más de las entradas I 1.5, I 1.6, I 1.7 están activas, puede realizarse con :
IF
( IW1 V 224 ) >V 31
AND
Primero obtener la palabra = ( 11100000 en binario ) si el resultado es mayor de 31, por lo menos hay una entrada activa
Lo cual es equivalente a :
IF OR OR
9.5
I 1.5 I 1.6 I 1.7
Uso de salidas en programas
Las Outputs ( o Salidas ) de un control programable pueden utilizarse para controlar varios tipos de dispositivos eléctricos por medio de instrucciones de programa que pueden activar ( SET ) o desactivar ( RESET ) las pertinentes salidas Nota : Mientras que las entradas sólo pueden ser leídas ( interrogadas ), las salidas pueden ser "escritas" ( SET o RESET ) y pueden también ser interrogadas igual que las entradas. Por ello las referencias a salidas pueden aparecer indistintamente en la parte Condicional o en la Ejecutiva de una frase AWL
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 93
Sistemas de control secuencial ____________________________________________________________________________________
9.5.1 Salidas discretas Ejecutando la instrucción AWL adecuada en la parte Ejecutiva de una frase, el control puede conmutar una determinada salida a ON ( activarla ) o a OFF ( desactivarla )
IF THEN
Siempre que se cumplan las condiciones SET RESET
O 1.2 O 3.3
activa la salida 1.2 desactiva la salida 3.3
La instrucción SET se utiliza para conectar una salida ( ponerla en ON ), mientras que RESET se utiliza para desactivarla ( ponerla en OFF ). Activar una salida que ya está activa, o desactivar una que ya está inactiva, no produce ningún efecto. Como se ha visto, las salidas también pueden ser interrogadas en la parte condicional. La siguiente frase comprueba si la entrada I 2.4 está recibiendo señal y si la salida O 2.2 está actualmente activa
IF AND
I 2.4 O 2.2
THEN......
Entrada I 2.4 activa Y salida O 2.2 está en ON realizar acciones
9.5.2 Palabras de Salida ( Output Words ) A veces puede ser deseable o necesario, verificar o alterar el estado de una palabra de salidas. De la misma forma que las entradas pueden ser manipuladas en base a un grupo o word, también lo pueden ser las salidas Por ejemplo, la frase :
THEN
LOAD TO
V0 OW 2
Producirá que todas las salidas asociadas a la palabra de salidas 2, sean desactivadas
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 94
Sistemas de control secuencial ____________________________________________________________________________________
10
DETECCIÓN DE FLANCOS
10.1
Flancos
Las señales que provienen de sensores y llegan a las entradas son interpretadas por la unidad central del PLC como señales "0" ó "1". La duración de las señales "1" y "0" es definida por el sensor. Por ejemplo : mientras que se actúa un pulsador, se emite la señal "1"; cuando se deja de actuar sobre el pulsador, el PLC recibe una señal "0". Sin embargo, en muchos casos no tiene relevancia la señal misma, sino más bien el momento en que la señal cambia. Tal cambio es denominado un flanco Para entender más fácilmente el significado de un flanco, piénsese en un interruptor ( pulsador ) de una luz. En ese caso, la evaluación del flanco se efectúa de modo mecánico. Actuando sobre el pulsador se enciende la luz ( independientemente del tiempo que se actúe sobre el pulsador ). Si entretanto se dejó de actuar sobre el pulsador, puede volver a apagarse la luz actuando nuevamente sobre el pulsador. Un PLC también tiene que registrar el momento en que la señal de entrada cambia de "0" a "1", puesto que cada vez que se actúa sobre el pulsador sólo deberá activarse una única reacción, ( independientemente de la duración de la señal "1" ). De este modo se evita una ejecución repetida de una orden controlada por el PLC en caso de que se actúe demasiado tiempo sobre un pulsador. Los flancos de la señal de entrada son evaluados por un programa 10.1.1 Flancos positivos y negativos Todas las señales binarias tienen flancos positivos y negativos : Los flancos positivos o ascendentes marcan el momento en el que se produce el cambio de señal de "0" a "1" Los flancos negativos o descendentes marcan el momento en el que se produce el cambio de señal de "1" a "0" Flancos
Flanco positivo
1
0
Flanco positivo
1
0
Flanco negativo
0
Flanco negativo
Nivel de señales binarias
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 95
Sistemas de control secuencial ____________________________________________________________________________________
10.2
Recordador de flancos
Tratándose de programas con enlaces lógicos, los flancos son evaluados mediante recordadores de flancos. En el ejemplo que se ofrece a continuación, los flancos positivos ( cambio de señal 0 a 1 ) son registrados por el recordador
IF AND SET ... ... ...
THEN ... ... ... IF THEN
RESET
I 1.0 N F 0.0 F 0.0 ... ... ... N I 1.0 F 0.0
Consultar recordador ( 1 ) Activar recordador ( 2 ) Disparo de la función Cancelar recordador
En el programa, los flancos son detectados en tres pasos; es decir, el recordador de flancos es : (1) (2) (3) (1)
Consultado Activado Cancelado
Consulta del recordador :
En el ejemplo ( véase programa ) se evalúa un flanco positivo. El recordador no debe estar activado si la entrada I 1.0 recibe una señal positiva
(2)
Activación del recordador
El recordador registra el flanco positivo ( cambio de señal 0 a 1 en la entrada I 1.0 ). A continuación se activan determinadas funciones en el programa, ya sea activando determinados actuadores o una temporización ( el ejemplo no contiene estas funciones ) (3)
Cancelación del recordador
Cuando ya no se registra la señal 1 en E 1.0 se produce la cancelación del recordador. De este modo se cumple con la condición necesaria para repetir la consulta ( 1 )
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 96
Sistemas de control secuencial ____________________________________________________________________________________
Detección de flancos
Flanco positivo
Flanco positivo 1
1
0
0
0
Cancelación del recordador
Cancelación del recordador
Activación del recordador
Activación del recordador
Disparo de la función
Disparo de la función
La evaluación solamente se refiere al flanco, independientemente de la duración de la señal, puesto que antes de volverse a activar el recordador de flancos ( 2 ) es necesario que la entrada haya recibido señal "0". De este modo queda cancelado el recordador ( 3 ). Esta circunstancia explica el porqué de la consulta en ( 1 ). Si el recordador ha sido activado y la entrada sigue recibiendo la señal "1", ello no incide en los actuadores puesto que no se ha cumplido la condición para ( 2 ).
10.3 Programación de la evaluación de flancos positivos y negativos El programa puede estar configurado de tal manera que se evalúen los flancos positivos o negativos de las señales. Uno y otro caso dependen de las conexiones del sensor ( normalmente cerrado / normalmente abierto ) y de la forma en que es utilizado. En el momento en que es activado un pulsador ( de contacto normalmente abierto ), éste origina un flanco positivo, mientras que en el momento en que deja de ser activado produce un flanco negativo. La elección de la programación de flancos positivos o negativos depende, a fin de cuentas, del significado que ha de tener la señal durante los ciclos. Flanco positivo : Activación del recordador si la entrada recibe señal 1. Cancelación del recordador si la entrada recibe una señal 0
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 97
Sistemas de control secuencial ____________________________________________________________________________________
Flanco positivo
Flanco positivo
1
1 IF
I 1.0 AND N F0.0
0
0
THEN SET
F0.0
Cancelación del recordador disparo de la función
Activación del recordador IF
N I 1.0
THEN RESET
Disparo de la función
F0.0
Flanco negativo : Activación del recordador si la entrada recibe señal 0. Cancelación del recordador si la entrada recibe una señal 1 Flanco negativo
Flanco negativo 1
1
IF
0
N I AND N F0.0 THEN SET F0.0
0 Cancelación del recordador
disparo de la función
Activación del recordador
IF Disparo de la función
I 1.0
THEN RESET F0.0
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 98
Sistemas de control secuencial ____________________________________________________________________________________
11
MULTITAREA
11.1
Funcionamiento automático y manual
Bajo el concepto de multitarea se entiende la ejecución " concurrente " de varias tareas ( trabajos, programas ). Con ese fin es necesario disponer de un sistema operativo apropiado, que se encargue de administrar los programas parciales con la técnica de programas parciales. Ello significa que un programa puede estar compuesto de varias partes, conformando cada una de ellas un programa parcial. Estos programas parciales tienen diversas funciones. Ventajas : estructura más clara del programa y menor duración de los ciclos Ejemplo Un programa complejo deberá poder ejecutarse tanto en funcionamiento automático como también en funcionamiento manual. Básicamente se trata de dos tipos de programas totalmente diferentes. " Automático " suele ser un programa secuencial, mientras que " Manual " es un programa de enlaces lógicos Multitarea ( ejemplo 1 )
ACTIVACIÓN
P1 AUTOMÁTICO
P2 MANUAL
Funcionamiento manual significa que las funciones del mando son activadas directamente por el operario ( a través de las entradas ). No obstante tienen que cumplirse determinadas condiciones. El programa no es ejecutado automáticamente. Tratándose, por el contrario, de un programa de funcionamiento automático, la ejecución del mismo se produce sin intervención del operario ( una vez que éste lo haya activado )
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 99
Sistemas de control secuencial ____________________________________________________________________________________
Estos programas van unidos puesto que tienen la finalidad de ejecutar la misma función de control. En consecuencia, "manual" y "automático" son funciones de control. Al efectuarse la programación se obtendrían dos programas parciales que pueden ser, por ejemplo, los siguientes : Programa 1 : Automático Programa 2 : Manual La técnica de programas parciales evidentemente es ventajosa en este caso, puesto que las dos funciones " manual " y " automático " nunca pueden ejecutarse al mismo tiempo. Si, no obstante, se optase por confeccionar ambas partes en un solo programa, su ejecución demoraría demasiado y el programa tendría una estructura poco clara.
11.2
Funciones
El método de multitarea permite efectuar cómodamente la programación de varias funciones. Tratándose de funciones de control complicadas, esta forma de programación resulta indispensable ( también por razones de seguridad ). Estos programas también son denominados programas paralelos, ya que, aparte del programa automático, en todo momento puede recurrirse a cualquiera de los demás programas En un programa de organización tienen que estar definidas las siguientes funciones : * *
Cómo cambiar de función Cómo reaccionará el PLC si se activa el paro de emergencia
Cuando se pone en marcha el PLC, automáticamente es activado el programa de organización; a partir de él se recurre a uno de los programas parciales Ejemplo : P0 : Programa de organización P1 : Automático ( ciclo simple / ciclo continuo ) P2 : Manual P3 : Reposición
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 100
Sistemas de control secuencial ____________________________________________________________________________________
Multitarea ( ejemplo 2 )
ACTIVACIÓN
P0 Programa de organización
P1 AUTOMÁTICO
Ciclo continuo
P2 MANUAL
P3 REPOSICIÓN
Ciclo simple
Ciclo simple : Si está activada esta función, el programa es ejecutado desde el primer hasta el último paso. Entonces concluye el programa y puede ser activado nuevamente por el operario. Ciclo continuo : En realidad, este es el programa principal propiamente dicho. Se ejecutan varios ciclos hasta que se alcanza un determinado estado final en el programa. Con excepción de las funciones de activación y desactivación, el programa no es influenciado por el operario. Reposición : La máquina es puesta en su posición normal mediante un sensor ( pulsador ). Este estado suele ser indicado, además, por un diodo luminoso. Esta función es importante tratándose de máquinas complicadas, especialmente si durante la ejecución automática de programa ocurrió un fallo.
11.3
Realización con orden de salto ( recuperación de subprogramas )
No todos los PLC permiten la ejecución de una multitarea con programas parciales. No obstante, para aún así ejecutar rápidamente programas largos, puede efectuarse la programación de órdenes de salto o, también, puede aplicarse la técnica de subprogramas.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 101
Sistemas de control secuencial ____________________________________________________________________________________
11.3.1
Órdenes de salto / Órdenes de salto hacia atrás
Si es necesario recurrir varias veces a una parte determinada de un programa, deberá incluirse una orden de salto en las partes respectivas ( es decir en aquellas en las que deberá activarse el programa parcial correspondiente ). Antes de la orden de salto deberá incluirse un recordador con el fin de que al terminarse de ejecutar el programa parcial se vuelva a la orden inicial. Dicho recordador es consultado en el programa parcial. Después de la orden de salto hacia atrás es cancelado el recordador. Para cada orden de salto deberá preverse la activación y posterior cancelación de un recordador
Multitarea· Órdenes de salto/ Órdenes de salto hacia atrás
. . 123
IF 124 THEN
I 1.2 SET
F1
125
JMP TO
219
126
RESET
F1
. . . 198 IF 199 THEN
.
I 1.7 SET
F2
200
JMP TO
219
201
RESET
F2
. 219 . . 250 IF 251 THEN
F1 JMP TO
252 IF 253 THEN
126 F2
JMP TO
201
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 102
Sistemas de control secuencial ____________________________________________________________________________________
11.3.2
Orden de salto con retorno automático ( recuperación de subprograma )
Esta solución es más cómoda puesto que no es necesario programar recordadores. El salto hacia atrás automático significa lo siguiente : la unidad central memoriza la dirección en la que se produce el salto y suma 1 ( después de ejecutar la orden ATRÁS ) a dicha dirección. Entonces, ésta es la dirección de instrucción actual, lo que significa que la ejecución del programa principal continúa en el lugar del salto.
Multitarea · Orden de salto hacia atrás automático
. .
123
IF 124
I 1.2 THEN Programa parcial 219
125 . . . 198 IF
I 1.7
199 THEN Programa parcial
219
200 . . 219 . . 249 RETURN
Programa parcial
En las figuras se muestran ejemplos ( teóricos ) que se refieren a ambos casos. La programación exacta de las órdenes de saltos varía según el PLC. Los dos siguientes ejemplos muestran otras posibles soluciones. Diversos PLC son capaces de recurrir a más subprogramas contenidos en subprogramas ( en este caso, se trata de subprogramas relacionados entre sí. ). También es posible recuperar un subprograma de subprogramas iguales.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 103
Sistemas de control secuencial ____________________________________________________________________________________
Subprograma relacionado tres veces
Programa principal
Subprograma UP1
UP2
UP3
01
01
02
03
( JSR )
LBL
LBL
LBL
( JSR )
( JSR )
( JSR )
(RET)
(RET)
(RET)
Subprograma de lazo
Programa principal
01
Subprograma
01 LBL 051 ( SCT )
( JSR )
01 ( JSR )
051 15
051 (CTR) RET End xxxxx
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 104
Sistemas de control secuencial ____________________________________________________________________________________
11.4
Realización con la técnica de procesadores
La unidad central del PLC 404 contiene 4 procesadores virtuales ( PZ0 hasta PZ3 ), que ejecutan diversos programas. Cada uno de los procesadores puede albergar uno de los programas existentes. Por ejemplo : el programa 7 está en el procesador 1 Multitarea técnica de procesadores ( ejemplo )
P0 P1 P2
PZ 0
P3 P4 P5
PZ 1
P6 P7 P8
PZ 2
P9 P 10 P 11
PZ 3
P 12 P 13 P 14 P 15
Unidad central 0
Un proyecto puede estar compuesto de 16 programas parciales. En consecuencia, es factible que como máximo se ejecuten paralelamente 4 programas por los cuatro procesadores. En principio es indiferente qué programa es ejecutado por qué procesador. Los programas KOP, FUP, AWL y BASIC pueden mezclarse indistintamente. En la figura se muestra un ejemplo.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 105
Sistemas de control secuencial ____________________________________________________________________________________
La ejecución de un programa puede ser interrumpida mediante una orden respectiva. El procesador que queda " libre " de esta manera, puede ser utilizado para activar otro programa. Cuando se conecta la unidad de control, el programa siempre es ejecutado desde el principio, es decir : * * * * * 11.5
Unidad central 0 Procesador 0 Programa 0 Paso 0 línea 0 Procesadores y programas
Los procesadores son unidades funcionales monobit que pueden ser consultadas, activadas o canceladas. Un procesador activado emite una señal "1" al ser consultado, mientras que un procesador cancelado emite una señal "0". También los programas son unidades funcionales monobit. También ellos pueden ser consultados, activados o cancelados. Un programa que está puesto en un procesador y que, además, está activado, emite una señal "1"; en caso contrario, emite una señal "0". Activar / Desactivar programas y procesadores ( ejemplo )
IF I 1.0 THEN SET P 3.12 Programa 12 está puesto en procesador 3 y es activado en paso 0 IF I0 THEN SET P1 Programa 1 se activa si el procesador está puesto IF THEN RESET Desactivar el programa 12
I7 P 3.12
IF THEN SET Programa continúa en procesador 0
I1 PZ 0
IF THEN RESET Desactivar el procesador 0
I. 3 PZ 0
o
IF I7 THEN RESET P12
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 106
Sistemas de control secuencial ____________________________________________________________________________________
Activación de un programa Un programa es puesto en un procesador y activado con la instrucción SET. El programa empieza a ejecutar el paso 0, sin importar si antes había sido interrumpido o no. Al escribir las direcciones del programa, se coloca delante del punto el número de procesador y detrás el número de programa. Si el programa ya está cargado en el procesador, no es necesario indicar el número de procesador. Cancelación de un programa La instrucción RESET tiene como consecuencia la desactivación del programa respectivo. La instrucción puede escribirse con o sin indicación del procesador activado Activación de un procesador La ejecución del programa puesto en el procesador continúa en aquel lugar donde fue detenida Cancelación de un procesador Esta instrucción detiene al procesador. En consecuencia, no continúa la ejecución del programa activado. Un programa solo debería cancelar a su propio procesador si las funciones de control necesarias son asumidas por otro programa ( que continúa ejecutándose ).
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 107
Sistemas de control secuencial ____________________________________________________________________________________
12
PROGRAMAS DE EJEMPLO
La mayor parte de tareas de control pueden dividirse en tres categorías : * * *
Completamente secuencial Principalmente secuencial con algunas acciones aleatorias Completamente aleatorio
Adicionalmente, aparecen muchas situaciones en las cuales puede ser necesario controlar algunas secuencias de mando simultáneamente. Los siguientes ejemplos ofrecen soluciones para todas las posibilidades mencionadas. Ejemplo 1. Completamente secuencial Las tareas que son completamente secuenciales, son ideales para ser resueltas en el lenguaje AWL, dada su implícita estructura de Pasos ( Step ). La tarea secuencial que presentamos aquí es la de controlar 3 cilindros neumáticos por medio de 3 electroválvulas de 3/2 vías en una determinada secuencia. Cuando se conecta el sistema y se acciona el pulsador de marcha, el cilindro A debe avanzar completamente, esperar 3 segundos y a continuación retroceder. A continuación, el cilindro B debe avanzar y retroceder 4 veces y después avanzar y permanecer delante. Finalmente, el cilindro C debe avanzar completamente, en cuyo momento el cilindro A avanzará. Cuando el cilindro A esté de nuevo completamente extendido, los tres cilindros retrocederán y se esperará un nuevo ciclo por el pulsador de marcha. Se asignan las siguientes Entradas / Salidas Pulsador de marcha Cilindro A detrás Cilindro A delante Cilindro B detrás Cilindro B delante Cilindro C detrás Cilindro C delante Electroválvula del Cilindro A Electroválvula del Cilindro B Electroválvula del Cilindro C
I 1.0 I 1.1 I 1.2 I 1.3 I 1.4 I 1.5 I 1.6 O 1.0 O 1.1 O 1.2
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 108
Sistemas de control secuencial ____________________________________________________________________________________
STEP 1 IF THEN
NOP V0 OW 1 V 300 TP 0 V4 CP 2
Inicialización al arranque Incondicionalmente desconecta todas las salidas Prepara el timer en 3 segundos y el contador 2 para 4 unidades
I 1.0 I 1.1 I 1.3 I 1.5 O 1.0
Asegurar que todas las posiciones están OK Pulsador accionado Cilindro A detrás Cilindro B detrás Cilindro C detrás iniciar avance cilindro A
I 1.2 T0
¿ Cilindro A completamente avanzado ? Ahora está delante empezar a temporizar 3 segundos
N T0 O 1.0
Esperar los 3 segundos Timer vencido retroceder cilindro A
SET SET
I 1.1 C2 O 1.1
¿ Cilindro A completamente detrás ? Cilindro A detrás Inicializa contador 2 a 4 eventos avanzar cilindro B
INC RESET
I 1.4 CW 2 O 1.1
¿ Cilindro B delante ¿ ahora está delante cuenta este ciclo inicia el retroceso del cilindro B
I 1.3 C2 O 1.1 20 I 1.3 N C2 O 1.1
¿ Es éste el 4º avance ? Cilindro B detrás y aún no ha hecho 4 carreras avanza cilindro B sigue haciendo ciclos Cilindro B detrás y 4 carreras realizadas avanzar cilindro B
I 1.4 O 1.2
¿ Cilindro B delante ? cilindro B delante ( avance 5º ) avanzar cilindro C
LOAD TO LOAD TO LOAD TO
STEP 5 IF
THEN STEP 10 IF THEN STEP 12 IF THEN STEP 15 IF THEN STEP 20 IF THEN
AND AND AND SET
SET
RESET
STEP 22 IF THEN
AND SET JMP TO
IF THEN STEP 30 IF THEN
AND SET
SET
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 109
Sistemas de control secuencial ____________________________________________________________________________________
STEP 35 IF THEN STEP 40 IF THEN
SET
I 1.6 O 1.0
¿ Cilindro C delante ? Cilindro C delante avanzar cilindro A
RESET RESET RESET JMP TO
I 1.2 O 1.0 O 1.1 O 1.2 5
¿ Todos los cilindros delante ? cilindro A también delante retroceder cilindro A retroceder cilindro B retroceder cilindro C regresar al paso 5
Ejemplo 2. Principalmente secuencial con algunas acciones aleatorias Mientras que las máquinas muy sencillas pueden ser puramente secuenciales en su funcionamiento, hay algunas excepciones en las cuales cambian las especificaciones de la tarea de forma que ya no es completamente secuencial Si la mayor parte de la tarea de control es secuencial, y el modelo de FPC permite la multitarea, una posible solución puede ser dividir el proceso de las acciones secuenciales y las aleatorias, en programas separados Sin embargo, también es posible manejar tales situaciones con un sencillo programa AWL. Si la acción ( o acciones ) aleatoria /s a realizar son pocas y el conjunto del programa es relativamente sencillo, entonces es posible manejar estas acciones añadiéndolas en cada uno de los pasos del programa. Otras posibles soluciones incluyen la utilización del procesamiento por interrupción ( solamente soportado por algunos modelos de FPC ) o construyendo toda la secuencia como una sección de programa paralela o de exploración / scanning total. Este método se explicará en los ejemplos 3 y 4 El ejemplo 2 muestra la inserción en cada paso del programa mostrado en el ejemplo 1, de una frase en forma de detección de un sencillo pulsador de " pausa "; el cual, cuando está pulsado, provoca la detención del programa hasta que es liberado STEP 1 IF THEN
LOAD TO LOAD TO LOAD TO
NOP V0 OW 1 V 300 TP 0 V4 CP 2
Inicialización al arranque Incondicionalmente desconecta todas las salidas Prepara el timer en 3 segundos y el contador 2 para 4 unidades
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 110
Sistemas de control secuencial ____________________________________________________________________________________
STEP 5 IF
THEN STEP 10 IF THEN IF THEN STEP 12 IF THEN IF THEN STEP 15 IF THEN IF THEN STEP 20 IF THEN IF THEN STEP 22 IF THEN IF THEN
AND AND AND AND SET
JMP TO SET
JMP TO RESET
JMP TO SET SET
JMP TO INC RESET
JMP TO AND SET JMP TO
IF THEN
AND SET
I 1.0 I 1.1 I 1.3 I 1.5 N I 1.7 O 1.0
Asegurar que todas las posiciones están OK Pulsador accionado Cilindro A detrás Cilindro B detrás Cilindro C detrás Pulsador pausa inactivo
I 1.7 10 I 1.2 T0
¿ Cilindro A completamente avanzado ? Pulsador de pausa activo esperar aquí Ahora está delante empezar a temporizar 3 segundos
I 1.7 12 N T0 O 1.0
Esperar los 3 segundos Pulsador de pausa activo esperar aquí Timer vencido retroceder cilindro A
I 1.7 15 I 1.1 C2 O 1.1
¿ Cilindro A completamente detrás ? Pulsador de pausa activo esperar aquí Cilindro A detrás Inicializa contador 2 a 4 eventos avanzar cilindro B
I 1.7 20 I 1.4 CW 2 O 1.1
¿ Cilindro B delante ? Pulsador de pausa activo esperar aquí ahora está delante cuenta este ciclo inicia el retroceso del cilindro B
I 1.7 22 I 1.3 C2 O 1.1 20 I 1.3 N C2 O 1.1
¿ Es éste el 4º avance ? Pulsador de pausa activo esperar aquí Cilindro B detrás y aún no ha hecho 4 carreras avanza cilindro B sigue haciendo ciclos Cilindro B detrás y 4 carreras realizadas avanzar cilindro B
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 111
Sistemas de control secuencial ____________________________________________________________________________________
STEP 30 IF THEN
JMP TO
I 1.7 30
¿ Cilindro B delante ? Pulsador de pausa activo esperar aquí
SET
I 1.4 O 1.2
cilindro B delante ( avance 5º ) avanzar cilindro C
STEP 35 IF THEN
JMP TO
I 1.7 35
¿ Cilindro C delante ? Pulsador de pausa activo esperar aquí
IF THEN
SET
I 1.6 O 1.0
Cilindro C delante avanzar cilindro A
JMP TO
I 1.7 40
¿ Todos los cilindros delante ? Pulsador de pausa activo esperar aquí
RESET RESET RESET JMP TO
I 1.2 O 1.0 O 1.1 O 1.2 5
cilindro A también delante retroceder cilindro A retroceder cilindro B retroceder cilindro C regresar al paso 5
IF THEN
STEP 40 IF THEN IF THEN
En resumen : es posible manejar una limitada cantidad de condiciones en paralelo o aleatorias, dentro de lo que, de otra forma, sería un proceso puramente secuencial, utilizando la instrucción Step.
Ejemplo 3. Acciones completamente aleatorias Algunas acciones de control no pueden organizarse en una secuencia lógica ya que las acciones pueden ocurrir de forma aleatoria. Un ejemplo típico de tales tareas, podría ser el programa de control de la preparación de una máquina El proceso lo define el operador de la máquina al accionar aleatoriamente diferentes pulsadores, cada uno utilizado para una función individual. Lo siguiente representa el programa de preparación para una máquina de inyectar plástico.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 112
Sistemas de control secuencial ____________________________________________________________________________________
STEP 1 IF THEN
NOP V0 OW 1
Inicialización Incondicionalmente desconecta todas las salidas
SET
I 1.0 O 1.0
Paso de exploración / scanning Pulsador de cerrar molde Cerrar molde
AND SET RESET
I 1.1 I 2.0 O 1.3 O 1.3
Pulsador de inyectar plástico Sensor de molde cerrado Electroválvula inyección
THEN
AND RESET
I 1.2 N O 1.3 O 1.0
Molde abierto Pulsador de inyección inactivo Abrir molde
IF THEN OTHRW
SET RESET
I 1.3 O 1.1 O 1.1
Pulsador de girar mecanismo extrusor Electroválvula girar extrusor Parar extrusor
AND SET RESET
I 1.4 I 1.5 O 1.4 O 1.4
Sensor molde abierto Pulsador extractor molde Electroválvula extractor molde Parar proceso extracción
JMP TO
NOP 20
Incondicionalmente seguir procesando
STEP 20 IF THEN
LOAD TO
IF THEN OTHRW IF
IF THEN OTHRW IF THEN
Ejemplo 4. Secuencias múltiples y acciones aleatorias Máquina Transfer rotativa multi-estación El siguiente programa AWL se utiliza para controlar una mesa circular de 4 estaciones en la que cada estación debe realizar su propia secuencia simultáneamente con las demás. Las diferentes estaciones, poseen diferente número de pasos, asociados con sus funciones individuales. El operador debe tener la posibilidad de activar o desactivar cualquier estación. Una vez que todas las estaciones han completado sus respectivas secuencias, la mesa rotativa indexará e iniciará un nuevo ciclo. adicionalmente se utilizará un Flag Word como registro de desplazamiento para determinar que estaciones deberán trabajar, dependiendo de la presencia de pieza en la estación.
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 113
Sistemas de control secuencial ____________________________________________________________________________________
El conjunto del proceso será controlado por medio de la asignación de un registro a cada estación. a pesar de que se podrían utilizar Flags para este fin, la utilización de Registros mejora mucho el diagnóstico de la máquina en el caso de ocurrir una detención. Este método de estructurar programas permite tantos procesos paralelos activos como número de registros se disponga, y además permite más de 65.000 pasos por proceso. El funcionamiento de la máquina es como sigue : Estación 1 : La estación 1 es utilizada para cargar cartuchos de cinta vacíos. Si no hay cartuchos en eta estación, pero si los hay en las estaciones 2, 3 o 4, entonces aquellas estaciones funcionarán. Cuando la máquina indexa, el estado de cada estación ( pieza a procesar : si/no) será actualizado Estación 2 : La estación 2 consiste en varias acciones secuenciales que insertan dos carretes vacíos en el cartucho de cinta Estación 3 : La estación 3 realiza varios pasos en los cuales una cinta larga es unida al carrete de la izquierda, es completamente enrollada y finalmente unida al carrete derecho Estación 4 : La estación 4 fija la mitad superior del cartucho de cinta y lo une a la parte inferior por soldadura ultrasónica. Finalmente, el cartucho terminado es expulsado a una caja de embalaje... STEP 10 THEN
LOAD TO TO TO TO TO TO TO TO TO TO TO LOAD TO LOAD TO LOAD
V0 OW0 OW1 OW2 OW3 OW4 FW0 R0 R1 R2 R3 R4 V25 TP2 V250 TP3 V300
Inicialización Desactivar todas las salidas
Inicializar " shift register " Registro de control de indexación mesa Registro de control de estación 1 Registro de control de estación 2 Registro de control de estación 3 Registro de control de estación 4 Timer 2 a 1/4 de segundo Timer 3 a 2,5 segundos Timer 4 a 3 segundos
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 114
Sistemas de control secuencial ____________________________________________________________________________________
TO
TP4
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 115
Sistemas de control secuencial ____________________________________________________________________________________
STEP 20 IF THEN
JMP TO
N I 0.0 99
AND AND AND AND AND AND AND
I 0.2 I 2.1 I 2.3 N I 2.5 N I 2.6 I 3.1 I 3.4 I 3.6
IF
AND AND AND AND AND AND OR AND THEN STEP 30 IF
LOAD
( R1 = V0 ) ( R2 = V 255 ) ( R3 = V 255 ) ( R4 = V 255 ) V 10
TO
R1
AND SET
( R1 = V 10 ) I 1.1 F0.0
LOAD TO
( R1 = V 10 ) V 255 R1
AND AND AND THEN
IF THEN IF THEN
I 4.1 N I 4.3 I 4.4 I 0.1 I 0.0 ( I 1.1 ( FW0 V15 > V0 )) NOP
¿Estaciones en origen ? Paro_Activo Rutina especial Mesa indexada Est.2 Cilindro insertor izquierdo detrás Est.2 Cilindro insertor derecho detrás Est.2 Carrete izquierdo colocado Est.2 Carrete derecho colocado Est.3 Pinza sujeción cinta, abierta Est.3 Cilindro avance cinta, detrás Est.3 Cilindro fijación derecha cinta, detrás Est.4 Cilindro inserción detrás no hay mitad superior del cartucho situada Est.4 Cilindro de extracción detrás Pulsador de marcha a posición de partida Paro_E inactivo Cartucho en estación 1 o piezas en alguna estación toda la palabra de 16 bits enmascarando toda, excepto bits0,1,2,3 hay alguna pieza OK para proceder, sino esperar ESTACIÓN 1 Registro de control estación 1 empezando Registro de control estación 2 indica ha terminado Registro de control estación 3 indica ha terminado Registro de control estación 4 indica ha terminado Todas las estaciones han terminado,así que ya es momento de ver si se ha cargado pieza en la estación 1 Registro de control de estación 1 listo para leer sensor de pieza situada poner un "1" en el shift register Cuando se cumpla esto todas las estaciones habrán terminado
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 116
Sistemas de control secuencial ____________________________________________________________________________________
IF
THEN
AND OR LOAD TO
Registro de control estación 2, empezando
SET SET LOAD TO
( R2 =V0) O 2.0 O 2.1 V 20 R2
Registro de control estación 2
AND AND AND AND SET SET LOAD TO
( R2 = V 20 ) I 2.2 I 2.4 I 2.5 I 2.6 O 2.2 T2 V 30 R2
Registro de control estación 2
AND RESET RESET LOAD TO
( R2 = V 30 ) N T2 O 2.0 O 2.1 V 40 R2
Registro de control estación 2
AND AND RESET LOAD TO
( R2 = V 40 ) I 2.1 I 2.2 O 2.2 V 255 R2
IF THEN
IF
THEN
IF THEN
IF
THEN
ESTACIÓN 2 Registro de control estación 2
( R2 = V0 ) ( N I 2.0 N F0.1 ) V 255 R2
Estación 2 no activada o no hay piezas en estación 2 por lo tanto marcar estación 2 como terminada
avanzar cilindro carrete izquierdo avanzar cilindro carrete derecho control de avance de la secuencia
lado izquierdo delante lado derecho delante carrete izquierdo en fijación carrete derecho en fijación conectar vacío de sujeción activar el temporizador actualizar registro de control de estación 2
transcurrido un tiempo de 1/4 de seg. retroceder cilindro carrete izquierdo retroceder cilindro carrete derecho actualizar registro de control de estación 2
cilindro carrete izquierdo detrás cilindro carrete derecho detrás conmutador de vacío desconectado marcar estación 2 como terminada
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 117
Sistemas de control secuencial ____________________________________________________________________________________
IF
THEN
SET LOAD TO
( R3 = V0 ) ( N I 3.0 N F0.2 ) V 255 R3 ( R3 = V0 ) O 3.1 V 10 R3
Registro de control estación 3
AND SET LOAD TO
( R3 = V 10 ) I 3.2 O 3.2 V 30 R3
Registro de control estación 3
AND RESET RESET LOAD TO
( R3 = V 30 ) I 3.3 O 3.2 O 3.1 V 40 R3
Registro de control estación 3
AND SET SET LOAD TO
( R3 = V 40 ) I 3.4 O 3.3 T3 V 50 R3
Registro de control estación 3
AND RESET SET
( R3 = V 50 ) N T3 O 3.3 O 3.4
LOAD TO
V 60 R3
AND OR LOAD TO
IF THEN
IF THEN
IF THEN
IF THEN
IF THEN
ESTACIÓN 3 Registro de control estación 3 Estación 3 inactiva o no hay pieza por lo tanto marcar la estación 3 como terminada Registro de control estación 3 cerrar pinza de la cinta actualizar registro de control de la estación 3
pinza cerrada insertar cinta en carrete izquierdo actualizar registro de control de estación 3
cinta insertada en carrete retroceder cilindro inserción desactivar pinza de cinta actualizar registro de control de estación 3
cilindro de inserción detrás arrancar motor enrollado de la cinta arrancar temporizador de enrollado actualizar registro de control de estación 3
tiempo de enrollado vencido parar motor de enrollado avanzar cilindro inserción carrete lado der actualizar registro de control de estación 3
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 118
Sistemas de control secuencial ____________________________________________________________________________________
Registro de control estación 3
AND RESET LOAD TO
( R3 = V 60 ) I 3.5 O 3.4 V 70 R3
Registro de control estación 3
AND LOAD TO
( R3 = V 70 ) I 3.6 V 255 R3
AND OR LOAD TO
( R4 =V0) ( N I 4.0 N F0.3 ) V 255 R4
Registro de control estación 4
SET LOAD TO
( R4 = V0 ) O 4.1 V 10 R4
Registro de control estación 4
AND AND SET SET LOAD TO
( R4 = V 10 ) I 4.2 I 4.3 O 4.2 T4 V 20 R4
Registro de control estación 4
AND RESET RESET LOAD TO
( R4 = V 20 ) N T3 O 4.2 O 4.1 V 30 R4
Registro de control estación 4
AND
( R4 = V 30 ) I 4.1
IF THEN
IF THEN IF
THEN IF THEN
IF
THEN
IF THEN
IF
sensor inserción carrete derecho retroceder cilindro inserción lado derecho actualizar registro de control de estación 3
cilindro lado derecho detrás marcar registro de control de estación 3 como terminado ESTACIÓN 4 Registro de control estación 4 estación 4 inactiva o no hay pieza en estación 4 por lo tanto marcar la estación como terminada
bajar cartucho superior actualizar registro de control de estación 4
cilindro de cartucho delante cartucho en fijación activar soldadura ultrasónica empezar tiempo soldadura actualizar registro de control de estación 4
tiempo soldadura vencido detener soldadura soltar cilindro fijación cartucho actualizar registro de control de estación 4
cilindro carcasa superior detrás
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 119
Sistemas de control secuencial ____________________________________________________________________________________
THEN
O 4.3 V 40 R4
avanzar cilindro extracción actualizar registro de control de estación 4 Registro de control estación 4
AND RESET LOAD TO
( R3 = V 40 ) I 4.5 O 4.3 V 50 R4 ( R4 = V 50 ) I 4.4 F 0.3 V 255 R4
Estaciones 1-4 terminadas
LOAD TO
( R1 = V 255 ) V 10 R0
SET LOAD TO
IF THEN
AND RESET LOAD TO
IF THEN
IF THEN IF AND AND THEN
MESA DE INDEXACIÓN Registro de control de indexación toda la palabra de 16 bits enmascarar toda excepto los bits 0,1,2,3 si esto es cierto, por lo menos hay una estación con pieza actualizar registro de control de indexación Registro de control de indexación
JMP TO
( R0 = V 10 ) 10
SET LOAD TO
( R0 = V20 ) O 0.0 V 30 R0
Registro de control de indexación hay que indexar activar indexación mesa actualizar registro de control de indexación Registro de control de indexación
AND LOAD TO LOAD
( R0 = V 30 ) N I 0.2 V 40 R0 FW0
IF THEN
registro de control de indexación
V 20 R0
IF THEN
cilindro de extracción detrás shift register marca " no hay pieza " marcar la estación como terminada
LOAD TO
IF THEN
( R0 = V 10 ) ( ( FW0 V 15 ) > V0 )
cilindro de extracción delante retroceder cilindro de extracción actualizar registro de control de estación 4 Registro de control estación 4
no hay que indexar, seguir con el proceso
la indexación ha empezado activar registro de control de indexación cargar shift register al MBA
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 120
Sistemas de control secuencial ____________________________________________________________________________________
SHL TO
FW0
AND RESET LOAD TO TO TO TO TO JMP TO
( R0 = V 40 ) I 0.2 O 0.0 V0 R0 R1 R2 R3 R4 20
JMP TO
N I 0.0 99
JMP TO
NOP 30
JMP TO
I 0.0 10
IF THEN
IF THEN IF THEN STEP 99 IF THEN
desplazar bits a la izquierda para hacerlo coincidir con las piezas actuales presentes Secuencia indexación completa Registro de control de indexación alcanzada nueva posición de indexación detener indexación borrar registros de control
seguir procesando Paro_E activo rutina especial seguir procesando Incondicionalmente sigue el proceso en el paso 30 RUTINA PARO_E esperar hasta que Paro_E sea liberado y reaccionar como si se arrancara de nuevo el sistema
____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 121
View more...
Comments