Sunteți pe pagina 1din 71

Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

Tema 4: ENTRADAS y SALIDAS

ENTRADAS y SALIDAS

4.1 Entradas y salidas del robot


4
El sistema robot dispone de un conector de entradas y salidas digitales que se localiza en el
mdulo controlador del robot, que en el caso del IR120 es el modelo compacto. El pineado
del conector correspondiente a las entradas, salidas y tomas de tensin es el siguiente:
-XP7
DSQC-652
INPUT CH 1...8 21 INPUT 01
22 INPUT 02
23 INPUT 03
24 INPUT 04
25 INPUT 05
26 INPUT 06
0V 27 INPUT 07
28 INPUT 08
INPUT CH 9...16 31 INPUT 09
32 INPUT 10
33 INPUT 11
34 INPUT 12
35 INPUT 13
36 INPUT 14
0V 37 INPUT 15
38 INPUT 16

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.

Configuracin de las seales de E/S

Si el sistema robot no tiene configuradas las entradas/salidas, se han de seguir los siguientes
pasos:

1. Configuracin de la tarjeta de entradas/salidas: Configurar la tarjeta que el


mdulo controlador tiene instalada. En el FlexPendant seleccionar ABB\Panel de
control\Configuracin\Unit

Tema 4: Entradas y salidas.

2
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS

Una vez seleccionado Unit, en la nueva pantalla emergente, seleccionar Aadir y


cumplimentar los datos que pide.

En Name: identificar la tarjeta con un nombre cualquiera. Por ejemplo t1.


En Type of Unit: identificar la tarjeta instalada en el sistema robot. En el ejemplo
d652. En su defecto elegir Virtual.
En Connected to Bus: identificar el bus interno al que la tarjeta est conectado en
el controlador del robot DeviceNet. En su defecto elegir Virtual.
Los dems campos son opcionales.

2. Configuracin de las seales de entradas/salidas: En el FlexPendant seleccionar


ABB\Panel de control\Configuracin\Signal

Tema 4: Entradas y salidas.

3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados
Tema 4: ENTRADAS y SALIDAS

Una vez seleccionado Signal, en la nueva pantalla emergente, seleccionar Aadir y


cumplimentar los datos que pide.

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

3. Configuracin de grupos de seales de entradas/salidas: En el FlexPendant


seleccionar ABB\Panel de control\Configuracin\Signal

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:

En Name: identificar el grupo de seales con un nombre significativo. Por ejemplo


gi1 (group digital input 1).
En Type of Signal: identificar que es un grupo de seales de entrada, por tanto
Group Input.
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 bits de entrada que contiene el grupo. Si se
asigna 0-3 significa que lo componen los bits 0, 1, 2 y 3. Si se asigna 1,2 significa
que lo componen los bits 1y 2.
En Category: asignar 0.
En Access Level: asignar All (acceso desde el FlexPendant y RobotStudio) o
Default (acceso solamente desde el FlexPendant).
Los dems campos son opcionales.

4. Configuracin de grupos de seales de entradas/salidas analgicas: Se procede


igual que si se configurase una entrada o salida digital solamente que en el tipo de
seal hay que elegir Analog Input o Analog Output.

4.2 Visualizacin y forzado de valores de las seales de E/S


Tema 4: Entradas y salidas.

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.

En la pantalla emergente, si no se visualiza nada, se ha de elegir el tipo de seales que se


pretenden visualizar o manipular. En el ejemplo de la figura corresponde a entradas digitales,
para ello clicar sobre Ver y elegir las citadas Entradas digitales.

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.

Tema 4: Entradas y salidas.

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

Visualizacin de un grupo de seales de E/S

El valor de los grupos configurados de entradas y salidas, tambin se se puede visualizar y


simular o forzar desde el FlexPendant. Para ello seleccionar ABB\Panel de
control\Entradas y salidas, clicar sobre Ver y elegir Entrada de grupos.

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.

Tema 4: Entradas y salidas.

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.

En el ejemplo se ha asignado un valor de 9 y como el grupo de entradas est compuesto por


las entradas 4-7, su valor quedar seleccionado de la siguiente manera.

gi0 di4 di5 di6 di7


Grupo de entradas Input 4 Input 5 Input 6 Input 7
Valor binario 1 0 0 1
Valor decimal 9

4.3 Instrucciones y datos


Las instrucciones ms utilizadas y relacionadas con las entradas y salidas son:

IFTHEN: Instruccin condicional que ejecuta una serie de instrucciones si se cumple


la condicin. Por ejemplo IF di1=1 THEN..
Set: Instruccin que activa una seal digital de salida. Por ejemplo Set do1.
Reset: Instruccin que desactiva una seal digital de salida. Por ejemplo Reset do1.
WaitDI: Espera hasta que se active una seal digital de entrada. Por ejemplo WaitDI
di1.

Existen otras instrucciones interesantes que se expondrn en la medida que se necesiten


utilizar en las actividades ligadas a este tema. Para una mayor informacin, consultar el
manual de RAPID.

Datos numricos

Aunque no estn necesariamente ligados a instrucciones de entradas y salidas, se utilizan por


ejemplo para programar contadores. El tipo de valor puede ser:

Entero : Por ejemplo -3.


Decimal : Por ejemplo 4,28.
Expresado en forma exponencial : Por ejemplo 2E3 (2.103) o 2,5E-2 (0,025).

Las instrucciones ms utilizadas y relacionadas con los datos numricos son:

:= : Asignacin, se asigna un valor al dato. Obviamente los dos lados de la asignacin


tienen que tener el mismo formato de datos ya que no solamente se utiliza con datos
numricos. Por ejemplo reg1 := 5; (reg1 est definido como dato numrico).
Incr: Incrementa en uno la variable numrica. Por ejemplo Incr cont1; que equivale a
(cont1:= cont1+1)
Decr: Decrementa en uno la variable numrica. Por ejemplo Decr cont1; que equivale
Tema 4: Entradas y salidas.

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

PROYECTO FINANCIADO POR:


