apuntes de automatismos

268
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 ____________________________________________________________________________________

Upload: aligatore82

Post on 28-Jun-2015

1.482 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: apuntes de automatismos

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

Page 2: apuntes de automatismos

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

Page 3: apuntes de automatismos

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

5.3 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

Page 4: apuntes de automatismos

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 PRESENTAN

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 TEMA 6 : AUTÓMATA PROGRAMABLE FESTO FPC 404 1 OPERANDOS DE LOS FPC DE FESTO

1.1 Operandos monobit y multibit 1.1.1 Operandos Monobit 1.1.2 Operandos Multibit

1.2 Operandos locales y globales 1.2.1 Operandos Globales 1.2.2 Operandos Locales

1.3 Operadores

____________________________________________________________________________________ Índice pág. 4

Page 5: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

2 ESTRUCTURA DE PROGRAMACIÓN AWL

2.1 Jerarquía de los elementos awl 2.2 Instrucción step ( paso ) 2.3 Frases

2.3.1 Frases típicas 2.4 Instrucción step 2.5 Reglas de ejecución 2.6 Influencia en el flujo del programa 2.7 Instrucción nop 2.8 Instrucción jmp 2.9 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

Page 6: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

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

5.5 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

6 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 Funciones de los contadores

6.2.1 Aplicación 6.2.2 Programación de una función de contador

6.3 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

6.4 Ejemplos 6.4.1 Contadores estándar 6.4.2 Contadores ASCENDENTES / DESCENDENTES

Ejemplo : Utilización de un Registro como contador 6.5 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

Page 7: apuntes de automatismos

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.3.2 Orden de salto con retorno automático ( recuperación de subprograma )

11.4 Realización con la técnica de procesadores 11.5 Procesadores y programas

Activación de un programa Cancelación de un programa Activación de un procesador Cancelación de un procesador

12 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

Page 8: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

TEMA 1 : INTRODUCCIÓN A LOS AUTOMATISMOS

____________________________________________________________________________________ Introducción a los automatismos pág. 1

Page 9: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

____________________________________________________________________________________ Introducción a los automatismos pág. 2

Page 10: apuntes de automatismos

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

Page 11: apuntes de automatismos

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.

Transporte Conversión

Información

Energía

Material

Información

Energía

Material

Proceso

____________________________________________________________________________________ Introducción a los automatismos pág. 4

Page 12: apuntes de automatismos

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

Page 13: apuntes de automatismos

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.

OPERARIO Selecciona la temperatura

SENSORES

SENSOR DE TEMPERATURA EN

INSTALACIÓN

SELECTOR DE

TEMPERATURA DE REFERENCIA

FLUIDO DECONTROL

PERDIDAS DE

CALOR

TEMPERATURA EN LA

INSTALACIÓN Instalación a temperatura constante

PROCESO ACTUADOR

Caldera Valvu

de gala

s Regulador

SISTEMA DE CONTROL

+ -

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

Page 14: apuntes de automatismos

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

A

S1 C3 A B S1

C1 S2 S2

S1

S2

M2 C2

M1 C4 S2 S1

C5

M3

S1 S2

C4

S2 S1

C5

____________________________________________________________________________________ Introducción a los automatismos pág. 7

Page 15: apuntes de automatismos

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 * Variable que indica que se ha realizado el estado anterior 2.3 Procesos discontinuos o por lotes

A B B

C D E

ED C

B B

A

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

Page 16: apuntes de automatismos

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 )

PRODUCTO TERMINADO

PROCESO

ACTUADORES

PRODUCTO DE

ENTRADA

SISTEMA DE

CONTROL

OPERARIO - Consignas - Órdenes

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

Page 17: apuntes de automatismos

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

PRODUCTO TERMINADO

SENSORES

PROCESO

ACTUADOR

PRODUCTO DE

ENTRADA

SISTEMA E

CONTROL D

OPERARIO - Consignas - Órdenes

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

Page 18: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

CLASIFICACIÓN TECNOLÓGICA

Microprocesador Autómata programable

Computador Electrónica estát a Relés

ic

Neumática Fluídica Eléctrica

LÓGICA PROGRAMADA LÓGICA CABLEADA 4.1 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 : * Imposibilidad de realización de funciones complejas de control * Gran voluminosidad y peso * Escasa flexibilidad frente a modificaciones * Reparaciones costosas 4.2 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

Page 19: apuntes de automatismos

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

Fin

Documentación del proceso: Especificaciones funcionales

Interpretación del proceso

Especificaciones de material, aparatos y sus

valoraciones

Determinación de tiempos

Montaje y sus pruebas

Puesta en funcionamiento

Esquemas de potencia, mando, etc,

Inicio

____________________________________________________________________________________ Introducción a los automatismos pág. 12

Page 20: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

ORGANIGRAMA PARA EL DESARROLLO DE UN PROCESO CON AUTÓMATA PROGRAMABLE

Puesta en funcionamiento PLC

Esquema de conexionado de E/S del autómata

Montajes

Proceso a controlar

Puesta en modo RUN

Esquema electrico de potencia

Plano distribución componentes del automatismo

Programación * Diagrama de contactos * Lista de instrucciones

Elección del autómata

Asignación de E/S tem. Cont. etc.

Determinación de E/S, temp. Cont. etc

Documentación del proceso * Memoria de func. * Planos, etc.

Diagrama del proceso

Interpretación del proceso a controlar

Inicio

Fin

____________________________________________________________________________________ Introducción a los automatismos pág. 13

Page 21: apuntes de automatismos

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) Las especificaciones técnicas del proceso y su correcta interpretación b) 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 c) 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

Lógica cableada

Lógica programada

Toma de decisiones

Estudio económico opciones

Resolución de las opcionestecnológicas más eficaces

Especificaciones funcionales

Inicio

ESTUDIO PREVIO

ESTUDIO TÉCNICO ECONÓMICO

DECISIÓN FINAL

Fin

____________________________________________________________________________________ Introducción a los automatismos pág. 14

Page 22: apuntes de automatismos

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

Page 23: apuntes de automatismos

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

Page 24: apuntes de automatismos

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.

Sensores Actuadores

PROCESO

Variables de salida Yo...Yn Variables de entrada

Xo...Xn

Sistema Combinacional

Células de Memoria

CONTROLADOR SECUENCIAL ASÍNCRONO

Estados Eo...En

Estados Eo+1...En+1

____________________________________________________________________________________ Introducción a los automatismos pág. 17

Page 25: apuntes de automatismos

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.

Contador Reloj

Memoria Lect. serie

Células de

Memoria Lect. paralelo

Células de

Variables de

Xo...Xn entrada Variables de salida

Yo...Yn

Sistema Combinacional

CONTROLADOR SECUENCIAL SÍNCRONO

PROCESO

Actuadores Sensores

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

Page 26: apuntes de automatismos

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

Page 27: apuntes de automatismos

Sistemas de control secuencial _____________________________________________________________________________________

TEMA 2 : REPRESENTACIÓN DE LOS AUTOMATISMOS

_____________________________________________________________________________________ Representación de los automatismos pág.1

Page 28: apuntes de automatismos

Sistemas de control secuencial _____________________________________________________________________________________

_____________________________________________________________________________________ Representación de los automatismos pág.2

Page 29: apuntes de automatismos

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 :

X

≥ &

Norma CEI

+ .

OR AND

Complemento O Y

DIN 40713 16

NEMA

Norma

Francesa

Norma

Booleana

Representación

Nemónicos

FUNCIÓN

_____________________________________________________________________________________ Representación de los automatismos pág.3

Page 30: apuntes de automatismos

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.

Yo Yo Yo Variable de salida

( normalmente cerrada ) Variable de entrada inversa Xo Xo Xo

Xo Xo Xo ( normalmente abierta )

Variable de entrada directa

Norma CEI Norma NEMA Norma DIN 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

Page 31: apuntes de automatismos

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 1.3.2 Función lógica Y Se trata de la conexión en serie de diversos elementos de entrada

y

a1

y a3 a2 a1

y = a1 . a2 . a3

y = a1 + a2 + a3 a3

a2

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

y = ( a1 . a2 . a3 ) + ( a4 . a5 . a6 )

a6 a5 a4

y

a3 a2 a1

_____________________________________________________________________________________ Representación de los automatismos pág.5

Page 32: apuntes de automatismos

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

a3 a1

y = ( a1 + a2 ) . ( a3 + a4 )

a4

y

a2

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 : Lógica transistor - resistencia * Familia DTL : Lógica transistor - diodo * Familia TTL : Lógica transistor - transistor * Familia ECL : Lógica acoplada por emisor * Familia C-MOS

_____________________________________________________________________________________ Representación de los automatismos pág.6

Page 33: apuntes de automatismos

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 :

S = A + B + C A B C

S = A + B ≥ 1

A B

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 B C S Representación gráfica de una ecuación 0 0 0 0 lógica con todas las combinaciones posibles 0 0 1 1 de sus variables binarias ( 0, 1 ) y el 0 1 0 1 resultado final 0 1 1 1 1 0 0 1 Nº combinaciones = 2n 1 0 1 1 1 1 0 1 1 1 1 1

2.2 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

S = A · B · C A

B C

S = A · B A B &

_____________________________________________________________________________________ Representación de los automatismos pág.7

Page 34: apuntes de automatismos

Sistemas de control secuencial _____________________________________________________________________________________

A B C S 0 0 0 0 0 0 1 0

Tabla de verdad 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

2.3 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

A S Tabla de verdad 0 1

1 0 2.4.- 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

S = A + B = A · B

A B S 0 0 1

Tabla de verdad 0 1 0 1 0 0 1 1 0

S = A + B A B

A A A A

S = A Si A = 1, será A = 0 Si A = 0, será A = 1

≥1 S = A + B A B

_____________________________________________________________________________________ Representación de los automatismos pág.8

Page 35: apuntes de automatismos

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

S = A · B

A B

S = A · B

A B

S = A · B A B &

A B S 0 0 1

Tabla de verdad 0 1 1 1 0 1 1 1 0

2.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

B S = A +

B A = 1

B A B S = A +

A B S 0 0 0

Tabla de verdad 0 1 1 1 0 1 1 1 0

_____________________________________________________________________________________ Representación de los automatismos pág.9

Page 36: apuntes de automatismos

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

A B S 0 0 1

Tabla de verdad 0 1 0 1 0 0 1 1 1

2.8 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 B

S = A B

A A S S

A S Tabla de verdad 0 0

1 1 3 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

Page 37: apuntes de automatismos

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 : S = A + B + C A

B C

S = A + B ≥ 1 A

B La representación neumática de la función OR es la siguiente :

14 ( Y ) 12 ( X ) 2 ( A )

A B S 0 0 0

Tabla de verdad 0 1 1 1 0 1 1 1 1

Ejemplo : Mando de un cilindro de simple efecto desde dos puntos diferentes

1.6

1.2

1.0

3 1

2

2 14 12

3 1

2

1.4 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

Page 38: apuntes de automatismos

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

e3 e2 e1

2 14 12

S

2 14 12

2 14 12

e4

S 2

14 12

2 14 12

2 14 12

Posibilidad B

e1 e2 e3 e4

_____________________________________________________________________________________ Representación de los automatismos pág.12

Page 39: apuntes de automatismos

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 C

S = A · B · C S = A · B A B &

La representación neumática de la función AND es la siguiente

2

14 12

A B S 0 0 0

Tabla de verdad 0 1 0 1 0 0 1 1 1

En neumática existen en principio, 3 posibilidades de realizar la función Y 1ª Posibilidad : Por conexión en serie S

1 3

2

1 3

2

1.4

1.2 Ventajas : 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

Page 40: apuntes de automatismos

Sistemas de control secuencial _____________________________________________________________________________________

2ª Posibilidad : Por válvula de simultaneidad

1.6

1.2

S

3 1

2

2 14 12

3 1

2

1.4 Ventajas : 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

1.6

1.4 1.2

S

3 1

2

3 1

2

3 1

2

Ventajas : 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

Page 41: apuntes de automatismos

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.

S 2

12 14

12 14

2 2

12 14

12 14

2

e5 e1 e2 e3 e4

Posibilidad a

2 12 14

2

12 14

Posibilidad b

e1 e2 e3 e4 e5

S

2 12 14

2 12 14

_____________________________________________________________________________________ Representación de los automatismos pág.15

Page 42: apuntes de automatismos

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.6

1.1

1.0 1.3

1.3

3 1

2 1.4 1.2

3 1

2

3 1

2

14 12 4

3

2

14 12 2

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 Si A = 1, será A = 0 Si A = 0, será A = 1

A A A A La representación neumática de la función NO es la siguiente :

A

S

10

3

2

1

Válvula de 3 vias abierta en reposo

_____________________________________________________________________________________ Representación de los automatismos pág.16

Page 43: apuntes de automatismos

Sistemas de control secuencial _____________________________________________________________________________________

A

S

& S = 1, si B = 1 y A = 0

S = A . B

B A

S

&

S = 1, si A = 0

Símbolo función NO de Parker Conexionado en inhibición

A S Tabla de verdad 0 1

1 0 Ejemplo de función NO : Ha de sonar una señal acústica si un dispositivo de protección no está cerrado.

1.2 2

1

2

3

10 1.1

1 3

Bocina 1.0 3.4 Función NOR ( NO-O ) La función se obtiene por inversión de la función OR

S = A + B = A · B

≥1 S = A + B A

B

A B S 0 0 1

Tabla de verdad 0 1 0 1 0 0 1 1 0

S = A + B A B

_____________________________________________________________________________________ Representación de los automatismos pág.17

Page 44: apuntes de automatismos

Sistemas de control secuencial _____________________________________________________________________________________

Neumáticamente la función NOR se puede realizar con el siguiente montaje S

10

3

2

1 2

12 14 A B

3.5 Función NAND ( NO - Y ) La función se obtiene por inversión de la puerta AND

S = A · B = A + B

S = A · B A

B S = A · B A

B &

A B S 0 0 1

Tabla de verdad 0 1 1 1 0 1 1 1 0

Con elementos neumáticos, la función NAND se realiza con el siguiente montaje S

10

3

2

1

2ª Posibilidad

1 3

2

1ª Posibilidad

A

S

10

3

2

1

2

12 14 A B

B

_____________________________________________________________________________________ Representación de los automatismos pág.18

Page 45: apuntes de automatismos

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

B S = A +

B A = 1

B A B S = A +

A B S 0 0 0

Tabla de verdad 0 1 1 1 0 1 1 1 0

Con elementos neumáticos, la función XOR se realiza con el siguiente montaje

B A

1 3

2

S

10

3

2

1

2 14 12

1 3

2

_____________________________________________________________________________________ Representación de los automatismos pág.19

Page 46: apuntes de automatismos

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

A B S 0 0 1

Tabla de verdad 0 1 0 1 0 0 1 1 1

Con elementos neumáticos, la función XNOR se puede realizar con el siguiente montaje

A B

S = A B

12 14 2

1

2

3

10

S

3 1

A B

10

12 14 2

2

_____________________________________________________________________________________ Representación de los automatismos pág.20

Page 47: apuntes de automatismos

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 S A

A S Tabla de verdad 0 0

1 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 = A ( regenerado )

A

S

=

Válvula de 3 vias cerrada en reposo A

S

10

3

2

1

Símbolo función SI de Parker

_____________________________________________________________________________________ Representación de los automatismos pág.21

Page 48: apuntes de automatismos

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

Page 49: apuntes de automatismos

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

D

C B

A

Alimentación

Receptor S

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

Page 50: apuntes de automatismos

Sistemas de control secuencial _____________________________________________________________________________________

Equivalencias entre puertas lógicas

Puertas NOR Puertas NAND Función

a

b a

b a

S b a

S

b

a

S a a S

S

b

a

S b a

b

a S

S

S

S

S

a

b

a b S

S a 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

Page 51: apuntes de automatismos

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

Page 52: apuntes de automatismos

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

I1 P0 P1

_____________________________________________________________________________________ Representación de los automatismos pág.26

Page 53: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

TEMA 3 : ÁLGEBRA DE BOOLE

____________________________________________________________________________________ Algebra de Boole pág. 1

Page 54: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

____________________________________________________________________________________ Algebra de Boole pág. 2

Page 55: apuntes de automatismos

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.

b

b

a

a

a . b

a + b

Producto

Suma

Contactos eléctricos

Expresión Booleana

Operación Significar que la operación producto se indica generalmente mediante la ausencia de símbolo entre dos variables. a · b = ab También : 1 lógico equivale a contacto cerrado 0 lógico equivale a contacto abierto

____________________________________________________________________________________ Algebra de Boole pág. 3

Page 56: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

1.1 Postulados y teoremas 1.- Las operaciones suma y producto son conmutativas : 2.- Ambas operaciones son asociativas : a) ( a + b ) + c = a + ( b + c ) = a + b + c

b

b

b b

a

a

a a =b) ab = ba

=a) a + b = b + a

b) ( ab ) c = a ( bc ) = abc 3.- Ambas operaciones son distributivas :

c b

a a

c b

a

c a c

=

=b b

a a

b) a ( b + c ) = ( ab ) + ( ac )

a) a + bc = ( a + b ) ( a + c ) 4.- La suma o producto de dos variables iguales equivale a la misma variable

a

a

a a

a a = b) a.a = a

= a) a + a = a

____________________________________________________________________________________ Algebra de Boole pág. 4

Page 57: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.- Existe elemento complementario para cada operación : 6.- Ley de absorción

b

b

a

a

a a

a a = b) a ( a + b ) = a

= a) a + ab = a

a

a

a 1

a 0 = b) a.a = 0

= a) a + a = 1

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 :

1

a 1 = d) a + 1 = 1

0 0 a = c) a . 0 = 0

a

a =

a 1

a

0

= b) a + 0 = a

a) a . 1 = a

____________________________________________________________________________________ Algebra de Boole pág. 5

Page 58: apuntes de automatismos

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

a

_ a

= a

0 1 0 1 0 1

9.- Postulado noveno

a) a + a b = a + b

b) a ( a + b ) = a b

= b

a

a

a

b

a =

a a

b

b

Demostración a) a + a b = ( a + a ) ( a + b ) = 1 ( a + b ) = a + b

b) a ( a + b ) = a a + a b = 0 + a b = a b

2 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

Page 59: apuntes de automatismos

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 b a + a . b a 0 0 0 + 0 . 0 = 0 0 0 1 0 + 0 . 1 = 0 0 1 0 1 + 1 . 0 = 1 1 1 1 1 + 1 . 1 = 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

Page 60: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Nombre de la Ley

Forma básica

Forma dual

Ley de absorción a + a . b = a

A . ( a + b ) = a

Teorema de De Morgan

__________ _ _ _ ( 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 + a . b = a + b

_ _ a . ( a + b ) = a . b

_ a . b + a . b . c = a . b + a . c

_ ( a+b ) . ( a + b + c ) = ( a+b ) . ( a+c)

_ _ a . b + a . c + b . c = a . b + a . c

_ _ (a + b) (a + c) (b + c ) = (a + b) (a+ c)

_ a . b + a . b = a

_ ( 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 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1

____________________________________________________________________________________ Algebra de Boole pág. 8

Page 61: apuntes de automatismos

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 :

* 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 )

x = 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 :

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 )

F = c b a + c b a + c b a + c b a = ∑ ( 1, 3, 5, 7 )

1 1 1

0 1 1

1 0 1

0 0 1 ( 1 )

( 3 )

( 5 )

( 7 )

3

3

____________________________________________________________________________________ Algebra de Boole pág. 9

Page 62: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

4 CONVERSIÓN ENTRE FORMAS a) 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 b a F 0 0 0 0 0 0 1 1 ⇒ c . b . a 0 1 0 0 0 1 1 1 ⇒ c . b . a 1 0 0 0 1 0 1 0 1 1 0 1 ⇒ c . b . a 1 1 1 1 ⇒ c . b . a

luego 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

Page 63: apuntes de automatismos

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 :

* Método algebraico * Métodos tabulares y gráficos

5.1 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 = a b c d + a b c d + a b c d + a b c d

____________________________________________________________________________________ Algebra de Boole pág. 11

Page 64: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Aplicando los axiomas del álgebra de Boole, obtenemos : a b c d + a b c d = a b c ( d + d ) = a b c ( 1 ) = a b c a b c d + a b c d = a b c ( d + d ) = a b c ( 1 ) = a b c de donde F = a b c + a b c y repitiendo el proceso anterior a b c + a b c = a b ( c + c ) = a b ( 1 ) = a b

F = a b

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

Page 65: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Decimal Binario natural Binario Gray

0 000 000 1 001 001 2 010 011 3 011 010 4 100 110 5 101 111 6 110 101 7 111 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 0 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0

---------------- Para 3 variables --------------------------- Para 4 variables ------------------------------- 1 1 1 1 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0

____________________________________________________________________________________ Algebra de Boole pág. 13

Page 66: apuntes de automatismos

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.

c ab

b a

1

1

0

0

1

0

01 11 10

cd

ab 10 11 01

10

11

01

00 00

00

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

00

00

01

11

10

01 11 10

a b c d a b c d

a b c d

a b c d

a b c d a b c d

a b c d

a b c d

a b c d a b c d

a b c d

a b c d a b c d

a b c d a b c d a b c d

cd ab

Términos Minterms

____________________________________________________________________________________ Algebra de Boole pág. 14

Page 67: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

00

00

01

11

10

01 11 10

a+b+c+d a+b+c+d a+b+c+d a+b+c+d

a+b+c+d a+b+c+d

a+b+c+d a+b+c+d

a+b+c+d a+b+c+d

a+b+c+d

a+b+c+d

a+b+c+d

a+b+c+d a+b+c+d a+b+c+d

ab cd

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

Términos Maxterms

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

Page 68: apuntes de automatismos

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 = A B C D + A B C D + A B C D + A B C D + A B C D + A B C D + A B C D

1 2 3 4 5 6 7

7

5 6 4 10

3

2

1 cd

ab 10 11 01

11

01

00

00 El bucle 1-2 proporciona el término : A B C D ⇒ A B C A B C D El bucle 3-7-4-5 proporciona el término : A B C D A B C D ⇒ A C A B C D A B C D

____________________________________________________________________________________ Algebra de Boole pág. 16

Page 69: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

El bucle 4-6 proporciona el término : A B C D ⇒ B C D A B C D Luego el resultado es : S = A B C + B C D + A C Ejemplo 2 : Dada la tabla de verdad de una función, obtener la ecuación más

simplificada

a b c F 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 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

( a + b ) a + b + c

a + b + c 0

0

c ab

1

0

01 11 10 00 Siendo la simplificación final de la función F = a + b

____________________________________________________________________________________ Algebra de Boole pág. 17

Page 70: apuntes de automatismos

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 X 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 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 a + b + c

a + b + c

a + b + c

a + b + c

c

a b c

a b c

a b c

a b c

0 0 0 X

X 1 1 1 X

X

c ab

1

0

01 11 10 00 c ab

1

0

01 11 10 00

____________________________________________________________________________________ Algebra de Boole pág. 18

Page 71: apuntes de automatismos

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 :

F

2

1

A

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

Page 72: apuntes de automatismos

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

Page 73: apuntes de automatismos

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

Término Estado de las Variables

Valor decimal Índice

ABCD

0100

4

1

ABCD

0011

3

ABCD

0101

5

2

ABCD

0110

6

ABCD

0111

7

3

ABCD

1011

11

ABCD

1111

15

4

3ª Fase : 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 ) Combinación Índice

( 4, 5 ) ( 4, 6 )

010- 01-0

1

( 5, 7 ) ( 3, 7 ) ( 3, 11 ) ( 6, 7 )

01-1 0-11 -011 011-

2

( 7, 15 ) ( 11, 15 )

-111 1-11

3

____________________________________________________________________________________ Algebra de Boole pág. 21

Page 74: apuntes de automatismos

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 )

Combinación Índice

( 4, 5 ) , ( 6, 7 ) ( 4, 6 ) , ( 5, 7 )

01-- 01-- ( Se elimina )

1

( 3, 7 ) , ( 11, 15 ) ( 3, 11 ) , ( 7, 15 )

--11 --11 ( Se elimina )

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 3 4 5 6 7 11 15 0 1 - - - - 1 1

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

Page 75: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

TEMA 4 : GRAFCET

____________________________________________________________________________________ Grafcet pág. 1

Page 76: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

____________________________________________________________________________________ Grafcet pág. 2

Page 77: apuntes de automatismos

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 Etapes-Transitions ), 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

Page 78: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Habría que destacar además en este método ciertas cualidades tales como : * Claridad * Legibilidad * Presentación sintética 2.1 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

Page 79: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Ejemplo :

3

2

Condición de transición

Condición de transición

Acción asociada a la etapa 1

sv

d

m

Descenso pieza

Subida prensa

Traspaso de pieza 1

Etapa 1

Con el fin de definir el cuaderno de cargas de un equipo, el Grafcet se utiliza en 2 niveles Nivel 1 Permite comprender lo que debe hacer el automatismo, de cara a las

