Sei sulla pagina 1di 31

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

INDICE
INDICE.................................................................................................................................2 Prctica 1: LogixPro.............................................................................................................3 Prctica 2: LogixPro.............................................................................................................8 Prctica 3: LogixPro...........................................................................................................10 Prctica 4: LogixPro...........................................................................................................11 Prctica 5: LogixPro...........................................................................................................13 Prctica 6: LogixPro...........................................................................................................14 Prctica 7: LogixPro...........................................................................................................15 Prctica 8: LogixPro...........................................................................................................16 Prctica 9: LogixPro...........................................................................................................17 Prctica 10: LogixPro.........................................................................................................18 Anexo 1. Temporizadores..................................................................................................19 Anexo 2. Word Comparison (Ejercicio 1. Adicional).......................................................25 Anexo 3. Modulos (Ejercicio 2. Multi Floor Elevator Student Exercise).........................27

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 1: LogixPro
Nombre: ________________________________________________________ Grupo: _____________ Laboratorio Introductorio a Lgica de Rel.
Instrucciones Lgicas de Rel RSLogix. Este ejercicio se dise para familiarizarlo con la operacin de LogixPro y conducirlo paso a paso en el proceso de creacin, edicin y prueba de programas sencillos de PLC utilizando las instrucciones lgicas de rel soportadas por RSLogix.

Fecha: ____________________

Del men Simulations presente en la parte superior de la pantalla, seleccione el I/O Simulation y asegrese que la barra de instrucciones del usuario, similar a la mostrada arriba, est visible.

La ventana de edicin del programa debe mostrar un solo escaln (rung), similar al de arriba. Este es el escaln Fin de Programa ( End of Program) y es el ltimo escaln en cualquier programa. Si este es el nico escaln visible entonces su programa est vaco. Si su programa no est vaco, entonces haga click en la entrada File del men en la parte superior de la pantalla y seleccione "New" de la lista presente. Una caja de dilogo aparecer conminndole a seleccionar un tipo de procesador (Select Processor Type). Haga clic en "OK" para aceptar la opcin TLP LogixPro por descarte.

Ahora Maximize la ventana ProSim-II Simulation

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

El Simulador de Entrada/Salida (I/O Simulator) La pantalla del simulador, similar a la mostrada arriba, debe estar a la vista. Para este ejercicio usaremos la seccin de simulacin de Entrada/Salida, la cual consiste de 32 interruptores y luces. Se muestran dos grupos de 16 interruptores conmutadores conectados a 2 tarjetas de entrada de nuestro PLC simulado. Similarmente dos grupos de 16 luces se conectan a dos tarjetas de salida de nuestro PLC. Las dos tarjetas de entrada tienen direcciones "I:1" e "I:3", mientras las tarjetas de salida estn direccionadas como "O:2" y "O:4". Con el ratn (mouse) haga click en varios interruptores y note que el estatus del terminal al cual el interruptor est conectado cambia de color. Mueva despacio el ratn sobre un interruptor y observe que el cursor del ratn cambia a una mano, lo que indica que el estado de un interruptor puede ser alterado al hacer click en esta localidad. Cuando se pasa el ratn aparece una ventana tipo texto con una ayuda (tip) informndole Right Click to Toggle Switch Type" (haga click con el botn derecho del ratn para cambiar el tipo de interruptor conmutador). Proceda a hacer click con el botn derecho del ratn sobre un interruptor, y note como el tipo de interruptor cambia. Creacin de Programas con RSLogix Reduzca el tamao de la pantalla del simulador I/O a su tamao normal al hacer clic de nuevo en el botn del medio que usted us anteriormente para engrandecer la pantalla de simulacin. Al hacer esto las dos ventanas de programacin y la de simulacin deben verse de nuevo en la pantalla. Si usted lo desea puede ajustar el tamao relativo de estas ventanas moviendo con el ratn la barra que divide a ambas. Ahora introduzca el siguiente programa de un solo escaln (rung), el cual consiste de una sola instruccin de entrada XIC (XIC - Examine Entrada Cerrada) y una sola instruccin de salida OTE (OTE energizar la salida). Hay mas de una forma de hacer sto, pero por ahora se mostrar la forma que considero la mas comnmente usada.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Primero haga click en el botn "New Rung" presente en la barra de instrucciones del usuario. Este corresponde al primer botn en el lado izquierdo de la barra. Si usted mantiene el apuntador del ratn fijo sobre cualquiera de estos botones por uno o dos segundos, aparecer una ayuda pequea que describe la funcin o nombre de la instruccin que el botn representa.

Ahora deber ver un nuevo escaln agregado a su programa como se muestra arriba, y el nmero del escaln al lado izquierdo deber estar resaltado. Es de notar que el nuevo escaln se agreg sobre el ya existente escaln Fin de Programa (END). De una manera alternativa usted puede marcar el smbolo del escaln con el botn izquierdo del ratn y arrastrarlo a uno cualquiera de los cuadrados pequeos que aparecen en el programa, lo que generar un nuevo escaln en ese punto. Ahora haga clic en la instruccin XIC con el botn izquierdo del ratn y ella ser agregada a la derecha de la seleccin resaltada. Ntese que la nueva instruccin XIC agregada ahora est resaltada. De nuevo, alternativamente usted pudo arrastrar la instruccin desde la barra de instrucciones al escaln deseado del programa. Si usted accidentalmente agrega una instruccin y desea removerla, haga click con el botn izquierdo del ratn en la instruccin a remover y luego presione la tecla "Del" Sup en su teclado no numrico. Alternativamente, usted puede hacer click con el botn derecho del ratn en la instruccin y luego seleccionar "Cut" del men que se despliega. Haga clic con el botn izquierdo del ratn en la instruccin de salida agregada a la derecha de su actual seleccin. OTE y esta ser