Tema 4: Entradas y salidas.

9
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD ENTRADAS y SALIDAS


4.1 MANEJO DE SEALES

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

Conocimientos 01.- Manejo de las entradas y salidas en el FlexPendant Manual


relacionados: FlexPendant Captulo 8
02.- Instruccin Set Manual de Instrucciones, funciones y tipos de datos
RAPID.
03.- Instruccin Reset Manual de Instrucciones, funciones y tipos de
datos RAPID.
04.- Instruccin WaitTime Manual de Instrucciones, funciones y tipos de
datos RAPID.
05.- Instruccin WaitDI Manual de Instrucciones, funciones y tipos de
datos RAPID.
04.- Instruccin WaitUntil Manual de Instrucciones, funciones y tipos de
datos RAPID.
05.- Instruccin PulseDO Manual de Instrucciones, funciones y tipos de
datos RAPID.

Recursos 01.- Sistema Robot IRB120 u otro de mayor gama.


necesarios

Archivos de 01.- Entradas y salidas1 Realizacin condicionada de una pirmide a la


imagen espera de una seal de entrada. Activacin de luz verde y roja.
relacionados 02.- Entradas y salidas2 Realizacin condicionada de una pirmide a la
espera de una seal de entrada. Activacin de luz verde y roja. WaitTime
03.- Entradas y salidas3 Realizacin condicionada de una pirmide a la
espera de una seal bimanual de entrada. Intermitencia.

Nota: No se pueden observar la activacin de entradas en la simulacin.

Archivos de 01.- Entradas y salidas Realizacin condicionada de una pirmide a la


programa espera de una seal de entrada. Activacin de luz verde y roja.
relacionados Actividad 4.1: Entradas y salidas. Manejo de seales
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

PROYECTO FINANCIADO POR:

1
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD ENTRADAS y SALIDAS


4.1 MANEJO DE SEALES

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:

Mientras la herramienta est en la posicin de reposo, se activar la seal de salida


(do1), encendiendo la lmpara verde.
Cuando la seal de comienzo de ciclo se active, se activar la seal de salida (do2),
encendiendo la lmpara roja y se apagar la lmpara verde.

3.- El programa dispondr de un punto de inicio alejado de la pirmide.

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:

WaitDI di1,1; WaitDI di1,0;

Para que el programa desactive las salidas insertar la instruccin Reset del mismo
grupo Common.

Actividad 4.1: Entradas y salidas. Manejo de seales

Sintaxis del procedimiento main:

PROC main()

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
Reset do2; desactiva la salida2 o lmpara roja

ENDPROC

3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

Observacin:

En cuanto se comienza a ejecutar la instruccin MoveAbsJ que lleva al robot a la posicin de


inicio el puntero pasa a la siguiente instruccin que apaga la luz roja (Reset do2) e incluso
pasa a ejecutar la siguiente que enciende la luz verde (Set do1) sin que todava los brazos del
robot hayan llegado a dicha posicin inicial porque los movimientos del robot tardan en
ejecutarse mucho ms tiempo que el movimiento del puntero.

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

En el esquema adjunto se aprovecha la fuente de alimentacin interna del controlador del


robot.

Seguridad bimanual. Instruccin PulseDO

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.

La sintaxis del programa ser:


Actividad 4.1: Entradas y salidas. Manejo de seales
PROC main()
Set do1;
WaitUntil di1 = 1 AND di2 = 1; Seguridad bimanual
Reset do1;
Set do2;
piramide;
MoveAbsJ jpos10\NoEOffs,v1000,z50,MyTool;
Reset do2; deactiva la salida2
WaitTime 0.4; espera durante un periodo de 0,4s.
PulseDO\PLength:=0.4, do2; activa la salida2 durante un periodo de 0,4s.
WaitTime 0.4;
PulseDO\PLength:=0.4, do2;
WaitTime 0.4;

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

Actividad 4.1: Entradas y salidas. Manejo de seales

6
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD ENTRADAS y SALIDAS


4.2 PROGRAMACIN CONDICIONAL

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.

Conocimientos 01.- Entradas y Salidas digitales del robot. Configuracin y verificacin.


previos: 02.- Salto a rutinas.

Conocimientos 01.- Manejo de las entradas y salidas en el FlexPendant Manual


relacionados: FlexPendant Captulo 8
02.- Instruccin IF Manual de Instrucciones, funciones y tipos de datos
RAPID.
03.- Instruccin Compact IF Manual de Instrucciones, funciones y tipos
de datos RAPID.

Recursos 01.- Sistema Robot IRB120 u otro de mayor gama.


necesarios

Archivos de 01.- Condicional1 Realizacin condicionada de un hexgono y una pletina


imagen con la instruccin IF.THEN o CompactIF.
relacionados 02.- Condicional2_hex Realizacin condicionada del hexgono con la
instruccin IF THEN ELSE, cuando la entrada digital es = 1.
03.- Condicional2_ple Realizacin condicionada de la pletina con la
instruccin IF THEN ELSE cuando la entrada digital es = 0.
Nota: No se pueden observar la activacin de entradas en la simulacin.

Archivos de 01.- Condicional Programacin del hexgono y pletina con la instruccin


programa IF THEN ELSE.
relacionados 02.- Condicional1 Programacin del hexgono y pletina con la instruccin
IF THEN o CompactIF.

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

Actividad 4.2: Entradas y salidas. Programacin condicional.

PROYECTO FINANCIADO POR:

1
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD ENTRADAS y SALIDAS


4.2 PROGRAMACIN CONDICIONAL

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:

Si se activa la entrada digital 1 (di1), el robot ejecutar el hexgono.


Si se activa la entrada digital 2 (di2), el robot ejecutar la pletina.
Si no se activa ninguna entrada digital, el robot permanecer en la posicin de inicio sin
ejecutar ninguna figura.

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.

Actividad 4.2: Entradas y salidas. Programacin condicional.