diferentes situaciones que puedan presentarse Nivel 2 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ó

Pieza

0

1

2

3 marcado Retorno

Retorno alimentació

Alimenta

Final del retorno de marcado

Pieza marcada y final retorno alimentador

Pieza li d

Marcar

Pulsador marcha

____________________________________________________________________________________ Grafcet pág. 5

Page 80: apuntes de automatismos

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

B -

A - B+

A+

b0

b1 a0

a1

m

a1 a0

B +

A +

B

A

Pieza

0

1

2

3

b0 b1

____________________________________________________________________________________ Grafcet pág. 6

Page 81: apuntes de automatismos

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,...)

a -

b -

b +

a +

a -

b -

b +

a +

b0 m

b1 a0

a1

1

2

3

b -

b +

a- a +

b0

b1 a0

a1

m

0

1

2

3

b1

b0

a1 a0

B

A

Pieza

3.- Escogidos los preaccionadores (

distribuidores biestables en este caso )el Grafcet determina entonces las señales emitidas ( a+, a-...) o recibidas (a0, a1,..) por la parte de mando

4.- 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

Page 82: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

3 DEFINICIÓN DE CONCEPTOS Y ELEMENTOS GRÁFICOS ASOCIADOS

3.1 Etapa 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 0 0

E 2 2

Representación de

Representación de etapas iniciales

____________________________________________________________________________________ Grafcet pág. 8

Page 83: apuntes de automatismos

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.

B - A + 5 10 Abrir válvula

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.

CICLO 1 TEMPORIZACIÓN

Fin temporización

Fin de descenso

3

Externas : Se producen sobre el proceso en sí

PARAR MOTOR 2

ACTIVAR MOTOR 1

P

M

4

____________________________________________________________________________________ Grafcet pág. 9

Page 84: apuntes de automatismos

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.

Espera Espera

B Derecha

B Izquierda A Izquierda

A derecha

E3 . E13

m a c

c

d

11

12

13

a

b

1

2

3

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

ACTIVAR MOTOR 1

P

M

4

____________________________________________________________________________________ Grafcet pág. 10

Page 85: apuntes de automatismos

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

* 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

10

P

PARAR MOTOR 1

35

T / 0 / 5 seg

ABRIR VÁLVULA 1

f

d

34

ACTIVAR MOTOR 1

M

4

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

Page 86: apuntes de automatismos

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 ( >, <, = ) * etc.

3

2

CT ( condición de transición )

Parar motor

Activar

Condición de transición asociada a la etapa

posterior En la figura anterior hay dos etapas y una condición de transición entre ellas. Para que el proceso evolucione de la etapa 2 a la etapa 3, es necesario que la etapa 2 esté activa y además que se cumpla la activación de la condición de transición ( CT ); entonces se produce la activación de la etapa 3 y la desactivación de la etapa 2. La condición de transición CT está siempre asociada a la etapa posterior, en este caso a la 3.

____________________________________________________________________________________ Grafcet pág. 12

Page 87: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

La condición de transición puede ser una o varias variables de las que intervienen en el proceso. Se emplea la lógica positiva, pudiendo tomar 2 valores CT = 1 y CT = 0 Ejemplo :

ACTIVAR CINTA 1

ETAPA DE ESPERA 7

CT

6

Condición de Transición

Expresión La activación de la etapa 7 se produce

Señal "1" CT = A cuando A ( f.d.c por ejemplo ) está activo Señal "0"

__ CT = A

cuando el f.d.c A está inactivo

Por tiempo CT = T / 3 / 10 s. cuando hayan transcurrido 10 segundos desde que se activó el temporizador 3

Varias variables

__ CT = A B F1

Si las variables A y F1 están activas y la variable B está inactiva

Incondicional CT = 1 Al activarse la etapa 6 Flanco descendente CT = A⇓ Cuando la señal A pasa de "1" a "0" Flanco ascendente CT = A ⇑ Cuando la señal A pasa de "0" a "1" 3.4 Arco Un arco es un segmento de recta que une una Transición con una Etapa o viceversa, pero nunca entre elementos homónimos entre sí. 10 CT 11

____________________________________________________________________________________ Grafcet pág. 13

Page 88: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

3.5 Trazos paralelos Se utilizan para representar a varias etapas cuya evolución está condicionada por una misma transición

20 19

18 17

a b + c

4 CONDICIONES EVOLUTIVAS La dinámica evolutiva del Grafcet viene dada por un conjunto de reglas : * El proceso se descompone en etapas, que serán activadas de forma secuencial * La etapa de inicialización se activa de forma incondicional antes de que se inicie

el ciclo del Grafcet. Un ciclo está formado por todas las etapas posteriores a la etapa inicial

* Una o varias acciones se asocian a cada etapa. Estas acciones solo están activas

cuando la etapa está activa * Un etapa se hace activa cuando la precedente lo está y la condición de transición

entre ambas etapas ha sido activada * La activación de una condición de transición implica la activación de la etapa

siguiente y la desactivación de la precedente 5 ESTRUCTURAS EN EL GRAFCET Consisten en una serie de estructuras que dotan al Grafcet de una gran capacidad de representación gráfica de los automatismos. A grandes rasgos pueden ser clasificadas en estructuras básicas y lógicas. Las básicas atienden a conceptos tales como secuencialidad y paralelismo y permiten realizar el análisis del sistema mediante su descomposición en subprocesos. Las estructuras lógicas atienden a conceptos de concatenación entre sí de las anteriores estructuras

____________________________________________________________________________________ Grafcet pág. 14

Page 89: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.1 Estructuras básicas Secuencia única Una secuencia única está compuesta de un conjunto de etapas que van siendo activadas una tras otra, sin interacción con ninguna otra estructura En la secuencia única, a cada etapa le sigue una sola transición y cada transición es validada por una sola etapa. La secuencia se dice que está activa, si una de sus etapas lo está. Se dice que está inactiva si todas sus etapas lo están Secuencias paralelas Se denominan secuencias paralelas al conjunto de secuencias únicas que son activadas de forma simultánea por una misma transición. Después de la activación de las distintas secuencias su evolución se produce de forma independiente

____________________________________________________________________________________ Grafcet pág. 15

Page 90: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.2 Estructuras lógicas Las operaciones lógicas OR y AND son ampliamente utilizadas en la estructura gráfica del Grafcet, por ello pasamos seguidamente a realizar un análisis de las mismas Divergencia en OR La Etapa n pasa a ser activa si estando activa la etapa n-1 se satisface la Receptividad de la Transición a La Etapa n+1 pasa a ser activa si, estando activa la Etapa n-1 se satisface la Receptividad de la Transición b Esta estructura lógica nos permite optar por secuencias alternativas cuando la implementación del automatismo así lo requiera Convergencia en OR La Etapa n pasa a ser activa, si estando activa la Etapa n-1 se satisface la Receptividad de la Transición c, o si estando activa la Etapa n-2 se satisface la Receptividad de la Transición d

c

n

2 n - 1 n -

b a

n n+1

1 n -

d

____________________________________________________________________________________ Grafcet pág. 16

Page 91: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Posibilidades de utilización de estas estructuras Un Grafcet está constituido generalmente por varias secuencias, es decir, de varios grupos de etapas a ejecutar unas después de otras y a menudo es necesario efectuar una selección exclusiva de una de estas secuencias

f

5

c

g

a

z y x

Acción G Acción D

Acción C Acción A

10

9 8

7

6

e

Acción E 11

En la ramificación formada por la elección de la secuencia a realizar, las diferentes transiciones corresponden a las receptividades x, y, z siendo validadas simultáneamente por la misma etapa 5, pudiendo ejecutarse simultáneamente. En la práctica, a menudo se adoptan estas receptividades como exclusivas. Se pueden introducir prioridades igualmente

a b a b a b a

16 13

12

16 13

12

Receptividades exclusivas. Si a y b se presentan a la vez, no podrá realizarse ninguna transición a partir de la etapa 12

Prioridad a la receptividad a. La prioridad dada a la transición 12-13 permite ejecutar ésta si a y b se presentan a la vez

____________________________________________________________________________________ Grafcet pág. 17

Page 92: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Divergencia en AND Las etapas n+1 y n+2 pasan al estado activo, si estando activa la etapa n se satisface la receptividad de la transición F

F

n+2 n+1

n

Esta estructura hace posible el disparo simultáneo de dos o más secuencias paralelas Convergencia en AND La etapa n pasa al estado activo, si estando las etapas n-1 y n-2 activas, se satisface la receptividad de la transición F

F

2 n - 1 n -

n

Mediante esta estructura se hace posible la convergencia de dos o más secuencias paralelas

____________________________________________________________________________________ Grafcet pág. 18

Page 93: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Saltos condicionales. Retención de secuencia El salto condicional es una ramificación que permite saltar una o varias etapas si las acciones a realizar no son útiles, mientras que la retención de secuencia permite, al contrario, efectuar una o varias veces la misma secuencia en tanto que una condición fijada no se ha obtenido

M M

L

K

19

18

17

16

Acción P

Acción M

Acción L

Acción K

F

H

G

F

15

14

13

12

Acción J

Acción H

Acción G

Acción E En el Grafcet de la figura se producirá un salto de la etapa 12 a la etapa 15 si la receptividad representada por la variable F es F = 0. Si F=1 se prosigue la secuencia 13, 14, 15

En el Grafcet de la figura, se producirá una retención de la secuencia de etapas 17, 18, mientras se mantenga el valor de la variable M en M=0

Repetición de secuencias. Concepto de macroetapa Un conjunto de etapas cuya aparición puede repetirse en varias ocasiones a lo largo del diagrama Grafcet, puede ser representado a través de un rectángulo con bordes verticales de doble trazo y conteniendo los números de la etapa inicial y final. De esta forma solo habrá que detallar de manera explícita la secuencia una sola vez

____________________________________________________________________________________ Grafcet pág. 19

Page 94: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5

a

6

b

7

d

c

8

9

e

10

20 15 -

20 15 -

5.3 SITUACIONES ESPECIALES Se tratan en este apartado, algunos modos de representación normalizada Grafcet de situaciones especiales de evolución de los sistemas, también la forma de escritura de acciones asociadas de naturaleza interna. Algunas de especial interés son : � Evoluciones simultáneas � Acciones y receptividades temporizadas � Transiciones temporizadas � Acciones mantenidas

____________________________________________________________________________________ Grafcet pág. 20

Page 95: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.3.1 Evoluciones simultáneas Una de las reglas del Grafcet indica que varias transiciones simultáneamente franqueables son franqueadas simultáneamente. Esta regla de franqueamineto simultáneo permite descomponer un diagrama Grafcet en varios diagramas asegurando de forma rigurosa sus interconexiones. Ello debe conseguirse, haciendo intervenir en las receptividades los estados activos de las etapas, de tal forma que el estado activo de la etapa " n " será representado mediante " En " y el estado inactivo mediante " En " negado. Esta regla, permite particularmente, el franqueamiento simultáneo de transiciones validadas por etapas situadas en diagramas separados, excluyendo de esta forma, posibles ambigüedades en cuanto al franqueamiento de la transición 6 antes que la transición 14 o viceversa ( ver figura )

7

6

15

14

T6 · E14 T14 · E6 5.3.2 Acciones y receptividades temporizadas Este tipo de acciones y receptividades temporizadas son de uso frecuente. En el caso de acciones temporizadas, se trata de acciones de carácter virtual, pero también pueden ser un caso particular de las acciones condicionales. La indicación de la temporización se realiza por : t / n / q donde t representa la temporización n representa la etapa en que tiene lugar q representa el tiempo en segundos Su representación puede realizarse de forma que se considere la ejecución de la acción asociada durante la temporización o a partir de la temporización

____________________________________________________________________________________ Grafcet pág. 21

Page 96: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

15 s

10 s

B

A

E8

8 Acción B si t / 8 / 15

Acción A si t / 8 / 10

5.3.3 Transiciones temporizadas Su representación se realiza de idéntica forma a lo expuesto anteriormente en las acciones temporizadas. de tal forma que en el diagrama de la figura, la etapa nº 9 se activará transcurridos 5 segundos desde la activación de la etapa nº 8

5 seg

Etapa 9

Etapa 8 t / 8 / 5 s

9

8

5.3.4 Acción mantenida Se estudia el tratamiento a realizar con acciones cuya ejecución ha de prolongarse durante dos o más etapas consecutivas. A este respecto pueden contemplarse mediante dos modalidades de representación :

____________________________________________________________________________________ Grafcet pág. 22

Page 97: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

a) Efecto mantenido por acciones continuas no memorizadas En este caso, la acción a mantener se repetirá en cada una de las etapas afectadas lo cual, asegura la continuidad de la operación asociada

T8

Acción B Acción A

Acción A

Acción B

Acción A

Etapa 9

Etapa 8

9

8

b) Efecto mantenido por acción memorizada En este caso, las acciones se precisarán en las etapas de comienzo y final del efecto mantenido, tal y como se refleja en la figura

Acción A

T11

30 Acción A = 0

T10

Acción A = 1

Acción A = 0

Acción A =1

Etapa 30

Etapa 10

11

10

____________________________________________________________________________________ Grafcet pág. 23

Page 98: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

6 IMPLEMENTACIÓN DE UN AUTOMATISMO A TRAVÉS DEL

GRAFCET La implementación de un automatismo mediante lógica programada o cableada, a partir del Grafcet se realizará teniendo en cuenta las siguientes consideraciones : El Diagrama Grafcet, nos permite realizar una división del funcionamiento del automatismo por Etapas, y en cada una de ellas se ejecutarán, por lo general, una o más acciones asociadas. El concepto de etapa se asociará al de una memoria binaria, que puede estar activa o inactiva según dicha memoria esté en estado lógico "1" o "0". Cuando la memoria se encuentre en estado lógico "1" se ejecutarán todas las acciones asociadas de carácter incondicional. Las acciones condicionales, deberán ejecutarse cuando además del estado lógico "1" de la memoria, se encuentre en estado lógico "1" la condición asociada. La interacción de las diferentes etapas y la receptividad asociada a cada una de ellas se realiza a través del denominado módulo secuenciador de etapas. 6.1 Módulo secuenciador de etapa La relación funcional existente entre etapas contiguas queda establecida por lo que se denomina el módulo secuenciador de etapa, que podemos definir como el elemento tecnológico capaz de interaccionar con su/s etapa/s anterior/es y posterior/es. El módulo secuenciador de etapa es un concepto funcional pero también tecnológico, ya que existen en el mercado módulos secuenciadores de diversa naturaleza : eléctricos, neumáticos etc. Dicho módulo secuenciador, básicamente está formado por una memoria binaria ( biestable o relé de enclavamiento ),a cuya entrada de activación se conecta una puerta AND con tantas entradas como número de etapas deban activar la citada etapa, más otra entrada para conectar la receptividad asociada. En su entrada de desactivación lleva conectada una puerta OR, con tantas entradas como etapas cuya activación debe provocar la desactivación de la primera

≥ 1

&

binaria

Memoria

Entradas de activación

Salida

Entradas de desactivación

Módulo secuenciador de etapa

____________________________________________________________________________________ Grafcet pág. 24

Page 99: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Su descripción gráfica se muestra en la siguiente figura, y contribuirá a clarificar la dinámica inter-etapas

En+1

En

1 En - 2

&

R

S

&

R

S

&

R

S

n

Secuenciador

Módulo

Reset módulo n+1

Transición n-1

Salida módulo n-1

A reset módulo n-1

Activación módulo n+1

Salida n

Tn - Salida

Tn - 1 Salida Tn Salida El citado elemento tecnológico, en el supuesto de una secuencia única, posee tres entradas y una salida y el objeto de cada una de ellas para un módulo de etapa de orden n, es respectivamente : 1ª Entrada : Se utiliza para hacer activable la etapa n, a través de la señal

proveniente de la salida de la etapa n-1 2ª Entrada : Se utiliza para efectuar la activación de la etapa y la señal de

activación proviene del franqueamiento de la transición n-1 3ª Entrada : Se utiliza para la puesta a cero ( Reset ) de la Etapa n, y la señal

proviene de la salida realimentada de la Etapa n+1 1ª Salida : Se utiliza para que realice tres funciones distintas y simultáneas que

son : * Hacer activable la etapa n+1 * Desactivar la etapa n-1 * Ejecutar la orden de mando prevista

____________________________________________________________________________________ Grafcet pág. 25

Page 100: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

El módulo secuenciador de etapa de orden n se hace activable por el módulo n-1 y se hace activo por el franqueamiento de la transición. Su paso al estado activo hace activable al módulo n+1 y desactiva al módulo n-1. En la siguiente figura se muestra la implementación física de un módulo secuenciador de etapa mediante un biestable RS. A la entrada SET se conecta una puerta Y, y a ella se conecta la salida y receptividad de E ( n-1 ) y T ( n-1 ) respectivamente. A su entrada RESET se conecta la salida de la etapa ( n+1 )

R

S

≥ 1

&

Salida 6.2 Obtención de las funciones lógicas a partir del diagrama GRAFCET A partir de cada Etapa de un diagrama GRAFCET, deben obtenerse dos tipos diferentes de funciones lógicas : * Función lógica de activación / desactivación de la etapa correspondiente * Funciones lógicas de activación de las operaciones de mando La función lógica de activación / desactivación es única por etapa. Sin embargo el número de funciones lógicas de operación de mando, depende de la cantidad de acciones asociadas a cada etapa. 6.2.1 Ecuación de activación / desactivación La ecuación de activación / desactivación asociada a cada una de las etapas del diagrama Grafcet tiene la siguiente expresión : __ Y = R ( S + Y ) donde : Y es la salida ( estado de la etapa ) R es la condición de desactivación S es la condición de activación

____________________________________________________________________________________ Grafcet pág. 26

Page 101: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

La expresión concreta de R y S, dependerá de la estructura básica y lógica del diagrama GRAFCET. En general pueden ser funciones OR y AND donde intervienen las variables representativas de Etapas y Transiciones. Las condiciones de activación de una etapa En, viene dada por la función lógica : __ En = En + 1 ( En - 1 . Tn - 1 + En ) __ En = En - 1 . Tn - 1 + En + 1 En En la cual, para una secuencia única de etapas se relaciona la activación de la etapa En, en función de la etapa anterior, la etapa posterior y la receptividad asociada

Tn

1 T n

-

nE +1

1 nE -

En

La etapa En se activará, si estando la etapa En-1 activada y la En+1 desactivada se satisface la transición Tn-1. Después permanecerá activada hasta que la En+1 se active. 6.2.2 Ecuaciones de activación de operaciones de mando El número de ecuaciones de activación de operaciones de mando, depende del número de acciones asociadas a cada etapa ( número de variables de salida ). Su expresión dependerá del carácter condicional o incondicional de éstas. Para una mejor comprensión de lo expuesto en los apartados anteriores, veamos un ejemplo.

____________________________________________________________________________________ Grafcet pág. 27

Page 102: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Ejemplo : Sea el Grafcet de la siguiente figura, donde vamos a proceder a la obtención y clasificación del total de funciones lógicas a generar por el citado diagrama.

T7

Acción C

Acción H

Acción B

Acción F m

T6

T5

T4

7

6

5

Acción G

Acción D

Acción A

En la etapa nº 5 tenemos 3 acciones asociadas de carácter incondicional representadas por las variables de salida A, B, y C respectivamente. En la etapa nº 6 tenemos asociadas dos acciones, una incondicional D, y otra de carácter condicional F. En la etapa nº 7 dos acciones asociadas la G y la H. Por tanto, las funciones lógicas a generar son : Funciones lógicas de la etapa nº 5 : __ E5 = E6 ( E4 . T4 + E5 ) Activación de la etapa A = E5 B = E5 C = E5 Funciones lógicas de la etapa nº 6 : __ E6 = E7 ( E5 . T5 + E6 ) Activación de la etapa D = E6 F = m . E6 Funciones lógicas de la etapa nº 7 : __ E7 = E8 ( E6 . T6 + E7 ) Activación de la etapa G = E7 H = E7

____________________________________________________________________________________ Grafcet pág. 28

Page 103: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

En la siguiente figura se ha realizado la implementación de las ecuaciones lógicas generadas, mediante el lenguaje de programación de diagrama de contactos.

H

G E7

T4 E4

E7 T5 E5

C

B

A

E5

E5

E5

E5 E5

E6

T6 E6 E8

E7

m F

D

E6

E6

E6

E6

E7

E7

Ecuaciones asociadas a Etapa nº 5

Ecuaciones asociadas a Etapa nº 6

Ecuaciones asociadas a Etapa nº 7

Como se ha podido comprobar la obtención de las funciones lógicas resulta de gran facilidad, si bien su obtención a partir de las distintas estructuras lógicas, bucles, saltos y macroetapas conlleva mayor dificultad, por ello pasamos a detallar su obtención a partir de las estructuras referidas anteriormente. 6.3 Funciones lógicas de activación / desactivación y estructuras lógicas La obtención de las funciones lógicas de activación / desactivación de las etapas, cuando no se trata de una estructura simple de secuencia única, requiere de cierta reflexión teniendo en cuenta la estructuración de las distintas etapas a través de las diversas estructuras lógicas. Seguidamente pasamos a realizar su análisis

____________________________________________________________________________________ Grafcet pág. 29

Page 104: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

63.1 Divergencia en OR La estructura lógica de Divergencia en OR, requiere que en las condiciones de desactivación de la etapa divergente se reflejen las diversas etapas que, alternativamente, pueden producir la desactivación de la primera. __ __ Reset prioritario En = En + 1 En + 2 ( En - 1 . Tn - 1 + En ) __ __ Set prioritario En = En - 1 . Tn - 1 + En En + 1 En + 2 63.2 Convergencia en OR La estructura lógica de Convergencia en OR, en lo que respecta a la etapa de convergencia, su condición de activación debe tener en cuenta las posibles etapas anteriores que alternativamente, pueden provocar la activación de dicha etapa. __

d c

n

2 n - 1 n -

b a

n+1 n+2

n

Reset prioritario En = En + 1 ( En - 1 . c + En - 2 . d + En ) __ Set prioritario En = En - 1 . c + En - 2 . d + En En + 1

____________________________________________________________________________________ Grafcet pág. 30

Page 105: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

63.3 Divergencia en AND En una estructura de Divergencia en AND, tendremos que tener en cuenta en la función lógica asociada a la etapa a partir de la cual se produce la divergencia, el número de etapas posteriores que intervienen en su condición de desactivación.

Tn

n+2 n+1

n __ __ Reset prioritario En = En + 1 En + 2 ( En - 1 . Tn - 1 + En ) __ __ Set prioritario En = En - 1 . Tn - 1 + En + 1 En + 2 En 63.4 Convergencia en AND Finalmente, en la estructura de Convergencia en AND, deberá tenerse en cuenta en la etapa de convergencia, en las condiciones de activación de su función lógica, las etapas cuya activación simultánea deberá provocar la activación posterior de dicha etapa. __

F

n-2 n-1

n

Reset prioritario En = En + 1 ( En - 1 . En - 2 . F + En ) __ Set prioritario En = En - 1 . En - 2 F + En En + 1

____________________________________________________________________________________ Grafcet pág. 31

Page 106: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

____________________________________________________________________________________ Grafcet pág. 32

7 CICLOS DE EJECUCIÓN : TIPOS Dependiendo de las características de funcionamiento del automatismo, éste requerirá distintas modalidades de ejecución de ciclo Por ello atendiendo a diversos criterios los ciclos pueden clasificarse como sigue :

* Marcha ciclo a ciclo * Marcha automática / Parada de ciclo * Marcha automática / Marcha ciclo a ciclo * Marcha de verificación en el orden del ciclo

7.1 Marcha ciclo a ciclo Cada ciclo se ejecuta automáticamente, pero necesita la intervención del operador ( arranque de ciclo ) para poder ejecutar el ciclo siguiente

ACI = Arranque de ciclo

0 CI = Condiciones iniciales

ACI · CI

1

CICLO

n Tn Un accionamiento permanente del arranque de ciclo ( ACI ) produce la repetición de los ciclos

ACI = Arranque de ciclo

0 CI = Condiciones iniciales

ACI · CI

1 En este caso el ciclo se ejecuta una sola vez aunque el operador mantenga presente la información de arranque. Es necesario accionar de nuevo el arranque de ciclo ( ACI ) para volver a iniciar el ciclo

CICLO

n

Tn · ACI

Page 107: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

7.3 Marcha automática / Parada de ciclo En esta modalidad, el ciclo se repetirá indefinidamente tras su arranque, hasta que se active una señal de parada tras lo cual, el ciclo en curso acabará su ejecución y se detendrá.

pcl = Parada del ciclo

Marcha automática

pcl

ACI . pcl . CI

10

20

ACI = Arranque de cicl o

CI = Condiciones iniciales

E20 . CI

CICLO

0

1

Tn

n

