Está en la página 1de 71

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS

Tema 4: Entradas y salidas.

ENTRADAS y SALIDAS

44

4.1 Entradas y salidas del robot

El sistema robot dispone de un conector de entradas y salidas digitales que se localiza en el módulo 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 tensión es el siguiente:

-XP7 DSQC-652 INPUT CH 1 8 21 INPUT 01 22 INPUT 02 23 INPUT 03
-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
7
0V
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
1
24V OUT
2
0V OUT
24V
3
0V OUTPUT
4
24V OUTPUT
5
0V Input
6

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS

robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS Consiste en un conector del tipo D-sub de

Consiste en un conector del tipo D-sub de 44 polos que está conectado internamente con la unidad de E/S (DSQC-652) y puede conectar hasta 16 entradas y 16 salidas digitales que se utilizan para conectar detectores de presencia de pieza o activación de electroválvulas de pinzas de soldar por ejemplo.

Configuración de las señales de E/S

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

1. Configuración de la tarjeta de entradas/salidas: Configurar la tarjeta que el módulo controlador tiene instalada. En el FlexPendant seleccionar ABB\Panel de control\Configuración\Unit

Tema 4: Entradas y salidas.
Tema 4: Entradas y salidas.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS

Una vez seleccionado Unit, en la nueva pantalla emergente, seleccionar Añadir y cumplimentar los datos que pide.

seleccionar Añadir y cumplimentar los datos que pide. En Name : identificar la tarjeta con un

En Name : identificar la tarjeta con un nombre cualquiera. Por ejemplo t1 . 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 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 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 demás campos son opcionales.del robot DeviceNet . En su defecto elegir Virtual . 2. Configuración de las señales de

2. Configuración de las señales de entradas/salidas: En el FlexPendant seleccionar ABB\Panel de control\Configuración\Signal

Tema 4: Entradas y salidas.
Tema 4: Entradas y salidas.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS

Tema 4: Entradas y salidas.

Una vez seleccionado Signal, en la nueva pantalla emergente, seleccionar Añadir y cumplimentar los datos que pide.

seleccionar Añadir y cumplimentar los datos que pide. En Name : identificar la señal con un

En Name : identificar la señal con un nombre significativo. Por ejemplo do1 (digital output 1). Name: identificar la señal con un nombre significativo. Por ejemplo do1 (digital output 1).

En Type of Signal : identificar el tipo de señal. En el ejemplo es una salida, Type of Signal: identificar el tipo de señal. En el ejemplo es una salida, por tanto Digital Output.

En Assigned to Unit : identificar la tarjeta a la que pertenece la señal, configurada en Assigned to Unit: identificar la tarjeta a la que pertenece la señal, configurada en el punto anterior t1.

En Unit Mapping : asignar de los 16 bits de salida que tiene la tarjeta, con 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 . Category: asignar 0.

