You are on page 1of 19

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C.

Fernndez )

Captulo 4

Diseo de sistemas de control con Autmatas Programables

4.1

INTRODUCCIN

4.2 HERRAMIENTAS DE DISEO ASISTIDO POR COMPUTADOR DE LOS SISTEMAS ELECTRNICOS DE CONTROL BASADOS EN AUTMATAS PROGRAMABLES 4.2.1 4.2.2 4.2.3 4.3 4.3.1 Introduccin Administracin de un proyecto STEP7 Recursos y requisitos necesarios para desarrollar un programa Step7 MTODOS CLSICOS DE DISEO DEL PROGRAMA DE CONTROL Diseo de sistemas combinacionales con un autmata programable.

4.3.2 Diseo de sistemas de control secuencial implementados con un autmata programable. 4.3.2.1 Mtodo de diseo basado en la emulacin de biestables RS 4.3.2.2 Mtodo del algoritmo compacto de emulacin del grafo de estados
Autmatas Programables. Entorno y Aplicaciones.

4-1

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

4.4 MTODOS COMPLEJOS 4.4.1 4.4.2

DE

DISEO

DE

SISTEMAS

DE

CONTROL

SECUENCIAL

Mtodo de diseo basado en la particin del algoritmo en fases Mtodo de diseo basado en el diagrama funcional de secuencias.

4.4.2.1 Introduccin 4.4.2.2 Conceptos bsicos de S7-Graph 4.4.2.2.1 4.4.2.2.2 Reglas de evolucin en S7-Graph Operaciones permanentes

4.4.2.3 Conceptos avanzados de S7-Graph

4.4.2.3.1

Denominacin de las etapas

Adems del hecho de que una etapa est o no activada, en ocasiones es necesario, para condicionar la evolucin de una cadena secuencial, disponer de informacin adicional sobre las etapas. Para ello, S7-Graph permite aadir al nombre de una etapa la letra X, T U que da lugar a las denominaciones <NombreEtapa.X>, <NombreEtapa.T> y <NombreEtapa.U>. <NombreEtapa.X> es una variable binaria que indica si la etapa indicada est o no activa. <NombreEtapa.T> y <NombreEtapa.U> son variables que indican el tiempo transcurrido desde el instante en que la etapa se activa, y se diferencian entre ellas en que el contaje del tiempo se detiene o no, respectivamente, cuando se produce un error de supervisin, descrito en el apartado 4.4.2.3.3. De forma similar, S7-Graph permite aadir al nombre de una transicin las letras TT o TS dando lugar a las denominaciones <NombreTransicin.TT> y <NombreTransicin.TS>. <NombreTransicin.TT> es una variable binaria que indica si la condicin asociada a la transicin indicada es cierta o no. <NombreTransicin.TS> es una variable binaria que indica si la transicin indicada se est disparndo o no.

4.4.2.3.2 4.4.2.3.3

Acciones asociadas a etapas Supervisin de la evolucin entre etapas

4.4.2.3.4 4.4.2.3.5 4.4.2.3.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.2 es importante resaltar que el estado en un cierto instante de un sistema secuencial de control descrito mediante S7-Graph, es el conjunto de etapas activas. Pero adems, en ocasiones es necesario hacer depender la evolucin de una rama de la activacin de
Autmatas Programables. Entorno y Aplicaciones.

4-2

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