7.4 Marcha automática / Marcha ciclo a ciclo El operador puede elegir por medio de un conmutador entre dos tipos de marcha. El ciclo se inicia por una acción ( arranque de ciclo ). El posterior bloqueo se ejecuta en función de la posición del conmutador. ciclo a ciclo auto

Tn . auto CI = Condiciones iniciales

ACI = Arranque de ciclo

ACI . CI

CICLO

0

Tn . ciclo a ciclo

n

1

____________________________________________________________________________________ Grafcet pág. 33

Page 108: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

7.5 Marcha de verificación en el orden del ciclo Esta marcha etapa por etapa, tiene como fin verificar la conformidad del desarrollo del ciclo teniendo en cuenta todas las condiciones reales de una marcha de producción, efectuándose el desarrollo bajo el control permanente del operador

T2 . a

T1 . a

a

a

a ACI . CI . a

0

Tn . a

n

1 1

a

ACI = Arranque de ciclo CI = Condiciones iniciales a = pulsador avance 1 paso Esta disposición tiene el inconveniente de que se hace difícil la manipulación en los movimientos rápidos ( posible evolución de varias etapas según el tiempo de pulsado del botón ) 8 TRATAMIENTO DE ALARMAS Y EMERGENCIAS La tendencia actual en lo que respecta a los dispositivos de control basados en lógica programada, es que una gran parte del cuerpo de programa implementado en el mismo esté dedicado al objetivo de garantizar un buen comportamiento del sistema en el caso de situaciones imprevistas, averías, emergencias etc. Con ello deben asegurarse niveles adecuados de seguridad para los operadores humanos al cargo de los sistemas, cuando no de las propias instalaciones industriales cuya reparación puede suponer la dedicación de grandes recursos económicos. En lo que respecta al tratamiento de alarmas y situaciones de emergencia, es conveniente su clasificación a partir de criterios de implementación tecnológica de los sistemas a tratar. Por ello las alarmas deben ser clasificadas como : * Alarmas locales * Alarmas generales.

____________________________________________________________________________________ Grafcet pág. 34

Page 109: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Las alarmas locales, sólo afectarán parcialmente al sistema, de forma que su efecto sólo debe repercutir sobre un conjunto delimitado de dispositivos tecnológicos o subsistema en concreto. Por el contrario, las alarmas generales afectarán a la totalidad del sistema y por lo general van a disponer de prioridad frente a las locales anteriormente citadas. Tanto las alarmas locales como las generales, pueden ser implementadas mediante la colocación de una nueva variable en las condiciones de desactivación de la función lógica activadora / desactivadora de una Etapa. __ __ __ En = Zp . Zt .En + 1 ( En - 1 . Tn - 1 + En ) Donde Zp representa a una alarma de carácter local y Zt a una alarma de carácter total. Obviamente la variable representativa de la alarma de carácter total tendrá presencia en la totalidad de las ecuaciones de activación de etapas del diagrama funcional. No así la variable representativa de la alarma local, cuya aparición se restringe a un conjunto determinado de ecuaciones de activación. Existe otro criterio para el tratamiento de las alarmas. Este consiste en la intervención de las variables representativas de alarmas en las receptividades asociadas a cada transición. Ello permite de forma relativamente fácil, hacer evolucionar el sistema a determinadas situaciones de parada o espera ante situaciones de emergencia. De forma rigurosa, las variables de alarma deberían aparecer en cada una de las etapas del Grafcet, y tener prevista cada una de las situaciones de seguridad en función del tramo en ejecución y de los niveles de seguridad solicitados. Algunos autores, desaconsejan el tratamiento de las paradas de emergencia como una información de entrada más, puesto que argumentan que ello es contrario al propio espíritu de " emergencia ". La posible formalización del comportamiento de los sistemas frente a situaciones de emergencia se podría sintetizar mediante los siguientes criterios :

Sin secuencia de emergencia Con secuencia de emergencia

8.1 Sin secuencia de emergencia Ante una situación de alarma, el sistema se limita a detener su evolución y suspende las operaciones básicas asociadas a la etapa donde se produce la suspensión. Además, pueden establecerse a partir de este criterio diversas variantes. Dos de ellas serían : * Congelación del automatismo * Inhibición de acciones

____________________________________________________________________________________ Grafcet pág. 35

Page 110: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

En la modalidad de congelación del automatismo, la señal de alarma participa en cada una de las receptividades asociadas a las transiciones, de forma que su activación impide la puesta a "1" de la receptividad y también la evolución del sistema. Cuando la señal de alarma desaparece, el sistema puede continuar su evolución a partir de la etapa donde se produjo el paro.

En

nE - 1

nE +1

Tn . Zt

1 . Zt Tn -

Tn+1 . Zt

Obsérvese que en este caso, las acciones asociadas a las etapas pueden permanecer activas, los movimientos iniciados continúan, lo que puede resultar peligroso en sí mismo o por consiguiente bloqueo en la evolución. En la modalidad de inhibición de acciones, aparición de la señal de alarma, no detiene directamente la evolución del automatismo, sino que inhibe a las propias acciones asociadas a las etapas

Tn Zt

C

Zt

B

Zt

A

Tn - 1

Tn+1

nE +1

nE - 1

En

____________________________________________________________________________________ Grafcet pág. 36

Page 111: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

____________________________________________________________________________________ Grafcet pág. 37

En este caso debe estudiarse detenidamente el gobierno de los accionadores según el tipo de acción deseada en caso de parada de emergencia. Por ejemplo :

Para distribuidores que gobiernan cilindros * Control monoestable, si se desea retornar a una posición determinada * Control biestable, si se desea parar al finalizar el movimiento * Distribuidor de tres posiciones, si se desea una detención en ese lugar Para contactores que gobiernan motores * Control monoestable * Cableado incorporando dispositivos de seguridad

También podemos realizar una combinación de ambas opciones Zt

n-E A 1

En

nE +1

Tn+1 Zt

Tn - 1 Zt Zt B

Tn Zt Zt

C 8.2 Con secuencia de emergencia

En este caso la evolución del sistema deriva hacia una secuencia de emergencia ante la activación de la señal de alarma prevista de antemano, cuya naturaleza estará lógicamente condicionada por aspectos de implementación tecnológica. En la figura se ofrece un ejemplo de representación de un diagrama Grafcet de esta opción de tratamiento de emergencia

n-E

En

1

nE +

Tn+ Zt

Tn 1 Zt - Zt

Tn Zt Zt

Zt Secuencia de emergencia

Page 112: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

TEMA 5 : APLICACIÓN DE LA TEORÍA BINODAL

____________________________________________________________________________________ Teoría Binodal pág. 1

Page 113: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

____________________________________________________________________________________ Teoría Binodal pág. 2

Page 114: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

1 INTRODUCCIÓN La aplicación de la " Teoría Binodal " a los procesos de síntesis de sistemas secuenciales asíncronos y sincronizados proporciona un método rápido e intuitivo en el que sin perder en ningún momento la imagen global del sistema tratado, y a través de un gráfico representativo de la dinámica del sistema, se obtienen las ecuaciones lógicas que rigen el comportamiento del sistema. En la síntesis de sistemas asíncronos ( que evolucionan sin precisar el control de una señal de reloj ), resulta sencillo evitar las transiciones críticas y los deslizamientos de secuencia, ya que el " grafo de secuencia " contiene todas las evoluciones internas del sistema y, por tanto, las anomalías citadas pueden ser eliminadas a medida que se vaya construyendo el grafo. 2 CONCEPTOS BINODALES BÁSICOS El planteamiento de la teoría binodal se inicia con la definición de " binodo " y " multinodo ", y con la descripción de un diagrama designado con el nombre de " grafo de secuencia ". A partir de las definiciones de estas estructuras, se deducen los teoremas binodales, que permiten obtener las ecuaciones de salida de cualquier binodo, resultando además dichas ecuaciones simplificadas en la mayoría de los casos, o pendientes de una mínima y directa simplificación 2.1 Definición general de binodo. Variables de acción Se dice que un dispositivo cualquiera posee estructura de binodo, cuando únicamente puede encontrarse en dos situaciones ( representadas por B yB ), pasando de la una a la otra, por efecto de unas variables de acción ( v.d.a. ), independientemente de que el efecto de dichas variables quede o no memorizado al desaparecer éstas. Se distinguen dos tipos fundamentales de binodos : Binodo " bi " Binodo " mono " o " monodo ".

____________________________________________________________________________________ Teoría Binodal pág. 3

Page 115: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

2.2 Binodo " mono " o " monodo ". Gráfico representativo Se denomina así a todo aquel binodo que necesita la presencia de una, al menos, de las variables de acción ( v.d.a. ) creadoras Mr ( r = 1, 2,....n ) y la ausencia de todas las v.d.a. negadoras Pu ( u = 1, 2, ... m ) para sostener una de sus dos situaciones ( B ), a la que se denomina situación principal Como se puede observar en el grafo, la situación principal ( B ) existirá cuando estando presente alguna de las v.d.a. ( Mr ), no exista ninguna de las v.d.a ( Pu ). Es decir, el efecto de las v.d.a. anulatorias o negadoras de la situación ( B ) tiene prioridad sobre el de las v.d.a. creadoras de dicha situación, en el supuesto de que variables de ambos grupos actúen simultáneamente. 2.2.1 Obtención de la ecuación lógica del binodo mono La ecuación lógica de un binodo mono se obtiene multiplicando a la suma de las variables de acción creadoras las inversas de las variables de acción negadoras

B Monodo desactivo

Monodo Activo B

P1 Pm Pu

Mr Mn

M1 B

B = ( M1 + M2 + ..... + Mn ) · P1 · P2 · ....Pm El monodo carece de memoria puesto que es una estructura combinacional, y únicamente aparecerá en los grafos como elemento accesorio de alguna salida de binodo

____________________________________________________________________________________ Teoría Binodal pág. 4

Page 116: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

2.3 Binodo " bi ". Grafo de secuencia representativo Se denomina binodo "bi" a todo aquel binodo que se mantiene en la situación en la que se encuentra aunque desaparezca la v.d.a. que la originó, siempre y cuando no exista otra v.d.a de efecto contrario que la haga vascular a la situación opuesta En este caso, no hay prioridad de unas v.d.a sobre otras ( creadoras o negadoras ). La prioridad dependerá de cual de los dos teoremas del binodo "bi" utilicemos para obtener las ecuaciones lógicas El grafo de secuencia del binodo "bi " puede expresarse de la forma que se indica

v.d.a. negadoras

v.d.a. creadoras

B B

2.4 Teoremas del binodo " bi " 1º Teorema ( prioridad de la v.d.a. negadora ) La ecuación lógica de salida de una situación cualquiera de un binodo, independiente o integrado en un multinodo, se halla sumando a la propia situación, las v.d.a. que la crean, y multiplicando este resultado por las inversas de las v.d.a. que hacen conmutar al binodo a la situación complementaria de la considerada.

u = 1 r = 1 τ ) -

] ( t Π Pu m

) · Mr B ( t ) = [ ( B + Σ n

donde Σ y Π son el sumatorio y el productorio booleano respectivamente, t el instante considerado y τ el tiempo de conmutación del binodo en cuestión.

____________________________________________________________________________________ Teoría Binodal pág. 5

Page 117: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Aplicando el teorema enunciado al grafo de secuencia del binodo "bi" se obtiene la ecuación lógica siguiente :

B = ( B + A ) . C

v.d.a. negadoras ( C )

v.d.a. creadoras ( A )

B B

2º Teorema ( prioridad de la v.d.a. creadora ) La ecuación lógica de salida de una situación cualquiera de un binodo independiente o integrado en un multinodo se halla, multiplicando la propia situación binodal por las inversas de las variables que la niegan y sumando las v.d.a. que la crean

u = 1 τ ) -( t ] Pu Π

m B ( t ) = [ ( B · Σ

n Mr ) +

r = 1

Las ecuaciones obtenidas para una situación binodal mediante los dos teoremas, son equivalentes, aunque tienen distinta estructura, siempre que se verifique la hipótesis de no simultaneidad de v.d.a. de efectos antagónicos. En los casos en que se admita la simultaneidad de v.d.a. antagónicas, se demuestra que el 1º teorema proporciona una ecuación lógica que da prioridad al efecto de las v.d.a. de borrado sobre las de creación de la situación, en tanto que el segundo teorema da prioridad a las v.d.a creadoras de la situación. No obstante, debe quedar claro que por medio de condicionantes en el grafo de secuencia puede imponérsele a cualquiera de los dos enunciados del teorema binodal la prioridad que se desee; es decir, cualquiera de los dos teoremas responde a las exigencias de los condicionantes de prioridad introducidos en el grafo de secuencia. Así pues, las ecuaciones lógicas, una vez simplificadas serán idénticas.

____________________________________________________________________________________ Teoría Binodal pág. 6

Page 118: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Ejemplo.- En el binodo de la figura se ha dado, por medio del condicionante M̅ , prioridad a la v.d.a. M sobre P en el caso de que exista simultaneidad :

P . M

M

A A

Aplicando el 1º teorema y simplificando la ecuación obtenida, resulta :

A = ( A + M ) · P · M = ( A + M ) · ( P + M ) = A · P + A · M + M · P + M = A · P + M Aplicando el 2º teorema y simplificando la ecuación obtenida, resulta :

A = A · P · M + M = A · ( P + M ) + M = A · P + A · M + M = A · P + M 2.5 Multinodo. Grafo de secuencia Bajo la denominación de multinodo se incluye a toda estructura constituida por varios binodos influenciados entre sí Como consecuencia aparecerán numerosas situaciones que a su vez podrán actuar como v.d.a o bien como condicionantes de otras v.d.a de los diferentes binodos. Nos encontraremos pues, con v.d.a internas, externas, temporizadas, diferenciadas, etc., así como compuestas; es decir, en forma de expresiones booleanas de varias variables simples. Cada una de las múltiples situaciones parciales del multinodo pueden proporcionar al exterior, de forma simultánea, una acción física que se denomina salida En la siguiente figura, se muestra, a modo de ejemplo, el grafo de secuencia de un multinodo, el cual nos proporciona una visión global y dinámica de todas las evoluciones del programa operacional que representa.

____________________________________________________________________________________ Teoría Binodal pág. 7

Page 119: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

R

B A

P2 P1

( S + T ) . B ( F . C ) . A

P3

Q . B N M

B A

Se observa que este multinodo está constituido por dos binodos "bi" y un "monodo" La situación A es creada por la v.d.a M, o bien por la booleana ( S + T ), pero condicionada esta última a la existencia de B̅ , es decir, tiene que valer "1" la expresión ( S + T ) · B̅. La situación complementaria de A, o sea A̅, será creada por la acción de P1

A = [ ( A + M + ( S + T ) · B ] · P1 La situación B es creada por la acción de la variable N, o por la booleana F·C condicionada a la existencia de A, y será borrada, es decir, su complementaria B̅, por la acción de la variable P2

B = ( B + N + F · C · A ) · P2 La situación R será creada por Q condicionada a B, y borrada por P3

R = Q · B · P3

____________________________________________________________________________________ Teoría Binodal pág. 8

Page 120: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

2.6 Condicionantes parciales y generales Tomemos como ejemplo el siguiente ejercicio : Se desea gobernar dos relés R1 y R2, de tal forma que R1 pueda actuar con independencia de R2; pero que R2 sólo pueda excitarse cuando R1 esté excitado, si bien, una vez excitado R2 pueda seguir existiendo aunque desaparezca R1. La activación del relé R1 se hará por un impulso eléctrico proporcionado por un pulsador M1, y la activación de R2 por un pulsador M2. La desactivación de ambos relés se producirá por un impulso eléctrico en P1 y P2 respectivamente

R2 R1

P2 P1

M1 M2 . R1 R2 R1

Ecuaciones lógicas

R1 = ( R1 + M1 ) · P1

R2 = ( R2 + M2 · R1 ) · P2

El enunciado del ejercicio nos indica que la situación R2 debe ser creada por la v.d.a. M2, pero condicionada a la existencia de R1, si bien, una vez creada dicha situación R2, debe persistir aunque desaparezca R1. En estos casos decimos que R1 es un condicionante parcial, porque sólo condiciona la creación, pero no la persistencia, de R2

____________________________________________________________________________________ Teoría Binodal pág. 9

Page 121: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

En algunos automatismos es necesario que el condicionante sea general; es decir, que condicione la creación y la persistencia. Para expresar en el grafo de secuencia esta exigencia, se coloca el condicionante general ( enmarcado en un pequeño cuadrado ) al lado de la situación condicionada, y al hallar la ecuación lógica de la situación citada se pondrá este condicionante como factor general. El condicionante general tiene por si solo un efecto anulatorio, pero no creador; es una autorización. Así, si en el ejercicio anterior se hubiese exigido que la situación R2 estuviera condicionada en todo momento a la existencia de R1, haríamos el grafo de secuencia siguiente :

R1

R2 R1

P2 P1

M1 M2 R2 R1

Ecuaciones lógicas

R1 = ( R1 + M1 ) · P1

R2 = ( R2 + M2 ) · P2 · R1

____________________________________________________________________________________ Teoría Binodal pág. 10

Page 122: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

3 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES Para poder abordar el diseño de los automatismos secuenciales por el método binodal, es necesario tener en cuenta una serie de conceptos, que a continuación se definen : 3.1 Variables de acción ( v.d.a ) Es toda información, en expresión simple o booleana, exterior o interior al sistema que puede provocar una evolución de éste 3.2 Estados de acción ( e. d. a. ) Denominamos estados de acción ( e.d.a ) a cada una de las combinaciones binarias que se pueden presentar en las variables externas de entrada a un automatismo, provocando una transición de éste Entre cada dos estados de acción operativos pueden existir uno o varios estados de acción transitorios 3.2.1 Estados de acción idénticos Son aquéllos ( e.d.a ) cuyas variables constituyentes se encuentran en el mismo valor binario o nivel lógico 3.2.1.1 Estados de acción idénticos y compatibles Dos e.d.a idénticos serán compatibles, y por tanto no necesitarán ser discriminados en los siguientes casos : a.- Cuando crean siempre y únicamente las mismas situaciones binodales b.- Cuando la situación binodal creada por uno de ellos es condicionante para la

operatividad del otro; generalmente estos e.d.a aparecen consecutivos en el grafo de secuencia

c.- Cuando las situaciones creadas por ellos no sean antagónicas, y además se cumpla que los intervalos de existencia de dichas situaciones sean mayores que los intervalos existentes entre los citados estados idénticos, incluido el e.d.a límite del intervalo

Los e.d.a. idénticos compatibles se unen mediante una linea de trazos, excluyendo a los transitorios con sus adyacentes, por ser siempre compatibles

____________________________________________________________________________________ Teoría Binodal pág. 11

Page 123: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

3.2.1.2 Estados de acción idénticos e incompatibles Decimos que dos e.d.a idénticos son incompatibles cuando no cumplen ninguna de las condiciones a), b) y c) anteriormente expresadas. A efectos prácticos para determinar la compatibilidad o incompatibilidad de e.d.a. idénticos, aplicaremos las reglas establecidas por F. Ojeda, que establecen la incompatibilidad de dos e.d.a. idénticos cuando : * Las situaciones creadas por ellos sean antagónicas, o cuando * Una al menos de las situaciones binodales generadas por cualquiera de dichos

estados no exista en el instante de la actuación del otro estado idéntico

Estos estados necesitan, siempre, ser discriminados, pues de lo contrario se podrían producir saltos de secuencia, acciones antagónicas, ciclos parásitos, etc. En estos casos, es necesario recurrir a la intersección de otras variables con la variable de acción correspondiente. Las citadas variables condicionantes pueden ser otras variables externas ( captadores de información ) ó variables internas ( situaciones binodales ) , pero en muchas ocasiones será necesaria la intersección de nuevas variables, que denominaremos "variables auxiliares" 3.2.3 Estados de acción no idénticos e incompatibles Son aquéllos en que la misma v.d.a. da lugar a situaciones binodales distintas. Estos necesitan ser discriminados, de la misma forma que los e.d.a. idénticos Los e.d.a. incompatibles e unen mediante una linea continua

____________________________________________________________________________________ Teoría Binodal pág. 12

Page 124: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

4 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE NO PRESENTAN ESTADOS IDÉNTICOS INCOMPATIBLES A continuación se diseña un automatismo concreto, con el objeto de aclarar los conceptos expuestos, así como aclarar la forma de realizar el grafo de secuencia y la obtención de las ecuaciones lógicas Ejercicio : Proyectar el circuito de mando para un móvil que se desliza sobre un husillo movido por un motor con doble sentido de giro. El motor es gobernado por dos contactores Rd y Ri que lo conexionan para que gire en sentido derecha o izquierda, respectivamente CONDICIONES : a) Al pulsar Md entrará el contactor Rd; entonces el móvil se desplaza hacia la

derecha, y al llegar al final de carrera Fd se para, regresando seguidamente hacia Fi, donde permanecerá en reposo hasta una nueva orden de Md

b) Al pulsar un botón de emergencia P, se parará el móvil en cualquier posición en

que se encuentre, y podrá reanudar la marcha hacia la derecha si se pulsa Md, o hacia la izquierda si se pulsa Mi. En cualquiera de los dos casos se parará al final del ciclo; es decir, al llegar el móvil al final de carrera Fi

Mi P Md

Fd Fi

Rd Ri

MOTOR

HUSILLO

El grafo de secuencia debe ser una expresión gráfica fiel del programa del automatismo propuesto. El proceso para la realización del grafo de secuencia es el siguiente :

____________________________________________________________________________________ Teoría Binodal pág. 13

Page 125: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

1) Se van dibujando las situaciones binodales en el orden en que se deben ir creando,

según la secuencia impuesta por el programa del automatismo propuesto 2) Se escriben los e.d.a. En primer lugar se anota el e.d.a. de comienzo del ciclo; es

decir, los niveles lógicos ( 1 o 0 ) de los captadores de información en el momento de comienzo del ciclo. A partir del e.d.a de comienzo de ciclo se van obteniendo los siguientes, simplemente cambiando el nivel lógico de las variables que han conmutado. Deben incluirse los e.d.a transitorios si son diferentes del estado de acción operativo adyacente

3) Se identifican los estados idénticos y si son compatibles se les une mediante una

línea de trazos, excluyendo a los transitorios entre sí y a los transitorios con sus adyacentes, por ser siempre compatibles. Si son incompatibles, se les une con una línea continua

4) Se observa si alguna misma v.d.a da lugar a situaciones binodales distintas, si es

así, se unen sus e.d.a con una línea continua

( 3 ) ( 2' ) ( 2 ) ( 1' ) ( 1 )

1

0

0

0

*

*

*

0

*

0

1

*

1

0

1

Fi Fd

Md

Mi

P P

Fi Fd Md Ri

Rd

Rd

Ri

Ri Rd

En consecuencia :

Los estados de acción operativos son : ( 1 ), ( 2 ) y ( 3 )

Dentro de las variables externas que constituyen un estado de acción, no se considera el pulsador de paro P ni el de marcha Mi, ya que no tienen un comportamiento regular dentro del automatismo; dependen de la voluntad del operario

____________________________________________________________________________________ Teoría Binodal pág. 14

Page 126: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Con el asterisco se indica que Md puede estar o no pulsado, depende del operario;

siempre consideraremos el caso más desfavorable, que pueda estar o no pulsado; a excepción del último e.d.a., en que se considerará que es cero, con el fin de que se acabe el ciclo, ya que en caso de estar pulsado de nuevo Md volvería de nuevo a empezar el proceso. En los estados transitorios ( 1' ) y ( 2' ) hemos indicado con asteriscos el estado de los contactos Fi y Fd, pues podría ocurrir que el operario dejara de pulsar justo antes de abrirse cualquiera de los contactos anteriores; con lo que los asteriscos permiten contemplar todas las situaciones posibles