En Access Level : asignar All (acceso desde el FlexPendant y RobotStudio) o Default (acceso solamente Access Level: asignar All (acceso desde el FlexPendant y RobotStudio) o Default (acceso solamente desde el FlexPendant).

En Default value : asignar el valor de la señal en reposo (0 o 1) en Default value: asignar el valor de la señal en reposo (0 o 1) en este caso 0.

Los demás campos son opcionales.el valor de la señal en reposo (0 o 1) en este caso 0 . Este

Este proceso se ha de repetir hasta configurar todas las señales de entradas y salidas. Como al aceptar cada una de ellas el programa pide reiniciar el FlexPendant, se seleccionara No, salvo en la última señal configurada. Al reiniciarse el FlexPendant todas las señales programadas son operativas

No , salvo en la última señal configurada. Al reiniciarse el FlexPendant todas las señales programadas

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS

Tema 4: Entradas y salidas.

3. Configuración de grupos de señales de entradas/salidas: En el FlexPendant seleccionar ABB\Panel de control\Configuración\Signal

Se procede igual que si se configurase una entrada o salida solamente que en el tipo de señal hay que elegir Group Input o Group Output.

de señal hay que elegir Group Input o Group Output . Para formar un grupo de

Para formar un grupo de señales, es necesario que éstas estén definidas anteriormente. Por ejemplo, si se pretende configurar un grupo de entradas digitales:

En Name : identificar el grupo de señales con un nombre significativo. Por ejemplo gi1 (group Name: identificar el grupo de señales con un nombre significativo. Por ejemplo gi1 (group digital input 1).

En Type of Signal : identificar que es un grupo de señales de entrada, por tanto Type of Signal: identificar que es un grupo de señales de entrada, por tanto Group Input.

En Assigned to Unit : identificar la tarjeta a la que pertenece la señal, configurada en Assigned to Unit: identificar la tarjeta a la que pertenece la señal, configurada en el punto anterior t1.

En Unit Mapping : asignar de los bits de entrada que contiene el grupo. Si se 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 . Category: asignar 0.

En Access Level : asignar All (acceso desde el FlexPendant y RobotStudio) o Default (acceso solamente Access Level: asignar All (acceso desde el FlexPendant y RobotStudio) o Default (acceso solamente desde el FlexPendant).

Los demás campos son opcionales.o Default (acceso solamente desde el FlexPendant). 4. Configuración de grupos de señales de entradas/salidas

4. Configuración de grupos de señales de entradas/salidas analógicas: Se procede igual que si se configurase una entrada o salida digital solamente que en el tipo de señal hay que elegir Analog Input o Analog Output.

4.2 Visualización y forzado de valores de las señales de E/S

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 señales 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.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS

Tema 4: Entradas y salidas.

Tema 4: ENTRADAS y SALIDAS Tema 4: Entradas y salidas. Se visualizarán todas las entradas digitales

Se visualizarán todas las entradas digitales configuradas con el valor. Si se pretende variar el valor de la entrada di1 por ejemplo, basta con seleccionarla y actuar sobre Simular.

ejemplo, basta con seleccionarla y actuar sobre Simular . Mediante los dígitos 0 y 1 que

Mediante los dígitos 0 y 1 que se hacen visibles se puede forzar su valor y las entradas quedan configuradas como Simuladas.

Si se pretende actuar con la entrada física es necesario que ésta no esté seleccionada como simulada por lo que hay que seleccionar la entrada correspondiente y clicar sobre Eliminar simulación de lo contrario el sistema no responde a los cambios de la entrada cableada.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS

Visualización de un grupo de señales de E/S

El valor de los grupos configurados de entradas y salidas, también 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.

y salidas, clicar sobre Ver y elegir Entrada de grupos . Se visualizarán todos los grupos

Se visualizarán todos los grupos de entradas digitales configurados con el valor actual expresado en decimal. Si se pretende variar el valor del grupo de entradas, basta con seleccionarlo y actuar sobre Simular.

Tema 4: Entradas y salidas.
Tema 4: Entradas y salidas.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS

Tema 4: Entradas y salidas.

Clicando sobre 123… que se hace visible un teclado numérico con el que asignar el valor al grupo. Como se observa en la figura también se dispone de los valores, expresados en decimal, máximo y mínimo que puede tener dicho grupo.

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 más utilizadas y relacionadas con las entradas y salidas son:

IF…THEN: Instrucción condicional que ejecuta una serie de instrucciones si se cumple la condición. Por : Instrucción condicional que ejecuta una serie de instrucciones si se cumple la condición. Por ejemplo IF di1=1 THEN……

Set: Instrucción que activa una señal digital de salida. Por ejemplo Set do1. : Instrucción que activa una señal digital de salida. Por ejemplo Set do1.

Reset: Instrucción que desactiva una señal digital de salida. Por ejemplo Reset do1. : Instrucción que desactiva una señal digital de salida. Por ejemplo Reset do1.

WaitDI: Espera hasta que se active una señal digital de entrada. Por ejemplo WaitDI : Espera hasta que se active una señal digital de entrada. Por ejemplo WaitDI

di1.

Existen otras instrucciones interesantes que se expondrán en la medida que se necesiten utilizar en las actividades ligadas a este tema. Para una mayor información, consultar el manual de RAPID.

Datos numéricos

Aunque no están 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 . : Por ejemplo -3.

Decimal : Por ejemplo 4,28 . : Por ejemplo 4,28.

Expresado en forma exponencial : Por ejemplo 2E3 (2.10 3 ) o 2,5E-2 (0,025). : Por ejemplo 2E3 (2.10 3 ) o 2,5E-2 (0,025).

Las instrucciones más utilizadas y relacionadas con los datos numéricos son:

:= : Asignación, se asigna un valor al dato. Obviamente los dos lados de la asignación : Asignación, se asigna un valor al dato. Obviamente los dos lados de la asignación tienen que tener el mismo formato de datos ya que no solamente se utiliza con datos numéricos. Por ejemplo reg1 := 5; (reg1 está definido como dato numérico).

Incr: Incrementa en uno la variable numérica. Por ejemplo Incr cont1; que equivale a (cont1 : Incrementa en uno la variable numérica. Por ejemplo Incr cont1; que equivale a (cont1:= cont1+1)

Decr: Decrementa en uno la variable numérica. Por ejemplo Decr cont1; que equivale a (cont1 : Decrementa en uno la variable numérica. Por ejemplo Decr cont1; que equivale a (cont1:= cont1-1)

Add: Añade un valor a la variable numérica. Por ejemplo Add cont1 25; que equivale : Añade un valor a la variable numérica. Por ejemplo Add cont1 25; que equivale a (cont1:= cont1+25)

Clear: Borra el valor de la variable numérica. Por ejemplo Clear cont1; que equivale a (cont1 Borra el valor de la variable numérica. Por ejemplo Clear cont1; que equivale a (cont1:= 0)

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS

Tema 4: Entradas y salidas.

PROYECTO FINANCIADO POR:

sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS Tema 4: Entradas y salidas. PROYECTO FINANCIADO
sistemas robotizados y/o automatizados Tema 4: ENTRADAS y SALIDAS Tema 4: Entradas y salidas. PROYECTO FINANCIADO

Actividad 4.1: Entradas y salidas. Manejo de señales

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

ENTRADAS y SALIDAS MANEJO DE SEÑALES

4.1

Objetivos de la actividad:

01.- Programar el código necesario para reconocer las entradas digitales. 02.- Programar el código necesario para activar las salidas digitales. 03.- Entender la estructura de las instrucciones con entradas y salidas.

Conocimientos

01.- Entradas y Salidas digitales del robot. Conexión de las mismas. 02.- Entradas y Salidas digitales del robot. Configuración y verificación

previos:

Conocimientos

01.- Manejo de las entradas y salidas en el FlexPendant Manual FlexPendant Capítulo 8 02.- Instrucción Set Manual de Instrucciones, funciones y tipos de datos RAPID. 03.- Instrucción Reset Manual de Instrucciones, funciones y tipos de datos RAPID. 04.- Instrucción WaitTime Manual de Instrucciones, funciones y tipos de datos RAPID. 05.- Instrucción WaitDI Manual de Instrucciones, funciones y tipos de datos RAPID. 04.- Instrucción WaitUntil Manual de Instrucciones, funciones y tipos de datos RAPID. 05.- Instrucción PulseDO Manual de Instrucciones, funciones y tipos de datos RAPID.

relacionados:

Recursos

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

necesarios

Archivos de

01.- Entradas y salidas1 Realización condicionada de una pirámide a la espera de una señal de entrada. Activación de luz verde y roja. 02.- Entradas y salidas2 Realización condicionada de una pirámide a la espera de una señal de entrada. Activación de luz verde y roja. WaitTime 03.- Entradas y salidas3 Realización condicionada de una pirámide a la espera de una señal “bimanual” de entrada. Intermitencia.

Nota: No se pueden observar la activación de entradas en la simulación.

imagen

relacionados

Archivos de

01.- Entradas y salidas Realización condicionada de una pirámide a la espera de una señal de entrada. Activación de luz verde y roja.

programa

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

PROYECTO FINANCIADO POR:

y RobotWare 5.14.02_2039. Para visualizar los programas, Archivo\Compartir\Unpack and Work PROYECTO FINANCIADO POR:
y RobotWare 5.14.02_2039. Para visualizar los programas, Archivo\Compartir\Unpack and Work PROYECTO FINANCIADO POR:

Actividad 4.1: Entradas y salidas. Manejo de señales

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

4.1

ENTRADAS y SALIDAS MANEJO DE SEÑALES

Objetivos:

1.- Crear un programa de forma que la punta de la herramienta dibuje o siga las aristas de una pirámide, cuando se active una señal de entrada (di1).

pirámide, cuando se active una señal de entrada ( di1 ). 2.- Se activarán dos señales

2.- Se activarán dos señales digitales de salida a cada una de las cuales se conectará una lámpara:

Mientras la herramienta esté en la posición de reposo, se activará la señal de salida (do1 ), encendiendo la lámpara verde. do1), encendiendo la lámpara verde.

Cuando la señal de comienzo de ciclo se active, se activará la señal de salida (do2 ), encendiendo la lámpara roja y se apagará la lámpara verde. do2), encendiendo la lámpara roja y se apagará la lámpara verde.

3.- El programa dispondrá de un punto de inicio alejado de la pirámide.

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 la rutina piramidesiguiendo los pasos descritos en el tema T3, teniendo en cuenta que la herramienta seleccionada es la llamada puntero que previamente está calibrada. ABB\ Editor de programas pestaña Rutinas\Archivo\Nueva rutina.

PROC piramide() MoveJ p10, v1000,fine, puntero; MoveL p20, v1000,fine, puntero; MoveL p50, v1000,fine, puntero; MoveL p40, v1000,fine, puntero; MoveL p30, v1000,fine, puntero; MoveL p50, v1000,fine, puntero; MoveL p30, v1000,fine, puntero; MoveL p20, v1000,fine, puntero; MoveL offs (p20,0,0,150), v1000,fine, puntero; ENDPROC

Actividad 4.1: Entradas y salidas. Manejo de señales

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

3.- Insertar las instrucciones correspondientes a las activaciones de las señales de salida y a la de espera a la señal de entrada:

Para que el programa ejecute la rutina “piramide” cuando se active la señal de entrada, insertar la instrucción WaitDI ejecute la rutina “piramide” cuando se active la señal de entrada, insertar la instrucción WaitDI del grupo Common (pulsando siguiente). En la siguente pantalla elegir di1 para sustituir a <EXP>. Si hubiera que activar la rutina con la entrada con valor 0, habría que editar (Editar\ABC…) la instrucción para cambiar su valor:

WaitDI di1,1; WaitDI di1,0;

Para que el programa desactive las salidas insertar la instrucción Reset del mismo grupo Common . Reset del mismo grupo Common.

insertar la instrucción Reset del mismo grupo Common . Sintaxis del procedimiento main : PROC main

Sintaxis del procedimiento main:

PROC main()

Set do1; activa la salida1 o lámpara verde” WaitDI di1,1; espera a que la entrada1 se active (se ponga a 1)” Reset do1; desactiva la salida1 o lámpara verde” Set do2; activa la salida2 o lámpara roja” piramide; “ejecuta la rutina pirámide” MoveAbsJ jpos10\NoEOffs,v1000,z50,MyTool; “posición de inicio” Reset do2; desactiva la salida2 o lámpara roja”

ENDPROC

Actividad 4.1: Entradas y salidas. Manejo de señales

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Observación:

En cuanto se comienza a ejecutar la instrucción MoveAbsJ que lleva al robot a la posición de inicio el puntero pasa a la siguiente instrucción que apaga la luz roja (Reset do2) e incluso pasa a ejecutar la siguiente que enciende la luz verde (Set do1) sin que todavía los brazos del robot hayan llegado a dicha posición inicial porque los movimientos del robot tardan en ejecutarse mucho más tiempo que el movimiento del puntero.

Esta situación se refleja en el FlexPendant al observar que el símbolo del robot está en la instrucción MoveAbsJ mientras que el puntero del programa está en la instrucción WaitDI habiendo ejecutado las dos instrucciones anteriormente citadas.

ejecutado las dos instrucciones anteriormente citadas. Una solución consiste en introducir una instrucción de

Una solución consiste en introducir una instrucción de espera en la que el puntero del programa estará parado el tiempo que tardan los brazos del robot en llegar a la posición de inicio. La instrucción a utilizar es WaitTime:

PROC main()

Set do1; “activa la salida1 o lámpara verde” WaitDI di1,1; “espera a que la entrada1 se active (se ponga a 1)” Reset do1; “desactiva la salida1 o lámpara verde” Set do2; “activa la salida2 o lámpara roja” piramide; “ejecuta la rutina pirámide” MoveAbsJ jpos10\NoEOffs,v1000,z50,MyTool; “posición de inicio” WaitTime 2; “espera 2sReset do2; desactiva la salida2 o lámpara roja”

ENDPROC

4.- Ejecutar el programa situando el cursor en main (Depurar\ PP a main) y pulsar el botón Play para comenzar los movimientos del robot. Para poder ejecutar las condiciones, la entrada y las dos salidas estarán convenientemente cableadas al controlador del robot siguiendo el esquema general expresado en el Tema 4.

Actividad 4.1: Entradas y salidas. Manejo de señales

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

En el esquema adjunto se aprovecha la fuente de alimentación interna del controlador del robot.

fuente de alimentación interna del controlador del robot. Seguridad bimanual. Instrucción PulseDO 5.- Con el mismo

Seguridad bimanual. Instrucción 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 posición de inicio la luz roja realice una intermitencia utilizando la instrucción PulseDO.

La sintaxis del programa será:

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 instrucción PulseDO genera un pulso en la salida especificada, en este caso do2, durante el tiempo que tiene asignado el argumento \PLength:=0.4, en este caso de 0,4 segundos.

Actividad 4.1: Entradas y salidas. Manejo de señales

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

En las siguientes figuras se observa cómo es la ejecución de esta instrucción cuando el nivel de señal previo corresponde a “0” o “1”.

el nivel de señal previo corresponde a “0” o “1”. El programa, también se podría haber
el nivel de señal previo corresponde a “0” o “1”. El programa, también se podría haber

El programa, también se podría haber hecho con instrucciones Set; Reset y WaitTime

Actividad 4.2: Entradas y salidas. Programación condicional.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

ENTRADAS y SALIDAS PROGRAMACIÓN CONDICIONAL

4.2

Objetivos de la actividad:

01.- Programar el código necesario para que el robot realice una tarea en función 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. Configuración y verificación. 02.- Salto a rutinas.

previos:

Conocimientos

01.- Manejo de las entradas y salidas en el FlexPendant Manual FlexPendant Capítulo 8 02.- Instrucción IF Manual de Instrucciones, funciones y tipos de datos RAPID. 03.- Instrucción Compact IF Manual de Instrucciones, funciones y tipos de datos RAPID.

relacionados:

Recursos

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

necesarios

Archivos de

01.- Condicional1 Realización condicionada de un hexágono y una pletina con la instrucción IF….THEN o CompactIF. 02.- Condicional2_hex Realización condicionada del hexágono con la instrucción IF… THEN ELSE, cuando la entrada digital es = 1. 03.- Condicional2_ple Realización condicionada de la pletina con la instrucción IF… THEN ELSE cuando la entrada digital es = 0.

Nota: No se pueden observar la activación de entradas en la simulación.

imagen

relacionados

Archivos de

01.- Condicional Programación del hexágono y pletina con la instrucción IF… THEN ELSE. 02.- Condicional1 Programación del hexágono y pletina con la instrucción 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

programa

relacionados

PROYECTO FINANCIADO POR:

Para visualizar los programas, Archivo\Compartir\Unpack and Work programa relacionados PROYECTO FINANCIADO POR:
Para visualizar los programas, Archivo\Compartir\Unpack and Work programa relacionados PROYECTO FINANCIADO POR:

Actividad 4.2: Entradas y salidas. Programación condicional.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

ENTRADAS y SALIDAS PROGRAMACIÓN CONDICIONAL

4.2

Objetivos:

1.- Crear un programa de forma que la punta de la herramienta dibuje o siga las dos formas geométricas expresadas en la figura, hexágono y “pletina”.

2.- Cada figura estará programada en una rutina diferente. Todas ellas se llamarán desde la rutina principal o main y en función de dos entradas digitales el robot ejecutará las figuras:

Si se activa la entrada digital 1 (di1 ), el robot ejecutará el hexágono. di1), el robot ejecutará el hexágono.

Si se activa la entrada digital 2 (di2 ), el robot ejecutará la “pletina. di2), el robot ejecutará la “pletina.

Si no se activa ninguna entrada digital, el robot permanecerá en la posición de inicio sin ejecutar ninguna figura.digital 2 ( di2 ), el robot ejecutará la “pletina. 3.- El programa dispondrá de un

en la posición de inicio sin ejecutar ninguna figura. 3.- El programa dispondrá de un punto

3.- El programa dispondrá de un punto de inicio alejado de las formas geométricas.

Procedimiento:

1.- Crear un programa siguiendo los pasos descritos en el tema T3. ABB\ Editor de programas\Tareas y programas\Archivo\Nuevo programa.

2.- Crear 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 pestaña 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

Actividad 4.2: Entradas y salidas. Programación condicional.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

3.- Insertar las instrucciones correspondientes a la llamada condicional de las rutinas mediante la instrucción IF. Para ello, situar el cursor en la instrucción del punto de inicio (MoveAbsJ jpos10) en la rutina main y Añadir instrucción\IF.

jpos10 ) en la rutina main y Añadir instrucción\IF . 4.- Para insertar la condición (activar

4.- Para insertar la condición (activar la entrada digital 1, di1) clicar dos veces sobre <EXP> y si las expresiones que aparecen no son válidas como es el caso, buscar el tipo de dato clicando sobre Cambiar tipo de dato. Elegir el tipo de datos signaldi y pulsar OK. Elegir la entrada deseada en la ventana emergente, en este caso di1.

. Elegir el tipo de datos signaldi y pulsar OK . Elegir la entrada deseada en

Actividad 4.2: Entradas y salidas. Programación condicional.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

5.- Una vez insertada la entrada, para completar la condición (activar la entrada digital 1, di1=1) clicar sobre Editar y elegir ABC… para editar la condición. Con el teclado de la ventana emergente, añadir a di1=1para completar la condición.

emergente, añadir a di1 =1 para completar la condición. Completar la instrucción realizando la llamada a

Completar la instrucción realizando la llamada a la rutina hexágono seleccionando la sentencia <SMT> y realizando la llamada a rutina con la instrucción 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 hexágonohexagono; ENDIF IF di2=1 THEN ”llamada condicional a rutina pletinapletina; ENDIF ENDPROC

Actividad 4.2: Entradas y salidas. Programación condicional.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

6.- Ejecutar el programa situando el cursor en main (Depurar\ PP a main) y pulsar el botón Play para comenzar los movimientos del robot. Para poder ejecutar las condiciones, las dos entradas estarán convenientemente cableadas al controlador del robot siguiendo el esquema general expresado en el Tema 4. En el esquema adjunto se aprovecha la fuente de alimentación interna del controlador del robot.

fuente de alimentación interna del controlador del robot. Al ejecutar el programa, el robot realizará el

Al ejecutar el programa, el robot realizará el hexágono, la pletina, ambas figuras geométricas o ninguna en función del estado de las dos entradas.

Utilización de la instrucción IF…THEN; ELSE

La instrucción IF lleva emparejada por lo general la opción ELSE en los lenguajes de programación de alto nivel conocidos. En el caso de la instrucción RAPID es opcional utilizarla. Se propone una variante del ejemplo anterior en la que:

Si la entrada di1 está activada, se ejecutará el hexágono.Se propone una variante del ejemplo anterior en la que: Si la entrada di1 está desactivada,

Si la entrada di1 está desactivada, se ejecutará la pletina.la entrada di1 está activada, se ejecutará el hexágono. La sintaxis del programa será: PROC main()

La sintaxis del programa será:

PROC main() IF di1=1 THEN hexagono; ”llamada condicional a rutina hexágonoELSE pletina; ”llamada condicional a rutina pletinaENDIF ENDPROC

7.- Situar el cursor en la instrucción del punto de inicio (MoveAbsJ jpos10) en la rutina main e insertar la instrucción IF tal y como se expresa en el apartado 3 de esta actividad.

Actividad 4.2: Entradas y salidas. Programación condicional.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

8.- Teniendo seleccionada todas la instrucción IF (Las tres líneas que la componen) clicar dos veces sobre la selección y en la ventana que aparece, seleccionar Añadir ELSE. Al aceptar con OK, las líneas de programa de la instrucción IF contienen la condición ELSE.

de la instrucción IF contienen la condición ELSE . 9.- Basta con adecuar el programa a

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

<EXP> por la expresión di1=1 por la expresión di1=1

<SMT> detrás de THEN, por la sentencia expresada con la rutina hexagono detrás de THEN, por la sentencia expresada con la rutina hexagono

<SMT> detrás de ELSE, por la sentencia expresada con la rutina pletina detrás de ELSE, por la sentencia expresada con la rutina pletina

PROC main() IF di1=1 THEN hexagono; ”llamada condicional a rutina hexágonoELSE pletina; ”llamada condicional a rutina pletinaENDIF ENDPROC

Actividad 4.2: Entradas y salidas. Programación condicional.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Como se puede apreciar en la imagen correspondiente a Añadir ELSE, existe la posibilidad de programar una condición más compleja con Añadir ELSEIF.

Utilización de la instrucción CompactIF

Cuando la condición no requiere la alternativa ELSE, existe una instrucción IF compacta, es decir sin ELSE, que se denomina CompactIF.

Esta instrucción bastaría para programar el primero de los ejemplos expuestos, realizar el hexágono o la pletina en función de las dos entradas, para ello se seguirán unos pasos parecidos a los expuestos en dicho ejemplo. La sintaxis del programa será:

PROC main() IF di1=1 THEN hexagono; ”llamada condicional a rutina hexágonoIF di2=1 THEN pletina; ”llamada condicional a rutina pletinaENDPROC

Como se verificará más tarde, esta instrucción carece de ENDIF

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

en la rutina main e insertar la instrucción CompactIF . 11.- Basta con adecuar el programa

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

<EXP> por la expresión di1=1 o di2=1 por la expresión di1=1 o di2=1

<SMT> detrás de THEN, por la sentencia expresada con la rutina hexagono o pletina detrás de THEN, por la sentencia expresada con la rutina hexagono o pletina

PROC main() IF di1=1 hexagono; ”llamada condicional a rutina hexágonoIF di2=1 pletina; ”llamada condicional a rutina pletinaENDPROC

Actividad 4.2: Entradas y salidas. Programación condicional.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

12.- Como se observa en la imagen esta instrucción se expresa en una sola línea y carece de ENDIF. Por supuesto no se puede programar la condición ELSE.

esta instrucción se expresa en una sola línea y carece de ENDIF. Por supuesto no se

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

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

ENTRADAS y SALIDAS

4.3

ARRANQUE y PARO MEDIANTE PULSADORES

Objetivos de la actividad:

01.- Programar las entradas digitales para que el arranque, parada u otras operaciones se puedan realizar sin la ayuda del FlexPendant.

Conocimientos

01.- Entradas y Salidas digitales del robot. Conexión de las mismas. 02.- Entradas y Salidas digitales del robot. Configuración y verificación.

previos:

Conocimientos

01.- Ejecución en producción Manual FlexPendant Capítulo 7 02.- Manejo de las entradas y salidas en el FlexPendant Manual FlexPendant Capítulo 8

relacionados:

Recursos

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

necesarios

Archivos de

01.- Marcha y paro mediante pulsadores Realización de una pirámide con marcha y paro mediante pulsadores externos. Funcionamiento automático.

imagen

relacionados

Nota: No se pueden observar la activación de entradas en la simulación.

Archivos de

01.- Entradas y salidas2 Realización de una pirámide con marcha y paro mediante pulsadores externos. Funcionamiento automático.

programa

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

PROYECTO FINANCIADO POR:

y RobotWare 5.14.02_2039. Para visualizar los programas, Archivo\Compartir\Unpack and Work PROYECTO FINANCIADO POR:
y RobotWare 5.14.02_2039. Para visualizar los programas, Archivo\Compartir\Unpack and Work PROYECTO FINANCIADO POR:

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

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

4.3

ENTRADAS y SALIDAS

ARRANQUE y PARO MEDIANTE PULSADORES

Objetivos:

IMPORTANTE! Esta actividad solamente se puede realizar en modo automático por lo que hay que asegurarse que las medidas de seguridad son las adecuadas ya que el robot no va a funcionar con velocidad reducida. Si no se pueden asegurar las estrictas medidas de seguridad que requiere el funcionamiento automático, no realizar la actividad.

1.- Aprovechando la rutina “piramide” de la actividad 4.1, poner en marcha y parar el robot mediante pulsadores externos es decir, sin utilizar las opciones PP a main, play y stop del FlexPendant.

las opciones PP a main, play y stop del FlexPendant. 2.- Mediante las siguientes señales digitales

2.- Mediante las siguientes señales digitales de entrada se activarán:

Motores en ON (MotorON ) mediante la entrada di1 . MotorON) mediante la entrada di1.

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

Parada (Stop ) mediante la entrada di3 . Stop) mediante la entrada di3.