las etapas de otra. Asimismo, cuando la descripcin est formada por varias cadenas secuenciales que se ejecutan simultneamente, tambin es necesario, a veces, condicionar la evolucin de una de las cadenas a la activacin de las etapas de otra. Para ello, tal como se indica en el apartado 4.4.2.3.1, S7-Graph permite utilizar el nombre de una etapa (<NombreEtapa.X>, <NombreEtapa.T> y <NombreEtapa.U>) para condicionar la evolucin de una cadena secuencial. En concreto, se pueden hacer referencias a una etapa como parte de una condicin de disparo de una transicin. La figura 4.57 utiliza referencias a otras etapas para condicionar la evolucin de las distintas cadenas secuenciales. Por ejemplo, la transicin de salida de la etapa S2 de la cadena secuencial 1 se dispara 5 segundos despus de que se ha activado. Adems, en la citada figura la evolucin de cadenas secuenciales distintas se sincroniza mediante la utilizacin del estado de una etapa (en concreto el estado de las etapas S4, S20, S23 y S31), como condicin de disparo de una transicin. Hay que resaltar que la sincronizacin mediante la utilizacin de referencias al estado de una o mas etapas implica que la dependencia de una cadena secuencial con respecto a otra no es fcil de identificar porque las lneas a puntos de la figura 4.57 no se representan en la prctica. Tambin, tal como se indica en el apartado 4.4.2.3.1, S7-Graph permite utilizar el nombre de una transicin (<NombreTransicin.TT>, y < NombreTransicin.TS>) para condicionar la evolucin de una cadena secuencial. La condicin <NombreTransicin.TT> se puede utilizar para evitar conflictos de disparo entre dos o transiciones sin repetir una condicin y negarla. 4.4.2.3.7 Temporizadores, contadores y operaciones aritmticas en acciones

Autmatas Programables. Entorno y Aplicaciones.

4-3

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

Autmatas Programables. Entorno y Aplicaciones.

4-4

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

Temporizaciones en acciones Adems de las acciones estndar con temporizacin estudiadas en el apartado 4.4.2.3.2, S7GRAPH permite la utilizacin de los temporizadores estudiados en el captulo 2.

Autmatas Programables. Entorno y Aplicaciones.

4-5

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

4.4.2.4 Integracin de cadenas secuenciales programadas en S7-Graph

4.4.2.5 Ejemplos de diseo de sistemas de control mediante el lenguaje S7-Graph.

Autmatas Programables. Entorno y Aplicaciones.

4-6

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

4.4.2.6 Ejemplos clsicos de automatizacin realizados con S7-Graph En el estudio de las redes de Petri descritas en el apndice X es habitual describir sistemas de gran importancia en la automtica y la informtica. En este apartado se consideran estos sistemas clsicos mediante varios ejemplos y se describe su modelado mediante S7-GRAPH.

Ejemplo 4.13: Sistema concurrente con secuencias alternadas. Se debe realizar el sistema secuencial de control de la figura 4.64X1, que corresponde a una de las etapas de produccin de una cadena de embotellado. La automatizacin consiste en la colocacin de un tapn metlico en la botella una vez finalizada la secuencia de llenado. Las botellas tardan 10 segundos en recorrer la distancia que existe entre el detector fotoelctrico de botella y el cilindro neumtico de expulsin, el cual se debe activar durante 1 segundo para retirar las botellas sin tapn. Suponiendo que el nmero mximo de botellas defectuosas consecutivas es 2, realizar un programa S7-GRAPH para detectar y sacar de la cadena aquellas botellas que salgan de la etapa de cierre sin el correspondiente tapn.

FIGURA 4.64X1

Sistema concurrente de taponado y expulsin de botellas.

Solucin: En la figura 4.64X2 se representa la red de Petri que realiza el sistema descrito en la figura 4.64X1 y en la figura 4.64X3 el diagrama S7- GRAPH equivalente. Dado que, por defecto, S7GRAPH no permite disparar una transicin si alguna de sus etapas de salida est activa, no es posible que las etapas S6 y S8 estn simultneamente activas, y por ello se han utilizado las etapas S61 y S81 para evitar que esto suceda. Ntese que la opcin saltar etapas de S7- GRAPH no influye en este comportamiento.

Autmatas Programables. Entorno y Aplicaciones.

4-7

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

FIGURA 4.64X2

Red de Petri para el sistema concurrente de taponado y expulsin de botellas.

Autmatas Programables. Entorno y Aplicaciones.

4-8

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

FIGURA 4.64X3

S7-GRAPH para el sistema concurrente de taponado y expulsin de botellas. 4-9


E. Mandado, J. Marcos, C. Fernndez, I. Armesto

