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

Introduccin

4.2.2

Administracin de un proyecto STEP7

4.2.3

Recursos y requisitos necesarios para desarrollar un programa Step7

4.3

MTODOS CLSICOS DE DISEO DEL PROGRAMA DE CONTROL

4.3.1

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

DE

DISEO

DE

SISTEMAS

DE

CONTROL

4.4.1

Mtodo de diseo basado en la particin del algoritmo en fases

4.4.2

Mtodo de diseo basado en el diagrama funcional de secuencias.

SECUENCIAL

4.4.2.1 Introduccin
4.4.2.2 Conceptos bsicos de S7-Graph
4.4.2.2.1

Reglas de evolucin en S7-Graph

4.4.2.2.2

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

Acciones asociadas a etapas

4.4.2.3.3

Supervisin de la evolucin entre etapas

4.4.2.3.4

Eventos y acciones asociadas

4.4.2.3.5

Acciones para activar y desactivar otras etapas

4.4.2.3.6

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.

Autmatas Programables. Entorno y Aplicaciones.

4-9

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

( 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

CA

MA

dA
iB

A
EA

MB

CB

FIGURA 4.64X4

EB

dB

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

COMPLET

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

S2
P1

ENTRADA

D3
D1
S3

S5

S1

D2
SALIDA

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)

FIGURA 4.64X8

Verde_Salida
(S5)

Red de Petri parcial para el aparcamiento subterrneo que utiliza un arco inhibidor.

Autmatas Programables. Entorno y Aplicaciones.

4-12

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

( 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

Autmatas Programables. Entorno y Aplicaciones.

Red de Petri para el sistema de la figura 4.65.

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