Procedimiento:

1.- Llamar o crear la rutina piramidede la actividad 4.1, teniendo en cuenta que la herramienta seleccionada es la llamada puntero que previamente está calibrada. ABB\ Editor de programas pestaña Rutinas\Archivo\Nueva rutina.

PROC piramide() MoveJ p10, v1000,fine, puntero; MoveL p20, v1000,fine, puntero; MoveL p50, v1000,fine, puntero; MoveL p40, v1000,fine, puntero; MoveL p30, v1000,fine, puntero; MoveL p50, v1000,fine, puntero; MoveL p30, v1000,fine, puntero; MoveL p20, v1000,fine, puntero; MoveL offs (p20,0,0,150), v1000,fine, puntero; ENDPROC

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

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

3.- Programar las entradas digitales para que ejecuten las acciones mencionadas anteriormente (MotoresON, marcha y paro). Actuar sobre ABB\ Configuración y en la siguiente pantalla clicar sobre System Input.

y en la siguiente pantalla clicar sobre System Input. 4.- Si no hay ninguna entrada programada,

4.- Si no hay ninguna entrada programada, clicar sobre Añadir, o si ya hay entradas programadas, clicar sobre Editar. En la siguiente pantalla asignar:

Signal Name: la señal digital de entrada a la que se quiere asignar la tarea. En la la señal digital de entrada a la que se quiere asignar la tarea. En la figura la entrada digital 1 (di1).