Autmatas Programables. Entorno y Aplicaciones.

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

Ejemplo 4.14: Sistema concurrente con recurso compartido. Se debe realizar el sistema secuencial de control de dos carros de la figura 4.64X4.

iA

dA iB dB

MA MB

CA CB

A EA EB G

FIGURA 4.64X4

Sistema concurrente de dos carros con recurso compartido.

Solucin: En la figura 4.64X5 se representa la red de Petri que realiza el sistema descrito en la figura 4.64X4 y en la figura 4.64X6 el diagrama S7- GRAPH equivalente.

FIGURA 4.64X5
Autmatas Programables. Entorno y Aplicaciones.

Red de Petri para el sistema con recurso compartido. 4-10


E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

FIGURA 4.64X6

S7-GRAPH para el sistema concurrente con recurso compartido.

Ejemplo 4.15: Sistema con arcos inhibidores. Se debe realizar el sistema secuencial de control del aparcamiento subterrneo de la figura 4.64X7. Los semforos estn en rojo si no se acta sobre ellos. Cada vez que un coche quiera entrar o salir del aparcamiento deber accionar un pulsador.

Autmatas Programables. Entorno y Aplicaciones.

4-11

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )


COMPLET

S2 P1 D3 D1 S5 S3 D2
SALIDA

S1

P3

S4

P2

FIGURA 4.64X7

Acceso a un aparcamiento subterrneo.

Solucin: Para evitar que un usuario tenga que accionar su pulsador repetidas veces en caso de que no se le permita proseguir la marcha, se memoriza su pulsacin una nica vez aunque realice mltiples pulsaciones consecutivas, incluso si la pulsacin la realiza otro usuario que viene a continuacin. Para ello se utiliza la estrategia representada en la red de Petri de la figura 4.64X8, que requiere la utilizacin de los arcos inhibidores estudiados en el apndice X.

Verde_Entrada (S1) Verde_Salida (S4) Verde_Salida (S5)

FIGURA 4.64X8

Red de Petri parcial para el aparcamiento subterrneo que utiliza un arco inhibidor. 4-12
E. Mandado, J. Marcos, C. Fernndez, I. Armesto

Autmatas Programables. Entorno y Aplicaciones.

ENTRADA

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

En la figura 4.64X9 se representa el diagrama S7-GRAPH equivalente, que no utiliza ningn nuevo tipo de enlace, ya que en S7-GRAPH se puede examinar directamente si una etapa est inactiva. Dado que, por defecto, S7-GRAPH no permite disparar una transicin si alguna de sus etapas de salida est activa, no es posible que las etapas S1 y S2 estn simultneamente activas y, por ello, en este caso particular no es necesario simular el comportamiento del arco inhibidor. La variable fP utilizada en la mencionada figura representa el flanco positivo del pulsador P.

FIGURA 4.64X9

S7-GRAPH parcial para el aparcamiento subterrneo.

4.6 COMPARACIN DEL MTODO DE DISEO BASADO EN S7-GRAPH Y EL DEL DIAGRAMA DE PARTICIN EN FASES.

Ejemplo 4.16: Sistema concurrente de llenado y transporte de cajas. Se debe describir el sistema secuencial de control del proceso de llenado y transporte de cajas de la figura 4.65 que llena y desplaza cajas de 50 cm de lado. Las cintas, que inicialmente estn vacas, se desplazan a 10 cm/seg,. Al pulsar M, la cinta 2, movida por Motor2, transporta cajas que se cargan con 40 Kg de arena. En la base de la cinta hay un sensor analgico de peso que permite determinar la cantidad del material que echa en la caja la cinta 1 que est accionada por Motor1. El sensor A permite posicionar adecuadamente las cajas. Simultneamente a la actuacin de las cintas 1 y 2, el sensor B situado en la cinta 3 (accionada por Motor3) se activa cada vez que una nueva caja comienza su recorrido por ella. Las cajas que se desplazan por las cintas 2 y 3 pueden estar muy prximas entre s, incluso en contacto. Una vez que una caja se llena, contina por la cinta 2 hasta caer en la cinta 3 por medio de una rampa. Para ello, entre las cajas que se desplazan por la cinta 3 debe existir un hueco (el doble de lo que mide una caja). El sistema se detiene cuando se hayan llenado 100 cajas, y la ltima debe evacuarse de igual
Autmatas Programables. Entorno y Aplicaciones.