2.- Crear las rutinas 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 hexagono()
MoveJ p20, v1000,fine, puntero;
MoveL p30, v1000,fine, puntero;
MoveL p40, v1000,fine, puntero;
MoveL p50, v1000,fine, puntero;
MoveL p60, v1000,fine, puntero;
MoveL p70, v1000,fine, puntero;
MoveL p20, v1000,fine, puntero;
MoveL offs (p20,0,0,50), v1000,fine, puntero;
ENDPROC

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.

Actividad 4.2: Entradas y salidas. Programacin condicional.

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.

Actividad 4.2: Entradas y salidas. Programacin condicional.

Completar la instruccin realizando la llamada a la rutina hexgono seleccionando la sentencia


<SMT> y realizando la llamada a rutina con la instruccin ProcCall. El procedimiento main
una vez insertadas la llamadas condicionales a las rutinas hexagono y pletina queda de la
siguiente forma:
PROC main()
MoveAbsJ p10, v1000,fine, puntero;punto de inicio
IF di1=1 THEN llamada condicional a rutina hexgono
hexagono;
ENDIF
IF di2=1 THEN llamada condicional a rutina pletina
pletina;
ENDIF
ENDPROC

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.

Al ejecutar el programa, el robot realizar el hexgono, la pletina, ambas figuras geomtricas


o ninguna en funcin del estado de las dos entradas.

Utilizacin de la instruccin IFTHEN; ELSE

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:

Si la entrada di1 est activada, se ejecutar el hexgono.


Si la entrada di1 est desactivada, se ejecutar la pletina.

La sintaxis del programa ser:

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.

Actividad 4.2: Entradas y salidas. Programacin condicional.

9.- Basta con adecuar el programa a la sintaxis expuesta, siguiendo los apartados 4 y 5,
sustituyendo:

<EXP> por la expresin di1=1


<SMT> detrs de THEN, por la sentencia expresada con la rutina hexagono
<SMT> detrs de ELSE, por la sentencia expresada con la rutina pletina

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

Como se puede apreciar en la imagen correspondiente a Aadir ELSE, existe la posibilidad de


programar una condicin ms compleja con Aadir ELSEIF.

Utilizacin de la instruccin CompactIF

Cuando la condicin no requiere la alternativa ELSE, existe una instruccin IF compacta, es


decir sin ELSE, que se denomina CompactIF.

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

Como se verificar ms tarde, esta instruccin carece de ENDIF

10.- Situar el cursor en la instruccin del punto de inicio (MoveAbsJ jpos10) en la rutina
main e insertar la instruccin CompactIF.

Actividad 4.2: Entradas y salidas. Programacin condicional.

11.- Basta con adecuar el programa a la sintaxis expuesta, siguiendo los apartados 4 y 5,
sustituyendo:

<EXP> por la expresin di1=1 o di2=1


<SMT> detrs de THEN, por la sentencia expresada con la rutina hexagono o pletina

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.

Actividad 4.2: Entradas y salidas. Programacin condicional.

8
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD ENTRADAS y SALIDAS


4.3 ARRANQUE y PARO MEDIANTE PULSADORES

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.

Conocimientos 01.- Ejecucin en produccin Manual FlexPendant Captulo 7


relacionados: 02.- Manejo de las entradas y salidas en el FlexPendant Manual
FlexPendant Captulo 8

Recursos 01.- Sistema Robot IRB120 u otro de mayor gama.


necesarios

Archivos de 01.- Marcha y paro mediante pulsadores Realizacin de una pirmide


imagen con marcha y paro mediante pulsadores externos. Funcionamiento
relacionados automtico.

Nota: No se pueden observar la activacin de entradas en la simulacin.

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

Actividad 4.3: Entradas y salidas. Arranque y paro mediante pulsadores.

PROYECTO FINANCIADO POR:

1
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD ENTRADAS y SALIDAS


4.3 ARRANQUE y PARO MEDIANTE PULSADORES

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.

2.- Mediante las siguientes seales digitales de entrada se activarn:

Motores en ON (MotorON) mediante la entrada di1.

Actividad 4.3: Entradas y salidas. Arranque y paro mediante pulsadores.


Puntero del programa y marcha (PP a main y Play) mediante la entrada di2.
Parada (Stop) mediante la entrada di3.

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:

Signal Name: la seal digital de entrada a la que se quiere asignar la tarea. En la


figura la entrada digital 1 (di1).
Action: la accin o tarea propiamente dicha, de acuerdo con las condiciones, poner
motores a ON (Motors On).

Actividad 4.3: Entradas y salidas. Arranque y paro mediante pulsadores.

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:

Signal Name: La entrada digital correspondiente (di2).


Action: la accin o tarea propiamente dicha, de acuerdo con las condiciones situar el
puntero y arrancar (Start a Main).
Argument1: En esta ocasin, la accin o tarea requiere un argumento exclusivo de la
tarea como es, si solamente realiza un solo ciclo o por el contrario sigue en marcha
hasta pulsar la parada (Cycle o Continuous).

Actividad 4.3: Entradas y salidas. Arranque y paro mediante pulsadores.

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.

6.- Insertar las instrucciones correspondientes a la rutina main:

Sintaxis del procedimiento main:

PROC main()

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
Reset do2; desactiva la salida2 o lmpara roja
Set do1; activa la salida1 o lmpara verde
ENDPROC

7.- Ejecutar el programa pasando la llave de manual a automtico pues, como se ha


comentado anteriormente, estas operaciones solamente se pueden realizar en este modo de
funcionamiento. Respetar extrictamente las normas de seguridad.

Actividad 4.3: Entradas y salidas. Arranque y paro mediante pulsadores.


Una vez conmutado el modo de funcionamiento, el FlexPendant advierte de que se ha
seleccionada el modo automtico.

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.

Al al pulsar la entrada di2, el programa se ejecuta situando el puntero en la primera


instruccin de la rutina main (PP a main y Play). Para parar la ejecucin del programa basta
con pulsar la entrada di3 (Stop).

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.

El cableado de estas entradas es el que representa la siguiente figura:

Actividad 4.3: Entradas y salidas. Arranque y paro mediante pulsadores.