Action: la acción o tarea propiamente dicha, de acuerdo con las condiciones, poner motores a ON la acción o tarea propiamente dicha, de acuerdo con las condiciones, poner motores a ON (Motors On).

( di1 ). Action: la acción o tarea propiamente dicha, de acuerdo con las condiciones, poner

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

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

De esta forma, queda asignada la entrada di1 para que realice la terea Motors ON. Al confirmar la asignación mediante OK, el controlador solicita el reinicio del mismo. Como hay más señales que programar, pulsar No.

del mismo. Como hay más señales que programar, pulsar No. 5.- Para asignar la segunda entrada,
del mismo. Como hay más señales que programar, pulsar No. 5.- Para asignar la segunda entrada,

5.- Para asignar la segunda entrada, clicar nuevamente sobre Añadir, o si ya hay entradas programadas, clicar sobre Editar. En la siguiente pantalla asignar:

Signal Name: La entrada digital correspondiente ( di2 ). La entrada digital correspondiente (di2).

Action: la acción o tarea propiamente dicha, de acuerdo con las condiciones situar el puntero y la acción o tarea propiamente dicha, de acuerdo con las condiciones situar el puntero y arrancar (Start a Main).

Argument1: En esta ocasión, la acción o tarea requiere un argumento exclusivo de la tarea como En esta ocasión, la acción 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).

es, si solamente realiza un solo ciclo o por el contrario sigue en marcha hasta pulsar

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

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

6.- Asignar la última entrada a la acción de parar (Stop) siguiendo los pasos de los anteriores apartados. Para finalizar confirmar la inicialización del FlexPendant.

Para finalizar confirmar la inicialización del FlexPendant. 6.- Insertar las instrucciones correspondientes a la rutina

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

Sintaxis del procedimiento main:

PROC main()

Reset do1; “desactiva la salida1 o lámpara verde” Set do2; “activa la salida2 o lámpara roja” piramide; “ejecuta la rutina pirámide” MoveAbsJ jpos10\NoEOffs,v1000,z50,MyTool; “posición de inicio” Reset do2; desactiva la salida2 o lámpara roja” Set do1; “activa la salida1 o lámpara verde” ENDPROC

7.- Ejecutar el programa pasando la llave de manual a automático pues, como se ha comentado anteriormente, estas operaciones solamente se pueden realizar en este modo de funcionamiento. Respetar extrictamente las normas de seguridad.

Respetar extrictamente las normas de seguridad. Una vez conmutado el modo de funcionamiento, el FlexPendant
Respetar extrictamente las normas de seguridad. Una vez conmutado el modo de funcionamiento, el FlexPendant

Una vez conmutado el modo de funcionamiento, el FlexPendant advierte de que se ha seleccionada el modo automático.

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

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

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Comentario:

Una vez confirmada la selección del modo automático, al pulsar la entrada di1, se observa que los motores se ponen en ON sin necesidad de accionar nada más.

motores se ponen en ON sin necesidad de accionar nada más. Al al pulsar la entrada
motores se ponen en ON sin necesidad de accionar nada más. Al al pulsar la entrada

Al al pulsar la entrada di2, el programa se ejecuta situando el puntero en la primera instrucción de la rutina main (PP a main y Play). Para parar la ejecución del programa basta con pulsar la entrada di3 (Stop).

En el programa, no hay ninguna instrucción relacionada con estas entradas porque ninguna de ellas interviene en él, solamente intervienen en las acciones asociadas a los programas.

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

en las acciones asociadas a los programas. El cableado de estas entradas es el que representa

.

Actividad 4.4: Datos numéricos. Contaje

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

DATOS NUMÉRICOS CONTAJE

 

4.4

Objetivos de la actividad:

01.- Programar el código necesario para que el robot realice un contaje de piezas o repeticiones. 02.- Entender la estructura de los datos numéricos. 03.- Mostrar mensajes útiles en el FlexPendant.

Conocimientos

01.- Datos de programa de tipo num. Crear datos numéricos.

 

previos:

Conocimientos

01.- Programación y pruebas. Tipos de datos en el FlexPendant Manual FlexPendant Capítulo 6 02.- Instrucción Incr, Decr Manual de Instrucciones, funciones y tipos de datos RAPID. 03.- Instrucción Clear Manual de Instrucciones, funciones y tipos de datos RAPID. 04.- Instrucción Asignación := Manual de Instrucciones, funciones y tipos de datos RAPID. 05.- Instrucción TPWrite Manual de Instrucciones, funciones y tipos de datos RAPID. 06.- Instrucción TPErase Manual de Instrucciones, funciones y tipos de datos RAPID.

relacionados:

Recursos

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

 

necesarios

Archivos de

01.- Contador Realización condicionada de una pieza y contaje del nº de repeticiones.

imagen

relacionados

 

Nota1: No se pueden observar la activación de entradas en la simulación. Nota2: No se pueden observar el valor del contaje en el FlexPendant.

 

Archivos de

01.- Contador repeticiones.

Programación de

la

pieza

y

contaje del

número de

programa

 

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

PROYECTO FINANCIADO POR:

 
 
 
 

Actividad 4.4: Datos numéricos. Contaje

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

4.4

DATOS NUMÉRICOS CONTAJE

Objetivos:

1.- Crear un programa de forma que al activar una entrada, la punta de la herramienta siga la forma geométrica expresada en la figura.

siga la forma geométrica expresada en la figura. 2.- Mientras la entrada esté activada, la operación

2.- Mientras la entrada esté activada, la operación se repetirá una y otra vez hasta desactivarla. 3.- Un contador, contará el nº de repeticiones y las mostrará en la pantalla del FlexPendant. 3.-El programa dispondrá de un punto de inicio alejado de las formas geométricas.

Procedimiento:

1.- Crear un programa siguiendo los pasos descritos en el tema T3. ABB\ Editor de programas\Tareas y programas\Archivo\Nuevo programa.

2.- Crear el dato numérico que va a servir para contar el número de repeticiones que va a realizar el robot llamado “CONT1”, para ello clicar en ABB\ Datos de programa. En la pantalla emergente, elegir el tipo de dato clicando dos veces en num.

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

Actividad 4.4: Datos numéricos. Contaje

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

3.- Pulsando en Nuevo, declarar el dato “CONT1”, de tipo Variable para poder cambiar su valor y declararlo en el módulo MainModule.

cambiar su valor y declararlo en el módulo MainModule. 4.- Una vez declarado el dato, aceptarlo

4.- Una vez declarado el dato, aceptarlo pulsando en OK. Si se abre el editor de programas, el módulo main contiene el dato “CONT1como se puede apreciar en la imagen.

dato “ CONT1 ” como se puede apreciar en la imagen . 5.- Crear la rutina

5.- Crear la rutina “figura” siguiendo los pasos descritos en el tema T3, teniendo en cuenta que la herramienta seleccionada es la llamada puntero que previamente está calibrada. ABB\ Editor de programas pestaña Rutinas\Archivo\Nueva rutina.