4-13

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

forma que las anteriores.

FIGURA 4.65

Sistema concurrente de llenado y transporte de cajas.

Solucin: En la figura 4.65X1 se representa la red de Petri que realiza el sistema descrito en la figura 4.65 y en la 4.66 el diagrama S7-Graph equivalente. Las figuras 4.67 y 4.68 muestran el algoritmo basado en el mtodo de la particin en fases. Las tres soluciones dividen el problema en dos partes, una de las cuales se encarga de llenar cajas y la otra de detectar la presencia del hueco necesario para la evacuacin de las cajas llenas. Dicha divisin es imprescindible dado que la informacin de la existencia o no hueco en la cinta 3 para la caja llenada por las cintas 1 y 2 depende, del comportamiento previo de las cajas de la cinta 3. De la comparacin de la solucin basada en redes de Petri con la solucin basada en S7-Graph se deduce: - Las dos se pueden utilizar para realizar la automatizacin de sistemas secuenciales concurrentes, ya que ambas disponen de ramas simultneas (descritas en el apartado 4.4.2.2.1), que son elementos capaces de crear evoluciones paralelas. - La sincronizacin entre las dos ramas simultneas es grficamente visible en la RdP. - Debido a la mayor expresin grfica de las RdP, la deteccin de conflictos es ms intuitiva. - La posibilidad de utilizar referencias directas al estado de una etapa de S7-Graph, disminuye su expresividad grfica, pero simplifica notablemente el diagrama (Transicin T7). - La disponibilidad de un temporizador por etapa que indica el tiempo que hace que sta se activ, consume una gran cantidad de recursos pero facilita la utilizacin de las temporizaciones (Etapa S9 y transicin T11). - La utilizacin de los contadores es prcticamente equivalente en ambas soluciones, 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 accin condicionada por un evento (Etapa S8).

Autmatas Programables. Entorno y Aplicaciones.

4-14

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

FIGURA 4.65X1

Red de Petri para el sistema de la figura 4.65.

Autmatas Programables. Entorno y Aplicaciones.

4-15

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

FIGURA 4.66

S7-Graph para el sistema de la figura 4.65.

En el algoritmo de las figuras 4.67 y 4.68 se utilizan fases a y fases b para que en el mismo ciclo del autmata programable se ejecuten, simultneamente, una fase de cada tipo. Obsrvese que esta misma estrategia se produce en el diagrama S7-Graph al disparar la transicin T1.
Autmatas Programables. Entorno y Aplicaciones.

4-16

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez )

Al disear el algoritmo de las fases a de la figura 4.68 es posible que no se tenga en cuenta adecuadamente el comportamiento de las fases b. La figura 4.69 muestra un algoritmo incorrecto de la fase 3a, que es la nica que depende de la variable de sincronizacin Hueco que puede cambiar su valor en cualquier momento debido a la ejecucin simultnea de las fases b con la fase 3a. De la comparacin de la solucin basada en S7-Graph con la solucin basada en el algoritmo dividido en fases se deduce: - Las dos se pueden utilizar para realizar la automatizacin de sistemas concurrentes, pero S7-Graph est mejor adaptado debido a que dispone de ramas simultneas (descritas en el apartado 4.4.2.2.1), que son elementos capaces de crear evoluciones paralelas. - La sincronizacin entre las evoluciones paralelas es sencilla en S7-Graph, mientras que el mtodo de particin del algoritmo en fases se deben utilizar variables de sincronizacin que pueden provocar errores de diseo (Figura 4.69). - La representacin en S7-Graph es ms concisa y fcil de seguir. - La representacin algortmica es ms universal y no exige el aprendizaje de un lenguaje especialmente orientado al control de sistemas secuenciales, concurrentes o no, como es S7-Graph, lo que puede ser ventajoso para los usuarios que provienen de otros mbitos de programacin. BIBLIOGRAFA Las redes de Petri que se muestran en este documento han sido realizadas con el programa HPetriNets v0.62, realizado por el autor de esta 2 revisin.

