Máster Universitario
AUT02. Autómatas Programables
Profesor: Jordi Muñoz (UV) Curso académico 2010-2011
Máster diseño, instalación y mantenimiento de sistemas de automatización industrial Tema 2. Autómatas Programables
Programación en diagrama de relés El lenguaje de programación en diagrama de rels, tambin llamado diagrama de escalera, surge como un lenguaje de !ácil uso "ue trata de emular los rels y bobinas utilizados en los primeros sistemas de control. #a idea era "ue los operarios, acostumbrados a trabajar con rels y bobinas !$sicos, no tu%ieran "ue aprender un lenguaje de programación y pudieran comenzar a utilizar los autómatas directamente y sin problemas. A lo largo de esta sección %eremos las instrucciones más utilizadas en un programa de rels. &eremos las pertenecientes al autómata 'PM(A, aun"ue las instrucciones en otros autómatas son las mismas o muy parecidas. #a instrucción básica en un diagrama de rels es justamente un rel, simbolizado mediante el siguiente grá!ico)
Este s$mbolo representa un rel en posición normalmente abierto, lo "ue signi!ica "ue en ausencia de señal no e*iste contacto entre sus dos terminales. +i el rel está normalmente cerrado entonces su s$mbolo es)
Mediante dos rels ya tenemos la posibilidad de realizar las operaciones básicas A- y /, y puesto "ue tenemos rels 0negados1 normalmente cerrados3, tambin operaciones A- y /. 'on estas cuatro operaciones lógicas básicas podemos implementar cual"uier !unción lógica, independientemente de su complejidad, combinándolas entre ellas. Para 4acer una operación A- ponemos dos rels en serie)
-e este modo, sólo cuando los dos rels estn acti%ados la corriente podrá pasar a tra%s de ambos. Para 4acer una operación / ponemos los rels en paralelo)
En este caso la corriente pasará de uno a otro e*tremo con la condición de "ue uno de los dos, o los dos, est acti%ado. En el autómata cada rel está asociado a un bit de su memoria. +i este bit de memoria corresponde al canal de entradas entonces tendremos conectadoal rel un sensor cuya salida es digital. #a otra pieza cla%e en el diagrama de rels además del rel es la bobina, "ue act5a como salida. +u s$mbolo es)
(
Máster diseño, instalación y mantenimiento de sistemas de automatización industrial Tema 2. Autómatas Programables
#a l$nea %ertical a la derec4a del s$mbolo indica "ue no podemos poner ning5n otro elemento despus de una bobina. Es un elemento de salida, y por tanto el circuito acaba en l. Tambin disponemos de salidas negadas, simbolizadas por)
'on los elementos básicos ya podemos programar un buen n5mero de aplicaciones. &amos a %er un pe"ueño ejemplo. +upongamos "ue "ueremos acti%ar un bombilla cuando se acti%e el interruptor de la luz y cuando un sensor digital de luminosidad indi"ue "ue es de noc4e. En este ejemplo tenemos dos entradas el interruptor de la luz y el sensor de luminosidad3 y un salida la bombilla3, y básicamente tenemos "ue 4acer una operación A- entre las dos entradas. El programa ser$a)
7nterruptor
+ensor de luminosidad
8ombilla
+i nos cambian las especi!icaciones y lo "ue nos piden es "ue el interruptor encienda la bombilla aun"ue sea de d$a, y "ue el sensor de luminosidad siga !uncionado, entonces el programa cambia a)
7nterruptor
8ombilla
+ensor de luminosidad
Temporizadores Para utilizar temporizadores en un diagrama de rels necesitamos un nue%o elemento "ue lo simbolice y "ue nos permita integrarlo con los elementos básicos, rels y bobinas. 'ada autómata de!ine sus temporizadores en !unción de los "ue disponga. El temporizador del 'PM(A de mron tiene el siguiente s$mbolo) T7M 9 Temp &alor
#a l$nea 4orizontal de la iz"uierda es la entrada de control del temporizador. El temporizador se acti%a cuando esta entrada pasa de 6 a ( !lanco de subida3. #a cuenta se realiza mientras la entrada permanece acti%ada. +i la entrada se desacti%a antes de !inalizar la cuenta el temporizador se resetea de modo "ue la siguiente %ez "ue la entrada pase a ( comenzará a temporizar de nue%o. +i por el
2
Máster diseño, instalación y mantenimiento de sistemas de automatización industrial Tema 2. Autómatas Programables contrario la entrada permanece acti%ada todo el tiempo programado el temporizador se acti%ará y permanecerá acti%ado 4asta "ue la l$nea de entrada pase de nue%o a 6. 'omo se %e en su s$mbolo, el temporizador tiene dos parámetros. El primero es el número de temporizador . El 'MP(A dispone de (2: temporizadores numerados de 666 a (2;. El segundo parámetro es el %alor del temporizador, y puede ser un %alor constante, en cuyo caso se representa con un s$mbolo de almo4adilla delante <3, o la dirección de un canal "ue contiene el %alor a temporizar. En ambos casos, el %alor está en dcimas de segundo y en !ormato 8'-, de modo "ue si se "uieren contar = segundos debemos poner el campo %alor a <=6, o poner el n5mero de un canal "ue contenga el %alor =6 en 8'-. El temporizador es un elemento terminal, igual "ue las bobinas. o puede 4aber nada a la derec4a de un temporizador. #a pregunta entonces es) >cómo sabemos cuando un temporizador 4a terminado su cuenta? /espuesta) se asocia un rel al %alor de salida del temporizador. Por ejemplo, si 4emos programado el temporizador ( nos re!eriremos a l con la eti"ueta T7M(. 7lustremos todo esto mediante un ejemplo sencillo. +upongamos "ue "ueremos programar una %agoneta "ue %a de un e*tremo a otro de un ra$l "ue inicialmente se encuentra a la iz"uierda, de modo "ue al pulsar un botón esta se desplaza 4acia la derec4a@ cuando llega a la derec4a debe permancer all$ durante = segundos, transcurridos los cuales %uel%e a la iz"uierda y se detiene. Para mo%er la %agoneta disponemos de dos motores, uno "ue la desplaza 4acia la derec4a, y otro "ue la desplaza 4acia la iz"uierda. Antes de mirar la solución propuesta a continuación se recomienda intentar resol%er el problema. na posible solución ser$a.
Este programa ilustra cómo re!erirse a un temporizador mediante un rel, pero en l tambin se encuentran conceptos "ue %eremos a continuación.
B
Máster diseño, instalación y mantenimiento de sistemas de automatización industrial Tema 2. Autómatas Programables
Enclavamientos +i nos !ijamos en el programa anterior %emos como para acti%ar la salida del motor derec4a se utilizan por una parte las condiciones de puesta en marcha, "ue son "ue se 4aya acti%ado el pulsador de marc4a en este caso, un tiempo superior al tiempo de respuesta del autómata, para "ue la señal no pase desapercibida3 y "ue la %agoneta se encuentre a la iz"uierda. Pero en el momento en "ue la %agoneta se pone en marc4a las condiciones de puesta en marc4a dejan de ser ciertas y s i no se añade algo más al programa la %agoneta se para. 'omo %emos en el programa, lo "ue se 4a añadido es lo "ue se conoce como condición de enclavamiento, y no es más "ue la propia salida del motor realimentándose a s$ misma en una condición en / respecto a las condiciones de puesta en marc4a. 'on esto nos aseguramos de "ue la %agoneta se pone en marc4a, y de "ue una %ez en marc4a contin5a as$. Para completar el problema necesitamos una condición de paro para detener la %agoneta cuando sta llegue a la derec4a. Para ello ponemos el 5ltimo rel negado "ue detecta "ue la %agoneta 4a llegado a la derec4a, detenindola al acti%arse. #a ecuación general "ue describe este proceso de acti%ación de una salida en !unción de las condiciones de puesta en marc4a y las condiciones de paro es la siguiente
S = M S ∗ P Esta ecuación da prioridad al paro sobre la marc4a. En e!ecto, %emos como si por alguna razón se acti%an al mismo tiempo las condiciones de marc4a M3 y las de paro P3 ganan las de paro ya "ue multiplican a toda la ecuación. -e esta !orma nos aseguramos de "ue en caso de "ue ambas condiciones de marc4a y paro se den al mismo tiempo la salida se detiene, "ue suele ser la opción más segura. En caso de "ue "ueramos dar prioridad a la marc4a sobre el paro, entonces utilizar$amos la siguiente ecuación
M S = S ∗ P 'omo se %e, siempre "ue la marc4a est acti%ada la salida permanecerá acti%ada.
Contadores tro elemento "ue necesita una !unción especial son los contadores del autómata. El s$mbolo del contador en el 'PM(A es el siguiente 'T 9 'ont &alor
En este caso los parámetros de con!iguración son el n5mero de contador y el %alor de contaje en 8'-. 'omo ocurre con el temporizador el %alor de contaje puede ser una constante, en cuyo caso debe utilizarse el s$mbolo almo4adilla <3, o bien un canal "ue contenga el %alor a contar en 8'-. na caracter$stica importante en los autómatas 'PM(A de mron es "ue el área de memoria donde se almacenan los %alores actuales de temporizadores y contadores es compartida, el área T'. -ebido a esto no podemos poner en un mismo programa un temporizador y un contador con el mismo n5mero, ya "ue se mac4acar$an los datos el uno al otro y ninguno de los dos !uncionar$a correctamente. Esto
C
Máster diseño, instalación y mantenimiento de sistemas de automatización industrial Tema 2. Autómatas Programables no ocurre en otros autómatas donde las áreas de memoria de temporizadores y contadores están separadas. tra di!erencia respecto al temporizador es "ue el contador tiene dos señales "ue lo gobiernan. #a primera es utilizada como señal de contaje, decrementándose en una unidad el %alor actual de contaje cada %ez "ue se detecta un !lanco de subida. 'uando el contador llega a cero acti%a su salida. #a otra señal es la señal de reset "ue permite resetear en cual"uier momento al contador con el %alor con el "ue lo 4ayamos programado. Para saber si un contador 4a llegado al !inal de su cuenta y se 4a acti%ado utilizaremos un rel con la eti"ueta 'T Dn5mero de contador.
Contador reversible El contador anterior sólo nos permite realizar una cuenta atrás. +i necesitamos un contador "ue sea capaz de contar y descontar debemos utilizar el contador re%ersible) 'T/ 9 'ont &alor
Esta distinción de contador normal y re%ersible es particular del 'PM(A. En otros autómatas por de!ecto los contadores pueden ser directamente re%ersibles. El contador re%ersible necesita una entrada más "ue el normal. #a primera entrada incrementa la cuenta del contador, la segunda decrementa la cuenta y la tercera resetea el contador y su %alor de contaje. El contador re%ersible se acti%asi se dan una de las siguientes condiciones) •
En contaje ascendente, cuando se llega al !inal de la cuenta y esta pasa de nue%o a 6.
•
En contaje descendente, cuando se llega a 6 y se pasa al principio de la cuenta.
Detección de flancos En ocasiones nos interesará conocer cuando una señal cambia de estado de 6 a ( o %ice%ersa, es decir, nos interesa conocer cuando se produce un !lanco de subida o de bajada. Para ello se utilizan las instrucciones de di!erenciación. En el 'PM(A estás instrucciones son -7F para la detección de !lancos de subida, y -7F- para la detección de !lancos de bajada. -7F
-7F-
'anal.8it
'anal.8it
En ambas !unciones la entrada es la señal de !lanco "ue "ueremos detectar, y el parámetro 'anal.8it es el bit del canal donde se re!lejará el !lanco durante un 5nico tiempo de ciclo. Gay "ue 4acer notar "ue estas instrucciones de detección de pulsos no permiten detectar !lancos rápidos de duración menor "ue el tiempo de respuesta del autómata. En esos casos deberemos utilizar las entradas detectoras de pulsos del autómata entradas de interrupción3 y gestionar los pulsos =
Máster diseño, instalación y mantenimiento de sistemas de automatización industrial Tema 2. Autómatas Programables rápidos mediante una subrutina especial. Por tanto la %alidez de estas instrucciones "ueda limitada a detectar cambios de estado 0lentos1 mayores "ue el tiempo de respuesta del autómata3 en las señales de entrada. n posible uso de detección de !lancos pueder ser cuando "ueramos "ue un interruptor se comporte como un pulsador. Para ello podemos utilizar un programa como el siguiente
En este programa el interruptor de la entrada 6.6C se redirecciona a la dirección de memoria 7/ 266.66, y a todos los e!ectos dic4a dirección se comporta como si en ella tu%ieramos un pulsador. Al utilizar la instrucción -7F detectamos cuando el interruptor pasa de 6 a (. Tanto en este ejemplo como en el anterior de la %agoneta %emos como siempre la 5ltima l$nea de programa es la instrucción E-. En el 'PM(A es obligatorio poner esta instrucción al !inal del programa. En otros autómatas esto no es necesario.
SET y RSET Ha 4emos %isto como las bobinas son las encargadas de acti%ar o desacti%ar bits de memoria. +in embargo, necesitan "ue sus condiciones de acti%ación sean siempre ciertas para permanecer acti%adas, o bien deben encla%arse. #as instrucciones +ET y /+ET del autómata permiten acti%ar o desacti%ar un bit determinado por tiempo inde!inido 4asta "ue una nue%a instrucción o una bobina act5en sobre l. +i "ueremos acti%ar un determinado bit por ejemplo un bit asociado a una salida3 de manera "ue este permanezca acti%o 4asta "ue se %uel%a a resetear, utilizaremos la instrucción +ET) +ET 'anal.8it
#a entrada de la instrucción +ET indica cuando se debe ejecutar, y su 5nico parámetro es el bit del canal "ue "ueramos acti%ar en el !ormato estándar Dn5mero de canal.Dbit del canal. Para resetear un bit, usaremos /+ET) /+ET 'anal.8it
I
Máster diseño, instalación y mantenimiento de sistemas de automatización industrial Tema 2. Autómatas Programables
Ejercicio /esol%er el problema anterior de la %agoneta utilizando instrucciones +ET y /+ET en lugar de bobinas para acti%ar y desacti%ar las salidas.
KEEP #a instrucción JEEP se comporta como un biestable /+. Podemos %erla como un 0todo en uno1 de las instrucciones +ET y /+ET. +e representa mediante) JEEP 'anal.8it
Tiene un sólo parámetro, "ue es el bit del canal "ue "ueremos acti%ar o desacti%ar, y dos entradas. #a de arriba corresponde al set y la de abajo al reset. En principio sólo una de las dos deber$a estar acti%a, pero en el caso de "ue ambas estn acti%adas gana el reset, a di!erencia de lo "ue ocurre con un biestable /+ real donde la salida "ueda indeterminada. En un autómata no puede 4aber una indeterminación de este tipo, por lo "ue se 4a escogido el criterio de "ue gane una de las dos, en este caso la señal de reset.
Accediendo a todos los bits de un canal #os rels y bobinas !uncionan con un bit de una posición de memoria. +i "ueremos leer o cambiar %arios bits de un canal debemos de utilizar tantos rels y bobinas, o instrucciones +ET y /+ET, como bits "ueramos cambiar. +i "ueremos cambiar los (I bits de un canal esto puede dar lugar a un programa demasiado largo y di!$cil de seguir, dado "ue al !in y al cabo el programa de rels se 0dibuja1. Por otro lado, e*isten áreas de memoria el área -M en el 'PM(A3 "ue no son accesibles a ni%el de bit, siendo obligatorio acceder a ellas a ni%el de canal. Para ello se utiliza la instrucción M&. 'omo su nombre indica, M& nos permite 0mo%er1 datos de una canal a otro, si bien lo "ue en realidad 4ace es copiar un %alor constante a un canal, o copiar el %alor de un canal a otro. +u representación es la siguiente) M& Fuente -estino
'omo todas las instrucciones, M& tiene una entrada "ue indica cuando se debe ejecutar y cuando no. En cuanto a los parámetros, fuente puede ser cual"uier área de memoria del autómata o bien un %alor constante, en cuyo caso debe ir precedido como siempre del s$mbolo de almo4adilla <3. En el caso de un %alor constante la representación es 4e*adecimal. El parámetro destino es el canal donde "ueremos copiar los contenidos del canal !uente o el %alor constante introducido. n uso t$pico de la instrucción M& es !ijar todos los bits de un canal a 6 e*cepto uno de ellos, "ue marcará un estado acti%o. Esto lo %eremos con más detalle cuando %eamos el mtodo de programación basado en K/AF'ET.
;