6
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD DATOS NUMRICOS


4.4 CONTAJE

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.

Conocimientos 01.- Datos de programa de tipo num. Crear datos numricos.


previos:

Conocimientos 01.- Programacin y pruebas. Tipos de datos en el FlexPendant


relacionados: Manual FlexPendant Captulo 6
02.- Instruccin Incr, Decr Manual de Instrucciones, funciones y tipos de
datos RAPID.
03.- Instruccin Clear Manual de Instrucciones, funciones y tipos de
datos RAPID.
04.- Instruccin Asignacin := Manual de Instrucciones, funciones y tipos
de datos RAPID.
05.- Instruccin TPWrite Manual de Instrucciones, funciones y tipos de
datos RAPID.
06.- Instruccin TPErase Manual de Instrucciones, funciones y tipos de
datos RAPID.

Recursos 01.- Sistema Robot IRB120 u otro de mayor gama.


necesarios

Archivos de 01.- Contador Realizacin condicionada de una pieza y contaje del n de


imagen repeticiones.
relacionados
Nota1: No se pueden observar la activacin de entradas en la simulacin.
Nota2: No se pueden observar el valor del contaje en el FlexPendant.

Archivos de 01.- Contador Programacin de la pieza y contaje del nmero de


programa repeticiones.
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
Actividad 4.4: Datos numricos. Contaje

PROYECTO FINANCIADO POR:

1
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD DATOS NUMRICOS


4.4 CONTAJE

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.

Actividad 4.4: Datos numricos. Contaje

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.

Actividad 4.4: Datos numricos. Contaje

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

MoveJ p60, v1000,fine, puntero;


MoveL p70, v1000,fine, puntero;
MoveL p80, v1000,fine, puntero;
MoveJ p90, v1000,fine, puntero;
MoveL p100, v1000,fine, puntero;
ENDPROC

6.- En la rutina main, escribir el programa de acuerdo con la condiciones expresadas en el


enunciado. Las instrucciones TPWrite y TPErase, sirven para mostrar o borrar
respectivamente datos y/o textos en la pantalla del FlexPendant.

PROC main()

MoveAbsJ p10, v1000,fine, puntero;punto de inicio


IF di1=1 THEN llamada condicional a rutina figura
figura;
Incr CONT1incrementar el contador
TPWrite Repeticiones realizadas:\Num:=CONT1; escribir en pantalla
el texto entrecomillado tal cual y el valor numrico del contador
ELSE
Clear CONT1; poner a cero el contador
TPErase; borrar los mensajes de la pantalla del FlexPendant
ENDIF

ENDPROC

7.- Al ejecutar el programa situando el cursor en main (Depurar\ PP a main) y pulsando el


botn Play se observa que, mientras la entrada digital est activada, los movimientos se
repiten incrementando el valor del contador cuyo valor se refleja en la pantalla del FlexPendant.

Actividad 4.4: Datos numricos. Contaje

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

Una vez seleccionada la instruccin, en la pantalla que emerge a continuacin, se determina


cul es la expresin que se quiere incrementar sustituyendo en este caso, el genrico <EXP>
por el dato CONT1.

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.

Para comenzar, se inserta la citada instruccin que se encuentra en el grupo Communicate.


Una vez insertada, basta con clicar sobre ella, para completar la instruccin.

Actividad 4.4: Datos numricos. Contaje

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...).

Una vez editado el texto, en el ejemplo Repeticiones realizadas:, Clicar sobre


Argumento opcional en la barra inferior y en la pantalla siguiente elegir num. Clicar en
Utilizar para habilitar el argumento valor numrico al que se le asignar el valor del contador
sustituyendo <EXP> por C0NT1.

Actividad 4.4: Datos numricos. Contaje

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.

10.- Completar la programacin del MainModule Insertando la opcin ELSE a la instruccin


IF tal y como se explica en la actividad A4.2, para poder borrar la pantalla mediante la
instruccin TPErase y poner a cero el contador mediante la instruccin Clear CONT1.

Actividad 4.4: Datos numricos. Contaje

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.

Para poder programar la instruccin TPErase se inserta la instruccin que se encuentra en el


grupo Communicate. Como no requiere ningn argumento o texto basta con insertarla.

Actividad 4.4: Datos numricos. Contaje

11.- Las instrucciones Incr CONT1 y Clear C0NT1 se pueden sustituir por instrucciones de
asignacin (:=):

Se puede sustituir Incr C0NT1 por C0NT1:= C0NT1+1


Se puede sustituir Clear C0NT1 por C0NT1:=0

8
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD DATOS NUMRICOS


4.5 REPETICIONES

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.

Conocimientos 01.- Datos de programa de tipo num. Crear datos numricos.


previos:

Conocimientos 01.- Programacin y pruebas. Tipos de datos en el FlexPendant


relacionados: Manual FlexPendant Captulo 6
02.- Instruccin While Manual de Instrucciones, funciones y tipos de
datos RAPID.
03.- Instruccin TPReadNum Manual de Instrucciones, funciones y tipos
de datos RAPID.

Recursos 01.- Sistema Robot IRB120 u otro de mayor gama.


necesarios

Archivos de 01.- Repeticiones Realizacin de una pieza repetidamente en funcin del


imagen dato introducido desde el FlexPendant.
relacionados
Nota1: No se pueden observar la activacin de entradas en la simulacin.
Nota2: No se pueden observar el valor del contaje en 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

Actividad 4.5: Datos numricos. Repeticiones

PROYECTO FINANCIADO POR:

1
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD DATOS NUMRICOS


4.5 REPETICIONES

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.

2.- Un contador, contar el n de repeticiones y las mostrar en la pantalla del FlexPendant.


3.- Las flechas circulares de la figura indican un cambio en la rotacin de la herramienta
necesaria por estar los puntos p10 a p50 cerca del origen de coordenadas de la base (Ver
simulacin).
4.- 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 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:

Clicar en ABB\ Datos de programa. En la pantalla emergente, elegir el tipo de dato


