Você está na página 1de 8

Mster Universitario

AUT02. Autmatas Programables

Profesor: Jordi Muoz (UV)


Curso acadmico 2010-2011

Mster diseo, instalacin y mantenimiento de sistemas de automatizacin industrial


Tema 2. Autmatas Programables

Programacin en diagrama de rels


El lenguaje de programacin en diagrama de rels, tambin llamado diagrama de escalera, surge como
un lenguaje de fcil uso que trata de emular los rels y bobinas utilizados en los primeros sistemas de
control. La idea era que los operarios, acostumbrados a trabajar con rels y bobinas fsicos, no
tuvieran que aprender un lenguaje de programacin y pudieran comenzar a utilizar los autmatas
directamente y sin problemas.
A lo largo de esta seccin veremos las instrucciones ms utilizadas en un programa de rels. Veremos
las pertenecientes al autmata CPM1A, aunque las instrucciones en otros autmatas son las mismas o
muy parecidas.
La instruccin bsica en un diagrama de rels es justamente un rel, simbolizado mediante el
siguiente grfico:

Este smbolo representa un rel en posicin normalmente abierto, lo que significa que en ausencia de
seal no existe contacto entre sus dos terminales. Si el rel est normalmente cerrado entonces su
smbolo es:

Mediante dos rels ya tenemos la posibilidad de realizar las operaciones bsicas AND y OR, y puesto
que tenemos rels negados (normalmente cerrados), tambin operaciones NAND y NOR. Con estas
cuatro operaciones lgicas bsicas podemos implementar cualquier funcin lgica,
independientemente de su complejidad, combinndolas entre ellas.
Para hacer una operacin AND ponemos dos rels en serie:

De este modo, slo cuando los dos rels estn activados la corriente podr pasar a travs de ambos.
Para hacer una operacin OR ponemos los rels en paralelo:

En este caso la corriente pasar de uno a otro extremo con la condicin de que uno de los dos, o los
dos, est activado.
En el autmata cada rel est asociado a un bit de su memoria. Si este bit de memoria corresponde al
canal de entradas entonces tendremos conectadoal rel un sensor cuya salida es digital.
La otra pieza clave en el diagrama de rels adems del rel es la bobina, que acta como salida. Su
smbolo es:

Mster diseo, instalacin y mantenimiento de sistemas de automatizacin industrial


Tema 2. Autmatas Programables

La lnea vertical a la derecha del smbolo indica que no podemos poner ningn 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:

Con los elementos bsicos ya podemos programar un buen nmero de aplicaciones. Vamos a ver un
pequeo ejemplo.
Supongamos que queremos activar un bombilla cuando se active el interruptor de la luz y cuando un
sensor digital de luminosidad indique que es de noche. En este ejemplo tenemos dos entradas (el
interruptor de la luz y el sensor de luminosidad) y un salida (la bombilla), y bsicamente tenemos que
hacer una operacin AND entre las dos entradas. El programa sera:

Interruptor

Sensor de
luminosidad

Bombilla

Si nos cambian las especificaciones y lo que nos piden es que el interruptor encienda la bombilla
aunque sea de da, y que el sensor de luminosidad siga funcionado, entonces el programa cambia a:

Interruptor

Bombilla

Sensor de
luminosidad

Temporizadores
Para utilizar temporizadores en un diagrama de rels necesitamos un nuevo elemento que lo simbolice
y que nos permita integrarlo con los elementos bsicos, rels y bobinas. Cada autmata define sus
temporizadores en funcin de los que disponga. El temporizador del CPM1A de Omron tiene el
siguiente smbolo:
TIM
N Temp
Valor

La lnea horizontal de la izquierda es la entrada de control del temporizador. El temporizador se activa


cuando esta entrada pasa de 0 a 1 (flanco de subida). La cuenta se realiza mientras la entrada
permanece activada. Si la entrada se desactiva antes de finalizar la cuenta el temporizador se resetea
de modo que la siguiente vez que la entrada pase a 1 comenzar a temporizar de nuevo. Si por el