No hemos indicado el estado transitorio ( 3' ) porque es análogo al estado de

acción ( 3 ) y corresponde al estado inicial del automatismo antes de pulsar el botón de marcha Md. Todos los estados transitorios son compatibles entre sí por ser inoperantes. También son compatibles con los dos e.d.a operativos adyacentes ( si son idénticos ) puesto que 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 se había llegado a él, es decir, no se trataría realmente de un transitorio.

Los estados ( 1' ) y ( 2' ) aunque son idénticos son compatibles por ser transitorios

Los estados ( 1' ) y ( 3 ) son compatibles ya que la situación binodal R̅i creada por

( 3 ) existe en el momento en que aparece el ( 1' )

Es conveniente, una vez realizado el grafo de secuencia y detectadas las incompatibilidades, si las hubiera, repasar los e.d.a observando si se da la coexistencia de variables negadoras en los e.d.a. correspondientes a las creadoras, en el caso de aplicar el primer teorema ( prioridad de las negadoras ); o de variables creadoras en los e.d.a correspondientes a las negadoras, en el caso de aplicar el 2º teorema ( prioridad de las creadoras ). Ya que en el primer caso no se podría crear la situación binodal y en el segundo no se podría negar.

OBTENCIÓN DE LAS ECUACIONES LÓGICAS Rd = ( Rd + Md · Fi ) · Fd · P · Ri

Ri = ( Ri + Mi + Fd ) · Fi · P · Rd

Por el 1º teorema

____________________________________________________________________________________ Teoría Binodal pág. 15

Page 127: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES QUE PRESENTAN ESTADOS IDÉNTICOS INCOMPATIBLES Los e.d.a idénticos sabemos que pueden ser compatibles o incompatibles; estos últimos deben ser discriminados si no se desean saltos de secuencia. Para ello se recurre a la intersección de la v.d.a creadora con otras variables. Estas variables pueden ser externas ( captadores de información ) o internas ( situaciones binodales ), pero en muchas ocasiones será necesaria la intervención de nuevas variables, que se denominan " variables auxiliares " 5.1 Automatismos con variable auxiliar Ejemplo : El grafo de la figura representa un automatismo que va a permitir aclarar los conceptos indicados para diseñar un automatismo con variable auxiliar

(8) (7) (6) (5) (4) (3) (2) (1)

a

b

c

d

M 0

0

1

0

1

0

1

1

0

0 0

1

0

0

1

0

1

0

1

0

0

1

0

1

0

0

1

0

0

1

0

1

0

0

1

1

0

0

1

1

X X

c a R a b Q b d P d acM S R Q P S R Q P

Estudio de compatibilidad Los e.d.a ( 2 ) y ( 3 ), son idénticos y compatibles, por el caso b Los e.d.a. ( 2 ) y ( 6 ), son idénticos y compatibles, por el caso c Los e.d.a ( 6 ) y ( 7 ), son idénticos y compatibles, por el caso b Los e.d.a ( 4 ) y ( 5 ), son idénticos y compatibles, por el caso b

____________________________________________________________________________________ Teoría Binodal pág. 16

Page 128: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

N.I.E.E.S.B N.I.E.E.A.I S. Antag. 2-6 P' 7 > 4 Compatible No 6-2 R' 7 > 5 Compatible No 2-7 P' 7 > 5 Compatible No 7-2 S 1 < 3 Incompatibl

e Si

3-6 Q 1 < 3 Incompatible

Si

6-3 R' 7 > 5 Compatible No 3-7 Q 1 < 4 Incompatibl

e Si

7-3 S 1 < 4 Incompatible

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

Page 129: apuntes de automatismos

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

Page 130: apuntes de automatismos

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.

2

1

F2 F1

F4 F3

R3 R4

MOTOR HUSILLO

M

R1 R2

MOTOR HUSILLO

0 (8)

0 (7)

1 (4)

0 (6)

0 (3)

0 (2)

1 (5)

F4...0 (1)

1 1 1 0 0 1 1 F3...1

0 1 1 1 1 1 F2...0 0 1

0 1

* 0

* 0

* 0

* 0

* 0

* M... 1 F1...1

X X

R2 R2 R4 R4 R3 R3 R1 R1 F1 F3·R4 F3 F4·R3 F4 F2·R1 F2 M·F1

____________________________________________________________________________________ Teoría Binodal pág. 19

Page 131: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Identificación de e.d.a. idénticos * 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 N.I.E.E.S.B N.I.E.E.A.I S. Antag. 2-7 R1' 7 > 5 Compatible No 7-2 R2 1 < 3 Incompatible Si 3-6 R3 1 < 3 Incompatible Si 6-3 R4' 7 > 5 Compatible No 3-7 R3 1 < 4 Incompatible Si 7-3 R2 1 < 4 Incompatible 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

Page 132: apuntes de automatismos

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

Page 133: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

1 2 3 4 5 6 7 8

R4

R2

F3 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

X

R2

R4

F3 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

Page 134: apuntes de automatismos

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' )

( 3' ) ( 3 ) ( 2' ) ( 2 ) ( 1' ) ( 1 )

c

b

* a

1

0

*

1

0

*

0 0

1

0

0

0

0

1 *

*

* *

S2 S1 S1 c b a

____________________________________________________________________________________ Teoría Binodal pág. 23

Page 135: apuntes de automatismos

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 1 1 1 1

S2 S1 b · c a

b 0 1 1 0 1 0 1 c 0

( 1 ) ( 1' ) ( 2 ) ( 1" ) 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.- 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. b.- 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

L P A

____________________________________________________________________________________ Teoría Binodal pág. 24

Page 136: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

En este automatismo la v.d.a. "S" es aleatoria; por tanto, habrá que tener en cuenta los estados transitorios

L A

A

( 4' ) ( 4 )

*

0

*

0

( 3' ) ( 3 ) ( 2' ) ( 2 ) ( 1' ) ( 1 )

*

*

1

*

0 0 0

1 *

0

* *

S A P A L A L

S

S P 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

Page 137: apuntes de automatismos

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

( 2 ) ( 1 )

1 1 P

B P P 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

Page 138: apuntes de automatismos

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 : 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 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

P d

P d P

P

d= B + P B = ( B + B · P d

P d B

= d+ B · P dB · P ) · B · P d 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 :

1 1 P

B P P B

( 1 ) ( 2 )

____________________________________________________________________________________ Teoría Binodal pág. 27

Page 139: apuntes de automatismos

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 ) 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

P

B B

1 1

( 1 ) ( 2 )

X · P = P X · P = P

X X B · P B · 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

Page 140: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

7 DISEÑO BINODAL DE AUTOMATISMOS SECUENCIALES CON

TEMPORIZADOR 7.1 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 :

TEMPORIZADOR A t SEÑAL DE ENTRADA A

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

Page 141: apuntes de automatismos

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

0

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.- Inversión a la salida del temporizador básico B.- Inversión a la entrada del temporizador básico

t

t

t

t tad A t A

td A t A

ta A t A

A Señal de entrada A

Señal temporizada en la activación

A ta

Señal temporizada en la desactivación

A td

Señal temporizada en la activación y en la desactivación

A tad

____________________________________________________________________________________ Teoría Binodal pág. 30

Page 142: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

A.- Inversión a la salida Se obtienen las temporizaciones siguientes :

A tad A td A ta

A

1

0

t

t

t

t t tad A A

t td A A

t ta A A

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 tad A td A ta

t

A

1

0

t

t

t t tad A A

t td A A

t ta A A

____________________________________________________________________________________ Teoría Binodal pág. 31

Page 143: apuntes de automatismos

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

= = tdA A tad A tad A ta = A ta A td

td ta

ta ta

td

tad A

tdA

ta A

A

Temporizaciones básicas

td

ta

ta

ta td

td

ta

secundaria

Temporizaciones

tad A

td A

ta A

td A

ta A

A

A tad

____________________________________________________________________________________ Teoría Binodal pág. 32

Page 144: apuntes de automatismos

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

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" )

P C

B

P C

____________________________________________________________________________________ Teoría Binodal pág. 33

Page 145: apuntes de automatismos

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 )

Ox A A

A 3 s. ta

Ox

0

1

0

1

1

0

1

0

0

A ta 3 s. 0

P 0

1 M

M A P

( 1 ) ( 2 ) ( 3 ) ( 4 )

A = ( A + M ) · P Ox = A 3 s. ta 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

Page 146: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Monodo generalizado ( regla 2 )

X X

ta 8 s. A B

B

( 4 )

A 5 s. ta

B

( 1 ) ( 2 ) ( 3 )

1

1

0

0

0

1

1

0

1

1

0

0

1

0

P

A

B 8 s.

ta 5 s. ta

0

1 M

M A P

A = ( A + M ) · B 8 s. · X ta X = ( X + M ) · P B = A 5 s. · X ta

____________________________________________________________________________________ Teoría Binodal pág. 35

Page 147: apuntes de automatismos

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 :

······ Z Am B · Am Bm

C · Bm A ······ 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

Page 148: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

TEMA 6: AUTÓMATA PROGRAMABLE FESTO FPC 404

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 1

Page 149: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 2

Page 150: apuntes de automatismos

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

Page 151: apuntes de automatismos

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 AWL Forma

Sintaxis Parte Ejemplo típico

Entrada Input

I In.n c IF I 2.0

Salida Output

O O

On.n On.n

c e

IF O 2.6 SET O 2.3

Marca Flag

F F

Fn.n Fn.n

c e

IF F 7.15 RESET F 9.3

Contador Counter

C C

Cn Cn

c e

IF C 3 SET C 5

Temporizador Timer

T T

Tn Tn

c e

IF T 7 SET T 4

Programa Program

P P

Pn Pn

c e

* IF P2 * SET P3

Procesador Processor

Y Y

Yn Yn

c e

* IF Y2 * RESET Y1

Error Status E E c * 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

Page 152: apuntes de automatismos

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 AWL Forma

Sintaxis Parte Ejemplo típico

Palabra de Entradas Input Word

IW IWn c IF ( IW3 = V 255 )

Palabra de Salidas Output Word

OW OW

OWn OWn

c e

IF ( OW2 = V 80 ) LOAD V 128 TO OW3

Palabra de Marcas Flag Word

FW FW

FWn FWn

c e

IF ( FW3 = V 220 ) LOAD V 2100 TO FW1

Unidad Funcional Function Unit

FU FU

FUn FUn

c e

IF ( FU32 = V16 ) LOAD FU34 TO R60

Pal. deTemporizador Timer Word

TW TW

TWn TWn

c e

IF ( TW2 < V 2000 ) LOAD V1345 TO TW6

Preselec de Tempor. Timer Preselect

TP TP

TPn TPn

c e

IF ( TP0 < V20 ) * THEN LOAD V50 TO TP4

Palabra deContador Counter Word

CW CW

CWn CWn

c e

IF ( CW 3 <> V20 ) THEN INC CW 5

Presel. de Contador Counter Preselect

CP CP

CPn CPn

c e

IF ( CP3 = V 555 ) LOAD V67 TO CP5

Registro register

R R

Rn Rn

c e

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

Page 153: apuntes de automatismos

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 :

* Registros * Temporizadores * Contadores * Unidades Funcionales * Programas * Procesadores

1.3 Operadores El lenguaje AWL utiliza los siguientes operadores y notaciones en la construcción de frases. Símbolo Propósito

N NOT ( negación V VALUE asignación para operandos multibit ( decimal )

V $ VALUE asignación para operandos multibit ( hexadecimal ) V % 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

Page 154: apuntes de automatismos

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

Page 155: apuntes de automatismos

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 I 1.0 Si entrada 1.0 activa THEN SET O 1.2 entonces activa la salida 1.2 IF N I 2.0 Si entrada 2.0 NO está activa THEN SET O 2.3 entonces activar la salida 2.3 IF I 6.0 Si entrada 6.0 está activa y AND N I 2.1 entrada 2.1 no está activa y AND O 3.1 salida 3.1 está activa THEN RESET O 2.1 entonces desactiva salida 2.1 RESET T 6 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 I 3.2 Si entrada 3.2 activa OR N T6 o Timer 6 no está activo THEN INC CW1 entonces incrementa Counter 1 y SET T4 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

Page 156: apuntes de automatismos

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 ( I 1.1 Si entrada 1.1 activa OR T 4 ) o Timer 4 está funcionando AND ( I 1.3 y si entrada 1.3 está activa OR I 1.2 ) 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 ( Label ) IF I 1.0 Si entrada 1.0 está activa THEN SET O 2.4 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

Page 157: apuntes de automatismos

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 I 2.2 Si entrada 2.2 activa THEN SET O 4.4 entonces conecta salida 4.4 IF I 1.6 Si entrada 1.6 activa THEN RESET O 2.5 entonces desconecta salida 2.5 SET O 3.3 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

Page 158: apuntes de automatismos

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

¿ es esta la ULTIMA frase del STEP x ?

¿ es esta la ULTIMA frase del STEP x ?

Ir al siguiente STEP

Siguiente frase del STEP x

Volver al inicio del STEP x

Si

No No

Acción

Reglas de ejecución de un STEP básico

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 11

Page 159: apuntes de automatismos

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 NOP Siempre cierto THEN SET O 1.0 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 I 1.0 Si entrada 1.0 está activa THEN SET O 2.2 entonces activar salida 2.2 IF N I 3.5 Si entrada 3.5 NO está activa AND I 4.4 y entrada 4.4. está activa THEN RESET O 1.2 entonces desconecta salida 1.2 IF T 3 Si Timer 3 funciona THEN SET F 0.0 activa Marca ( Flag ) 0.0 IF NOP De todas formas nos aseguramos que la

ÚLTIMA frase siempre sea cierta THEN SET O 3.6 Activa la salida 3.6, abandona este paso y

procesa el siguiente

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 12

Page 160: apuntes de automatismos

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 I 3.2 Si entrada 2.2 activa THEN NOP entonces no hagas nada y sigue en el

siguiente paso 2.8 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 I 1.0 Si entrada 1.0 está activa THEN SET O 2.2 entonces activar salida 2.2 JMP TO 70 y salta al paso ( etiqueta ) 70 IF N I 3.5 Si entrada 3.5 NO está activa AND I 4.4 y entrada 4.4. está activa THEN RESET O 1.2 entonces desconecta salida 1.2 JMP TO 6 y salta al paso ( etiqueta ) 6 IF T 3 Si Timer 3 funciona THEN SET F 0.0 activa Marca ( Flag ) 0.0 IF NOP De todas formas nos aseguramos que la

ÚLTIMA frase siempre sea cierta THEN SET O 3.6 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

Page 161: apuntes de automatismos

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 I 2.0 Si entrada 2.0 está activa THEN SET O 3.3 entonces activa salida 3.3 OTHRW SET O 4.5 sino, activa la salida 4.5 Reglas de ejecución de un STEP con instrucciones OTHRW

Frase Primera o anterior

en STEP x

cierta ?

Si

ULTIMA frase del STEP x ?

ULTIMA frase del STEP x ?

Ir al siguiente STEP

Siguiente frase del STEP x

Volver al inicio del STEP x

Si

No No ¿ es esta la ¿ es esta la

Si

No ¿ Parte condicional

Ejecuta la instrucción OTHRW

Acción

Si

No

¿ OTHRW en esta Frase ?

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 14

Page 162: apuntes de automatismos

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

Propósito

AND Realiza una función lógica AND entre operandos monobit o entre multibit y constantes

BID Convierte el contenido del acumulador multibit de Binario a formato BCD

CFM n Empieza la ejecución o inicialización de un módulo de función CMP n Empieza la ejecución de un Módulo de programa CPL Produce el complemento a dos del contenido del acumulador

multibit DEC Decrementa un operando multibit / acumulador DEB Convierte el contenido del acumulador multibit de formato BCD a

Binario EXOR Realiza la función EXOR entre operandos monobit o multibit y

constantes IF Instrucción que marca el inicio de la parte condicional de una frase INC Incrementa un operando multibit / acumulador INV Realiza el complemento a uno del contenido del acumulador multibit JMP TO ( Step Label )

Obliga al programa a seguir en un Paso especificado

LOAD Permite la carga en el acumulador monobit o multibit de los operandos especificados ( monobit o multibit ) y constantes

NOP Instrucción especial que siempre es cierta en la parte Condicional de una frase. En la parte Ejecutiva equivale a " no hacer nada "

OR Realiza la función OR entre operandos monobit o multibit y constantes

OTHRW Permite la continuación de la ejecución del programa aunque la Parte Condicional de la frase sea falsa

PSE PSE ( Program Section End ) Fin de un programa parcial RESET La instrucción Reset se utiliza para cambiar los operandos monobit a

estado lógico "0" ROL 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

ROR 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

Page 163: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Instrucción

Propósito

SET La instrucción Set se usa para cambiar los operandos monobit a estado lógico "1"

SHIFT Realiza un desplazamiento entre operandos monobit SHL Desplaza una posición a la izquierda todos los bits contenidos en el

Acumulador Multibit. El más significativo se pierde SHR 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"

SWAP Intercambia el Byte alto con el Byte bajo del Acumulador Multibit TO Se utiliza junto con la instrucción LOAD para especificar el

operando destino de la carga THEN Instrucción que indica el inicio de la parte Ejecutiva de una frase WITH 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

Page 164: apuntes de automatismos

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 Si entrada 1.1 está activa AND T6 y timer 6 funciona THEN SET O 1.5 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 0 1 0 1 1 0 1 operando 1 = 45 decimal 1 1 1 0 1 1 0 0 AND operando 2 = 236 decimal 0 0 1 0 1 1 0 0 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 ( R6 El contenido de R6 es enlazado en AND R7 ) AND con el contenido del registro R7 = V 34 A continuación el resultado es comparado

con la cte. decimal 34 THEN ...... Si hay igualdad entonces se realizarán las

funciones programadas

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 17

Page 165: apuntes de automatismos

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 ( I W 0 El contenido de la palabra de entradas AND V 15 ) IW0 es enlazado con la constante 15 > V 0 y el resultado es comparado ..... THEN ...... 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 ....... Si las condiciones son ciertas THEN LOAD ( R 38 transfiere el contenido del registro 38 al

acumulador multibit AND R 45 ) Enlaza en AND con el registro 45 TO R 17 y deposita el resultado en el registro 17

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 18

Page 166: apuntes de automatismos

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 I 1.0 Al accionar el pulsador del motor THEN LOAD R 26 El registro 26 contiene la información de

la nueva posición BID Convierte a formato BCD AND V 15 y oculta todos los bits excepto 0-3 TO OW2 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

Page 167: apuntes de automatismos

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 I 1.2 Pulsador de reset accionado THEN CFM 2 Llamar al módulo de función 1 WITH V2 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 I 2.2 Pulsador arranque motor AND N O 2.1 Y motor inactivo THEN SET O 2.1 Arranca el motor CFM 2 Llama al módulo de función 2, habilita la función de

interrupción para CPU 0 WITH V6 Programa a lanzar cuando se alcance el final del

conteo WITH V0 Sobre el flanco ascendente de la señal WITH V200 El conteo es 200

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 20

Page 168: apuntes de automatismos

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 I 1.5 Si sensor de nivel máximo THEN CMP 7 Llamar al módulo de programa 7 WITH V0 con el texto que se indica WITH Tanque # 1 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

Page 169: apuntes de automatismos

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 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 4711 1 1 1 0 1 1 0 1 1 0 0 1 1 0 0 1 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 ( R32 Ver si el registro 32 es menor de 0... o < V 0 ) un valor negativo y si es negativo THEN LOAD R 32 cargarlo en el acumulador multibit CPL realizar la instrucción "complementar " TO R 22 y copiarlo en el registro 22

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 22

Page 170: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

DEB Propósito Para convertir el contenido del acumulador multibit de formato BCD a Binario Es frecuente que muchos equipos periféricos puedan enviar información ( valores etc.) a un PLC a través de las entradas estándar. Para minimizar el número de entradas, el dispositivo periférico puede utilizar una codificación BCD. Dado que la instrucción DEB opera sobre el contenido del acumulador multibit, el valor a convertir debe ser previamente cargado en el acumulador multibit.

Ejemplos Si utilizamos dos conmutadores rotativos BCD para definir el número de ciclos que una máquina debe realizar, podríamos utilizar las siguientes instrucciones : Hemos conectado los conmutadores BCD a las entradas 0-7 de la palabra de entradas IW1 y la entrada I0.3 se utiliza para validar la introducción del valor, que será almacenado en la palabra de contador CW2 IF I 0.3 Cuando se active I 0.3 THEN LOAD ( I W 1 copiar la palabra de entradas en el AND V 255 ) acumulador multibit y usar la instrucción

AND para enmascarar las entradas I 1.8..15. Tanto si existen I 1.8....15 como sino, se asegura que en el acumulador habrá realmente l valor de los conmutadores BCD

DEB Convertir el actual valor BCD a binario TO C W 2 y copiar el resultado en la palabra del

contador 2 Por favor, observar que los valores permitidos son de 0..9999

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 23

Page 171: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

DEC Propósito La instrucción DECrement reduce el valor de cualquier operando multibit en "1". A diferencia de otras instrucciones aritméticas, la operación DECrement puede ser realizada directamente sin necesidad de cargar previamente el operando a decrementar en el acumulador multibit A pesar de que la instrucción DECrement puede utilizarse sobre cualquier operando multibit, es comúnmente utilizada junto con Contadores y Registros.

Ejemplos En el siguiente ejemplo se supone que en una línea de llenado de botellas, la entrada I 1.3 es activada cada vez que pasa una botella por la estación de conteo. El número total de botellas debe guardarse en el Registro 9 Sin embargo, a veces una botella puede no estar completamente llena y esto es verificado más adelante en el proceso de producción. Si se detecta una botella parcialmente llena, el contador totalizador debe ser disminuido en una unidad IF I 1.3 La I 1.3 detecta todas las botellas que THEN INC R 9 queremos totalizar, así que hay que añadir

1 al contador existente IF I 2.2 Cuando llega una botella a la estación de

verificación AND N I 3.6 y no ,está totalmente llena THEN DEC R 9 restar 1 del total La instrucción citada DECrement equivale a : IF.... THEN LOAD R 9 Cargar R 9 en el acumulador multibit - V 1 restar 1 TO R 9 y copiar el resultado de nuevo en R 9

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 24

Page 172: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

EXOR Propósito Para combinar dos o más operandos monobit o multibit en la parte Condicional o Ejecutiva de una frase utilizando la operación lógica EXOR ( OR Exclusiva ) Ejemplo Monobit: En el siguiente ejemplo, la salida O 1.3 será activada si cualquiera

de las Entradas I 1.1 o I 1.2 está activa, pero no si lo están ambas IF I 1.1 Tanto si está activa I 1.1 como I 1.2 EXOR I 1.2 PERO NO AMBAS THEN SET O 1.3 entonces activa la salida 1.3 Ejemplo Multibit: A continuación se muestra la operación lógica EXOR aplicada a

dos operandos de 8 bits

0 0 1 0 1 1 0 1 operando 1 = 45 decimal 1 1 1 0 1 1 0 0 OR operando 2 = 236 decimal 1 1 0 0 0 0 0 1 resultado = 193 decimal

Cuando se utiliza en la parte Condicional de una frase, esta función permite comparar el resultado de una función lógica EXOR de dos operandos multibit con un tercer operando multibit o con una constante.

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 25

Page 173: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

En el siguiente ejemplo, utilizaremos la potencia de la instrucción EXOR para controlar una estación de llenado de 8 botellas. Las 8 posiciones de llenado se hallan en un lugar del sistema de transporte de las botellas. A medida que pasan las botellas, deben ser verificadas. Es posible en cualquiera de las 8 posiciones que una botella esté o no presente. Todas las botellas vacías deberán llenarse y cuando estén todas presentes, la linea se desplazará de nuevo, buscando el siguiente grupo para llenar La palabra de entradas IW0 ( I0.0...I 0.7 ) está conectada a los sensores de presencia de botella y la palabra de entradas IW1 ( I1.0...I1,7 ) está conectada a los sensores de llenado de botella. La palabra de salidas OW0 ( O0.0...O0.7 ) controla las boquillas de llenado, mientras que la salida O 1.0 cuando está activa, cierra un tope sosteniendo así las botellas para su llenado STEP 10 IF N O 1.0 Las botellas no están detenidas AND I 0.7 y hay botellas en posición 7 THEN SET O 1.0 parar movimiento botellas LOAD ( IW0 Ver si están presentes y EXOR IW1 ) SIN llenar TO OW0 entonces activar salidas para llenar

botellas IF (OW0 Si TODAS las salidas están inactivas = V0 ) AND O 1.0 y las botellas detenidas para llenado THEN SET O 1.0 Liberar las botellas de nuevo JMP TO 10 e ir al paso 10

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 26

Page 174: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

INC Propósito La instrucción INCrement, incrementa el valor de cualquier operando multibit en "1". A diferencia de otras instrucciones aritméticas, la operación INCrement puede ser realizada directamente sin necesidad de cargar previamente el operando a INCrementar en el acumulador multibit A pesar de que la instrucción INCrement puede utilizarse sobre cualquier operando multibit, es comúnmente utilizada junto con Contadores y Registros.

Ejemplos En el siguiente ejemplo se supone que en una línea de llenado de botellas, la entrada I 1.3 es activada cada vez que pasa una botella por la estación de conteo. El número total de botellas debe guardarse en el Registro 9 Sin embargo, a veces una botella puede no estar completamente llena y esto es verificado más adelante en el proceso de producción. Si se detecta una botella parcialmente llena, el contador totalizador debe ser disminuido en una unidad IF I 1.3 La I 1.3 detecta todas las botellas que THEN INC R 9 queremos totalizar, así que hay que añadir

1 al contador existente IF I 2.2 Cuando llega una botella a la estación de

verificación AND N I 3.6 y no ,está totalmente llena THEN DEC R 9 restar 1 del total La instrucción citada INCrement equivale a : IF.... THEN LOAD R 9 Cargar R 9 en el acumulador multibit + V 1 añade 1 TO R 9 y copia el resultado de nuevo en R 9

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 27

Page 175: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

INV Propósito Esta instrucción complementa ( INVerts, INVierte ) el contenido del acumulador multibit, utilizando el método del complemento a "1" Cuando se aplica a enteros con signo, esto es equivalente a multiplicar un número por -1 y añadirle -1.

Ejemplos El siguiente cuadro ilustra una aplicación de la instrucción INV a un número de 16 bits que ha sido cargado en el acumulador multibit 0 0 0 1 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1 0 1 1 0 1 1 0 0 1 1 0 0 0 INV

La instrucción INV puede ser de utilidad cuando se desea invertir todos y cada uno de los bits contenidos en el acumulador multibit En el siguiente ejemplo, una máquina mezcladora tiene 16 estaciones. El ciclo de mezcla consiste en periodos alternativos de agitación y de asentamiento. Durante la operación normal, los operarios añaden o quitan contenedores aleatoriamente. Solamente aquellas estaciones que poseen contenedor situado deben activarse. Se han previsto sensores para detectar que estaciones deben ser activadas STEP 10 IF N T1 Tiempo vencido THEN LOAD O W 1 El estado actual de las salidas 0-15 de las

estaciones de agitado es copiado al acumulador

INV ahora invertimos el estado de cada salida... aquellas que estén en 1 pasarán a 0 ( pero esto solo en el MBA )

AND I W 1 ahora corregir para cada estación que estuviera en off y no tuviera contenedor

TO O W 1 finalmente activar las correspondientes salidas

SET T 1 y arrancar el temporizador STEP 20 espera hasta terminar el proceso IF N T 1 de temporización THEN JMP TO 10 para regresar al paso 10

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 28

Page 176: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

JMP TO Propósito Para proporcionar un medio de influir en el flujo de ejecución del programa, basándose en un criterio programable. Análoga a la instrucción del lenguaje Basic " GOTO " Se debe observar que la instrucción JMP TO puede alterar el comportamiento normal que hace que al cumplirse la ÚLTIMA frase de un STEP el programa continúe en el siguiente La instrucción JMP TO también puede utilizarse para dar prioridad a la ejecución de frases dentro de un STEP Ejemplos En el primer ejemplo la instrucción JMP TO se utiliza en un programa paralelo para detectar y reaccionar ante una condición de PARO. El paso 20 contiene todas las frases que son procesadas de forma paralela. Observar que el PARO es un pulsador cerrado en reposo STEP 20 .......... frases anteriores en el paso 20 IF N I 1.1 Ver si paro ha sido pulsado, si es así, THEN LOAD V 0 desactivar todas las salidas en grupo TO O W 0 en las palabras de salidas 0 y 1 TO O W 1 JMP TO 80 y seguir en una rutina especial STEP 80 Rutina de PARO IF I 1.1 Esperar aquí hasta que no se detecte la

señal de paro AND I 2.1 y se accione el pulsador de RESET THEN JMP TO 20 entonces continuar en el paso 20

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 29

Page 177: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

El siguiente ejemplo utiliza saltos múltiples dentro de una instrucción STEP y muestra una situación donde el operador de la máquina debe seleccionar 1 de 3 posibles opciones STEP 40 El operador debe seleccionar SOLO 1 de

las 3 secuencias IF I 1.1 Selección de secuencia 1 AND N I 1.2 y no secuencia 2 AND N I 1.3 y no secuencia 3 THEN JMP TO 100 salto a secuencia 1 IF I 1.2 Selección de secuencia 2 AND N I 1.1 y no secuencia 1 AND N I 1.3 y no secuencia 3 THEN JMP TO 150 salto a secuencia 2 IF I 1.3 Selección de secuencia 3 AND N I 1.1 y no secuencia 1 AND N I 1.2 y no secuencia 2 THEN JMP TO 200 salto a secuencia 3 Hay que tener cuidado al ordenar varias frases dentro de un mismo paso, junto con el uso de la instrucción JMP, ya que es fácil asignar prioridades involuntariamente. El siguiente ejemplo asume que los pasos hasta el 50 contienen instrucciones para un proceso, y que al alcanzar el paso 60, la máquina debe verificar las entradas I1.1, I1.2 y I 1.3, esperar hasta que aparezca una PRIMERA entrada y procesar solamente una de estas entradas, donde la I 1.1. tiene la máxima prioridad e I 1.2 tiene la prioridad más baja STEP 60 IF N I 1.1 Esperar hasta que por lo menos una de AND N I 1.2 las entradas está activa AND N I 1.3 THEN JMP TO 60 IF I 1.1 Esta entrada tiene la más alta prioridad THEN JMP TO 100 al paso 100 IF N I 1.1 asegurarse de que no hay acciones AND I 1.2 de mayor prioridad THEN JMP TO 150 al paso 150 IF N I 1.1 asegurarse de que no hay acciones AND N I 1.2 de mayor prioridad AND I 1.3 THEN NOP OK. para procesar solo el siguiente paso

del programa

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 30

Page 178: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

LOAD...TO

Propósito La instrucción LOAD ( CARGAR ) permite copiar ( cargar ) operandos monobit o multibit en los acumuladores monobit o multibit ( respectivamente ) como preparación para : 1.- Realizar operaciones lógicas y/o matemáticas 2.- Como paso intermedio requerido para transferir información entre operandos La parte ... TO ( hacia ) de la instrucción permite especificar el destino del operando. La instrucción LOAD...TO es más frecuentemente utilizada con operandos multibit Ejemplos Cargas monobit

Origen Operación Opcional

Destino

LOAD SBO ninguna TO SBO LOAD I 1.0 TO O 1.0 LOAD SBO AND SBO TO SBO LOAD I 1.0 AND N I 1.1 TO O 1.0 Nota : SBO = cualquier Single Bit Operand ( monobit ) Sintaxis monobit A pesar que los ejemplos citados son instrucciones válidas AWL, generalmente no se usan. Equivalen a : IF I 1.1 Si entrada 1.0 está activa THEN SET O 1.0 activar salida 1.0 OTHRW RESET O 1.0 sino desactivarla IF I 1.0 Si entrada 1.0 activa AND N I 1.1 y entrada 1.1 NO activa THEN SET O 1.0 activar salida 1.0 OTHRW RESET O 1.0 sino desactivarla

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 31

Page 179: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Cargas multibit

Origen Operación Opcional

Destino

LOAD MBO / V ninguna TO MBO LOAD R6 TO TW1 LOAD MBO/ V AND MBO / V TO MBO LOAD R11 SHL TO CW4 LOAD CW2 + V3199 TO R28 Nota : MBO / V = cualquier Multi Bit Operand o Valor Sintaxis multibit La utilización de la instrucción LOAD con operandos multibit y valores, cuando se utiliza junto con los operadores lógicos o matemáticos disponibles, proporciona unas posibilidades de proceso muy potentes. El siguiente ejemplo ilustra algunas de las diversas funciones que pueden realizarse utilizando la instrucción LOAD Desconexión de TODAS las salidas de un sistema Asumiremos que nuestro sistema contiene 64 salidas organizadas en 4 palabras de 16 bits. Utilizando la clásica instrucción RESET para desactivarlas requeriría un programa como : IF I 1.0 p. ej. un pulsador THEN RESET O 1.0 desactiva la salida 1.0 RESET O 1.1 y otra ... repetimos esta instrucción ... para cada una de las 64 salidas Mientras que utilizando la instrucción LOAD puede conseguirse el mismo resultado con: IF I 1.0 p. ej. un pulsador THEN LOAD V 0 carga el valor "0" en el acumulador TO OW 1 desactiva las salidas 1.0...1.15 TO OW 2 desactiva las salidas 2.0...2.15 TO OW 3 desactiva las salidas 3.0...3.15 TO OW 4 desactiva las salidas 4.0...4.15

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 32

Page 180: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Obsérvese que una vez que el Valor ( en este caso 0 ) ha sido cargado en el acumulador multibit, puede copiarse ( utilizando TO ) a varios destinos sin tener que recargarlo Resumen La instrucción LOAD, puede muy bien ser una de las instrucciones más potentes en el lenguaje AWL. Es importante recordar que la instrucción LOAD únicamente prepara al sistema para las instrucciones que le siguen. Nota : Cuando se ejecuta una instrucción LOAD, el operando multibit o el Valor especificado es cargado en el acumulador multibit ( MBA ) El MBA es de 16 bits. Si el operando multibit especificado como fuente ( p.ej. LOAD MBO es de solo 8 bits ( p.ej. un módulo de E / S con solo 8 puntos ) entonces el byte más alto del MBA se llenará con ceros. Igualmente, si el MBA es transferido ( por medio de la instrucción TO ) a un destino de 8 bits, los 8 bits altos se perderán

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 33

Page 181: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

NOP Propósito

La consecuencia de utilizar la instrucción NOP depende de si es utilizada en la parte condicional o en la parte ejecutiva de una frase

La instrucción NOP ( No OPeration ) que en principio podría parecer de poca utilidad, es frecuentemente de gran ayuda en programación

Ejemplos Parte condicional Cuando se utiliza en la parte condicional de una frase, la instrucción NOP puede servir para construir una frase que siempre sea evaluada como cierta, con lo que las instrucciones programadas en la parte ejecutiva siempre se realizarán STEP 45 IF NOP Siempre cierto THEN SET T 6 arranca temporizador 6 SET O 1.2 activa la salida 1.2 Procesamiento paralelo Cuando un paso de programa contiene varias frases que deben procesarse ( explorarse ) continuamente, la instrucción NOP puede utilizarse para controlar el flujo del programa STEP 11 IF I 1.4 Si entrada 1.4 está activa THEN SET T 4 arranca temporizador 4 IF I 3.0 Arranque manual THEN SET O 1.6 del motor OTHRW RESET O 1.6 sino, parar motor IF T 4 Temporizador 4 funciona AND O 1.6 y motor funciona THEN INC C W 3 incrementa ciclo de conteo

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 34

Page 182: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

IF I 2.2 Pulsador de emergencia THEN JMP TO 90 abandona esta exploración IF NOP Incondicionalmente THEN JMP TO 11 continua esta exploración STEP 90 rutina especial IF N I 2.2 Pulsador de emergencia liberado AND I 3.3 y pulsador de reset THEN JMP TO 11 vuelve al paso 11, sino espera Parte ejecutiva Cuando se utiliza en la parte ejecutiva de una frase, la instrucción NOP es evaluada como una instrucción de " no hagas nada ". A pesar de que esto puede parecer poco interesante, a menudo es muy útil cuando el programador desea esperar a que se cumplan unas determinadas condiciones para seguir con la ejecución del programa en el siguiente paso STEP 60 IF I 1.5 Entrada 1.5 activa AND T 7 Temporizador 7 funcionando AND N C 2 Contador 2 inactivo THEN NOP cumplidas las condiciones anteriores,

procede con el siguiente paso

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 35

Page 183: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

OR 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 OR 2.- Para realizar el enlace en OR de dos operandos multibit o valores, indistintamente

en la parte condicional o ejecutiva de una frase

Ejemplos Monobit IF I 1.1 Si entrada 1.1 está activa OR T6 o el timer 6 funciona THEN SET O 1.5 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 0 1 0 1 1 0 1 operando 1 = 45 decimal 1 1 1 0 1 1 0 0 OR operando 2 = 236 decimal 1 1 1 0 1 1 0 1 resultado = 237 decimal

La función OR puede ser utilizada con operandos Multibit y valores, tanto en la parte Condicional de la frase, como en la parte Ejecutiva. Cuando se utiliza en la parte Condicional de una frase, esta función permite que el resultado de la función lógica OR entre dos operandos multibit o valores, sea comparado con un tercer operando multibit o con un valor. IF ( R43 El contenido de R43 es enlazado en OR R7 ) OR con el contenido del registro R7 = V 100 Si el resultado es igual a 100 THEN ...... entonces se realizarán las funciones

programadas

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 36

Page 184: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

El siguiente ejemplo es una máquina que consiste en 16 transportadores paralelos, cada uno de los cuales suministra componentes a una zona de montaje. Los componentes son cargados manualmente a uno o más de los tres posibles emplazamientos de cada transportador. Cada transportador incluye tres sensores que verifican si las piezas han sido cargadas Cuando los 16 transportadores tienen por lo menos un componente cargado, entonces cada transportador deberá comenzar a funcionar. A medida que una pieza alcance la posición final de cada transportador, éste deberá detenerse. Cada transportador contiene un sensor para detectar cuando una pieza se halla presente en la posición final STEP 50 El criterio de arranque de todos los IF ( O W 1 transportadores está detenido ahora OR I W 4 ( salidas 1.0 a 1.15 ) = V 0 ) y las 16 posiciones están libres AND ( I W 1 Todos los sensores de la estación 1 para

transportadores 1, 2 y 3 OR I W 2 Todos los sensores de la estación 2 para

transportadores 1, 2 y 3 OR I W 3 Todos los sensores de la estación 3 para

transportadores 1, 2 y 3 = V 65535 Los 16 tienen por lo menos 1 componente

cargado THEN LOAD V 65535 Entonces activar los 16 transportadores TO O W 1 controlados por las salidas 1.0...1.15 STEP 60 THEN LOAD I W 4 Desactivar cada transportador TO O W 4 a medida que alcanzan la posición final IF ( O W 4 Cuando todos los transportadores = V 0 se han detenido THEN JMP TO 50 empezar de nuevo

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 37

Page 185: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

PSE Propósito Para marcar el final de programa ( Program Section End ) o un cambio de programa. Esto provocará un cambio de procesador virtual en aquellos procesadores que soportan multitarea ( ver multitarea ) Al regresar al programa que ha ejecutado la instrucción PSE, el programa continuará procesando :

* en la primera frase del paso actual o * en la primera frase del programa cuando no existan pasos

Ejemplos Si un programa AWL simplemente termina con una instrucción normal y no se dan instrucciones adicionales, el programa dejará de funcionar Los programas clásicos o partes del programa se terminan utilizando la instrucción PSE o la instrucción JMP. STEP 10 IF I 1.1 Pulsador de marcha THEN SET O 2.1 Avanzar cilindro STEP 20 IF I 3.1 Cilindro delante THEN RESET O 2.1 retroceder cilindro PSE ir a la primera frase OTHRW PSE ir a la primera frase Cuando un programa ha sido realizado sin etiquetas de pasos, y debe procesarse de forma continuada según el ciclo de exploración ( scan ); el programa debe terminar con una instrucción PSE ....... frases anteriores ....... " " IF NOP Siempre cierto THEN PSE Fin del programa parcial e ir a la frase

inicial en el programa

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 38

Page 186: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

RESET Propósito La instrucción RESET ( desactivar ) se utiliza para cambiar los operandos Monobit al estado lógico "0". La desactivación de un operando que ya esté desactivado, no produce efecto alguno El efecto que produce una instrucción de RESET, varía según el operando referido. La siguiente tabla proporciona un resumen de la utilización de la instrucción RESET

Ejemplos

Operando

Sintaxis

Efecto

Output RESET O 1.6 Desactiva Salida 1.6 ( off ) Flag RESET F 2.12 Fuerza el estado del Flag 2.12 a ser "0" Counter RESET C 6 El estado del contador 6 es puesto a inactivo Timer RESET T 4 El estado del Temporizador 4 es puesto a

inactivo Program * RESET P 2 El programa 2 es liberado de su procesador

asignado y es detenido Processor * RESET Y 2 Cualquier programa asignado al procesador

2 es puesto en estado de detención Auto Restart * RESET ARU Desactiva la función de rearranque

automático ( default = off ) Error Status * RESET E Borra el bit de estado de error Los operandos marcados con "*" pueden diferir o no ser aplicables a todos los modelos de PLC

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 39

Page 187: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

ROL Propósito La instrucción ROL ( ROtate Left ), rota el contenido del acumulador Multibit hacia la izquierda en una posición El bit más significativo ( 15 ) es transferido a la posición del bit menos significativo. Véanse también las instrucciones ROR, SHR y SHL Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo después de la instrucción ROL para copiar el resultado al operando multibit deseado

Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción ROL 0 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 LOAD MBO 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 0 1er ROL 0 1 0 1 1 0 0 0 0 1 1 1 0 1 0 1 2º ROL 0 1 0 1 1 0 0 0 0 1 1 1 0 1 0 1 TO MBO IF N T6 Si T6 está parado THEN LOAD O W 1 cargar los 16 bits de la palabra de salidas

1 al MBA ROL Rota a izquierda una vez ROL rota a izquierda una segunda vez TO O W 1 copia el resultado de nuevo al mismo sitio Esta instrucción puede tener una buena aplicación cuando se utiliza en máquinas transfer rotativas o transportadores, para seguir el estado de la producción cuando la máquina realiza la transferencia

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 40

Page 188: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

ROR Propósito La instrucción ROR ( ROtate Rigth ), rota el contenido del acumulador Multibit hacia la derecha en una posición El bit menos significativo ( bit 0 ) es transferido a la posición del bit más significativo. Véanse también las instrucciones ROR, SHR y SHL Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo después de la instrucción ROR para copiar el resultado al operando multibit deseado

Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción ROR 0 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 LOAD MBO 1 0 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1er ROR 0 1 0 1 0 1 0 1 1 0 0 0 0 1 1 1 2º ROR 0 1 0 1 0 1 0 1 1 0 0 0 0 1 1 1 TO MBO IF N T6 Si T6 está parado THEN LOAD O W 1 cargar los 16 bits de la palabra de salidas

1 al MBA ROR Rota a la derecha una vez ROR Rota a la derecha una segunda vez TO O W 1 copia el resultado de nuevo al mismo sitio Esta instrucción puede tener una buena aplicación cuando se utiliza en máquinas transfer rotativas o transportadores, para seguir el estado de la producción cuando la máquina realiza la transferencia

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 41

Page 189: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

SET Propósito La instrucción SET ( activar ) se utiliza para cambiar los operandos Monobit al estado lógico "1". La activación de un operando que ya esté activado, no produce efecto alguno El efecto que produce una instrucción de SET, varía según el operando referido. La siguiente tabla proporciona un resumen de la utilización de la instrucción SET

Ejemplos

Operando

Sintaxis

Efecto

Output SET O 1.6 Activa Salida 1.6 ( on ) Flag SET F 2.12 Fuerza el estado del Flag 2.12 a ser "1" Counter SET C 6 1.- La palabra del contador 6 es cargada con "0"

2.- El bit de estado de C6 es activado Timer SET T 4 1.- El contenido del preselector TP 4 es copiado al

TW4 2.- El bit de estado del Timer 4 ( T4 ) es activado ( = 1 )

Program * SET P 2 SET P 2.3

Programa 2 es lanzado desde el inicio. Programa 3 es asignado al procesador 2 y lanzado desde el principio

Processor * SET Y 2 Reactiva un programa previamente detenido en el procesador 2 en el punto donde se detuvo

Auto Restart * SET ARU Activa la función de rearranque automático Los operandos marcados con "*" pueden diferir o no ser aplicables a todos los modelos de PLC

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 42

Page 190: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

SHIFT Propósito La instrucción SHIFT realiza un intercambio entre el Acumulador Monobit ( SBA ) y un operando Monobit Esta instrucción puede utilizarse para construir Shift Registers ( Registros de desplazamiento ) de diferentes longitudes... diferentes de las manipulaciones sobre 16 bits que realizan las instrucciones SHR y SHL. Para operar correctamente, primero debe cargarse el SBA y a continuación pueden programarse cualquier número de SHIFTs monobit

Ejemplos En el siguiente ejemplo, cada vez que la entrada I 1.0 se activa, el estado de las salidas O 1.1 hasta O 1.4 debe ser actualizadas.

* La salida O 1.4 tomará su estado según el estado que tenga la salida O 1.3 * La salida O 1.3 tomará su estado según O 1.2 * La salida O 1.2 tomará su estado según O 1.1 * La salida O 1.1 tomará su estado según el estado que tenga la entrada I 1.1

STEP 10 IF I 1.0 Entrada activa THEN LOAD I 1.0 aquí se utiliza un Flag para evitar escribir

desde una entrada, lo que de lo TO F 0.0 contrario sucedería SHIFT O 1.1 cargar F0.0 O 1.1 SHIFT O 1.2 cargar O 1.1 O 1.2 SHIFT O 1.3 cargar O 1.2 O 1.3 SHIFT O 1.4 cargar O 1.3 O 1.4 STEP 20 IF N I 1.0 Espera que liberen la entrada THEN JMP TO 10 repetir Ver Flags y Flags Words ( marcas y palabras de marca ) para una alternativa a la construcción de registros de desplazamiento

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 43

Page 191: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

SHL Propósito La instrucción SHift Left mueve ( desplaza ) el contenido del acumulador Multibit en una posición hacia la izquierda El bit más significativo ( bit 15 ) es descartado y la posición del bit más significativo se llena con un "0". Ver también las instrucciones ROL, ROR y SHR Una utilización típica de la instrucción SHL es la emulación de registros de desplazamiento Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo después de la instrucción SHL para copiar el resultado al operando multibit deseado

Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción SHL 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 LOAD MBO 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 0 SHL 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 0 TO MBO

Shift Register El siguiente ejemplo mostrará la utilización de SHL en combinación con un MBO para emular un registro de desplazamiento. A pesar de que puede utilizarse cualquier operando multibit, hemos elegido un Flag Word, dado que pueden ser manejados en base a palabra o en base a bit indistintamente Supongamos que estamos controlando una máquina que monta cartuchos de cintas para impresoras de ordenador. El proceso empieza en la estación 1 donde se hallan apilados los cartuchos vacíos en la línea de montaje; hasta la línea 10 donde los conjuntos montados son descargados a una máquina de embalar. En cada estación ( 1-10 ), una vez se ha completado la operación de montaje respectiva, se realiza un control de calidad. Los montajes defectuosos son inmediatamente retirados. Adicionalmente, cuando la máquina es cargada por primera vez por la mañana, y al parar por la tarde, solo deben funcionar aquellas estaciones que contengan componentes válidos.

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 44

Page 192: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Mientras que cada estación puede incluir sensores para asegurar que ciertas piezas están correctamente posicionadas antes de proceder, el registro de desplazamiento, simplificará notablemente nuestras necesidades de proceso. Para simplificar este ejemplo, sólo hemos considerado las estaciones 1-3 STEP 40 Procesar estaciones. FW1 contiene un

patrón de bits de donde hay piezas IF F 1.1 Hubo pieza correcta en la estación 1 AND N T 1 operación realizada AND N I 2.1 pieza mala en estación 1 THEN RESET F 1.1 PIEZA MALA RETIRADA IF F 1.2 Hubo pieza buena en estación 2 AND N T 1 operación realizada AND N I 2.2 pieza mala en estación 2 THEN RESET F 1.2 PIEZA MALA RETIRADA IF F 1.3 Hubo pieza buena en estación 3 AND N T 1 operación realizada AND N I 1.3 pieza mala en estación 3 THEN RESET F 1.3 PIEZA MALA RETIRADA IF T 1 Operaciones terminadas THEN SET O 1.1 transferir linea de montaje STEP 50 IF N I 2.0 Linea transfiriendo THEN LOAD F W 1 carga el registro de desplazamiento SHL actualiza TO F W 1 y almacena STEP 60 IF I 2.0 Transferencia realizada THEN RESET O 1.1 JMP TO 20 continua procesando Multiplicación La instrucción SHL puede utilizarse para multiplicar el contenido del MBA por dos IF I 1.0 Detector de piezas THEN LOAD R 6 registro 6 SHL multiplica por 2 SHL multiplica de nuevo, o sea, por 4 TO R 6 y guarda el resultado

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 45

Page 193: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

SHR Propósito La instrucción SHift Right mueve ( desplaza ) el contenido del acumulador Multibit en una posición hacia la derecha El bit menos significativo ( bit 0 ) es descartado y la posición del bit más significativo se llena con un "0". Ver también las instrucciones ROL, ROR y SHL La instrucción SHR puede utilizarse también para dividir por dos cualquier MBO o valor El programador debe comprobar un posible desbordamiento o si el dividendo es un número impar, en cuyo caso el resultado será incorrecto, ya que solo se manipulan números enteros Debe recordarse que la instrucción LOAD....TO se utiliza normalmente en primer lugar para preparar el Acumulador Multibit y de nuevo después de la instrucción SHR para copiar el resultado al operando multibit deseado

Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción SHR 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 LOAD MBO 0 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 SHR 0 1 1 0 1 0 1 1 0 0 0 0 1 1 1 0 TO MBO

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 46

Page 194: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

SWAP Propósito Proporciona el medio de intercambiar ( permutar ) el byte alto ( bits del 8 al 15 ) y el byte bajo ( bits del 0 al 7 ) en el acumulador multibit Antes de ejecutar la instrucción SWAP primero debe cargarse el correspondiente MBO en el acumulador multibit

Ejemplos La siguiente tabla muestra el efecto de la utilización de la instrucción SHL 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 LOAD MBO / V 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 SWAP 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 TO MBO

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 47

Page 195: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5 TEMPORIZADORES 5.1 El temporizador Muchas funciones de control exigen la programación del tiempo. Ejemplo : En una máquina deberá avanzar el cilindro B cuando el cilindro A haya vuelto a su posición normal, aunque solo después de transcurridos 5 segundos. En este caso se trata de un retardo de conexión. Con frecuencia es necesario que la activación de la sección se produzca con un retardo por razones de seguridad Para efectuar la programación de una temporización, es necesario recurrir a ( submódulos ) temporizadores. Todos los controles lógicos programables contienen dichos submódulos de temporización. Por lo general, los tiempos son configurados de modo digital, lo que significa que un contador se encarga de contar cadencias. Un PLC cuenta las cadencias con la misma exactitud con la que los relojes cuentan las oscilaciones de cuarzo. O, para ser más precisos : el PLC cuenta flancos positivos o negativos de los pulsos secuenciales.

Señal de activación

Activar el temporizador mediante un flanco positivo de la señal de activación

Temporizador está activado

Activar la función después de parar el temporizador

Retardo de conexión

Pulsos secuenciales

cadencia

cadencia ( se cuentan flancos positivos )

( se cuentan flancos negativos )

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 48

Page 196: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

A modo de unidad básica se define o selecciona un determinado tiempo para las secuencias de los pulsos :

Un milisegundo Una centésima de segundo Una décima de segundo Un segundo Un minuto

En el programa, los tiempos son confeccionados recurriendo a las unidades básicas respectivas, estando limitada la duración del tiempo programable. La amplitud de conteo de un temporizador define la cantidad máxima de cadencias. Multiplicando la amplitud de conteo con la cadencia más larga posible, se obtiene como resultado el tiempo máximo programable de un temporizador. No obstante, utilizando varios submódulos temporizadores ( con un contador ) es posible prolongar el tiempo. También existen temporizadores ( submódulos electrónicos ) que son parte integrante del hardware del PLC y que son denominados temporizadores analógicos del hardware. Estos temporizadores conforman los tiempos de modo analógico con condensadores y resistencias. Para activar un temporizador analógico se recurre a una entrada y a una salida del PLC. Mediante un potenciómetro pueden ajustarse los tiempos analógicos. No obstante, en la actualidad prácticamente ya no se utilizan este tipo de temporizadores, puesto que la temporización mediante software resulta más flexible y menos costosa. 5.2 Funcionamiento de un temporizador Un temporizador está compuesto de los siguientes elementos :

Funcionamiento de un temporizador ( ejemplo )

Temporizador

Valor nominal

Valor efectivo

Estado

Cargar

+ 1

- 1

Activar

Parar

* Valor nominal * Valor efectivo * Estado

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 49

Page 197: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

El valor efectivo indica el valor instantáneo del temporizador. Los temporizadores pueden contar hacia atrás o hacia adelante. El valor efectivo va cambiando respectivamente

El estado de un temporizador indica si ya ha transcurrido el tiempo que se haya preseleccionado o si aún está transcurriendo, pudiendo ser la señal respectiva "0" o "1", según tipo de PLC

En la figura se muestra el funcionamiento de un temporizador recurriendo a un ejemplo sencillo. En él se ha ajustado un tiempo de 4 cadencias ( es decir, por ejemplo, 4 veces 0,1 segundos ). El número 4 es el valor efectivo y el conteo se produce hacia atrás hasta que se alcanza el valor efectivo 0. El temporizador cuenta los flancos positivos de los pulsos secuenciales.

El valor nominal indica el tiempo que deberá transcurrir en función del programa y expresado mediante un número que indica la cantidad de cadencias que se haya seleccionado. El valor nominal también puede ser igual a "0"; en este caso, el tiempo que se haya ajustado es igual al valor efectivo.

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 50

Funcionamiento de un temporizador ( ejemplo )

1 2 4 3

1 1 1 1 0

0 0 0 0

Cadencia

Valor Nominal

Valor efectivo

Estado

Tiempo está Tiempo está activado desactivado

cadencia

0

0

Page 198: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Cada temporizador ( o Timer ), tal y como ha sido implementado en el lenguaje AWL, consta de varios elementos :

5.3 Utilización de un temporizador

Debe establecerse un Preselector de Temporizador ( Timer Preselect ) válido

Debe emitirse una instrucción para activar el Temporizador

5.3.1 Inicialización de un preselector de temporizador

Antes de utilizar cualquier temporizador, el correspondiente Preselector de Temporizador debe inicializarse con un valor correspondiente al periodo de tiempo deseado.

Elemento / Operando

Ref.

Función

Timer Status Bit Tn Permite a un programa verificar si un Timer está activo ( funcionando ). Este bit es cambiado a activo cuando el Timer es activado ( SET ). Cuando se ha terminado el periodo de tiempo o si el Timer es detenido ( RESET ) el bit de estado pasa a inactivo

Timer Preselect TPn Un operando de 16 bits que contiene el valor que define el tiempo del Temporizador n

Timer Word TWn Un operando de 16 bits al cual se transfiere automáticamente TP cuando se activa el Temporizador ( SET ). El contenido es automáticamente decrementado por el sistema a intervalos regulares

Nota : Todos los modelos de FPC incorporan baterías que mantienen el contenido de los Preselectores de Temporizador durante los periodos de desconexión

Para la utilización de un Temporizador en un programa AWL, se requieren varios pasos básicos :

El estado del Temporizador ( activo / detenido ) puede verificarse

Nota : Dependiendo de qué modelo de control se está utilizando, puede o no ser necesario especificar una base de tiempo así como un valor de temporización. Consultar el correspondiente manual de hardware del modelo de control que se esté programando

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 51

Page 199: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Esta inicialización solamente es necesario realizarla de nuevo si el valor a temporizar debe cambiar. No es necesario recargar el Preselector de Temporizador cada vez que se active el Temporizador. Los Preselectores de Temporizador pueden cargarse con un valor o bien con el contenido de cualquier MBO ( p.ej. Registros, Input Word, Flag Word, etc. )

Ejemplo: Inicialización de un Preselector de Temporizador con una base de tiempo

Las bases de tiempo disponibles son :

TSC décimas de segundo SEC segundos MIN minutos

Ejemplo : Inicialización de un Preselector de Temporizador sin una base de tiempo

5.3.2 Activación de un temporizador

STEP 1 Primero hacemos esto IF NOP Incondicionalmente LOAD V 10 valor 10 TO TP 4 hacia el preselector WHIT SEC base de tiempo = segundos

El Timer 4 será ahora un temporizador de 10 segundos

HSC centésimas de segundo

STEP 1 Primero hacemos esto IF NOP Incondicionalmente LOAD V 100 valor 100....., al no especificar base de

tiempo, esta será de 1 / 100 de segundo TO TP 0 lo que fija el tiempo de T0 en 1 segundo

El ejemplo precedente ha inicializado el Timer 0 para una duración de 1 segundo ( 100 x 1 / 100 de segundo ). La gama válida es de 0-65535, lo que da periodos de tiempo desde 0,01 s hasta 655, 35 s ( aprox. 10 minutos )

La activación de un temporizador sólo requiere la ejecución de la instrucción SET, especificando qué temporizador debe activarse IF I 2.0 Cualquier condición de marcha THEN SET T 6 activar Timer 6

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 52

Page 200: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Siempre que se ejecute la orden SET Tn, sucede lo siguiente :

1.- El valor contenido en TPn ( Preselector de Temporizador ) es copiado al TWn ( Palabra de Temporizador n )

3.- El control decrementa automáticamente el valor almacenado en TWn a intervalos regulares

4.- Cuando el valor almacenado en TWn alcanza 0 ( cero ), el Tn ( estado del temporizador ) se pone en "0" ( inactivo / detenido )

5.3.3 Interrogación del estado de un temporizador

Para que los temporizadores sean útiles en control de procesos, es necesario saber cuándo ha vencido un tiempo programado. El lenguaje AWL proporciona los medios para interrogar si un temporizador está activo, de la misma forma que se interroga si una entrada está activa

Para detener un Temporizador, sólo se requiere ejecutar la orden RESET y especificar qué temporizador debe detenerse

2.- Tn ( El estado del Temporizador n ) se pone en "1" ( activo / funcionando )

Nota : Si se ejecuta la instrucción SET Tn, y el Temporizador especificado YA está activo, el temporizador se REINICIALIZARÁ y empezará de NUEVO a contar el periodo de tiempo especificado en TPn

IF T 5 Ver si Timer 5 está activo ( funciona ) IF N T 3 Ver si Timer 3 está inactivo ( parado )

5.3.4 Paro de un temporizador

IF I 2.0 Entrada para parar el timer THEN RESET T 5 Detener Timer 5 Cuando se ejecuta la instrucción RESET Tn el bit de estado del temporizador ( Tn ) se pone en "0" ( inactivo ). Si el temporizador ya se hallaba inactivo, no se produce ningún efecto

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 53

Page 201: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

La siguiente figura ilustra la relación entre el bit de estado del temporizador ( Tn ), la instrucción SET Tn y RESET Tn, y el periodo de temporización normal

La línea gruesa representa una secuencia normal de temporización en la cual el estado del temporizador se vuelve activo cuando se ejecuta una orden SET Tn y el bit de estado vuelve a inactivo cuando se ha cumplido el periodo de tiempo programado

tiempo programado

Timer inactivo = 0

Timer activo = 1

SET Tn RESET Tn

La línea fina indica que ejecutando una instrucción RESET Tn, inmediatamente se situará al temporizador en estado inactivo

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. Esta situación se resuelve fácilmente utilizando STEPs, Flags u otra forma de control. Los ejemplos siguientes muestran dos posibles formas en las que este aspecto es controlado

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 54

Page 202: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.4 Ejemplos 5.4.1 Retardo de la conexión Con el flanco positivo de la señal de entrada se activa el temporizador; la salida es activada con un retardo de 0,7 segundos. El flanco negativo de la señal de entrada cancela la salida inmediatamente. Si la señal de entrada es emitida durante un tiempo menor a 0, 7 segundos, la salida no llega a activarse.

t t

O 7.5

I 7.0

0

1

0

1

STEP 20 Retardo de arranque IF I 7.0 Al accionar entrada 7.0 THEN LOAD V 7 Cargar valor fijo

TO TP 0 WHIT TSC 0,1 seg.

SET T 0 Activar temporizador STEP 21

IF N I 7.0 Si entrada 7.0 no está activa THEN JMP TO 20 regresar al inicio IF N T 0 ¿ Tiempo transcurrido ? AND y entrada activa THEN SET Activar salida 7.5 STEP 22 IF Si entrada 7.0 no está activa THEN RESET Desactivar la salida JMP TO y volver al inicio

I 7.0 O 7.5 N I 7.0 O 7.5 20

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 55

Page 203: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

El Programa AWL está compuesto de dos pasos. En el paso 1 se carga el temporizador ( carga de la constante 2 en el preselector del temporizador TP0 ) y simultáneamente se inicia el transcurso del tiempo ( activación del temporizador 0 ). En el paso 2 se produce la consulta del tiempo. Si han transcurrido 2 segundos y sigue recibiéndose la señal 1, se activa la salida. La señal 0 en la entrada cancela la salida Si este programa AWL es redactado como programa de enlaces lógicos, deberá recurrirse a recordadores

STEP S1 IF I 1.0 THEN LOAD V 2 TO TP 0 WHIT SEC SET T 0 STEP S2

A continuación se indica otro modo de programar un retardo a la conexión. En este caso, mediante un pulsador, se enciende una luz dos segundos después. Según el planteamiento del problema, la lámpara solo se enciende mientras que se mantiene activado el pulsador. Ello significa que si, por ejemplo, se deja de presionar el pulsador transcurridos 1,5 segundos, la lámpara no se enciende

Cargar temporizador Activar temporizador

IF N T0 AND I 1.0 THEN SET O 1.0 Consultar temporizador IF N I 1.0 THEN RESET O 1.0 JMP TO

S1

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 56

Page 204: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.4.2 Retardo de la desconexión Con el flanco positivo de la señal de entrada se activa la salida, y ésta es desactivada con el flanco negativo, aunque sólo después de transcurridos 0,5 segundos. Ello significa que el flanco negativo activa el temporizador, mientras que éste cancela la salida una vez transcurrido el tiempo.

Retardo de desconexión I 7.0 Al accionar entrada 7.0 SET O 7.5 Activar salida 7.5

t t

I

0

1

0

1

STEP 10 IF THEN STEP 11 IF N I 7.0 Si entrada 7.0 no está activa THEN LOAD V 5 Cargar valor fijo TO TP 0 En preselector de temporizador TP0 WHIT TSC 0, 1 segundo SET T 0 Activar temporizador 0 STEP 12 IF N T 0 Tiempo transcurrido THEN RESET O 7.5 Desactivar salida 7.5

JMP TO 10 volver al paso 10

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 57

Page 205: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.4.3 Impulso de temporización

El flanco positivo de la señal de entrada activa la salida. Al mismo tiempo empieza a funcionar el temporizador. Una vez transcurrido el tiempo ( 2 minutos ), se desactiva la salida Sin embargo, si en la entrada se vuelve a recibir la señal "0" antes de que haya transcurrido el tiempo, también se cancela la salida ( condición OR en el último paso

STEP 30 IF I 7.0 THEN LOAD V 2 TO TP 0

t t

O 7.5

I 7.0

0

1

0

1

Impulso temporal de arranque Al accionar entrada 7.0 Cargar valor fijo

WHIT MIN 1 minuto SET T 0 Activar temporizador SET O 7.5 Activar salida 7.5 STEP 31 IF N T 0 ¿ Tiempo transcurrido ?

OR N I 7.0 THEN RESET O 7.5 JMP TO 30

o entrada no activa desactivar salida y volver al inicio

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 58

Page 206: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.4.4 Impulso de desconexión

La salida es activada con el flanco negativo de la señal de entrada. Al mismo tiempo se pone en funcionamiento el temporizador. Una vez transcurrido el tiempo ( 14 seg.), se desactiva la salida En consecuencia, el flanco positivo de la señal de entrada no provoca acción alguna. Por esta razón, el programa incluye a continuación una instrucción de salto

STEP 24 IF I 7.0 THEN JMP TO 25

t t

O 7.5

I 7.0

0

1

0

1

Impulso temporal de desconexión Al accionar entrada 7.0 continua en el siguiente paso

STEP 25 IF N I 7.0 THEN LOAD V 14 TO TP 0 WHIT SEC SET T 0 SET O 7.5 STEP 26 IF N T 0 THEN RESET O 7.5 JMP TO 24

Si entrada 7.0 no está activa Cargar valor fijo En preselector de temporizador TP0 1 segundo Activar temporizador 0 Activar salida 7.5 Tiempo transcurrido Desactivar salida 7.5 volver al paso 24

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 59

Page 207: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.4.5 Impulso secuencial Activación de un proceso intermitente mediante el flanco positivo de la señal de entrada. La salida es activada, y mantiene ese estado durante 0,2 seg. ( tiempo t activado ). A continuación es cancelada la salida, y ese estado se mantiene durante 0,1 seg. ( tiempo t desactivado ). En estos programas el temporizador es cargado dos veces ( con constantes diferentes ). Esta operación se repite constantemente en el programa a raíz de la instrucción de salto. La operación intermitente es interrumpida por el flanco negativo de la señal de entrada.

STEP 40 Impulso de paso IF I 7.0 Al accionar entrada 7.0 THEN V 20 Cargar valor fijo TP 0 HSC 0,01 seg. T 0 Activar temporizador O 7.5 Activar salida 7.5 STEP 41 IF N T 0 ¿ Tiempo transcurrido ? N I 7.0 o entrada no activa THEN O 7.5 desactivar salida

O 7.5

I 7.0

0

1

0

1

t on t on

t off t off

LOAD TO WHIT SET SET OR RESET LOAD V 10 Cargar valor fijo

TO TP 0 WHIT HSC 0,01 seg. SET T 0 Activar temporizador STEP 42 IF N T 0 ¿ Tiempo transcurrido ? I 7.0 y entrada activa

JMP TO 40 ir al paso 40 AND

THEN

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 60

Page 208: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.4.6 Luz intermitente Procedimiento

Tiempos de conexión y desconexión de la luz intermitente : * 0, 5 seg. Tiempo de DESCONEXIÓN

* 0, 5 seg. Tiempo de CONEXIÓN

Solamente deberá conectarse la lámpara. En este programa no se toma en cuenta la activación y la desactivación del proceso intermitente con, por ejemplo, un pulsador. La lámpara se enciende intermitentemente después de conectar el mando

Denominación Abreviatura Dirección Lámpara H 1 O 1.0 Temporizador T 0 Programa

La lista de instrucciones está compuesta de 3 pasos : Paso 1 : Cargar temporizador Paso 2 : Consultar tiempo / iniciar tiempo y encender lámpara

Esquema eléctrico

0 V + 24 V

+ 24 V 0 V O 1.0

H1

Listado de direcciones Función

Lámpara encendida con señal 1

Paso 3 : Consultar tiempo / iniciar tiempo y apagar lámpara

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 61

Page 209: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

STEP CARGAR Cargar Temporizador THEN V 5 5 x 0, 1 seg. , cargar

TO TP 0 en preselección de temporizador 0 WHIT TSC STEP Activar lámpara

LOAD

Lampact IF N T 0 tiempo transcurrido o no activado THEN SET O 1.0 Activar lámpara SET T 0 Activar tiempo STEP Lampdesact Desactivar lámpara IF N T 0 Tiempo transcurrido THEN RESET O 1.0 desactivar lámpara SET T 0 activar tiempo JMP TO Lampact Salto de retorno Dado que los tiempos para la CONEXIÓN y la DESCONEXIÓN son iguales, sólo es necesario tener una constante y efectuar un proceso de carga para el temporizador.

En los pasos 2 y 3 vuelve a activarse respectivamente el tiempo. La orden de salto procura que el proceso de conexión y desconexión se repita constantemente, es decir, que la lámpara tenga luz intermitente. La lista de instrucciones también puede escribirse como programa de enlaces lógicos. En ese caso deberán utilizarse los recordadores de flancos.

En el paso 1 se efectúa la carga del temporizador, el cual entonces puede ser consultado para encender y apagar la lámpara. El paso 1 no contiene una parte condicional IF porque la lámpara siempre tiene luz intermitente ( si está activado el mando )

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 62

Page 210: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.4.7 Eliminación de rearranques no deseados utilizando la estructura step de awl El siguiente ejemplo muestra una parte del programa en la que se desea poner en marcha un motor durante 3 segundos cada vez que se accione un pulsador, si el motor no está funcionando, y por lo menos después de transcurridos 9 segundos desde que el motor estuvo funcionando por última vez. En este programa, la situación de que los temporizadores sean continuamente rearrancados, es eliminada combinando la instrucción STEP de AWL con la instrucción N Timer STEP 1 IF NOP Inicializar al arranque THEN LOAD V 900 900 x 0,01 seg. TO TP 0 T0 es el tempor. de la segunda pausa LOAD V 300 300 x 0,01 seg. TO TP 2 T2 es el tiempo motor SET T 0 activar tiempo de pausa STEP 10 IF N T 0 Tiempo 0 vencido AND N T 2 Tiempo 2 no corre AND N O 1.0 Motor parado AND I 1.2 Pulsador accionado THEN SET T 2 Activar tiempo 2 SET O 1.0 Activar motor STEP 20 IF N T 2 Tiempo motor vencido THEN RESET O 1.0 Parar el motor SET T 0 Activar tiempo pausa JMP TO 10 Volver a empezar

5.4.8 Eliminación de continuos rearranques de temporizadores en procesos

paralelos Es importante que el programador de AWL comprenda que el bit de estado de un temporizador ( p.ej. T2 ) puede interrogarse utilizando las instrucciones : IF T 2 Esto es cierto si el timer 2 está activo y temporizando IF N T 2 Esto es cierto si el timer 2 no está

actualmente activo Es vital comprender que ninguna de estas instrucciones permite saber si el temporizador 2 ha sido activado y ha terminado. Por ello, cuando se escriben programas en AWL de forma que puedan haber frases que procesen varios tiempos, deben tomarse precauciones para evitar resultados inesperados.

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 63

Page 211: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

El siguiente ejemplo presenta una parte de un programa en la que se acciona un pulsador para hacer avanzar un cilindro por un periodo de tiempo preseleccionado. La lógica utilizada en el programa evitará que se produzcan los problemas que de lo contrario sucederían :

* Manteniendo el pulsador o pulsando y soltando varias veces, dentro del tiempo definido, no se alterará el tiempo programado

STEP 1 Primero sólo inicializamos THEN LOAD V 0 los temporizadores TO O W 0 Desconectar las salidas RESET F 3.0 Borrar Flag 3.0 LOAD V 100 TO TP 0 Inicializar T0 a 1 segundo STEP 2 Sección principal IF I 1.0 Pulsador 1 accionado AND N T 0 y timer 0 parado AND N F 3.0 Flag auxiliar de detección de flanco THEN SET T 0 activar timer 0 SET O 1.0 avanzar cilindro SET F 3.0 memorizar flanco ascendente del pulsador IF N T 0 Timer 0 está inactivo AND O 1.0 cilindro extendido THEN RESET O 1.0 retroceder cilindro IF N T 0 Timer 0 inactivo AND F 3.0 y ha habido antes un flanco ascendente AND N I 1.0 pulsador liberado.... flanco descendente THEN RESET F 3.0 IF NOP para mantener la exploración THEN JMP TO 2 del paso actual 5.5 Programas de enlaces lógicos para la ejecución de funciones de

temporizadores Cuando se efectúa la programación de funciones de temporizadores, 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 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.

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 64

Page 212: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.5.1 Ejemplo : retardo de conexión En el cuadro se hace una comparación entre un programa de pasos y uno de enlaces. El ejemplo se refiere a un retardo de conexión simple : Activación de un pulsador. 2 segundos más tarde se enciende una lámpara. En el programa de enlaces lógicos se incluye un recordador de flancos ( para flancos positivos ). El recordador F 0.0 " bloquea " el pulsador de activación una vez que se cargó el tiempo ( "Activa F 0.0 ")

STEP S1 IF I 1.0 THEN LOAD V 2 TO TP 0 Cargar Temporizador WHIT SEC SET T 0 STEP S2 IF N T 0 AND I 1.0 THEN SET O 1.0 Consultar temporizador IF N I 1.0 THEN RESET O 1.0 JMP TO S1 Programa secuencial : retardo de conexión IF I 1.0 AND N F 0.0 THEN LOAD V 2 TO TP 0 WHIT SEC SET T 0 SET F 0.0 IF N T 0 AND I 1.0 AND F 0.0 THEN SET O 1.0 IF N I 1.0 THEN RESET O 1.0 RESET F 0.0 PSE OTHRW PSE Programa de enlaces lógicos : retardo de conexión

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 65

Page 213: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

5.5.2 Ejemplo relacionado a la función de temporizador Una lámpara deberá encenderse intermitentemente con : * 0, 5 seg. de tiempo de DESACTIVACIÓN * 0, 5 seg. de tiempo de ACTIVACIÓN El programa secuencial consta de 3 pasos: cargar el temporizador, encender la lámpara, apagar la lámpara. La intermitencia está a cargo de una instrucción de salto. STEP Start Cargar Temporizador THEN LOAD V 5 5 x 0, 1 seg , cargar TO TP 0 en preselección de temporizador 0 WHIT TSC STEP act.lamp Activar lámpara IF N T 0 tiempo transcurrido o no activado THEN SET O 1.0 Activar lámpara SET T 0 Activar tiempo STEP Desact.lamp Desactivar lámpara IF N T 0 Tiempo transcurrido THEN RESET O 1.0 desactivar lámpara SET T 0 activar tiempo JMP TO act.lamp Salto de retorno Programa secuencial : intermitente En el programa de enlaces lógicos se necesita el recordador F 0.0 para saber si ya se cargó el tiempo o no. De esta manera queda excluida la posibilidad de que se encienda o apague la lámpara mientras aún no se haya cargado el tiempo IF N F 0.0 Recordador de flanco para " c.tiempo " THEN SET F 0.0 Activar recordador LOAD V 5 5 x 0,1 seg., cargar en TO TP 0 preselección de temporizador 0 WHIT TSC IF F 0.0 Tiempo está cargado AND N O 1.0 Salida desactivada AND N T 0 Tiempo transcurrido o no activado THEN SET O 1.0 Activar lámpara SET T 0 Activar tiempo IF F 0.0 Tiempo está cargado AND O 1.0 Salida activada AND N T 0 Tiempo transcurrido o no activado THEN RESET O 1.0 Desactivar lámpara SET T 0 Activar tiempo PSE OTHRW PSE Programa de enlaces lógicos : intermitente

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 66

Page 214: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

6 CONTADORES 6.1 Generalidades Existen contadores de hardware y contadores de software. Los contadores de software son parte integrante de la unidad central y tienen estados, valores nominales y valores efectivos. Los contadores de software son cargados a través del programa. 6.1.1 Contadores de hardware Son submódulos que son conectados al PLC ( al igual que los actuadores y sensores ). Ejemplo : un contador electromagnético con preselección. El valor seleccionado es introducido manualmente ( cargar el contador ). El número preseleccionado puede verse en el visualizador. Asimismo, también se indica el valor efectivo en cada momento. Una vez que el valor efectivo es igual al valor previamente seleccionado, se activa un conjunto de contactos, los cuales se encargan de abrir o cerrar circuitos de corriente. La reposición del contador puede efectuarse eléctrica o manualmente ( con un pulsador respectivo ). Sin embargo se mantiene el valor que se haya seleccionado antes. No obstante, incluso durante el funcionamiento del contador es factible corregir el número preseleccionado. 6.1.2 Contadores rápidos En muchas operaciones de control es necesario recurrir a contadores rápidos. " Rápido " suele significar en este caso una frecuencia de conteo superior a 50 Hz, lo que equivale al registro de más de 50 operaciones por segundo. Tal función por lo general no se puede solucionar con contadores " normales " de un PLC. La frecuencia de la operación de conteo está limitada por el retardo de las señales en las entradas. Todas las señales de entrada ( incluyendo también la señal de conteo ) es retardada durante un tiempo determinado ( de 1 hasta 20 ms. ) antes de que pueda ser procesada por el PLC. De esta manera se evita que interfieran otras señales. Otra limitación estriba en el tiempo de los ciclos de control ( es decir, el tiempo que necesita el PLC para ejecutar el programa ) En el mercado suelen ofrecerse submódulos adicionales de contadores rápidos para los PLC. Las entradas de estos submódulos no tienen retardo de señales o, en todo caso, muy pequeño ( puesto que las interferencias se evitan mediante cables aislados ). Estos submódulos de contadores tienen que incorporarse y programarse adicionalmente

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 67

Page 215: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

El posicionamiento de piezas en una máquina es un ejemplo de un control con contadores rápidos. La medición de la operación de posicionamiento puede realizarse de modo directo o indirecto. En el primer caso, la escala de medición se encuentra montada en una cinta emisora de impulsos, mientras que en el segundo caso, la escala está en un disco de pulsos. La posición de las marcas de la escala es registrada ópticamente y transmitida mediante una señal eléctrica a la unidad de control. Para que el posicionamiento sea extremadamente preciso y rápido, tendrá que recurrirse a contadores rápidos. En este caso, el sistema de control cuenta la cantidad de marcas de la escala en cada movimiento. La programación de una función de interrupción es otra posibilidad que se tiene para solucionar este tipo de aplicaciones con un PLC. 6.1.3 Indicación del estado efectivo del contador Para representar un número de un dígito se necesitan 4 números binarios, es decir, 4 bits, puesto que debe ser posible indicar 10 cifras diferentes ( de 0 a 9 ). Con este fin se recurre al código BCD

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 68

Page 216: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Los 4 bits permiten la codificación de un total de 16 símbolos. En la codificación BCD se utilizan los primeros 10 símbolos para las cifras 0 hasta 9; los siguientes 5 símbolos ya no se necesitan entonces Código BCD

0000 - 0

0001 - 1 0010 - 2 0011 - 3 0100 - 4 0101 - 5 0110 - 6 0111 - 7 1000 - 8 1001 - 9 1010 1011 1100 1101 1110 1111

Estos números binarios no se necesitan

Para representar las cifras se suelen utilizar visualizadores de 7 segmentos. La visualización del estado del contador se realiza mediante un programa adicional, ya que es necesario ocupar las salidas del PLC. Desde dichas salidas se emiten las señales correspondientes al visualizador

0 1 1 0 0 0 1 0 Cifras duales

Cifras decimales

( visualizador de 7 segmentos )

Visualización del estado del contador

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 69

Page 217: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Ejemplo : La figura muestra un ejemplo, en el que la palabra del contador ( valor efectivo del contador ) está compuesto de 2 bytes (1). En consecuencia, quedan 16 bits para la representación de un número binario. Con 4 cifras del número binario puede representarse una cifra del sistema decimal si se emplea la codificación BCD. Ello significa que con 16 bits pueden representarse los números comprendidos entre 0000 y 9999. Si bien es posible crear números mayores binariamente, éstos no pueden ser representados en el sistema decimal. ( El valor efectivo puede abarcar diferentes cantidades de bit, dependiendo del PLC ) Primero, la palabra del contador es cargada en la memoria operativa de la unidad central (2). Allí se procede a la conversión dual-decimal (3). Después de este proceso, los 16 bits están compuestos de 4 unidades de 4 bits cada una ( A cada unidad le corresponde una cifra decimal ). Con las 8 últimas cifras de la palabra del contador es activada una palabra de salidas ( 8 salidas ). Con esta palabra de salida AW1 se indican los dos valores decimales más bajos (4).

Conversión dual - decimal ( 4 cifras )

Valor efectivo del contador ( 1 )

AW 1

Visualizador ( 4 )

AW 2

Visualizador ( 5 )

0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

1 1 1 1 0 0 0 0

0 0 0 1 1 1 0 1

0 0 0 1 1 1 0 1

Visualización del valor efectivo ( ejemplo

Memoria ( 2 )

Memoria ( 3 )

Memoria

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 70

Page 218: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

A continuación, las 8 cifras de la palabra del contador son desplazadas hacia la derecha y transformadas en la palabra de salida AW2. Con esta palabra de salida se indican los dos valores decimales más altos ( 5 ). 6.1.4 Método multiplexor Con el fin de " ahorrar " salidas al efectuar la indicación del estado del contador, puede aplicarse otro método : se trata, concretamente, del método multiplexor. Ejemplo : para visualizar un número de cuatro cifras se necesitan sólo 8 salidas ( es decir, solamente una palabra de salida ). El método normal consumiría 16 salidas. De las 8 salidas, 4 son utilizadas para la representación de las cifras y 4 para la activación del dígito correspondiente. Ello significa lo siguiente : con las 4 últimas salidas se forma primero la última cifra ( con el código BCD ). Con la cuarta salida se activa el último dígito donde se visualiza dicha cifra. A continuación, nuevamente se recurre a las 4 últimas salidas para formar la penúltima cifra. Con la tercera salida se activa el tercer dígito del visualizador; etc.

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 71

Palabra de salida / Visualización

0 1 2 3 4 5 6 7

0 1 2 3 4 5 6 7

Page 219: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Método multiplexor ( ejemplo )

Palabra de salida 0 0 0 0 0 1 1 1

Visualizador

Valor de cifras con el código

dígito 1º

dígito 2º

dígito 3º

dígito

De esta manera, el valor correspondiente a la última cifra ya está cancelado en la palabra de salida cuando aparece la penúltima cifra. Este resultado se obtiene mediante el efecto de iluminación retenida o con una conexión de sample-and-hold. Aplicando este método, las cifras aparecen en el visualizador una después de la otra. Sin embargo, ello sucede en fracciones de segundo. Para la vista humana, es como si las cifras apareciesen simultáneamente. Ello significa que la transmisión multiplex de datos es la transformación de una transmisión paralela en una transmisión en serie. La ventaja del método multiplexor consiste en que se necesitan menos salidas y líneas. Su desventaja es que se necesita una conexión especial. 6.1.5 Programa para visualizar el estado del contador En este ejemplo se muestra la palabra del contador cuando éste ha finalizado el conteo, es decir, cuando el contador ha contado hasta llegar a un valor determinado. El contenido de la palabra del contador igual a "0" es memorizado por la memoria operativa del PLC. A continuación se produce la transformación de código decimal. Acto seguido, el valor efectivo es transmitido como palabra de salida 5 ( hacia el visualizador )

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 72

Page 220: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

IF N C 0 THEN SET O 1.3 LOAD CW 0 BID TO OW 5 Este programa permite la visualización de valores numéricos entre 00 y 99. ( Para 1 dígito se necesitan 4 salidas ) La programación de este tipo de visualización de números varía según el PLC. El programa respectivo pude ser parte del programa secuencial 6.2 Funciones de los contadores Los contadores son utilizados para contar unidades o procesos. En la práctica es frecuente que los controles trabajen con contadores. si por ejemplo, se desea que un equipo clasificador coloque siempre 10 piezas iguales sobre una cinta transportadora, se necesita un contador En la mayoría de los PLC, los contadores son unidades electrónicas contenidas en la unidad central. Las tareas de conteo sencillo, así como también la programación de una temporización, pueden solucionarse actualmente con cualquier PLC Los contadores se rigen por las siguientes magnitudes : * Valor efectivo * Valor nominal * Estado El valor efectivo indica el estado momentáneo del contador. El valor nominal corresponde al número hasta el cual deberá contar el contador. El valor efectivo y el valor nominal pueden ser cargados en la memoria y se puede recurrir a ellos El estado del contador se constata sin importar si el contador ha alcanzado un número previamente definido o no. Si el contador está en funcionamiento su estado es "1" ( lo que significa que está puesta la señal 1 ). Si el contador ya no está activado, entonces su estado es "0" ( es decir que está puesta la señal 0 ). No obstante, también puede convenirse que el estado 0 y 1 estén invertidos. El estado también puede contener informaciones adicionales; por ejemplo puede indicar si ha sido rebasado el valor nominal o si se ha rebasado el valor máximo permisible. El siguiente ejemplo contiene los siguientes parámetros : Estado 1: Contador en funcionamiento Estado 0 : Contador detenido

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 73

Page 221: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

El valor inicial es un número entero y positivo. Este número equivale al valor efectivo del contador. Dicho valor cambia en función de cada una de las operaciones que se produzcan y que deberán ser contadas. Concretamente, se deducirá una unidad en cada operación ( contador de cuenta atrás ). El contador se detiene cuando alcanza el valor nominal 0. En este caso no es necesario definir un valor nominal. Funcionamiento de un contador ( 1º ejemplo )

impulso de conteo

Cargar

Arranque

Parada

+1

- 1

Contador

Valor efectivo

Estado 0 si valor nominal = 0

Cargar constante 3 comando : DEC ( cuenta del contador

Valor efectivo 3

1ª Operación

Valor efectivo

2ª Operación

Valor efectivo

Valor efectivo

3ª Operación

2

1

0

Funciona- miento del contador

Contador detenido

Análogamente puede también obtenerse un contador incremental. En este caso el valor inicial es un número entero y positivo. En cada operación se agrega una unidad al valor efectivo. Si el valor nominal es n, entonces el contador cuenta desde el valor efectivo 0 hasta el valor nominal n. Ello significa que el contador se detiene cuando el valor efectivo = valor nominal Funcionamiento de un contador ( 2º ejemplo )

Cargar

Arranque

Parada

impulso de conteo

+1

- 1

Contador

Valor efectivo

Estado 0 si valor efec = nom

Cargar constante

comando : INC ( cuenta Activación del contador

Valor efectivo 0

1ª Operación

Valor efectivo

2ª Operación

Valor efectivo

Valor efectivo

3ª Operación

1

2

3

Funciona - miento del contador

Contador detenido

hacia adelante )

en valor nominal 3

efectivo = nominal

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 74

Page 222: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Después de cada operación de conteo ( es decir cada vez que el contador agrega una unidad al valor efectivo ) se efectúa una comparación entre el valor nominal y el efectivo. En la figura se muestra un ejemplo sencillo de este funcionamiento. También en este caso se aplica lo siguiente : Estado 1: Contador en funcionamiento Estado 0 : Contador detenido 6.2.1 Aplicación ¿ Cómo se aplican las funciones del contador en un PLC ?. Veamos un ejemplo. Para definir los elementos del contador se utilizan las siguientes instrucciones ( FPC 404 ) Estado C0...C15 C = Counter ( Contador ) Valor efectivo CW0...CW15 CW = Counter Word ( Palabra del contador ) Valor nominal CP0..CP15 CP = Counter Preselect (Preselector del contador) El contador, la palabra y el preselector del contador que van juntos tienen la misma dirección. El contador 6, por ejemplo, tiene los elementos C6, CW6 y CP6 La palabra del contador es el número que corresponde al valor vigente en ese momento ( valor efectivo ). En cada operación cambia el valor efectivo agregando o restando una unidad, según si el conteo es hacia atrás o hacia adelante. Con el preselector del contador se define un valor nominal para la palabra del contador De este modo se dispone básicamente de dos posibilidades para, por ejemplo, efectuar el conteo de 24 operaciones

El contador cuenta de 24 hasta 0 : Como constante se carga 24 en la palabra del contador. Con DEC ( "Decrement =

conteo hacia atrás " ) se activa la función. Cuando la palabra del contador llega a 0, se detiene el contador.

El contador cuenta de 0 hasta 24 :

Se tiene que cargar la constante 24 en el preselector del contador. La palabra del contador está puesta en 0. Con INC ( " Increment = conteo hacia adelante " ) se produce el conteo hasta 24. ( La constante deberá expresarse mediante un número positivo del sistema decimal )

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 75

Page 223: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Programación en AWL IF I 1.2 THEN LOAD V 7 TO CW 1 Cargar constante en la palabra del contador 1

IF I 1.6 THEN LOAD V 24 TO CP 8 Ajustar el preselector del contador 8

IF I 1.1 THEN INC CW 0 Contar hacia adelante en la palabra del contador 0 IF I 1.1 THEN DEC CW 5 Contar hacia atrás en la palabra del contador 5

IF C 0 Contador en función THEN SET O 1.2 IF N C 0 Contador detenido THEN RESET O 1.2 Consultar contador 0 ( estado )

IF ( CW 4 > V 150 ) THEN SET O 1.0 Consultar contador 4 ( comparación )

IF ( CW 1 > CP 1 ) THEN SET O 1.1 Consultar contador 1 ( comparación ) 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

Page 224: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

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

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 :

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 CARGAR IF

LOAD TO CW 1

CONTAR I 1.2

THEN SET O 1.0 DEC CW 1 STEP CON SULTAR IF C 1 AND N I 1.2 THEN RESET O 1.0 JMP TO CONTAR IF N C 1 AND N I 1.2 THEN RESET O 1.0 JMP TO CARGAR

I 1.3 THEN V 5

STEP IF

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

Page 225: apuntes de automatismos

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.

Función

Counter Cn

Counter Preselect CPn Preselector del Contador. Un operando de 16 bits que contiene el valor a contar

CWn 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 )

Bit de estado 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

Counter Word

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

Page 226: apuntes de automatismos

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 I 1.0 En las condiciones deseadas de carga THEN LOAD V 100 cargamos el valor absoluto 100 como

número de eventos a contar TO CP 4 al preselector del contador CP 4

Ejemplo : Inicialización de un Preselector de Contador con un MBO IF I 1.0 En las condiciones deseadas de carga THEN LOAD IW 1 cargamos el valor de la Palabra de

Entradas 1 TO CP 5 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 I 1.2 Condiciones deseadas

C 2 activar Contador 2 THEN SET Siempre que se ejecute la orden SET Cn, sucede lo siguiente :

1.- La correspondiente Palabra de Contador ( CWn ) es cargada con el valor "0" 2.- 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

Page 227: apuntes de automatismos

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

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

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

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

Page 228: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

6.4 Ejemplos

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.

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

STEP 1 ARRANQUE THEN RESET C 0 Contador de botellas RESET C 1 Contador de prensados RESET O 1.0 Desactivar transporte RESET O 1.1 Desactivar prensa corchos V 25 Conteos que debe hacer LOAD TO el contador 0 CP 0 LOAD V 2 Número de prensadas que debe hacer TO el contador 2

LOAD Temporizador 0 TP 0

STEP 5 ESPERA PULSADOR MARCHA IF I 1.0 Pulsador de marcha THEN SET C 0 Activar contador SET O 1.0 Arranca transporte

STEP 10 CONTEO DE BOTELLAS

I 1.1

STEP 15

THEN O 1.0 RESET para transporte SET C 2 activa contador de prensa JMP TO salir del bucle de conteo

NOP sino seguir en paso 20 Esperar que la última botella salga del

sensor N I 1.1

THEN JMP TO y seguir contando 10

CP 2 V 100 TO al valor de 100 x 0,1 seg.

IF Sensor de botella activo THEN INC CW 0 incrementa contador

¿ HAY 25 BOTELLAS ? IF N C 0 Hemos terminado, luego...

50 OTHRW STEP 20 IF

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 81

Page 229: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

STEP 50 CONTADOR 25 BOTELLAS THEN SET O 1.0 Prensar tapones SET T 2 Tiempo de prensado INC CW 2 contar este prensado

ESPERAR 1 SEGUNDO

IF N C 2 2 veces prensado THEN JMP TO 5

50

STEP 60 IF N T 2 THEN O 1.1 STEP 70 ¿ TERMINADO ?

Tiempo vencido RESET desactivar prensado

volver al paso 5 OTHRW JMP TO sino, prensar de nuevo

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

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

Inicializar solo la 1ª vez IF I 1.0 Pulsador accionado

TO OW 1 RESET F 3.0

LOAD V 100

SET C 0 Activar contador 0 STEP 2 Sección principal de exploración

Cilindro detrás AND C 0 Contador activo AND N F 3.0 Detección del flanco AND

F 3.0 I 1.2 F 3.0 CW 0 F 3.0 O 1.0 N C 0 1

THEN LOAD V 0 Desactivar todas las salidas

Desactivar Flag auxiliar

TO CP 0 Inicializar contador 0

IF I 1.1

N O 1.0 válvula cilindro inactiva SET Avanzar cilindro

SET listo para otro avance IF AND nuevo flanco THEN INC RESET actualizar control flanco RESET retroceder cilindro IF realizados 100 ciclos THEN JMP TO empezar todo de nuevo

THEN O 1.0

Cilindro delante

contar el ciclo

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 82

Page 230: apuntes de automatismos

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

* El MBO puede ser INCrementado o DECrementado

ESPERAR ARRANQUE

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 comparado con un valor o con otro MBO Ejemplo : Utilización de un Registro como contador

STEP 10

I 1.0 THEN LOAD V 100 TO R 50

En el siguiente ejemplo se inicia un proceso y funciona hasta que se han producido 100 piezas buenas

IF Pulsador de marcha Piezas buenas a producir El R50 hace las funciones de contador

SET O 1.0 Arranca la máquina

30

= V 0 ) Todas las piezas hechas THEN RESET O 1.1 Parar la máquina

JMP TO 10 regresar al principio NOP o si no ha terminado seguir

THEN

CONTROL DE CALIDAD

IF ( I 1.1 Listo para comprobar AND I 2.3 ) calidad correcta THEN DEC R 50 1 pieza buena de menos seguir en el paso 30 IF ( I 1.1 Listo para comprobar AND N I 2.3 ) Calidad NO correcta ( sensor inactivo ) THEN NOP no contar piezas malas STEP 30 VER SI YA TENEMOS 100 PIEZAS IF ( R 50

STEP 20

JMP TO

OTHRW STEP 40 ESPERAR SALIDA ULTIMA PIEZA IF N I 1.1 Sensor de zona de control de calidad

liberado JMP TO 20 seguir funcionando y verificando

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 83

Page 231: apuntes de automatismos

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.

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

Cargar contador IF I 1.2 S3 : Pulsador Start THEN LOAD Cargar valor efectivo del TO contador con 10 STEP cil.desact. IF S1 : F.d.c. atrás THEN SET Y1 : avanzar cilindro DEC Contador -1 STEP cil.act.

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.

STEP Start

V 10 CW 0 I 1.0 O 1.0 CW 0

Retroceder cilindro IF I 1.1 S2 : F.d.c. avanzado THEN RESET O 1.0 Y1 : retroceder cilindro

salto IF C 0 Valor efectivo mayor que 0 THEN JMP TO

Valor efectivo es 0 continuar con Start

Avanzar cilindro / reducir C0 en 1

STEP Interrogación posición del contador

cil.desact. continuar con cadencia siguiente IF N C 0

JMP TO Start Programa secuencial : contador THEN

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 84

Page 232: apuntes de automatismos

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.1 Recordador " impulso de conteo Cada uno de los recordadores tiene que ser consultado, activado y cancelado IF I 1.2 S3 : Pulsador Start AND N F 0.0 Recordador "activar contador" THEN Activar recordador LOAD cargar valor nominal con 10 V 10

CW 0

IF I 1.0 S1 : cilindro retrocedido F 0.0 Recordador activado AND N F 0.1 Recordador " impulso de conteo " THEN

F 0.0 Recordador " activar contador "

SET

AND

SET F 0.1 Activar recordador O 1.0 Y1 : avanzar cilindro CW 0 Contador -1

AND RESET

RESET

F 0.0

TO

SET DEC IF I 1.1 S2 : cilindro avanzado F 0.0 Contador activado THEN O 1.0 Y1 : retroceder cilindro RESET F 0.1 Desactivar recordador IF N C 0 Valor efectivo es igual a "0"

F 0.0

OTHRW PSE 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

THEN Desactivar recordador PSE

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 85

Page 233: apuntes de automatismos

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

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.

7.1 Ejemplos Utilización de Registros en la parte condicional de una frase

( R 51 Si el contenido del Registro 51 = V 111 ) es igual a 111 AND T 7 y el timer 7 funciona

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

IF

AND ( R 3 y el Registro 3 < R 8 )

es inferior al Registro 8 THEN .... Haz lo programado aquí

Utilización de Registros en la parte ejecutiva de una frase

IF... Condiciones programadas THEN Carga el contenido del R12 en el MBA + R50 suma el contenido del Registro 50 TO R 45 y guarda el resultado en el Registro 45

LOAD R 12

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 86

Page 234: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

8 FLAGs Y FLAG WORD

8.1 Similitudes con otros operandos multibit Los Flag Words ( o Palabras de Marcas ) son, en muchas cosas, idénticos a los Registros. Cada Flag Word contiene 16 bits de información. Cuando son referenciados como unidades de 16 bits ( MBO / Multibit Operands ), se utiliza el término Flag Word. Los Flag Word son capaces de almacenar datos numéricos en la gama :

* 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 Flag Word que no han sido nunca inicializados contendrán un valor aleatorio. Los Flag Word difieren de otros operandos multibit en varios puntos importantes

8.2 Diferencias otros operandos multibit

1.- La mayor diferencia entre los Flags Words y los demás operandos multibit tales como Registros, Palabras de Contador, etc. es que cada uno de los 16 bits de que consta un Flag Word puede direccionarse como bit independiente. Por ejemplo el FPC 202 C contiene 16 Flag Words, direccionados desde FW0 hasta FW15

También es posible direccionar bits ( Flags o Marcas ) individuales para cada Flag Word, utilizando la sintaxis :

F ( número de Flag Word ). número del bit donde el número de bit está entre 0 y 15

Por ejemplo, F 7.14 se refiere al bit 14 del FW7. Este sistema de direccionamiento es similar al utilizado con las E / S digitales.

Mientras que los Flag Words pueden utilizarse con cualquier instrucción AWL

adecuada para operandos multibit, los Flags individuales sólo son accesibles utilizando instrucciones adecuadas para los operandos monobit

Los Flags o Marcas, como elementos monobit, son frecuentemente utilizados para memorizar eventos. En este aspecto, son similares a los "relés internos" frecuentemente citados en el lenguaje de Diagrama de Contactos

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 87

Page 235: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

2.- Los modelos de FPC que permiten varios módulos de CPU ( Multiproceso ),

permiten que cualquier programa en cualquier CPU pueda acceder a los Flags de cualquier otra CPU. Esto es, cada CPU es capaz de leer desde o escribir hacia los Flags de otra CPU

Por esta razón, los Flags proporcionan el medio adecuado para intercomunicar

datos entre CPUs. En tales sistemas de múltiples CPUs, cada Flag es referenciado como :

De la misma forma también es posible direccionar Flags en forma monobit en otras CPUs, extendiendo la sintaxis de direccionamiento :

Por ejemplo, F0,11,9 se refiere al Flag ( o bit, o marca ) 9 en el Flag Word 11, de la CPU 0

FW. número de la CPU. número de Flag Word Por ejemplo, FW 2.14 se refiere a la Flag Word 14 en la CPU 2

F. núm. de CPU. núm.de Flag Word. núm. del bit

8.3 Ejemplos Los Flags individuales ( así como los Flag Words ) pueden programarse indistintamente en la parte condicional o en la ejecutiva de una frase. En la parte condicional pueden ser interrogados por su estado ( 0 = inactivo, 1 = activo ); mientras que los Flag Words pueden compararse con valores u otros MBOs

8.3.1 Ejemplos en la parte Condicional

Si el bit 1 de Flag Word 2 está activo AND N F 4.0 y el bit o de Flag Word 4 no está activo

Al igual que con los otros operandos monobit o multibit, los Flags pueden combinarse con otros operandos IF

IF F 1.1 Si el bit 1 de Flag Word 1 está activo IF F 2.1

( I 3.0 AND F 0.0 ) y el Flag 0.0 está activo

OR ( FW 3 equivalen a 500 AND y el timer 6 no está activo

Si la entrada 3.0 es válida

o el valor de los 16 bits de Flag Word 3 = V 500 ) N T 7

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 88

Page 236: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

8.3.2 Ejemplos en la parte Ejecutiva IF I 1.1 Si hay la entrada 1.1

RESET F 3.3 sino desactivarlo

THEN SET F 2.2 Entonces activa el bit 2 de la Flag Word 2 IF T 6 Si T6 en la CPU local funciona THEN SET F 3.3 Activa Flag 3.3 para que otra CPU pueda

verificar el estado del T6 OTHRW

La instrucción Shift Left ( SHL ) la utilizaremos para desplazar los bits en el Flag Word 6. También se utilizan las siguientes I / O

Input 2.2 Transferencia realizada Output 2.0 Activa línea de mecanizado

En la parte ejecutiva de una frase, los Flag Words pueden utilizarse como fuente o destino de cualquier instrucción multibit 8.3.3 Registros de desplazamiento El hecho que los Flag Words sean direccionables en base a palabra o en base a bit, proporciona un método muy adecuado para construir registros de desplazamiento. Como ejemplo, podríamos necesitar programar una línea de mecanizado en las que las piezas fundidas en bruto se cargan en la estación 0 y se realizan varias operaciones en las siguientes 15 estaciones. La máquina completa transfiere o indexa cada 2 segundos y durante este tiempo una nueva pieza puede o no estar presente en la estación 0...lo cual es detectado por medio de un sensor.

Esto representa una situación ideal en la que es ventajoso utilizar un registro de desplazamiento. Utilizaremos el Flag Word 6 para guardar información de qué estaciones contienen pieza a mecanizar.

Input 1.0 Pulsador de marcha Input 1.1 Sensor de pieza en estación 0

Outputs 1.0..1.15 Controla las operaciones de mecanizado de las estaciones 0...15 respectivamente

Las estaciones 1-15 no incluyen sensor de pieza, pero deseamos realizar la operación solamente si existe pieza en el útil.

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 89

Page 237: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

STEP 10 ARRANQUE IF I 1.0 Pulsador de marcha AND I 2.2 Línea transferida THEN LOAD V 200 2 segundos el preselector TO TP 0 del timer 0 LOAD V 0 asumimos nueva producción, ninguna TO FW 6 pieza en las estaciones STEP 15 ESPERAR HASTA QUE HAYA

ALGUNA PIEZA DISPUESTA IF I 1.1 Pieza encontrada en estación 1 THEN SET F 6.0 memorizarlo IF ( FW 6 Hay alguna pieza > V 0 ) a procesar THEN LOAD FW 6 activar motores de mecanizado TO OW 1 en las estaciones con pieza SET T 0 iniciar proceso de temporización

¿ TIEMPO DE MECANIZADO TERMINADO ?

N T 0 Tiempo vencido THEN LOAD desconectar todos los motores V 0

SET e iniciar la transferencia de la línea

STEP 25 ESPERAR A QUE EMPIECE LA TRANSFERENCIA

IF N I 2.2 Ya ha empezado a transferir FW 6 cargar los estados de las estaciones

SHL desplazar los bits que coinciden con las piezas

TO FW 6 y guardarlos de nuevo STEP 30 ¿ HA TERMINADO LA

TRANSFERENCIA ? IF I 2.2 Nuevo punto de indexación

RESET O 2.0 Parar el motor de indexación JMP TO 15 regresar al paso 15 para seguir

STEP 20

IF

O 2.0

THEN LOAD

THEN

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 90

Page 238: apuntes de automatismos

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

Input Word 1 IW 1 Palabra de Entradas 1 IW 7 Input Word 7 Palabra de Entradas 7 OW 0 Output Word 0 Palabra de Salidas 0 OW 2 Output Word 2 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

Page 239: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

I 3.2 Etapa 2 de la palabra de entradas 3

O 2.7 Etapa 7 de la palabra de salidas 2 O 0.0 Etapa 0 de la palabra de salidas 0

I 0.15 Etapa 15 de la palabra de entradas 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

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

9.4.1 Entradas discretas

IF I 1.1 IF N 13.3 Comprueba si hay señal falsa en la entrada I 3.3

Comprueba si hay señal válida en la entrada I 1.1

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 Aquí verificamos si las 8 AND I 2.1 AND I 2.2 de entradas de 8 bits, AND se hallan en estado lógico 1 AND I 2.4 AND I 2.5 AND I 2.6 AND I 2.7

I 2.0 entradas de una palabra

I 2.3

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 92

Page 240: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

o utilizando la capacidad del lenguaje AWL, evaluar por palabras enteras utilizando el programa : IF ( I W 2 Comprobar si las 8 entradas = V 255 ) 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 ( I W 1 Primero obtener la palabra AND V 224 ) = ( 11100000 en binario ) >V 31 si el resultado es mayor de 31, por lo

menos hay una entrada activa Lo cual es equivalente a : IF I 1.5 OR I 1.6 OR I 1.7 9.5 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

Page 241: apuntes de automatismos

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 Siempre que se cumplan las condiciones THEN SET O 1.2 activa la salida 1.2 RESET O 3.3 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 I 2.4 Entrada I 2.4 activa AND O 2.2 Y salida O 2.2 está en ON THEN...... 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 V 0 TO 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

Page 242: apuntes de automatismos

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"

Flanco positivo

Flanco positivo

Flanco negativo

Flanco negativo

0 0 0

1 1

Nivel de señales binarias

Flancos

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 95

Page 243: apuntes de automatismos

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 I 1.0 AND N F 0.0 Consultar recordador ( 1 ) THEN SET F 0.0 Activar recordador ( 2 ) ... ... ... ... ... ... Disparo de la función ... ... ... IF N I 1.0 THEN RESET F 0.0 Cancelar recordador

En el programa, los flancos son detectados en tres pasos; es decir, el recordador de flancos es :

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 )

( 1 ) Consultado ( 2 ) Activado ( 3 ) Cancelado ( 1 ) 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

( 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

Page 244: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Detección de flancos

Flanco positivo

Flanco positivo

Activación del recordador

0 0 0

1 1

Activación del recordador

Cancelación del recordador

Cancelació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

Page 245: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Flanco positivo

Flanco positivo

Activación del recordador

0 0

1 1

Cancelación del recordador

Disparo de la función

IF I 1.0

AND N F0.0

THEN SET F0.0

disparo de la función

IF N I 1.0 THEN RESET 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

Activación del recordador

0 0

1 1

Cancelación del recordador

Disparo de la función

IF I 1.0

AND N F0.0 THEN SET F0.0

disparo de la función

IF N I

THEN RESET F0.0

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 98

Page 246: apuntes de automatismos

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

P 1

AUTOMÁTICO

P 2

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

Page 247: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

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.

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

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

Page 248: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Multitarea ( ejemplo 2 )

ACTIVACIÓN

P 1 AUTOMÁTICO

P 2 MANUAL

organización Programa de

P0

P3 REPOSICIÓN

Ciclo simple Ciclo

continuo

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

Page 249: apuntes de automatismos

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 I 1.2

124 THEN SET F1 125 JMP TO 219 126 RESET F1

198 IF I 1.7 199 THEN SET F2 200 JMP TO 219 201 RESET F2

.

.

.

.

.

.

.

219

250 IF F1

251 THEN JMP TO 126

252 IF F2

253 THEN JMP TO 201

.

.

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 102

Page 250: apuntes de automatismos

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 I 1.2 124 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

Page 251: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

Subprograma relacionado tres veces

Subprograma Programa principal

01

UP1 UP2 UP3

02 03

LBL LBL LBL

01

( JSR )

( JSR ) ( JSR ) ( JSR )

(RET) (RET) (RET)

Subprograma de lazo

Subprograma Programa principal

01 01

( JSR )

LBL

( SCT ) 051

( JSR )

(CTR)

RET

01 051

051

15

End xxxxx

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 104

Page 252: apuntes de automatismos

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 )

P 0

P 1

P 2

P 3

P 4

P 5

P 6

P 7

P 8

P 9

P 10

P 11

P 12

P 13

P 14

P 15

PZ 0

PZ 1

PZ 2

PZ 3

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

Page 253: apuntes de automatismos

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 : * Unidad central 0 * Procesador 0 * Programa 0 * Paso 0 * línea 0

11.5 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

I 0

Programa 1 se activa si el procesador está puesto

IF I 7 o IF I 7 THEN RESET THEN RESET P12 Desactivar el programa 12

IF I 1 THEN SET PZ 0 Programa continúa en procesador 0

IF I. 3 THEN RESET PZ 0 Desactivar el procesador 0

IF THEN SET P1

P 3.12

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 106

Page 254: apuntes de automatismos

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

Cancelación de un procesador

Activación de un procesador La ejecución del programa puesto en el procesador continúa en aquel lugar donde fue detenida

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

Page 255: apuntes de automatismos

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 I 1.0 Cilindro A detrás I 1.1 Cilindro A delante I 1.2 Cilindro B detrás I 1.3 Cilindro B delante I 1.4 Cilindro C detrás I 1.5 Cilindro C delante I 1.6 Electroválvula del Cilindro A O 1.0 Electroválvula del Cilindro B O 1.1 Electroválvula del Cilindro C O 1.2

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 108

Page 256: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

STEP 1 Inicialización al arranque IF NOP Incondicionalmente THEN LOAD V 0 desconecta todas TO OW 1 las salidas LOAD V 300 Prepara el timer

TO TP 0 en 3 segundos LOAD V 4 y el contador 2 TO CP 2 para 4 unidades

STEP 5 Asegurar que todas las posiciones están

OK I 1.0 Pulsador accionado AND I 1.1 Cilindro A detrás

AND I 1.3 Cilindro B detrás AND Cilindro C detrás THEN SET O 1.0 iniciar avance cilindro A

¿ Cilindro A completamente avanzado ? IF I 1.2 Ahora está delante

T0 STEP 12 Esperar los 3 segundos IF Timer vencido THEN RESET O 1.0 retroceder cilindro A STEP 15 ¿ Cilindro A completamente detrás ? IF I 1.1 Cilindro A detrás THEN SET C 2 Inicializa contador 2 a 4 eventos SET O 1.1 avanzar cilindro B STEP 20 ¿ Cilindro B delante ¿ IF I 1.4

INC CW 2 cuenta este ciclo O 1.1 inicia el retroceso del cilindro B STEP 22 ¿ Es éste el 4º avance ? IF I 1.3 Cilindro B detrás

AND y aún no ha hecho 4 carreras THEN SET O 1.1 avanza cilindro B JMP TO sigue haciendo ciclos IF Cilindro B detrás AND N C2

SET O 1.1 avanzar cilindro B STEP 30 ¿ Cilindro B delante ? IF I 1.4 cilindro B delante ( avance 5º ) THEN SET O 1.2 avanzar cilindro C

IF

I 1.5

STEP 10

THEN SET empezar a temporizar 3 segundos

N T0

ahora está delante THEN

RESET

C 2

20 I 1.3

y 4 carreras realizadas THEN

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 109

Page 257: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

STEP 35 ¿ Cilindro C delante ?

I 1.6 Cilindro C delante THEN SET O 1.0 avanzar cilindro A STEP 40 IF I 1.2 cilindro A también delante THEN RESET O 1.0 retroceder cilindro A RESET O 1.1 retroceder cilindro B RESET O 1.2 retroceder cilindro C 5

IF

¿ Todos los cilindros delante ?

JMP TO regresar al paso 5 Ejemplo 2. Principalmente secuencial con algunas acciones aleatorias

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

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

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 Inicialización al arranque IF NOP Incondicionalmente THEN LOAD V 0 desconecta todas

TO OW 1 las salidas LOAD V 300 Prepara el timer TO TP 0 en 3 segundos LOAD V 4 y el contador 2 TO CP 2 para 4 unidades

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 110

Page 258: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

STEP 5 Asegurar que todas las posiciones están

OK IF I 1.0 Pulsador accionado AND I 1.1 AND I 1.3 Cilindro B detrás AND I 1.5 AND N I 1.7 THEN SET O 1.0

STEP 10 ¿ Cilindro A completamente avanzado ? IF I 1.7 Pulsador de pausa activo THEN 10 esperar aquí IF I 1.2 THEN SET T0 STEP 12 IF I 1.7 THEN 12 esperar aquí IF THEN RESET O 1.0 retroceder cilindro A

I 1.7 Pulsador de pausa activo THEN

I 1.1 THEN SET C 2 Inicializa contador 2 a 4 eventos SET O 1.1 avanzar cilindro B STEP 20 ¿ Cilindro B delante ? IF I 1.7 Pulsador de pausa activo THEN JMP TO 20 esperar aquí IF I 1.4 ahora está delante THEN INC CW 2

O 1.1 STEP 22 ¿ Es éste el 4º avance ? IF Pulsador de pausa activo THEN JMP TO 22 esperar aquí IF Cilindro B detrás AND C 2 y aún no ha hecho 4 carreras

SET O 1.1 avanza cilindro B 20

I 1.3 Cilindro B detrás AND N C2 THEN SET O 1.1

Cilindro A detrás

Cilindro C detrás Pulsador pausa inactivo

JMP TO Ahora está delante empezar a temporizar 3 segundos

Esperar los 3 segundos Pulsador de pausa activo

JMP TO N T0 Timer vencido

STEP 15 ¿ Cilindro A completamente detrás ? IF

JMP TO 15 esperar aquí IF Cilindro A detrás

cuenta este ciclo RESET inicia el retroceso del cilindro B

I 1.7

I 1.3

THEN JMP TO sigue haciendo ciclos IF

y 4 carreras realizadas avanzar cilindro B

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 111

Page 259: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

STEP 30 ¿ Cilindro B delante ? IF I 1.7 Pulsador de pausa activo THEN JMP TO 30 esperar aquí IF cilindro B delante ( avance 5º )

SET avanzar cilindro C ¿ Cilindro C delante ? I 1.7 Pulsador de pausa activo JMP TO

IF I 1.6 Cilindro C delante THEN SET O 1.0 avanzar cilindro A

STEP 40 ¿ Todos los cilindros delante ? IF I 1.7 THEN

I 1.2 cilindro A también delante THEN RESET O 1.0 retroceder cilindro A RESET O 1.1 retroceder cilindro B

RESET retroceder cilindro C JMP TO

I 1.4 THEN O 1.2 STEP 35 IF THEN 35 esperar aquí

Pulsador de pausa activo JMP TO 40 esperar aquí

IF

O 1.2 5 regresar al paso 5

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.

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.

Acciones completamente aleatorias

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

Page 260: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

STEP 1 IF NOP Incondicionalmente THEN LOAD V 0 desconecta todas TO las salidas STEP 20 Paso de exploración / scanning IF I 1.0 Pulsador de cerrar molde THEN SET O 1.0 IF I 1.1 Sensor de molde cerrado THEN O 1.3 Electroválvula inyección OTHRW RESET O 1.3

IF I 1.2 Molde abierto AND N O 1.3 Pulsador de inyección inactivo THEN RESET O 1.0 Abrir molde

THEN SET O 1.1 Electroválvula girar extrusor RESET O 1.1 Parar extrusor

I 1.4 Sensor molde abierto AND I 1.5 Pulsador extractor molde

SET O 1.4 Electroválvula extractor molde RESET Parar proceso extracción

NOP Incondicionalmente JMP TO seguir procesando

Inicialización

OW 1

Cerrar molde

Pulsador de inyectar plástico AND I 2.0 SET

IF I 1.3 Pulsador de girar mecanismo extrusor

OTHRW IF

THEN OTHRW O 1.4 IF THEN 20 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

Page 261: apuntes de automatismos

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 TO OW0

TO OW1 TO OW2

TO

TO FW0 TO R0 Registro de control de indexación mesa TO R1 Registro de control de estación 1 TO R2 Registro de control de estación 2 TO R3 Registro de control de estación 3

TO R4 Registro de control de estación 4 LOAD V25 Timer 2 a 1/4 de segundo TO TP2 LOAD V250 TO TP3 LOAD

Inicialización LOAD V0 Desactivar todas las salidas

OW3 TO OW4

Inicializar " shift register "

Timer 3 a 2,5 segundos

V300 Timer 4 a 3 segundos

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 114

Page 262: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

TO TP4

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 115

Page 263: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

STEP 20

THEN JMP TO IF I 0.2 Mesa indexada

AND I 2.1 Est.2 Cilindro insertor izquierdo detrás AND I 2.3 Est.2 Cilindro insertor derecho detrás AND AND N I 2.6 AND I 3.1 Est.3 Pinza sujeción cinta, abierta AND I 3.4

AND AND N I 4.3 AND I 4.4 Est.4 Cilindro de extracción detrás AND I 0.1 AND I 0.0 Paro_E inactivo AND OR

OK para proceder, sino esperar

STEP 30 IF ( R1 Registro de control estación 1 empezando = V0 ) Registro de control estación 2

indica ha terminado AND ( R3 = V 255 ) AND ( R4 Registro de control estación 4 = V 255 ) indica ha terminado THEN LOAD V 10

TO R1

IF Registro de control de estación 1 listo para leer AND I 1.1 THEN SET F0.0 IF ( R1 = V 10 ) THEN R1

¿Estaciones en origen ? IF N I 0.0 Paro_Activo

99 Rutina especial

N I 2.5 Est.2 Carrete izquierdo colocado Est.2 Carrete derecho colocado

Est.3 Cilindro avance cinta, detrás AND I 3.6 Est.3 Cilindro fijación derecha cinta,

detrás I 4.1 Est.4 Cilindro inserción detrás

no hay mitad superior del cartucho situada

Pulsador de marcha a posición de partida

( I 1.1 Cartucho en estación 1 ( FW0 o piezas en alguna estación

AND V15 toda la palabra de 16 bits enmascarando > V0 )) toda, excepto bits0,1,2,3 hay alguna pieza

THEN NOP

ESTACIÓN 1

AND ( R2

= V 255 ) Registro de control estación 3 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

( R1 = V 10 )

sensor de pieza situada poner un "1" en el shift register

Cuando se cumpla esto LOAD V 255 todas las estaciones habrán terminado TO

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 116

Page 264: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

ESTACIÓN 2 IF ( R2 Registro de control estación 2 = V0 ) AND ( N I 2.0 Estación 2 no activada OR N F0.1 ) o no hay piezas en estación 2 THEN LOAD V 255 por lo tanto marcar TO R2 estación 2 como terminada IF ( R2 Registro de control estación 2, empezando = V 0 ) THEN SET avanzar cilindro carrete izquierdo SET avanzar cilindro carrete derecho control de avance de la secuencia TO R 2

Registro de control estación 2 = V 20 ) AND I 2.2 lado izquierdo delante AND lado derecho delante I 2.5 carrete izquierdo en fijación AND I 2.6 carrete derecho en fijación THEN O 2.2

T2 V 30 actualizar registro de R2 control de estación 2 IF ( R2 Registro de control estación 2 N T2 transcurrido un tiempo de 1/4 de seg. THEN O 2.0 retroceder cilindro carrete izquierdo RESET O 2.1 retroceder cilindro carrete derecho LOAD V 40 actualizar registro de control TO R2 de estación 2 IF Registro de control estación 2 = V 40 ) AND I 2.1 cilindro carrete izquierdo detrás AND I 2.2 THEN RESET O 2.2 LOAD V 255

TO R2

O 2.0 O 2.1

LOAD V 20

IF ( R2

I 2.4 AND

SET conectar vacío de sujeción SET activar el temporizador

LOAD TO

= V 30 ) AND RESET

( R2

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

Page 265: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

IF ( R3 = V0 )

AND ( N I 3.0 Estación 3 inactiva OR N F0.2 ) o no hay pieza THEN LOAD V 255 TO R3 IF ( R3 Registro de control estación 3 = V0 ) THEN SET cerrar pinza de la cinta V 10 actualizar registro de control de la estación 3

( R3

AND pinza cerrada THEN insertar cinta en carrete izquierdo V 30 actualizar registro de control TO de estación 3

( R3 Registro de control estación 3 = V 30 ) I 3.3 cinta insertada en carrete THEN RESET O 3.2 retroceder cilindro inserción RESET V 40 actualizar registro de control de TO R3 estación 3

( R3 = V 40 ) AND I 3.4 cilindro de inserción detrás THEN SET O 3.3 arrancar motor enrollado de la cinta

SET T3 arrancar temporizador de enrollado LOAD V 50 actualizar registro de control TO R3

IF Registro de control estación 3 = V 50 )

AND N T3 tiempo de enrollado vencido RESET O 3.3 parar motor de enrollado

SET O 3.4 avanzar cilindro inserción carrete lado der

LOAD V 60 actualizar registro de control TO R3 de estación 3

ESTACIÓN 3 Registro de control estación 3

por lo tanto marcar la estación 3 como terminada

O 3.1 LOAD TO R3

IF Registro de control estación 3

= V 10 ) I 3.2

SET O 3.2 LOAD

R3

IF

AND

O 3.1 desactivar pinza de cinta LOAD

IF Registro de control estación 3

de estación 3

( R3

THEN

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 118

Page 266: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

IF Registro de control estación 3 = V 60 ) AND I 3.5 sensor inserción carrete derecho THEN RESET retroceder cilindro inserción lado derecho LOAD V 70 actualizar registro de control TO R3 de estación 3 IF ( R3 Registro de control estación 3 = V 70 ) AND I 3.6 cilindro lado derecho detrás THEN LOAD V 255 marcar registro de control TO R3 de estación 3 como terminado ESTACIÓN 4 IF ( R4 Registro de control estación 4 = V 0 ) AND ( N I 4.0 estación 4 inactiva OR N F0.3 ) o no hay pieza en estación 4 THEN LOAD V 255 por lo tanto marcar TO R4 la estación como terminada IF ( R4 = V0 ) THEN SET O 4.1 bajar cartucho superior LOAD V 10 actualizar registro de control R4 de estación 4 IF ( R4 Registro de control estación 4 = V 10 ) AND I 4.2 cilindro de cartucho delante AND I 4.3 cartucho en fijación THEN SET O 4.2 activar soldadura ultrasónica SET T4 empezar tiempo soldadura LOAD V 20 actualizar registro de control TO R4 de estación 4 IF ( R4 Registro de control estación 4 = V 20 ) AND N T3 tiempo soldadura vencido THEN RESET O 4.2 detener soldadura RESET O 4.1 soltar cilindro fijación cartucho LOAD V 30 actualizar registro de control TO R4 de estación 4 IF ( R4 Registro de control estación 4 = V 30 ) AND I 4.1 cilindro carcasa superior detrás

( R3

O 3.4

Registro de control estación 4

TO

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 119

Page 267: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

THEN SET avanzar cilindro extracción LOAD V 40 actualizar registro de control de TO R4 estación 4 IF ( R3 Registro de control estación 4 = V 40 ) AND I 4.5 cilindro de extracción delante THEN RESET O 4.3 retroceder cilindro de extracción LOAD V 50 actualizar registro de control TO R4 de estación 4 IF ( R4 Registro de control estación 4 = V 50 ) AND I 4.4 cilindro de extracción detrás THEN RESET F 0.3 LOAD V 255 TO R4 IF ( R1 Estaciones 1-4 terminadas

LOAD V 10 registro de control de indexación TO R0 MESA DE INDEXACIÓN IF ( R0 Registro de control de indexación = V 10 ) AND ( ( FW0 toda la palabra de 16 bits AND V 15 ) enmascarar toda excepto los bits 0,1,2,3 > V0 ) si esto es cierto, por lo menos hay una

estación con pieza THEN LOAD V 20 actualizar registro de control TO R0 de indexación IF Registro de control de indexación THEN JMP TO no hay que indexar, seguir con el proceso IF ( R0 Registro de control de indexación = V20 ) hay que indexar THEN SET O 0.0 activar indexación mesa LOAD V 30 actualizar registro de control TO R0 de indexación IF ( R0 Registro de control de indexación = V 30 ) N I 0.2 la indexación ha empezado THEN LOAD V 40 activar registro de control TO R0 de indexación LOAD FW0 cargar shift register al MBA

O 4.3

shift register marca " no hay pieza " marcar la estación como terminada

= V 255 ) THEN

( R0 = V 10 ) 10

AND

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 120

Page 268: apuntes de automatismos

Sistemas de control secuencial ____________________________________________________________________________________

SHL desplazar bits a la izquierda para hacerlo TO FW0 coincidir con las piezas actuales presentes Secuencia indexación completa IF ( R0 Registro de control de indexación = V 40 ) AND I 0.2 alcanzada nueva posición de indexación THEN RESET detener indexación LOAD borrar registros de control TO R0 TO TO TO R3 TO R4

20 IF N I 0.0 Paro_E activo THEN JMP TO 99 rutina especial seguir procesando IF NOP Incondicionalmente THEN JMP TO 30 sigue el proceso en el paso 30 STEP 99 RUTINA PARO_E IF I 0.0 esperar hasta que Paro_E sea liberado THEN JMP TO 10 y reaccionar como si se arrancara de

nuevo el sistema

O 0.0 V0

R1 R2

JMP TO seguir procesando

____________________________________________________________________________________ Autómata programable Festo FPC 404 pág. 121