Haga rpidamente dos veces click con el botn izquierdo del ratn en el signo de interrogacin ? presente en la parte superior de la instruccin XIC . Una caja de texto que comienza con ? aparecer en la cual usted deber introducir la direccin (I:1/0) del conmutador que deseamos monitorear. Use la tecla Backspace para eliminar la ?" presente en el cuadro de texto. Una vez que introduzca la direccin, haga click en cualquier parte de la instruccin, exceptuando el cuadro de texto, o presione la tecla enter y el cuadro se cerrar. Haga click con el botn derecho del ratn en la instruccin XIC y seleccione "Edit Symbol" del men que se muestra. Aparece otro cuadro de dilogo donde usted puede escribir un nombre (por ejemplo Suiche 0 ) para asociarlo con esta direccin. Un clic fuera del cuadro lo cerrar.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Introduzca la direccin y el smbolo para la instruccin OTE y su primer programa RSLogix estar completo. Antes de continuar, verifique que las direcciones de las instrucciones sean correctas.

Verificacin del Programa Debemos bajar el programa al PLC ("Download"). Haga clic en el botn "Toggle" en la esquina superior izquierda del panel de edicin, como se muestra en la grfica que sigue, para traer el panel del PLC a la vista.

Haga click en el botn "DownLoad" para comenzar la bajada del programa al PLC. Una vez completada, haga click dentro del crculo con la opcin RUN para comenzar con la corrida del programa por el PLC. Engrandezca la ventana de Simulacin, de forma que pueda observar los interruptores y las lmparas, arrastrando hacia la derecha con el ratn la barra que separa las ventanas de Simulacin y del Programa. Ahora haga click en el Interruptor I:1/00 en el simulador y si todo est correcto, la lmpara debe iluminarse. Conmuta el interruptor entre On (Encendido) y Off (Apagado) varias veces y observe el cambio de valor indicado por los cuadros de status del PLC los cuales estn constantemente actualizado a medida que el PLC barre las instrucciones del programa. Trate de colocar el PLC de regreso en el modo PGM" y luego conmute el interruptor del simulador varias veces y note el resultado. Coloque el PLC de nuevo en el modo RUN y la barrida (scan) del programa se reasume. Nosotros pensamos de la instruccin XIC como un contacto elctrico que permite el flujo de corriente cuando se cierra un interruptor externo. Esperamos que la salida OTE se energiza si se permite que el flujo de corriente llegue a lla. En la prctica la instruccin XIC es una instruccin condicional que verifica si el bit direccionado est en 1 (Verdadero). Si es verdadero, la corriente fluye hacia OTE en nuestro caso. Edicin del Programa. Haga click en el botn "Toggle" en el panel del PLC, lo que pondr al PLC en el modo PGM y permitir ver el pnel de edicin. Ahora agregue un segundo escaln al programa como se muestra abajo. Ahora en vez de introducir las direcciones como hicimos anteriormente, trate arrastrando la direccin apropiada que se muestra en la simulacin I/O, llevndola hacia la instruccin. Note que la instruccin XIC que prueba por la condicin 0 Falso tiene su direccin resaltada en amarillo. Esto indica que la instruccin est evaluada como Verdadera, que en el caso de una XIC significa que el bit direccionado es actualmente cero Falso.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Este es un buen momento para practicar sus habilidades de arrastrar y dejar caer (dragNdrop). Trate de mover instrucciones de escaln a escaln al hacer click con el botn izquierdo del ratn sobre una instruccin y manteniendo el botn presionado arrastre la instruccin a una nueva localidad. Trate de hacer lo mismo con eslabones completos al arrastrar el cuadro al lado izquierdo del escaln y dejarlo caer en una nueva localidad. Una vez que se sienta cmodo con el arrastre y dejar caer, asegrese que el programa luzca como el mostrado arriba. Ahora baje su programa al PLC y coloque al PLC en el modo Run. Conmute ambos interruptores 0 y 1 entre las posiciones On y Off varias veces y observe el efecto que tiene sobre las lmparas. Asegure que est conforme con el comportamiento de su programa antes de proceder.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 2: LogixPro
Nombre: ________________________________________________________ Grupo: _____________
Parada/Arranque (Stop/Start) usando OTL y OTUP. Para este ejercicio necesitamos dos interruptores Normalmente Abierto. Usando el botn derecho del ratn haga click en los interruptores "I:1/2" y "I:1/3", lo que los cambia a pulsadores normalmente abiertos ( N.O. push buttons). Ahora agregue los dos siguientes escalones a su programa. Una vez que introduzca los escalones correctamente, bjelo y corra su programa modificado.

Fecha: ____________________

Active los interruptores Start y Stop y asegure que las instrucciones de salida OTL y OTU responden como se estipula en su texto. Una vez que tengas la lmpara encendida, puede usted apagarlo si la potencia se pierde en el circuito del interruptor Stop?. Ahora modifique su programa de forma que opere correctamente cuando usted sustituya el interruptor normalmente abierto (I:1/03) con un interruptor normalmente cerrado. Si ahora perdemos potencia en el circuito del interruptor normalmente cerrado, que pasara con el estado de la lmpara (O:2/02)?

