Ejercicio Feedback Autómatas Programables Avanzado
Enviado por Carlos AB • 18 de Marzo de 2016 • Práctica o problema • 1.725 Palabras (7 Páginas) • 2.638 Visitas
[pic 6][pic 7][pic 8]
Objetivo del programa
El objetivo principal del programa es la de crear un color. Los colores que se pueden crear son el ocre, verde y marrón. El usuario elige el color a crear y lo que se hace realmente es guardar en unas marcas del programa el tanto por cierto de los colores fundamentales a utilizar (amarillo, azul y rojo).
Estructural del programa
Dependiendo del tipo información que introduzca el usuario se va a ejecutar una parte del código u otra. Por lo que para realizar el programa va a ser necesario la introducción de saltos a metas específicas que redirijan el flujo de ejecución.
Para la selección del código se ha programado el siguiente segmento:
U E 124.0 // Cargamos el código 0
SPB COD0
U E 124.1 //Cargamos el código 1
SPB COD1
U E 124.2 //Cargamos el código 2
SPB COD2
U E 124.3 //Cargamos el código 3
SPB COD3
BEA
Si se detecta alguna entrada pulsada el programa va a una meta determinada (las metas están definidas en el segmento dos), si no va a la siguiente condición. En el caso de que no se haya pulsado ninguna entrada se finaliza el ciclo y se empieza de nuevo.
En el segmento dos se cargan tan solo el código y luego se envía la ejecución del programa a la meta que selecciona la mezcla. A estas metas se accede tan solo desde el segmento uno y si el usuario ha introducido un código.
COD0: L 0
SPA MEZC //Vamos a la marca que realiza la mezca
COD1: L 1
SPA MEZC //Vamos a la marca que realiza la mezca
COD2: L 2
SPA MEZC //Vamos a la marca que realiza la mezca
COD3: L 3
SPA MEZC //Vamos a la marca que realiza la mezca
En el segmento tres se programa un salto SPL que equivale a un Select Case en otros lenguajes de programación. Dependiendo del código guardado en ACCU1 se selecciona una mezcla u otra.
MEZC: SPL ERRO //Si el código no está en la lista, se va a la marca ERRO
SPA ERRO //Si el código vale cero, como este código no está asignado a un color se va a ERRO
SPA OCRE //Si el codigo vale 1 se va a la marca OCRE
SPA VERD //Si el codigo vale 2 e va a la marca VERD
SPA MARR //Si el codigo vale 3se va a la marca MARR
Los siguientes segmentos creados simplemente crean el color seleccionando guardando en las marcas la cantidad de cada color primario que hay que usar para cada mezcla. Estas cantidades son guardadas en marcas del programa. También, si hay un error en la selección del código el programa para la ejecución del ciclo.
ERRO: BEA //Si se llega a esta marca es porque ha habido un error o el código no es correcto, se finaliza la ejecución del ciclo
OCRE: L 60
T MW 0 //Cargamos el valor de ACCU en la palabra AMARILLO
L 20
T MW 2 //Cargamos el valor de ACCU en la palabra AZUL
L 20
T MW 4 //Cargamos el valor de ACCU en la palabra ROJO
BEA //Se finaliza la ejecución del programa
VERD: L 50
T MW 0 //Cargamos el valor de ACCU en la palabra AMARILLO
L 50
...