Se desea controlar el proceso de llenado y tapado de botellas de la compañía Algarrobo Cola.
Existe una sola cinta transportadora, en cuyo ancho solo cabe una botella, y una máquina para cada
acción (una para el llenado y otra para el tapado).
Las botellas vienen a intervalos irregulares y no siempre se está en situación de accionar las dos
máquinas al mismo tiempo.
El controlador debe determinar cuál(es) máquina(s) se va(n) a accionar en cada oportunidad (si es que
se puede accionar alguna) y luego activar la cinta transportadora, la cuál se mueve a intervalos discretos
constantes, para pasar a la(s) siguiente(s) botella(s).
El circuito tendrá dos entradas, una correspondiente a la máquina de llenado y otra a la de tapado. El
funcionamiento de cada una de estas entradas es:
- si la máquina está desactivada la entrada permanecerá en 0 mientras no haya una botella bajo la
misma y estará en 1 cuando haya una botella y por tanto esté disponible para ser accionada.
- luego de activada la máquina, la entrada permanece en 1 hasta que la máquina haya llenado/tapado
la botella en cuestión.
Por otro lado se deberán generar tres salidas: una para activar la máquina de llenado, una para la de
tapado y otra para mover la cinta un intervalo.
Se debe esperar a que ambas máquinas terminen de operar antes de mover la cinta. Se asume que el
tiempo que tarda la cinta en moverse un intervalo es despreciable frente al período del clock del circuito.
Se pide:
Diseñar el circuito controlador siguiendo la metodología del curso. Se dispone de flip flops tipo D y
compuertas básicas.
Mi solución, es diferente a la propuesta en la solución. Porque utilizo dos estados, queria saber si estaba bien igual:
Entradas: m1m0 m1(máquina de tapado), m0(maquina de llenado)
Salidas: ca1a0 c(muevo cinta) a1(activo máq.1) a0(activo máquina 0)
Estado q0, me quedo en el mientras m1=0 y m=0, y pongo como salida 001.
Si estando en q0 me llega 01, me voy a q1 (q1 es el estado de llenar o tapar),
y tiro 001.
Si estando en q0 me llega 10, me voy a q1 (q1 es el estado de llenar o tapar),
y tiro 010.
Si estando en q0 me llega 11, me voy a q1 (q1 es el estado de llenar o tapar),
y tiro 011.
Si estando en q1 me llega:
*11 me quedo en q1 y tiro 011.
*01 me quedo en q1 y tiro 001.
*10 me quedo en q1 y tiro 010.
*00 vuelvo a q0 y tiro 100.
Igual un problema que le veo, que estando en q1 por ejemplo si yo recibo como entrada 10 ( lo que me esta indicando que hay una botella debajo de la maquina 1 ), despues no voy a poder recibir como entrada estando en q1 11, porque para eso tendria que mover la cinta, y este automata como lo plantee es como que permitiera eso. Aunque yo sé que no va a pasar porque para eso deberia activar la cinta cosa que no hago.
Agradezco si alguien me puede decir si esta bien como lo plantee, o si necesito modelarlo con más estados.
Saludos.