Emulacin del Control Standard Parada/Arranque (Stop/Start). Borre su programa al seleccionar "New" desde el men "File" en la parte superior de la pantalla. Cuando el cuadro de dilogo aparece haga click en OK para seleccionar el tipo PLC por descarte (default PLC type). Ahora introduzca el siguiente programa. Para introducir una bifurcacin, solo arrastre el botn de bifurcacin en el escaln y luego inserte o arrastre instrucciones en la ramificacin.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Antes que baje y corra este programa, echemos un cuidadoso vistazo al uso de la instruccin XIO para verificar el estado de un interruptores normalmente cerrado de parada. Cuando alguien presiona el interruptor de parada (Stop Switch), ir el bit I:1/04 a Verdadero o Falso? Ir la instruccin XIC al valor Verdadero o Falso cuando el interruptor se presiona? Es esta la lgica deseada? .... Corra el programa y verifique si es correcta..... Si pierde potencia en el circuito de parada (Stop Switch), a que estado la lmpara ir? .... Porqu piensa usted que la mayora prefiere este mtodo en vez del mtodo OTL/OTU para implementar el circuito de Parada/Arranque?. Ramificacin de Salida con RSLogix Modifique su programa para que sea igual a este:

Baje el programa al PLC y crralo. Opere los interruptores Stop y Start varias veces con el Interruptor-0 abierto, y de Nuevo con el interruptor-0 cerrado. Remueva la instruccin XIC de la rama de salida y observe a la lmpara 3 cuando usted arranca y para al circuito. Trate de mover la instruccin OTE de la lmpara-3 de forma que est en serie con la instruccin OTE de la lmpara 2. Baje el programa al PLC y crralo. Observe como ambas lmparas encienden con la rama vaca en su sitio. Ello puede aparecer como un circuito elctrico pero sabemos que en efecto no lo es y por lo tanto obedece un conjunto distinto de reglas. Remueva la ramificacin vaca. Baje el programa y crralo. Vea si esto tiene algn efecto en la lgica o en la operacin del escaln.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 3: LogixPro
Nombre: ________________________________________________________ Grupo: _____________ Fecha: ____________________

Control de una Luz desde dos Localidades. Genere, introduzca y pruebe un programa que realice la funcin comn de controlar una luz desde dos localidades diferentes. Utilice los interruptores conmutadores (I:1/00) y (I:1/01) para controlar la lmpara (O:2/00)... (Ayuda: Si ambos interruptores estn Encendidos o si ambos interruptores estn apagados, la lmpara debe estar encendida. Este es una forma de enfocar al problema.)

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 4: LogixPro
Nombre: ________________________________________________________ Grupo: _____________
Simulacin de ProSim-II de una Puerta de Garaje. Del menu Simulations en la parte superior de la pantalla elija la opcin Door Simulation. Tome su tiempo para familiarizarse con los componentes presentes en el sistema Puerta de Garaje y fjese en particular en el estado actual de los interruptores limitadores. Cuando la puerta est en la posicin cerrada, ambos interruptores estn en su estado activado (anormal). Coloque el ratn sobre cada uno de los interruptores interruptores y podr ver que una caja de texto de ayuda aparece, la cual indica que el interruptor seleccionado se cable usando contactos normalmente abiertos. Con la puerta completamente cerrada, que nivel de seal espera usted ver a las entradas I:1/03 e I:1/04, correspondientes a las conexiones de los interruptores al PLC?. Para confirmar su entendimiento del estatus actual de los interruptores limitadores, coloque al PLC en el modo RUN, lo que inicia el barrido. Ahora abra la pantalla Data Table (Tabla de Data) haciendo click en el cono Data Tabla localizado en la barra de herramientas en la parte superior de la pantalla (tercer cono desde la derecha ). Cuando usted tenga a su vista el cuadro de Data Table, vaya al subcuadro con lista titulado Table y seleccione I1:Input. Ahora podr observar el estado actual de cada bit asociado con la tarjeta de entrada I1. Debe notarse que el bit I:1/02 est tambin en el estado Alto o Verdadero. Utilizando el ratn, presione el interruptor Stop varias veces en el Pnel de Control y observe lo que ocurre. Juegue con los interruptores Start, Stop y Close, vea como se reflejan en esta tabla. Hasta que no entienda bien esta tabla y porque cambian los valores en ella, no contine con el ejercicio.

Fecha: ____________________

Ejercicio de Programacin Para el Estudiante. En este ejercicio queremos que aplique sus conocimientos en instrucciones de lgica de rel al diseo de un programa que controle la puerta ProSim-II. El sistema de la puerta consiste de un motor reversible, un par de interruptores limitadores y un panel de control, todo conectado a su PLC. El programa monitorear y controlar este equipo adhirindose a las siguientes premisas:

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