PROC figura() MoveJ p10, v1000,fine, puntero; MoveL p20, v1000,fine, puntero; MoveJ p30, v1000,fine, puntero; MoveL p40, v1000,fine, puntero; MoveL p50, v1000,fine, puntero;

Actividad 4.4: Datos numéricos. Contaje

Proyecto: Telemantenimiento y telegestión 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 figurafigura; Incr CONT1incrementar el contadorTPWrite “Repeticiones realizadas:”\Num:=CONT1; escribir en pantalla el texto entrecomillado tal cual y el valor numérico del contador

ELSE

Clear CONT1; poner a cero el contadorTPErase; 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 botón 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.

cuyo valor se refleja en la pantalla del FlexPendant. 8.- Para poder programar la instrucción Incr

8.- Para poder programar la instrucción Incr C0NT1que sirve para incrementar el valor del contador cada vez que el puntero del programa pasa por su línea de programación, por tanto contará el número de repeticiones que realiza el robot, insertar la citada instrucción que se encuentra en el grupo Mathematics.

Actividad 4.4: Datos numéricos. Contaje

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Una vez seleccionada la instrucción, en la pantalla que emerge a continuación, se determina cuál es la expresión que se quiere incrementar sustituyendo en este caso, el genérico <EXP> por el dato CONT1.

este caso, el genérico <EXP> por el dato CONT1 . 9.- Para poder expresar una información

9.- Para poder expresar una información en pantalla, se utiliza la instrucción TPWrite que sirve tanto para expresar un texto (el texto que está entrecomillado) como para poder escribir los valores de algunos datos de programa mediante los argumentos opcionales que tiene dicha instrucción.

Para comenzar, se inserta la citada instrucción que se encuentra en el grupo Communicate. Una vez insertada, basta con clicar sobre ella, para completar la instrucción.

se encuentra en el grupo Communicate . Una vez insertada, basta con clicar sobre ella, para

Actividad 4.4: Datos numéricos. Contaje

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

En la nueva pantalla se clica sobre String “”, y se edita el texto en las pantallas sucesivas tal

y como se ha realizado en anteriores actividades (Editar\ ABC

).

se ha realizado en anteriores actividades ( Editar\ ABC ). Una vez editado el texto, en

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 numérico al que se le asignará el valor del contador sustituyendo <EXP> por C0NT1.

el argumento valor numérico al que se le asignará el valor del contador sustituyendo <EXP> por

Actividad 4.4: Datos numéricos. Contaje

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Clicando sobre <EXP> aparecerá una nueva pantalla donde se visualizan todos los datos numéricos que se disponen y se pueden asignar al argumento \Num. Basta con clicar sobre

CONT1.

asignar al argumento \Num . Basta con clicar sobre CONT1 . Una vez realizadas las operaciones

Una vez realizadas las operaciones anteriores se observa como queda la instrucción completa donde se distingue por un lado el texto que aparecerá en pantalla y por otro el valor del dato que se escribirá a continuación.

10.- Completar la programación del MainModule Insertando la opción ELSE a la instrucción IF tal y como se explica en la actividad A4.2, para poder borrar la pantalla mediante la instrucción TPErase y poner a cero el contador mediante la instrucción Clear CONT1.

borrar la pantalla mediante la instrucción TPErase y poner a cero el contador mediante la instrucción

Actividad 4.4: Datos numéricos. Contaje

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Para poder programar la instrucción Clear CONT1 se inserta la instrucción que se encuentra en el grupo Mathematics. A continuación se programa de manera similar a la ya mencionada instrucción Incr.

de manera similar a la ya mencionada instrucción Incr . Para poder programar la instrucción TPErase

Para poder programar la instrucción TPErase se inserta la instrucción que se encuentra en el grupo Communicate. Como no requiere ningún argumento o texto basta con insertarla.

no requiere ningún argumento o texto basta con insertarla. 11.- Las instrucciones Incr CONT1 y Clear

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

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

Se puede sustituir Clear C0NT1 por C0NT1:=0 Clear C0NT1 por C0NT1:=0

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

DATOS NUMÉRICOS REPETICIONES

4.5

Objetivos de la actividad:

01.- Programar el código necesario para que el robot realice una serie de repeticiones. 02.- Entender la estructura de las instrucciones de repetición. 03.- Insertar datos útiles desde el FlexPendant.

Conocimientos

01.- Datos de programa de tipo num. Crear datos numéricos.

previos:

Conocimientos

01.- Programación y pruebas. Tipos de datos en el FlexPendant Manual FlexPendant Capítulo 6 02.- Instrucción While Manual de Instrucciones, funciones y tipos de datos RAPID. 03.- Instrucción TPReadNum Manual de Instrucciones, funciones y tipos de datos RAPID.

relacionados:

Recursos

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

necesarios

Archivos de

01.- Repeticiones Realización de una pieza repetidamente en función del dato introducido desde el FlexPendant.

imagen

relacionados

 

Nota1: No se pueden observar la activación de entradas en la simulación. Nota2: No se pueden observar el valor del contaje en el FlexPendant.

Archivos de

Repeticiones Realización de una pieza repetidamente en función del dato introducido desde el FlexPendant.

programa

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

PROYECTO FINANCIADO POR:

y RobotWare 5.14.02_2039. Para visualizar los programas, Archivo\Compartir\Unpack and Work PROYECTO FINANCIADO POR:
y RobotWare 5.14.02_2039. Para visualizar los programas, Archivo\Compartir\Unpack and Work PROYECTO FINANCIADO POR:

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

4.5

DATOS NUMÉRICOS REPETICIONES

Objetivos:

1.- Crear un programa de forma que al activar una entrada, la punta de la herramienta siga la forma geométrica expresada en la figura tantas veces como se seleccione por el FlexPendant.

figura tantas veces como se seleccione por el FlexPendant. 2.- Un contador, contará el nº de

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 rotación de la herramienta necesaria por estar los puntos p10 a p50 cerca del origen de coordenadas de la base (Ver simulación). 4.- El programa dispondrá de un punto de inicio alejado de las formas geométricas.

Procedimiento:

1.- Crear un programa siguiendo los pasos descritos en el tema T3. ABB\ Editor de programas\Tareas y programas\Archivo\Nuevo programa.

2.- Crear el dato numérico llamado “CONT1, o aprovechar el de la anterior actividad, que va a servir para contar el número de repeticiones que va a realizar el robot. Seguir los pasos de la actividad 4.4 Contaje:

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

Pulsando en Añadir , declarar el dato “ CONT1 ”, de tipo Variable para poder cambiar su Añadir, declarar el dato “CONT1”, de tipo Variable para poder cambiar su valor y declararlo en el módulo programa, MainModule.

Una vez declarado el dato, aceptarlo pulsando en OK . 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 pestaña Rutinas\Archivo\Nueva rutina.

PROC figura() MoveJ p10, v1000,fine, puntero; MoveL p20, v1000,fine, puntero; MoveL p30, v1000,fine, puntero; MoveL p40, v1000,fine, puntero; MoveL p50, v1000,fine, puntero; MoveJ p60, v1000,fine, puntero;

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión 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.- Además de utilizar las instrucciones TPWrite y TPErase, que como se ha explicado en la actividad anterior sirven para mostrar o borrar respectivamente datos y/o textos en la pantalla del FlexPendant, se va a utilizar la instrucción TPReadnum que sirve para leer un número del FlexPendant y asignarlo a un dato numérico. Así la instrucción:

TPReadNum reg1, "Cuantas repeticiones desea hacer?";

Da como resultado lo que se observa en la siguiente figura, presenta un teclado numérico y si selecciona por ejemplo el 3, este valor queda asignado al dato numérico reg1 que el sistema ya lo tiene definido en el módulo user y por tanto no hay que definirlo previamente.

módulo user y por tanto no hay que definirlo previamente. 5.- En la rutina main ,

5.- En la rutina main, escribir el programa de acuerdo con la condiciones expresadas en el enunciado. El comienzo de la ejecución está condicionado a la activación de una entrada.

PROC main()

MoveAbsJ p10, v1000,fine, puntero;punto de inicio” Clear CONT1; poner a cero el contadorClear reg1; poner a cero el registro 1TPErase; borrar los mensajes de la pantalla del FlexPendant

IF di1=1 THEN ”llamada condicionalTPReadNum reg1, "Cuantas repeticiones desea hacer?"; WHILE CONT1<reg1 DO mientras el CONT1 sea menor que reg1, ejecutar:figura; Incr CONT1; incrementar el contadorTPWrite “numero de repeticiones: \Num:=CONT1; escribir en pantalla el texto entrecomillado tal cual y el valor numérico del contadorENDWHILE

ENDIF

ENDPROC

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

El programa responde al siguiente organigrama:

ORGANIGRAMA

CONDICIONES DE INICIO: Mover a posición de inicio CONDICIONES DE INICIO: Poner a 0 el
CONDICIONES DE INICIO:
Mover a posición de inicio
CONDICIONES DE INICIO:
Poner a 0 el contador CONT1
CONDICIONES DE INICIO:
Poner a 0 el registro reg1
BORRAR PANTALLA:
NO
¿Entrada digital
activada?
SI
PREGUNTAR:
¿Cuántas repeticiones desea hacer?
Reg1
¿Contador
NO
repeticiones menor
que reg1?
SI
EJECUTAR RUTINA:
Llamada a rutina pieza
INCREMENTAR contador repeticiones
CONT1
MOSTRAR EN PANTALLA:
Nº de repeticiones realizadas CONT1

