( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C.Fernández ) Capítulo 4 Diseño de sistemas de control con Autómatas Programables 4.1 INTRODUCCIÓN 4.2 HERRAMIENTAS DE DISEÑO ASISTIDO POR COMPUTADOR DE LOS SISTEMAS ELECTRÓNICOS DE CONTROL BASADOS EN AUTÓMATAS PROGRAMABLES 4.2.1 4.2.2 4.2.3 4.3 4.3.1 Introducción Administración de un proyecto STEP7 Recursos y requisitos necesarios para desarrollar un programa Step7 MÉTODOS CLÁSICOS DE DISEÑO DEL PROGRAMA DE CONTROL Diseño de sistemas combinacionales con un autómata programable. 4.3.2 Diseño de sistemas de control secuencial implementados con un autómata programable. 4.3.2.1 Método de diseño basado en la emulación de biestables RS 4.3.2.2 Método del algoritmo compacto de emulación del grafo de estados Autómatas Programables. Entorno y Aplicaciones. 4-1 E. Mandado, J. Marcos, C. Fernández, I. Armesto en ocasiones es necesario.4.2. I.5 4. <NombreTransición. Fernández ) 4.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C.3.4. 4.4.1 Denominación de las etapas Además del hecho de que una etapa esté o no activada.3.4.X>. Mandado.4.2. S7-Graph permite añadir al nombre de una transición las letras TT o TS dando lugar a las denominaciones <NombreTransición.2.4. 4-2 E. 4.2.2 4.T> y <NombreEtapa.4.TT> es una variable binaria que indica si la condición asociada a la transición indicada es cierta o no. <NombreEtapa.2 es importante resaltar que el estado en un cierto instante de un sistema secuencial de control descrito mediante S7-Graph.3.4.2 Reglas de evolución en S7-Graph Operaciones permanentes 4.2 Conceptos básicos de S7-Graph 4. en ocasiones es necesario hacer depender la evolución de una rama de la activación de Autómatas Programables. para condicionar la evolución de una cadena secuencial.TS>.U>.U> son variables que indican el tiempo transcurrido desde el instante en que la etapa se activa. Para ello. cuando se produce un error de supervisión.3 Acciones asociadas a etapas Supervisión de la evolución entre etapas 4.2.2.2. respectivamente. descrito en el apartado 4.4.1 4.1 Introducción 4.6 Eventos y acciones asociadas Acciones para activar y desactivar otras etapas Transiciones condicionadas por etapas o por otras transiciones Tal como se indica en el apartado 2.4 4.4. <NombreEtapa.T> y <NombreEtapa.2. S7-Graph permite añadir al nombre de una etapa la letra X. Marcos.3. Pero además.2.2.2. <NombreEtapa.2. T ó U que da lugar a las denominaciones <NombreEtapa.X> es una variable binaria que indica si la etapa indicada está o no activa.3 Conceptos avanzados de S7-Graph 4.1 4.2.4. De forma similar. Entorno y Aplicaciones.3.3.4. es el conjunto de etapas activas. C.4.3. <NombreTransición.3.4 MÉTODOS COMPLEJOS 4. J.2 DE DISEÑO DE SISTEMAS DE CONTROL SECUENCIAL Método de diseño basado en la partición del algoritmo en fases Método de diseño basado en el diagrama funcional de secuencias. y se diferencian entre ellas en que el contaje del tiempo se detiene o no. Armesto .TT> y <NombreTransición.TS> es una variable binaria que indica si la transición indicada se está disparándo o no. disponer de información adicional sobre las etapas.2. Fernández.4.4. en la citada figura la evolución de cadenas secuenciales distintas se sincroniza mediante la utilización del estado de una etapa (en concreto el estado de las etapas S4. Para ello. <NombreEtapa. I.1.2.4.TS>) para condicionar la evolución de una cadena secuencial. J. Fernández ) las etapas de otra.57 no se representan en la práctica.T> y <NombreEtapa. S23 y S31).TT> se puede utilizar para evitar conflictos de disparo entre dos o transiciones sin repetir una condición y negarla.2. se pueden hacer referencias a una etapa como parte de una condición de disparo de una transición. tal como se indica en el apartado 4. a veces. También. también es necesario. La condición <NombreTransición.4. 4. Asimismo.U>) para condicionar la evolución de una cadena secuencial.2. como condición de disparo de una transición.57 utiliza referencias a otras etapas para condicionar la evolución de las distintas cadenas secuenciales. S7-Graph permite utilizar el nombre de una transición (<NombreTransición. Hay que resaltar que la sincronización mediante la utilización de referencias al estado de una o mas etapas implica que la dependencia de una cadena secuencial con respecto a otra no es fácil de identificar porque las líneas a puntos de la figura 4. tal como se indica en el apartado 4.7 Temporizadores. Mandado. La figura 4.3. Fernández. la transición de salida de la etapa S2 de la cadena secuencial 1 se dispara 5 segundos después de que se ha activado.3. Entorno y Aplicaciones. S20.X>. Además.3. contadores y operaciones aritméticas en acciones Autómatas Programables. 4-3 E.TT>. Marcos. condicionar la evolución de una de las cadenas a la activación de las etapas de otra.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C.4. En concreto.1. Armesto . y < NombreTransición. Por ejemplo. C. cuando la descripción está formada por varias cadenas secuenciales que se ejecutan simultáneamente. S7-Graph permite utilizar el nombre de una etapa (<NombreEtapa. I. Armesto . J. 4-4 E. Mandado. C. Entorno y Aplicaciones. Fernández. Marcos.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Fernández ) Autómatas Programables. C.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C.2. Fernández ) Temporizaciones en acciones Además de las acciones estándar con temporización estudiadas en el apartado 4.3. Fernández. S7GRAPH permite la utilización de los temporizadores estudiados en el capítulo 2. Autómatas Programables. Entorno y Aplicaciones. Marcos.4. Armesto . I.2. Mandado. J. 4-5 E. ( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Mandado.5 Ejemplos de diseño de sistemas de control mediante el lenguaje S7-Graph. C. I.2. J. Fernández ) 4. 4-6 E. Armesto .2.4.4. Marcos.4 Integración de cadenas secuenciales programadas en S7-Graph 4. Autómatas Programables. Entorno y Aplicaciones. Fernández. GRAPH equivalente. C. S7GRAPH no permite disparar una transición si alguna de sus etapas de salida está activa. Autómatas Programables.GRAPH no influye en este comportamiento.4. realizar un programa S7-GRAPH para detectar y sacar de la cadena aquellas botellas que salgan de la etapa de cierre sin el correspondiente tapón. Entorno y Aplicaciones. I.6 Ejemplos clásicos de automatización realizados con S7-Graph En el estudio de las redes de Petri descritas en el apéndice X es habitual describir sistemas de gran importancia en la automática y la informática.64X1 y en la figura 4. el cual se debe activar durante 1 segundo para retirar las botellas sin tapón.64X2 se representa la red de Petri que realiza el sistema descrito en la figura 4. 4-7 E. La automatización consiste en la colocación de un tapón metálico en la botella una vez finalizada la secuencia de llenado. que corresponde a una de las etapas de producción de una cadena de embotellado. En este apartado se consideran estos sistemas clásicos mediante varios ejemplos y se describe su modelado mediante S7-GRAPH. Dado que. J. Armesto .2.64X1. Solución: En la figura 4.13: Sistema concurrente con secuencias alternadas. FIGURA 4. no es posible que las etapas S6 y S8 estén simultáneamente activas. por defecto. Se debe realizar el sistema secuencial de control de la figura 4. Fernández. Ejemplo 4. Suponiendo que el número máximo de botellas defectuosas consecutivas es 2. y por ello se han utilizado las etapas S61 y S81 para evitar que esto suceda. Las botellas tardan 10 segundos en recorrer la distancia que existe entre el detector fotoeléctrico de botella y el cilindro neumático de expulsión. Mandado. Fernández ) 4.64X3 el diagrama S7. Nótese que la opción “saltar etapas” de S7.64X1 Sistema concurrente de taponado y expulsión de botellas.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Marcos. Fernández. Autómatas Programables. Mandado. I.64X2 Red de Petri para el sistema concurrente de taponado y expulsión de botellas. Armesto .( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Entorno y Aplicaciones. J. Marcos. 4-8 E. C. Fernández ) FIGURA 4. Armesto Autómatas Programables. Fernández. 4-9 E.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Marcos. Entorno y Aplicaciones. J. . C.64X3 S7-GRAPH para el sistema concurrente de taponado y expulsión de botellas. Mandado. I. Fernández ) FIGURA 4. 64X5 Autómatas Programables. 4-10 E.64X6 el diagrama S7. Mandado. Fernández ) Ejemplo 4.14: Sistema concurrente con recurso compartido.64X5 se representa la red de Petri que realiza el sistema descrito en la figura 4. Se debe realizar el sistema secuencial de control de dos carros de la figura 4. Red de Petri para el sistema con recurso compartido. I.64X4 Sistema concurrente de dos carros con recurso compartido.64X4. Solución: En la figura 4.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Fernández.64X4 y en la figura 4. Marcos. J. FIGURA 4. Armesto . C.GRAPH equivalente. Entorno y Aplicaciones. iA dA iB dB MA MB CA CB A EA EB G B D FIGURA 4. ( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Los semáforos están en rojo si no se actúa sobre ellos. Cada vez que un coche quiera entrar o salir del aparcamiento deberá accionar un pulsador. Entorno y Aplicaciones. Fernández ) FIGURA 4. 4-11 E. Se debe realizar el sistema secuencial de control del aparcamiento subterráneo de la figura 4. Ejemplo 4.15: Sistema con arcos inhibidores. Armesto .64X6 S7-GRAPH para el sistema concurrente con recurso compartido. Fernández. I. Marcos.64X7. Autómatas Programables. J. C. Mandado. que requiere la utilización de los arcos inhibidores estudiados en el apéndice X. Mandado. Fernández. Solución: Para evitar que un usuario tenga que accionar su pulsador repetidas veces en caso de que no se le permita proseguir la marcha. 4-12 E. incluso si la pulsación la realiza otro usuario que viene a continuación.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. ENTRADA . Entorno y Aplicaciones. se memoriza su pulsación una única vez aunque realice múltiples pulsaciones consecutivas. Verde_Entrada (S1) Verde_Salida (S4) Verde_Salida (S5) FIGURA 4. C. Para ello se utiliza la estrategia representada en la red de Petri de la figura 4. Marcos.64X8 Red de Petri parcial para el aparcamiento subterráneo que utiliza un arco inhibidor. J.64X8.64X7 Acceso a un aparcamiento subterráneo. I. Armesto Autómatas Programables. Fernández ) COMPLET S2 P1 D3 D1 S5 S3 D2 SALIDA S1 P3 S4 P2 FIGURA 4. continúa por la cinta 2 hasta caer en la cinta 3 por medio de una rampa. C. Fernández. Dado que. por ello. El sensor A permite posicionar adecuadamente las cajas. Se debe describir el sistema secuencial de control del proceso de llenado y transporte de cajas de la figura 4. 4.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Fernández ) En la figura 4. Armesto . el sensor B situado en la cinta 3 (accionada por “Motor3”) se activa cada vez que una nueva caja comienza su recorrido por ella. incluso en contacto. por defecto.64X9 S7-GRAPH parcial para el aparcamiento subterráneo. transporta cajas que se cargan con 40 Kg de arena. Las cajas que se desplazan por las cintas 2 y 3 pueden estar muy próximas entre sí. S7-GRAPH no permite disparar una transición si alguna de sus etapas de salida está activa. Al pulsar M. Marcos. Entorno y Aplicaciones. La variable fP utilizada en la mencionada figura representa el flanco positivo del pulsador P. ya que en S7-GRAPH se puede examinar directamente si una etapa está inactiva.6 COMPARACIÓN DEL MÉTODO DE DISEÑO BASADO EN S7-GRAPH Y EL DEL DIAGRAMA DE PARTICIÓN EN FASES. que inicialmente están vacías. Ejemplo 4. Una vez que una caja se llena. entre las cajas que se desplazan por la cinta 3 debe existir un hueco (el doble de lo que mide una caja). la cinta 2. y la última debe evacuarse de igual Autómatas Programables. Simultáneamente a la actuación de las cintas 1 y 2. en este caso particular no es necesario simular el comportamiento del arco inhibidor. Mandado. Las cintas. movida por “Motor2”. que no utiliza ningún nuevo tipo de enlace.64X9 se representa el diagrama S7-GRAPH equivalente. En la base de la cinta hay un sensor analógico de peso que permite determinar la cantidad del material que echa en la caja la cinta 1 que está accionada por “Motor1”.16: Sistema concurrente de llenado y transporte de cajas. se desplazan a 10 cm/seg.. I. Para ello.65 que llena y desplaza cajas de 50 cm de lado. FIGURA 4. El sistema se detiene cuando se hayan llenado 100 cajas. 4-13 E. J. no es posible que las etapas S1 y S2 estén simultáneamente activas y. 65 y en la 4. que son elementos capaces de crear evoluciones paralelas. Armesto .La utilización de los contadores es prácticamente equivalente en ambas soluciones. 4-14 E.2. si exceptuamos que en las RdP es habitual realizarlo en las transiciones mediante una salida impulsional y en S7-Graph se realiza en las etapas mediante una acción condicionada por un evento (Etapa S8).La disponibilidad de un temporizador por etapa que indica el tiempo que hace que ésta se activó. . C. De la comparación de la solución basada en redes de Petri con la solución basada en S7-Graph se deduce: .4. Solución: En la figura 4. .67 y 4.68 muestran el algoritmo basado en el método de la partición en fases. J. Fernández ) forma que las anteriores.Las dos se pueden utilizar para realizar la automatización de sistemas secuenciales concurrentes.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. .1). Entorno y Aplicaciones. la detección de conflictos es más intuitiva. Las figuras 4. Autómatas Programables. FIGURA 4. Las tres soluciones dividen el problema en dos partes.La sincronización entre las dos ramas simultáneas es gráficamente visible en la RdP. pero simplifica notablemente el diagrama (Transición T7).Debido a la mayor expresión gráfica de las RdP. consume una gran cantidad de recursos pero facilita la utilización de las temporizaciones (Etapa S9 y transición T11).La posibilidad de utilizar referencias directas al estado de una etapa de S7-Graph. del comportamiento previo de las cajas de la cinta 3.65 Sistema concurrente de llenado y transporte de cajas.65X1 se representa la red de Petri que realiza el sistema descrito en la figura 4. I. Dicha división es imprescindible dado que la información de la existencia o no hueco en la cinta 3 para la caja llenada por las cintas 1 y 2 depende. Marcos. Fernández.2. una de las cuales se encarga de llenar cajas y la otra de detectar la presencia del hueco necesario para la evacuación de las cajas llenas. ya que ambas disponen de ramas simultáneas (descritas en el apartado 4. disminuye su expresividad gráfica.66 el diagrama S7-Graph equivalente. . Mandado. . 65X1 Red de Petri para el sistema de la figura 4. C. Fernández ) FIGURA 4.65. 4-15 E. J. Entorno y Aplicaciones. I. Mandado. Fernández. Autómatas Programables. Armesto .( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Marcos. Armesto . 4-16 E. En el algoritmo de las figuras 4. I.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Fernández.65. C. Marcos. Autómatas Programables. Fernández ) FIGURA 4.68 se utilizan fases “a” y fases “b” para que en el mismo ciclo del autómata programable se ejecuten. Entorno y Aplicaciones.66 S7-Graph para el sistema de la figura 4.67 y 4. una fase de cada tipo. Obsérvese que esta misma estrategia se produce en el diagrama S7-Graph al disparar la transición T1. J. Mandado. simultáneamente. La representación en S7-Graph es más concisa y fácil de seguir.1). J.69 muestra un algoritmo incorrecto de la fase 3a. 4-17 E. Fernández ) Al diseñar el algoritmo de las fases “a” de la figura 4. que es la única que depende de la variable de sincronización “Hueco” que puede cambiar su valor en cualquier momento debido a la ejecución simultánea de las fases “b” con la fase 3a. La figura 4. C.68 es posible que no se tenga en cuenta adecuadamente el comportamiento de las fases “b”. Armesto . lo que puede ser ventajoso para los usuarios que provienen de otros ámbitos de programación. Marcos. . mientras que el método de partición del algoritmo en fases se deben utilizar variables de sincronización que pueden provocar errores de diseño (Figura 4. De la comparación de la solución basada en S7-Graph con la solución basada en el algoritmo dividido en fases se deduce: .2. Autómatas Programables.69). realizado por el autor de esta 2ª revisión.La sincronización entre las evoluciones paralelas es sencilla en S7-Graph. Fernández.62. Entorno y Aplicaciones.4.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. BIBLIOGRAFÍA Las redes de Petri que se muestran en este documento han sido realizadas con el programa HPetriNets v0. . pero S7-Graph está mejor adaptado debido a que dispone de ramas simultáneas (descritas en el apartado 4. I.2. como es S7-Graph. concurrentes o no.Las dos se pueden utilizar para realizar la automatización de sistemas concurrentes. . Mandado. que son elementos capaces de crear evoluciones paralelas.La representación algorítmica es más universal y no exige el aprendizaje de un lenguaje especialmente orientado al control de sistemas secuenciales. ......3.................1 Denominación de las etapas ..2 Administración de un proyecto STEP7..4.................................................................................................5 Acciones para activar y desactivar otras etapas......4-2 4............4-1 4....2 HERRAMIENTAS DE DISEÑO ASISTIDO POR COMPUTADOR DE LOS SISTEMAS ELECTRÓNICOS DE CONTROL BASADOS EN AUTÓMATAS PROGRAMABLES ...........4-1 4.........................................1 Introducción ..............3 Supervisión de la evolución entre etapas .....................................................4-2 4...................................2....4.........................4-2 4........4-2 4......4-1 4..................3............. Fernández.........................4...........................2 Operaciones permanentes ...2 Conceptos básicos de S7-Graph...........1 INTRODUCCIÓN ............2 Método de diseño basado en el diagrama funcional de secuencias..6 Ejemplos clásicos de automatización realizados con S7-Graph.................4-2 4...............................................................2..............4...........4.....2......................................................................... Armesto ...............................................4-13 BIBLIOGRAFÍA.....2.........4-2 4.................. Fernández ) CAPÍTULO 4 .4-1 4.................................................................. J............4-1 4.....2.........3..................4-1 4..........................4......3 MÉTODOS CLÁSICOS DE DISEÑO DEL PROGRAMA DE CONTROL...............2............................................4 MÉTODOS DE DISEÑO DE SISTEMAS DE CONTROL SECUENCIAL COMPLEJOS ..1 Método de diseño basado en la emulación de biestables RS ..................4................................2 Método del algoritmo compacto de emulación del grafo de estados ....................2............................... .7 Temporizadores........................................6 COMPARACIÓN DEL MÉTODO DE DISEÑO BASADO EN S7-GRAPH Y EL DEL DIAGRAMA DE PARTICIÓN EN FASES......4.......................4..4......5 Ejemplos de diseño de sistemas de control mediante el lenguaje S7-Graph........................2.3......................................................................................4-2 4............4-2 4......2 Diseño de sistemas de control secuencial implementados con un autómata programable.4-2 4..........................................4-1 4. Entorno y Aplicaciones................................3 Conceptos avanzados de S7-Graph.......4-3 4........................................4-6 4......................4-1 4......................................4..........................4-7 4.1 Método de diseño basado en la partición del algoritmo en fases ...............3........................2 Acciones asociadas a etapas ......................................................4.....................................6 Transiciones condicionadas por etapas o por otras transiciones ........................4-1 4...4........................4-17 Autómatas Programables..2..... I.............2.....................................2................2...............2............4 Integración de cadenas secuenciales programadas en S7-Graph ..............2....... contadores y operaciones aritméticas en acciones.........4-2 4...............................................................................4-2 4................. 4-18 E.3.............................................( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C.............2.....3...............4...........4-2 4...................................................................2.......3........................4.....3.....2.....................................2............2.......................... Marcos.....4-1 4.......4...........................4 Eventos y acciones asociadas.......................2.4-1 4...........................1 Reglas de evolución en S7-Graph ....4-2 4......................................................................3....... Mandado..........4......................................................................1 Diseño de sistemas combinacionales con un autómata programable...........3..................................................1 Introducción .....2...............2..........4-2 4............ C....................... ...3 Recursos y requisitos necesarios para desarrollar un programa Step7 .....................................4-6 4.......... o si la condición de enclavamiento no se cumple al activarse la etapa 4 Autómatas Programables. J.2.4. Fernández ) Falta . Fernández. Mandado.3. C. I.Apartado 4. Armesto . 4-19 E. Marcos.( Preliminar Capítulo 4 (de la primera revisión) – 2ª Revisión por C. Entorno y Aplicaciones.4.