Mster diseo, instalacin y mantenimiento de sistemas de automatizacin industrial


Tema 2. Autmatas Programables
contrario la entrada permanece activada todo el tiempo programado el temporizador se activar y
permanecer activado hasta que la lnea de entrada pase de nuevo a 0.
Como se ve en su smbolo, el temporizador tiene dos parmetros. El primero es el nmero de
temporizador. El CMP1A dispone de 128 temporizadores numerados de 000 a 127. El segundo
parmetro es el valor del temporizador, y puede ser un valor constante, en cuyo caso se representa con
un smbolo de almohadilla delante (#), o la direccin de un canal que contiene el valor a temporizar.
En ambos casos, el valor est en dcimas de segundo y en formato BCD, de modo que si se quieren
contar 5 segundos debemos poner el campo valor a #50, o poner el nmero de un canal que contenga
el valor 50 en BCD.
El temporizador es un elemento terminal, igual que las bobinas. No puede haber nada a la derecha de
un temporizador. La pregunta entonces es: cmo sabemos cuando un temporizador ha terminado su
cuenta? Respuesta: se asocia un rel al valor de salida del temporizador. Por ejemplo, si hemos
programado el temporizador 1 nos referiremos a l con la etiqueta TIM1.
Ilustremos todo esto mediante un ejemplo sencillo. Supongamos que queremos programar una
vagoneta que va de un extremo a otro de un ral que inicialmente se encuentra a la izquierda, de modo
que al pulsar un botn esta se desplaza hacia la derecha; cuando llega a la derecha debe permancer all
durante 5 segundos, transcurridos los cuales vuelve a la izquierda y se detiene. Para mover la
vagoneta disponemos de dos motores, uno que la desplaza hacia la derecha, y otro que la desplaza
hacia la izquierda.
Antes de mirar la solucin propuesta a continuacin se recomienda intentar resolver el problema.
Una posible solucin sera.

Este programa ilustra cmo referirse a un temporizador mediante un rel, pero en l tambin se
encuentran conceptos que veremos a continuacin.
3

Mster diseo, instalacin y mantenimiento de sistemas de automatizacin industrial


Tema 2. Autmatas Programables

Enclavamientos
Si nos fijamos en el programa anterior vemos como para activar la salida del motor derecha se utilizan
por una parte las condiciones de puesta en marcha, que son que se haya activado el pulsador de
marcha (en este caso, un tiempo superior al tiempo de respuesta del autmata, para que la seal no
pase desapercibida) y que la vagoneta se encuentre a la izquierda. Pero en el momento en que la
vagoneta se pone en marcha las condiciones de puesta en marcha dejan de ser ciertas y si no se aade
algo ms al programa la vagoneta se para. Como vemos en el programa, lo que se ha aadido es lo
que se conoce como condicin de enclavamiento, y no es ms que la propia salida del motor
realimentndose a s misma en una condicin en OR respecto a las condiciones de puesta en marcha.
Con esto nos aseguramos de que la vagoneta se pone en marcha, y de que una vez en marcha contina
as. Para completar el problema necesitamos una condicin de paro para detener la vagoneta cuando
sta llegue a la derecha. Para ello ponemos el ltimo rel negado que detecta que la vagoneta ha
llegado a la derecha, detenindola al activarse.
La ecuacin general que describe este proceso de activacin de una salida en funcin de las
condiciones de puesta en marcha y las condiciones de paro es la siguiente

S= M S P
Esta ecuacin da prioridad al paro sobre la marcha. En efecto, vemos como si por alguna razn se
activan al mismo tiempo las condiciones de marcha (M) y las de paro (P) ganan las de paro ya que
multiplican a toda la ecuacin. De esta forma nos aseguramos de que en caso de que ambas
condiciones de marcha y paro se den al mismo tiempo la salida se detiene, que suele ser la opcin ms
segura.
En caso de que queramos dar prioridad a la marcha sobre el paro, entonces utilizaramos la siguiente
ecuacin
M
S=S P
Como se ve, siempre que la marcha est activada la salida permanecer activada.

Contadores
Otro elemento que necesita una funcin especial son los contadores del autmata. El smbolo del
contador en el CPM1A es el siguiente
CNT
N Cont
Valor

En este caso los parmetros de configuracin son el nmero de contador y el valor de contaje en
BCD. Como ocurre con el temporizador el valor de contaje puede ser una constante, en cuyo caso
debe utilizarse el smbolo almohadilla (#), o bien un canal que contenga el valor a contar en BCD.
Una caracterstica importante en los autmatas CPM1A de Omron es que el rea de memoria donde se
almacenan los valores actuales de temporizadores y contadores es compartida, el rea TC. Debido a
esto no podemos poner en un mismo programa un temporizador y un contador con el mismo nmero,
ya que se machacaran los datos el uno al otro y ninguno de los dos funcionara correctamente. Esto

Mster diseo, instalacin y mantenimiento de sistemas de automatizacin industrial


Tema 2. Autmatas Programables
no ocurre en otros autmatas donde las reas de memoria de temporizadores y contadores estn
separadas.
Otra diferencia respecto al temporizador es que el contador tiene dos seales que lo gobiernan. La
primera es utilizada como seal de contaje, decrementndose en una unidad el valor actual de contaje
cada vez que se detecta un flanco de subida. Cuando el contador llega a cero activa su salida. La otra
seal es la seal de reset que permite resetear en cualquier momento al contador con el valor con el
que lo hayamos programado.
Para saber si un contador ha llegado al final de su cuenta y se ha activado utilizaremos un rel con la
etiqueta CNT <nmero de contador>.

Contador reversible
El contador anterior slo nos permite realizar una cuenta atrs. Si necesitamos un contador que sea
capaz de contar y descontar debemos utilizar el contador reversible:
CNTR
N Cont
Valor

Esta distincin de contador normal y reversible es particular del CPM1A. En otros autmatas por
defecto los contadores pueden ser directamente reversibles.
El contador reversible necesita una entrada ms que el normal. La primera entrada incrementa la
cuenta del contador, la segunda decrementa la cuenta y la tercera resetea el contador y su valor de
contaje.
El contador reversible se activasi se dan una de las siguientes condiciones:

En contaje ascendente, cuando se llega al final de la cuenta y esta pasa de nuevo a 0.

En contaje descendente, cuando se llega a 0 y se pasa al principio de la cuenta.

Deteccin de flancos
En ocasiones nos interesar conocer cuando una seal cambia de estado de 0 a 1 o viceversa, es decir,
nos interesa conocer cuando se produce un flanco de subida o de bajada. Para ello se utilizan las
instrucciones de diferenciacin.
En el CPM1A ests instrucciones son DIFU para la deteccin de flancos de subida, y DIFD para la
deteccin de flancos de bajada.
DIFU

DIFD

Canal.Bit

Canal.Bit

En ambas funciones la entrada es la seal de flanco que queremos detectar, y el parmetro Canal.Bit
es el bit del canal donde se reflejar el flanco durante un nico tiempo de ciclo.
Hay que hacer notar que estas instrucciones de deteccin de pulsos no permiten detectar flancos
rpidos de duracin menor que el tiempo de respuesta del autmata. En esos casos deberemos utilizar
las entradas detectoras de pulsos del autmata (entradas de interrupcin) y gestionar los pulsos
5

Mster diseo, instalacin y mantenimiento de sistemas de automatizacin industrial


Tema 2. Autmatas Programables
rpidos mediante una subrutina especial. Por tanto la validez de estas instrucciones queda limitada a
detectar cambios de estado lentos (mayores que el tiempo de respuesta del autmata) en las seales
de entrada.
Un posible uso de deteccin de flancos pueder ser cuando queramos que un interruptor se comporte
como un pulsador. Para ello podemos utilizar un programa como el siguiente

En este programa el interruptor de la entrada 0.04 se redirecciona a la direccin de memoria IR


200.00, y a todos los efectos dicha direccin se comporta como si en ella tuvieramos un pulsador. Al
utilizar la instruccin DIFU detectamos cuando el interruptor pasa de 0 a 1.
Tanto en este ejemplo como en el anterior de la vagoneta vemos como siempre la ltima lnea de
programa es la instruccin END. En el CPM1A es obligatorio poner esta instruccin al final del
programa. En otros autmatas esto no es necesario.

SET y RSET
Ya hemos visto como las bobinas son las encargadas de activar o desactivar bits de memoria. Sin
embargo, necesitan que sus condiciones de activacin sean siempre ciertas para permanecer activadas,
o bien deben enclavarse.
Las instrucciones SET y RSET del autmata permiten activar o desactivar un bit determinado por
tiempo indefinido hasta que una nueva instruccin o una bobina acten sobre l.
Si queremos activar un determinado bit (por ejemplo un bit asociado a una salida) de manera que este
permanezca activo hasta que se vuelva a resetear, utilizaremos la instruccin SET:
SET
Canal.Bit

La entrada de la instruccin SET indica cuando se debe ejecutar, y su nico parmetro es el bit del
canal que queramos activar en el formato estndar <nmero de canal>.<bit del canal>.
Para resetear un bit, usaremos RSET:
RSET
Canal.Bit

Mster diseo, instalacin y mantenimiento de sistemas de automatizacin industrial


Tema 2. Autmatas Programables

Ejercicio
Resolver el problema anterior de la vagoneta utilizando instrucciones SET y RSET en lugar de
bobinas para activar y desactivar las salidas.

KEEP
La instruccin KEEP se comporta como un biestable RS. Podemos verla como un todo en uno de
las instrucciones SET y RSET. Se representa mediante:
KEEP
Canal.Bit

Tiene un slo parmetro, que es el bit del canal que queremos activar o desactivar, y dos entradas. La
de arriba corresponde al set y la de abajo al reset. En principio slo una de las dos debera estar activa,
pero en el caso de que ambas estn activadas gana el reset, a diferencia de lo que ocurre con un
biestable RS real donde la salida queda indeterminada. En un autmata no puede haber una
indeterminacin de este tipo, por lo que se ha escogido el criterio de que gane una de las dos, en este
caso la seal de reset.

Accediendo a todos los bits de un canal


Los rels y bobinas funcionan con un bit de una posicin de memoria. Si queremos leer o cambiar
varios bits de un canal debemos de utilizar tantos rels y bobinas, o instrucciones SET y RSET, como
bits queramos cambiar. Si queremos cambiar los 16 bits de un canal esto puede dar lugar a un
programa demasiado largo y difcil de seguir, dado que al fin y al cabo el programa de rels se
dibuja. Por otro lado, existen reas de memoria (el rea DM en el CPM1A) que no son accesibles a
nivel de bit, siendo obligatorio acceder a ellas a nivel de canal.
Para ello se utiliza la instruccin MOV. Como su nombre indica, MOV nos permite mover datos de
una canal a otro, si bien lo que en realidad hace es copiar un valor constante a un canal, o copiar el
valor de un canal a otro.
Su representacin es la siguiente:
MOV
Fuente
Destino

Como todas las instrucciones, MOV tiene una entrada que indica cuando se debe ejecutar y cuando
no. En cuanto a los parmetros, fuente puede ser cualquier rea de memoria del autmata o bien un
valor constante, en cuyo caso debe ir precedido como siempre del smbolo de almohadilla (#). En el
caso de un valor constante la representacin es hexadecimal. El parmetro destino es el canal donde
queremos copiar los contenidos del canal fuente o el valor constante introducido.
Un uso tpico de la instruccin MOV es fijar todos los bits de un canal a 0 excepto uno de ellos, que
marcar un estado activo. Esto lo veremos con ms detalle cuando veamos el mtodo de
programacin basado en GRAFCET.

Você também pode gostar