Documente Academic
Documente Profesional
Documente Cultură
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 telegestin 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 activacin de electrovlvulas 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 telegestin de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
En Name: identificar la seal con un nombre significativo. Por ejemplo do1 (digital
output 1).
En Type of Signal: identificar el tipo de seal. En el ejemplo es una salida, por
tanto Digital Output.
En Assigned to Unit: identificar la tarjeta a la que pertenece la seal, 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 seal en reposo (0 o 1) en este caso 0.
Los dems campos son opcionales.
Este proceso se ha de repetir hasta configurar todas las seales de entradas y salidas. Como al
aceptar cada una de ellas el programa pide reiniciar el FlexPendant, se seleccionara No, salvo
en la ltima seal configurada. Al reiniciarse el FlexPendant todas las seales programadas
son operativas
Tema 4: Entradas y salidas.
4
Proyecto: Telemantenimiento y telegestin 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
seal hay que elegir Group Input o Group Output.
Para formar un grupo de seales, es necesario que stas estn 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 telegestin de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
Se visualizarn 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 dgitos 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 fsica es necesario que sta no est seleccionada
como simulada por lo que hay que seleccionar la entrada correspondiente y clicar sobre
Eliminar simulacin de lo contrario el sistema no responde a los cambios de la entrada
cableada.
6
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
Se visualizarn 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 telegestin de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
Clicando sobre 123 que se hace visible un teclado numrico con el que asignar el valor al
grupo. Como se observa en la figura tambin se dispone de los valores, expresados en decimal,
mximo y mnimo que puede tener dicho grupo.
Datos numricos
a (cont1:= cont1-1)
Add: Aade un valor a la variable numrica. Por ejemplo Add cont1 25; que equivale a
(cont1:= cont1+25)
Clear: Borra el valor de la variable numrica. Por ejemplo Clear cont1; que equivale a
(cont1:= 0)
8
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS
9
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el cdigo necesario para reconocer las entradas digitales.
actividad: 02.- Programar el cdigo 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. Conexin de las mismas.
previos: 02.- Entradas y Salidas digitales del robot. Configuracin y verificacin
1
Proyecto: Telemantenimiento y telegestin 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 pirmide, cuando se active una seal de entrada (di1).
2.- Se activarn dos seales digitales de salida a cada una de las cuales se conectar una
lmpara:
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 seales
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 pestaa 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 telegestin de sistemas robotizados y/o automatizados
3.- Insertar las instrucciones correspondientes a las activaciones de las seales de salida y a la
de espera a la seal de entrada:
Para que el programa ejecute la rutina piramide cuando se active la seal de entrada,
insertar la instruccin 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, habra que editar (Editar\ABC) la instruccin para cambiar su
valor:
Para que el programa desactive las salidas insertar la instruccin Reset del mismo
grupo Common.
PROC main()
ENDPROC
3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Observacin:
Esta situacin se refleja en el FlexPendant al observar que el smbolo del robot est en la
instruccin MoveAbsJ mientras que el puntero del programa est en la instruccin WaitDI
habiendo ejecutado las dos instrucciones anteriormente citadas.
Una solucin consiste en introducir una instruccin de espera en la que el puntero del
programa estar parado el tiempo que tardan los brazos del robot en llegar a la posicin de
inicio. La instruccin a utilizar es WaitTime:
PROC main()
Actividad 4.1: Entradas y salidas. Manejo de seales
Set do1; activa la salida1 o lmpara verde
WaitDI di1,1; espera a que la entrada1 se active (se ponga a 1)
Reset do1; desactiva la salida1 o lmpara verde
Set do2; activa la salida2 o lmpara roja
piramide; ejecuta la rutina pirmide
MoveAbsJ jpos10\NoEOffs,v1000,z50,MyTool; posicin de inicio
WaitTime 2; espera 2s
Reset do2; desactiva la salida2 o lmpara roja
ENDPROC
4.- Ejecutar el programa situando el cursor en main (Depurar\ PP a main) y pulsar el botn
Play para comenzar los movimientos del robot. Para poder ejecutar las condiciones, la entrada
y las dos salidas estarn convenientemente cableadas al controlador del robot siguiendo el
esquema general expresado en el Tema 4.
4
Proyecto: Telemantenimiento y telegestin 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 posicin de inicio la luz roja realice una intermitencia utilizando la
instruccin PulseDO.
ENDPROC
La instruccin 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 telegestin de sistemas robotizados y/o automatizados
En las siguientes figuras se observa cmo es la ejecucin de esta instruccin cuando el nivel de
seal previo corresponde a 0 o 1.
El programa, tambin se podra haber hecho con instrucciones Set; Reset y WaitTime
6
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el cdigo necesario para que el robot realice una tarea en
actividad: funcin del estado de una entrada.
02.- Entender la estructura de las instrucciones condicionales.
03.- Programar el robot mediante la FlexPendant.
1
Proyecto: Telemantenimiento y telegestin 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
geomtricas expresadas en la figura, hexgono y pletina.
2.- Cada figura estar programada en una rutina diferente. Todas ellas se llamarn desde la
rutina principal o main y en funcin 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 telegestin de sistemas robotizados y/o automatizados
3.- Insertar las instrucciones correspondientes a la llamada condicional de las rutinas mediante
la instruccin IF. Para ello, situar el cursor en la instruccin del punto de inicio (MoveAbsJ
jpos10) en la rutina main y Aadir instruccin\IF.
4.- Para insertar la condicin (activar la entrada digital 1, di1) clicar dos veces sobre <EXP> y
si las expresiones que aparecen no son vlidas 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 telegestin de sistemas robotizados y/o automatizados
5.- Una vez insertada la entrada, para completar la condicin (activar la entrada digital 1,
di1=1) clicar sobre Editar y elegir ABC para editar la condicin. Con el teclado de la ventana
emergente, aadir a di1=1para completar la condicin.
4
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
6.- Ejecutar el programa situando el cursor en main (Depurar\ PP a main) y pulsar el botn
Play para comenzar los movimientos del robot. Para poder ejecutar las condiciones, las dos
entradas estarn convenientemente cableadas al controlador del robot siguiendo el esquema
general expresado en el Tema 4. En el esquema adjunto se aprovecha la fuente de
alimentacin interna del controlador del robot.
La instruccin IF lleva emparejada por lo general la opcin ELSE en los lenguajes de Actividad 4.2: Entradas y salidas. Programacin condicional.
programacin de alto nivel conocidos. En el caso de la instruccin 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 hexgono
ELSE
pletina; llamada condicional a rutina pletina
ENDIF
ENDPROC
7.- Situar el cursor en la instruccin del punto de inicio (MoveAbsJ jpos10) en la rutina main
e insertar la instruccin IF tal y como se expresa en el apartado 3 de esta actividad.
5
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
8.- Teniendo seleccionada todas la instruccin IF (Las tres lneas que la componen) clicar dos
veces sobre la seleccin y en la ventana que aparece, seleccionar Aadir ELSE. Al aceptar con
OK, las lneas de programa de la instruccin IF contienen la condicin 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 hexgono
ELSE
pletina; llamada condicional a rutina pletina
ENDIF
ENDPROC
6
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Esta instruccin bastara para programar el primero de los ejemplos expuestos, realizar el
hexgono o la pletina en funcin de las dos entradas, para ello se seguirn 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 hexgono
IF di2=1 THEN pletina; llamada condicional a rutina pletina
ENDPROC
10.- Situar el cursor en la instruccin del punto de inicio (MoveAbsJ jpos10) en la rutina
main e insertar la instruccin 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 hexgono
IF di2=1 pletina; llamada condicional a rutina pletina
ENDPROC
7
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
12.- Como se observa en la imagen esta instruccin se expresa en una sola lnea y carece de
ENDIF. Por supuesto no se puede programar la condicin ELSE.
8
Proyecto: Telemantenimiento y telegestin 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. Conexin de las mismas.
previos: 02.- Entradas y Salidas digitales del robot. Configuracin y verificacin.
Archivos de 01.- Entradas y salidas2 Realizacin de una pirmide con marcha y paro
programa mediante pulsadores externos. Funcionamiento automtico.
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 telegestin de sistemas robotizados y/o automatizados
Objetivos:
IMPORTANTE! Esta actividad solamente se puede realizar en modo automtico 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 automtico, 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 pestaa 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 telegestin 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\ Configuracin y en la
siguiente pantalla clicar sobre System Input.
4.- Si no hay ninguna entrada programada, clicar sobre Aadir, o si ya hay entradas
programadas, clicar sobre Editar. En la siguiente pantalla asignar:
3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
De esta forma, queda asignada la entrada di1 para que realice la terea Motors ON. Al
confirmar la asignacin mediante OK, el controlador solicita el reinicio del mismo. Como hay
ms seales que programar, pulsar No.
5.- Para asignar la segunda entrada, clicar nuevamente sobre Aadir, o si ya hay entradas
programadas, clicar sobre Editar. En la siguiente pantalla asignar:
4
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
6.- Asignar la ltima entrada a la accin de parar (Stop) siguiendo los pasos de los anteriores
apartados. Para finalizar confirmar la inicializacin del FlexPendant.
PROC main()
5
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Comentario:
Una vez confirmada la seleccin del modo automtico, al pulsar la entrada di1, se observa que
los motores se ponen en ON sin necesidad de accionar nada ms.
En el programa, no hay ninguna instruccin relacionada con estas entradas porque ninguna de
ellas interviene en l, solamente intervienen en las acciones asociadas a los programas.
6
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el cdigo necesario para que el robot realice un contaje
actividad: de piezas o repeticiones.
02.- Entender la estructura de los datos numricos.
03.- Mostrar mensajes tiles en el FlexPendant.
1
Proyecto: Telemantenimiento y telegestin 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 geomtrica expresada en la figura.
2.- Mientras la entrada est activada, la operacin 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 geomtricas.
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 numrico que va a servir para contar el nmero 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 telegestin 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 mdulo MainModule.
4.- Una vez declarado el dato, aceptarlo pulsando en OK. Si se abre el editor de programas, el
mdulo 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 pestaa 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 telegestin de sistemas robotizados y/o automatizados
PROC main()
ENDPROC
8.- Para poder programar la instruccin Incr C0NT1que sirve para incrementar el valor del
contador cada vez que el puntero del programa pasa por su lnea de programacin, por tanto
contar el nmero de repeticiones que realiza el robot, insertar la citada instruccin que se
encuentra en el grupo Mathematics.
4
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
9.- Para poder expresar una informacin en pantalla, se utiliza la instruccin 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
instruccin.
5
Proyecto: Telemantenimiento y telegestin 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 telegestin de sistemas robotizados y/o automatizados
Clicando sobre <EXP> aparecer una nueva pantalla donde se visualizan todos los datos
numricos 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 instruccin completa
donde se distingue por un lado el texto que aparecer en pantalla y por otro el valor del dato
que se escribir a continuacin.
7
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Para poder programar la instruccin Clear CONT1 se inserta la instruccin que se encuentra
en el grupo Mathematics. A continuacin se programa de manera similar a la ya mencionada
instruccin Incr.
11.- Las instrucciones Incr CONT1 y Clear C0NT1 se pueden sustituir por instrucciones de
asignacin (:=):
8
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el cdigo necesario para que el robot realice una serie de
actividad: repeticiones.
02.- Entender la estructura de las instrucciones de repeticin.
03.- Insertar datos tiles desde el FlexPendant.
Archivos de 01. Repeticiones Realizacin de una pieza repetidamente en funcin 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 telegestin 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 geomtrica 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 numrico llamado CONT1, o aprovechar el de la anterior actividad, que va
a servir para contar el nmero de repeticiones que va a realizar el robot. Seguir los pasos de la
actividad 4.4 Contaje:
Pulsando en Aadir, declarar el dato CONT1, de tipo Variable para poder cambiar
Actividad 4.5: Datos numricos. 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 pestaa 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 telegestin de sistemas robotizados y/o automatizados
4.- Adems 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 instruccin TPReadnum que sirve para leer un nmero del
FlexPendant y asignarlo a un dato numrico. As la instruccin:
TPReadNum reg1, "Cuantas repeticiones desea hacer?";
3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
ORGANIGRAMA INSTRUCCIONES
ASOCIADAS
SI
PREGUNTAR: TPReadNum reg1
Cuntas repeticiones desea hacer?
Reg1
Contador
NO WHILE CONT1<reg1 DO
repeticiones menor
que reg1?
SI
Actividad 4.5: Datos numricos. Repeticiones
4
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
7.- Para poder repetir varias veces una misma operacin, se puede utilizar la instruccin
WHILE <EXP> DO en la que la expresin <EXP> indica la condicin para que lo progamado
a continuacin de DO se ejecute mientras se cumpla dicha condicin.
Una vez insertada, clicar sobre <EXP> para poder definir las condiciones para la repeticin 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 telegestin de sistemas robotizados y/o automatizados
Para poder definir las condiciones para que se ejecute la repeticin, clicar sobre CONT1 y
posteriormente elegir Editar\Todos o solo seleccionados para completar las condiciones.
6
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Para finalizar, basta con programar las lnea de programa necesarias para que realice la
sentencia despues de DO.
7.- La instruccin TPReadNum sirve tanto para expresar un texto (el texto que est
entrecomillado), como para asignar a un dato numrico, el valor introducido a travs de un
teclado que se muestra en la pantalla del FlexPendant.
7
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Al clicar sobre la linea de instruccin, 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 numrico reg1, falta por completar el texto que se desea aparezca
en pantalla. Para editar dicho texto clicar sobre las comillas ( ) que aparecen en la lnea de
instruccin.
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 telegestin de sistemas robotizados y/o automatizados
8.- La condicin de comienzo IF que espera a la activacin de la entrada digital para ejecutar
las instrucciones comprendidas entre IFTHEN y ENDIF se puede sustituir por la instruccin
WaitDI utilizada en la actividad 4.1
9
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
10
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Objetivos de la 01.- Programar el cdigo necesario para que el robot realice una
actividad: operacin repetitiva que requiere cambio de herramienta.
02.- Entender la estructura de las instrucciones de repeticin.
03.- Insertar datos tiles desde el FlexPendant.
1
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Objetivos:
1.- Crear un programa que taladre 4 agujeros en una pieza. El nmero de piezas a taladrar se
seleccionar a travs del FlexPendant.
2
Proyecto: Telemantenimiento y telegestin 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 mdulo diferente a MainModule, por ejemplo Module1. ABB\ Editor de
programas\Mdulos\Archivo\Nuevo mdulo. Aceptar la prdida de puntero y en la ltima
pantalla, escribir el nombre del mdulo.
3.- Crear las subrutinas Coger (pieza), Taladrar (pieza) y Depositar (pieza) en Module1.
Parea ello, elegir dentro de la pestaa Mdulos el mdulo deseado o Module1. Una vez
resaltado, clicar en Mostrar mdulo. Una vez accedido al mdulo, clicar en la pastaa
Rutinas.
3
Proyecto: Telemantenimiento y telegestin 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 mdulo 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 denominarn:
Nota: En las imgenes capturadas con el programa RobotStudio para documentar esta
actividad, se muestra siempre la herramienta MyTool debido a la complejidad que supone
disear las herramientas anteriormente citadas. Independientemente de las imgenes, 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 numricos. Pieza taladrada
PROC Coger()
ENDPROC
4
Proyecto: Telemantenimiento y telegestin 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 telegestin 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 travs de la pantalla
del FlexPendant, borrar datos y/o textos y leer un nmero del FlexPendant asignndolo a un
dato numrico respectivamente. En la siguiente figura se observa que estando el robot en la
posicin de inicio, la pantalla del FlexPendant requiere un nmero de piezas a realizar que en
la imagen es de 6:
6
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
9.- Para poder repetir varias veces una misma operacin, se va a utilizar en esta actividad la
instruccin FOR <EXP1> FROM <EXP2> TO <EXP3> DO en la que:
La expresin <EXP1> indica el nombre del dato que contendr el valor del contador
del bucle actual. Este dato se declara automticamente.
La expresin <EXP2> indica el valor inicial deseado para el contador del bucle.
La expresin <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 continuacin, clicar sobre la primera <EXP> ligada a la expresin FROM para poder definir
Actividad 4.6: Datos numricos. 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 telegestin de sistemas robotizados y/o automatizados
Por ltimo, clicar sobre la segunda <EXP> ligada a la expresin 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 numrico:
Para completar la instruccin basta con programar las lneas necesarias para que realice la
sentencias despues de DO. Como son llamadas a rutinas recordar que hay que utilizar la
instruccin ProcCall para la llamada, la instruccin completa quedara del siguiente modo:
10.- Se puede completar esta actividad realizando un pequeo men mediante la instruccin
TEST que elija si quiere realizar el programa completo o por el contrario solamente se quiere
realizar una rutina determinada. Junto con la citada instruccin, se utilizar TPReadFK
parecida a la utilizada TPReadNum para poder asignar un valor numrico pero con otra
presentacin 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";
Eleccin por pantalla en 5 zonas diferentes
TEST reg2 eleccin del caso segn el valor de la variable reg2
CASE 4: si el valor de reg2 vale 4:
Actividad 4.6: Datos numricos. Pieza taladrada
8
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
11.- Para insertar las etiquetas MAIN y TODO a las que se puede saltar con la instruccin
GOTO insertar la instruccin 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 aadir donde corresponda, la
instruccin 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 instruccin TPReadFK, y en la pantalla que emerge, elegir el dato numrico
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 funcin 4 y 5 usando las cadenas de texto TODO y
TALADRAR respectivamente (consultar la figura siguiente).
9
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
La ejecucin del programa espera hasta que se presiona una de las teclas de funcin, la tecla 4
o la 5. En otras palabras, se asigna a reg2 el valor 4 5 en funcin de cul 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
instruccin 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 funcin, 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 tambin, con el editor de textos que aparece, editaremos el
texto correspondiente.
Actividad 4.6: Datos numricos. Pieza taladrada
10
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
13.- Mediante la instruccin TEST se ejecutarn instrucciones diferentes en funcin del valor
de una expresin o un dato. En el caso del programa escrito:
Se ejecutan instrucciones diferentes en funcin del valor de reg2 que se ha asignado mediante
la instruccin TPReadFK:
Seleccionar la instruccin TEST del grupo Prog.Flow y al insertarla se observa que solamente
se puede editar un CASE.
Para insertar ms casos o CASE, clicar sobre la instruccin anterior y aadir todos los
necesarios o tambin se puede aadir DEFAULT
Actividad 4.6: Datos numricos. Pieza taladrada
11
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Con las herramientas de edicin que se han utilizado anteriormente, editar todas las
expresiones <EXP> y sentencias <SMT> hasta completar la instruccin como se ilustra en la
figura:
El programa presentar 2 pantallas: una para elegir que operacin se desea realizar y otra el
nmero de piezas a realizar solamente en el caso de elegir TODO.
12
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
1
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Objetivos:
1.- Crear un programa de forma que la punta de la herramienta dibuje o siga un pentgono
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 telegestin de sistemas robotizados y/o automatizados
Procedimiento:
3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
3.- Una vez declarado el objeto de trabajo wobj1 hay que definir sus caractersticas. Para ello,
clicar en Editar para despus 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 posicin 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 ms alejado que el X1. Una vez situado el robot clicar en Modificar posicin para grabar el
segundo punto o punto de usuario X2.
4
Proyecto: Telemantenimiento y telegestin 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 posicin 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, pentgono en el ejemplo, es muy Importante que
el objeto de trabajo est referenciada a wobj1 u objeto de trabajo definido cuyas coordenadas
y rotacin 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 telegestin 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 caractersticas del
objeto de trabajo wobj2.
comun:= wobj1;
comun:= wobj2;
Al ser una asignacin el tipo de dato en un lado y otro de la asignacin 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 telegestin de sistemas robotizados y/o automatizados
11.- Situar los tres puntos a partir del vrtice 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 orientacin.
Si los puntos no tienen el orden adecuado, dara como resultado un sistema de coordenadas
invertido en el eje Z como se aprecia en la figura. Para entender este fenmeno aplicar la regla
de la mano derecha explicada en el tema 2.
7
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
12.- Modificar el programa para que el robot realice la pieza independientemente que la mesa
est en una posicin o en otra:
PROC Main()
IF di1=1 THEN
ENDPROC
PROC Pentagono()
ENDPROC
Observar que la rutina pentagono tiene como objeto de trabajo el denominado comun
para que en la asignacin realizada en la condicin IF, adopte el objeto de trabajo de la mesa
en posicin original o wobj1 o el objeto de trabajo de la mesa girada o wobj2.
8
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
ACTIVIDAD PROGRAMACIN
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 posicin, 1 y desplazar esta programacin a la
nueva pieza aplicndole 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 posicin
Se debe realizar el programa de un robot para que dibuje una figura sobre una pizarra
pequea, con la particularidad de que dicha pizarra no se encuentra siempre en la misma
Actividad 4.8: Programacin. Ejercicios propuestos.
posicin, por lo que antes de realizar el dibujo, el robot debe buscar donde est la pizarra y en
funcin de ello desplazar el programa.
P3
P3 P3
1
Proyecto: Telemantenimiento y telegestin 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 definicin automtica del workobject de la nueva posicin de la
pizarra, realizando una bsqueda de las 3 esquinas, P1, P2 y P3 para la definicin del nuevo
workobject, y una vez realizado se pude ejecutar la rutina del dibujo sobre la pizarra en la
nueva posicin.
La bsqueda 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 fotoelctrico.
Se debe realizar el programa para un robot de una instalacin de paletizado con un robot
provisto de una pinza para coger piezas segn se ve en el siguiente layout:
ENTRADAS:
SALIDAS:
Disponemos de una instalacin 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 telegestin de sistemas robotizados y/o automatizados
1. La pieza llega por una cinta trasportadora a la posicin de recogida, en este momento
la seal de entrada P_Enpos.
ENTRADAS
SALIDAS
3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Disponemos de una instalacin 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 posicin de recogida, en este momento
la seal de entrada P_Enpos_1 o P_Enpos_2 se activar en funcin de si es una pieza
para el pallet 1 o para el pallet 2.
4. Cuando el pallet est completo, el robot activa la seal correspondiente para que se
produzca el cambio de pallet.