Ejercicio 1 - ingeniería de sistemas y automática

Práctica 2
Ejercicio 1
Cuando se accione el pulsador de apertura de puerta, la puerta se abre (si no estaba
abierta) y cuando el vehículo se encuentra en el interior del recinto y presiona el sensor
de paso la puerta se cierra.
ENTRADAS
I 0.0 : Pulsador de apertura de puerta.
I 0.1 : Sensor de fin de carrera (puerta cerrada)
I 0.2 : Sensor de fin de carrera (puerta abierta)
I 0.3 : Sensor de paso de vehículo.
SALIDAS
Q 0.0 : Cerrar puerta
Q 0.1 : Abrir puerta
El esquema es el que se muestra a continuación:
I0.1
I 0.2
I 0.3
Q 0.0
Q0.1
I0.0
El programa de control en lenguaje diagrama de contactos (KOP) es el siguiente:
–1–
Práctica 2
En la figura anterior se ha controlado la activación/desactivación de los motores de
apertura y cierre mediante operaciones SET/RESET.
-
Si llega un vehículo (I0.0 = 1) y la puerta no está abierta ya (I0.2 = 0), entonces se
enciende el motor de apertura (Q0.1 = 1).
-
Cuando la puerta se termina de abrir (I0.2 = 1), entonces se detiene el motor de
apertura (Q0.1 = 0).
-
Cuando pasa el vehículo (I0.3 = 1) y la puerta no está cerrada (I0.1 = 0), entonces se
enciende el motor de cierre (Q0.0 = 1).
-
Cuando la puerta se termina de cerrar (I0.1 = 1), entonces se detiene el motor de
cierre (Q0.0 = 0).
Esta manera de trabajar es más intuitiva, puesto que simplemente debemos implementar
las instrucciones que controlan la activación y desactivación de ambos motores.
Otra manera de trabajar, un poco más compleja, es mediante operadores asignación.
Utilizando este tipo de operadores, el programa de control sería el siguiente:
En el momento que llega un vehículo (I0.0 = 1), si la puerta no está abierta (I0.2 = 0),
entonces se empieza a abrir la puerta (Q0.1 = 1).
Puesto que se utilizan operadores asignación, en el momento que el conductor suelte el
pulsador (I0.0 = 0), no llegará corriente a la bobina que activa Q0.1. Para evitar que el
–2–
Práctica 2
motor de apertura se detenga en este instante, se debe colocar en paralelo un contacto
que deje pasar corriente si la puerta se estaba abriendo anteriormente (Q0.1 = 1).
De forma análoga controlaríamos el motor de cierre de la puerta (segundo segmento).
Ejercicio 2
Utilizando temporizadores, emular el funcionamiento del temporizador de impulso (SI):
El funcionamiento del temporizador que se muestra en la figura se puede describir de la
siguiente manera:
-
La salida Q0.0 muestra la mima señal que entra por la patita I0.0 mientras que se
cumplan dos condiciones:
1. Los pulsos de la señal que entra por I0.0 tienen una duración inferior a 5
segundos.
2. No se ha pulsado la patita de Reset.
Teniendo en cuenta esta descripción, el programa de control deberá incluir una
temporización de 5 segundos.
Para ello, se va a utilizar un temporizador de retardo a la conexión no memorizado con
una resolución de 100 ms. Esto significa que el temporizador cuenta intervalos de
tiempo de 100 ms, es decir, un ciclo de reloj son 100 ms.
–3–
Práctica 2
Puesto que tenemos que temporizar 5 seg = 5.000 ms = 50 ciclos de 100 ms, el valor de
preselección (PT) que tendremos que indicar será 50.
El programa de control es el siguiente:
Ejercicio 3
Realizar el programa de control que obtenga en la salida Q0.0 una señal periódica de 6
segundos.
La forma más sencilla de realizar el programa es implementando dos temporizaciones:
-
Un temporizador (T37) que cuente los 3 primeros segundos, en los que el bit Q0.0
está a 0.
Transcurridos estos 3 segundos, se activará el bit T37, momento en el que debemos
poner a 1 el bit Q0.0. Además, en este instante, debe resetearse el temporizador,
estando de nuevo preparado para la siguiente temporización.
-
Otro temporizador (T37) que cuente los otros 3 segundos, en los que el bit Q0.0 está
a 1.
Transcurridos estos 3 segundos, se activará el bit T38, momento en el que debemos
poner a 0 el bit Q0.0. Además, en este instante, debe resetearse el temporizador,
estando de nuevo preparado para la siguiente temporización.
Recordar que los temporizadores no memorizados, como los que estamos utilizando, se
resetean automáticamente cuando la señal que introducimos por la patita IN pasa a valer
cero. Cuando esto ocurre, tanto el valor actual como el bit del temporizador se ponen a
cero.
–4–
Práctica 2
El programa de control es el siguiente:
Ejercicio 4
El control del motor de una escalera automática consta de un interruptor de encendido y
apagado (ON/OFF), un sensor de temperatura para detectar sobrecalentamientos y una
célula fotoeléctrica a la entrada de la misma para detectar el paso de personas.
Se desea diseñar el control de funcionamiento de la misma teniendo en cuenta que el
tiempo estimado en recorrer todo el trayecto es 5 seg.
Nota: Cada vez que detecte a una persona reiniciará la temporización. Nadie a mitad
del recorrido.
ENTRADAS
SALIDAS
I 0.0 : ON/OFF
I 0.1 : Protección del motor (“1” funcionamiento correcto) Q 0.0 : Acciona el motor
I 0.2 : Fotocélula (Detección paso personas)
Vamos a realizar el programa desde el punto de vista del beneficio de la persona. En
este caso, la escalera automática no puede dejar a una persona a mitad de recorrido,
aunque el motor esté sobrecalentado.
Para realizar el programa, vamos a utilizar una marca interna, M0.0, la cual indicará si
hay una persona en la escalera. De esta forma, M0.0 valdrá 1 cuando exista una persona
subiendo por la escalera y pasará a valer 0 cuando la persona abandone la escalera, es
decir, 5 segundos después de haber subido a ella.
–5–
Práctica 2
Como veremos, la marca M0.0 nos servirá para habilitar el temporizador.
El programa de control es el siguiente:
Observar que este programa contempla la posibilidad de que una persona pase por
delante de la fotocélula mientras hay una persona que está subiendo ya por la escalera.
En este caso, deberá comenzar de nuevo el periodo de temporización de 5 segundos. El
último segmento del programa implementa esta posibilidad.
Además, en el caso de que el motor tuviera un funcionamiento incorrecto (I0.1 = 0), el
motor debería pararse, no sin antes haber dejado a la persona a salvo.
Por tanto, una vez que el temporizador ha comenzado a contar 5 segundos, no se puede
desactivar a causa de un sobrecalentamiento.
Es decir, el temporizador no debe empezar a contar mientras que I0.1 esté desactivado,
pero una vez que ha comenzado no se puede detener la cuenta, es decir, no se puede
resetear el temporizador antes de que transcurran los 5 segundos.
Además, en el caso de que apaguemos el motor pulsando OFF, la escalera seguirá
funcionando mientras que la persona esté todavía en la escalera mecánica.
–6–
Práctica 2
Ejercicio 5
Realizar, en lenguaje esquema de contactos, un programa de control que mediante el
uso de un solo temporizador (T37) active las salidas Q0.4 y Q0.7 una vez hayan
transcurridos 10 y 27 segundos respectivamente desde que se produjo la activación de la
entrada I0.2.
Mediante la entrada I0.3 se vuelve a las condiciones iniciales Q0.4 y Q0.7 desactivadas.
Puesto que tenemos que temporizar distintos tiempos (10 y 27 segundos) mediante un
único temporizador (T37), vamos a tomar como valor de preselección el máximo valor
de temporización, esto es, 27 segundos (270 ciclos de 100 ms).
De esta forma, para poder saber si han transcurrido 10 segundos, es necesario utilizar
una operación de comparación con el valor actual del temporizador. Puesto que el valor
actual del temporizador tiene un tamaño de 16 bits (una palabra), debemos realizar una
comparación entre números enteros (>=I).
El programa de control es el siguiente:
–7–
Práctica 2
El funcionamiento es el siguiente:
-
Mientras que I0.2 está activada, el temporizador está activo.
-
Pasados 10 segundos desde la activación del temporizador, se activa la salida Q0.4,
la cual se mantendrá a 1 mientras que el valor actual del temporizador sea superior a
10 seg.
-
Pasados 27 segundos, se activa el bit del temporizador y se asigna dicho valor a
Q0.7. Mientras que el valor actual del temporizador se encuentre por encima del
valor de preselección (27 seg), la salida Q0.7 estará activa.
-
Cuando se pulse I0.3, deben ponerse a cero las dos salidas. Además, debe resetearse
el temporizador, para que pueda volver a comenzar el ciclo.
Observar que si no reseteamos el temporizador, mientras que se mantenga activa
I0.2, el temporizador seguirá contando, por lo que el valor actual será superior al de
preselección y ya no se activarán otra vez las dos salidas.
Por tanto, para que pueda volver a repetirse el ciclo de 10 y 27 segundos, debemos
resetear el temporizador cuando se pulse I0.3.
Mediante el último segmento, reseteamos el temporizador para que vuelva a contar
desde 0 y, al mismo tiempo, estamos desactivando indirectamente las salidas Q0.4 y
Q0.7.
•
Q0.4 se desactiva porque el valor actual pasa a valer 0 y, por tanto, no se cumple
que T37 >= 100.
•
Q0.7 se desactiva porque el valor actual pasa a valer 0, que es inferior al valor de
preselección (27 seg).
Por tanto, lo que hacemos con este programa es lo siguiente:
-
Pulsamos I0.2 y lo mantenemos pulsado indefinidamente (mientras que queramos
que el autómata funcione).
-
La primera activación de Q0.4 y Q0.7 se producirá 10 y 27 seg, respectivamente,
después de que I0.2 se active.
Las posteriores activaciones se producirán 10 seg y 27 seg después de que pulsemos
I0.3.
–8–
Práctica 2
Ejercicio 6
Realizar, en lenguaje esquema de contactos, un programa de control que gestione el
siguiente parking de coches:
El sistema debe supervisar el funcionamiento del parking:
-
Cuando llega un coche (fotocélula I0.0) y el parking esté libre, queremos que se abra
la barrera. A la salida no tenemos barrera. Cuando sale un coche simplemente
sabemos que ha salido (fotocélula I0.1).
-
En el parking caben 10 coches. Cuando el parking tenga menos de 10 coches
queremos que esté encendida la luz de libre. Cuando en el parking haya 10 coches
queremos que esté encendida la luz de ocupado.
-
Además queremos que si el parking está ocupado y llega un coche que no se le abra
la barrera.
-
Mediante la entrada I0.2 resetearemos el contador.
Para realizar el programa, vamos a utilizar un contador de cuenta hacia delante y hacia
detrás (CTUD): C2.
El valor actual del contador contendrá en todo momento el número de coches presentes
en el parking:
-
Queremos saber el momento en que el parking está lleno, es decir, el valor actual del
contador es igual a 10.
Por tanto, tomamos 10 como valor de preselección (PV).
-
Si llega un coche (I0.0 = 1) y el parking no está lleno (C2 = 0), entonces queremos
que se abra la barrera (Q0.0 = 1). Por simplificar el ejercicio, suponemos que la
barrera se levanta únicamente durante el tiempo en que el conductor está pulsando
I0.0.
Observar que al pasar el vehículo, es decir, cuando se cumplen las dos condiciones
anteriores, debe incrementarse el contador, puesto que hay un nuevo vehículo en el
parking.
–9–
Práctica 2
-
Cuando sale un coche (I0.1 = 1), debe decrementarse el contador, puesto que hay un
vehículo menos en el parking.
-
Mientras que el parking esté lleno (C2 = 1), debe estar encendida la luz de parking
ocupado (Q0.2). En caso contrario (C2 = 0), debe estar encendida la luz de parking
libre (Q0.1).
El programa de control es el siguiente:
– 10 –