clicando en num.

Pulsando en Aadir, declarar el dato CONT1, de tipo Variable para poder cambiar
Actividad 4.5: Datos numricos. Repeticiones

su valor y declararlo en el mdulo programa, MainModule.

Una vez declarado el dato, aceptarlo pulsando en OK.

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

MoveL p70, v1000,fine, puntero;


MoveL p80, v1000,fine, puntero;
MoveL p90, v1000,fine, puntero;
MoveL p100, v1000,fine, puntero;
MoveJ p110, v1000,fine, puntero;
MoveL p10, v1000,fine, puntero;
ENDPROC

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?";

Da como resultado lo que se observa en la siguiente figura, presenta un teclado numrico y si


selecciona por ejemplo el 3, este valor queda asignado al dato numrico reg1 que el sistema
ya lo tiene definido en el mdulo user y por tanto no hay que definirlo previamente.

5.- En la rutina main, escribir el programa de acuerdo con la condiciones expresadas en el


enunciado. El comienzo de la ejecucin est condicionado a la activacin de una entrada.
PROC main()
Actividad 4.5: Datos numricos. Repeticiones

MoveAbsJ p10, v1000,fine, puntero;punto de inicio


Clear CONT1; poner a cero el contador
Clear reg1; poner a cero el registro 1
TPErase; borrar los mensajes de la pantalla del FlexPendant

IF di1=1 THEN llamada condicional


TPReadNum reg1, "Cuantas repeticiones desea hacer?";
WHILE CONT1<reg1 DO mientras el CONT1 sea menor que reg1, ejecutar:
figura;
Incr CONT1; incrementar el contador
TPWrite numero de repeticiones: \Num:=CONT1; escribir en pantalla
el texto entrecomillado tal cual y el valor numrico del contador
ENDWHILE
ENDIF
ENDPROC

3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

El programa responde al siguiente organigrama:

ORGANIGRAMA INSTRUCCIONES
ASOCIADAS

CONDICIONES DE INICIO: MovAbsJ


Mover a posicin de inicio

CONDICIONES DE INICIO: Clear CONT1 o


Poner a 0 el contador CONT1 CONT1:= 0

CONDICIONES DE INICIO: Clear reg1 o


Poner a 0 el registro reg1 reg1:= 0

BORRAR PANTALLA: TPErase

NO Entrada digital IF di1=1 THEN o


activada? WaitDI di1,1

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

EJECUTAR RUTINA: ProCall pieza


Llamada a rutina pieza

INCREMENTAR contador repeticiones Incr CONT1 o


CONT1 CONT1:= CONT1+1

MOSTRAR EN PANTALLA: TPWrite N de


N de repeticiones realizadas CONT1 repeticiones
realizadas CONT1

4
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

6.- Al ejecutar el programa situando el cursor en main (Depurar\ PP a main) y pulsando el


botn Play se observa que, al pulsar la entrada digital, el FlexPendant muestra la pantalla
anterior a la espera de introducir un nmero. Una vez introducido ste, tambin muestra el
nmero de repeticiones realizadas.

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.

Para poder programar la instruccin WHILEDO se inserta la misma seleccionndola en el


grupo Common.

Actividad 4.5: Datos numricos. Repeticiones

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.

Actividad 4.5: Datos numricos. Repeticiones

6
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

Aunque no es el nico camino para completar la condicin de repeticin, el mtodo ms


sencillo consiste en redactar dichas condiciones con la pantalla para la edicin de texto:
CONT1<reg1. Aceptar mediante OK.

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.

Para comenzar, se inserta la citada instruccin que se encuentra en el grupo Communicate y


se clica sobre ella una vez insertada.

Actividad 4.5: Datos numricos. Repeticiones

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.

Actividad 4.5: Datos numricos. Repeticiones

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.

El editor de texto no proporciona ni acentos ni signos de interrogacin al comienzo. El


resultado se puede ver en la siguiente figura donde se observa la lnea de instruccin completa.

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

Actividad 4.5: Datos numricos. Repeticiones

9
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

Actividad 4.5: Datos numricos. Repeticiones

10
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD DATOS NUMRICOS


4.6 PIEZA TALADRADA

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.

Conocimientos 01.- Datos de programa de tipo num. Crear datos numricos.


previos:

Conocimientos 01.- Programacin y pruebas. Tipos de datos en el FlexPendant


relacionados: Manual FlexPendant Captulo 6
02.- Instruccin TPReadFK Manual de Instrucciones, funciones y tipos de
datos RAPID.
03.- Instruccin FORDO Manual de Instrucciones, funciones y tipos de
datos RAPID.
04.- Instruccin TEST Manual de Instrucciones, funciones y tipos de
datos RAPID.
05.- Instruccin GOTO Manual de Instrucciones, funciones y tipos de
datos RAPID.
06.- Instruccin Label Manual de Instrucciones, funciones y tipos de
datos RAPID.

Recursos 01.- Sistema Robot IRB120 u otro de mayor gama.


necesarios

Archivos de 01.- Pieza taladrada Realizacin repetitiva de una pieza.


imagen
Nota1: No se pueden observar la activacin de entradas en la simulacin.
relacionados
Nota2: No se pueden observar el valor del contaje en el FlexPendant.
Nota3: El accionamiento de la pinza se sealiza con la baliza de color rojo.
Nota4: El accionamiento del taladro se sealiza con la baliza de color naranja.

Archivos de 01.- Pieza taladrada Programacin de la secuencia y contaje del nmero


programa de repeticiones. Presentacin en pantalla con TPReadNum.
relacionados 02.- Pieza taladrada1 Programacin de la secuencia y contaje del
nmero de repeticiones. Presentacin en pantalla con TEST.

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
Actividad 4.6: Datos numricos. Pieza taladrada

PROYECTO FINANCIADO POR:

1
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD DATOS NUMRICOS


4.6 PIEZA TALADRADA

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.- Las piezas se alimentan por gravedad hasta CONDICIONES DE INICIO:


una posicin. Una vez dada la orden de marcha
y si el detector de presencia de pieza est
activado el brazo robot trasladar la misma a la
posicin de taladrado mediante unas pinzas
neumticas accionadas mediante electrovlvula
monoestable. nmero de piezas SI
pedido = nmero de
piezas realizado?
3.- Una vez en su posicin, la pinza ir a recoger
Actividad 4.6: Datos numricos. Pieza taladrada

el taladro elctrico y lo asir para poder realizar


los cuatro taladros. NO
EJECUTAR RUTINA:
4.- Despus de realizar los taladros, el robot
Coger pieza
dejar el taladro en su soporte y volver hacia la
pieza taladrada para cogerla y depositarla en la
rampa de salida. Una vez realizadas el nmero EJECUTAR RUTINA:
de piezas pedidas, el brazo ir a una posicin de Taladrar pieza
reposo alejada de las piezas.

5.- Un contador, contar el n de repeticiones y EJECUTAR RUTINA:


las mostrar en la pantalla del flexPendant. Depositar pieza

6.- Las rutinas se crearn en un mdulo


diferente a MainModule, por ejemplo Module1.

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.

Actividad 4.6: Datos numricos. Pieza taladrada

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:

Pinza. Para la pinza que coge y deposita las piezas.


Taladro. Para el taladro que coge la pinza.

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

posicin de alimentacin de piezas y la deposite en la de taladrado. Se necesita que el detector


de presencia de pieza di2 est activado.

PROC Coger()

WaitDI di2,1; Presencia de pieza en la posicin coger


MoveJ p10, v1000,fine, pinza; posicionarse para coger pieza en el alimentador
Set do1; accionar la electrovlvula para cierre de pinza
Set do3; encendido de piloto pinza cerrada
MoveL offs (p10,0,0,20), v1000,fine, pinza; Subir pieza verticalmente
MoveJ offs (p20,0,0,20),v1000,fine, pinza; posicionarse para soltar pieza en el
taladrado 20mm encima del puesto
MoveJ p20, v1000,fine, pinza; posarse para soltar pieza en el taladrado
Reset do1; apertura de pinza
Reset do3; apagado de piloto pinza cerrada

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:

Posicionarse en el punto donde est el taladro, coger el taladro con la pinza.


Posicionarse en primer punto de taladrado, cambiando la herramienta en las
instrucciones y haciendo un movimiento vertical de bajada y subida. El taladro
funcionar de modo contnuo mientras realiza los cuatro agujeros siempre que el
detector de presencia de pieza di3 est activado.
Depositar el taladro en su soporte, liberando la pinza y parando el motor del taladro.

PROC Taladrar()

WaitDI di3,1; Presencia de pieza en la posicin taladrar


MoveJ p30, v1000,fine, pinza; posicionarse para coger el taladro de su almacen
Set do1; accionar la electrovlvula para cierre de pinza para coger taladro
Set do2; accionar el taladro
Set do3; encendido de piloto pinza cerrada
Set do4; encendido de piloto taladro funcionando
MoveJ p40, v1000,fine, taladro; posicin vertical agujero1, herramienta taladro
MoveL p50, v100,fine, taladro; taladrar agujero1 a baja velocidad
MoveL p40, v100,fine, taladro; retirada taladro agujero1 a baja velocidad
MoveJ p60, v1000,fine, taladro; posicin vertical agujero2, herramienta taladro
MoveL p70, v100,fine, taladro; taladrar agujero2 a baja velocidad
MoveL p60, v100,fine, taladro; retirada taladro agujero2 a baja velocidad
MoveJ p80, v1000,fine, taladro; posicin vertical agujero3, herramienta taladro
MoveL p90, v100,fine, taladro; taladrar agujero3 a baja velocidad
MoveL p80, v100,fine, taladro; retirada taladro agujero3 a baja velocidad
MoveJ p100, v1000,fine, taladro; posicin vertical agujero4, herramienta taladro
MoveL p110, v100,fine, taladro; taladrar agujero4 a baja velocidad
MoveL p100, v100,fine, taladro; retirada taladro agujero4 a baja velocidad
MoveJ p30, v1000,fine, taladro; posicionarse para dejar el taladro en su almacen
Reset do2; apagado del taladro
Reset do1; apertura de pinza, para dejer taladro
Reset do3; apagado de piloto pinza cerrada
Reset do4; apagado de piloto taladro funcionando

ENDPROC

7.- En la rutina Depositar definir el programa para que el robot haga las siguientes
operaciones:

Posicionarse en la vertical de la pieza taladrada, cambiando la herramienta a pinza


para poder coger la pieza.
Bajar verticalmente para posteriormente cerrar la pinza para coger la pieza.
Subir y depositar la pieza taladrada en la rampa de salida, liberando la pinza.
Actividad 4.6: Datos numricos. Pieza taladrada

PROC Taladrar()

MoveJ p120, v1000,fine, pinza; posicionarse para coger la pieza taladrada


MoveL p130, v1000,fine, pinza; bajar para coger la pieza taladrada
Set do1; accionar la electrovlvula para cierre de pinza para coger pieza
Set do3; encendido de piloto pinza cerrada
MoveL p120, v1000,fine, pinza; subir la pieza taladrada para no arrastrarla
MoveL p140, v1000,fine, pinza; posicionarse soltar la pieza taladrada
MoveL p150, v1000,fine, pinza; depositar la pieza taladrada
Reset do1; apertura de pinza, para dejer pieza taladrada
Reset do3; apagado de piloto pinza cerrada
MoveL p140, v1000,fine, pinza; posicionarse en vertical para ir a posiciones
iniciales

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:

Posicionarse en un punto de inicio.


Comenzar con la orden de marcha.
Preguntar cuantas piezas se desean realizar.
Repetir las rutinas por orden tantas veces como piezas solicitadas mediante la
instruccin FOR.

PROC Main()

MoveAbsJ jpos10,v1000,z100, pinza; posicin de inicio