INSTRUCCIONES

ASOCIADAS

MovAbsJ

Clear CONT1 o CONT1:= 0

Clear reg1 o reg1:= 0

TPErase

IF di1=1 THEN o WaitDI di1,1

TPReadNum reg1 “ ”

WHILE CONT1<reg1 DO

ProCall “pieza

Incr CONT1 o CONT1:= CONT1+1

TPWrite Nº de repeticiones

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

6.- Al ejecutar el programa situando el cursor en main (Depurar\ PP a main) y pulsando el botón Play se observa que, al pulsar la entrada digital, el FlexPendant muestra la pantalla anterior a la espera de introducir un número. Una vez introducido éste, también muestra el número de repeticiones realizadas.

también muestra el número de repeticiones realizadas. 7.- Para poder repetir varias veces una misma operación,

7.- Para poder repetir varias veces una misma operación, se puede utilizar la instrucción WHILE <EXP> DO en la que la expresión <EXP> indica la condición para que lo progamado a continuación de DO se ejecute “mientras” se cumpla dicha condición.

Para poder programar la instrucción WHILE…DO se inserta la misma seleccionándola en el grupo Common.

se inserta la misma seleccionándola en el grupo Common . Una vez insertada, clicar sobre <EXP>

Una vez insertada, clicar sobre <EXP> para poder definir las condiciones para la repetición y en la pantalla siguiente elegir Cambiar tipo de dato para posteriormente escoger el tipo de dato num donde se encuentran tanto el dato CONT1 como el otro dato que se necesita reg1.

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Para poder definir las condiciones para que se ejecute la repetición, clicar sobre CONT1 y

Para poder definir las condiciones para que se ejecute la repetición, clicar sobre CONT1 y posteriormente elegir Editar\Todos o solo seleccionados para completar las condiciones.

clicar sobre CONT1 y posteriormente elegir Editar\Todos o solo seleccionados para completar las condiciones.

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Aunque no es el único camino para completar la condición de repetición, el método más sencillo consiste en redactar dichas condiciones con la pantalla para la edición de texto:

CONT1<reg1. Aceptar mediante OK.

la edición de texto: CONT1<reg1. Aceptar mediante OK. Para finalizar, basta con programar las línea de

Para finalizar, basta con programar las línea de programa necesarias para que realice la sentencia despues de DO.

7.- La instrucción TPReadNum sirve tanto para expresar un texto (el texto que está entrecomillado), como para asignar a un dato numérico, el valor introducido a través de un teclado que se muestra en la pantalla del FlexPendant.

Para comenzar, se inserta la citada instrucción que se encuentra en el grupo Communicate y se clica sobre ella una vez insertada.

se inserta la citada instrucción que se encuentra en el grupo Communicate y se clica sobre

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Al clicar sobre la linea de instrucción, elegir el dato de tipo num que se quiere asociar al valor introducido en la pantalla. Teniendo en cuenta el programa, se elegirá reg1 de entre todos ellos.

cuenta el programa, se elegirá reg1 de entre todos ellos. Una vez aceptado del dato numérico

Una vez aceptado del dato numérico reg1, falta por completar el texto que se desea aparezca en pantalla. Para editar dicho texto clicar sobre las comillas (“ ”) que aparecen en la línea de instrucción.

( “ ” ) que aparecen en la línea de instrucción. En la pantalla siguiente, clicar

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 interrogación al comienzo. El resultado se puede ver en la siguiente figura donde se observa la línea de instrucción completa.

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

8.- La condición de comienzo IF que espera a la activación de la entrada digital

8.- La condición de comienzo IF que espera a la activación de la entrada digital para ejecutar las instrucciones comprendidas entre IF…THEN y ENDIF se puede sustituir por la instrucción WaitDI utilizada en la actividad 4.1

comprendidas entre IF…THEN y ENDIF se puede sustituir por la instrucción WaitDI utilizada en la actividad

Actividad 4.5: Datos numéricos. Repeticiones

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Datos numéricos. Repeticiones Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados 10

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

DATOS NUMÉRICOS PIEZA TALADRADA

4.6

Objetivos de la actividad:

01.- Programar el código necesario para que el robot realice una operación repetitiva que requiere cambio de herramienta. 02.- Entender la estructura de las instrucciones de repetición. 03.- Insertar datos útiles desde el FlexPendant.

Conocimientos

01.- Datos de programa de tipo num. Crear datos numéricos.

previos:

Conocimientos

01.- Programación y pruebas. Tipos de datos en el FlexPendant Manual FlexPendant Capítulo 6 02.- Instrucción TPReadFK Manual de Instrucciones, funciones y tipos de datos RAPID. 03.- Instrucción FOR…DO Manual de Instrucciones, funciones y tipos de datos RAPID. 04.- Instrucción TEST Manual de Instrucciones, funciones y tipos de datos RAPID. 05.- Instrucción GOTO Manual de Instrucciones, funciones y tipos de datos RAPID. 06.- Instrucción Label Manual de Instrucciones, funciones y tipos de datos RAPID.

relacionados:

Recursos

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

necesarios

Archivos de

01.- Pieza taladrada Realización repetitiva de una pieza.

imagen

relacionados

Nota1: No se pueden observar la activación de entradas en la simulación. Nota2: No se pueden observar el valor del contaje en el FlexPendant. Nota3: El accionamiento de la pinza se señaliza con la baliza de color rojo. Nota4: El accionamiento del taladro se señaliza con la baliza de color naranja.

Archivos de

programa

01.- Pieza taladrada Programación de la secuencia y contaje del número de repeticiones. Presentación en pantalla con TPReadNum. 02.- Pieza taladrada1 Programación de la secuencia y contaje del número de repeticiones. Presentación 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

relacionados

PROYECTO FINANCIADO POR:

5.14.02_2039. Para visualizar los programas, Archivo\Compartir\Unpack and Work relacionados PROYECTO FINANCIADO POR:
5.14.02_2039. Para visualizar los programas, Archivo\Compartir\Unpack and Work relacionados PROYECTO FINANCIADO POR:

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD 4.6 DATOS NUMÉRICOS PIEZA TALADRADA Objetivos: 1.- Crear un programa que taladre 4 agujeros
ACTIVIDAD
4.6
DATOS NUMÉRICOS
PIEZA TALADRADA
Objetivos:
1.- Crear un programa que taladre 4 agujeros en una pieza. El número de piezas a taladrar se
seleccionará a través del FlexPendant.
2.- Las piezas se alimentan por gravedad hasta
una posición. Una vez dada la orden de marcha
CONDICIONES DE INICIO:
y
si el detector de presencia de pieza está
activado el brazo robot trasladará la misma a la
posición de taladrado mediante unas pinzas
neumáticas accionadas mediante electroválvula
monoestable.
¿ número de piezas
pedido = número de
piezas realizado?
SI
3.- Una vez en su posición, la pinza irá a recoger
el
taladro eléctrico y lo asirá para poder realizar
los cuatro taladros.
NO
EJECUTAR RUTINA:
4.- Después de realizar los taladros, el robot
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 número
de piezas pedidas, el brazo irá a una posición de
reposo alejada de las piezas.
Coger pieza
EJECUTAR RUTINA:
Taladrar pieza
5.- Un contador, contará el nº de repeticiones y
las mostrará en la pantalla del flexPendant.
EJECUTAR RUTINA:
Depositar pieza
6.- Las rutinas se crearán en un módulo
diferente a MainModule, por ejemplo Module1.
Actividad 4.6: Datos numéricos. Pieza taladrada

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Procedimiento:

1.- Crear un programa siguiendo los pasos conocidos. ABB\ Editor de programas\Tareas y programas\Archivo\Nuevo programa.

2.- Crear un módulo diferente a MainModule, por ejemplo Module1. ABB\ Editor de programas\Módulos\Archivo\Nuevo módulo. Aceptar la pérdida de puntero y en la última pantalla, escribir el nombre del módulo.

y en la última pantalla, escribir el nombre del módulo. 3.- Crear las subrutinas Coger (pieza),

3.- Crear las subrutinas Coger (pieza), Taladrar (pieza) y Depositar (pieza) en Module1. Parea ello, elegir dentro de la pestaña Módulos el módulo deseado o Module1. Una vez resaltado, clicar en Mostrar módulo. Una vez accedido al módulo, clicar en la pastaña Rutinas.

o Module1 . Una vez resaltado, clicar en Mostrar módulo. Una vez accedido al módulo, clicar

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Una vez situados en Rutinas, clicar en Archivo\Nueva rutina, editar el nombre de la rutina

mediante

y asegurarse de que está declarada en el módulo Module1. Proceder del

mismo modo hasta programar las tres rutinas citadas.

ABC

del mismo modo hasta programar las tres rutinas citadas. ABC 4.- Crear y calibrar las dos

4.- Crear y calibrar las dos herramientas a utilizar en esta actividad, siguiendo los pasos explicados en la actividad 2. Las herramientas se denominarán:

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

Taladro. Para el taladro que coge la pinza. Para el taladro que coge la pinza.

Nota: En las imágenes capturadas con el programa RobotStudio para documentar esta actividad, se muestra siempre la herramienta MyTool debido a la complejidad que supone diseñar las herramientas anteriormente citadas. Independientemente de las imágenes, se han de observar los cambios de herramienta en las instrucciones contenidas en las rutinas.

