Вы находитесь на странице: 1из 4

PRCTI CA 1

PROGRAMACI N ESTRUCTURADA

OBJ ETIVO: Ejercitar el paradigma de la programacin estructurada empleando
el entorno STEP 7. Para ello, se resolvern varios ejemplos en los que se tendrn que
crear los bloques lgicos necesarios y las secuencias de llamadas entre ellos

PROBLEMA 1.1
Realizar un programa que guarde un valor en MW0 dependiendo del bit que se
encuentre activo en el byte IB0. Los valores a guardar se muestran en la tabla:

Bit de IB0 Valor a guardar en MW0
I0.0=TRUE
I0.1=TRUE
I0.2=TRUE
I0.3=TRUE
I0.4=TRUE
I0.5=TRUE
I0.6=TRUE
I0.7=TRUE
1
2
4
8
16
32
64
128

Si se encuentra activo ms de un bit en IB0 entonces en MW0 se deber guardar
0. Implementar el programa segn estas dos estrategias:
- Usar una FC que tenga como parmetro de entrada el byte IB0 y como
parmetro de salida MW0. Usar un DB global para almacenar los valores a
guardar
- Emplear un FB


PROBLEMA 1.2
Se desea programar un bloque que implemente un control sencillo de un motor
de una cinta transportadora. Dicho motor se activa con el pulsador conectado a I0.0 y
se desactiva con el I0.1 (con prioridad a la desactivacin). Asimismo, el motor est
conectado a la salida Q0.0 del PLC. Por otro lado, se desea contar los ciclos de
programa en los que el motor se encuentra activado, tarea que tambin debe realizar
el bloque en cuestin.
Nota: no emplear en el cdigo del bloque direcciones de memoria global


PROBLEMA 1.3
Se pretende crear una FC que implemente un generador de pulsos estndar
mediante la combinacin de dos temporizadores. Dicha FC dispondr de dos entradas
para la especificacin de los tiempos de conexin (TIEMPO_ON) y de desconexin
(TIEMPO_OFF) y de una salida correspondiente a la seal del pulso (se desea que la
secuencia comience en desconexin). Realizar el programa de forma que estos tiempos
de conexin/desconexin se obtengan de:
a) La memoria de marcas.
b) Un DB global.

Por otro lado, programar la misma FC pero pasando tambin los temporizadores
como parmetros.


PROBLEMA 1.4
Programar un bloque contador que disponga de los siguientes parmetros:
CU. Entrada del contador (seal que incrementar la cuenta).
R. Seal de reseteo del contador (pone la cuenta a 0), que debe dominar frente
a CU.
PV. Valor preestablecido, a comparar con CV para determinar el estado del
contador Q.
PT. Perodo de tiempo que CU debe permanecer a 1 tras el flanco positivo para
que el contador incremente en 1 la cuenta.
Q. Estado del contador (1 si CV > PV, 0 en caso contrario)
CV. Valor actual de la cuenta.


PROBLEMA 1.5
En la automatizacin de una serie de procesos se necesita disponer de un
mecanismo, comn a todos ellos, de notificacin y reconocimiento de diferentes fallos.
Para ello se tienen consolas de operador donde existe un LED (que mostrar la
situacin de fallo) y un botn que permitir al operador reconocer o darse por
enterado de dicha situacin. Cada proceso tiene su propia consola, lo que significa que
las E/S son distintas para cada uno.
Cuando sucede el fallo el LED debe iluminarse intermitentemente segn una
frecuencia establecida. Si se pulsa el botn de reconocimiento despus de que la
situacin de fallo haya cesado, el LED deber apagarse. En el caso de que el fallo se
mantenga tras el reconocimiento, el LED debe detener la intermitencia pero debe
permanecer iluminado hasta que desaparezca la situacin de fallo.

En el cronograma anterior se ha incluido la seal Registro_fallo que permite
saber que se ha producido un fallo en algn momento (aunque ste ya haya cesado) y
que, lgicamente, se desactivar cuando el operador lo reconozca.
Dado que este modo de operacin es comn a todos los procesos y puede ser
utilizado en mltiples ocasiones, se desea escribir un bloque de programa reutilizable,
con los parmetros de E/S y variables locales que sean necesarios, que implemente el
mecanismo de funcionamiento descrito.
Resolver el problema mediante dos aproximaciones diferentes: con una FC y con
un FB


PROBLEMA 1.6
Se desea crear una FC que implemente un contador de tiempo de
funcionamiento de una mquina, con el objeto de planificar operaciones de
mantenimiento preventivo. Esta FC operar de tal forma que, cuando se superen un
nmero de minutos de funcionamiento preestablecidos, se activar una salida
Seal_fallo
Reconocimiento
LED
Registro_fallo
indicando la necesidad de realizar el mantenimiento. Internamente, la FC deber
realizar un contaje en segundos y deber realizar las operaciones necesarias para
obtener los minutos. Los parmetros que deber disponer son los siguientes:
- Habilitacin. Mientras est activa, se contabilizar tiempo.
- Reseteo. Si se presenta un flanco positivo en esta seal se resetear el
contador (tendr prioridad sobre la seal de habilitacin anterior).
- Valor preestablecido de minutos de funcionamiento. Se comparar con el
contador de tiempo para saber si hay que iniciar las operaciones de
mantenimiento.
- Cuenta de minutos de funcionamiento.
- Indicador de mantenimiento. Permitir conocer si tienen que empezar a
efectuarse las operaciones de mantenimiento.
- Indicador de estado del contador. Estar a ON si se est contando y a OFF en
caso contrario. Utilizar el parmetro RET_VAL de la FC para almacenar este
estado.

Como generador de tiempo (generando segundos) se desea emplear la FC
obtenida en el problema 1.3.

Finalmente, repetir el ejercicio pero usando un FB, de forma que el indicador del
estado del contador se asigne a otro parmetro de salida.

Вам также может понравиться