El movimiento de la puerta se detendr inmediatamente cuando se presione el interruptor Stop y permanecer detenida cuando se deje de presionar el interruptor. Al presionar el interruptor Open, la puerta se abrir siempre y cuando la puerta no est completamente abierta. Si el interruptor es dejado de presionar la puerta continuar abrindose hasta abrirse por completo. Al presionar el interruptor Close har que la puerta se cierre a menos que est completamente cerrada. El cierre de la puerta se mantendr hasta completarse aun cuando deje de presionar el interruptor de cierre. Si la puerta est completamente abierta, el presionar el interruptor de Apertura de Puerta no energizar el motor. Si la puerta est completamente cerrada, el presionar el interruptor de Cierre de Puerta no debe energizar el motor. Bajo ninguna circunstancia los dos embobinados (motor up y motor down) del motor deben energizarse simultneamente. La luz Ajar deber iluminarse si la puerta no est completamente cerrada o completamente abierta. La luz Open se encender cuando la puerta est completamente abierta. La luz Shut se encender cuando la puerta est completamente cerrada.

Ser de su responsabilidad el disear, documentar, depurar y probar su programa. Trate de evitar el uso de instrucciones de anclaje OTL u OTU y trate de minimizar el nmero de escalones que usa. Asegrese de usar apropiadamente comentarios en las instrucciones y escalones para documentar su programa. Todos los componentes de Entrada/Salida (I/O) referenciados dentro de su programa deben estar claramente etiquetados, y los comentarios en los escalones deben clarificar los pasos que su programa ejecuta.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 5: LogixPro
Nombre: ________________________________________________________ Grupo: _____________
Ejercicio Suplementario de Programacin. En este ejercicio queremos que modifique su programa para que se adhiera a los siguientes criterios: Si la puerta se est abriendo y se presiona el interruptor Close, se detendr el movimiento de la puerta, y la puerta permanecer detenida cuando el interruptor Close se deje de presionar. Si la puerta se est cerrando y se presiona el interruptor Open, la puerta detendr su movimiento. Cuando se suelte el interruptor Open, la puerta comenzar a abrirse. Una vez que el movimiento de la puerta sea detenido por una de las dos causas anteriormente mencionadas, el criterio de operacin de la primera seccin debe seguirse de nuevo.

Fecha: ____________________

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 6: LogixPro
Nombre: ________________________________________________________ Grupo: _____________
La Simulacin de un Silo en ProSimII. Del men Simulations en la parte superior de la pantalla seleccione Silo Simulation. Una imagen similar a la imagen de arriba se abrir en la ventana de simulacin. La imagen siguiente muestra con detalle donde estn los sensores de nivel (level sensor) y de proximidad (prox. sensor), interruptores (START y STOP), luces (RUN, FILL y FULL), vlvula solenoide (solenoid valve) y motor del sistema con las correspondientes entradas y salidas al PLC. Usted usar estos componentes en los ejercicios.

Fecha: ____________________

Operacin Continua. Disee y depure completamente un circuito de control usando lenguaje escalera que automticamente posicione y llene las cajas, las cuales aparecen secuencialmente en la correa transportadora. Asegrese que los siguientes detalles se satisfagan: La secuencia puede ser detenida y comenzada de Nuevo en cualquier momento usando los interruptores Stop y Start montados en el panel a la izquierda del simulador. La luz RUN permanecer energizada siempre que el sistema est operando en modo automtico. La luz RUN, el motor de la cinta transportadora y la vlvula solenoide se desenergizarn siempre que el sistema sea detenido con el interruptor STOP. La luz FILL debe energizarse cuando la caja se est llenando. La luz FULL se energizar cuando la caja est llena y permanecer as hasta que la caja sea movida fuera del fotosensor.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 7: LogixPro
Nombre: ________________________________________________________ Grupo: _____________
Llenado de Cajas con Comienzo de Nuevo Manual. Altere su programa o escriba uno nuevo de forma que incorpore los siguientes criterios: Detenga el movimiento de la cinta transportadora cuando el lado derecho de la caja sea detectado por el fotosensor. Con la caja posicionada y la cinta transportadora detenida, abra la vlvula solenoide y permita que la caja sea llenada. El proceso de llenado debe concluir cuando el sensor de nivel asuma el valor Verdadero. La luz FILL debe energizarse mientras se est llenando la caja. La luz FULL debe energizarse cuando la caja est llena y permanecer energizada mientras la caja llena no sea movida fuera del fotosensor. Una vez que la caja est llena, deber presionar momentneamente el interruptor Start para mover la cinta transportadora y mover la caja llena fuera del rea de llenado, lo que al mismo tiempo traer una nueva caja vaca a la posicin de llenado. No se acepta como solucin a esta situacin el que el interruptor Start sea continuamente presionado por el operador mientras la caja llena salga de la zona de llenado.

Fecha: ____________________

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 8: LogixPro
Nombre: ________________________________________________________ Grupo: _____________
Control de Trfico usando 3 Luces. Del men de Simulations en la parte superior de la pantalla, seleccione la simulacin titulada como Traffic Light Simulation. En la ventana de simulacin aparecer una imagen como la imagen superior al lado del ttulo de la simulacin. Debemos prestar atencin a la seccin de la imagen correspondiente a la luz de trfico, detallada en la siguiente imagen, donde notamos cada luz y la salida del PLC que la controla.

Fecha: ____________________

Usando su conocimiento de temporizadores en cascada (Ver Anexo 1), desarrolle un programa en lenguaje escalera que realice la secuencia de luces verde, amarilla ( mbar) y roja de la manera siguiente: Secuencia de Operacin:

1. Luz Roja controlada por salida O:2/00 encendida por 12 segundos. 2. Luz Verde controlada por salida O:2/02 encendida por 8 segundos.
3. Luz Amarilla ( mbar) controlada por salida O:2/01 encendida por 4 segundos. 4. La secuencia se repite otra vez comenzando con la luz roja. <----------------- Tiempo en Segundos ------------------> ROJA 12 Sec. VERDE 8 Sec. AMBAR 4 Sec.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 9: LogixPro
Nombre: ________________________________________________________ Grupo: _____________ Fecha: ____________________

Control de Trfico usando 6 Luces. Modifique su programa de forma que las otras 3 luces representantes del flujo de trfico en la otra direccin tambin puedan ser controladas. Usted est tentado a usar seis temporizadores para llevar a cabo esta tarea, pero el trabajo puede realizarse con solo cuatro, y al mismo tiempo tendr un programa mas claro. Roja = O:2/00 Verde = O:2/06 8 Sec. Ambar = O:2/05 4 Sec. 8 Sec. Verde = O:2/02 Ambar = O:2/01

Roja = O:2/04 4 Sec.

Como que se producen colisiones porque es muy rpido el cambio de amarillo ( mbar) en una direccin a verde en la otra direccin.? Parece que los conductores no le prestan atencin a la funcin de la luz amarilla ( mbar), en vez de reducir su velocidad al presentarse la luz amarilla, lo que hacen es acelerar, mientras que los conductores en la otra direccin tan pronto ven la luz verde arrancan desesperados. No necesitamos realizar un nuevo cableado para corregir esto. La solucin a esta situacin llevar un poco mas de programacin

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Prctica 10: LogixPro


Nombre: ________________________________________________________ Grupo: _____________ Fecha: ____________________

Ejercicio 3>Control de Trfico Usando Retraso Para la Luz Verde. Modifique su programa de forma que exista un perodo de un segundo de retardo donde las dos luces rojas estn encendidas antes de pasar a la secuencia verde, amarilla ( mbar), roja. El diagrama de tiempo mostrado abajo presenta solo uno de estos intervalos de un segundo, pero se necesitan dos de ellos. Trabaje el problema y trate de no usar mas de seis temporizadores. Roja = O:2/00 Verde = O:2/06 8 Sec. Ambar = O:2/05 4 Sec. 1 Verde = O:2/02 Ambar = O:2/01

Roja = O:2/04 8 Sec. 4 Sec.

!Si el intervalo de un segundo no es suficiente para controlar a estos conductores, proceda a aumentar ese intervalo a dos segundos

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Anexo 1. Temporizadores.
The TON Timer .... (Timer ON Delay) From the LogixPro Simulations Menu, select the I/O Simulation. Clear out any existing program by selecting the "New" entry in the File menu, and then select the "Clear Data Table" entry in the Simulations menu. Now enter the following program being careful to enter the addresses exactly as shown. Confirm that you have entered the number 100 as the timer's preset value. This value represents a 10 second timing interval (10x0.1) as the timebase is fixed at 0.1 seconds:

Once you have your program entered, and have ensured that it is correct, download it to the PLC. Ensure that Switch I:1/0 is Open, and then place the PLC into the Run mode. Right click on the Timer instruction, and select "GoTo DataTable" from the drop-down menu. Note the initial value of timer T4:1's accumulator and preset in the spaces below. Also indicate the state of each of the timer's control bits in the spaces provided: Initial State (Switch I:1/0=Open): T4:1.ACC = _____ T4:1.PRE = ______ T4:1/EN = ____ T4:1/TT = ____ T4:1/DN = ____

Close switch I:1/0, and carefully observe the incrementing of the timer's accumulator, and the state of each of it's control bits. Once the Timer stops incrementing, note the final value of timer T4:1's accumulator, preset, and the state of it's control bits below: Final State (Switch I:1/0=Closed):

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

T4:1.ACC = _____ T4:1.PRE = ______ T4:1/EN = ____ T4:1/TT = ____ T4:1/DN = ____ Toggle the state of switch I:1/0 a number of times, and observe the operation of the Timer in both the DataTable display and in the Ladder Rung program display. Confirm that when the rung is taken false, the accumulator and all 3 control bits are reset to zero. This type of timer is a non-retentive instruction, in that the truth of the rung can cause the accumulator and control bits to be reset (=0). Conclusions: Use the TON instruction to turn an output on or off after the timer has been on for a preset time interval. This output instruction begins timing when its rung goes "true". It waits the specified amount of time (as set in the PREset), keeps track of the accumulated intervals which have occurred (ACCumulator), and sets the DN (done) bit when the ACC (accumulated) time equals the PRESET time. As long as rung conditions remain true, the timer adjusts its accumulated value (ACC) each evaluation until it reaches the preset value (PRE). The accumulated value is reset when rung conditions go false, regardless of whether the timer has timed out.

Cascaded TON Timers Insert a new rung containing a second timer just below the first rung as shown below. This second timer T4:2 will be enabled when the first timer's Done bit T4:1/DN goes true or high (1).

Once you have completed this addition to your program, download your program to the PLC and select RUN. Toggle the state of switch I:1/0 to ON and observe the operation of the timers in your program. Bring the DataTable display into view, and pay particular attention to the way in which the timers are cascaded (one timer starts the next). Try changing the value of one of the timer presets by double clicking on the preset value in the DataTable display, and then entering a new value. Run the timers through their timing sequence a number of times. Don't move on until you are satisfied that the timers are working as you would expect

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