TPErase; borrar los mensajes de la pantalla del FlexPendant
WaitDI di1, 1; esperar a la orden de marcha
TPReadNum reg1, "Numero de piezas a realizar: ";n de piezas guardadas en reg1

FOR i FROM 1 TO reg1 DO repetir el blucle tantas veces como valga la variable reg1

Coger; saltar a la rutina coger con la instruccin ProcCall


Taladrar; saltar a la rutina taladrar con la instruccin ProcCall
Depositar; saltar a la rutina depositar con la instruccin ProcCall

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:

Actividad 4.6: Datos numricos. Pieza taladrada

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.

Para poder programar la instruccin FORDO se inserta la misma seleccionndola en el grupo


Common.

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:

Eleccin de rutinas mediante la instruccin TEST:

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

TPErase; borrar pantalla


GOTO TODO; saltar a la etiqueta TODO o programa completo
CASE 5: si el valor de reg2 vale 5:
TPErase; borrar pantalla
Taladrar; saltar a rutina Taladrar
GOTO MAIN; saltar a la etiqueta MAIN o inicio de programa
ENDTEST
TODO: etiqueta llamada TODO para poder saltar a ella con GOTO
MoveAbsJ jpos10,v1000,z100, pinza; posicin de inicio
TPErase; borrar los mensajes de la pantalla del FlexPendant
WaitDI di1, 1; esperar a la orden de marcha
TPReadNum reg1, "Numero de piezas a realizar: ";n de piezas guardadas en reg1
FOR i FROM 1 TO reg1 DO repetir el blucle tantas veces como valga reg1
Coger; saltar a la rutina coger con la instruccin ProcCall
Taladrar; saltar a la rutina taladrar con la instruccin ProcCall
Depositar; saltar a la rutina depositar con la instruccin ProcCall
ENDFOR
ENDPROC

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:

Actividad 4.6: Datos numricos. Pieza taladrada

El formato de la instruccin TPReadFK es el siguiente:

TPReadFK reg2, "Que desea realizar: ",stEmpty,stEmpty,stEmpty,"TODO","TALADRAR";

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:

TEST reg2 eleccin del caso segn el valor de la variable reg2


CASE 4: si el valor de reg2 vale 4:
TPErase; borrar pantalla
GOTO TODO; saltar a la etiqueta TODO o programa completo
CASE 5: si el valor de reg2 vale 5:
TPErase; borrar pantalla
Taladrar; saltar a rutina Taladrar
GOTO MAIN; saltar a la etiqueta MAIN o inicio de programa
ENDTEST

Se ejecutan instrucciones diferentes en funcin del valor de reg2 que se ha asignado mediante
la instruccin TPReadFK:

Si el valor es 4 (TODO) se ejecutan:


TPErase o borrado de la pantalla del FlexPendant.
GOTO TODO o salto a la etiqueta TODO o programa completo.

Si el valor es 5 (TALADRAR) se ejecutan:


TPErase o borrado de la pantalla del FlexPendant.
Taladrar solo la rutina de taladrado.
GOTO MAIN o salto a la etiqueta MAIN o comienzo de programa.

Se puede aadir DEFAULT y ejecutar:


TPWrite Eleccin incorrecta.
Stop o parada del programa.

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.

Actividad 4.6: Datos numricos. Pieza taladrada

12
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD BASES DE COORDENADAS


4.7 OBJETO DE TRABAJO

Objetivos de la 01.- Programar el cdigo necesario para realizar un cambio en las


actividad: coordenadas objeto de trabajo.
02.- Entender la estructura de los datos wobjdata.

Conocimientos 01.- Datos de programa de tipo wobjdata. Crear objetos de trabajo.


previos:

Conocimientos 01.- Programacin y pruebas. Tipos de datos en el FlexPendant


relacionados: Manual FlexPendant Captulo 6
02.- Datos wobjdata Manual de Instrucciones, funciones y tipos de datos
RAPID.

Recursos 01.- Sistema Robot IRB120 u otro de mayor gama.


necesarios

Archivos de 01.- Objeto de trabajo1 Realizacin de la pieza con la mesa en la


imagen posicin original.
relacionados 02.- Objeto de trabajo2 Realizacin de la misma pieza con la mesa
girada.

Nota1: No se pueden observar la activacin de entradas en la simulacin.

Archivos de 01.- Objeto de trabajo1 Realizacin de la pieza con la mesa en la


programa posicin original.
relacionados 02.- Objeto de trabajo2 Realizacin de la misma pieza con la mesa
girada.

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

PROYECTO FINANCIADO POR:


Actividad 4.7: Objeto de trabajo.

1
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD BASES DE COORDENADAS


4.7 OBJETO DE TRABAJO

Aclaracin: Se trata de entender y programar correctamente coordenadas de objeto de


trabajo, una actividad que resulta ms propia del tema 2. Como se ha valorado que se
requiere una cierta destreza y habilidad que se adquieren con la ejecucin de las actividades
hasta ahora desarrolladas, sta se incluye en esta coleccin de actividades.

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.

3.- Utilizar coordenadas de objeto de trabajo o datos de tipo wobjdata.


Actividad 4.7: Objeto de trabajo.

2
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

Procedimiento:

Paso 1.- Crear el dato correspondiente al objeto de trabajo (mesa en posicin


original)

1.- Clicar en ABB\Datos de programa, en la siguiente pantalla clicar en wobjdata y por


ltimo clicar en Nuevo

2.- Declarar el objeto de trabajo que se va a definir.

Actividad 4.7: Objeto de trabajo.

El nombre del objeto: wobj1


El tipo de almacenamiento: Persistente
El Mdulo: MainModule
Seleccionar el mdulo desde el que se desea declarar la herramienta.

3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

Paso 2.- Definir la base de coordenadas del objeto de trabajo.

3.- Una vez declarado el objeto de trabajo wobj1 hay que definir sus caractersticas. Para ello,
clicar en Editar para despus hacerlo en Definir.

4.- En la pantalla emergente, seleccinar Mt. Usuario\3 puntos.

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.

Actividad 4.7: Objeto de trabajo.

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.