5.- En la rutina Coger definir el programa para que el robot coja la pieza con la pinza en la posición de alimentación 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 posición “coger”” MoveJ p10, v1000,fine, pinza; posicionarse para coger pieza en el alimentadorSet do1; accionar la electroválvula para cierre de pinzaSet do3; encendido de piloto pinza cerradaMoveL offs (p10,0,0,20), v1000,fine, pinza; Subir pieza verticalmenteMoveJ offs (p20,0,0,20),v1000,fine, pinza; posicionarse para soltar pieza en el taladrado 20mm encima del puestoMoveJ p20, v1000,fine, pinza; posarse para soltar pieza en el taladradoReset do1; apertura de pinzaReset do3; apagado de piloto pinza cerrada

ENDPROC

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

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

Posicionarse en el punto donde está el taladro, coger el taladro con la pinza.programa para que el robot haga las siguientes operaciones: Posicionarse en primer punto de taladrado, cambiando

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 contínuo mientras realiza los cuatro agujeros siempre que el detector de presencia de pieza di3 esté activado. di3 esté activado.

Depositar el taladro en su soporte, liberando la pinza y parando el motor del taladro.que el detector de presencia de pieza di3 esté activado. PROC Taladrar() WaitDI di3,1; “ Presencia

PROC Taladrar()

WaitDI di3,1; Presencia de pieza en la posición “taladrar”” MoveJ p30, v1000,fine, pinza; posicionarse para coger el taladro de su almacenSet do1; accionar la electroválvula para cierre de pinza para coger taladroSet do2; accionar el taladroSet do3; encendido de piloto pinza cerradaSet do4; encendido de piloto taladro funcionandoMoveJ p40, v1000,fine, taladro; posición vertical agujero1, herramienta taladroMoveL p50, v100,fine, taladro; taladrar agujero1 a baja velocidadMoveL p40, v100,fine, taladro; retirada taladro agujero1 a baja velocidadMoveJ p60, v1000,fine, taladro; posición vertical agujero2, herramienta taladroMoveL p70, v100,fine, taladro; taladrar agujero2 a baja velocidadMoveL p60, v100,fine, taladro; retirada taladro agujero2 a baja velocidadMoveJ p80, v1000,fine, taladro; posición vertical agujero3, herramienta taladroMoveL p90, v100,fine, taladro; taladrar agujero3 a baja velocidadMoveL p80, v100,fine, taladro; retirada taladro agujero3 a baja velocidadMoveJ p100, v1000,fine, taladro; posición vertical agujero4, herramienta taladroMoveL p110, v100,fine, taladro; taladrar agujero4 a baja velocidadMoveL p100, v100,fine, taladro; retirada taladro agujero4 a baja velocidadMoveJ p30, v1000,fine, taladro; posicionarse para dejar el taladro en su almacenReset do2; apagado del taladroReset do1; apertura de pinza, para dejer taladroReset do3; apagado de piloto pinza cerradaReset do4; apagado de piloto taladro funcionando

ENDPROC

7.-

operaciones:

En

la rutina Depositar definir el

programa para que el robot haga las siguientes

Posicionarse en la vertical de la pieza taladrada, cambiando la herramienta a pinza para poder coger la pieza.definir el programa para que el robot haga las siguientes Bajar verticalmente para posteriormente cerrar la

Bajar verticalmente para posteriormente cerrar la pinza para coger la pieza.cambiando la herramienta a pinza para poder coger la pieza. Subir y depositar la pieza taladrada

Subir y depositar la pieza taladrada en la rampa de salida, liberando la pinza.para posteriormente cerrar la pinza para coger la pieza. PROC Taladrar() MoveJ p120, v1000,fine, pinza; “

PROC Taladrar()

MoveJ p120, v1000,fine, pinza; posicionarse para coger la pieza taladradaMoveL p130, v1000,fine, pinza; bajar para coger la pieza taladradaSet do1; accionar la electroválvula para cierre de pinza para coger piezaSet do3; encendido de piloto pinza cerradaMoveL p120, v1000,fine, pinza; subir la pieza taladrada para no arrastrarlaMoveL p140, v1000,fine, pinza; posicionarse soltar la pieza taladradaMoveL p150, v1000,fine, pinza; depositar la pieza taladradaReset do1; apertura de pinza, para dejer pieza taladradaReset do3; apagado de piloto pinza cerradaMoveL p140, v1000,fine, pinza; posicionarse en vertical para ir a posiciones iniciales

ENDPROC

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

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

Posicionarse en un punto de inicio.programa para que el robot haga las siguientes operaciones: Comenzar con la orden de marcha. Preguntar

Comenzar con la orden de marcha.siguientes operaciones: Posicionarse en un punto de inicio. Preguntar cuantas piezas se desean realizar. Repetir las

Preguntar cuantas piezas se desean realizar.en un punto de inicio. Comenzar con la orden de marcha. Repetir las rutinas por orden

Repetir las rutinas por orden tantas veces como piezas solicitadas mediante la instrucción FOR.de marcha. Preguntar cuantas piezas se desean realizar. PROC Main() MoveAbsJ jpos10 , v1000 , z100

PROC Main()

MoveAbsJ jpos10,v1000,z100, pinza; posición de inicioTPErase; borrar los mensajes de la pantalla del FlexPendantWaitDI di1, 1; esperar a la orden de marchaTPReadNum 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 instrucción ProcCall” Taladrar; saltar a la rutina “taladrar” con la instrucción ProcCall” Depositar; saltar a la rutina “depositar” con la instrucción ProcCall”

ENDFOR

ENDPROC

8.- Recordar que las instrucciones TPErase y TPReadNum sirven para, a través de la pantalla del FlexPendant, borrar datos y/o textos y leer un número del FlexPendant asignándolo a un dato numérico respectivamente. En la siguiente figura se observa que estando el robot en la posición de inicio, la pantalla del FlexPendant requiere un número de piezas a realizar que en la imagen es de 6:

en la posición de inicio, la pantalla del FlexPendant requiere un número de piezas a realizar

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

9.- Para poder repetir varias veces una misma operación, se va a utilizar en esta actividad la instrucción FOR <EXP1> FROM <EXP2> TO <EXP3> DO en la que:

La expresión <EXP1> indica el nombre del dato que contendrá el valor del contador del bucle actual. <EXP1> indica el nombre del dato que contendrá el valor del contador del bucle actual. Este dato se declara automáticamente.

La expresión <EXP2> indica el valor inicial deseado para el contador del bucle. <EXP2> indica el valor inicial deseado para el contador del bucle.

La expresión <EXP3> indica el valor final deseado para el contador del bucle. <EXP3> indica el valor final deseado para el contador del bucle.

Para poder programar la instrucción FOR…DO se inserta la misma seleccionándola en el grupo Common.

se inserta la misma seleccionándola en el grupo Common . Una vez insertada, clicar sobre <ID>

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.
el
editor de texto el dato i que es como el programa identificará dicho contador.
A
continuación, clicar sobre la primera <EXP> ligada a la expresión FROM para poder definir
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:

elegir Solo seleccionados para posteriormente escribir con el editor de texto el dato 1 o valor

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Por último, clicar sobre la segunda <EXP> ligada a la expresión TO para poder definir el valor final del contador de bucle y en la pantalla siguiente elegir el dato deseado o reg1 que no hace falta definir previamente porque ya viene definido por defecto como dato numérico:

porque ya viene definido por defecto como dato numérico: Para completar la instrucción basta con programar

Para completar la instrucción basta con programar las líneas necesarias para que realice la sentencias despues de DO. Como son llamadas a rutinas recordar que hay que utilizar la instrucción ProcCall para la llamada, la instrucción completa quedaría del siguiente modo:

la instrucción completa quedaría del siguiente modo: Elección de rutinas mediante la instrucción TEST: 10.- Se

Elección de rutinas mediante la instrucción TEST:

10.- Se puede completar esta actividad realizando un pequeño menú mediante la instrucción TEST que elija si quiere realizar el programa completo o por el contrario solamente se quiere realizar una rutina determinada. Junto con la citada instrucción, se utilizará TPReadFK parecida a la utilizada TPReadNum para poder asignar un valor numérico pero con otra presentación en la pantalla del FlexPendant. El programa main quedará de la siguiente manera:

PROC Main() MAIN: etiqueta llamada “MAINpara poder saltar a ella con GOTOTPReadFK reg2, "Que desea realizar: ",stEmpty,stEmpty,stEmpty,"TODO","TALADRAR"; Elección por pantalla en 5 zonas diferentesTEST reg2 “elección del caso según el valor de la variable “reg2”” CASE 4: si el valor de “reg2” vale 4:” TPErase; borrar pantallaGOTO TODO; saltar a la etiqueta “ TODO ” o programa completo” CASE 5: si el valor de “reg2” vale 5:” TPErase; borrar pantallaTaladrar; “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 GOTOMoveAbsJ jpos10,v1000,z100, pinza; posición de inicioTPErase; borrar los mensajes de la pantalla del FlexPendantWaitDI di1, 1; esperar a la orden de marchaTPReadNum 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 instrucción ProcCall” Taladrar; saltar a la rutina “taladrar” con la instrucción ProcCall” Depositar; saltar a la rutina “depositar” con la instrucción ProcCall” ENDFOR ENDPROC

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

11.- Para insertar las etiquetas MAIN y TODO a las que se puede saltar con la instrucción GOTO insertar la instrucción Label, clicar en <ID> y con el editor de texto de la siguiente pantalla, editar la etiqueta, en este caso MAIN, como se ve en la figura:

la etiqueta, en este caso MAIN , como se ve en la figura: Para insertar las

Para insertar las llamadas a las etiquetas MAIN y TODO añadir donde corresponda, la instrucción GOTO, clicar en <ID> y elegir la etiqueta, que previamente ha de estar definida, a la que se quiere saltar en la siguiente pantalla, en este caso MAIN, como se ve en la figura:

pantalla, en este caso MAIN , como se ve en la figura: 12.- Insertar la instrucción
pantalla, en este caso MAIN , como se ve en la figura: 12.- Insertar la instrucción
pantalla, en este caso MAIN , como se ve en la figura: 12.- Insertar la instrucción

12.- Insertar la instrucción TPReadFK, y en la pantalla que emerge, elegir el dato numérico asociado a la misma, en este caso reg2, como se ve en la figura:

a la misma, en este caso reg2 , como se ve en la figura: El formato
a la misma, en este caso reg2 , como se ve en la figura: El formato

El formato de la instrucción 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 función 4 y 5 usando las cadenas de texto “TODO” y “TALADRAR” respectivamente (consultar la figura siguiente).

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

La ejecución del programa espera hasta que se presiona una de las teclas de función, la tecla 4 o la 5. En otras palabras, se asigna a reg2 el valor 4 ó 5 en función de cuál de las teclas se presione.

valor 4 ó 5 en función de cuál de las teclas se presione. Para poder editar

Para poder editar el texto que aparece en pantalla, clicar sobre las comillas y en la nueva pantalla que emerge, elegir Editar\Solo seleccionados o Todos si queremos editar la instrucción completa. Con el editor de textos que aparece con cualquiera de las opciones editaremos el texto correspondiente.

de las opciones editaremos el texto correspondiente. Para poder editar el texto de las teclas de

Para poder editar el texto de las teclas de función, clicar sobre et texto stEmpty correspondiente al lugar donde se desea que aparezcan y en la nueva pantalla que emerge, elegir Editar \ABC… En este caso también, con el editor de textos que aparece, editaremos el texto correspondiente.

elegir Editar \ ABC… En este caso también, con el editor de textos que aparece, editaremos

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

13.- Mediante la instrucción TEST se ejecutarán instrucciones diferentes en función del valor de una expresión o un dato. En el caso del programa escrito:

TEST reg2 “elección del caso según el valor de la variable “reg2”” CASE 4: si el valor de “reg2” vale 4:” TPErase; borrar pantallaGOTO TODO; “saltar a la etiqueta “ TODO ” o programa completo” CASE 5: si el valor de “reg2” vale 5:” TPErase; borrar pantallaTaladrar; “saltar a rutina “Taladrar”” GOTO MAIN; “saltar a la etiqueta “ MAIN ” o inicio de programa” ENDTEST

Se ejecutan instrucciones diferentes en función del valor de reg2 que se ha asignado mediante la instrucción TPReadFK:

Si el valor es 4 (TODO) se ejecutan: se ejecutan:

TPErase o borrado de la pantalla del FlexPendant. o borrado de la pantalla del FlexPendant.

GOTO TODO o salto a la etiqueta TODO o programa completo. o salto a la etiqueta TODO o programa completo.

Si el valor es 5 (TALADRAR) se ejecutan: se ejecutan:

TPErase o borrado de la pantalla del FlexPendant. o borrado de la pantalla del FlexPendant.

Taladrar solo la rutina de taladrado. solo la rutina de taladrado.

GOTO MAIN o salto a la etiqueta MAIN o comienzo de programa. o salto a la etiqueta MAIN o comienzo de programa.

Se puede añadir DEFAULT y ejecutar: DEFAULT y ejecutar:

TPWrite “Elección incorrecta” . Write “Elección incorrecta”.

Stop o parada del programa. o parada del programa.

Seleccionar la instrucción TEST del grupo Prog.Flow y al insertarla se observa que solamente se puede editar un CASE.

se observa que solamente se puede editar un CASE . Para insertar más casos o CASE

Para insertar más casos o CASE, clicar sobre la instrucción anterior y añadir todos los necesarios o también se puede añadir DEFAULT

casos o CASE , clicar sobre la instrucción anterior y añadir todos los necesarios o también

Actividad 4.6: Datos numéricos. Pieza taladrada

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Con las herramientas de edición que se han utilizado anteriormente, editar todas las expresiones <EXP> y sentencias <SMT> hasta completar la instrucción como se ilustra en la figura:

completar la instrucción como se ilustra en la figura: El programa presentará 2 pantallas: una para

El programa presentará 2 pantallas: una para elegir que operación se desea realizar y otra el número de piezas a realizar solamente en el caso de elegir TODO.

para elegir que operación se desea realizar y otra el número de piezas a realizar solamente

Actividad 4.7: Objeto de trabajo.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

BASES DE COORDENADAS OBJETO DE TRABAJO

 

4.7

Objetivos de la actividad:

01.- Programar el código necesario para realizar un cambio en las 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.- Programación y pruebas. Tipos de datos en el FlexPendant Manual FlexPendant Capítulo 6 02.- Datos wobjdata Manual de Instrucciones, funciones y tipos de datos RAPID.

relacionados:

Recursos

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

 

necesarios

Archivos de

01.- Objeto de trabajo1

Realización

de

la pieza

con

la mesa

en

la

imagen

posición original. 02.- Objeto de trabajo2 Realización de la misma pieza con la mesa

relacionados

girada.

Nota1: No se pueden observar la activación de entradas en la simulación.

 

Archivos de

01.- Objeto de trabajo1

Realización

de

la pieza

con

la mesa

en

la

programa

posición original. 02.- Objeto de trabajo2 Realización 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

relacionados

PROYECTO FINANCIADO POR:

 
 
 
 

Actividad 4.7: Objeto de trabajo.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

ACTIVIDAD

BASES DE COORDENADAS OBJETO DE TRABAJO

4.7

Aclaración: Se trata de entender y programar correctamente coordenadas de objeto de trabajo, una actividad que resulta más propia del tema 2. Como se ha valorado que se requiere una cierta destreza y habilidad que se adquieren con la ejecución de las actividades hasta ahora desarrolladas, ésta se incluye en esta colección de actividades.

Objetivos:

1.- Crear un programa de forma que la punta de la herramienta dibuje o siga un pentágono que está ubicado en una mesa.

dibuje o siga un pentágono que está ubicado en una mesa. 2.- Sin modificar los datos
dibuje o siga un pentágono que está ubicado en una mesa. 2.- Sin modificar los datos

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.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

Procedimiento:

Paso 1.- Crear el dato correspondiente al objeto de trabajo (mesa en posición original)

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

pantalla clicar en wobjdata y por último clicar en Nuevo 2.- Declarar el objeto de trabajo

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

Nuevo 2.- Declarar el objeto de trabajo que se va a definir. El nombre del objeto:
Nuevo 2.- Declarar el objeto de trabajo que se va a definir. El nombre del objeto:

El nombre del objeto: wobj1 El tipo de almacenamiento: Persistente El Módulo: MainModule Seleccionar el módulo desde el que se desea declarar la herramienta.

Persistente El Módulo: MainModule Seleccionar el módulo desde el que se desea declarar la herramienta.
Persistente El Módulo: MainModule Seleccionar el módulo desde el que se desea declarar la herramienta.

Actividad 4.7: Objeto de trabajo.

Proyecto: Telemantenimiento y telegestión 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 características. Para ello, clicar en Editar para después hacerlo en Definir.

ello, clicar en Editar para después hacerlo en Definir . 4.- En la pantalla emergente, seleccinar

4.- En la pantalla emergente, seleccinar Mét. Usuario\3 puntos.

la pantalla emergente, seleccinar Mét. Usuario\3 puntos . 5.- Con la ayuda del joystick, mover el

5.- Con la ayuda del joystick, mover el robot hasta el punto X1 situado en un punto cualquiera de la arista paralela al eje x. Una vez situado el robot clicar en Modificar posición para grabar el primer punto.

clicar en Modificar posición para grabar el primer punto. 6.- Mover el robot hasta el punto

6.- Mover el robot hasta el punto X2 situado en un punto cualquiera de la arista paralela al eje X más alejado que el X1. Una vez situado el robot clicar en Modificar posición para grabar el segundo punto o punto de usuario X2.

Actividad 4.7: Objeto de trabajo.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados

7.- Mover el robot hasta el punto Y1 situado en un punto cualquiera de la arista paralela al eje Y. Una vez situado el robot clicar en Modificar posición para grabar el tercer punto o punto de usuario Y1.

para grabar el tercer punto o punto de usuario Y1. Una vez grabados los tres puntos
para grabar el tercer punto o punto de usuario Y1. Una vez grabados los tres puntos

Una vez grabados los tres puntos aceptar los puntos del nuevo objeto de trabajo con OK.

aceptar los puntos del nuevo objeto de trabajo con OK . 8.- Antes de comenzar a

8.- Antes de comenzar a programar la pieza, pentágono en el ejemplo, es muy Importante que

el

objeto de trabajo esté referenciada a wobj1 u objeto de trabajo definido cuyas coordenadas

y

rotación distan mucho del wobj0 u objeto de trabajo por defecto. Elegir dicho objeto en

Objeto de trabajo de la pantalla movimiento.

mucho del wobj0 u objeto de trabajo por defecto. Elegir dicho objeto en Objeto de trabajo

Actividad 4.7: Objeto de trabajo.

Proyecto: Telemantenimiento y telegestión de sistemas robotizados y/o automatizados