In this exercise we have utilized just two timers, but there is nothing stopping us from sequencing as many timers as we wish. The only thing to remember is; to use the DN (done) bit of the previous timer to enable the next timer in the sequence. Obviously locating the timers on consecutive rungs, and employing consecutive numbering will make such a program much easier to read and trouble-shoot.

Self Resetting Timers Place the PLC into the PGM mode, and modify the first rung of your program as depicted below.

Once you have modified your program, download it to the PLC and place the PLC into the RUN mode. Close switch I:1/0 and observe the operation of the timers. The timers should now be operating in a continuous loop with Timer1 starting Timer2, and then when Timer2 is done, Timer1 is reset by Timer2's done bit. As before, when Timer1 is reset, it in turn resets Timer2 which causes Timer2's done to go low (T4:2/DN=0). Once Timer2's done bit is low, the sequence is back to where it originally began, and the timing sequence will start over once again on the very next scan. Remove the first instruction (switch XIC I:1/0) from rung zero of your program. Download and RUN this modified version of your program Does the timing operation continuously sequence as before? It should! Can you stop the timing sequence? Not without taking the PLC out of the RUN mode! In many applications there may never be a need to stop such a timing sequence, so a switch might not be used or needed. In this exercise we cascaded two timers, but as before there is nothing to stop us from cascading as many timers as we wish. The thing to remember here is; utilize the DN (XIC or "NOT"done) bit of the last timer in the sequence to reset the first timer in the sequence. Once again, consecutive rungs, and numbering will make a program much easier to read and trouble-shoot.

The TOF Timer .... (Timer OFF Delay) In Allen Bradley PLC programming, the TON timer is by far the most commonly used type of timer. Most people consider TON timers to be simple to use and understand. In comparison, many people find the operation of the Allen Bradley TOF (Timer OFF delay) timer to be less intuitive, but I'm going to let you decide for yourself. Make sure that switch I:1/0 is Closed, and then enter or modify your existing program to match the one shown below.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Once you have your program entered, and have ensured that it is correct, download it to the PLC. Ensure that Switch I:1/0 is Closed, and then place the PLC into the Run mode. Right click on the Timer instruction, and select "GoTo DataTable" from the drop-down menu. Note the initial value of timer T4:1's accumulator and preset in the spaces below. Also indicate the state of each of the timer's control bits in the spaces provided: Initial State (Switch I:1/0=Closed): T4:1.ACC = _____ T4:1.PRE = ______ T4:1/EN = ____ T4:1/TT = ____ T4:1/DN = ____

Open switch I:1/0, and carefully observe the incrementing of the timer's accumulator, and the state of each of it's control bits. Once the Timer stops incrementing, note the final value of timer T4:1's accumulator, preset, and the state of it's control bits below: Final State (Switch I:1/0=Open): T4:1.ACC = _____ T4:1.PRE = ______ T4:1/EN = ____ T4:1/TT = ____ T4:1/DN = ____

Toggle the state of switch I:1/0 a number of times, and observe the operation of the Timer in both the DataTable display and in the Ladder Rung program display. Confirm that when the rung is taken true, the accumulator and all 3 control bits are reset to zero. The TOF timer like the TON timer is also a non-retentive instruction and can be reset by changing the truth of the rung. Conclusions: Use the TOF instruction to turn an output on or off after its rung has been off for a preset time interval. This output instruction begins timing when its rung goes "false." It waits the specified amount of time (as set in the PRESET), keeps track of the accumulated intervals which have occurred (ACCUM), and resets the DN (done) bit when the ACCUM (accumulated) time equals the PRESET time.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

The Accumulated value is reset when rung conditions go true regardless of whether the timer has timed out. The RTO Timer .... (Retentive Timer ON) Make sure that switch I:1/0 is Open, and then replace the TOF timer in your program with a RTO retentive timer. Now insert a new rung below the timer, and add the XIC,I:1/1 and RES,T4:1 instructions. Your program should now match the one shown below:

Once you have your program entered, and have ensured that it is correct, download it to the PLC. Ensure that both Switches are Open, and then place the PLC into the Run mode. Right click on the Timer instruction, and select "GoTo DataTable" from the drop-down menu. Note the initial value of timer T4:1's accumulator, preset and control bits. Are we starting off with the same values we had in the TON exercise? You should be answering Yes.! Close switch I:1/0 for 2 or 3 seconds and then Open it again. Note that the timer stopped timing when the rung went false, but the accumulator was not reset to zero. Close the switch again and leave it closed which will allow the timer to time-out (ACC=PRE). Once timed out, note the state of the control bits Open the switch, and once again note the state of the control bits. Now close Switch I:1/1 and leave it closed. This will cause the Reset instruction to go true. Close switch I:1/0 momentarily to see if the timer will start timing again. It should not!

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Open Switch I:1/1 which will cause the Reset instruction return to false. Now toggle switch I:1/0 several times and note that the timer should again start timing as expected. Repeat the foregoing steps, until you are satisfied that you clearly understand the operation of both the RTO timer, and the Reset instruction. Conclusions: An RTO timer functions the same as a TON with the exception that once it has begun timing, it holds its count of time even if the rung goes false, a fault occurs, the mode changes from RUN to PGM, or power is lost. When rung continuity returns (rung goes true again), the RTO begins timing from the accumulated time which was held when rung continuity was lost. By retaining its accumulated value, retentive timers measure the cumulative period during which rung conditions are true.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Anexo 2. Word Comparison (Ejercicio 1. Adicional).