Actividad 4.7: Objeto de trabajo.

5
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

9.- En la rutina Main u otra, definir el programa:

PROC Main()

MoveAbsJ jpos10,v1000,z100, pinza; posicin de inicio


Pentagono; saltar a la rutina pentagono con la instruccin ProcCall

ENDPROC

PROC Pentagono()

MovJ P10,v1000,z100, pinza\WObj:= wobj1;


MovL P20,v1000,z100, pinza\WObj:= wobj1;
MovL P30,v1000,z100, pinza\WObj:= wobj1;
MovL P40,v1000,z100, pinza\WObj:= wobj1;
MovL P50,v1000,z100, pinza\WObj:= wobj1;
MovL P10,v1000,z100, pinza\WObj:= wobj1;

ENDPROC

Como se observa en las lneas de programacin, al no estar trabajando con el objeto de


trabajo que el programa ofrece por defecto, aparece especificado el nuevo objeto de trabajo
como:
\WObj:= wobj1;
Esto ha sido gracias a que en la opcin movimiento, se ha especificado as, por tanto todos
los puntos de la pieza estn referenciados a este objeto de trabajo o wobj1. Comprobar que el
programa se ejecuta correctamente.

Paso 3.- Definir otras bases de coordenadas de objeto de trabajo.

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.

El bojeto de trabajo comun, se utilizar de comodn y mediante una instruccin de


asignacin, se elegir entre wobj1 o wobj2 de este modo:

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.

Mover la mesa de trabajo


y una vez definido el
objeto de trabajo, wobj2,
definirlo. Recordar que
hay que clicar en Editar
para despus hacerlo en
Definir.

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.

Actividad 4.7: Objeto de trabajo.

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()

MoveAbsJ jpos10,v1000,z100, pinza; posicin de inicio

IF di1=1 THEN

comun:= wobj1; Si la entrada 1 est activada, trabajar con wobj1 o mesa


en posicin original
ELSE

comun:= wobj2; Si la entrada 1 no est activada, trabajar con wobj2 o


mesa girada
ENDIF

Pentagono; saltar a la rutina pentagono con la instruccin ProcCall

ENDPROC

PROC Pentagono()

MovJ P10,v1000,z100, pinza\WObj:= comun;


MovL P20,v1000,z100, pinza\WObj:= comun;
MovL P30,v1000,z100, pinza\WObj:= comun;
MovL P40,v1000,z100, pinza\WObj:= comun;
MovL P50,v1000,z100, pinza\WObj:= comun;
MovL P10,v1000,z100, pinza\WObj:= comun;

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.

Actividad 4.7: Objeto de trabajo.

8
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

ACTIVIDAD PROGRAMACIN
4.8 EJERCICIOS PROPUESTOS

1.- Ejercicio de repeticin con desplazamiento

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.

Vease como ejemplo que las siguientes figuras:


P2 P1
P1 P2 P1 P2

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.

3.- Ejercicio de paletizacin

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:

Cinta de entrada piezas

Pallet piezas (Formato 3 x 2 x 4)

ENTRADAS:

P_Enpos Pieza en la posicin de recogida


Pinza_Cerrada Indica que la pinza est cerrada
Pinza_Abierta Indica que la pinza est abierta
Pallet_Enpos Indica que el pallet est en la posicin adecuada
Actividad 4.8: Programacin. Ejercicios propuestos.

SALIDAS:

A_Pinza Abrir pinza


C_Pinza Cerrar pinza
Fin_Pallet Seal que indica que se ha completado el pallet y se debe cambiar

Descripcin del proceso

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.

2. EL robot va a recoger la pieza, cuando est en la posicin de recogida, activa la seal


C_Pinzay espera que se active la entradaPinza_Cerrada.

3. El robot va al pallet, verifica la seal Pallet_Enpos y deja la pieza en la posicin


calculada correspondiente, activa la salida A_Pinza y espera la seal Pinza_Abierta
antes de marcharse a buscar otra pieza.

4.- Ejercicio de paletizacin con repeticin

Se debe realizar el programa para un robot de una instalacin de


paletizado, en donde el robot con una pinza para coger piezas y
paletizarlas en el pallet 1 o en el 2 en funcin del tipo de pieza que se
recoja, segn se ve en el siguiente layout:

Cinta de entrada piezas

Pallet piezas Pallet piezas


(Formato 2 x 2 x 3) (Formato 3 x 2 x 4)

ENTRADAS

P_Enpos Pieza en la posicin de recogida


Pinza_Cerrada Pinza cerrada
Pinza_Abierta Pinza abierta Actividad 4.8: Programacin. Ejercicios propuestos.

Pallet_Enpos_1 Pallet_1 est en la posicin adecuada


Pallet_Enpos_2 Pallet_2 est en la posicin adecuada
Pieza_1 La pieza a recoger es para el pallet 1
Pieza_2 La pieza a recoger es para el pallet 2

SALIDAS

A_Pinza Abrir pinza


C_Pinza Cerrar pinza
Fin_Pallet_1 Seal que indica que se ha completado el pallet 1 y se debe cambiar
Fin_Pallet_2 Seal que indica que se ha completado el pallet 2 y se debe cambiar

3
Proyecto: Telemantenimiento y telegestin de sistemas robotizados y/o automatizados

Descripcin del proceso

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.

2. EL robot va a recoger la pieza, cuando est en la posicin de recogida, activa la seal


C_Pinza y espera que se active la entrada Pinza_Cerrada.

3. El robot va al pallet correspondiente, verifica la seal Pallet_Enpos_1 que nos indica


que el pallet est en la posicin correcta y deja la pieza en la posicin calculada
correspondiente, activa la salida A_Pinza y espera la seal Pinza_Abierta antes de
marcharse a buscar otra pieza.

4. Cuando el pallet est completo, el robot activa la seal correspondiente para que se
produzca el cambio de pallet.

PROYECTO FINANCIADO POR:

Actividad 4.8: Programacin. Ejercicios propuestos.

S-ar putea să vă placă și