Realiza un programa que avance el robot durante 2 segundos y que se pare y emita un sonido durante medio segundo.
Realiza un programa que permita avanzar el robot mientras se mantenga presionado el pulsador E8.
Realiza un programa que por cada presión en el pulsador de entrada E8 el robot avance un diente de la ruleta de contador (detección de flanco de subida de E2).
Realiza un programa que lleve el robot desde cualquier posición a su posición origen (HOME) fijada por la entrada E1
Realiza un programa que en primer lugar lleve el robot a su posición de origen, mediante un subprograma llamado HOME1, y que después permita avanzar al robot siempre que se mantenga presionado el pulsador E8.
|
|
Realiza un programa que lleve el robot a su posición de origen (subprograma) y que después le avance hasta una posición distante 55 impulsos de contador desde el origen. (Utiliza como variable contador Z2).
Solución actividad 7. Avance múltiple con subprograma.
Realiza un programa que lleve el robot a su posición de origen (subprograma HOME1) y que después le avance hasta una posición 1 distante 55 impulsos de contador desde el origen, que espere 2 segundos y le avance de nuevo hasta una posición 2 distante 145 impulsos desde el origen. Realiza el avance mediante un subprograma (AVANZAR) que fije las posiciones (el número de impulsos) mediante la variable VAR11.
|
|
Solución actividad 8. Avance y retroceso.
A partir del programa anterior, realiza un programa que lleve el robot al origen y que después avance el robot a la posición 2 que dista 145 impulsos, que espere 2 segundos y que retroceda hasta una posición 3 distante 95 impulsos desde el origen. El retroceso se puede hacer directamente sin subprograma. Las posiciones finales (número de impulsos) se fijarán usando la variable 11.
Realiza un programa que lleve el robot a su origen y desde allí avance el robot a la posición 1 distante 55 impulsos, espere 2 segundos, avance a la posición 2 distante 145 impulsos del origen, espere 2 segundos y retroceda a la posición 3 distante 95 impulsos del origen. Las 3 posiciones se deben alcanzar mediante un único subprograma (POSICIONAR) que detecte si una posición nueva (fijada por VAR11) es igual, mayor o menor que la anterior alcanzada ( guardada en Z2) en cuyo caso no se moverá, avanzará o retrocederá el robot hasta la posición indicada por VAR11.
|
|
Solución actividad 10. Ciclo repetitivo con soldadura.
Sobre el programa anterior vamos realizar un programa que repita el ciclo completo desde el origen y vamos a sustituir el tiempo de espera se 2 segundos por un subprograma (SOLDAR) que durante los 2 segundos simule el efecto de soldar creando una intermitencia que encienda 0,1 segundos la lámpara (M2) y la apague otros 0,1 segundos. (Para el contador de soldadura utiliza la VAR 4).
|
|
Vuelve a realizar el programa anterior mediante la programación orientada al estado. Es decir, los subprogramas HOME1, POSICIÓN y SOLDAR solo aparecerán una vez en el programa y se accederá a ellos en función de una variable (VAR1) que vaya marcando los distintos estados:
Sobre el programa anterior añade una parada de emergencia que entre en funcionamiento cuando se presione el pulsador E8 y una pantalla donde se visualice en todo momento la posición del robot expresada en impulsos desde el origen (Z2).
Sobre el programa de la actividad 11:Fija las tres posiciones del robot mediante los parámetros EA, EB y EC del terminal. Visualiza en un display el estado por el que pasa el programa en cada momento. Muestra el mensaje robot soldando durante el tiempo que dure la soldadura y por último añade al programa un reset que entre en funcionamiento al accionar el pulsador E8.
Realiza un programa que después de colocar el robot en su posición de origen lo haga avanzar al presionar la entrada E22 del terminal. El programa también debe contar y mostrar los impulsos (flancos) que la rueda dentada al girar produce sobre la entrada E2. (Utilizar como variable contador Z2).
Realiza un programa que lleve a la posición de origen todas las articulaciones simultáneamente. (No es necesario realizar subprogramas).
Realiza un programa que para cada articulación del robot y de modo independiente la coloque en su origen y la haga avanzar al presionar las respectivas entradas E22, E23, E24, E25 del terminal. El programa también debe contar y mostrar los impulsos (flancos) que las ruedas al girar producen sobre cada entrada E2, E4, E6 y E8 respectivamente. (Utilizar como variables de cuenteo Z2, Z4, Z6 y Z8 respectivamente).
|
|
|
|
Realiza un programa que: coloque la articulación 2 y a continuación la 1 en sus posiciones de origen (subprogramas HOME2 y HOME1), y que después mediante un subprograma (POSICIONAR) lleve simultáneamente las articulaciones 1 y 2 a las posiciones indicadas en la tabla siguiente expresada en impulsos desde el origen:
Posición | Articulación 1 (Cintura) VAR11 | Articulación 2 (Hombro) VAR12 |
1 |
60 | 50 |
La posición de la articulación 1 se fijará mediante la variable VAR11 y la de la articulación 2 mediante la variable VAR12.
|
|
Basándonos en el programa de la actividad anterior. Realiza un programa que coloque en sus orígenes las articulaciones 3, 2 y 1 en ese orden (HOME3, HOME2, HOME1) y que después mediante el subprograma POSICIONAR lleve las tres articulaciones simultáneamente a las posiciones indicadas en la tabla siguiente expresada en impulsos desde el origen:
Posición | Articulación 1 (Cintura) VAR11 | Articulación 2 (Hombro) VAR12 | Articulación 3 (Codo) VAR13 |
1 |
60 | 50 | 114 |
La posición de la articulación 1 se fijará mediante la variable VAR11, la de la articulación 2 mediante la variable VAR12 y la de la articulación 3 mediante VAR13.
|
![]()
|
A partir del programa anterior realiza un programa que coloque todas las articulaciones en sus orígenes, empezando por PINZA_ABIERTA y siguiendo con el orden anterior, que después lleve el robot a la misma posición anterior indicada en la tabla y una vez allí cierre la pinza 25 impulsos.
Posición | Articulación 1 (Cintura) VAR11 | Articulación 2 (Hombro) VAR12 | Articulación 3 (Codo) VAR13 | Pinza EA |
1 |
60 | 50 | 114 | Cerrada 25 |
El cierre de la pinza hay que hacerlo mediante un subprograma (PINZA_CERRADA), en el que el valor de cierre (25) será fijado directamente mediante el parámetro EA del TERMINAL.
|
|
A partir del programa anterior, realiza un programa secuencial (como actividad 10) que desplace el robot cíclicamente desde la posición de origen a la posición 1 seguido de cierre de pinza y después a la posición 2 seguido de apertura de pinza. Las posiciones están indicadas en la tabla siguiente expresadas en impulsos que dista cada articulación del origen.
Posición | Articulación 1 (Cintura) VAR11 | Articulación 2 (Hombro) VAR12 | Articulación 3 (Codo) VAR13 | Pinza EA |
1 |
60 | 50 | 114 | Cerrada 25 |
2 | 110 | 80 | 80 | Abierta |
Esta solución tiene un problema y es que las articulaciones 2 y 3 no las posiciona en el punto espacial que determinarían los valores finales de las variables VAR11 y VAR12, sino en sus puntos medios. Esto se debe a que el subprograma POSICIONAR contiene las secuencias de las articulaciones 2 y 3 con estructura de secuencia principal (empieza por arranque) y el programa las ejecuta como si estuvieran fuera del subprograma a pesar de estar editadas en su interior. De modo que al repetir el subprograma POSICIONAR dentro del programa, se procesan dos veces de manera simultanea cada una de las secuencias de las articulaciones 2 y 3 , y por lo tanto se repiten los bloques posicionar, con lo que las variables Z4 y Z6 se incrementan o decrementan de dos en dos por cada impulso de la rueda del motor, y esto hace que cuando se haya alcanzado el valor final de posición de cada articulación, dichas articulaciones se encuentran a medio camino de su posición final.
Para evitar este problema el subprograma posicionar solo debe contener la secuencia de la articulación 1, y las secuencias de las articulaciones 2 y 3 deben estar una única vez en el programa principal. El programa sería:
Realiza el mismo ciclo de trabajo de la actividad anterior, pero realizando una programación orientada al estado (como en actividad 11). Los estados son: 0.- Orígenes, 1.- Posición 1, 2.- Pinza cerrada, 3.- Posición 2, 4.- pinza abierta.
Realiza un programa para que el robot coja repetidamente un barril desde la posición 1 y lo deje en la posición 2. Para ello el robot siempre partirá desde la posición de origen, se dirigirá a la posición 1, cogerá el barril, desplazará la articulación 3 hasta su origen sin variar las otras articulaciones, y se dirigirá a la posición 2 donde abrirá la pinza y empezará de nuevo el ciclo.
Las posiciones están indicadas en la tabla siguiente expresadas en impulsos que dista cada articulación del origen.
Posición | Articulación 1 (Cintura) VAR11 | Articulación 2 (Hombro) VAR12 | Articulación 3 (Codo) VAR13 | Pinza EA |
1 |
60 | 50 | 114 | Cerrada 25 |
2 | 110 | 80 | 114 | Abierta |
Realiza un programa para que el robot tome un barril desde la posición 1 y lo coloque en la posición 2, que a continuación recoja un segundo barril de una posición 3 y lo apile encima de del primer barril (posición 4).
Posición | Articulación 1 (Cintura) VAR11 | Articulación 2 (Hombro) VAR12 | Articulación 3 (Codo) VAR13 | Pinza EA |
1 |
60 | 50 | 114 | Cerrada 25 |
2 | 110 | 80 | 114 | Abierta |
3 | 180 | 80 | 114 | Cerrada 25 |
4 | 109 | 18 | 86 | Abierta |
Recuerda en cada ciclo debe partir de la posición de origen y que para abandonar las posiciones 1, 2 y 3 es necesario desplazar la articulación 3 hasta su posición de origen.
Realiza un programa para que el robot tome un barril desde la posición 1 y lo coloque en la posición 2, que a continuación recoja un segundo barril de una posición 3 y lo apile encima de del primer barril (posición 4). A continuación coloca el segundo barril en la posición 1 y el primer barril en la posición 2.