Exercise #1 -- Traffic Control utilizing 1 Timer From the Simulations Menu at the top of the LogixPro screen, Select the Traffic Light Simulation

Utilizing a single timer, employ the use of Word Comparison instructions to control our simulated traffic light. The sequence of operation and timing durations are set out in following timing diagram. Your program should incorporate a 1 second period (delayed green) when both directions will have only their RED lights illuminated. Note that the timing diagram below only shows one of these 1 second intervals, but two are actually required. Red = O:2/00 Green = O:2/06 8 Sec. Amber = O:2/05 4 Sec. 1 Green = O:2/02 Amber = O:2/01

Red = O:2/04 8 Sec. 4 Sec.

If a one second delay proves insufficient to get these drivers under control then just go ahead and jack the delay up to two!

Exercise #2 -- Dealing with Pedestrians Modify your program so that the crosswalks are also controlled. This is not necessarily a word comparison exercise, but it's a task that needs doing, and you should now have sufficient expertise to accomplish it. It might not be all that easy however!

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Your program should operate as follows: When depressed, the crosswalk pushbutton will cause the appropriate Walk Sign to be illuminated at the next occurrence of a Red to Green transition for the appropriate direction. If the Green light is already illuminated when the button is pressed then the Walk signal sequence will be delayed until the next Red to Green transition occurs. Once the Walk Sign is illuminated, it will remain so for the duration of the Green signal. When the Amber light appears, the Walk Sign will commence to flash On and Off and continue to do so until the Red signal appears.

You might consider using a bit from the free-running timer located in S2:4 to create the cautionary flashing effect.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

Anexo 3. Modulos (Ejercicio 2. Multi Floor Elevator Student Exercise).


Getting Started As we've seen previously, modularizing portions of a program and placing the required logic into subroutines often results in a program which is both easier to read and understand. In extreme cases, a programmer may even elect to modularize the total program. If this approach is taken, then the resultant core or main program will often be nothing more then a list of calls to subroutines where the details are dealt with. Very much like the Index for a book. The index provides an overview from which the reader can readily discern where particular topics are located, and then readily move to that location for further details. In the case of the Elevator simulation, it isn't too hard to visualize how we might modularize many, if not all the tasks that are going to be required. The tasks of closing and opening the door are obvious candidates for modularization. Almost all programs require an initialization section, and even tasks that require continual execution, such as catching a button press which denotes a request for the elevator to arrive, can often be grouped into a subroutine, and then simply called unconditionally on every scan. Add a module to track the elevator's motion, and we should already have a fairly good topical outline for our program's Index. Another factor which is somewhat unique to this exercise, is that we are going to need a fair number of flags to keep track of what we are doing, and what must be done next. Fortunately, the switch closures which denote a request to have the elevator arrive, will lead us to latching the builtin lamp of the switch so as to visually confirm the request has been recognized. The lamp for this switch should remain energized until the elevator car arrives, and hence that lamp can serve the dual purpose of flagging that pending requests exists, it's floor, and indirectly the required direction of travel. Employing I/O in this dual purpose manner should not be new, but utilizing latch (L) and unlatch (U) instructions has until now been generally discouraged. You should be well aware of the reasoning behind this by now, but there are situations where the latching instructions are ideally suited to the task, and this happens to be one of them. Exercise #1 -- Preparing Your Program's Index. Open a new program, and enter the rungs shown below into the main or LAD2 section of this program. Once this is accomplished, all further logic that you add to your program should be placed into the appropriate subroutine which has been allocated for the particular task at hand.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

You will note that a number of flags have already been pre-defined, and these are to be employed to control the logic flow of your final program. Just to make life a little easier on your instructor, you are asked to utilize unused bits in word B3:0 if and when any additional flags are required.

Exercise #2 -- Taking the Elevator to the Top. In this exercise you will add all the appropriate logic to detect when the wall mounted 4th floor switch (I:1/11) is pressed. When this occurs, the elevator is to be put into motion and proceed upwards until it arrives at the 4th floor where it will halt. This of course assumes that the elevator starts out in it's default location at the first floor.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

