Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Entradas y Salidas
Entradas y Salidas
ENTRADAS y SALIDAS
OUTPUT CH 1...8
<1 1 OUTPUT 01
2 OUTPUT 02
3 OUTPUT 03
4 OUTPUT 04
5 OUTPUT 05
6 OUTPUT 06
0V 7 OUTPUT 07
8 OUTPUT 08
OUTPUT CH 9...16
<1 11 OUTPUT 09
12 OUTPUT 10
13 OUTPUT 11
14 OUTPUT 12
15 OUTPUT 13
16 OUTPUT 14
0V 17 OUTPUT 15
18 OUTPUT 16
-XS10
Tema 4: Entradas y salidas.
1 24V OUT
2 0V OUT
24V 3 0V OUTPUT
4 24V OUTPUT
5 0V Input
6
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
Consiste en un conector del tipo D-sub de 44 polos que está conectado internamente con la
unidad de E/S (DSQC-652) y puede conectar hasta 16 entradas y 16 salidas digitales que se
utilizan para conectar detectores de presencia de pieza o activación de electroválvulas de
pinzas de soldar por ejemplo.
Si el sistema robot no tiene configuradas las entradas/salidas, se han de seguir los siguientes
pasos:
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
En Name: identificar la señal con un nombre significativo. Por ejemplo do1 (digital
output 1).
En Type of Signal: identificar el tipo de señal. En el ejemplo es una salida, por
tanto Digital Output.
En Assigned to Unit: identificar la tarjeta a la que pertenece la señal, configurada
en el punto anterior t1.
En Unit Mapping: asignar de los 16 bits de salida que tiene la tarjeta, con cual de
ellos se configura. Como es el primer bit se le asigna el 0.
En Category: asignar 0.
En Access Level: asignar All (acceso desde el FlexPendant y RobotStudio) o
Default (acceso solamente desde el FlexPendant).
En Default value: asignar el valor de la señal en reposo (0 o 1) en este caso 0.
Los demás campos son opcionales.
Este proceso se ha de repetir hasta configurar todas las señales de entradas y salidas. Como al
aceptar cada una de ellas el programa pide reiniciar el FlexPendant, se seleccionara No, salvo
en la última señal configurada. Al reiniciarse el FlexPendant todas las señales programadas
son operativas
Tema 4: Entradas y salidas.
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
Se procede igual que si se configurase una entrada o salida solamente que en el tipo de
señal hay que elegir Group Input o Group Output.
Para formar un grupo de señales, es necesario que éstas estén definidas anteriormente.
Por ejemplo, si se pretende configurar un grupo de entradas digitales:
El valor de las entradas y salidas, se puede visualizar y simular o forzar desde el FlexPendant.
Para ello seleccionar ABB\Panel de control\Entradas y salidas.
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
Se visualizarán todas las entradas digitales configuradas con el valor. Si se pretende variar el
valor de la entrada di1 por ejemplo, basta con seleccionarla y actuar sobre Simular.
Mediante los dígitos 0 y 1 que se hacen visibles se puede forzar su valor y las entradas
quedan configuradas como Simuladas.
Si se pretende actuar con la entrada física es necesario que ésta no esté seleccionada
como simulada por lo que hay que seleccionar la entrada correspondiente y clicar sobre
Eliminar simulación de lo contrario el sistema no responde a los cambios de la entrada
cableada.
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
Se visualizarán todos los grupos de entradas digitales configurados con el valor actual
expresado en decimal. Si se pretende variar el valor del grupo de entradas, basta con
seleccionarlo y actuar sobre Simular.
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
Clicando sobre 123… que se hace visible un teclado numérico con el que asignar el valor al
grupo. Como se observa en la figura también se dispone de los valores, expresados en decimal,
máximo y mínimo que puede tener dicho grupo.
Datos numéricos
Las instrucciones más utilizadas y relacionadas con los datos numéricos son:
a (cont1:= cont1-1)
Add: Añade un valor a la variable numérica. Por ejemplo Add cont1 25; que equivale a
(cont1:= cont1+25)
Clear: Borra el valor de la variable numérica. Por ejemplo Clear cont1; que equivale a
(cont1:= 0)
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
9
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el código necesario para reconocer las entradas digitales.
actividad: 02.- Programar el código necesario para activar las salidas digitales.
03.- Entender la estructura de las instrucciones con entradas y salidas.
Conocimientos 01.- Entradas y Salidas digitales del robot. Conexión de las mismas.
previos: 02.- Entradas y Salidas digitales del robot. Configuración y verificación
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos:
1.- Crear un programa de forma que la punta de la herramienta dibuje o siga las aristas de
una pirámide, cuando se active una señal de entrada (di1).
2.- Se activarán dos señales digitales de salida a cada una de las cuales se conectará una
lámpara:
Procedimiento:
1.- Crear un programa siguiendo los pasos descritos en el tema T3. ABB\ Editor de
programas\Tareas y programas\Archivo\Nuevo programa.
Actividad 4.1: Entradas y salidas. Manejo de señales
2.- Crear la rutina “piramide” siguiendo los pasos descritos en el tema T3, teniendo en cuenta
que la herramienta seleccionada es la llamada puntero que previamente está calibrada. ABB\
Editor de programas pestaña Rutinas\Archivo\Nueva rutina.
PROC piramide()
MoveJ p10, v1000,fine, puntero;
MoveL p20, v1000,fine, puntero;
MoveL p50, v1000,fine, puntero;
MoveL p40, v1000,fine, puntero;
MoveL p30, v1000,fine, puntero;
MoveL p50, v1000,fine, puntero;
MoveL p30, v1000,fine, puntero;
MoveL p20, v1000,fine, puntero;
MoveL offs (p20,0,0,150), v1000,fine, puntero;
ENDPROC
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
3.- Insertar las instrucciones correspondientes a las activaciones de las señales de salida y a la
de espera a la señal de entrada:
Para que el programa ejecute la rutina “piramide” cuando se active la señal de entrada,
insertar la instrucción WaitDI del grupo Common (pulsando siguiente). En la siguente
pantalla elegir di1 para sustituir a <EXP>. Si hubiera que activar la rutina con la
entrada con valor 0, habría que editar (Editar\ABC…) la instrucción para cambiar su
valor:
Para que el programa desactive las salidas insertar la instrucción Reset del mismo
grupo Common.
PROC main()
ENDPROC
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Observación:
Esta situación se refleja en el FlexPendant al observar que el símbolo del robot está en la
instrucción MoveAbsJ mientras que el puntero del programa está en la instrucción WaitDI
habiendo ejecutado las dos instrucciones anteriormente citadas.
Una solución consiste en introducir una instrucción de espera en la que el puntero del
programa estará parado el tiempo que tardan los brazos del robot en llegar a la posición de
inicio. La instrucción a utilizar es WaitTime:
PROC main()
Actividad 4.1: Entradas y salidas. Manejo de señales
Set do1; “activa la salida1 o lámpara verde”
WaitDI di1,1; “espera a que la entrada1 se active (se ponga a 1)”
Reset do1; “desactiva la salida1 o lámpara verde”
Set do2; “activa la salida2 o lámpara roja”
piramide; “ejecuta la rutina pirámide”
MoveAbsJ jpos10\NoEOffs,v1000,z50,MyTool; “posición de inicio”
WaitTime 2; “espera 2s”
Reset do2; “desactiva la salida2 o lámpara roja”
ENDPROC
4.- Ejecutar el programa situando el cursor en main (Depurar\ PP a main) y pulsar el botón
Play para comenzar los movimientos del robot. Para poder ejecutar las condiciones, la entrada
y las dos salidas estarán convenientemente cableadas al controlador del robot siguiendo el
esquema general expresado en el Tema 4.
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
5.- Con el mismo procedimiento, rutina “piramide” se pretende que el mismo no arranque
hasta haber pulsado los dos pulsadores a la vez (Seguridad bimanual) y que mientras el brazo
del robot se retira a la posición de inicio la luz roja realice una intermitencia utilizando la
instrucción PulseDO.
ENDPROC
La instrucción PulseDO genera un pulso en la salida especificada, en este caso do2, durante el
tiempo que tiene asignado el argumento \PLength:=0.4, en este caso de 0,4 segundos.
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
En las siguientes figuras se observa cómo es la ejecución de esta instrucción cuando el nivel de
señal previo corresponde a “0” o “1”.
El programa, también se podría haber hecho con instrucciones Set; Reset y WaitTime
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el código necesario para que el robot realice una tarea en
actividad: función del estado de una entrada.
02.- Entender la estructura de las instrucciones condicionales.
03.- Programar el robot mediante la FlexPendant.
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos:
1.- Crear un programa de forma que la punta de la herramienta dibuje o siga las dos formas
geométricas expresadas en la figura, hexágono y “pletina”.
2.- Cada figura estará programada en una rutina diferente. Todas ellas se llamarán desde la
rutina principal o main y en función de dos entradas digitales el robot ejecutará las figuras:
Procedimiento:
1.- Crear un programa siguiendo los pasos descritos en el tema T3. ABB\ Editor de
programas\Tareas y programas\Archivo\Nuevo programa.
PROC pletina()
MoveJ p80, v1000,fine, puntero;
MoveL p90, v1000,fine, puntero;
MoveL p100, v1000,fine, puntero;
MoveC p110, 120, v1000,fine, puntero;
MoveL p80, v1000,fine, puntero;
ENDPROC
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
3.- Insertar las instrucciones correspondientes a la llamada condicional de las rutinas mediante
la instrucción IF. Para ello, situar el cursor en la instrucción del punto de inicio (MoveAbsJ
jpos10) en la rutina main y Añadir instrucción\IF.
4.- Para insertar la condición (activar la entrada digital 1, di1) clicar dos veces sobre <EXP> y
si las expresiones que aparecen no son válidas como es el caso, buscar el tipo de dato clicando
sobre Cambiar tipo de dato. Elegir el tipo de datos signaldi y pulsar OK. Elegir la entrada
deseada en la ventana emergente, en este caso di1.
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
5.- Una vez insertada la entrada, para completar la condición (activar la entrada digital 1,
di1=1) clicar sobre Editar y elegir ABC… para editar la condición. Con el teclado de la ventana
emergente, añadir a di1=1para completar la condición.
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
6.- Ejecutar el programa situando el cursor en main (Depurar\ PP a main) y pulsar el botón
Play para comenzar los movimientos del robot. Para poder ejecutar las condiciones, las dos
entradas estarán convenientemente cableadas al controlador del robot siguiendo el esquema
general expresado en el Tema 4. En el esquema adjunto se aprovecha la fuente de
alimentación interna del controlador del robot.
La instrucción IF lleva emparejada por lo general la opción ELSE en los lenguajes de Actividad 4.2: Entradas y salidas. Programación condicional.
programación de alto nivel conocidos. En el caso de la instrucción RAPID es opcional utilizarla.
Se propone una variante del ejemplo anterior en la que:
PROC main()
IF di1=1 THEN hexagono; ”llamada condicional a rutina hexágono”
ELSE
pletina; ”llamada condicional a rutina pletina”
ENDIF
ENDPROC
7.- Situar el cursor en la instrucción del punto de inicio (MoveAbsJ jpos10) en la rutina main
e insertar la instrucción IF tal y como se expresa en el apartado 3 de esta actividad.
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
8.- Teniendo seleccionada todas la instrucción IF (Las tres líneas que la componen) clicar dos
veces sobre la selección y en la ventana que aparece, seleccionar Añadir ELSE. Al aceptar con
OK, las líneas de programa de la instrucción IF contienen la condición ELSE.
9.- Basta con adecuar el programa a la sintaxis expuesta, siguiendo los apartados 4 y 5,
sustituyendo:
PROC main()
IF di1=1 THEN
hexagono; ”llamada condicional a rutina hexágono”
ELSE
pletina; ”llamada condicional a rutina pletina”
ENDIF
ENDPROC
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Esta instrucción bastaría para programar el primero de los ejemplos expuestos, realizar el
hexágono o la pletina en función de las dos entradas, para ello se seguirán unos pasos
parecidos a los expuestos en dicho ejemplo. La sintaxis del programa será:
PROC main()
IF di1=1 THEN hexagono; ”llamada condicional a rutina hexágono”
IF di2=1 THEN pletina; ”llamada condicional a rutina pletina”
ENDPROC
10.- Situar el cursor en la instrucción del punto de inicio (MoveAbsJ jpos10) en la rutina
main e insertar la instrucción CompactIF.
11.- Basta con adecuar el programa a la sintaxis expuesta, siguiendo los apartados 4 y 5,
sustituyendo:
PROC main()
IF di1=1 hexagono; ”llamada condicional a rutina hexágono”
IF di2=1 pletina; ”llamada condicional a rutina pletina”
ENDPROC
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
12.- Como se observa en la imagen esta instrucción se expresa en una sola línea y carece de
ENDIF. Por supuesto no se puede programar la condición ELSE.
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar las entradas digitales para que el arranque, parada u
actividad: otras operaciones se puedan realizar sin la ayuda del FlexPendant.
Conocimientos 01.- Entradas y Salidas digitales del robot. Conexión de las mismas.
previos: 02.- Entradas y Salidas digitales del robot. Configuración y verificación.
Archivos de 01.- Entradas y salidas2 Realización de una pirámide con marcha y paro
programa mediante pulsadores externos. Funcionamiento automático.
relacionados
Pack and GO realizado con RobotStudio 5.14.02.01 y RobotWare 5.14.02_2039. Para
visualizar los programas, Archivo\Compartir\Unpack and Work
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos:
IMPORTANTE! Esta actividad solamente se puede realizar en modo automático por lo que
hay que asegurarse que las medidas de seguridad son las adecuadas ya que el robot no va a
funcionar con velocidad reducida. Si no se pueden asegurar las estrictas medidas de seguridad
que requiere el funcionamiento automático, no realizar la actividad.
1.- Aprovechando la rutina “piramide” de la actividad 4.1, poner en marcha y parar el robot
mediante pulsadores externos es decir, sin utilizar las opciones PP a main, play y stop del
FlexPendant.
Procedimiento:
1.- Llamar o crear la rutina “piramide” de la actividad 4.1, teniendo en cuenta que la
herramienta seleccionada es la llamada puntero que previamente está calibrada. ABB\ Editor
de programas pestaña Rutinas\Archivo\Nueva rutina.
PROC piramide()
MoveJ p10, v1000,fine, puntero;
MoveL p20, v1000,fine, puntero;
MoveL p50, v1000,fine, puntero;
MoveL p40, v1000,fine, puntero;
MoveL p30, v1000,fine, puntero;
MoveL p50, v1000,fine, puntero;
MoveL p30, v1000,fine, puntero;
MoveL p20, v1000,fine, puntero;
MoveL offs (p20,0,0,150), v1000,fine, puntero;
ENDPROC
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
3.- Programar las entradas digitales para que ejecuten las acciones mencionadas
anteriormente (MotoresON, marcha y paro). Actuar sobre ABB\ Configuración y en la
siguiente pantalla clicar sobre System Input.
4.- Si no hay ninguna entrada programada, clicar sobre Añadir, o si ya hay entradas
programadas, clicar sobre Editar. En la siguiente pantalla asignar:
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
De esta forma, queda asignada la entrada di1 para que realice la terea Motors ON. Al
confirmar la asignación mediante OK, el controlador solicita el reinicio del mismo. Como hay
más señales que programar, pulsar No.
5.- Para asignar la segunda entrada, clicar nuevamente sobre Añadir, o si ya hay entradas
programadas, clicar sobre Editar. En la siguiente pantalla asignar:
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
6.- Asignar la última entrada a la acción de parar (Stop) siguiendo los pasos de los anteriores
apartados. Para finalizar confirmar la inicialización del FlexPendant.
PROC main()
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Comentario:
Una vez confirmada la selección del modo automático, al pulsar la entrada di1, se observa que
los motores se ponen en ON sin necesidad de accionar nada más.
En el programa, no hay ninguna instrucción relacionada con estas entradas porque ninguna de
ellas interviene en él, solamente intervienen en las acciones asociadas a los programas.
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el código necesario para que el robot realice un contaje
actividad: de piezas o repeticiones.
02.- Entender la estructura de los datos numéricos.
03.- Mostrar mensajes útiles en el FlexPendant.
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos:
1.- Crear un programa de forma que al activar una entrada, la punta de la herramienta siga la
forma geométrica expresada en la figura.
2.- Mientras la entrada esté activada, la operación se repetirá una y otra vez hasta
desactivarla.
3.- Un contador, contará el nº de repeticiones y las mostrará en la pantalla del FlexPendant.
3.-El programa dispondrá de un punto de inicio alejado de las formas geométricas.
Procedimiento:
1.- Crear un programa siguiendo los pasos descritos en el tema T3. ABB\ Editor de
programas\Tareas y programas\Archivo\Nuevo programa.
2.- Crear el dato numérico que va a servir para contar el número de repeticiones que va a
realizar el robot llamado “CONT1”, para ello clicar en ABB\ Datos de programa. En la
pantalla emergente, elegir el tipo de dato clicando dos veces en num.
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
3.- Pulsando en Nuevo, declarar el dato “CONT1”, de tipo Variable para poder cambiar su
valor y declararlo en el módulo MainModule.
4.- Una vez declarado el dato, aceptarlo pulsando en OK. Si se abre el editor de programas, el
módulo main contiene el dato “CONT1” como se puede apreciar en la imagen.
5.- Crear la rutina “figura” siguiendo los pasos descritos en el tema T3, teniendo en cuenta que
la herramienta seleccionada es la llamada puntero que previamente está calibrada. ABB\
Editor de programas pestaña Rutinas\Archivo\Nueva rutina.
PROC figura()
MoveJ p10, v1000,fine, puntero;
MoveL p20, v1000,fine, puntero;
MoveJ p30, v1000,fine, puntero;
MoveL p40, v1000,fine, puntero;
MoveL p50, v1000,fine, puntero;
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
PROC main()
ENDPROC
8.- Para poder programar la instrucción Incr C0NT1que sirve para incrementar el valor del
contador cada vez que el puntero del programa pasa por su línea de programación, por tanto
contará el número de repeticiones que realiza el robot, insertar la citada instrucción que se
encuentra en el grupo Mathematics.
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
9.- Para poder expresar una información en pantalla, se utiliza la instrucción TPWrite que
sirve tanto para expresar un texto (el texto que está entrecomillado) como para poder escribir
los valores de algunos datos de programa mediante los argumentos opcionales que tiene dicha
instrucción.
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
En la nueva pantalla se clica sobre String “”, y se edita el texto en las pantallas sucesivas tal
y como se ha realizado en anteriores actividades (Editar\ ABC...).
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Clicando sobre <EXP> aparecerá una nueva pantalla donde se visualizan todos los datos
numéricos que se disponen y se pueden asignar al argumento \Num. Basta con clicar sobre
CONT1.
Una vez realizadas las operaciones anteriores se observa como queda la instrucción completa
donde se distingue por un lado el texto que aparecerá en pantalla y por otro el valor del dato
que se escribirá a continuación.
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Para poder programar la instrucción Clear CONT1 se inserta la instrucción que se encuentra
en el grupo Mathematics. A continuación se programa de manera similar a la ya mencionada
instrucción Incr.
11.- Las instrucciones Incr CONT1 y Clear C0NT1 se pueden sustituir por instrucciones de
asignación (:=):
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el código necesario para que el robot realice una serie de
actividad: repeticiones.
02.- Entender la estructura de las instrucciones de repetición.
03.- Insertar datos útiles desde el FlexPendant.
Archivos de 01. Repeticiones Realización de una pieza repetidamente en función del dato
programa introducido desde el FlexPendant.
relacionados
Pack and GO realizado con RobotStudio 5.14.02.01 y RobotWare 5.14.02_2039. Para
visualizar los programas, Archivo\Compartir\Unpack and Work
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos:
1.- Crear un programa de forma que al activar una entrada, la punta de la herramienta siga la
forma geométrica expresada en la figura tantas veces como se seleccione por el FlexPendant.
Procedimiento:
1.- Crear un programa siguiendo los pasos descritos en el tema T3. ABB\ Editor de
programas\Tareas y programas\Archivo\Nuevo programa.
2.- Crear el dato numérico llamado “CONT1”, o aprovechar el de la anterior actividad, que va
a servir para contar el número de repeticiones que va a realizar el robot. Seguir los pasos de la
actividad 4.4 Contaje:
Pulsando en Añadir, declarar el dato “CONT1”, de tipo Variable para poder cambiar
Actividad 4.5: Datos numéricos. Repeticiones
3.- Crear la rutina “figura” siguiendo los pasos descritos en el tema T3, teniendo en cuenta que
la herramienta seleccionada es la llamada puntero que previamente está calibrada. ABB\
Editor de programas pestaña Rutinas\Archivo\Nueva rutina.
PROC figura()
MoveJ p10, v1000,fine, puntero;
MoveL p20, v1000,fine, puntero;
MoveL p30, v1000,fine, puntero;
MoveL p40, v1000,fine, puntero;
MoveL p50, v1000,fine, puntero;
MoveJ p60, v1000,fine, puntero;
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
4.- Además de utilizar las instrucciones TPWrite y TPErase, que como se ha explicado en la
actividad anterior sirven para mostrar o borrar respectivamente datos y/o textos en la pantalla
del FlexPendant, se va a utilizar la instrucción TPReadnum que sirve para leer un número del
FlexPendant y asignarlo a un dato numérico. Así la instrucción:
TPReadNum reg1, "Cuantas repeticiones desea hacer?";
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ORGANIGRAMA INSTRUCCIONES
ASOCIADAS
SI
PREGUNTAR: TPReadNum reg1 “ ”
¿Cuántas repeticiones desea hacer?
Reg1
¿Contador
NO WHILE CONT1<reg1 DO
repeticiones menor
que reg1?
SI
Actividad 4.5: Datos numéricos. Repeticiones
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
7.- Para poder repetir varias veces una misma operación, se puede utilizar la instrucción
WHILE <EXP> DO en la que la expresión <EXP> indica la condición para que lo progamado
a continuación de DO se ejecute “mientras” se cumpla dicha condición.
Una vez insertada, clicar sobre <EXP> para poder definir las condiciones para la repetición y
en la pantalla siguiente elegir Cambiar tipo de dato para posteriormente escoger el tipo de
dato num donde se encuentran tanto el dato CONT1 como el otro dato que se necesita reg1.
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Para poder definir las condiciones para que se ejecute la repetición, clicar sobre CONT1 y
posteriormente elegir Editar\Todos o solo seleccionados para completar las condiciones.
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Para finalizar, basta con programar las línea de programa necesarias para que realice la
sentencia despues de DO.
7.- La instrucción TPReadNum sirve tanto para expresar un texto (el texto que está
entrecomillado), como para asignar a un dato numérico, el valor introducido a través de un
teclado que se muestra en la pantalla del FlexPendant.
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Al clicar sobre la linea de instrucción, elegir el dato de tipo num que se quiere asociar al valor
introducido en la pantalla. Teniendo en cuenta el programa, se elegirá reg1 de entre todos
ellos.
Una vez aceptado del dato numérico reg1, falta por completar el texto que se desea aparezca
en pantalla. Para editar dicho texto clicar sobre las comillas (“ ”) que aparecen en la línea de
instrucción.
En la pantalla siguiente, clicar sobre Editar, con las comillas (“ ”) seleccionadas y llamar al
editor de texto mediante ABC… para poder escribir el texto deseado entre las dos comillas.
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
8.- La condición de comienzo IF que espera a la activación de la entrada digital para ejecutar
las instrucciones comprendidas entre IF…THEN y ENDIF se puede sustituir por la instrucción
WaitDI utilizada en la actividad 4.1
9
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
10
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el código necesario para que el robot realice una
actividad: operación repetitiva que requiere cambio de herramienta.
02.- Entender la estructura de las instrucciones de repetición.
03.- Insertar datos útiles desde el FlexPendant.
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos:
1.- Crear un programa que taladre 4 agujeros en una pieza. El número de piezas a taladrar se
seleccionará a través del FlexPendant.
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Procedimiento:
1.- Crear un programa siguiendo los pasos conocidos. ABB\ Editor de programas\Tareas y
programas\Archivo\Nuevo programa.
2.- Crear un módulo diferente a MainModule, por ejemplo Module1. ABB\ Editor de
programas\Módulos\Archivo\Nuevo módulo. Aceptar la pérdida de puntero y en la última
pantalla, escribir el nombre del módulo.
3.- Crear las subrutinas Coger (pieza), Taladrar (pieza) y Depositar (pieza) en Module1.
Parea ello, elegir dentro de la pestaña Módulos el módulo deseado o Module1. Una vez
resaltado, clicar en Mostrar módulo. Una vez accedido al módulo, clicar en la pastaña
Rutinas.
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Una vez situados en Rutinas, clicar en Archivo\Nueva rutina, editar el nombre de la rutina
mediante ABC.. y asegurarse de que está declarada en el módulo Module1. Proceder del
mismo modo hasta programar las tres rutinas citadas.
4.- Crear y calibrar las dos herramientas a utilizar en esta actividad, siguiendo los pasos
explicados en la actividad 2. Las herramientas se denominarán:
Nota: En las imágenes capturadas con el programa RobotStudio para documentar esta
actividad, se muestra siempre la herramienta MyTool debido a la complejidad que supone
diseñar las herramientas anteriormente citadas. Independientemente de las imágenes, se han
de observar los cambios de herramienta en las instrucciones contenidas en las rutinas.
5.- En la rutina Coger definir el programa para que el robot coja la pieza con la pinza en la
Actividad 4.6: Datos numéricos. Pieza taladrada
PROC Coger()
ENDPROC
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
6.- En la rutina Taladrar definir el programa para que el robot haga las siguientes operaciones:
PROC Taladrar()
ENDPROC
7.- En la rutina Depositar definir el programa para que el robot haga las siguientes
operaciones:
PROC Taladrar()
ENDPROC
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
7.- En la rutina Main definir el programa para que el robot haga las siguientes operaciones:
PROC Main()
FOR i FROM 1 TO reg1 DO “repetir el blucle tantas veces como valga la variable “reg1””
ENDFOR
ENDPROC
8.- Recordar que las instrucciones TPErase y TPReadNum sirven para, a través de la pantalla
del FlexPendant, borrar datos y/o textos y leer un número del FlexPendant asignándolo a un
dato numérico respectivamente. En la siguiente figura se observa que estando el robot en la
posición de inicio, la pantalla del FlexPendant requiere un número de piezas a realizar que en
la imagen es de 6:
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
9.- Para poder repetir varias veces una misma operación, se va a utilizar en esta actividad la
instrucción FOR <EXP1> FROM <EXP2> TO <EXP3> DO en la que:
La expresión <EXP1> indica el nombre del dato que contendrá el valor del contador
del bucle actual. Este dato se declara automáticamente.
La expresión <EXP2> indica el valor inicial deseado para el contador del bucle.
La expresión <EXP3> indica el valor final deseado para el contador del bucle.
Una vez insertada, clicar sobre <ID> para poder definir el contador de bucle y escribiendo con
el editor de texto el dato i que es como el programa identificará dicho contador.
A continuación, clicar sobre la primera <EXP> ligada a la expresión FROM para poder definir
Actividad 4.6: Datos numéricos. Pieza taladrada
el valor inicial del contador de bucle y en la pantalla siguiente elegir Solo seleccionados para
posteriormente escribir con el editor de texto el dato 1 o valor de comienzo de contaje:
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Por último, clicar sobre la segunda <EXP> ligada a la expresión TO para poder definir el valor
final del contador de bucle y en la pantalla siguiente elegir el dato deseado o reg1 que no hace
falta definir previamente porque ya viene definido por defecto como dato numérico:
Para completar la instrucción basta con programar las líneas necesarias para que realice la
sentencias despues de DO. Como son llamadas a rutinas recordar que hay que utilizar la
instrucción ProcCall para la llamada, la instrucción completa quedaría del siguiente modo:
10.- Se puede completar esta actividad realizando un pequeño menú mediante la instrucción
TEST que elija si quiere realizar el programa completo o por el contrario solamente se quiere
realizar una rutina determinada. Junto con la citada instrucción, se utilizará TPReadFK
parecida a la utilizada TPReadNum para poder asignar un valor numérico pero con otra
presentación en la pantalla del FlexPendant. El programa main quedará de la siguiente
manera:
PROC Main()
MAIN: “etiqueta llamada “MAIN” para poder saltar a ella con GOTO”
TPReadFK reg2, "Que desea realizar: ",stEmpty,stEmpty,stEmpty,"TODO","TALADRAR";
“Elección por pantalla en 5 zonas diferentes”
TEST reg2 “elección del caso según el valor de la variable “reg2””
CASE 4: “si el valor de “reg2” vale 4:”
Actividad 4.6: Datos numéricos. Pieza taladrada
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
11.- Para insertar las etiquetas MAIN y TODO a las que se puede saltar con la instrucción
GOTO insertar la instrucción Label, clicar en <ID> y con el editor de texto de la siguiente
pantalla, editar la etiqueta, en este caso MAIN, como se ve en la figura:
Para insertar las llamadas a las etiquetas MAIN y TODO añadir donde corresponda, la
instrucción GOTO, clicar en <ID> y elegir la etiqueta, que previamente ha de estar definida, a
la que se quiere saltar en la siguiente pantalla, en este caso MAIN, como se ve en la figura:
12.- Insertar la instrucción TPReadFK, y en la pantalla que emerge, elegir el dato numérico
asociado a la misma, en este caso reg2, como se ve en la figura:
Con este formato, se muestra el texto "Que desea realizar: " en la pantalla del
FlexPendant y se activan las teclas de función 4 y 5 usando las cadenas de texto “TODO” y
“TALADRAR” respectivamente (consultar la figura siguiente).
9
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
La ejecución del programa espera hasta que se presiona una de las teclas de función, la tecla 4
o la 5. En otras palabras, se asigna a reg2 el valor 4 ó 5 en función de cuál de las teclas se
presione.
Para poder editar el texto que aparece en pantalla, clicar sobre las comillas y en la nueva
pantalla que emerge, elegir Editar\Solo seleccionados o Todos si queremos editar la
instrucción completa. Con el editor de textos que aparece con cualquiera de las opciones
editaremos el texto correspondiente.
Para poder editar el texto de las teclas de función, clicar sobre et texto stEmpty
correspondiente al lugar donde se desea que aparezcan y en la nueva pantalla que emerge,
elegir Editar \ABC… En este caso también, con el editor de textos que aparece, editaremos el
texto correspondiente.
Actividad 4.6: Datos numéricos. Pieza taladrada
10
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
13.- Mediante la instrucción TEST se ejecutarán instrucciones diferentes en función del valor
de una expresión o un dato. En el caso del programa escrito:
Se ejecutan instrucciones diferentes en función del valor de reg2 que se ha asignado mediante
la instrucción TPReadFK:
Seleccionar la instrucción TEST del grupo Prog.Flow y al insertarla se observa que solamente
se puede editar un CASE.
Para insertar más casos o CASE, clicar sobre la instrucción anterior y añadir todos los
necesarios o también se puede añadir DEFAULT
Actividad 4.6: Datos numéricos. Pieza taladrada
11
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Con las herramientas de edición que se han utilizado anteriormente, editar todas las
expresiones <EXP> y sentencias <SMT> hasta completar la instrucción como se ilustra en la
figura:
El programa presentará 2 pantallas: una para elegir que operación se desea realizar y otra el
número de piezas a realizar solamente en el caso de elegir TODO.
12
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Objetivos:
1.- Crear un programa de forma que la punta de la herramienta dibuje o siga un pentágono
que está ubicado en una mesa.
2.- Sin modificar los datos robtarjet correspondientes a los puntos que definen la pieza, al girar
la mesa, el robot debe debe de seguir realizando la misma pieza sobre la mesa desplazada.
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Procedimiento:
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
3.- Una vez declarado el objeto de trabajo wobj1 hay que definir sus características. Para ello,
clicar en Editar para después hacerlo en Definir.
5.- Con la ayuda del joystick, mover el robot hasta el punto X1 situado en un punto cualquiera
de la arista paralela al eje x. Una vez situado el robot clicar en Modificar posición para
grabar el primer punto.
6.- Mover el robot hasta el punto X2 situado en un punto cualquiera de la arista paralela al eje
X más alejado que el X1. Una vez situado el robot clicar en Modificar posición para grabar el
segundo punto o punto de usuario X2.
4
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
7.- Mover el robot hasta el punto Y1 situado en un punto cualquiera de la arista paralela al eje
Y. Una vez situado el robot clicar en Modificar posición para grabar el tercer punto o punto
de usuario Y1.
Una vez grabados los tres puntos aceptar los puntos del nuevo objeto de trabajo con OK.
8.- Antes de comenzar a programar la pieza, pentágono en el ejemplo, es muy Importante que
el objeto de trabajo esté referenciada a wobj1 u objeto de trabajo definido cuyas coordenadas
y rotación distan mucho del wobj0 u objeto de trabajo por defecto. Elegir dicho objeto en
Objeto de trabajo de la pantalla movimiento.
5
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
PROC Main()
ENDPROC
PROC Pentagono()
ENDPROC
10.- Siguiendo los pasos anteriores, declarar dos nuevos objetos de trabajo, wobj2 y comun.
El objeto de trabajo comun, dejarlo como está sin embargo definir las características del
objeto de trabajo wobj2.
comun:= wobj1;
comun:= wobj2;
Al ser una asignación el tipo de dato en un lado y otro de la asignación debe de ser del mismo
Actividad 4.7: Objeto de trabajo.
tipo, por eso se ha definido el dato comun como dato de tipo wobjdata.
6
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
11.- Situar los tres puntos a partir del vértice utilizada para definir wobj1. Proceder del mismo
modo recordando que no hace falta que la distancia entre puntos sea la misma sino que la
importante es la orientación.
Si los puntos no tienen el orden adecuado, daría como resultado un sistema de coordenadas
invertido en el eje Z como se aprecia en la figura. Para entender este fenómeno aplicar la regla
de la mano derecha explicada en el tema 2.
7
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
12.- Modificar el programa para que el robot realice la pieza independientemente que la mesa
esté en una posición o en otra:
PROC Main()
IF di1=1 THEN
comun:= wobj1; “Si la entrada 1 está activada, trabajar con “wobj1” o mesa
en posición original”
ELSE
ENDPROC
PROC Pentagono()
ENDPROC
Observar que la rutina “pentagono” tiene como objeto de trabajo el denominado “comun”
para que en la asignación realizada en la condición IF, adopte el objeto de trabajo de la mesa
en posición original o wobj1 o el objeto de trabajo de la mesa girada o wobj2.
8
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
ACTIVIDAD PROGRAMACIÓN
4.8 EJERCICIOS PROPUESTOS
Se debe realizar el programa para un robot para que dibuje la misma pieza sobre la misma
hoja de papel con un desplazamiento entre piezas de 100 mm en el eje X y 200 mm en el eje
Y. Para que el resultado final sea similar al que se puede ver en la figura
Recomendaciones
Se trata de realizar el programa sin necesidad de programar las 12 piezas, sino que se debe
programar una sola vez la pieza en la primera posición, 1 y desplazar esta programación a la
nueva pieza aplicándole el desplazamiento indicado en el enunciado. Hay varias alternativas,
entre ellas:
1.- Puede utilizarse las instrucciones para el desplazamiento de una parte de un programa:
PdispOn, PdispOff.
2.- Pueden modificarse los valores de las coordenadas de las posiciones.
3.- Desplazando el objeto de trabajo (WorkObject)
2.- Ejercicio de dibujo de una figura sobre un papel que no siempre está en la
misma posición
Se debe realizar el programa de un robot para que dibuje una figura sobre una pizarra
pequeña, con la particularidad de que dicha pizarra no se encuentra siempre en la misma
Actividad 4.8: Programación. Ejercicios propuestos.
posición, por lo que antes de realizar el dibujo, el robot debe buscar donde está la pizarra y en
función de ello desplazar el programa.
P3
P3 P3
1
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Procedimiento
Se debe crear un programa para dibujar la figura sobre la pizarra u otra superficie con un
workobject determinado.
Realizar una rutina para la definición automática del workobject de la nueva posición de la
pizarra, realizando una búsqueda de las 3 esquinas, P1, P2 y P3 para la definición del nuevo
workobject, y una vez realizado se pude ejecutar la rutina del dibujo sobre la pizarra en la
nueva posición.
La búsqueda se debe hacer con un sensor conectado a una entrada digital para buscar la
esquina deseada. Este sensor puede ser un final de carrera o un sensor fotoeléctrico.
Se debe realizar el programa para un robot de una instalación de paletizado con un robot
provisto de una pinza para coger piezas según se ve en el siguiente layout:
ENTRADAS:
SALIDAS:
Disponemos de una instalación como la de la figura, que simularemos definiendo las E/S que
se han indicado anteriormente y que trabaja de la siguiente manera:
2
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
1. La pieza llega por una cinta trasportadora a la posición de recogida, en este momento
la señal de entrada P_Enpos.
ENTRADAS
SALIDAS
3
Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados
Disponemos de una instalación como la de la figura, que simularemos definiendo las E/S que
se han indicado anteriormente y que trabaja de la siguiente manera:
1. La pieza llega por una cinta trasportadora a la posición de recogida, en este momento
la señal de entrada P_Enpos_1 o P_Enpos_2 se activará en función de si es una pieza
para el pallet 1 o para el pallet 2.
4. Cuando el pallet está completo, el robot activa la señal correspondiente para que se
produzca el cambio de pallet.