3 .2 del libro. a priori globales y posteriormente divididos en elementales.Dos bloques que tengan funciones de transferencia iguales se considerarán idénticos.De cada bloque se define solamente las magnitudes de entrada y salida. 4 .AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 1. algebraica o numérica. Indique los principios básicos para el estudio y diseño sistemático de un sistema de control automatizado (apartado 2.Para cada bloque hallar la función que relaciona las variables de entrada y salida (función de transferencia) que puede ser lógica. II Unidad Didáctica . 2 . pág. 12).Cada magnitud de entrada/salida representada por una variable de tipo lógico o numérico.Dividir el sistema en bloques. Los principios básicos del diseño sistemático se basa en modelos de tipo matemático y reglas de operación que no admitan ambigüedades: 1 . 5 . pero contienen variables internas que guardan memoria del estado del sistema o de su evolución anterior. siendo necesario útiles descriptivos que se han ido desarrollando siendo el más usado el GRAFCET (gráfico funcional de control de etapas y transiciones). “O” y “NO”. independientemente del estado inicial. 37) utilizando GEMMA y GRAFCET. por lo que se añade el operador “MEMORIA”.El diseño de un automatismo combinacional se realiza mediante álgebra de Boole y las tablas de verdad que refleje la relación de cada salida con las entradas. El diseño de un automatismo secuencial es más complejo. mientras que en un sistema secuencial las salidas en cada instante dependen de las variables de entrada.AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 2. (Incluya las hojas necesarias para los gráficos) Primero se realiza un GRAFCET de base. En el sistema secuencial las funciones de transferencia siguen siendo lógicas. 3. Diferencias entre automatismos combinacionales y sec uenciales. siendo los nombres para la función memoria SET (1) o RESET (0). Realice el diseño del control de la planta embotelladora de la figura 2. . 11 b+ b1 12 a+ ba1·b0 Estación 3 Estación 2 Estación 1 c+ d+ 22 g+ 32 g1 c1 33 e+ e1 34 e- e0 g- 35 g0 e+ f+ 36 e1 13 a0·b0·c0·e0·g0 a- 23 c- II Unidad Didáctica 37 e- .En un sistema combinacional las funciones de transferencia son lógicas que relacionan las entradas mediante combinación de los operadores “Y”.44 (pág. del estado inicial del sistema y de su evolución. . . siendo necesario representarlo mediante un diagrama de flujo.En un sistema combinacional las salidas en un instante dependen solamente de las entradas en ese instante. en el que diseña lo que supondría el funcionamiento en automático y simplificado de la planta embotelladora. E1 Estación 2 ---------. CP3 de presencia de recipiente en cada una de las estaciones 1 (carga). que son CP1. Para ello hay que incluir nuevos detectores de recipiente.M Taponado: Manual -----------------------TM Vaciado: Alimentación automática ---. Selector MODO: Automático ---------. así como las semi automáticas y manuales necesarias.A Semi automático -.SA Manual -------------. CP2.AA Selector estación: Estación 1 ---------. incluyendo la marcha y paro automáticos. según GRAFCET base M (F4) Mando separado de cada movimiento Producción .MA Paro de Emergencia: ---------------------PE Producción: Marcha (S) Paro (R)-----.E3 (F) PROCEDIMIENTOS DE FUNCIONAMIENTO (A) PROCEDIMIENTOS DE PARO DE PO Desde cualquier estado MA (A4) Inicialización máquina por mando movimientos separados (A1) Estado de reposo máquina Marcha autom. CP2·CP3 MA·PE (A3) Limpieza y verificaciones MA Paro Producción (A2) Acabar ciclo hasta vaciar M (F2) Arranque progresivo estación a estación Cp3 (D2) Llenado automático Taponadora manual (D1) Parada de emergencia Paro de todas las salidas Válvula D cerrada por muelle (D) PROCEDIMIENTOS DE FALLO DE PO AA SA A (F5) Marcha semiautomática independiente para cada estación E1. 2 (llenado) y 3 (taponado).Posteriormente se realiza un gráfico GEMMA en el que se incluyen todas las fases de la planta embotelladora.E2 Estación 3 ---------. Marcha autom. así como los elementos de mando que se describen a continuación con las respectivas señales que generan. E3 SA TM Desde cualquier estado PE (F3) Vaciado progresivo (F1) Producción normal. E2. Este gráfico GEMMA puede ser más completo aún. ya que no forman parte de ningún ciclo. pero que pueden hacer el sistema más depurado. ya que se trata cómo una función aparte de rango superior. Sin embargo con éste gráfico GEMMA es suficiente para definir todos los estados que se necesitan para el funcionamiento de la embotelladora. excepto el paro de emergencia. paro y fallo. por eso se ha previsto una entrada desde cualquier estado. También se observa que los estado A4 y F4 no están contemplados. con él y con los nuevos elementos definidos se puede ampliar el GRAFCET de base a un GRAFCET que ya contempla los procedimientos de marcha. ya que pueden definirse más estado que a priori no son necesarios. 11 b+ b1 si (AA·CP1) 12 a+ b(a1·AA)·b0 Estación 3 Estación 2 Estación 1 21 CP2+ 22 +(SA·E1) CP2·SA c+ d+ c1 31 CP3·SA·TM Cp3+ g+ 32 +SA+TM g1 33 e+ e1 e- 34 e0 g- 35 g0 e+ f+ 36 e1 13 a- 23 c- c0·SA·E2·m a0·b0·c0·e0·g0(A·M+SA·E1·m) 37 e- e0·SA·E3·m . que convertido en código binario son interpretados por el software (sistema operativo) del autómata. 5. . 6 . 7 .3 (pág. Muestra la interrelación entre el autómata. indicando las funciones. la interactuación con el usuario lo hace mediante un modelo de control y unidad de programación.2 (pág.Codificar la representación en instrucciones inteligibles por la unidad de programación.Identificar las señales E/S al autómata.Depurar el programa y hacer copia de seguridad. II Unidad Didáctica . relaciones y secuencia.Representar median un modelo (algebraico o gráfico) el sistema de control.Señal de pulsador D. 196 del libro) Las variables del proceso son: .Determinar que hace el sistema de control y en qué orden. Indique los pasos que hay que seguir para programar el autómata. la planta y el usuario.Asignar direcciones E/S o internas a cada componente que aparece en el modelo. . a través del los interfaces E/S y de las señales A/D interactúa con el proceso. . de forma que el autómata que está compuesto de un hardware controlado por un software. descripción literal o GRAFCET (u otra herramienta similar). la cual consta de un editor con el que se pueden codificar las instrucciones a través de lenguajes de programación y explotación. Identifique las variables que intervienen en el proceso de la figura 10. 195 del libro) en la que aparece la relación entre el usuario y la planta en el proceso de la programación y explotación de un autómata.AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 4. .Señal de final de carrera b0. 3 . 4 .Valor de presión a1. mediante diagrama de flujo. Los pasos para programar el autómata son: 1 . 5 .Transferir las instrucciones a la memoria del autómata. 2 .Señal de pulsador C.Señal de final de carrera a0. .Señal de final de carrera b1. Explique la figura 10. E t S t impulso t impulso . qué hace cada tipo y represente el diagrama temporal de cada uno. Represente la descripción literal del proceso que aparece en la figura 10.AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 6. a) b) C D C D & & a1 A+ (T1) R A+ & BR B+ (b1) B- b1 B+ (a1) R & & b0 a0 A- R (b0) A- (a0) 7. o conformador de impulsos: II la Unidad salida se mantiene activa. y son: .Retardo de conexión: la salida se retarda hasta que transcurra el tiempo de retardo. sus tipos. existen 4 funciones distintas cada una con un diagrama temporal diferente: 1 . utilizando: a) Diagrama de contactos.Retardo a desconexión: la salida conecta simultáneamente con la entrada y se mantiene hasta el tiempo de desconexión.Impulso: la salida se mantiene activa mientras dure la señal de mando hasta un E cierto tiempo máximo (tiempo de impulso). b) Funciones lógicas.Biestables: es un dispositivo que puede mantener indefinidamente su estado a 0 a 1 mientras el autómata permanezca en t RUN y no se ordene su modificación. Diagrama temporal: Set Reset Q . una vez activada la señal de mando.3 (pág. t impulso t < t impulso E S S t retardo t < t retardo 3 .Temporizadores: son dispositivos capaces de retardar una orden de salida durante un tiempo en respuesta a una señal de entrada. durante un tiempo constante e independiente de esta señal. Los bloques secuenciales básicos son elementos pre-programados en la memoria interna del autómata. Identifique los bloques secuenciales básicos de programación de un autómata.Monoestable. E S S t desconexión t desconexión Didáctica 4 . 196 del libro). S 2 . .Secuenciadores paso a paso: permite el control secuencial de procesos cuando estos pueden dividierse en pasos de ejecución consecutiva y condicionada. palabra operando 2 y palabra destino. Hay dos tipos: 1 . Los biestables. mientras que los temporizadores y contadores llevan asignadas dos informaciones numéricas distintas (valores de preselección.Comparaciones de datos: comparan el contenido de dos informaciones numéricas de 16 o 32 bits. activando una señal para los resultados: igual (=). Los autómatas de gama alta pueden mover información entre la memoria interna del autómata y dispositivos externos: * Visualizadores (salida de mensajes). son: . direcciones E/S. desplazamientos de bloques de datos (como tablas). * Determinación del máximo o mínimo de una tabla. Pueden desplazar bloques completos de datos como: * Inicialización de áreas de memoria. II Unidad Didáctica . . menor (<) o mayor (>). Aplicaciones típicas son: * Modificación de preselecciones de temporizadores y contadores según señales binarias de mando. * Lectura de información digitales desde las entradas. que son operados dos a dos según las funciones Y.Registro de desplazamiento: está formado por una cadena de biestables conectados en serie. * Búsqueda de una variable en una tabla (por comparaciones). dicha información pueden ser constantes. y los valores actuales). las lógicas e ntre palabras y las aritméticas. * Apoyo a secuencias aritméticas. indique en qué consisten las funciones de carga y transferencia. mayor o igual o distinto. puertos serie y paralelo. O-exclusiva y NO. Para los bloques funcionales de expansión. y por lo tanto no están limitados a una cantidad dentro de un programa.. Estas instrucciones de comparación operan sobre palabras de 16 o 32 bits. . variables.Instrucciones lógicas entre palabras: tratan los datos en la palabra como cadenas de bits. 8. . etc. Estas instrucciones necesitan cuatro campos para su programación: Nombre de función. pero requieren mayor tiempo de ejecución.Contadores: es un dispositivo capaz de contar el número de cambios de nivel en una señal de entrada activando una señal de salida cuando se alcanza un valor prefijado. 2 . bloques secuenciales. las de comparación de datos. En algunos lenguajes también permiten los resultados menor o igual.AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN .Funciones de carga y transferencia: permiten definir y desplazar informaciones entre registros internos. estas señales pueden ser predefinidas por el fabricante. sino que son macro-instrucciones del lenguaje de programación. pero algunos lenguajes permiten otras posibilidades referidas sobre la tabla de palabras: * Comparaciones múltiples de tablas de datos entre sí.Bidireccional (UP/DOWN): acumula la diferencia de los impulsos recibidos de cuenta ascendente y descendente. unidades externas de memoria. textos. registros y secuenciadores modifican la información de sus salidas según la secuencia de sus entradas. * Salidas de información digital alfanumérica. O. * Contaje del número de veces que una cadena de bits aparece en una tabla. de forma que permiten el paso de bris de uno a otro sincronizado con una señal externa de reloj. acceso secuencial a estructuras FIFO y LIFO sobre áreas de memoria específicas. palabra operando 1. o asignadas por el usuario. etc. tiempo y módulo de cuenta. Los bloques funcionales de expansión no están pre-programados en la memoria interna.Incremental: acumula el número de impulsos recibidos. . Las instrucciones elementales a 16 bits están disponibles en todas: * Incrementos/decrementos. 9.escrutinio del programa . media o alta. * Operaciones trigonométricas. las sentencias se ejecutan secuencialmente. .actualización de salidas . * Multiplicación/división. Sin embargo uno u otro recorre siempre la secuencia de pasos: adquisición de entradas .Tarea: conjunto de instrucciones ejecutables que describen un tratamiento limitado y completo sobre variables de proceso. .AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN . es muy útil para el desarrollo de programas complejos y tiene ventajas a la hora de concebir y explotar un proyecto.servicio a periféricos. que pueden o no ejecutarse periódicamente. mientras que las multitarea desarrollan simultáneamente múltiples ciclos. que corresponden a tratamientos parciales y que son llamados durante el escrutinio desde un programa raíz.Programación lineal y estructurada: La lineal es la más usada en mini y micro autómatas.Aplicaciones mono y multi tarea: Las estructuras mono tarea ejecutan periódicamente una tarea única siguiendo un único ciclo de operación.Funciones aritméticas: son variables según el autómata sea de gama baja. sobre todo si se acaba trabajando de forma modular. II Unidad Didáctica . * Funciones estadísticas.Programación lineal: considera el problema de control en su conjunto y lo programa escribiendo las instrucciones según una secuencia lineal. * Definiciones: .Aplicación monotarea: aquella desarrollada sobre una tarea única que contiene el total del programa con todas sus variables E/S y sentencias de operación. hace uso de macros y de saltos de programa. En autómatas de más gama hay instrucciones más avanzadas: * Aritmética en coma flotante.Programación estructurada: aquella que divide la tarea a programar en subprogramas o módulos.Aplicación multitarea: aquella desarrollada sobre la división del programa en subconjuntos independientes o no. * Coincidencias y diferencias: . las diferencias y la defini ción de las aplicaciones mono y multitarea y la programación lineal y estructurada. * Raíz cuadrada. . . Los datos deben estar normalmente en BCD. La estructurada es más versátil al descomponer la tarea de usuario en partes elementales que contendrán tratamientos completos sobre variables. aunque algunas admiten códigos binarios. * Suma/diferencia. Describa las coincidencias. que forman tareas aisladas. WHILE.Posibilidad de dividir la tarea en partes que pueden ser tratadas por separado.Condicional: la ejecución depende de una señal. ¿Qué ventajas tiene la programación estructurada? Las ventajas de la programación estructurada son entre otras: . pero si está activado puede continuar corriendo.La documentación y el propio programa es más fácil de leer y entender. ..THEN. El lenguaje literal está mejor adaptado usando instrucciones como IF. También según el fabricante pueden estar limitadas las instrucciones de salto: saltos sólo hacia adelante sin retorno. no fijarse un mismo destino para distintos orígenes de salto.AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 10. Los temporizadores si están en OFF no se activa. longitud de salto limitado a 127 posiciones.ELSE. sino también a una reducción de costes de mantenimiento.. los contadores mantienen el valor contado y las variables de mando o control de bloque funcional no son consultadas. o seguir funcionando pero no activar el contacto de salida. Las instrucciones de salto con unas instrucciones de modificación del ciclo que permiten dividir un programa lineal en partes o bloques. Se pueden diferenciar dos tipos de salto: . II Unidad Didáctica . . según sea el fabricante. Indique para qué sirven las instrucciones de salto y describa los distintos tipos que aparecen en el libro de Ballcels y Romeral.Las modificaciones de puesta a punto se agilizan. .. no admitir un salto dentro de otro. la variables internas y de salida no cambian.... .Todo esto no sólo conlleva a una mejor productividad de los programadores.Se crean bibliotecas de módulos o subrutinas que pueden ser usadas en otras aplicaciones. 11. o DO. El salto estará definido entre dos posiciones que fijan su inicio y final. puede interrumpir el funcionamiento.Incondicional: la ejecución sucede siempre en ese punto.Si el software de programación lo permite se puede escribir los bloque en diferentes lenguajes. Durante una instrucción de salto. . y que pueden acortar tiempos de ciclo si no se cumplen ciertas condiciones o establecer programas alternativos dentro de una misma secuencia lineal. esto además genera la opción a que se puedan repartir la programación entre varios programadores. . tanto si se usa lenguaje gráfico como literal. etc. En el prioritario. ejecutado de forma cíclica periódicamente o no. Hay varios métodos de gestión de este tipo de programación.). salidas. etc. que constituyen el tiempo de ciclo deseado para las mismas. mejorando así el programa en legibilidad y ocupación de memoria. Muchos fabricantes tienen sus propias subrutinas llamadas funciones como son operaciones aritméticas de alta resolución (suma ADD. Se pueden establecer bibliotecas de subrutinas para su uso posterior. aunque los más usados son el prioritario y el de gestión de tiempos. Existe un elemento supervisor que asigna los diferente recursos a cada tarea que puede actuar decidiendo en cada instante que tarea estará activa. y con la posibilidad de subprogramas locales. Es el método más usado en sistemas de tiempo real industriales. o que aparece muy comúnmente en muchos programas. codificaciones y conversiones entre códigos (conversión binario-BCD y viceversa.. etc. de forma que en cualquier da ellos se pueda llamar a estas instrucciones simplemente con una llamada a su nombre. siendo el programa de usuario el conjunto de todas las tareas. 13. no incrementan la longitud del programa cuando son llamadas. operaciones lógicas entre palabras (AND/OR. transferencias y comparaciones. resta SUB. a diferencia de las macro.). Cada tarea cosntituye una entidad de programación completa con sus propias entradas. o gestionando el acceso a buses de distintos procesadores que ejecutarán en paralelo las tareas asignadas. El inicio es identificado con su nombre y el final queda identificado por la palabra RETURN.). En el método de gestión de tiempo se asignan unidades de tiempo a cada tarea. ¿Qué es la programación multitarea? ¿Qué estrategias se emplean para gestionar este tipo de programación en los autómatas? La programación multitarea es cuando se programan las operaciones entre variables independientes entre sí en el tiempo en la que cada operación se compone de un programa principal. etc. a cada tarea se le asigna una prioridad. ¿Qué es una subrutina y para qué se emplea? Una subrutina es una unidad autosuficiente que se compila por separado y que puede usarse por otros programas o subrutinas a partir de una llamada (CALL). y el gestor activa las tareas por ese orden de prioridad entre las que lo solicitan.AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 12. y que es ejecutada sin error de inicio a fin y sin ningún requisito previo. el autómata irá ejecutando tareas según esta plantilla de tiempos. Las subrutinas. Se usa cuando es una secuencia de instrucciones que aparece de forma repetitiva ya sea en el mismo programa principal. II Unidad Didáctica . raíz cuadrada SQRT. Codificar en código AWL el siguiente diagrama de contactos: A E 33.4 O E 33.5 = A 32.3 AN E 33.AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 14.2 O A E 33.1 A E 33.1 II Unidad Didáctica .0 AN E 33. 0 A E 33.1 AN E 33.2 O A E 33.AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 15.3 A E 33. Codificar en código AWL el siguiente diagrama de funciones: AN E 33.1 II Unidad Didáctica .4 ON E 33.5 = A 33. es decir que la una de las salidas del autómata tome alternativamente los valores 1 y 0 durante el mismo período de tiempo una vez que se activa una entrada.0 T1 T2 1 Código AWL: A I 1.AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 16.0 T!-!0 S5T#10S TV BI DE R Q T2 T1 2 T!-!0 S5T#10S T1 TV BI DE R Q Q 1. Realizar un programa que genere una onda cuadrada.0 AN T2 L S5T#10S SD T1 A T1 L S5T#10S SD T2 AN T1 = Q 1.0 3 II Unidad Didáctica . Se utilizaran para conseguirlo do s temporizadores. La señal de salida tendrá la siguiente forma: Diagrama de contactos: I 1. 0 T!-!0 S5T#10S TV BI DE R Q T2 T1 2 T!-!0 S5T#5S T1 TV BI DE R Q Q 1. En este caso la señal t iene la siguiente forma: Diagrama de contactos: I 1.0 AN T2 L S5T#10S SD T1 A T1 L S5T#5S SD T2 AN T1 = Q 1. Modificar el programa anterior para que el tiempo en el que la señal de salida valga 1 sea diferente al tiempo en que valga 0.0 3 II Unidad Didáctica .AUTOMATAS PROGRAMABLES: ESTRUCTURA Y PROGRAMACIÓN 17.0 T1 T2 1 Código AWL: A I 1.