It's imperative that you accomplish this task while maintaining compatibility with the current program structure. To this end, all 6 subroutines will be utilized, and therefore each must first be programmed with the appropriate logic to accomplish this initial task. U3, Initialization Subroutine: Each time you test your program, you should first reset the simulation using the selection in the simulations menu. This will ensure that elevator is back at the first floor and all the hardware is in it's initial state. When you place your program into the run mode, U3 will be executed, and it is here where you should ensure that all flags etc are in their correct initial state. In particular, the "DoNext or Wait" flag should be latched true which will ensure that subroutine U7 (Next Request or Wait) will be actively scanned at this time. U4, Catch Floor Requests: This subroutine is where the logic that will detect, and react to the closure of the 4th floor wall switch should be placed. The lamp for this switch should be latched on, but this should only occur if the elevator is not already at the 4th floor. In later exercises, additional logic will be added for the other switches that can initiate a change in the elevator's location. U5, Next Request or Wait: This subroutine is where the decision to move the elevator will be made. The built-in lamps of the wall mounted switches may be used as a flag to initiate a move of the elevator car. For now it will only be necessary to monitor flag (lamp) O:2/11 and set the "Close and Go" flag in response. This will in-turn invoke the "Close Door and Move" subroutine (U7) which will take care of getting the elevator underway. U6, Close Door and Move: In this subroutine, locate the logic to close the door, and then energize the motor to get the elevator underway. The desired direction is obvious in this case, but later you will most certainly require flags to indicate which direction to proceed in. Before exiting this subroutine make sure that both the "DoNext or Wait" and the "Close and Go" flags are cleared (unlatched), and set the "Car is Moving" flag so that positioning of the car will be controlled. U7, Track Car Movement: Once the car is moving, this subroutine takes control, and is responsible for deciding where to stop the car. In this exercise the direction and destination are fixed (up, 4th floor), so you will only be required to determine when the car has reached the fourth floor. Once there, the car's location should be flagged by updating the appropriate floor indicator lamps, and the "Stop and Open" flag should be set (latched) which will in-turn invoke the "Stop and Open Door" subroutine. The car's vertical position can be determined by reading the motor's shaft encoder (I:5), and equating this reading to those you have gathered for the individual floors. It may take a little trial and error to initially gather these values, but the task can be made easier if you temporarily slow LogixPro's scan rate down somewhat. U8, Stop and Open Door: The first thing to do here is to stop the motor and reset (unlatch) the "Car is Moving" flag. You should also extinguish the built-in lamp of the wall mounted request switch. The floor indicator

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

lamps above the door can be utilized to determine which lamp is to be extinguished. Lastly a small 2 second settling delay should be allowed for, followed by opening the door. Once you have your program to the point where the elevator can be moved from it's initial location to the 4th floor as outlined, you should then be ready to deal with returning it to the 1st floor.

Exercise #3 -- A Complete 2 Floor Elevator Control. In this exercise, you are asked to add the required logic to implement a complete 2 floor elevator control system. Floors 1 and 4 will be used for this purpose, and all switches and lamps associated with these floors are to be made fully operational. All added logic should be placed into the subroutine deemed appropriate for the particular task, and additional flags may be added as required.

When not actively moving, the elevator will be located at one of the 2 serviced floors, sitting at rest with the elevator car door opened. When at rest, the only lamps illuminated will be the appropriate floor indicator lamp located directly above the elevator door. Additionally, your program should not respond to a switch press associated with the elevator's current location On arrival at a floor, the built-in switch lamp for that floor should be extinguished, and the appropriate floor indicator lamp above the door should be illuminated. The door should then be made to open 2 seconds later. Additionally, the door must remain open for a minimum of 5 seconds before being allowed to process another floor request. Floor requests occurring during this delay period should not be ignored, but only delayed in processing. While working on a solution for this exercise, keep in mind that you will soon have to extend this control to all 4 floors. Flags to indicate in which direction the elevator is traveling will be a must. Fortunately with just 2 floors, determining which direction to go is a trivial task, but one that will become quite complex when additional floors are added. Once you have assured that you can fully control the operation of this 2 floor elevator, you should be well prepared to move onto the multi-floor exercise.

Exercise #4 -- Multi Floor Elevator Control. Extending your program to accommodate multiple floors, would appear to be a relatively simple matter of just adding the logic to deal with the additional switches and lamps. This must be done of course, but a new issue arises in a multi-floor system which can prove to be quite a challenge to solve for.

COLEGIO DE ESTUDIOS CIENTFICOS Y TECNOLGICOS DEL ESTADO DE QUERTARO

SISTEMA DE GESTIN DE LA CALIDAD ISO 9001:2000

Cuadernillo de Practicas

CUADERNILLO DE PRCTICAS

With a 2 floor elevator, you really have only one choice when deciding in which direction the elevator should move. In a multi-floor system however, you can be faced with 2 choices of travel whenever the elevator is at an intermediate floor. In addition, you must also take into account whether the elevator is at rest with no requests for service pending, or has stopped temporarily at the intermediate floor while proceeding to a floor further beyond in that same direction.

In our multi floor system, the elevator should continue in it's initial direction of travel, stopping at each intermediate floor which has a request pending for that particular direction, and continue in this same direction until the farthest request for service is reached. At this point the direction of travel should then be reversed if further requests are pending. Any requests associated with this new direction of travel should then be serviced. Once moving towards the farthest requested floor, the elevator should not stop at an intermediate floor if the request at that floor is for the opposite direction; unless this is the farthest request. Otherwise the floor should be bypassed and serviced when the elevator later approaches the floor from the opposite direction of travel. Keeping track of the direction of travel will be critical in this control scheme. It's therefore suggested that you employ both "Going Up" and "Going Down" flags to help in the decision making process. Only when there are no requests pending would the elevator be deemed to be at rest (Waiting), and both direction flags would be set false (unlatched). The first new request detected can then be used to determine the initial direction of travel, and the appropriate flag set (latched). Once a direction has been flagged, then motion and servicing will continue until all pending requests are serviced. If required, the direction may be changed, but not until all requests are serviced will both direction flags once again become false. The logic associated with determining the initial direction, change in direction, and achieving a state of rest, ideally belongs in the "Next Request or Wait" subroutine. This logic will definitely not be trivial to develop, and you are strongly advised to utilize whatever tools you have at your disposal, including pen and paper to attain a suitable solution.