Autmatas Programables. Entorno y Aplicaciones.

4-17

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez ) CAPTULO 4 .................................................................................................................................................................4-1 4.1 INTRODUCCIN ...........................................................................................................................................4-1 4.2 HERRAMIENTAS DE DISEO ASISTIDO POR COMPUTADOR DE LOS SISTEMAS ELECTRNICOS DE CONTROL BASADOS EN AUTMATAS PROGRAMABLES ............................................................4-1 4.2.1 Introduccin ...........................................................................................................................................4-1 4.2.2 Administracin de un proyecto STEP7................................................................................................4-1 4.2.3 Recursos y requisitos necesarios para desarrollar un programa Step7 ............................................4-1 4.3 MTODOS CLSICOS DE DISEO DEL PROGRAMA DE CONTROL...................................................4-1 4.3.1 Diseo de sistemas combinacionales con un autmata programable. ...............................................4-1 4.3.2 Diseo de sistemas de control secuencial implementados con un autmata programable...............4-1 4.3.2.1 Mtodo de diseo basado en la emulacin de biestables RS .......................................................4-1 4.3.2.2 Mtodo del algoritmo compacto de emulacin del grafo de estados ...........................................4-1 4.4 MTODOS DE DISEO DE SISTEMAS DE CONTROL SECUENCIAL COMPLEJOS ...........................4-2 4.4.1 Mtodo de diseo basado en la particin del algoritmo en fases .......................................................4-2 4.4.2 Mtodo de diseo basado en el diagrama funcional de secuencias....................................................4-2 4.4.2.1 Introduccin ..................................................................................................................................4-2 4.4.2.2 Conceptos bsicos de S7-Graph....................................................................................................4-2 4.4.2.2.1 Reglas de evolucin en S7-Graph .............................................................................................4-2 4.4.2.2.2 Operaciones permanentes .........................................................................................................4-2 4.4.2.3 Conceptos avanzados de S7-Graph...............................................................................................4-2 4.4.2.3.1 Denominacin de las etapas .....................................................................................................4-2 4.4.2.3.2 Acciones asociadas a etapas .....................................................................................................4-2 4.4.2.3.3 Supervisin de la evolucin entre etapas ..................................................................................4-2 4.4.2.3.4 Eventos y acciones asociadas....................................................................................................4-2 4.4.2.3.5 Acciones para activar y desactivar otras etapas.......................................................................4-2 4.4.2.3.6 Transiciones condicionadas por etapas o por otras transiciones .............................................4-2 4.4.2.3.7 Temporizadores, contadores y operaciones aritmticas en acciones........................................4-3 4.4.2.4 Integracin de cadenas secuenciales programadas en S7-Graph ...............................................4-6 4.4.2.5 Ejemplos de diseo de sistemas de control mediante el lenguaje S7-Graph...............................4-6 4.4.2.6 Ejemplos clsicos de automatizacin realizados con S7-Graph..................................................4-7 4.6 COMPARACIN DEL MTODO DE DISEO BASADO EN S7-GRAPH Y EL DEL DIAGRAMA DE PARTICIN EN FASES. ..............................................................................................................................4-13 BIBLIOGRAFA.......................................................................................................................................................4-17

Autmatas Programables. Entorno y Aplicaciones.

4-18

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

( Preliminar Captulo 4 (de la primera revisin) 2 Revisin por C. Fernndez ) Falta - Apartado 4.4.2.3.4.

o si la condicin de enclavamiento no se cumple al activarse la etapa 4

Autmatas Programables. Entorno y Aplicaciones.

4-19

E. Mandado, J. Marcos, C. Fernndez, I. Armesto

You might also like