You are on page 1of 310

Manual de

Formación F-305
Introducción al lenguaje RAPID

1 Seguridad

2 Puesta en marcha

3 Movimiento

4 Entradas y salidas

5 Programación y pruebas

6 El lenguaje de programación RAPID

7 Funcionamiento en producción

8 Referencia Rápida

9 Instrucciones

10 Instrucciones
La información contenida en este documento está sometida a cambios sin previo aviso y no debe considerarse como un
compromiso por parte de ABB Sistemas Industriales S.A, que tampoco asume ninguna responsabilidad de los posibles
errores que puedan aparecer en este documento.

En ningún caso ABB Sistemas Industriales S.A será responsable de los posibles daños que se puedan producir a conse-
cuencia de la utilización de este documento o de los programas o elementos que en el se describen.

Este documento no podrá ser reproducido ni copiado total o parcialmente, sin previa autorización por escrito de ABB
Sistemas Industriales S.A y su contenido no deberá ser distribuido a terceros ni ser utlizado para culaquier propósito no
autorizado. Las contravenciones serán perseguidas.

Se podrán obtener copias adicionales de este documento en ABB Sistemas Industriales S.A al precio correspondiente.

© ABB Sistemas Industriales S.A

Publicación: Manual de introducción al RAPID


Nº artículo: F-305
Fecha: Noviembre 2003

ABB Sistemas Industriales S.A


Dpto. de Formación
Polígon Industrial S.O. s/n
08192 Sant Quirze del Vallès
(Barcelona)
Seguridad S4C
INDICE
Página

Seguridad ........................................................................................................................... 3
1 Generalidades .................................................................................................................. 3
1.1 Introducción........................................................................................................... 3
2 Normas de Seguridad aplicables................................................................................... 3
3 Extinción del fuego......................................................................................................... 4
4 Definición de las Funciones de Seguridad.................................................................... 4
5 Procedimientos de Seguridad en el trabajo ................................................................. 5
6 Programación, Pruebas y Servicio................................................................................ 5
7 Funciones de Seguridad................................................................................................. 6
7.1 La cadena de control de la seguridad del funcionamiento..................................... 6
7.2 Paros de emergencia .............................................................................................. 7
7.3 Selección del modo de funcionamiento mediante el selector................................ 7
7.4 Dispositivo de habilitación .................................................................................... 8
7.5 Control de Funcionamiento Sostenido .................................................................. 9
7.6 Conexión del paro de protección de área, PARO GENERAL (GS)...................... 10
7.7 Conexión del paro de protección del área, PARO AUTOMATICO(AS) .............. 10
7.8 Limitación del área de trabajo ............................................................................... 10
7.9 Funciones suplementarias...................................................................................... 10
8 Riesgos relacionados con los Dispositivos Finales del Manipulador ......................... 11
8.1 Pinza ...................................................................................................................... 11
8.2 Herramientas/piezas de trabajo.............................................................................. 11
8.3 Sistemas hidráulicos/neumáticos........................................................................... 11
9 Posibles riesgos debidos a problemas de funcionamiento .......................................... 12
10 Posibles riesgos relacionados con la Instalación y el Servicio ................................... 12
11 Riesgos asociados con los elementos bajo tensión del sistema................................... 13
12 Liberación de emergencia del brazo mecánico........................................................... 14
13 Cadena de control de seguridades del sistema de control S4P.................................. 14
14 Limitación de la Responsabilidad................................................................................ 15
15 Información relacionada .............................................................................................. 15

Guía del Usuario 2-1


Seguridad S4C

2-2 Guía del Usuario


Seguridad

Seguridad

1 Generalidades
Esta información referente a seguridad cubre las funciones que están relacionadas con
el funcionamiento del robot industrial.

La información no incluye cómo prever, instalar y operar un sistema completo, ni tam-


poco trata de los diferentes componentes del equipo periférico que pueden influir en la
seguridad del sistema general.

Para ofrecer la máxima protección al personal, el sistema completo debe haber sido
diseñado e instalado de acuerdo con los requisitos de seguridad especificados en las
normas y leyes del país donde se realiza la instalación.

Los usuarios de los robots industriales de ABB se responsabilizan de que se cumplan


las leyes y las normas de seguridad vigentes en el país correspondiente y que los dis-
positivos de seguridad necesarios para proteger el personal que trabaja con el sistema
robot han sido previstos e instalados correctamente.

El personal que trabaja con robots deberá estar familiarizado con el funcionamiento y
manipulación del sistema robot industrial, descritos en los documentos correspondien-
tes, es decir, la Guía del Usuario y el Manual de Producto.

Los disquetes que contienen los programas de control del robot no deberán cam-
biarse bajo ningún pretexto ya que ello podría conllevar la desactivación de fun-
ciones de seguridad, como por ejemplo el funcionamiento a velocidad reducida.

1.1 Introducción

Además de las funciones de seguridad incorporadas, el robot está equipado también de


un interface para la conexión de dispositivos de seguridad externos.

Mediante este interface, una función de seguridad externa puede actuar en otras máqui-
nas así como en el equipo periférico. Ello significa que las señales de control pueden
actuar en las señales de seguridad recibidas tanto del equipo periférico como del robot.

En el Manual de Producto, en el capitulo de Instalación del Controlador, se proporcio-


nan instrucciones para la conexión de los dispositivos de seguridad entre el robot y el
equipo periférico.

2 Normas de Seguridad aplicables


El robot ha sido diseñado de acuerdo con los requisitos de la norma ISO10218, En.
1992, referente a la Seguridad del Robot Industrial. El robot cumple también con las
especificaciones de ANSI/RIA 15.06-1992.

Manual de Programación Básica RAPID 2-3


Seguridad

3 Extinción del fuego


En el caso de que se declare fuego en el robot (el manipulador o el sistema de con-
trol), se deberá extinguir utilizando un extintor de DIOXIDO DE CARBONO.

4 Definición de las Funciones de Seguridad

Paro de emergencia – IEC 204-1,10.7


Es una condición que bloquea todos los controles del robot, desconecta la alimentación
de las unidades de accionamiento para los motores de los ejes del robot detiene todas
las partes en movimiento, y desconecta la alimentación de otras funciones peligrosas
controladas por el robot.

Dispositivo de habilitación – ISO 11161, 3.4


Es un dispositivo operado manualmente que permite, cuando esta activado continua-
mente en una única posición determinada, utilizar las funciones peligrosas pero no las
puede iniciar. En cualquier otra posición, bloquea de las funciones peligrosas con toda
seguridad.

Paro de seguridad – ISO 10218 (EN 775), 6.4.3


Cuando se proporciona un circuito de paro de seguridad, cada robot debe tener prevista
la conexión de dispositivos de protección y bloqueo asociados con este circuito. Es
necesario desconectar la alimentación de los motores del sistema antes de que pueda
inicializarse cualquier movimiento del robot. Sin embargo, si solamente se rearma la
alimentación de los motores, no es suficiente para iniciar cualquier operación.

Velocidad reducida – ISO 10218 (EN 775), 3.2.17


Es una única velocidad, seleccionada por el suministrador del robot, que automatica-
mente reduce la velocidad del robot a dicha velocidad y que permite al personal que
pueda salir del área peligrosa, en caso de movimientos extraños o para detener el robot.

Bloqueo de seguridad – ISO 10218 (EN 775), 3.2.8


Es una función que interconecta los dispositivos de bloqueo con el controlador del
robot y/o el sistema de alimentación de los accionamientos del robot y su equipo aso-
ciado.

Control de funcionamiento sostenido (“Hold-to-run”) – ISO 10218 (EN 775), 3.2.7


Es un tipo de control que permite la realización de movimientos únicamente durante la
activación manual del mismo e implica que los movimientos se paren cuando se deje
de activar.

2-4 Manual de Programación Básica RAPID


Seguridad

5 Procedimientos de Seguridad en el trabajo


Los procedimientos de seguridad en el trabajo deberán usarse para prevenir accidentes.
Por lo tanto, el usuario no deberá nunca modificar, puentear o cambiar ningún dispo-
sitivo o circuito de seguridad.

Todas las operaciones normales en el modo de funcionamiento automático deberán ser


ejecutadas desde el exterior de la zona de seguridad del robot.

6 Programación, Pruebas y Servicio


El robot constituye una masa extremadamente pesada y potente, incluso cuando fun-
ciona a velocidad reducida. Cuando se penetra dentro del área de seguridad del robot,
se deberán observar las normas de seguridad vigentes en el país correspondiente.

Los usuarios deben ser conscientes del hecho que el robot puede realizar movimientos
inesperados. Una pausa (o incluso un paro) dentro de un conjunto de movimientos
puede ir seguida por un movimiento a alta velocidad. Los usuarios deben saber también
que las señales externas pueden influir en los programas del robot de forma que ciertas
trayectorias de movimiento pueden cambiar sin previo aviso.

Si el trabajo que se debe realizar se sitúa dentro del área de trabajo del robot, se
deberá seguir las siguientes instrucciones:

• El selector de modo de funcionamiento del controlador deberá estar en una posición


manual para permitir que el dispositivo de habilitación sea operativo y para bloquear
el funcionamiento desde un enlace a computador o desde el panel de control remoto.
• La velocidad del robot está limitada a los 250 mm/s (10 pulgadas/s) como máximo,
cuando el selector de modo de funcionamiento está en la posición <250 mm/s. Esta
debe ser la posición en que debe estar cuando se entra en el área de trabajo del robot.
La posición al 100% -velocidad máxima- sólo podrá ser utilizada por personal expe-
rimentado que sea consciente de los riesgos que se pueden generar.
• No se deberá cambiar la “relación de transmisión del reductor” ni ningún otro
parámetro cinemático desde la unidad de programación ni desde un PC. Ello
afectaría la función de seguridad Velocidad reducida a 250 mm/s.
• Durante la programación y la realización de pruebas del sistema, el dispositivo de
habilitación deberá liberarse tan pronto como el robot no deba moverse.

El dispositivo de habilitación no estará nunca inoperativo por ningún motivo.

• El programador deberá llevar siempre consigo la unidad de programación cuando


pasa por la puerta de seguridad para penetrar en el área de trabajo del robot, a fin de
que nadie más tenga la posibilidad de tomar el control del robot sin su conocimiento.

Manual de Programación Básica RAPID 2-5


Seguridad

7 Funciones de Seguridad

7.1 La cadena de control de la seguridad del funcionamiento

La cadena de control de seguridad del funcionamiento está basada en un sistema de


doble cadenas de seguridad eléctricas que se interaccionan con el computador del robot
y que habilitan el modo MOTORES ON.

Las cadenas de seguridad eléctricas están formadas de varios interruptores conectados


de forma que todos ellos deben estar cerrados antes de que el robot pueda pasar al modo
MOTORES ON. Este modo permite que se aplique la tensión a los motores.

Si algún contacto de una cadena de seguridad se encuentra abierto, el robot siempre


pasará al modo MOTORES OFF. El modo MOTORES OFF significa que la alimenta-
ción a los motores está desactivada y que los frenos están aplicados.

K1 K2
D rive
M
U nit

Controlador
K1 K2

Supervisión
Interlocking

EN RUN

& &
M an1 M an2
+ +
TPU A uto1 TPU A uto2
LIM 1 ES1 LIM 2 ES2
E n1 E n2
EContactores
xtern al
GS1 AS1 Externos
co n tacto rs
GS2 AS2

Las posiciones de los interruptores están indicados por los LEDs situados en el frontal
del modulo panel en el armario de control, y también se podrán visualizar en la unidad
de programación (ventana de E/S/Ver /Seguridad).

Después de un paro, se deberá rearmar el interruptor en la unidad que ha provocado el


paro, antes de que se ordene al robot que arranque de nuevo.

No se deberá nunca puentear, modificar o cambiar las cadenas de seguridad por


ningún motivo.

2-6 Manual de Programación Básica RAPID


Seguridad

7.2 Paros de emergencia

Un paro de emergencia deberá ser activado cuando exista un peligro real para el per-
sonal o para el equipo. Los pulsadores de paro de emergencia incorporados están situa-
dos en el panel de control de la cabina de control y en la unidad de programación.

Los dispositivos de paro de emergencia externos (pulsadores, etc.) podrán ser conec-
tados a la cadena de seguridad del sistema por el usuario (véase el Manual de Producto,
en el capitulo referente a la Instalación del Controlador). Dichos dispositivos de emer-
gencia deberán ser conectados siempre cumpliendo con las normas en vigor referentes
a los circuitos de paro de emergencia.

Antes de la puesta en servicio del robot, todos los pulsadores de paro de emergencia o
cualquier otro tipo de equipo de seguridad deberán ser comprobados por el usuario
para asegurar su correcto funcionamiento.

Antes de volver a pasar al modo MOTORES ON, se deberá haber determinado el


motivo que ha originado el paro y corregir el fallo.

7.3 Selección del modo de funcionamiento mediante el selector

Las normas de seguridad vigentes para la utilización de los robots, de acuerdo con la
norma ISO/DIS 10218, se caracterizan por los diferentes modos de funcionamiento
existentes, seleccionables mediante dispositivos de control con posiciones muy deter-
minadas.

El sistema dispone de un modo de funcionamiento automático y de dos modos manua-


les:
Modo Manual:
< 250 mm/s - la velocidad del robot está limitada a 250mm/s
100% - velocidad total (En algunos sistemas no existe esta opción)

Modo Automático: El robot puede ser operado a través de un dispositivo


de control remoto
El modo de funcionamiento manual, < 250 mm/s o 100%, deberá seleccionarse siem-
pre que alguien entre en el área protegida del robot. El robot deberá ser operado a partir
de la unidad de programación y, si se selecciona la posición 100%, se deberá utilizar
además la función de Control de Funcionamiento Sostenido.

En el modo de funcionamiento automático, el selector de modo de funcionamiento


pasa a la posición , y todos los dispositivos de seguridad como puertas y vallas
de protección, barreras fotoeléctricas, interruptores finales de carrera, etc, quedan acti-
vadas. En esta condición, nadie podrá entrar en el área protegida del robot. Todos los
controles, como los paros de emergencia, el panel de control y el armario de control
deberán ser de fácil acceso desde el exterior del área de seguridad del robot.

Manual de Programación Básica RAPID 2-7


Seguridad

Programación y Prueba del sistema a velocidad reducida


Los movimientos del robot a velocidad reducida deberán llevarse a cabo de la siguiente
forma:

• Poner el selector de modo de funcionamiento en la posición de manual <250 mm/s


• Los programas sólo podrán ser arrancados utilizando la unidad de programación con
el dispositivo de habilitación activado.

La función de paro de seguridad en modo automático (AS) no está activa en este modo.

Prueba del sistema a velocidad total (No disponible en algunos equipos)


Los movimientos del robot a la velocidad programada deberán llevarse a cabo de la
siguiente forma:

• Colocar el selector de modo de funcionamiento en la posición manual 100%


• Los programas sólo podrán ser arrancados utilizando la unidad de programación con
el dispositivo de habilitación activado.
• la tecla de control de funcionamiento sostenido deberá permanecer activada. En
cuanto se suelte esta tecla, la ejecución del programa se detiene.

El modo de funcionamiento con la velocidad al 100% deberá ser utilizado única-


mente por personal experimentado. Además, se deberá siempre respetar las leyes
y las normas de seguridad vigentes del país correspondiente.

Funcionamiento Automático
El funcionamiento automático puede ser arrancado una vez se hayan cumplido las
siguientes condiciones:

• El selector del modo de funcionamiento debe estar en la posición de automático


• El modo de MOTORES ON se ha seleccionado.

Para arrancar el programa se podrá utilizar tanto la unidad de programación como cual-
quier dispositivo de control remoto conectado al sistema. Estas funciones deberán estar
interconectadas y protegidas de acuerdo con las instrucciones de seguridad vigentes y
el usuario deberá de encontrarse siempre fuera del área de seguridad del robot.

7.4 Dispositivo de habilitación

Cuando el selector de modo de funcionamiento está en la posición MANUAL o


MANUAL VELOCIDAD TOTAL, se podrá poner el robot en el modo MOTORES ON
activando el dispositivo de habilitación de la unidad de programación.

Si por alguna razón el robot pasara al modo MOTORES OFF mientras el dispositivo
de habilitación está pulsado, se deberá liberar el dispositivo de habilitación antes de que
el robot pueda regresar al modo MOTORES ON. Esto es una función de seguridad pre-
vista para imposibilitar que se desactive el dispositivo de habilitación.

2-8 Manual de Programación Básica RAPID


Seguridad

Cuando se suelta el dispositivo de habilitación, la alimentación de los motores queda


desactivada, los frenos quedan activados y el robot regresa al modo MOTORES OFF.

Si se vuelve a activar el dispositivo de habilitación, el robot pasa a MOTORES ON.

7.5 Control de Funcionamiento Sostenido

Esta función está siempre activa cuando el selector de modo de funcionamiento está en
la posición MANUAL VELOCIDAD TOTAL. Si se desea también se podrá activar un
parámetro para que esta función esté activada cuando el selector de modo de funciona-
miento esté en la posición MANUAL.

Cuando la función de Control de Funcionamiento Sostenido está activa, el dispositivo


de habilitación y la tecla de funcionamiento sostenido de la unidad de programación
deberán estar pulsadas para que se pueda ejecutar el programa. Cuando se suelta esta
tecla, los ejes se detienen y el robot permanece en el modo MOTORES ON.

A continuación se ofrece una descripción detallada de los pasos a seguir para ejecutar
un programa con el control de funcionamiento sostenido:

• Activar el dispositivo de habilitación situado en la unidad de programación.


• Seleccionar el modo de arranque utilizando las teclas de función de la unidad de pro-
gramación:
- Arranca (ejecución continua del programa)
- Adelante (una instrucción hacia adelante)
- Atrás (una instrucción hacia atrás)
• Esperar que aparezca la ventana de aviso del control de funcionamiento sostenido.
• Activar el pulsador de control de funcionamiento sostenido en la unidad de progra-
mación.

Ahora el programa se ejecutará (con el modo de ejecución seleccionado) mientras se


apriete el pulsador de control de funcionamiento sostenido. Si se suelta se parará la eje-
cución del programa y si se activa el pulsador, la ejecución arrancará de nuevo.

En el modo de funcionamiento Atrás (hacia atrás) y Adelante (hacia adelante), la


siguiente instrucción será ejecutada soltando y activando el pulsador de control de fun-
cionamiento sostenido.

Si se desea, se podrá cambiar de modo de ejecución cuando el pulsador de control de


funcionamiento sostenido está soltado y a continuación proseguir la ejecución del pro-
grama con el nuevo modo sólo activando de nuevo el pulsador de control de funciona-
miento sostenido, con lo cual no aparecerá ninguna ventana de aviso.

En el caso en que se haya detenido la ejecución del programa con el pulsador de paro
de la unidad de programación, la ejecución del programa continuará si se suelta y se
vuelve a activar el pulsador de control de funcionamiento sostenido.

Cuando se suelta el dispositivo de habilitación de la unidad de programación, la


secuencia descrita anteriormente deberá volver a repetirse desde el principio.

Manual de Programación Básica RAPID 2-9


Seguridad

7.6 Conexión del paro de protección de área, PARO GENERAL (GS)

La conexión del GS (paro general) sirve para bloquear los dispositivos de seguridad
externos, como las barreras fotoeléctricas o los finales de carrera. El GS esta permanen-
temente activado, independientemente de la posición del selector de modo de funcio-
namiento.

Cuando esta conexión está abierta, el robot pasa al modo MOTORES OFF. Para reini-
cializar el modo MOTORES ON, el dispositivo que provocó el paro de seguridad
deberá ser rearmado de acuerdo con las normas de seguridad vigentes. Esta operación
no suele hacerse con la reinicialización simple del dispositivo en si.

7.7 Conexión del paro de protección del área, PARO AUTOMATICO(AS)

La conexión del AS (paro automático) sirve para bloquear los dispositivos de seguridad
externos, como las barreras fotoeléctricas, o los interruptores finales de carrera, utiliza-
das de forma externa por el instalador del sistema. El AS está previsto específicamente
para ser utilizado en el modo automático, durante la ejecución normal del programa.

El AS se desactiva cuando el selector de modo de funcionamiento está en la posición


MANUAL o MANUAL VELOCIDAD TOTAL.

7.8 Limitación del área de trabajo

Para ciertos tipos de aplicaciones, el movimiento de los ejes principales del robot debe
ser limitado a fin de crear una zona de seguridad . Ello reducirá considerablemente el
riesgo de accidente del robot, impidiendo la colisión con cualquier elemento .

El movimiento de los ejes 1, 2 y 3 puede ser limitado mediante la colocación de topes


mecánicos ajustables o mediante interruptores de final de carrera. Si se limita el área
de trabajo, los parámetros de limitación correspondientes del software deberán también
ser cambiados. Si es necesario, el movimiento de los tres ejes de la muñeca también
podrá ser limitado por parámetros del computador. La limitación del movimiento de los
ejes del robot deberá ser realizada por el usuario.

7.9 Funciones suplementarias

Existen funciones complementarias que funcionan a través de entradas digitales espe-


cíficas:

• Se podrá activar un paro a través de una conexión con una entrada digital, por ejem-
plo, si ocurre un fallo en el equipo periférico.

Existen otras funciones complementarias que funcionan a través de salidas digitales


especificas:

2-10 Manual de Programación Básica RAPID


Seguridad

• ERROR – indica que ha ocurrido un fallo en el sistema robot.


• CYCLE ON – indica que el robot está ejecutando un programa.
• MotOnState/ MotOffState– indica que el robot está en el modo MOTORES ON /
MOTORES OFF.
• EmStop - indica que el robot está en el estado de paro de emergencia.
• AutoOn- indica que el robot está en el modo automático.

8 Riesgos relacionados con los Dispositivos Finales del Manipulador

8.1 Pinza

Si se utiliza una pinza para sujetar una pieza de trabajo, se deberá impedir que el sis-
tema pueda soltar la pieza involuntariamente.

8.2 Herramientas/piezas de trabajo

El sistema deberá permitir que se puedan desactivar las herramientas, como desbarba-
doras, etc, con toda seguridad. Asegurarse de que las vallas están cerradas hasta que
las desbarbadoras detengan su rotación.

Las pinzas deberán diseñarse de forma que nunca sueltan las piezas con las que están
trabajando, incluso si ocurre un fallo en la alimentación o si un problema en el sistema
de control. Sin embargo, debe haber una posibilidad de soltar las piezas mediante una
operación manual.

8.3 Sistemas hidráulicos/neumáticos

Existen unas normas de seguridad especiales relativas a los sistemas hidráulicos y neu-
máticos.

Debido a que en estos sistemas puede permanecer energía residual, después del apa-
gado del sistema se deberá tomar especial precaución.

La presión en los sistemas hidráulicos y neumáticos deberá liberarse antes de iniciar


cualquier reparación en los mismos. El efecto de gravedad puede provocar que el sis-
tema suelte el objeto o pieza que está sujetando. En casos de emergencia se deberán
utilizar las válvulas de vaciado. Se deberán utilizar tornillos de seguridad especiales
para impedir que las herramientas, etc, caigan por efecto de la gravedad.

Manual de Programación Básica RAPID 2-11


Seguridad

9 Posibles riesgos debidos a problemas de funcionamiento


Si se interrumpe el proceso, debido a problemas aparecen otros riesgos además de los
asociados al funcionamiento normal que deben ser solucionados manualmente.

Cualquier acción de solución del problema deberá ser ejecutada únicamente por perso-
nal experimentado que esté familiarizado con toda la instalación así como con los ries-
gos especiales asociados con sus diferentes partes.

El sistema de robot industrial es una herramienta flexible que puede ser utilizada para
diversas aplicaciones industriales diferentes. Cualquier tipo de trabajo deberá ser lle-
vado a cabo de manera profesional y de acuerdo con las normas de seguridad en vigor.

10 Posibles riesgos relacionados con la Instalación y el Servicio


Con el fin de prevenir accidentes y daños durante la instalación del sistema robot, se
deberá siempre seguir las normas vigentes del país correspondiente así como las ins-
trucciones de ABB Flexible Automation SA. Además, se deberá prestar especial aten-
ción a los siguientes puntos:

• El instalador del sistema debe poder asegurar que todos los circuitos utilizados en las
funciones de seguridad están supervisados, de acuerdo con las normas vigentes refe-
rentes a esta función.
• Se deberá seguir cuidadosamente las instrucciones del Manual de Producto/Instala-
ción del Controlador.
• La alimentación del robot deberá estar conectada de forma que pueda ser desactivada
desde el exterior del área de trabajo del robot.
• El instalador del sistema debe asegurar que todos los circuitos utilizados por la fun-
ción de paro de emergencia están protegidos de manera segura, de acuerdo con las
normas vigentes referentes a la función de paro de emergencia.
• Los pulsadores de paro de emergencia deben estar situados en lugares fácilmente
accesibles, de forma que se puedan activar con rapidez.
• Las zonas de seguridad por las que se debe pasar antes de penetrar en el área de trabajo
del robot deberán estar protegidas mediante las barreras fotoeléctricas o alfombras
sensibles.
• Se recomienda que el usuario utilice mesas giratorias o soportes similares para man-
tenerse así fuera del área de trabajo del robot.
• Los encargados de las operaciones de funcionamiento deben asegurarse de que las
instrucciones de seguridad de la instalación correspondiente están disponibles.
• El personal de la instalación del robot deberá tener la formación adecuada al sistema
robot del que se trata, así como en materia de seguridad referente a dicho sistema.

Aunque la búsqueda de averías puede, en ciertas ocasiones, tener que realizarse mien-
tras la alimentación está activada, el robot deberá estar desconectado (poniendo el inte-
rruptor principal en posición OFF) cuando se reparen los fallos o se conectan o
desconectan las unidades.

2-12 Manual de Programación Básica RAPID


Seguridad

El usuario deberá recordar que aunque la alimentación del robot esté desacti-
vada, todavía existen riesgos de accidente.

• Los ejes del robot están afectados por la fuerza de gravedad cuando los frenos están
liberados. Además del riesgo de ser golpeado por las piezas móviles del robot, el
usuario puede correr el riesgo de ser aplastado por la barra paralela.
• La energía almacenada en el robot con el fin de compensar ciertos ejes, puede libe-
rarse si se desmonta el robot o alguno de sus componentes.
• Al desmontar/montar las unidades mecánicas, el usuario deberá ir con cuidado con
las piezas que puedan caer.
• Ojo con la energía almacenada ( Condensadores del rectificador) y las piezas calien-
tes situadas dentro del controlador.
• Las unidades situadas dentro del controlador, por ejemplo los módulos de E/S, pue-
den ser alimentadas con una alimentación externa.

11 Riesgos asociados con los elementos bajo tensión del sistema


Controlador

Existe un peligro de alta tensión asociado con los siguientes componentes del robot:

- Alimentación principal / interruptor principal


- La unidad de potencia / Contactores de la maniobra
- La fuente de alimentación del sistema (55 V CA o 230 V CA)
- El rectificador (260 V CA y 370 V CC. Atención: ¡Condensadores!)
- Las unidades de accionamiento (370 V CC)
- El enchufe de servicio (115/230 V CA)
- Las fuentes de alimentación de las herramientas o de los dispositivos de meca-
nizado.
- La alimentaciones externa conectada al armario de control puede permanecer
conectada incluso cuando el robot ha sido desconectado de la red.
- Conexiones adicionales

Manipulador

Existe un peligro de alta tensión asociado con el manipulador en:

- La alimentación de los motores (hasta 370 V AC)


- Las conexiones del usuario para las herramientas u otros componentes de la ins-
talación (véase en el manual de Producto, el capítulo Instalación del Manipu-
lador. Máx. 230 V CA)

Manual de Programación Básica RAPID 2-13


Seguridad

Herramientas, dispositivos para la manipulación de materiales, etc.

Las herramientas, dispositivos para la manipulación de materiales, etc., pueden estar


bajo tensión incluso si el sistema robot está desconectado. Los cables de alimentación
que están en movimiento durante el proceso de trabajo pueden resultar dañados.

12 Liberación de emergencia del brazo mecánico


Si se produce una situación de emergencia, en donde una persona se encuentra atrapada
por el brazo mecánico del robot, se deberán pulsar los pulsadores de liberación de los
frenos en el momento en que se pueda mover para liberar a la persona. En los robots
pequeños (IRB 140, 1400 y 2400) bastará la fuerza de una persona para mover el brazo
del robot, en los robots más grandes se deberá utilizar un dispositivo de elevación, tal
como una grua.

Si el sistema de control, no esta conectado a la red, los frenos no se podrán liberar y por
consiguiente, no bastará la fuerza manual para mover el brazo mecánico.

Antes de liberar los frenos, asegurarse de que el peso de los brazos del manipula-
dor, no aumente la presión ejercida sobre la persona.

13 Cadena de control de seguridades del sistema de control S4P


La cadena de control de seguridades está basada en un sistema de cadenas de seguridad
eléctricas duales que interaccionan con el computador del robot y que habilitan el modo
MOTORES ON.

Las cadenas de seguridad eléctricas están formadas de varios interruptores conectados


de forma que todos ellos deben estar cerrados antes de que el robot pueda pasar al modo
MOTORES ON. El modo MOTORES ON significa que la tensión ha sido aplicada a
los motores.

Si algún contacto de la cadena de seguridad de funcionamiento se encuentra abierto, el


robot siempre regresará al modo MOTORES OFF. El modo MOTORES OFF significa
que la alimentación a los motores está desactivada y que los frenos están aplicados.

Las posiciones de los interruptores están indicados por los LEDs situados en el frontal
de la unidad panel en el armario de control, y también podrá visualizarse en la unidad
de programación (Ventana de E/S/Ver/Seguridades).

Después de un paro, el interruptor deberá ser rearmado en la unidad que ha provocado


al paro, antes de que se ordene el robot que arranque de nuevo, o sea que pase al estado
de MOTOR ON.

2-14 Manual de Programación Básica RAPID


Seguridad

Cadena de control de seguridades

Chain 1 Chain 2
Emy.stop chain Run chain Emy.stop chain Run chain
Auto T1/T2 Auto T1/T2
+24V 0V
Enable Enable
device device
AMS AMS
Supervision
Main TMS Main TMS
panel panel

Teach Teach
Motor ON Motor ON
pendant pendant

Software OK Software OK
Cat.0 Cat.0
Hardware OK Hardware OK
Cat.1 Cat.1
GMS GMS

AMS = Auto Mode Stop


TMS = Test Mode Stop
GMS = General Mode Stop

+24V
Purged Purged

+24V

14 Limitación de la Responsabilidad
La información anterior referente a la seguridad no debe ser considerada como una
garantía total por parte de ABB de que el robot industrial no provocará ningún daño o
accidente incluso si se han respetado todas las instrucciones de seguridad.

15 Información relacionada
Descrita en:
Instalación de los dispositivos Manual de Producto - Instalación y
de seguridad Puesta en Servicio
Cambio de los modos del robot Guía del Usuario - Puesta en marcha
Limitación del área de trabajo Manual de Producto - Instalación y
Puesta en Servicio

Manual de Programación Básica RAPID 2-15


Seguridad

2-16 Manual de Programación Básica RAPID


Puesta en marcha
INDICE
Página

1 Puesta en marcha..................................................................................................... 3
1.1 Errores ocurridos en el proceso de la puesta en marcha ................................. 4
2 El Panel de Control.................................................................................................. 5
3 Selección del Modo de Funcionamiento................................................................. 6
3.1 Modo de funcionamiento automático ............................................................
(modo de funcionamiento en producción) ............................................................. 6
3.2 Modo de funcionamiento manual a velocidad reducida ................................
(modo de programación)........................................................................................ 6
3.3 Modo de funcionamiento manual a velocidad total (modo de prueba)........... 6
4 Activación de la Alimentación a los Motores ........................................................ 7
5 Paros de Emergencia ............................................................................................... 8
5.1 Activación del pulsador de paro de emergencia ............................................. 8
5.2 Reinicialización después de un paro de emergencia ....................................... 8
6 La Unidad de Programación .................................................................................. 9
6.1 Entrada de texto utilizando la unidad de programación.................................. 11
7 Gestión de los errores .............................................................................................. 12
7.1 Confirmación de un mensaje de error ............................................................. 12
7.2 Posibles sugerencias destinadas a corregir un error........................................ 12
7.3 Recepción de los mensajes de aviso ............................................................... 13

Guía del Usuario 3-1


Puesta en marcha

3-2 Guía del Usuario


Operatividad Básica

Operatividad Básica

1 Puesta en marcha

Antes de proceder a la puesta en tensión del sistema, se deberá comprobar que no se


encuentre nadie dentro del área de trabajo protegida en torno al robot.

0
• Activar el interruptor principal 1

El sistema procede a una comprobación automática del hardware del robot. Una vez se ha termi-
nado la comprobación y en el caso en que no se hayan encontrado errores en el sistema, aparecerá
un mensaje (véase la Figura 1) en el vis ualizador de la unidad de programación.

Bienvenido al IRB 6400-0000


BaseWare OS 4.0

ABB Robotics Products AB


(c) Copyright 1993

Figura 1 El mensaje de bienvenida que aparece después de la puesta en marcha del sistema.

En el modo de funcionamiento automático, al cabo de unos segundos aparecerá la ventana


de producción.

El robot suele ponerse en marcha con el mismo estado en que estaba en el momento en que
se desconecto el sistema. El indicador de punto de arranque (PP) permanece en el mismo
lugar y todas las salidas digitales se activan en el valor en que estaban antes de la desco-
nexión del sistema o bien en el valor especificado en los parámetros del sistema. Cuando el
programa es rearrancado, la operación será considerada como un paro-arranque normal:

- El robot regresa lentamente a la trayectoria programada (en el caso en que haya una
desviación) y luego continua en la trayectoria programada.
- Los datos y valores de movimiento son los mismos que los de antes de la desactiva-
ción del sistema.
- El robot continuará reaccionando con las interrupciones.
- Las unidades mecánicas que estaban activadas antes de la desconexión del sistema
serán automáticamente activadas al arrancar el programa.
- Los procesos de soldadura al arco y de soldadura por puntos serán automáticamente
rearrancados. Pero si el cambio de los datos de soldadura acababa de ejecutarse en el
momento del fallo de tensión, los nuevos datos se activarán al comienzo del siguiente
cordón de soldadura.

Manual de Programación Básica RAPID 3-3


Operatividad Básica

- Limitaciones:
- Todos los archivos y los canales serie están cerrados (esto puede ser gestionado
por el programa del usuario).
- Todas las salidas analógicas están activadas a 0 y el Servo suave/Ajuste servo
está activado en los valores por defecto (esto puede ser gestionado por el pro-
grama del usuario).
- La aplicación WeldGuide no podrá ser rearrancado.
- Los ejes independientes no podrán ser rearrancados.
- En el caso en que el fallo de alimentación ocurra durante un movimiento en una
rutina de tratamiento de interrupciones o en el gestor de errores, el rearranque
de la trayectoria no será posible.
- En el caso en que la ejecución del programa está en curso cuando la CPU está
muy ocupada, hay pocas posibilidades de que haya tiempo suficiente como para
realizar correctamente el proceso de apagado del sistema en el momento del
fallo de alimenatción. El robot en este caso indicará al usuario que el rearranque
no es posible.

1.1 Errores ocurridos en el proceso de la puesta en marcha

Durante todo el proceso la secuencia de la puesta en marcha, la funcionalidad del robot


son comprobadas de forma exhaustiva. Si en este momento ocurre un error, éste que-
dará registrado bajo la forma de un mensaje de texto y aparecerá en el visualizador de
la unidad de programación y será registrado en la lista de eventos del robot. Para encon-
trar más información sobre el diagnóstico de las averías, véase el Manual de Producto.

3-4 Manual de Programación Básica RAPID


Operatividad Básica
2 El Panel de Control
Las funciones del panel de control están descritas en la Figura 2.
S4P
Indicador Pulsador de Selector modo
de Purga MOTOR ON funcionamiento

Interruptor Interruptor de los Parada de Pulsador


de Contador
Principal accionamientos emergencia
(opcional) MOTOR OFF de tiempo

S4C

100%
Pulsador MOTOR ON
e indicador luminoso Selector de modo de funcionamiento

Contador de tiempo de funcionamiento


Paro de emergencia Indica el tiempo de funcionamiento
Si está apretado, pulsarlo del manipulador (frenos liberados)
para liberar la función de
paro de emergencia
MOTOR ON
Luz continua = Listo para la ejecución del programa
Luz interm. rápida (4Hz) = El robot no está sincronizado o los cuentarevoluciones no están actualizados
Nota: Los motores han sido activados
Luz interm. lenta (1 Hz) = Uno de los paros de la cadena de seguridades externas está activado
Nota: Los motores han sido desactivados

Figura 2 El panel de control está situado en la parte delantera del armario de control.

Manual de Programación Básica RAPID 3-5


Operatividad Básica

3 Selección del Modo de Funcionamiento


Para seleccionar el modo de funcionamiento deseado se deberá utilizar el selector de
modo de funcionamiento.

3.1 Modo de funcionamiento automático (modo de funcionamiento en producción)

Cuando el robot está en el modo de funcionamiento automático, es muy impor-


tante que nadie penetre en el espacio protegido que rodea el robot, ya que se
podrían provocar daños al personal.
• Colocar el selector del modo de operación en la posición .

El modo automático sirve para ejecutar los programas en producción. En este modo, el
dispositivo de habilitación de la unidad de programación queda desconectado y las fun-
ciones utilizadas para editar los programas están bloqueadas.

3.2 Modo de funcionamiento manual a velocidad reducida (modo de programación)

• Girar el selector de modo de funcionamiento a la posición .

En el caso en que la función de control de funcionamiento sostenido esté activada (la


función está disponible mediante un parámetro del sistema), la ejecución del programa
se detendrá en cuanto se suelte la tecla de control de funcionamiento sostenido en la
unidad de programación.

El modo de funcionamiento manual a velocidad reducida se utiliza para la programa-


ción y cuando se trabaja dentro del área de trabajo del robot. Cuando el sistema está en
este modo, las unidades externas no podrán ser controladas por control remoto.

3.3 Modo de funcionamiento manual a velocidad total (modo de prueba)


Cuando el sistema está en el modo de funcionamiento manual a 100%, el robot se
puede mover a su máxima velocidad. Este modo de funcionamiento deberá ser uti-
lizado únicamente por personal experimentado, ya que se podrían generar daños
al personal.
100%
• Colocar el selector de modo de funcionamiento en la posición .
La función de control de funcionamiento sostenido está ahora activada, es decir, que la
ejecución del programa se detendrá en cuanto se suelte el pulsador de Funcionamiento
Sostenido de la unidad de programación.
El modo de funcionamiento manual a velocidad total se utiliza únicamente cuando se
llevan a cabo pruebas en el programa del robot a velocidad total. En este modo, las uni-
dades externas no podrán ser controladas por control remoto.

3-6 Manual de Programación Básica RAPID


Operatividad Básica

4 Activación de la Alimentación a los Motores


• En el modo de funcionamiento automático, apretar el pulsador Motors On del panel
Dispositivo de control.
de habilit. • En el modo de funcionamiento manual, se pasa al modo MOTORES ON apretando
el dispositivo de habilitación de la unidad de programación en su posición interme-
dia.

Si se suelta el dispositivo de habilitación y si se vuelve a pulsar en el espacio de medio


segundo, el robot no regresará al estado MOTORES ON. En el caso que esto ocurra,
se deberá primero liberar el dispositivo de habilitación y luego volver a apretarlo en
su posición intermedia.

Manual de Programación Básica RAPID 3-7


Operatividad Básica

5 Paros de Emergencia

5.1 Activación del pulsador de paro de emergencia

Los pulsadores de paro de emergencia se encuentran en el panel de control y en la unidad de


programación. Hay otras formas de activar un paro de emergencia, pero esto dependerá de la
instalación del robot.

Cuando el paro de emergencia está activado, la alimentación a los motores queda cortada
y la ejecución del programa se detiene.

5.2 Reinicialización después de un paro de emergencia

• En primer lugar se deberá determinar el motivo que ha provocado el paro de emer-


gencia y solucionarlo.
• Rearmar el paro de emergencia apretando el pulsador del panel, de acuerdo con las
indicaciones de la Figura 3.
(Pulsadores distintos según el controlador).

250 mm/s

Pulsador MOTORES ON
100%

Pulsador 100%

M MOTORES OFF
~

Figura 3 Antes de colocar el robot en el estado MOTORES ON se deberá rearmar el paro de


emergencia.

3-8 Manual de Programación Básica RAPID


Operatividad Básica

6 La Unidad de Programación
A continuación se describe la unidad de programación, véase la Figura 4.
P5 Control de
funcionamiento
P4
sostenido
Dispositivo de
7 8 9 habilitación
4 5 6
1 2 3
Palanca de
mando
Visualizador 1 0
2

P1 P2

P3 Pulsador de
paro de
emergencia

Figura 4 La unidad de programación sirve para operar el robot.

Movimiento: Sirve para mover el robot.

Programa: Sirve para programar y para realizar las pruebas de los


programas.

Entradas/Salidas: Sirve para operar de forma manual las


señales de entrada y salida conectadas al robot.

Varios: Otras ventanas, es decir, las ventanas de los Parámetros del


Sistema, Servicio, Producción y Administrador de Archivos.

Paro: Detiene la ejecución del programa.

Contraste: Ajuste del contraste del visualizador.

Teclas del menú: Sirven para visualizar los menús que contienen
diferentes comandos.

Teclas de función: Sirven para seleccionar los diferentes comandos


directamente.

Manual de Programación Básica RAPID 3-9


Operatividad Básica

Unidad de Movimiento: Pulsar la tecla para mover el robot u


otras unidades mecánicas.

Tipo de movimiento: Apretar la tecla para seleccionar como se


desea mover el robot, en modo reorientación o lineal.

1 Tipo de movimiento: Movimiento eje a eje. 1 = ejes 1-3,


2 2 = ejes 4-6

Incremento: Movimiento por incrementos activado/


desactivado.

Lista: Pulsar la tecla para mover el cursor de una parte de la ventana


a otra (separadas normalmente entre sí por una línea doble).

Página anterior/siguiente: Pulsar la tecla para visualizar


la página anterior o la siguiente.

Borrar: Sirve para borrar los datos seleccionados en el visualizador

Entrar: Pulsar la tecla para la validación de los datos.

Flechas de desplazamiento vertical del cursor: Pulsar las flechas


para mover el cursor hacia arriba y hacia abajo.

Flechas de desplazamiento horizontal del cursor: Pulsar las


flechas para mover el cursor hacia la derecha o hacia la izquierda.

P1 P2 P3 Teclas definidas para el usuario: Para definir la utilidad de


las teclas, véase el capítulo 10, Parámetros del Sistema.
(P5)
(P4)

3-10 Manual de Programación Básica RAPID


Operatividad Básica

6.1 Entrada de texto utilizando la unidad de programación

Para nombrar archivos, rutinas, datos, etc., se puede introducir el texto utilizando la
unidad de programación. Dado que no hay un teclado de caracteres disponible, se
deberá usar el teclado numérico de una forma especial (véase la Figura 5).

Caracteres seleccionados
Expresión
7 8 9
4 5 6
1 2 3
0
789 ABC MNO YZ+ :_
456 DEF PQR -<> [](
123 GHI STU */, ]{}
-0. JKL VWX ?=& %&"

A-a <- -> Cancela OK

Figura 5 La ventana de diálogo utilizada para la introducción de texto.

Las teclas del teclado numérico corresponden a los caracteres seleccionados en el


visualizador.

• Seleccionar un grupo de caracteres apretando las teclas de función -> o <-.


• Pulsar la tecla correspondiente en el teclado numérico. Al seleccionar el tercer grupo
de caracteres (según se ve en la Figura 5), el 7 corresponde a la M, el 8 a la N, el 9 a
la O, etc.
• Mover el cursor hacia la derecha o hacia la izquierda utilizando la flecha de despla-
zamiento hacia la izquierda o la flecha de desplazamiento hacia la derecha .
• Eliminar el carácter situado delante del cursor apretando la tecla Borrar .
• Pulsar la tecla A-a para pasar de mayúsculas a minúsculas.
• Una vez finalizada la introducción de texto, pulsar la tecla OK.

Manual de Programación Básica RAPID 3-11


Operatividad Básica

7 Gestión de los errores


Cuando se produce un error, aparecerá un mensaje de error en lenguaje no abreviado
en el visualizador de la unidad de programación (véase la Figura 6). En el caso en que
ocurran varios errores simultáneamente, el error que ha sido generado en primer lugar
será seleccionado.

Error: 50028 Movimiento


Error de movimiento
Movimiento realizado en una dirección
incorrecta, al estar un eje fuera del
área de trabajo.

1(1)
Lista 50028 Error de movimiento 0810 09:25.30

INFO OK

Figura 6 El visualizador indicará un mensaje de error en lenguaje no abreviado tan pronto como
ocurra un error en el sistema.

Todos los errores y los cambios de estado quedan también registrados en una lista del
sistema con la fecha y la hora en que ocurren. Para una información más detallada sobre
estas listas, véase Servicio en el Capítulo 11 de este manual.

7.1 Confirmación de un mensaje de error

• Pulsar la tecla OK.

La ventana que se estaba visualizando antes de que ocurriera el error volverá a ser
visualizada otra vez. Si el usuario desea consultar un mensaje de error posteriormente,
podrá hacerlo buscándolo en la lista correspondiente (véase Servicio en el Capítulo 11
de este manual).

7.2 Posibles sugerencias destinadas a corregir un error

• Pulsar la tecla INFO.

Aparecerá visualizada información referente a como se puede corregir el error así como
el motivo que ha originado el error (véase la Figura 7).

3-12 Manual de Programación Básica RAPID


Operatividad Básica

Error: 50028 Movimiento


Error de movimiento
Movimiento realizado en una dirección
incorrecta, al estar un eje fuera del
área de trabajo.

Usar la palanca de mando para situar el


eje implicado dentro del área de
trabajo.

Lista OK

Figura 7 Pulsar la tecla Info para llamar las posibles sugerencias para la corrección de un error.

• Pulsar la tecla Lista para visualizar la lista de errores.

7.3 Recepción de los mensajes de aviso

Algunas veces, el sistema podrá visualizar un mensaje o una información de aviso.


Este mensaje aparecerá visualizado bajo la forma de una ventana de alerta minimizada,
ocultando así sólo una pequeña parte de la ventana en que se está trabajando.

• Aceptar el mensaje pulsando la tecla Enter .

Manual de Programación Básica RAPID 3-13


Operatividad Básica

3-14 Manual de Programación Básica RAPID


Movimiento
INDICE
Página

Movimiento ........................................................................................................................ 3
1 Generalidades .................................................................................................................. 3
1.1 La ventana de Movimiento .................................................................................... 4
1.2 Lectura de la posición actual ................................................................................. 4
1.3 De qué manera el movimiento de la palanca de mando afecta .............................
a los movimientos del robot.......................................................................................... 5
1.4 Bloqueo de la palanca de mando ........................................................................... 5
1.5 Supervisión de Movimiento................................................................................... 6
2 Movimiento del Robot..................................................................................................... 7
2.1 Movimiento del robot a lo largo de uno de los ejes de coordenadas de la base .... 7
2.2 Movimiento del robot en la dirección de la herramienta....................................... 8
2.3 Reorientación de la herramienta ............................................................................ 10
2.4 Alineación de una herramienta sobre un eje de coordenadas................................ 10
2.5 Movimiento del robot en la dirección del objeto de trabajo.................................. 11
2.6 Movimiento del robot siguiendo uno de los ejes de coordenadas mundo ............. 14
2.7 Utilización de una herramienta estacionaria.......................................................... 14
2.8 Movimiento del robot eje por eje .......................................................................... 15
2.9 Movimiento por incrementos................................................................................. 15
2.10 Movimiento de un eje no sincronizado................................................................ 16
3 Movimiento de los Ejes Externos................................................................................... 17
3.1 Selección de las unidades externas........................................................................ 17
3.2 Movimiento de las unidades externas eje por eje .................................................. 18
3.3 Movimiento de los ejes externos coordinados....................................................... 18
3.4 Movimiento de unidades externas con modelos dinámicos .................................. 18

Guía del Usuario 4-1


Movimiento

4-2 Guía del Usuario


Movimiento
Movimiento

1 Generalidades
La palanca de mando sirve para mover el robot. La palanca de mando dispone de tres
grados de libertad que le permite mover el robot en tres direcciones distintas
simultáneamente. La velocidad del robot es proporcional a la deflexión de la palanca de
mando, con lo cual, cuanto mayor sea la deflexión de la palanca de mando, mayor será la
velocidad del robot (sin embargo, esta velocidad nunca excederá los 250 mm/seg.).

La palanca de mando podrá utilizarse independientemente de la ventana que se encuentra


abierta en el momento. Sin embargo, no se podrá utilizar la palanca de mando para mover
el robot en las siguientes situaciones:

- Cuando el robot está en el modo automático .


- Cuando el robot está en el estado MOTORES DESACTIVADOS.
- Cuando la ejecución del programa está en curso.

En el caso en que algún eje esté fuera de su área de trabajo, sólo se podrá mover para hacer
regresar el eje dentro del área de trabajo.

La función de la palanca de mando podrá leerse y cambiarse desde la ventana de


Movimiento. Algunos de los valores podrán también ser cambiados directamente
utilizando las teclas de movimiento de la unidad de programación, véase en la Figura 1.

Robot Reorientación Ejes 1, 2, 3

1
2

Unidad externa Lineal Ejes 4, 5, 6

Figura 1 Los indicadores luminosos situados encima de las teclas de movimiento indican la
selección que se está utilizando.

El robot o la unidad externa empezará a moverse inmediatamente en cuanto se mueva


la palanca de mando. El usuario deberá asegurarse de que no se encuentre nadie
dentro del área protegida en torno al robot y también que los valores de movimiento
para el robot sean correctos. Un descuido podría originar daños o accidentes al
personal o al equipo.

1.1 La ventana de Movimiento

• Pulsar la tecla de Movimiento para abrir la ventana correspondiente.

La ventana visualizará los datos de movimiento que se están utilizando para el movimiento
así como la posición actual del sistema robot. Véase el ejemplo de la Figura 2.

Guía del Usuario 4-3


Movimiento

Movimiento Pos robot:

Unidad: Robot x: 1234.5


Movimiento:Lineal y: -244.9 Posición
z: 12.8 actual
Q1: 0.7071
Datos Coord: Base Q2: 0.0000
de movimiento Herram: herram0... Q3: 0.0000
actuales Wobj: wobj0... Q4: -0.7071
Movimiento
Bloqueo Joystick: Ninguno resultante de
Incremento: No x y z diferentes
deflexiones de la
Mundo Base Herram Wobj palanca de mando

Figura 2 Definición de los diferentes datos de movimiento en la ventana de Movimiento.

1.2 Lectura de la posición actual

La posición actual del robot aparece visualizada en la ventana de Movimiento (véase la


Figura 2).
En los tipos de movimiento Lineal o Reorientación, aparecen visualizados la posición y
la orientación de la herramienta con respecto al sistema de coordenadas del objeto de
trabajo seleccionado, WObj (independientemente del tipo de sistema de coordenadas
utilizado).
En el tipo de movimiento Eje-por-eje con el Robot como unidad seleccionada, aparecen
visualizadas las posiciones de los ejes del robot en grados respecto a la posición de
calibración de los ejes respectivos.
Cuando se mueve una unidad externa, aparece visualizada la posición de los ejes. En el
caso de ejes lineales, la posición aparece visualizada en mm. respecto a la posición de
calibración. Para los ejes de rotación, la posición aparece visualizada en grados respecto
a la posición de calibración.
Cuando una unidad no está sincronizada, no aparece visualizada ninguna posición.

4-4 Guía del Usuario


Movimiento

1.3 De qué manera el movimiento de la palanca de mando afecta a los movimientos del
robot

El campo que indica las diferentes deflexiones de la palanca de mando visualiza como
las principales direcciones de la palanca de mando están vinculadas a los ejes o a las
direcciones de las coordenadas. Referirse al ejemplo de la Figura 3.

Nota La relación entre la deflexión de la palanca de mando y el movimiento del robot


podrá cambiarse en los parámetros del sistema. Todas las figuras de este manual se
refieren a la configuración estándar.

X-
x y z

Y- Y+
Z+ Z-

X+
Figura 3 La dirección de los movimientos asociados a cada deflexión de la palanca de mando aparece
visualizada en la ventana de Movimiento.

1.4 Bloqueo de la palanca de mando

El sistema permite que se pueda inhabilitar las deflexiones de la palanca de mando en


ciertas direcciones.

• Seleccionar el campo Bloqueo Joystick (véase la Figura 4).


• Seleccionar los ejes de la palanca de mando que se desea inhabilitar apretando la tecla
de función correspondiente.

Habilitar todos los ejes apretando la tecla de función Ninguno.


Unit: Robot x: 1234.5
Motion: Linear y: -244.9 m
z: 12.8 m
Q1: 0.7071 m
Coord: Base Q2: 0.0000 m
Herram: herram0... Q3: 0.0000 m
Wobj: wobj0... Q4: -0.7071 m

Bloqueo Joystick:
Incremento: No x y z

Ninguno

Figura 4 Una palanca de mando con movimiento de rotación, hacia arriba y hacia abajo inhabilitados.

Guía del Usuario 4-5


Movimiento

2 Movimiento del Robot

2.1 Movimiento del robot a lo largo de uno de los ejes de coordenadas de la base

• Seleccionar las teclas respectivamente, para poder


mover el robot en línea recta.
• Seleccionar el campo Coord (véase la Figura 5).
• Pulsar la tecla de función Base.

Special

Jogging Robot pos:

Unit: Robot x: 1234.5 mm


Motion: Linear y: -244.9 mm
z: 12.8 mm
Q1: 0.7071
Coord: Base Q2: 0.0000
Herram: herram0... Q3: 0.0000
Wobj: wobj0... Q4: -0.7071

Bloqueo Joystick: Ninguno


Incremento: No x y z

Mundo Base Herram Wobj

Figura 5 Especificación del sistema de coordenadas en la ventana de Movimiento.

El robot moverá el Punto Central de la Herramienta (TCP) siguiendo los ejes de


coordenadas de la base (véase la Figura 6).

X-

Z.

Y- Y+

Y Z+ Z-

X X+

Figura 6 Movimiento lineal en el sistema de coordenadas de la base.

2.2 Movimiento del robot en la dirección de la herramienta

• Seleccionar las teclas respectivamente, para mover el

4-6 robot en línea recta. Guía del Usuario


Movimiento
• Seleccionar el campo Coord (véase la Figura 7).
• Pulsar la tecla de función Herram.
Special

Jogging Robot pos:

Unit: Robot x: 1234.5 mm


Motion: Linear y: -244.9 mm
z: 12.8 mm
Q1: 0.7071
Coord: Herram Q2: 0.0000
Herram: herram0... Q3: 0.0000
Wobj: wobj0... Q4: -0.7071

Bloqueo Joystick: Ninguno


Incremento: No x y z

Mundo Base Herram Wobj

Figura 7 Especificación del sistema de coordenadas en la ventana de Movimiento.

La herramienta que ha sido utilizada por última vez al mover el robot o la última
herramienta utilizada para la ejecución del programa será la que el sistema seleccionará
automáticamente (véase la Figura 8).

X-

Y- Y+
Y Z+ Z-
Z

X X+
Figura 8 Movimiento lineal en el sistema de coordenadas de la herramienta.

Si el usuario desea cambiar la herramienta deberá:

• Seleccionar el campo Herram (véase la Figura 9).


z: 12.8 mm
Q1: 0.7071
Coord: Herram Q2: 0.0000
Herram: pinza1... Q3: 0.0000
Wobj: wobj0... Q4: -0.7071

Bloqueo Joystick: Ninguno


Incremento: No x y z

Figura 9 Escoger una herramienta seleccionando el campo Herram.

• Pulsar la tecla Enter .


• Seleccionar la herramienta deseada de la ventana de diálogo que aparece a
continuación en el visualizador. (Tool0 en la ventana de diálogo corresponde al centro
de la brida de montaje).

Guía del Usuario 4-7


Movimiento

File Edit View Test

Seleccionar datos deseados de la lista:


1(2)
pinza1 pinza2 pinza3
herram0 herram1

Nuevo ... Cambiar ...Definir ... Cancelar OK

Figura 10 Cambio o adición de una herramienta.

Para crear una herramienta nueva, se deberá:

• Pulsar la tecla Nuevo.

Para cambiar los valores de una herramienta, se deberá:

• Pulsar las teclas:


- Cambiar, para poder introducir el valor manualmente.
- Definir, para utilizar el robot como instrumento de medida del sistema de
coordenadas de la herramienta.

Para más información, véase el Capítulo 10 referente a Calibración.

• Pulsar la tecla OK para finalizar el diálogo.

2.3 Reorientación de la herramienta

• Seleccionar las teclas respectivamente, para realizar

la reorientación de la herramienta.

La herramienta se reorienta respecto a los ejes del sistema de coordenadas que se ha


seleccionado. El Punto Central de la Herramienta (TCP) de la herramienta seleccionada
no se moverá (véase la Figura 11).

4-8 Guía del Usuario


Movimiento

X-

Y- Y+
Y Z+ Z-
Z

X+
X
Figura 11 Reorientación respecto a los ejes del sistema de coordenadas de la herramienta.

2.4 Alineación de una herramienta sobre un eje de coordenadas

La dirección Z de una herramienta podrá alinearse junto a un eje de coordenadas de un


sistema de coordenadas concreto. El ángulo entre la dirección Z de la herramienta y los
ejes de coordenadas determinan el eje de coordenadas sobre el que se deberá alinear la
herramienta; se utilizará el eje que se encuentre más cerca de la dirección Z de la
herramienta (véase la Figura 12).

TCP

Z Z
z

X Y X Y
Figura 12 La herramienta está ajustada sobre el eje Z.

Ajustar la dirección de la herramienta manualmente de forma que esté cerca de la


dirección deseada.

• Seleccionar Especial:Alinear

Aparece una ventana de diálogo en la que se visualiza el sistema de coordenadas


utilizado para la alineación (véase la Figura 13).

Guía del Usuario 4-9


Movimiento

File Edit View Test

Alinear
La alineación se inicia moviendo la palanca de mando.

La herramienta será alineada junto al eje de


coordenadas “Mundo”.

Coord: Mundo

Mundo Base Wobj OK

Figura 13 La ventana de diálogo para la alineación de la herrramienta.

Si el usuario desea cambiar el sistema de coordenadas, se deberá pulsar una de las teclas
de función Mundo, Base o Wobj.

• Para iniciar la alineación, se deberá apretar el dispositivo de habilitación y mover la


palanca de mando. La palanca de mando sirve para ajustar la velocidad. El robot se
parará automáticamente en cuanto alcance la posición deseada.
• Pulsar la tecla OK para confirmar la operación.

2.5 Movimiento del robot en la dirección del objeto de trabajo

• Seleccionar las teclas respectivamente, para mover el

robot en línea recta.


• Seleccionar el campo Coord (véase la Figura 14).
• Pulsar la tecla de función WObj.
Special

Jogging Robot pos:

Unit: Robot x: 1234.5 mm


Motion: Linear y: -244.9 mm
z: 12.8 mm
Q1: 0.7071
Coord: Wobj Q2: 0.0000
Herram: herram0... Q3: 0.0000
Wobj: wobj0... Q4: -0.7071

Bloqueo Joystick: Ninguno


Incremental: No x y z

Mundo Base Herram Wobj

Figura 14 Especificación del sistema de coordenadas en la ventana de Movimiento

El objeto de trabajo que se ha utilizado por última vez al mover el robot o que se ha

4-10 Guía del Usuario


Movimiento

utilizado por última vez en la ejecución del programa será seleccionado


automáticamente.

En el caso en que el usuario desee cambiar el objeto de trabajo, deberá:

• Seleccionar el campo WObj (véase la Figura 15).


z: 12.8 mm
Q1: 0.7071
Coord: Wobj Q2: 0.0000
Herram: herram0... Q3: 0.0000
Wobj: wobj0... Q4: -0.7071

Bloqueo Joystick: Ninguno


Incremento: No x y z

Figura 15 Escoger un objeto seleccionando el campo WObj.

• Pulsar la tecla Enter .


• Seleccionar el objeto de trabajo deseado de la ventana de diálogo que a continuación
aparece en el visualizador. (WObjO en la ventana de diálogo corresponde al sistema
de coordenadas mundo).

File Edit View Test

Seleccionar datos deseados de la lista:


1(2)
wobj1 wobj2 wobj3
wobj4

Nuevo ... Cambiar ...Definir ... Cancelar OK

Figura 16 Cambio o adición de un objeto de trabajo nuevo.

Para crear un objeto de trabajo nuevo, se deberá:

• Apretar la tecla Nuevo.

Para cambiar los valores de un objeto de trabajo, se deberá:

• Apretar las teclas:


- Cambiar, para introducir el valor manualmente
- Definir, para utilizar el robot como instrumento de medida del sistema de
coordenadas del objeto.

Para más información, véase el capítulo 10 referente a Calibración.

• Apretar OK para finalizar el diálogo.

Guía del Usuario 4-11


Movimiento

El robot se moverá a lo largo de los ejes del sistema de coordenadas del objeto (véase
la Figura 17).

X-
Z

X Y Y- Y+
Z- Z+

X+

Figura 17 Movimiento lineal en el sistema de coordenadas del objeto.

2.6 Movimiento del robot siguiendo uno de los ejes de coordenadas mundo

• Seleccionar las teclas respectivamente, para mover el


robot en línea recta.
• Seleccionar el campo Coord (véase la Figura 18).
• Pulsar la tecla de función Mundo.
Jogging Robot pos:

Unit: Robot x: 1234.5 mm


Motion: Linear y: -244.9 mm
z: 12.8 mm
Q1: 0.7071
Coord: Mundo Q2: 0.0000
Herram: herram0... Q3: 0.0000
Wobj: wobj0... Q4: -0.7071

Bloqueo Joystick: Ninguno


Incremento: No x y z

Mundo Base Herram Wobj

Figura 18 Especificación del sistema de coordenadas en la ventana de Movimiento.

El robot moverá el Punto Central de la Herramienta (TCP) siguiendo los ejes de


coordenadas de mundo (véase la Figura 19).

4-12 Guía del Usuario


Movimiento

X-

Z Y- Y+
Z+ Z-

Y
X X+

Figura 19 El movimiento del Punto Central de la Herramienta no depende del tipo de montaje del robot.

2.7 Utilización de una herramienta estacionaria

Si un TCP estacionario está activo, el objeto de trabajo se moverá de acuerdo con el


sistema de coordenadas seleccionado.

2.8 Movimiento del robot eje por eje


• Escoger el movimiento eje por eje seleccionando las teclas de movimiento
correspondientes (véase la Figura 20).
2-
5-
Ejes 1, 2, 3

1 1- 1+
2 4+ 4-
3 - 3+
6+ 6 -
Ejes 4, 5, 6
2+
5+
3-

3+ 4+
2+ 2- 5-
6+
1- 1+ 4-
6-
5+

Figura 20 Especificación de los ejes que se desean mover seleccionando los teclas de movimiento.

Sólo los ejes afectados por la deflexión de la palanca de mando se moverán, lo cual
significará que el Punto Central de la Herramienta no se moverá de forma lineal.

Guía del Usuario 4-13


Movimiento

2.9 Movimiento por incrementos

El movimiento por incrementos sirve para ajustar la posición del robot con mucha
precisión. Ello significa que cada vez que se mueva la palanca de mando, el robot se
moverá de un paso (incremento). Si se activa la palanca de mando durante uno o más
segundos, se generará una secuencia de pasos, a un ritmo de 10 incrementos por
segundo, durante todo el tiempo que se mueva la palanca de mando.

• Seleccionar el campo Incremento (véase la Figura 21).


Coord: Wobj Q2: 0.0000
Tool: gun1... Q3: 0.0000
Wobj: frontdoor... Q4: -0.7071

Bloqueo Joystick: Ninguno


Incremento: No 1 2 3

No Pequeño Medio Grande Usuario

Figura 21 Especificación del tamaño del incremento seleccionando el campo Incremento.

• Especificar el tamaño de los incrementos utilizando las teclas de función.


- No: Movimiento normal (continuo).
- Pequeño: 0,05 mm o 0,005 grados aproximadamente por deflexión de la
palanca de mando.
- Medio: 1 mm o 0,02 grados aproximadamente por deflexión de la palanca
de mando.
- Grande: 5 mm o 0,2 grados aproximadamente por deflexión de la palanca
de mando.
- Usuario: Incrementos definidos por el usuario

El usuario podrá también utilizar la tecla de la unidad de programación para


activar y desactivar el movimiento por incrementos.

Si se desea especificar el tamaño de los incrementos definidos por el usuario, se deberá:

• Seleccionar Especial: Incrementos

Aparecerá una ventana de diálogo donde se visualizarán los valores de los incrementos
según el tipo de movimiento seleccionado (véase Figura 22).

4-14 Guía del Usuario


Movimiento

File Edit View Test

Incrementos definidos por el usuario


Cambiar el valor de los incrementos
variables según el tipo de movimiento
deseado.

Tipo de mvto Valor Límites


Lineal: 5.00 mm [0.50 - 10.0]
Ejes robot: 3.14 deg [0.01 - 0.20]
Reorientación: 0.40 deg [0.03 - 0.50]
Ejes externos: Igual que el incr. medio

Cancelar OK

Figura 22 La ventana de diálogo para la especificación de los incrementos definidos por el


usuario.

• Cambiar los valores aplicables y pulsar OK para confirmar la operación.

2.10 Movimiento de un eje no sincronizado

En el caso en que el robot o una unidad externa no esté sincronizada, el sistema sólo
podrá moverse utilizando un motor a la vez.
Como el sistema no comprueba el área de trabajo del robot, éste se moverá hasta
que sea detenido por los topes mecánicos.

3 Movimiento de los Ejes Externos

3.1 Selección de las unidades externas

Si el usuario desea utilizar más de un eje externo, éstos deberán ser seleccionados a
partir de la ventana de Movimiento:

• Seleccionar la tecla de movimiento para seleccionar las unidades

externas.
• Seleccionar el campo Unidad (véase la Figura 23).
• Mediante utilización de las teclas de función, seleccionar una unidad.

Si el usuario está utilizando más de 5 unidades externas y que no se puede encontrar la


deseada en la ventana de diálogo de las teclas de función, se deberá pulsar la tecla Enter
o y seleccionar la unidad deseada en el diálogo nuevo.

Guía del Usuario 4-15


Movimiento

Jogging Robot pos:

Unidad:= Manip1 1:23.3 Deg


Mvto: Ejes 2:37.5 Deg
3:-180.4 Deg

Coord:= Base 4:
Herram:= herram0... 5:
Wobj:= wobj0... 6:

Bloqueo Joystick:Ninguno
Incremento: No 1 2 3
Robot Manip1 Manip2 Trackm Manip3

Figura 23 .Especificación de la unidad que se desea mover en el campo Unidad.

A partir de aquí, se podrá utilizar la tecla respectivamente para pasar de la


unidad externa seleccionada en último lugar, al robot.

3.2 Movimiento de los ejes externos eje por eje

• Escoger el grupo de ejes deseado utilizando las teclas de movimiento (véase la Figura
24). Si se desea utilizar más de un eje externo, referirse al apartado 3.1 Selección de
las unidades externas.
1-
Ejes 1, 2, 3 4-

1 2- 2+
2 5- 5+
3+ 3 -
Ejes 4, 5, 6 6+ 6 -

1+
4+
Figura 24 Especificación de los ejes externos que se desean mover seleccionando las teclas indicadas.

3.3 Movimiento de los ejes externos coordinados

En el caso en que un eje esté coordinado con el robot (definido por el objeto de trabajo
seleccionado), el robot también se moverá cuando se mueva el eje. No obstante, el TCP
no se moverá respecto al objeto de trabajo.

Si se desea mover la unidad no coordinada, se deberá seleccionar un objeto de trabajo


que no esté conectado a una unidad coordenada, por ejemplo, wobj0, en el campo Wobj.

4-16 Guía del Usuario


Entradas y Salidas

INDICE
Página

1 Generalidades .................................................................................................................. 3
1.1 Ventana de Entradas/Salidas................................................................................... 3
1.2 Selección de una lista de E/S................................................................................. 4
1.3 Definición de la lista de E/S Más Comunes .......................................................... 5
2 Cambio de los Valores de Señales .................................................................................. 6
2.1 Cambio del valor de una salida digital .................................................................. 6
2.2 Cambio del valor de una señal de salida analógica o de un grupo ........................ 7
3 Visualización de Información......................................................................................... 8
3.1 Para visualizar información referente a una señal específica ................................ 8
3.2 Para visualizar una tabla de todas las señales digitales de una unidad.................. 8
3.3 Para imprimir una lista de E/S............................................................................... 9
3.4 Señales Bloqueadas ............................................................................................... 9
3.5 Recuperación de buses de E/S ............................................................................... 10

Manual de Programación Básica RAPID 5-1


Entradas y Salidas

5-2 Manual de Programación Básica RAPID


Entradas y Salidas

Entradas y Salidas

1 Generalidades
El robot puede estar equipado con señales de entrada y salida, ya sean digitales o analó-
gicas. Las señales serán nombradas y configuradas en los parámetros del sistema. Tam-
bién se les podrá asignar diferentes funciones del sistema, como por ejemplo, el arranque
del programa.

Además de todo ello, el robot ofrece la posibilidad de comunicación con impresoras y


computadores a través de canales serie y la red Ethernet.

1.1 Ventana de Entradas/Salidas

• Pulsar la tecla de Entradas/Salidas para abrir la ventana.

En la ventana se visualizará una lista de las señales o unidades disponibles. También se


proporcionará información sobre los valores de las señales. Véase el ejemplo de la Figura
1.

Archivo Editar Ver AliasIO Espec.

Entradas/Salidas
Nombre de la Todas las señales
lista de E/S Nombre Valor Tipo
4(64)
di10_1 1 DI
di10_2 0 DI
pinza1 0 DO
pinza2 1 DO
Lista de pinza3 1 DO
E/S pinza4 1 DO
nu_progr 13 GO
error_weld 0 DO

0 1

Figura 1 Ventana de Entradas/Salidas .

La información visualizada en la ventana será automáticamente actualizada cada segundo.

Manual de Programación Básica RAPID 5-3


Entradas y Salidas

1.2 Selección de una lista de E/S

• El usuario podrá elegir las señales que desea visualizar seleccionando cualquiera de las
listas del menú Ver o AliasIO

Ver:

Nombre de la lista Información en la lista


Más comunes El valor de las señales más utilizadas.
Esta lista podrá ser personalizada para adaptarse
a cualquier instalación.
Todas las señales El valor de todas las señales.
Entradas digitales El valor de todas las señales de entrada digitales.
Salidas digitales El valor de todas las señales de salida digitales.
E/S Analógicas El valor de todas las señales de entrada y salida
analógicas.
Grupos El valor de todos los grupos de señales digitales.
Seguridad El valor de todas las señales de seguridad.
Unidades El tipo y dirección de todas las unidades de E/S.

Unidad de E/S: nombre El valor y la posición de todas las señales de una


unidad. Para visualizar esta lista, se deberá:
• Seleccionar la función Ver: Unidades.
• Seleccionar la unidad deseada y pulsar la tecla
Entrar .
Grupo: nombre El valor y la posición de todas las señales de un
grupo de señales. Para visualizar esta lista, se
deberá:
• Seleccionar la función Ver: Grupos.
• Seleccionar el grupo deseado y pulsar la tecla
Entrar

AliasIO:

Nombre de la lista Información en la lista


Todas las señales El valor de todas las señales.
Entradas digitales El valor de todas las señales de entrada digitales.
Salidas digitales El valor de todas las señales de salida digitales.
Analógicas El valor de todas las señales de E/S analógicas
Grupos El valor de todos los grupos de señales digitales.

Sirve para mostrar las variables RAPID AliasIO en un programa RAPID.

5-4 Manual de Programación Básica RAPID


Entradas y Salidas

Ejemplo: “VAR signaldo alias_sal1;”

“AliasIO do_1, alias_sal1;”

Nota: La declaración VAR deberá ser global en el módulo.

Después de la ejecución de la instrucción “AliasIO do_1, alias_sal1” la señal de E/S equi-


valentes alias_sal1 podrá visualizarse a través del menú AliasIO de la misma manera que
las señales normales aparecen visualizadas en el menú Ver.

La señal alias_sal1 está activada y se podrá visualizar después de que la instrucción Alia-
sIO haya sido ejecutada y siempre y cuando el programa RAPID esté activado.

Ejemplo: Después de “Mover PP a main” la conexión equivalente se desactiva hasta la


próxima vez que la instrucción AliasIO se ejecute en el programa RAPID.

1.3 Definición de la lista de E/S Más Comunes

El usuario podrá disponer de una lista de las señales utilizadas con más frecuencia. Para
ello, deberá especificar el contenido de la lista Más Comunes.

• Seleccionar el menu Archivo: Preferencias.

Todas las señales aparecerán visualizadas. Aquellas que están incluidas en la lista Más
Comunes estarán precedidas por una X(véase la Figura 2).

Config. Más Comunes

Nombre Tipo
4(64)
di10_1 X DI
di10-2 X DI
pinza1 DO
pinza2 X DO
pinza3 DO
pinza4 DO
nu_progr X GO
error_weld DI

Result Excl Cancelar OK

Figura 2 El usuario especificará las señales que se desean incluir en la lista .


• Para añadir una señal, se deberá seleccionar una señal adecuada y pulsar la tecla Incl.
Dicha señal será entonces marcada con una X que le precede.
• Para eliminar una señal, se deberá seleccionar una señal apropiada y pulsar la tecla Excl.
Dicha señal permanecerá en la ventana, pero la X situada a la izquierda del nombre de
la señal habrá desaparecido.
• Pulsar la tecla Result ->.

A continuación, aparecerán vizualizadas las señales incluidas en la lista Más Comunes


(véase la Figura 3).

Manual de Programación Básica RAPID 5-5


Entradas y Salidas

Resultado Más Común

Nombre Tipo
4(5)
di10_1 DI
pinza1 DO
pinza2 DO
pinza3 DO
pinza4 DO

Config Arriba Abajo Cancelar OK

Figura 3 El orden de las señales en la lista podrá especificarse .


• El usuario podrá cambiar el orden de las señales utilizando las teclas Arriba y Abajo. La
señal seleccionada se moverá una posición cada vez.
• Una vez se tengan las señales con el orden deseado, pulsar la tecla OK; si se desea
regresar a la ventana de configuración Más Común, pulsar primero la tecla Config.

2 Cambio de los Valores de Señales


El equipo del robot puede resultar afectado por el cambio de un valor de una señal
(por ejemplo, podrá empezar a moverse o desplomarse). Por ello, antes de realizar
cualquier cambio, el usuario deberá asegurarse de que no haya nadie en la zona de
seguridad alrededor del robot. Una operación incorrecta podría provocar daños al
personal, al robot o al equipo.

2.1 Cambio del valor de una salida digital

• Seleccionar la salida digital.


• Seleccionar el valor deseado utilizando las teclas de función 0 o 1(véase la Figura 4).

Archivo Editar Ver

Entradas/Salidas
Todas las señales
Nombre Valor Tipo
4(64)
di10_1 1 DI
di10_2 0 DI
pinza1 0 DO
pinza2 1 DO
pinza3 1 DO
pinza4 1 DO
nu_progr 13 GO
error_weld 0 DO

0 1

Figura 4 El usuario podrá cambiar el valor de una salida digital .

5-6 Manual de Programación Básica RAPID


Entradas y Salidas

2.2 Cambio del valor de una señal de salida analógica o de un grupo de salidas

• Seleccionar la señal y pulsar la tecla de funcion Cambiar (véase la Figura 5).

Archivo Editar Ver

Entradas/Salidas
Todas las señales
Nombre Valor Tipo
4(64)
di10_1 1 DI
di10_2 0 DI
pinza1 0 DO
pinza2 1 DO
pinza3 1 DO
pinza4 1 DO
nu_progr 13 GO
error_weld 0 DO

Cambiar..

Figura 5 El usuario podrá cambiar el valor de un grupo de salidas o de una señal de salida
analógica .

Aparecerá una ventana de diálogo en la que se podrá introducir un valor .

• Especificar el valor deseado mediante el teclado numérico y pulsar la tecla OK.

El usuario también podrá cambiar el valor de un grupo de salidas, o cambiar el valor de


cada una de las señales que forman el grupo seleccionando el grupo y pulsar la tecla Entrar
y cambiar las señales una por una.

3 Visualización de Información

3.1 Para visualizar información referente a una señal específica

• Seleccionar la señal deseada en una de las listas y pulsar la tecla Entrar .

Aparecerá visualizada la siguiente información:

- el nombre de la señal
- el tipo de señal
- el valor de la señal
- la conexión física
- las E/S enlazadas (si hay alguna)
- etc.
• Pulsar la tecla OK para terminar.

3.2 Para visualizar una tabla de todas las señales digitales de una unidad

• Llamar la lista de unidades seleccionando el menu Ver: Unidades.


• Seleccionar la unidad deseada y pulsar la tecla de función Estado.

Manual de Programación Básica RAPID 5-7


Entradas y Salidas

Los valores de todas las señales digitales relacionadas con la unidad de E/S seleccionada
aparecerán visualizados (véase la Figura 6). Los valores de las señales están indicados por
1 o por 0, donde, por ejemplo, 1 equivale a +24 V y 0 equivale a 0 V.
Una “x” significa que la señal no está definida (no puede ser utilizada en elprograma),
Una señal “?” significa que el valor de la señal no puede ser leída.

EstSeñal Unidad E/S: ARCW1

DI-01 1 0 1 1 1 1 0 0
DI-09 0 0 0 1 1 1 0 1

DO-01 1 0 0 0 1 1 0 0
DO-09 0 0 0 0 0 0 ? X

OK

Figura 6 El valor de todas las señales digitales de una unidad de E/S .

• Salir de la tabla de señales pulsando la tecla OK.

5-8 Manual de Programación Básica RAPID


Entradas y Salidas

3.3 Para imprimir una lista de E/S

• Seleccionar la lista de E/S deseada a partir del menú Ver.


• Seleccionar el menu Archivo: Imprimir.

Aparecerá visualizada una ventana de diálogo (véase la Figura 7).

Impresión de Entradas/Salidas

Datos a imprimir: Todas las seña-


les

Sí No Cancelar Imprimir

Figura 7 El usuario podrá especificar la cantidad de información y el destino.

• En el campo, Añadir Info Señal, se deberá especificar lo que se desea imprimir:


- Pulsar No para imprimir la lista.
- Pulsar Si para imprimir otro tipo de información referente a las señales, como por
ejemplo, su configuración.
• Seleccionar el destino en el campo, Imprimir Sólo al Archivo:
- Pulsar No para imprimir la información en una impresora conectada al robot.
- Pulsar Sí para almacenar la información en un archivo. Aparecerá visualizada una
línea adicional con el nombre del archivo. Si se desea cambiar el nombre del
archivo, seleccionarlo y pulsar Entrar .
• Iniciar la impresión pulsando la función Imprimir.
• Pulsar OK para confirmar.

3.4 Señales bloqueadas

Cuando se bloquea una señal, la conexión existente entre el valor físico y el valor lógico
se desconecta.

- - Las señales de Entrada bloqueadas mantienen sus valores, determinados


mediante la ventana de E/S, independientemente del estado de los canales físicos
correspondientes.
- - Las señales de Salida bloqueadas podrán ser determinadas a partir de la ventana
de E/S o a partir de un programa RAPID, sin afectar el estado de los canales
físicos.

Bloqueo de señales y de grupos de señales

Manual de Programación Básica RAPID 5-9


Entradas y Salidas

Por defecto, la función de bloqueo de las E/S está inhabilitada, para habilitarla, se deberá:

• Seleccionar Editar: Habilitar tecla de función de bloqueo.

Cuando se pulsa la tecla de función Bloqueo se bloquea una señal, si la señal ha sido selec-
cionada en alguna de las listas de E/S. La tecla de función no será visible si, por alguna
razón, no es posible bloquear la señal. Para indicar que una señal está bloqueada, el valor
de la señal aparecerá visualizado entre comillas, por ejemplo, “1” o “1,23”.

Desbloqueo de las señales

Para desbloquear señales, es decir, para volver a establecer la conexión entre un valor
físico y un valor lógico, se deberá seleccionar la señal y apretar la tecla de función Des-
bloqueo.

Para desbloquear todas las señales:

Seleccionar Editar: Desbloquear todo.

3.5 Recuperación de buses de E/S

En el menú Especial el usuario encontrará el tema Buses de E/S. Seleccionar el bus


deseado y apretar la tecla de función Reinicio. Con ese comando se podrá recuperar un
bus que presentaba fallos. Esta función está disponible tanto en el modo manual como el
modo automático. (Véase la Figura 8).

5-10 Manual de Programación Básica RAPID


Programación y Pruebas

INDICE
Página

1 Creación de un Programa Nuevo................................................................................... 5


1.1 En qué consiste un programa................................................................................. 5
1.2 La ventana de Programa ........................................................................................ 6
1.3 Creación de un programa nuevo .......................................................................... 6
1.4 Carga de un programa existente ............................................................................ 7
2 Definición de las Herramientas y del Objeto de Trabajo ............................................ 7
3 Creación de Rutinas Nuevas .......................................................................................... 8
3.1 En qué consiste una rutina ..................................................................................... 8
3.2 La ventana Rutinas del Programa ......................................................................... 9
3.3 Creación de una rutina nueva ................................................................................ 10
3.4 Duplicación de una rutina...................................................................................... 12
4 Creación de nuevas instrucciones de una rutina.......................................................... 12
4.1 Selección de una rutina.......................................................................................... 12
4.2 La ventana Instrucciones de Programa ................................................................. 13
4.3 En qué consiste una instrucción............................................................................. 13
4.4 Obtención de más información referente a una instrucción .................................. 14
5 Programación .................................................................................................................. 15
5.1 Selección a partir de una Lista de Selección de Instrucciones .............................. 15
5.2 Añadir una instrucción........................................................................................... 16
5.3 Expresiones............................................................................................................ 18
5.4 Mover y copiar instrucciones ................................................................................ 22
6 Funcionamiento de los Programas ................................................................................ 22
6.1 Ejecución de los programas................................................................................... 22
6.2 La ventana Test del Programa ............................................................................... 23
6.3 Selección de la corrección de velocidad................................................................ 23
6.4 Selección del modo de ejecución........................................................................... 24
6.5 Arranque de la ejecución del programa................................................................. 25
6.6 Paro de la ejecución del programa......................................................................... 26
6.7 ¿Dónde empieza la ejecución del programa? ........................................................ 26
6.8 Simulación de las condiciones de espera............................................................... 29
6.9 Multitarea............................................................................................................... 29
7 Guardar e Imprimir Programas.................................................................................... 30
7.1 Guardar el programa en un disquete o en cualquier otro tipo de memoria de masa
30
7.2 Impresión de un programa mediante un PC .......................................................... 31
8 Modificar un Programa .................................................................................................. 31

Manual de Programación Básica RAPID 6-1


Programación y Pruebas

8.1 Selección de una instrucción o de un argumento .................................................. 31


8.2 Modificación de la posición en una instrucción de posicionamiento.................... 33
8.3 Ajuste de una posición durante la ejecución del programa ................................... 33
8.4 Cambio de un argumento....................................................................................... 35
8.5 Añadir argumentos opcionales .............................................................................. 36
8.6 Cambio de la estructura de una instrucción IF, FOR o TEST ............................... 37
8.7 Cambio del nombre o de la declaración de una rutina .......................................... 38
8.8 Borrado de una instrucción o de un argumento..................................................... 38
8.9 Borrado de una rutina ............................................................................................ 39
8.10 Deshacer la última operación .............................................................................. 39
9 Funciones especiales de edición ..................................................................................... 40
9.1 Buscar y cambiar ................................................................................................... 40
10 Creación de datos .......................................................................................................... 41
10.1 En qué consiste un dato ....................................................................................... 41
10.2 La ventana de Datos de Programa ...................................................................... 42
10.3 Creación de datos nuevos .................................................................................... 44
10.4 Creación de nuevos datos matriz......................................................................... 46
10.5 Duplicación de datos ........................................................................................... 47
10.6 Almacenamiento de datos de posición utilizando el robot.................................. 47
10.7 Datos de Rutina ................................................................................................... 47
11 Cambio de datos ............................................................................................................ 48
11.1 Visualización y posible cambio del valor utilizado ............................................. 48
11.2 Cambio de los nombres o de las declaraciones de los datos ............................... 48
11.3 Borrado de datos.................................................................................................. 49
12 Gestión de Errores ........................................................................................................ 49
13 Módulos.......................................................................................................................... 51
13.1 En qué consiste un módulo.................................................................................. 51
13.2 Selección de los módulos .................................................................................... 52
13.3 Crear un módulo nuevo ....................................................................................... 52
13.4 Cambio del nombre o declaración de un módulo................................................ 53
13.5 Carga de un módulo de programa ....................................................................... 53
13.6 Borrado de módulos de programa ....................................................................... 54
13.7 Listado de todas las rutinas en todos los módulos............................................... 54
13.8 Duplicación de una rutina desde un módulo a otro módulo................................ 55
13.9 Listado de todos los datos del módulo utilizado ................................................. 55
13.10 Duplicación de datos desde un módulo a otro................................................... 55
13.11 Guardar módulos en un disquete u otro tipo de memoria de masa.................... 55
13.12 Llamada de un módulo completo de la lista...................................................... 56

6-2 Manual de Programación Básica RAPID


Programación y Pruebas

14 Preferencias.................................................................................................................... 57
14.1 Definición de la Lista de Selección de Instrucciones Más Comunes .................. 57
14.2 Datos por defecto Global/Local........................................................................... 58
14.3 Definición de una regla de programación de las posiciones del robot ................ 59

Manual de Programación Básica RAPID 6-3


Programación y Pruebas

6-4 Manual de Programación Básica RAPID


Programación y Pruebas

Programación y Pruebas

1 Creación de un Programa Nuevo

1.1 En qué consiste un programa

Un programa consiste en un conjunto de instrucciones y de datos, programados con el


lenguaje de programación RAPID, que controlan el robot y el equipo periférico de una
forma específica.

Un programa suele constar de tres partes diferentes:

- una rutina principal (main)


- varias subrutinas
- los datos del programa.

Además de ello, la memoria del programa contiene los módulos del sistema (Figura 1).

Aplicación
Programa

Datos del programa

Rutina Sub-
main rutinas

Módulos del sistema

Figura 1 Las instrucciones del programa controlan el robot y sus periféricos

La rutina main es la rutina principal y es a partir de la cual arranca la ejecución del


programa.

Las subrutinas sirven para dividir el programa en partes más pequeñas a fin de obtener
un programa modular que sea de fácil lectura. Son llamadas desde la rutina principal o
desde cualquier otra rutina. Cuando una rutina ha sido ejecutada completamente, la

Manual de Programación Básica RAPID 6-5


Programación y Pruebas

ejecución del programa continúa con la siguiente instrucción de la rutina que llama.

Los Datos sirven para definir las posiciones, los valores numéricos (registros,
contadores) y los sistemas de coordenadas, etc. Los datos podrán ser modificados
manualmente, aunque también pueden ser cambiados por el programa, por ejemplo,
para redefinir una posición o para actualizar un contador.

Una instrucción sirve para definir una acción específica que se debe producir cuando
se ejecuta la instrucción; por ejemplo, mover el robot, activar una salida o cambiar los
datos. Durante la ejecución del programa, las instrucciones se ejecutan una a una y
siguiendo el orden en que han sido programadas.

Los módulos del sistema siempre están residentes en la memoria. Las rutinas y los datos
relacionados más con la instalación que con el programa, como por ejemplo, las
herramientas y las rutinas de servicio, suelen estar almacenados en los módulos del
sistema.

1.2 La ventana de Programa

Toda la programación y la realización de las pruebas del sistema se llevarán a cabo


mediante la ventana de Programa.

• Pulsar la tecla Programa para abrir la ventana.

La ventana de Programa está formada por una serie de ventanas diferentes. Estas
ventanas podrán seleccionarse a partir del menú Ver.

Nombre de la ventana Sirve para:


Instrucciones del Programa Programar y cambiar las instrucciones del
programa
Rutinas del Programa Seleccionar y crear rutinas nuevas
Datos del Programa Crear o cambiar los datos
Tipos de Datos del Programa Seleccionar datos de un tipo específico
Test del Programa Realizar una prueba de los programas
Módulos del Programa Seleccionar o crear nuevos módulos

1.3 Creación de un programa nuevo

• Seleccionar Archivo: Nuevo.

En el caso de que en el robot esté cargado un programa que no ha sido guardado,


aparecerá una ventana de diálogo donde se pregunta si se desea guardarlo o no.
Luego, seleccionar de nuevo Archivo: Nuevo.
• Especificar el nuevo nombre del programa en la ventana de diálogo que aparece.
(Ver en el capítulo de Puesta en marcha el apartado - Introducción de textos mediante
la unidad de programación para saber como se debe utilizar el editor de textos.)
• Seleccionar la tecla OK para confirmar.

Se creará un programa, conteniendo sólo la rutina main vacía.


6-6 Manual de Programación Básica RAPID
Programación y Pruebas

1.4 Carga de un programa existente

• Seleccionar Archivo: Cargar.

Aparecerá una ventana de diálogo, donde se visualizarán todos los programas del
directorio actual (véase la Figura 2).

Abrir...
Seleccionar un programa o un módulo Unidad memoria de masa
Unidad:= flp1:
ROBOT1
4(5) Directorio actual
.. Subir nivel
WELD1 Programa
WELD2 Programa
USER1 Módulo del Sistema
TEST/ Directorio

Unidad Cancela OK

Figura 2 La ventana de diálogo para leer los programas.

• Si es necesario, cambiar la unidad de memoria de masa pulsando la tecla Unidad


hasta que aparezca la unidad correcta deseada.
• Seleccionar el programa deseado. Para moverse hacia arriba o hacia abajo en el
directorio, seleccionar o bien ‘. .’ (hacia arriba), o bien el directorio deseado (hacia
abajo) y pulsar la tecla Entrar .
• Pulsar OK para confirmar.
Cuando hay un programa cargado en el sistema y que todavía no ha sido guardado, y
que el usuario desea cargar otro programa, aparecerá una ventana de diálogo en la que
se preguntará al usuario si desea guardar el programa cargado o no.

Recomendación En el caso en que haya un error en el programa, este error aparecerá


visualizado si se selecciona Archivo: Verificar Programa.

Nota Cuando un programa es cargado en el robot, éste requerirá aproximadamente tres


veces más espacio que el tamaño que ocupa el archivo en el disco.

2 Definición de las Herramientas y del Objeto de Trabajo


Antes de iniciar cualquier trabajo de programación, es esencial que se definan primero
las herramientas, los objetos de trabajo y otros sistemas de coordenadas que el usuario
desea utilizar. Cuanta más precisión se observe para realizar estas tareas de definición,
mejores serán los resultados obtenidos.

Véase el capítulo Calibración y Definición de Herramientas de este mismo manual.

Manual de Programación Básica RAPID 6-7


Programación y Pruebas

3 Creación de Rutinas Nuevas

3.1 En qué consiste una rutina

Antes de comenzar la programación, el usuario deberá concebir la estructura de su


programa:
- El programa debe estar dividido en varias subrutinas para obtener un programa
más fácil de leer.
- Las secuencias de instrucciones que se utilizan frecuentemente en el programa,
como la manipulación de la pinza, formaran sus propias rutinas.
La Figura 3 ilustra un ejemplo de un programa sencillo; el robot proporciona las piezas
a una máquina y luego las descarga. La Figura 4 indica la estructura de este programa.

Máquina

Transportador de entrada Transportador de salida

Figura 3 El robot proporciona una pieza a la máquina y luego la descarga.

En primer lugar, el robot coge una pieza del transportador de entrada y lo coloca en la
máquina donde será procesado. Una vez que la pieza ha sido procesada, el robot la
vuelve a coger y la coloca en el transportador de salida. La rutina principal está formada
por una serie de llamadas a rutinas que reflejan el ciclo de trabajo del robot (véase la
Figura 4). Dado que la pinza coge y suelta las piezas varias veces durante la ejecución
del programa, se recomienda crear rutinas separadas para ello, que podrán ser llamadas
desde distintos lugares en el programa.

rutina main
coger_pieza rutina coger_pieza
dejar_en_maq
proceso_pieza MoveJ *, vmax,z50, tool1
coger_de_maq MoveL *, v1000, z30, tool1
dejar_pieza MoveL *, v200, fine, tool1
coger rutina coger
MoveL *, v200, z30, tool1 Set dopinza
WaitTime 0,3

rutina dejar
Reset dopinza
WaitTime 0,3

Figura 4 Ciclo de trabajo de robot.


6-8 Manual de Programación Básica RAPID
Programación y Pruebas

Existen tres tipos de rutinas: procedimientos, funciones y rutinas de tratamiento de


interrupciones.

Un procedimiento se define como un número de instrucciones que realizan una tarea


específica, por ejemplo, la soldadura de una pieza o el cambio de una herramienta.

Una función es una rutina que se define como un número de instrucciones que realizan
un calculo y que devuelve un valor.

Una rutina de tratamiento de interrupciones se define como un número de


instrucciones que realizan una tarea específica, sirve para el control de procesos
mediante las interrupciones.

Una rutina esta compuesta por cuatro partes: declaración, datos, instrucciones y un
gestor de errores opcional (véase la Figura 5).

Rutina Nombre
Tipo de rutina
Declaracion Alcance
Función tipo dato
Datos Parámetros

Instrucciones
Gestor de errores

Figura 5 Estructura de una rutina .

La declaración especifica los parámetros de rutina, entre otras cosas. Estos sirven para
hacer que la rutina sea aplicable de forma más general. Por ejemplo, una rutina que
mueve el robot una distancia específica en la dirección de la herramienta, puede tener
esta distancia como parámetro. Esta rutina podrá ser posteriormente llamada utilizando
diferentes distancias y así ser utilizadas para mover el robot diferentes distancias.

El gestor de errores se encarga de la gestión automática de los errores (véase el


apartado Gestión de Errores de este mismo capitulo).

3.2 La ventana Rutinas del Programa

• Seleccionar la función Ver: Rutinas para abrir la ventana.

La ventana visualiza las rutinas. Si hay una función, también indicará el tipo de dato
devuelto para esa función (véase la Figura 6).

Manual de Programación Básica RAPID 6-9


Programación y Pruebas

Archivo Editar Ver Rutinas Especial

Rutinas de Progr. SOLDTUBO


Rutinas en Módulo
Nombre Tipo
4(6)
coger
limpiar
distdespl num Tipo de dato
main correspondiente
Rutinas dejar
proceso_pieza a esa función

Nuevo... Decl... Dupl... Datos Test

Figura 6 La ventana de Rutinas del Programa .

3.3 Creación de una rutina nueva

• Abrir la ventana de Rutinas del Programa seleccionando Ver: Rutinas.


• Pulsar la tecla de función Nuevo.

Aparecerá una ventana de diálogo donde se visualizará el nombre de la rutina (véase la


Figura 7). El nombre por defecto es rutinaN, en done N representa un número que se
incrementa cada vez que se crea una rutina.

Definir rutina en SOLDTUBO


Nombre:= rutina1...

Decl... Cancela OK

Figura 7 Se ha creado una rutina nueva.

• Si se quiere cambiar el nombre, pulsar la tecla Entrar y especificar el nombre


nuevo.

En el caso en que se desee una rutina normal (procedimiento sin parámetros) acabar
pulsando la tecla OK. En los otros casos, se deberá definir las características de la rutina
de la siguiente forma:

• Pulsar la tecla de función Decl.

6-10 Manual de Programación Básica RAPID


Programación y Pruebas

• Cambiar las características de la rutina seleccionando el campo apropiado y a


continuación:
- Pulsar la tecla Entrar y especificar la alternativa deseada en la ventana de
diálogo que aparece en la pantalla (los campos marcados con...).
- Seleccionar una alternativa utilizando las teclas de función (campos marcados
con la señal ).

Campo Descripción
Nombre El nombre de la rutina (16 caracteres como máximo).
En Módulo El módulo en el que se declara la nueva rutina.
Tipo Especifica si la rutina será un procedimiento (Proc), una
función (Func) o una rutina de tratamiento de interrupciones
(Trap).
Tipo de dato Indica el tipo de dato (especificado únicamente para las
funciones)

En el caso en que la rutina no deba tener ningún parámetro, se podrá concluir la


definición pulsando la tecla OK; de lo contrario, se deberá definir también los
parámetros.

• Seleccionar la lista de parámetros pulsando la tecla Lista .


• Añadir un parámetro pulsando la tecla de función Nuevo.

Se colocarán parámetros nuevos después del parámetro seleccionado en la lista. El


usuario podrá, no obstante, mover el parámetro utilizando la tecla Mover (hacia
arriba) o Mover (hacia abajo). Véase la Figura 8.

Definir rutina

Nombre:= rutina1...
Tipo:= función
En Módulo:= USER...
Tipo de dato: num
Nombre Tipo de dato Req Alt Modo
1(2)
param1 num * In
param2 num 1 In

Nuevo Mover Mover Cancela OK

Figura 8 La ventana para definir los parámetros.

• Cambiar el nombre y las características del parámetro seleccionando el campo


apropiado, y luego:
- Pulsar la tecla Entrar y especificar la alternativa deseada en la ventana de
diálogo que aparece.
- Seleccionar una alternativa utilizando las teclas de función.

Manual de Programación Básica RAPID 6-11


Programación y Pruebas
Campo Descripción
Nombre El nombre del parámetro (máximo 16 caracteres).
Tipo de dato El tipo de dato del parámetro.
Req Especifica si el parámetro es obligatorio (Si) -marcado con un
* en la lista- o si puede ser omitido (No) en el momento de una
llamada.
Alt Los parámetros que no son obligatorios podrán ser mutuamente
exclusivos, es decir, que no podrán ser utilizados
simultáneamente en la instrucción. Para introducir el primero
de estos parámetros, se deberá pulsar la tecla de función
Primero y para introducir el último, se deberá pulsar Ultimo.
Modo Especifica si el parámetro solo puede ser leído (IN) o si puede
ser leído y cambiado dentro de la rutina (INOUT).
• Añadir cualquier parámetro adicional (16 parámetros como máximo). Para borrar un
parámetro, se deberá seleccionarlo y luego pulsar la tecla Borrar .
• Seleccionar la tecla OK para confirmar.

Recomendación A veces resulta más fácil crear una rutina nueva, duplicando una
existente y modificándola.

3.4 Duplicación de una rutina

• Seleccionar el menú Ver: Rutinas.


• Seleccionar la rutina que se desea duplicar.
• Pulsar la tecla de función Dupl.
• Especificar el nuevo nombre de la rutina en la ventana de diálogo que aparece.
• Pulsar la tecla OK para confirmar la operación de duplicación.

Ello creará una rutina nueva que contendrá los mismos datos e instrucciones que la
rutina original.

4 Creación de nuevas instrucciones de una rutina

4.1 Selección de una rutina

• Seleccionar el menú Ver: Rutinas.


• Seleccionar la rutina que se desea programar y pulsar la tecla Entrar .

Para llamar la rutina principal

• Seleccionar el menú Ver: Rutina Main.

Para llamar una rutina que puede ser seleccionada desde la lista de instrucciones
• Seleccionar la rutina que se desea examinar.

6-12 Manual de Programación Básica RAPID


Programación y Pruebas

• Seleccionar el menú Ver: Rutina Seleccionada.

4.2 La ventana Instrucciones de Programa


• Seleccionar la menú Ver: Instr para abrir la ventana.
Si el usuario se encuentra en la ventana Test del Programa o Datos del Programa, en
lugar de ello podrá pulsar la tecla de función Instr.
Las instrucciones de la rutina utilizada aparecen visualizadas en la ventana (véase la
Figura 9).

Archivo Editar Ver IPL1 IPL2

Instr Programa SOLDTUBO/main

1(26)
!Datos Iniciales
contador:=0;
!Ir a la posición inicial
MoveJ pinicio,v500,fine,tpinza;
Instrucciones WaitUntil di10_1=1;
!Inicio
Set do10_4;
abrir_pinza;
MoveJ *,v500,z10,tpinza;

Copiar Pegar ArgOpci (Modpos) Test

Figura 9 Ventana Instrucciones de Programa .

Una instrucción que no cabe en una línea aparecerá visualizada sólo en parte. Los
argumentos que se encuentran fuera del área visible se moverán sucesivamente hacia
dentro desde el lado derecho cuando se seleccionen los diferentes argumentos.

4.3 En qué consiste una instrucción

Una instrucción define una tarea específica que deberá llevarse a cabo cuando se
ejecuta la instrucción, por ejemplo:

- Movimiento del robot


- Activación de una salida
- Cambio en el valor de un dato
- Salto dentro del programa.
Las instrucciones comprenden un nombre y una serie de argumentos. El nombre especifica
la tarea principal de la instrucción y los argumentos especifican sus características.
Un argumento puede ser obligatorio (requerido) u opcional. Los argumentos
opcionales pueden ser omitidos y están especificados con el nombre del argumento y
su valor, en el caso de que lo tengan.
Por ejemplo:

Manual de Programación Básica RAPID 6-13


Programación y Pruebas

Instrucción Significado
MoveL p1,v500,fina,tpinza Mueve el TCP de forma lineal a la posición p1. Los
argumentos, v500, fina y tpinza, especifican la
velocidad utilizada, la precisión de la posición y la
herramienta.
SetDO do10_2,1 Cambia el valor de la salida do10_2 a 1.
SetDO \SDelay:=0.5,do10_2,1 Coloca la salida do10_2 a 1 con un retraso de 0,5
segundos. \SDelay es un argumento opcional,
do10_2 y 1 son obligatorios.

Un argumento que no tenga ningún valor especificado está marcado con < ... >.
Los programas que contienen este tipo de instrucciones (es decir, instrucciones
incompletas) pueden ser ejecutados, pero la ejecución del programa se detendrá cuando
llegue a estas instrucciones.

Los argumentos pueden ser:

- valores numéricos, por ejemplo, 1


- valores de una cadena de texto, por ejemplo, "Espera máquina"
- datos, por ejemplo, reg2
- llamadas de funciones, por ejemplo, Abs(reg2)
- expresiones, por ejemplo, reg2 + reg3 / 5.

4.4 Obtención de más información referente a una instrucción

• Seleccionar la instrucción deseada y pulsar la tecla Entrar .

La ventana de diálogo indica los nombres de los argumentos (véase la Figura 10).

Instrucción actual
2(5)
MoveL
AlPunto: * (robtarget)
Nombre del Velocidad: v500 (speeddata) Tipo de dato
Zona: fine (zonedata)
argumento Herram: tpinza (tooldata)

Valor

Cambiar (Info) ArgOpci Cancela OK

Figura 10 Se visualiza nombre, valor y tipo de dato de cada argumento.

• Si el usuario desea cambiar un argumento, deberá seleccionarlo y pulsar la tecla de


función Cambiar o pulsar Entrar . Véase el apartado Cambio de Argumento de este
mismo capítulo para más información.

6-14 Manual de Programación Básica RAPID


Programación y Pruebas

• Si el usuario desea añadir o eliminar un argumento opcional, deberá seleccionar la


tecla de función ArgOpci. Véase el apartado Añadir Argumentos Opcionales en este
mismo capítulo para más información.
• Seleccionar OK para salir de la ventana de diálogo.

5 Programación
En este capítulo el usuario encontrará descripciones para la gestión y manipulación
general de las diferentes instrucciones de un programa: mover, copiar, o añadir. Para
información más detallada acerca de las instrucciones, véase el capítulo Instrucciones
de este mismo manual.

5.1 Selección a partir de una Lista de Selección de Instrucciones

El usuario podrá seleccionar las instrucciones escogiendo la instrucción apropiada en


las Lista de Selección de Instrucciones (IPL1 o IPL2). Aunque la mayoría de estas
listas sean fijas, algunas podrán ser definidas por el usuario. Ello significa que el
usuario podrá colocar las instrucciones que utiliza con más frecuencia en la misma lista
de selección de instrucciones (véase el apartado Definición de la Lista de Selección de
Instrucciones Más Comunes en este mismo capítulo.).

Existen las siguientes listas de selección de instrucciones:

En el menu IPL1

Nombre Contiene
Comunes Algunas de las instrucciones utilizadas con más frecuencia
Flujo de Programa Instrucciones que controlan el flujo del programa
Varios Por ejemplo,‘:=’ y espera
Características de MovimientoInstrucciones que afectan a los movimientos
Movimiento y Proceso Instrucciones de movimiento y del proceso.
E/S Instrucciones de E/S
Comunicación Instrucciones de comunicación
Interrupciones Instrucciones que manipulan las interrupciones
Recuperación de erroresInstrucciones que manipulan los errores
Sistema y Tiempo Instrucciones de fecha y hora
Matemáticas Instrucciones aritméticas

Manual de Programación Básica RAPID 6-15


Programación y Pruebas

En el menu IPL2

Más Comunes 1 Definidas para el usuario


Más Comunes 2 Definidas para el usuario
Más Comunes 3 Definidas para el usuario
Ajustes Mov. Avanz. Instrucciones de activación de Mvto. avanzado
Mov. Avanzados Instrucciones de Mvto. avanzado
Ordenador Ext. Instrucciones para Comunicación
Servicio Instrucciones de servicio

• El usuario deberá llamar una de las Listas de Selección de Instrucciones en el menú


IPL1 o IPL2.
• Llamar la Lista de Selección de Instrucciones que se utilizó más recientemente
utilizando la tecla de menú Editar: Mostrar IPL. En el caso en que la Lista de
Selección de Instrucciones contenga más de 9 instrucciones, el usuario podrá recorrer
toda la lista hacia abajo utilizando la tecla 9 del teclado numérico.
• Pasar a la lista de selección de instrucciones previa o siguiente seleccionando la lista
de selección ( ) y apretando la tecla PáginaAnterior o PáginaSiguiente .

También se podrá seleccionar 0 para ir directamente a la página siguiente.


• Hacer desaparecer de la pantalla la lista de selección de instrucciones utilizando la
tecla de menú Editar: Ocultar IPL.

5.2 Añadir una instrucción


Si se añade una instrucción nueva, ésta será colocada después de la instrucción
seleccionada.
Si la instrucción seleccionada está en primer lugar en una rutina, o en una instrucción
compuesta (IF, FOR, WHILE o TEST), el usuario podrá seleccionar si desea que la
instrucción nueva sea colocada antes o después de la instrucción (mediante una
pregunta). Sin embargo, si hay una sola instrucción en la rutina o en la instrucción
compuesta, las instrucciones nuevas serán siempre añadidas después de la que se ha
seleccionado.
• Seleccionar el lugar donde se desea introducir la instrucción nueva.
• Llamada de una de las Listas de Selección de Instrucciones seleccionando la lista de
selección adecuada del menú IPL1 o IPL2. Si el usuario desea llamar la lista de
selección de instrucción que se ha utilizado por última vez, se deberá pulsar la tecla
de menú Editar: Mostrar IPL.

La lista de selección aparecerá visualizada en la parte derecha de la ventana (véase la


Figura 11).

6-16 Manual de Programación Básica RAPID


Programación y Pruebas

Archivo Editar Ver IPL1 IPL2

Instrucciones de SOLDTUBO/main
Programa M.C.1
1(26)
!Datos Iniciales 1 MoveJ
contador:=0; 2 MoveL
!Ir a posición inicial 3 MoveC
MoveL pinicio,v500,fine,tpinza;
4 ProcCall
WaitUntil di10_1=1; 5 Set
!Inicio 6 Reset
Set do10_2; 7 :=
abrir_pinza; 8 Incr
MoveJ *,v500,z10,tpinza; 9 Mas

Copiar Pegar ArgOpci (Modpos) Test

Figura 11 Las instrucciones serán seleccionadas a partir de una lista de selección de


instrucciones.

• Seleccionar la instrucción deseada utilizando una de las siguientes alternativas:


- Utilizando el teclado numérico, pulsar el número que precede la instrucción
adecuada en la Lista de Selección de Instrucciones.
- Seleccionar la lista de selección pulsando la tecla Lista . A continuación,
seleccionar la instrucción deseada y pulsar la tecla Entrar .
- Utilizar la tecla 0 del teclado numérico para visualizar la parte inferior de la
Lista de Selección de Instrucciones o la Lista de Selección siguiente.

En el caso en que la instrucción no tenga ningún argumento o si éstos son activados


automáticamente, la instrucción está lista para ser utilizada enseguida.

Si la instrucción tiene argumentos que no pueden ser activados automáticamente,


aparecerá una ventana de diálogo en la que se podrá especificar el valor de los
argumentos de instrucción. El argumento está precedido de un “?” (véase la Figura 12).

Argumento de instrucciones
Add ?<EXP>,<EXP>;

Datos:

1(3)
Nuevo... contador_a contador_b
reg1 reg2 reg3
reg4

Próximo Func Más Cancela OK

Figura 12 La ventana de diálogo utilizada para la definición de los argumentos. En este


ejemplo, se ha programado la instrucción Add.

Manual de Programación Básica RAPID 6-17


Programación y Pruebas
El argumento podrá ser definido aquí de cuatro maneras diferentes:

- introduciendo un valor numérico utilizando directamente el teclado numérico


- escogiendo datos en la parte inferior de la ventana de diálogo

Nuevo, la primera alternativa de la lista, se utilizará cuando se desea crear


nuevos datos y hacer referencia a ellos. Si se selecciona Nuevo, se definirán
datos nuevos según se describe en el apartado Creación de Datos.

- seleccionando una función; pulsando la tecla de función Func y seleccionando la


alternativa deseada de la lista

Aparecerá una ventana de diálogo nueva que podrá utilizarse para la


programación de los argumentos, parecida a la que se indica en la Figura 12.
Se deberá especificar el argumento de la función de la misma forma que se ha
especificado el argumento de instrucción. Utilizar la tecla de función
Proximo para borrar los argumentos opcionales que no se desean incluir.

- introduciendo una expresión pulsando la tecla Más.

Para más información, véase el apartado Programación de una Expresión.

• Seleccionar Próximo para cambiar el argumento siguiente.


• Seleccionar OK para confirmar.

Los argumentos opcionales que no hayan sido incluidos al principio podrán ser
insertados, véase el apartado Añadir argumentos opcionales.

La estructura de una instrucción IF, FOR o TEST podrá ser cambiada, véase el apartado
Cambio de la estructura de una instrucción IF, FOR o TEST.

5.3 Expresiones

En qué consiste una expresión

Una expresión puede ser utilizada como un argumento de una instrucción y tiene un
número arbitrario de componentes.

Existen tres tipos diferentes de expresiones:

- expresiones lógicas
Tienen el valor true/false y se usan con las instrucciones de condición, por
ejemplo,
IF reg1=5 AND reg2 >10 ......
IF di1 = 1 .......
- expresiones aritméticas
Tienen un valor numérico y se usan con los cálculos, por ejemplo,
reg1 = reg2 + 3 ∗ reg5
reg1 = reg2 + 1
- cadenas de caracteres
TPWrite "Producción"

6-18 Manual de Programación Básica RAPID


Programación y Pruebas

Datos
< Datos
>
Valor Valor
<>
Función Función AND
>=
<= OR

NO TRUE XOR

FALSE
Dato Booleano
Función Booleana

Figura 13 Expresión lógica.

Datos
- Datos
*
Valor Valor
/
Función Función
MOD

DIV

Figura 14 Expresión aritmética.

Programación de una expresión

Las expresiones serán programadas mediante la tecla de función Más de la ventana de


diálogo de argumento de instrucción (véase la Figura 12).

Las expresiones pueden ser introducidas o cambiadas directamente en la parte superior de


la ventana (véase la figura 15) siguiendo los siguientes pasos:

Manual de Programación Básica RAPID 6-19


Programación y Pruebas

- mover el cursor hacia la derecha o la izquierda utilizando las flechas de


desplazamiento o ;
- borrar lo que marca el cursor pulsando la tecla Borrar ;
- añadir cifras delante del cursor utilizando el teclado numérico.

Expresión

1(2)
contador_a contador_b reg1
reg2 reg3 reg4

Texto... Func Conten Cancela OK

Figura 15 La ventana de diálogo para la expresión.

Los datos, las funciones y los operadores podrán ser seleccionados en la parte inferior
de la ventana de diálogo. Pulsar la tecla si es necesario, seleccionar la alternativa
deseada y pulsar la tecla Entrar .

Para introducir el texto se deberá pulsar la tecla Texto. Aparecerá una ventana de
diálogo en la que se podrá introducir texto utilizando las teclas de función y el teclado
numérico.

Si la información deseada no aparece en la parte inferior de la pantalla, se deberá pulsar


primero una de las teclas Datos, Func o Conten.

- Datos proporciona una lista de todos los datos definidos por el usuario del tipo
de dato deseado.
- Func proporciona una lista de todas las funciones del tipo de dato deseado.
- Conten proporciona una ventana de diálogo donde se podrá seleccionar nuevos
tipos de datos del mismo modo que la instrucción IF, por ejemplo. El usuario
podrá también seleccionar la posibilidad de ver los datos definidos por el
sistema o por el usuario, o ambos. indica la elección que se ha realizado
(véase la Figura 16).

6-20 Manual de Programación Básica RAPID


Programación y Pruebas

Selecc. tipo de dato: Datos usuario


1 num Datos sistema
2 signaldi
3 bool
4 ...

Añadir Borrar Cancela OK

Figura 16 La ventana de diálogo para la selección de los tipos de datos.

Edición de una expresión

Mover el cursor utilizando las teclas de desplazamiento. El contenido de la lista cambiará


de forma, que corresponda a lo seleccionado. La tecla de función Conten pasa a ser Inserta
(véase la Figura 17).

Expresión
reg2<contador_b

1(2)
contador_a contador_b reg1
reg2 reg3 reg4

Texto... Func Inserta Cancela OK

Figura 17 La ventana de diálogo para la edición de una expresión.

Sustituir lo que ha sido seleccionado, eligiendo la opción deseada en la parte inferior


de la ventana y pulsar la tecla Entrar .

El usuario podrá realizar una adición a una expresión apretando la tecla de función
Inserta. A continuación, se insertará un espacio en blanco subrayado _ delante del
cursor y la tecla de función Inserta pasará a ser Conten (véase la Figura 18).

Manual de Programación Básica RAPID 6-21


Programación y Pruebas

Expresión
reg2<_contador_b

1(2)
contador_a contador_b reg1
reg2 reg3 reg4

Texto... Func Conten Cancela OK

Figura 18 Se podrán insertar datos nuevos en una expresión.

5.4 Mover y copiar instrucciones

• Seleccionar la instrucción que se desea mover o copiar. Para seleccionar varias


instrucciones, seleccionar menú Editar: Marcar.
• Seleccionar menú Editar: Cortar (mover) o Editar: Copiar.
• Indicar el lugar donde se desea añadir las instrucciones.
• Seleccionar menú Editar: Pegar.
En la ventana Instrucciones de Programa, las opciones copiar y pegar también podrán
ser seleccionados mediante las tecla de funciones.

6 Funcionamiento de los Programas

6.1 Ejecución de los programas

Un programa podrá ser ejecutado independientemente de si está completo o no. Sin


embargo, si la ejecución del programa alcanza una instrucción incompleta, éste se
parará.
Cuando el programa es arrancado, el robot comprueba que todas las referencias a datos
y rutinas sean correctas. Si no son correctas, se genera un mensaje de error y el
programa no será arrancado. Esta comprobación puede realizarse también
seleccionando la función Archivo: Verificar Programa, entonces el sistema indicará
el primer fallo en el programa.

El programa suele arrancar a partir de la primera instrucción de la rutina main, pero


también puede ser arrancado a partir de una rutina arbitraria (procedimiento)
desprovista de parámetros. Un programa que ha sido detenido, rearranca, a menos que
se especifique lo contrario, a partir de la última instrucción ejecutada.

6-22 Manual de Programación Básica RAPID


Programación y Pruebas

6.2 La ventana Test del Programa

• Seleccionar el menú Ver: Test. Si el usuario se encuentra en la ventana Instrucciones


de Programa o Datos de Programa, apretar la tecla de función Test.

La sección del programa que será ejecutada al arrancar el programa aparecerá


visualizada en la ventana.

Un indicador del Puntero de programa sigue la ejecución del programa. Este indicador
aparece bajo el signo en el listado del programa. La ejecución del programa suele
continuar a partir de este punto. No obstante, si el cursor se mueve a otra instrucción
cuando el programa está parado, la ejecución arrancará a partir de la posición en que
se encuentra el cursor (véase la Figura 19).

Archivar Editar Ver Especial


Nombre del
Test de Programa SOLDTUBO/main
Características Vel.:= 50%
módulo y
del test Ejecución:= Continuo de la rutina
1(26)
Puntero de !Datos Iniciales
Programa contador:=0; Cursor
!Ir a la posición inicial
MoveL pinicio,v500,fine,tpinza;
WaitUntil di10_1=1;
!Inicio
Set do10_2;
abrir_pinza;

Arranca Adelant Atras (Modpos) Instr->

Figura 19 La ventana de Test de Programa .

En el caso en que el robot disponga de la opción de soldadura al arco, aparecerá el


campo suplementario Bloqueado, que indicará el estado de la soldadura, el
seguimiento y la oscilación.

6.3 Selección de la corrección de velocidad

Cuando se realiza por primera vez la prueba de un programa, se recomienda reducir la


velocidad. Una corrección de la velocidad del 50% significa que la velocidad será
reducida el 50% respecto a la velocidad programada. Por otra parte, cuando el robot
está en el modo manual a velocidad reducida, la velocidad no será nunca superior a los
250 mm/s.

Se podrá cambiar la corrección de la velocidad mientras el programa está ejecutándose.

• Seleccionar la parte superior de la ventana pulsando la tecla Lista


• Seleccionar el campo Velocidad (véase la Figura 20).

Manual de Programación Básica RAPID 6-23


Programación y Pruebas

Archivo Editar Ver Especial

Test Programa SOLDTUBO/main


Velocidad:= 50%
Ejecución:= Contínuo
1(26)
!Datos Iniciales
countador:=0;
!Ir a la posición inicial
MoveL pinicio,v500,fine,tpinza;
WaitUntil di10_1=1;
!Inicio
Set do10_2;
abrir_pinza;

-% +% 25% 100%

Figura 20 La velocidad podrá ser cambiada (0 - 100%).

• Para aumentar o disminuir la velocidad se deberá pulsar las teclas de función -% o


+%. La corrección de velocidad se realizará por incrementos del 5%.
Para activar la velocidad al 25% o al 100%, pulsar la tecla de función 25% o 100%.

6.4 Selección del modo de ejecución

El programa se puede ejecutar de tres modos diferentes:

- continuo
- ciclo (un ciclo cada vez)
- paso a paso (adelante o atrás, una instrucción cada vez)

Nota El modo de ejecución cambia automáticamente cuando se cambia de modo entre


automático y manual. La configuración por defecto podrá definirse en los parámetros
del sistema.

Para seleccionar la ejecución en modo continuo o ciclo, se deberá seguir lo siguiente:

• Seleccionar la parte superior de la ventana pulsando la tecla Lista


• Seleccionar el campo Ejecución.
• Seleccionar el modo de ejecución del programa utilizando la tecla de función Cont o
Ciclo.

Utilizar la tecla para seleccionar la parte inferior de la ventana.

Utilizar la tecla de función Arranca para iniciar la ejecución del programa en el modo
que se ha seleccionado anteriormente.

Para ejecutar el programa en modo paso a paso hacia adelante o hacia atrás, se deberá
utilizar las teclas de función Adelant y Atrás (véase la Figura 21).

6-24 Manual de Programación Básica RAPID


Programación y Pruebas

Test Programa SOLDTUBO/main


Velocidad:= 50%
Ejecución:= Continuo
1(26)
!Datos Iniciales
contador:=0;
!Ir a la posición inicial
MoveL pinicio,v500,fine,tpinza;
WaitUntil di10_1=1;
!Inicio
Set do10_2;
abrir_pinza;

Arranca Adela Atrás (Modpos) Instr>

Continuo o Cíclo Paso a paso hacia atrás


Paso a paso hacia adelante

Figura 21 Un programa se puede ejecutar de diferentes modos.

Las instrucciones se comportan de forma diferente según el tipo de ejecución utilizada:


paso a paso o continua. Las principales diferencias cuando se ejecuta en modo paso a
paso respecto a la ejecución continua son las siguientes:

- Las instrucciones de posicionamiento son ejecutadas normalmente, pero el


robot va a la posición incluso cuando se ha programado un punto de paso.
- Unas instrucciones se ejecutan normalmente cuando se realiza una ejecución
hacia adelante y cuando se realiza una ejecución hacia atrás, el programa se
salta dichas instrucciones (instrucciones lógicas).

6.5 Arranque de la ejecución del programa

• Seleccionar la corrección de velocidad según se ha indicado anteriormente.


• Seleccionar la parte inferior de la ventana pulsando la tecla Lista .

Al arrancar la ejecución del programa, el robot empezará a moverse. El equipo


periférico también será arrancado.
Asegurarse de que todo esté listo para que la ejecución del programa pueda
empezar y que no se encuentre nadie dentro del área protegida en torno al robot.
Un arranque incorrecto del programa podría provocar daños al personal, al robot
o al equipo.

• Colocar el robot en el modo MOTORES ON pulsando el dispositivo de habilitación.


• Pulsar la tecla de función Arranca para empezar el arranque del programa según el
modo de ejecución continuo o ciclo. Si se desea ejecutar paso a paso, se deberá pulsar
la tecla de función Adelant o Atrás .
Cuando la función de “control de funcionamiento sostenido” está activada, se aplica lo
siguiente:
- pulsar la tecla de función Arranca, soltarla, y apretar el pulsador de
funcionamiento sostenido. Mantenerlo pulsado mientras el programa está en
ejecución, de lo contrario, el programa se detendría (véase la Figura 22).

Manual de Programación Básica RAPID 6-25


Programación y Pruebas

La tecla Arranca sólo deberá ser pulsada una vez después de cada operación
MOTORES ON, a partir de entonces, se podrá utilizar el pulsador de control de
funcionamiento sostenido para iniciar y detener la ejecución del programa.

Control de
Arranca Adelant Atrás (Modpos) Instr> funcionamiento
sostenido
Dispositivo de
Apretar la tecla de control de habilitación
funcionamiento sostenido durante 3 seg.
después de pulsar la tecla Arranca.
Si transcurre un intervalo de tiempo
más largo, se deberá volver a empezar
de nuevo con la tecla Arranca.

Figura 22 Véase la situación de la tecla de “control de funcionamiento sostenido”.

6.6 Paro de la ejecución del programa

Cuando el control de funcionamiento sostenido está habilitado

• Soltar el pulsador de control de funcionamiento sostenido.

Cuando el control de funcionamiento sostenido NO está habilitado

• Apretar la tecla de paro en la unidad de programación.

Si se cambia el modo de ejecución del programa y pasa del modo continuo al modo
ciclo o paso a paso, el robot se detendrá automáticamente una vez haya terminado la
instrucción o el ciclo.

6.7 ¿Dónde empieza la ejecución del programa?

¿Cómo reconocer el indicador del puntero de programa?

El indicador del puntero de programa indica hasta donde se ha ejecutado el programa


y aparece marcado con el signo delante de la instrucción.

Una instrucción que se ha ejecutado completamente aparece indicada mediante el signo


, pero únicamente cuando esta en modo de ejecución paso a paso. En el caso en que
el cursor esté posicionado en esa instrucción, significa que el programa arranca a partir
de donde se encuentra el indicador de puntero de programa . (En los otros casos, el
cursor define la instrucción que se ejecutará cuando se pulse la tecla Arranca).Véase el
ejemplo que se ofrece a continuación.

IF reg1=5 THEN
reg2:=5; La última instrucción ejecutada.
ELSE
reg2:=8;
ENDIF
Set do1; La siguiente instrucción que será ejecutada.

6-26 Manual de Programación Básica RAPID


Programación y Pruebas
En el caso en que el cursor no esté situado en la última instrucción ejecutada, cuando
se pulse la tecla Arranca, se visualizará una ventana de aviso, porque el flujo de
programa ha cambiado.

Seleccionar si se desea arrancar a partir del indicador de Puntero de Programa (PP)


o a partir del cursor utilizando las flechas de desplazamiento:

El cursor no coincide con el


Programa Pointer(PP)!

Arrancar el programa desde:

PP Cursor Cancela

Pulsar la tecla Entrar .

Para mover el cursor al puntero de programa


• Seleccionar menú Especial: Mover cursor al PP.

Para mover el puntero de programa al cursor


• Seleccionar menú Especial: Mover PP al cursor.

Nota En el caso en que el indicador de puntero de programa haya sido movido dentro
de una secuencia FOR, el programa ejecutará el resto de la secuencia FOR hasta el
final, y luego, continuará con la siguiente secuencia.

Para arrancar el programa desde el principio

• Seleccionar menú Especial: Mover PP a Main.

El indicador de puntero de programa y el cursor están situados en la primera


instrucción de la rutina main.

Para arrancar el programa desde una rutina

El indicador de puntero de programa (PP) y el cursor podrán ser movidos a cualquier


rutina (procedimiento) sin parámetros. En el caso en que se mueva, la jerarquía de
llamadas en este momento ya no será válida, lo que significa que la ejecución del
programa continúa desde el inicio de la rutina después de que la rutina haya sido
totalmente ejecutada.

• Seleccionar menú Especial: Mover PP a Rutina.


Aparecerá una ventana de diálogo, en la que se visualizarán todas las rutinas posibles.
• Seleccionar la rutina deseada y pulsar OK.

Manual de Programación Básica RAPID 6-27


Programación y Pruebas

Para ejecutar una rutina sin perder la jerarquía de llamadas

Se podrá ejecutar una rutina sin parámetros sin por ello perder la jerarquía de llamadas
y las características del programa, como por ejemplo, el desplazamiento del programa,
la activación de la unidad mecánica, etc.

• Seleccionar Especial: Llamar Rutina

Aparecerá una ventana de diálogo en la que se visualizarán todas las rutinas posibles.

• Seleccionar la rutina deseada y pulsar la tecla OK.

Cuando el indicador del puntero de programa alcanza el final de la rutina llamada,


aparecerá la pregunta si se desea ejecutar de nuevo la rutina o regresar donde se
encontraba el indicador de puntero de programa original, cuando se ha realizado la
llamada a la rutina. Esta opción no se puede usar en las rutinas declaradas en módulos
NOSTEPIN o NOVIEW. Un manera de trabajar con estas rutinas es encapsularlas
dentro de un módulo abierto.

Para ejecutar una rutina de servicio sin perder la jerarquía de llamadas

Se podrá ejecutar una rutina de servicio preconfigurada sin parámetros sin por ello
perder la jerarquía de llamadas y las características del programa, como por ejemplo,
el desplazamiento del programa, la activación de la unidad mecánica, etc.

• Seleccionar Especial: Llamar Rutina Servicio

Aparecerá una ventana de diálogo en la que se visualizarán todas las rutinas posibles.

• Seleccionar la rutina deseada y pulsar la tecla OK.

Cuando el indicador del puntero de programa alcanza el final de la rutina llamada,


aparecerá la pregunta si se desea ejecutar de nuevo la rutina o regresar donde se
encontraba el indicador de puntero de programa original, cuando se ha realizado la
llamada a la rutina de servicio.

Desplazarse a una posición sin mover el indicador del puntero de programa

Colocar el cursor en el argumento de posición en la instrucción. También podrá


seleccionar una posición (robtarget) en la ventana de Datos de Programa.

• Seleccionar menú Especial: Ir a posición seleccionada.

Aparece una ventana de diálogo, véase la Figura 23.

6-28 Manual de Programación Básica RAPID


Programación y Pruebas

Arrancar movimiento del robot a la


posición seleccionada

Arranca Cancela

Figura 23 La ventana de diálogo para Ir a la posición seleccionada.

• Apretar la tecla de función Arranca para iniciar el movimiento.

6.8 Simulación de las condiciones de espera

Cuando el robot está esperando en una instrucción de espera, por ejemplo, WaitDI
dipiezaOK,1 o WaitTime 3, aparecerá automáticamente una ventana de diálogo.

• Para continuar la ejecución del programa sin cumplir la condición de espera, se


deberá seleccionar SIM y pulsar la tecla Entrar .

6.9 Multitarea

Se podrá cambiar de tarea del programa en las ventanas Test de programa o Datos de
programa.

• Seleccionar Ver: Seleccionar tarea actual.

Aparecerá una ventana de diálogo en la que se visualizarán las tareas activas del
sistema.

Figura 24 La ventana de diálogo para el cambio de tarea de programa.

Para acceder al código asociado a una tarea, desplazar el cursor a la tarea deseada y
pulsar la tecla Entrar . Para mayor información, véase el manual Guía del Usuario.

Manual de Programación Básica RAPID 6-29


Programación y Pruebas

7 Guardar e Imprimir Programas

7.1 Guardar el programa en un disquete o en cualquier otro tipo de memoria de masa

Para guardar un programa que ha sido almacenado previamente

• Seleccionar Archivo: Guardar Programa.

El programa se guardará en la memoria de masa y reemplazará la versión que se guardó


por última vez. En el caso en que el nombre del archivo o del módulo no sea el mismo,
aparecerá automáticamente visualizada la ventana de diálogo Guardar Programa
Como.

Para guardar un programa con un nuevo nombre

Seleccionar Archivo: Guardar Programa Como.

Aparecerá una ventana de diálogo, en la que se visualizarán todos los programas del
directorio actual (véase la Figura 25).

Guardar Programa Como


Nombre:= SOLDTUBO... Unidad de memoria
Unidad almacen:= flp1: de masa
ROBOT1
1(5) Nivel de directorio
.. Subir nivel
soldar1 Programa
soldar2 Programa
SOLDTUBO Programa
TEST Directorio

Unidad DirNuev Cancela OK

Figura 25 La ventana de diálogo utilizada para el almacenamiento de programas.

• Si es necesario, cambiar la unidad de almacenamiento pulsar la tecla Unidad hasta


visualizar la unidad correcta.

En el caso en que el programa deba ser guardado en otro directorio:

• Seleccionar la parte inferior de la ventana pulsando la tecla Lista .


• Seleccionar el directorio en el que el programa debe ser guardado, pulsar la tecla
Entrar para acceder al directorio
• Pulsar la tecla OK.

6-30 Manual de Programación Básica RAPID


Programación y Pruebas

En el caso en que el programa deba ser guardado con otro nombre:

• Seleccionar la parte superior de la ventana pulsando la tecla Lista .


• Seleccionar el campo Nombre y pulsar la tecla Entrar .
• Especificar el nombre nuevo en la ventana de diálogo que aparece. Cuando se haya
terminado de introducir texto, pulsar la tecla OK.
• Seleccionar la tecla OK para confirmar la operación de guardar.

Nota En el caso en que ya exista un archivo con el mismo nombre, aparecerá un


mensaje de aviso de sustituir programa y se podrá seleccionar si se desea Cancela o
Ok.

Nota En el caso de haber realizado un cambio en un módulo del sistema, el sistema


pedirá que se guarde esta modificación.

7.2 Impresión de un programa mediante un PC

Un programa podrá imprimirse mediante un ordenador personal. La mayoría de


procesadores de texto podrán ser utilizados, el único requisito indispensable es que el
PC admita disquetes en el formato MS DOS.

• Guardar el programa en un disquete.


• Cargar el programa en el PC.
• Imprimir el programa.

En el caso en que el usuario no desee imprimir los valores de posición de una


instrucción de posicionamiento, deberá almacenar el programa utilizando el comando
Archivo: Imprimir en la ventana de Programa y seleccionar la opción Almacenar en
archivo. Sólo el módulo actual será guardado.

8 Modificar un Programa
Los programas podrán ser protegidos contra las modificaciones definiendo los datos
adecuados en los parámetros del sistema. A partir de este instante se deberá usar una
contraseña para realizar cualquier cambio. Véase en el Manual Guía del Usuario, el
Capitulo de Parámetros del Sistema.

8.1 Selección de una instrucción o de un argumento

En el caso en que el usuario desee cambiar un solo argumento, resultará más fácil
seleccionar primero el argumento. Si el usuario desea cambiar una instrucción
completa, se deberá seleccionar la instrucción completa. A menudo, por ejemplo,
cuando se añade una instrucción totalmente nueva, el sistema no hace la diferencia si
se ha seleccionado la instrucción completa o un argumento individual.

Manual de Programación Básica RAPID 6-31


Programación y Pruebas

Para seleccionar una instrucción completa

Movimiento Seleccionar
Una instrucción hacia arriba Flecha de desplazamiento hacia arriba
Una instrucción hacia abajo Flecha de desplazamiento hacia abajo
A la primera instrucción Editar: Ir al inicio
A la última instrucción Editar: Ir al final
A la página siguiente Página Siguiente
A la página anterior Página Anterior

Si se mueve el cursor a la primera línea de una instrucción compuesta (IF, FOR,


WHILE o TEST), todas las instrucciones, incluyendo la última línea (por ejemplo,
ENDIF), serán seleccionadas. Si luego se pulsa la flecha de desplazamiento hacia
abajo, las instrucciones de la instrucción compuesta serán seleccionadas, una tras otra.
La última línea de estas instrucciones (por ejemplo, ENDIF, ELSE) no podrán ser
seleccionadas separadamente.

Cuando se mueve el cursor hacia arriba a una instrucción compuesta, se utilizará la


flecha de desplazamiento hacia arriba para seleccionar las instrucciones dentro de esta
instrucción, y, se utilizará la flecha de desplazamiento hacia la izquierda para
seleccionar la instrucción compuesta en su totalidad.

Para seleccionar una serie de instrucciones

El usuario podrá seleccionar un grupo de instrucciones que se encuentran en una


secuencia.

• Seleccionar la primera o la última instrucción de un grupo.


• Seleccionar menú Editar: Marcar.
• Seleccionar las demás instrucciones utilizando la flecha de desplazamiento hacia
arriba o la flecha de desplazamiento hacia abajo .

La selección será automáticamente desactivada cuando se pulse la tecla menú Editar:


Cortar o Copiar. También se podrá deshacer la selección seleccionando menú Editar:
Quitar marcas.

Para seleccionar un argumento

• Utilizar la flecha de desplazamiento hacia la derecha para mover el cursor un


argumento hacia la derecha, o la flecha de desplazamiento hacia la izquierda para
mover el cursor un argumento hacia la izquierda.

6-32 Manual de Programación Básica RAPID


Programación y Pruebas

8.2 Modificación de la posición en una instrucción de posicionamiento

• Mover el robot a la nueva posición deseada.


• Seleccionar la instrucción que se debe cambiar. Para las instrucciones que contienen más
de una posición, por ejemplo, MoveC, seleccionar el argumento de posición que se desea
cambiar.
• Pulsar la tecla de función ModPos o seleccionar menú Editar: ModPos.

Nota Se deberá proporcionar una respuesta a la petición de palabra clave así como al
diálogo de confirmación en el caso en que se hayan activado en los parámetros del
sistema. Por defecto no contiene palabra clave pero sí pide confirmación.

El movimiento o la reorientación máxima de una posición puede ser limitado en los


parámetros del sistema. En el caso en que ya se haya aplicado esto, se deberán cambiar
los parámetros del sistema para permitir otros cambios considerables de posición. Véase
en el manual Guía del Usuario, el capítulo de Parámetros del Sistema .

La posición antigua será reemplazada por la posición actual del robot. Esta posición se
refiere a la herramienta y al objeto de trabajo utilizados.

Nota Si un dato de posición con nombre cambia, la posición de todas las demás
instrucciones que se refieren a este dato de posición también cambiarán.

8.3 Ajuste de una posición durante la ejecución del programa

El comando de ajuste permite el ajuste de las coordenadas x, y, z de un dato robtarget


durante la ejecución del programa. La función es válida únicamente para los tipos de datos
robtarget con nombre que son constantes y persistentes. No es válida para posiciones
representadas por un ‘*’ y para los tipos de datos robtarget variables. El cambio también
es posible cuando el programa esta parado.

• Seleccionar la ventana de Test de Programa.


• Pulsar Arranca.

Aparecerá visualizada la ventana de Ejecución de Programa (véase la figura 26).

Ver

Ejecucion Programa PROG1


Velocidad:= 50%
Ejecución:= Contínuo

¡Ejecutando!

Figura 26 La ventana de Info Ejecución Programa.

Manual de Programación Básica RAPID 6-33


Programación y Pruebas

• Seleccionar Ver: Posición.

Aparecerá visualizada la ventana de Posición Funcionamiento Programa (véase la


figura 27).

Ver

Posición Funcionam. Prog PROG1


Velocidad:= 50%
Ejecución:= Contínua

Robtarget:= ...
Ajuste Actual
1 (1)

Sin datos

Figura 27 La ventana para el ajuste de posición durante el funcionamiento.

• Seleccionar el campo Robtarget y pulsar la tecla Entrar .


• Seleccionar el robtarget que se desea modificar. Sólo se visualizarán los robtarget
especificados en el módulo seleccionado. Para seleccionar un robtarget en otro
módulo, pulsar Módulo, seleccionar el módulo, apretar la tecla Entrar y
continuar seleccionando el robtarget.
• Seleccionar OK o apretar la tecla Entrar para confirmar la operación.

Los valores x, y, z de la posición seleccionada aparecen visualizados (véase la figura


28).
Ver

Posición Ejecucion Prog PROG1


Velocidad:= 50%
Ejecución:= Contínua

Robtarget:= p10 ...


Ajuste Presente
1 (3)

x 0.00 xx.xx mm
y 0.00 yy.yy mm
z 0.00 zz.zz mm

Ajustar

Figura 28 La ventana de Ejecución Programa con un robtarget seleccionado.

• Seleccionar la coordenada x, y, ó z en la lista.


• Seleccionar la tecla de función Ajustar.

Aparecerá una ventana de diálogo donde se podrá ajustar la posición.

6-34 Manual de Programación Básica RAPID


Programación y Pruebas

• Introducir el valor de ajuste deseado y apretar la tecla Entrar .


- Sin cambio = 0
- Valor máximo = + 10 mm.

Se podrán introducir varios ajustes seguidos, en el caso de que se desee un ajuste mayor
de 10 mm. El dato de posición se modifica inmediatamente después de cada cambio
pero no afectará la trayectoria del robot hasta que se ejecute la siguiente instrucción
que utiliza este dato de posición. Los valores situados en la columna Actual serán
utilizados en esta instrucción.

El ajuste total aparecerá visualizado en la columna Ajuste.

Nota En el caso en que un dato de posición con nombre haya sido modificado, todas
las instrucciones que se refieren a este dato de posición se verán afectadas. Las
posiciones que no tienen nombre (marcadas con * en la instrucción) no podrán ser
ajustadas.

8.4 Cambio de un argumento

• Seleccionar el argumento que se desea cambiar.


• Pulsar la tecla Entrar .

Aparecerá la ventana de diálogo utilizada para la programación de los argumentos de


instrucción y el argumento seleccionado estará precedido por un “?” (véase la Figura
29).

Argumentos de instrucción
reg1:=?reg2;

Seleccionar Valor: reg2

2(3)
Nuevo... contador_a contador_b
reg1 reg2 reg3
reg4

Próximo Func Más... Cancela OK

Figura 29 La ventana de diálogo para cambiar argumentos. Aquí se modifica el argumento reg2

El argumento podrá ahora ser cambiado de cuatro maneras diferentes:

- cambiando un valor numérico; esta alternativa se utiliza cuando se debe


especificar un valor numérico, por ejemplo 5, o cuando se debe cambiar un
argumento, por ejemplo, reg2 pasa a ser reg3;

Manual de Programación Básica RAPID 6-35


Programación y Pruebas

• Seleccionar la parte central de la ventana de diálogo y alternativamente


seguir uno de los siguientes pasos:
- mover el cursor hacia la izquierda o hacia la derecha utilizando las flechas
de desplazamiento hacia la izquierda o hacia la derecha ;
- borrar el carácter que precede el cursor pulsando la tecla Borrar ;
- introducir las cifras donde se encuentra el cursor utilizando el teclado
numérico.
- seleccionando los datos en la parte inferior de la ventana de diálogo; esta
alternativa se utiliza cuando el argumento constituye una referencia a un dato,
por ejemplo, reg2;
- seleccionando una función; pulsar la tecla de función Func y seleccionar la
alternativa deseada de la lista. Esta alternativa se utiliza cuando un argumento
es una llamada a una función, por ejemplo, Offs(p1,5,0,0)

Aparecerá una ventana de diálogo nueva que podrá ser utilizada para la
programación de argumentos de la función. Utilizar la tecla de función
Saltar para borrar los argumentos opcionales que no se desean incluir.

- introduciendo una expresión opcional, pulsar la tecla de función Más; esta


alternativa se utiliza cuando el argumento debe constituir una expresión con
varios componentes, por ejemplo, reg1+reg2 o reg1>5, o una cadena de texto,
por ejemplo, "Produciendo pieza A".

Para más información, véase el apartado Expresiones de este mismo


capítulo.

• Si se desea, seleccionar Próximo para cambiar el argumento siguiente.


• Pulsar OK para confirmar.

Nota También se podrá utilizar Copiar y Pegar para cambiar los argumentos.

Nota Cualquier cambio efectuado en una instrucción de posicionamiento activa


(excepto para ModPos) será válido en la siguiente ejecución de la instrucción. Para
obtener un resultado inmediato, seleccionar Especial: Mover PP al cursor.

8.5 Añadir argumentos opcionales

Los argumentos opcionales de una instrucción no suelen estar incluidos cuando se


programa una instrucción, sino que deberán añadirse posteriormente.

• Seleccionar la instrucción que se desea modificar.


• Apretar la tecla de función ArgOpci.
En el caso en que el usuario se encuentre en la ventana de Test de Programa, deberá
seleccionar en primer lugar la instrucción completa, y luego pulsar la tecla Entrar
y a continuación la tecla de función ArgOpci.

Aparecerá una ventana de diálogo, en la que se visualizarán todos los argumentos que
la instrucción utilizada podría tener. Aquellos argumentos que no están incluidos en la
instrucción se encuentran entre corchetes (véase la figura 30).

6-36 Manual de Programación Básica RAPID


Programación y Pruebas

Argumentos de Instruccion
2(9)
MoveL
[\Conc]
AlPunto
Velocidad
[\Time] | [\V]
Zona
[\Z]
Herram
[\WObj]

Añadir Borrar Cancela OK

Figura 30 La ventana de diálogo usada para añadir argumentos opcionales.

• Añadir un argumento opcional seleccionando el argumento deseado y pulsando la tecla de


función Añadir.

Ciertos argumentos (visualizados en la misma línea) no pueden coexistir simultáneamente


en una instrucción. Cuando se añade un argumento de este tipo, el argumento
correspondiente mutuamente exclusivo queda automáticamente eliminado.

Un argumento opcional podrá ser eliminado también seleccionando el argumento deseado


y pulsando la tecla de función Borrar.

• Seleccionar OK para confirmar el cambio.

8.6 Cambio de la estructura de una instrucción IF, FOR o TEST

• Seleccionar la instrucción completa que se desea cambiar.


• Pulsar la tecla Entrar .

Aparecerá una ventana de diálogo en la que se visualizará la estructura que puede tener la
instrucción. Las partes de la estructura que no están incluidas en la instrucción se encuentran
entre corchetes (véase la figura 31).

Manual de Programación Básica RAPID 6-37


Programación y Pruebas

Argumentos de Instrucción
3(6)
IF
expresión
\statement list
[\ELSE]
[\ELSEIF]
ENDIF

Añadir Borrar Cancela OK

Figura 31 La ventana de la estructura de una instrucción IF.

• Añadir una parte de la estructura, seleccionando la parte deseada y pulsando Añadir.


• Borrar una parte de la estructura, seleccionando la parte deseada y pulsando Borrar.
• Seleccionar OK para confirmar el cambio.

Nota Si se desea añadir más de un ELSEIF o CASE, se deberán utilizar las funciones
de Copiar y Pegar de la ventana de Programa. Se podrá también añadir diferentes
instrucciones CASE, como CASE 1, 2, 3, utilizando las mismas funciones de Copiar y
Pegar.

8.7 Cambio del nombre o de la declaración de una rutina

• Seleccionar el menú Ver: Rutina.


• Seleccionar la rutina deseada.
• Pulsar la tecla de función Decl.

Aparecerá una ventana de diálogo, en la que se visualizará la declaración de la rutina.

• Introducir los cambios que se deseen realizar (véase el apartado Creación de una
rutina nueva en este mismo capítulo).
• Seleccionar OK para confirmar los cambios.

8.8 Borrado de una instrucción o de un argumento

• Seleccionar la instrucción o el argumento que se desea borrar.


• Pulsar la tecla Borrar .

Nota Se deberá proporcionar una respuesta a la petición de palabra clave así como
al diálogo de confirmación en el caso en que se hayan activado en los parámetros del
sistema. Por defecto no contiene palabra clave pero sí pide confirmación.

Si un argumento es obligatorio (requerido), será reemplazado por <...>.

6-38 Manual de Programación Básica RAPID


Programación y Pruebas

8.9 Borrado de una rutina

• Seleccionar el menú Ver: Rutinas.


• Seleccionar la rutina deseada.
• Pulsar la tecla Borrar .

Nota Se deberá proporcionar una respuesta a la petición de palabra clave así como al
diálogo de confirmación en el caso en que se hayan activado en los parámetros del
sistema. Por defecto no contiene palabra clave pero sí pide confirmación.

8.10 Deshacer la última operación

• Seleccionar menú Editar: Deshacer.

El comando Deshacer tiene por efecto anular la última acción llevada a cabo en la
ventana seleccionada. El comando Deshacer está habilitado en las ventanas Instrucciones
de Programa, Test, Datos y Rutina. Las ventanas Instrucciones de Programa y Test
Programa comparten la misma memoria temporal para la función deshacer. Las ventanas
Datos y Rutina tienen su propia memoria temporal para la función deshacer. El menú de
comando deshacer indica el comando que se desea anular (véase la figura 32). En el caso
en que no haya nada que deba ser anulado o si la memoria temporal de la función deshacer
ha sido perdida, el comando deshacer será inhabilitado. Esta función aparece bajo
(Deshacer) en el menú de comandos.

Archivo Editar Ver


Dehacer Borrar
1 Copiar
2 Pegar
3 Ir al inicio
4 Ir al final
6 Marcar
...

Figura 32 En este ejemplo, la acción más reciente ejecutada con el comando de borrar puede
ser anulada.

Operaciones a las que es posible aplicar el comando deshacer:

- Borrar, Cortar, Pegar son acciones que son siempre reversibles.


- Cambiar Seleccionado sirve para cambiar los argumentos de una instrucción.
Cuando la operación es ordenada a través del comando Editar: Cambiar
Selección o apretando la tecla Entrar , se realizará una copia de la
instrucción completa seleccionada. Si se desea anular la operación, la instrucción
será reemplazada por esta copia.
- Argumento Opcionales sirve para añadir o eliminar argumentos en instrucciones
o llamadas de procedimientos. Deshacer funciona como Cambiar Elección.
- Para deshacer una Instrucción nueva se deberá eliminar la última instrucción
insertada.
Cada una de estas operaciones anula las memorias temporales previas de la función des-
hacer. Así por ejemplo, no será posible anular una operación previa de borrar si se ha

Manual de Programación Básica RAPID 6-39


Programación y Pruebas

insertado una instrucción nueva.

Cuando una operación de Deshacer ha sido llevada a cabo, se visualizará la parte del
programa afectado.

Limitaciones: No se podrá anular las operaciones que cambian valores de datos, como
por ejemplo ModPos y Editar:Valor.

9 Funciones especiales de edición

9.1 Buscar y cambiar

La función de buscar y cambiar permite la búsqueda y el cambio de los nombres de datos


en el programa. También se podrá buscar / cambiar llamadas a procedimientos o
funciones. Los nombres de instrucciones también podrán ser cambiados, por ejemplo,
buscar MoveL y cambiarlo por MoveJ.

Seleccionar menú Editar: Buscar en la ventana Test de Programa o Instrucciones de


Programa.

Aparecerá una ventana de diálogo (véase la Figura 33).

Buscar y Reemplazar
Módulo: Todos SOLDTUBO
Rutina: Todos main
Dirección: Adelante
Buscar: do10_2...
Cambiar: do10_3...
1(4)
MoveL p1,v100,z10,tool0;
Set do1;
Reset do10_2;
WaitTime 2;

Todo Mod... OK

Figura 33 La ventana de diálogo para Buscar y Cambiar.

6-40 Manual de Programación Básica RAPID


Programación y Pruebas

• Definir como se debe realizar la búsqueda definiendo los siguientes campos:

Campo Descripción
Módulo En el caso en que se haya seleccionado “Todos”, el nombre del
módulo utilizado aparece a la derecha del campo. Si se pulsa
Modulo o Entrar , aparecerá visualizada una lista de
módulos disponibles, y se podrá seleccionar un módulo
específico.
Rutina Buscar/Cambiar se llevará a cabo en todas las rutinas
disponibles del módulo seleccionado a partir del campo
Módulo. Si se pulsa la tecla Rutina o Entrar , aparecerá
una lista de todas las rutinas disponibles, y se podrá seleccionar
una rutina específica.
Dirección Direcciones para la búsqueda.

Buscar Campo de selección donde se muestra una lista de los nombres


disponibles para buscar al pulsar la tecla Entrar .
Cambiar Campo de selección donde se muestra una lista de los nombres
disponibles para cambiar al pulsar la tecla Entrar .

Para iniciar la búsqueda

• Mover el cursor a la parte inferior de la ventana utilizando la tecla Lista . (véase


la figura 34).

Buscar y Cambiar
Módulo: Todos SOLDTUBO
Rutina: Todos main
Dirección: Adelante
Buscar: do10_2...
Cambiar: do10_3...
1(4)
MoveL p1,v100,z10,tool0;
Set do1;
Reset do10_2;
WaitTime 2;

Cambiar Buscar Camb.tod OK

Figura 34 La ventana de Buscar y Reemplazar cuando el programa está seleccionado.

• Pulsar la tecla de función Buscar para iniciar la búsqueda.

La primera expresión encontrada aparecerá seleccionando en la parte inferior de la


ventana de diálogo.

• Apretar la tecla Cambiar para reemplazar el texto seleccionado o pulsar la tecla


Camb.tod para reemplazar todos los textos sin tener que dar una confirmación.
• Continuar la operación de búsqueda con la tecla Buscar.
• Apretar OK para finalizar la búsqueda.
Manual de Programación Básica RAPID 6-41
Programación y Pruebas

10 Creación de datos

10.1 En qué consiste un dato

Un dato sirve para almacenar valores que podrán utilizarse posteriormente en el


programa. Los datos han sido agrupados en diferentes tipos de datos que describen su
contenido y su campo de aplicación, por ejemplo:

Tipo de dato Sirve para:


num Valores numéricos (registros, contadores)
bool Valores lógicos (true o false)
robtarget Datos de posición
tooldata Datos de herramienta
wobjdata Objetos de trabajo
speedata Datos de velocidad
zonedata Datos de precisión

Para más información detallada sobre los datos y su contenido, referirse al tipo de dato
adecuado en el capítulo de Tipos de Datos de este Manual.

Los datos deberán ser definidos (declarados) antes de poder ser utilizados. Sin embargo,
según la configuración del robot, habrá una serie de datos predefinidos.

Los datos podrán ser definidos como constantes, variables o persistentes:

- El valor de una constante únicamente podrá ser cambiado manualmente.


- Una variable podrá ser modificada por el programa pero su valor de inicialización
será activado automáticamente cuando:
- el programa es leído desde un disquete o similar,
- el programa es arrancado desde el principio, es decir, desde la primera
instrucción de la rutina principal,
- el indicador de puntero de programa es movido al principio de una rutina al
seleccionar Test: Mover PP a Rutina o al principio del programa al
seleccionar Test: Mover PP a main
- Un dato persistente se describe como una variable cuyo valor de inicialización es
constantemente actualizado, de forma que corresponde al valor actual. De esta
forma su valor no será cambiado cuando se arranque el programa desde el
principio. Si se guarda el programa en un disquete u otro dispositivo de memoria
de masa, el nuevo valor de inicialización será almacenado.

10.2 La ventana de Datos de Programa

• Seleccionar el menú Ver: Datos para abrir la ventana de Datos de Programa.

La ventana visualiza todos los datos del tipo seleccionados por última vez. Los valores
actuales aparecen también visualizados (véase la figura 35).
6-42 Manual de Programación Básica RAPID
Programación y Pruebas

Archivo Editar Ver Datos Espec.

Datos Programa SOLDTUBO

Tipo de num En Sistema


dato Nombre Valor Local Módulo
3(7)
contador_a 12 X SOLDTUBO
Dato contador_b 20 SOLDTUBO
reg1 1 X USER
reg2 0 X USER
reg3 0 USER
reg4 99 USER
reg5 45 USER

Nuevo... Decl... Dupl... Instr Test

Figura 35 Todos los datos de un tipo específico están visualizados en la ventana de Datos de Programa.

Para seleccionar un tipo de dato en la ventana de Datos de Programa

• Abrir la ventana Tipos de Datos de Programa seleccionando la menú Ver: Tipos de


Datos.

Aparecerá la ventana Tipos de Datos de Programa donde se visualizará todos los tipos
de datos que tengan por lo menos un dato declarado (véase la figura 36).

Archivo Editar Ver Tipos

Tipos Datos Programa SOLDTUBO

5(7)
todos datos
bool
clock
num
Tipos de robtarget
datos tooldata
wobjdata

Todos Datos

Figura 36 La ventana de Tipos de Datos de Programa utilizada para cambiar el tipo de dato.

• Seleccionar el tipo de dato deseado y pulsar la tecla Entrar . En el caso en que


el tipo de dato deseado no esté visualizado en la ventana, el usuario podrá llamar
todos los tipos de datos seleccionando la opción todos datos o seleccionando Tipos:
Todos Tipos.

Todos los datos podrán seleccionarse escogiendo Todos.

Los datos de un tipo seleccionado podrán escogerse pulsando la tecla Datos o la tecla
Entrar .

Manual de Programación Básica RAPID 6-43


Programación y Pruebas

10.3 Creación de datos nuevos


• Abrir la ventana de Datos de Programa seleccionando el menú Ver: Datos ...

Se abrirá la ventana Datos de Programa en la que se visualizarán todos los datos del tipo
seleccionado en último lugar.

En el caso en que el usuario desee crear datos de un tipo distinto del visualizado, deberá
utilizar el menú Ver: Tipos de Datos, seleccionar los tipos de datos deseados y apretar la
tecla Entrar .

• Apretar la tecla de función Nuevo.

Aparece una ventana de diálogo en la que se visualizará el nombre de los datos (véase la
figura 37). El nombre de los datos está puesto en xxxN donde xxx representa el tipo de dato
y N representa un número que se incrementa cada vez que se crea un dato de este tipo. Por
ejemplo el primer dato del tipo clock se denominará clock1, el segundo, clock2, etc. Algu-
nos tipos de datos aparecen abreviados, como por ejemplo:

Tipo de dato Nombre predefinido Tipo de dato Nombre predefinido


num regN loaddata loadN
robtarget pN tooldata toolN
bool flagN speeddata speedN

Módulo actual

num Data Def. en SOLDTUBO

Nombre:= reg7...

Decl Cancela OK

Figura 37 Creación de un nuevo dato.

• Cambiar el nombre pulsando la tecla Entrar y especificar un nombre nuevo.

El dato recibirá automáticamente las características que mejor se adecuan al tipo utilizado,
pero también podrán ser cambiadas cuando sea necesario.

Normalmente, los datos son almacenados como una parte del programa. Sin embargo,
cuando algún dato debe estar presente en la memoria independientemente del programa
cargado, deberá ser almacenado en un módulo del sistema, por ejemplo el User. Ejemplos
de estos datos son:

6-44 Manual de Programación Básica RAPID


Programación y Pruebas

- las herramientas y los objetos de trabajo; el cambio de estos datos afectará a todos
los programas.
- las variable numéricas y otros datos que no deben ser inicializados cuando se
cambia de programa.

Si el usuario desea almacenar en el módulo utilizado y con las características estándar, podrá
finalizar pulsando la tecla OK. En otros casos se deberán definir las características:
• Pulsar la tecla de función Decl.
Aparecerá una ventana de diálogo en la que se visualiza la declaración básica de los datos
(véase la figura 38).

num Data Definición

Nombre:= reg7...
Tipo:= variable Global
En Módulo:= SOLDTUBO
1(1)
reg7:= 0 (num)

Cancela OK

Figura 38 Una declaración de un dato incluye el nombre y las características del dato.

• Seleccionar el campo adecuado y especificar las características deseadas:


- pulsando la tecla Entrar y especificando la alternativa deseada en la ventana
de diálogo que aparece (campos marcados con ...)
- seleccionando una alternativa utilizando las teclas de función (campos marcados
con la señal )
- especificando el valor directamente en el teclado numérico (valor numérico inicial).

Campo Descripción
Nombre El nombre del dato (16 caracteres como máximo).
Tipo Especifica si el dato debe ser una constante (Const), una variable
(Var) o una variable persistente (Pers).
Global/Local Especifica el alcance de los datos, por defecto Global.
En Módulo El módulo en el que se utilizarán los datos nuevos.
Valor Inicial Un valor asignado a un dato cuando, por ejemplo se realiza la
lectura de un disquete. Cambiar el valor pulsando e introducir
el nuevo valor inicial.
• Seleccionar OK para terminar la definición.
Recomendación Resulta más fácil crear un dato nuevo duplicándolo y cambiando los datos
existentes.

Manual de Programación Básica RAPID 6-45


Programación y Pruebas

10.4 Creación de nuevos datos matriz

• Abrir la ventana Datos de Programa seleccionando la función Ver: Datos.

La ventana Datos de Programa se abre y aparecen visualizados todos los tipos de datos
que se han seleccionado en último lugar.

En el caso en que el usuario desee crear datos de un tipo diferente al visualizado,


seleccionar Ver: Tipos de Datos, seleccionar el tipo de datos deseado y apretar la tecla
Entrar .

• Seleccionar Datos:Nueva Matriz

Aparecerá una ventana de diálogo en la que se pedirá el número de dimensiones 1, 2 o


3. Realizar la selección adecuada y pulsar la tecla Entrar.

Aparecerá una ventana de diálogo en la que se visualizará la declaración básica de datos


de matriz (véase la Figura 39).

Figura 39 Una declaración de datos de matriz incluye el nombre y las características de los
datos.

• Seleccionar el campo apropiado y especificar las características deseadas:

- pulsar la tecla Entrar y especificar la alternativa deseada en la ventana de diálogo


que aparece (campos marcados con ...)

- seleccionar una alternativa utilizando las teclas de función (campos marcados con el
signo )

- especificar el valor directamente utilizando el teclado numérico (valor numérico


inicial).

Campo Descripción
Nombre El nombre del dato (16 caracteres como máximo).
Tipo Especifica si el dato debe ser una constante (Const), una
variable (Var) o una variable persistente (Pers).
Global/Local Especifica el atributo de alcance del dato.
Dimensión Tamaño de las dimensiones seleccionadas.

6-46 Manual de Programación Básica RAPID


Programación y Pruebas

En Módulo El módulo en el que los datos nuevos serán almacenados.


Valor inicial El valor asignado a los datos cuando por ejemplo se realiza una
lectura desde un disquete. Para cambiar el valor se deberá
pulsar e introducir el valor inicial nuevo.

• Seleccionar OK para confirmar la definición o Cancelar para abortar la definición.

10.5 Duplicación de datos

• Abrir la ventana de Datos de Programa seleccionando el menú Ver: Datos.


• Seleccionar los datos que se desean duplicar.
• Pulsar la tecla de función Dupl.
• Especificar el nuevo nombre en la ventana de diálogo que aparece.
• Seleccionar OK para confirmar la duplicación.

10.6 Almacenamiento de datos de posición utilizando el robot

• Abrir la ventana Movimiento y especificar la herramienta y el objeto de trabajo en la


que debe basarse la posición.
• Mover el robot a la posición deseada.
• Crear datos nuevos según se indica en Creación de datos. Especificar el tipo de dato
robtarget.

La posición actual del robot será automáticamente almacenada como su valor inicial.

10.7 Datos de Rutina

Normalmente, se podrá acceder a los datos -datos de programa- desde cualquier parte
en el programa. Los datos también podrán ser vinculados a una rutina específica -
datos de rutina - y en este caso, existirán localmente dentro de la rutina.
• Abrir la ventana Datos de Programa seleccionando el menú Ver: Datos.
• Seleccionar Datos: En Rutina...
La ventana visualizará entonces los datos de rutina correspondientes a la rutina.

Manual de Programación Básica RAPID 6-47


Programación y Pruebas

11 Cambio de datos

11.1 Visualización y posible cambio del valor utilizado

• Seleccionar el dato deseado en una instrucción.


• Seleccionar menú Editar: Valor.

Aparecerá una ventana de diálogo, en la que aparecerá el valor utilizado (véase el


ejemplo de la figura 40). Para información más detallada sobre el significado de los
diferentes componentes, véase el capitulo Tipos de datos de este manual.

Valor dato actual

2(17)
tpinza: (tooldata)
robhold:= TRUE (bool)
tframe: (pose)
trans: (pos)
x:= 0.0 (num) Tipos de datos
y:= 0.0 (num)
z:= 0.0 (num)
rot: (orient)
q1:= 1.0000 (num)

TRUE FALSE Cancela OK

Figura 40 La ventana de diálogo utilizada para cambiar los valores.

• Cambiar el valor, seleccionando el campo deseado, y luego:


- Seleccionar una alternativa con las teclas de función.
- Especificar el valor directamente mediante el teclado numérico.
• Seleccionar OK para confirmar el cambio.

También se podrá abrir la ventana de diálogo según sigue:

• Seleccionar el menú Ver: Datos.


• Seleccionar el dato deseado. Si se desea visualizar otros tipos de datos, se deberá
pulsar Datos: Tipos de datos y seleccionar el tipo de dato deseado.
• Pulsar la tecla Entrar o seleccionar Datos: Valor.

Continuar como se ha indicado anteriormente cuando aparece la ventana de diálogo.

11.2 Cambio de los nombres o de las declaraciones de los datos

• Seleccionar el menú Ver: Datos.


• Seleccionar los datos deseados. Si se desea visualizar otros tipos de datos que los
visualizados, se deberá pulsar Datos: Tipos de datos y seleccionar el tipo de dato
deseado.

6-48 Manual de Programación Básica RAPID


Programación y Pruebas

• Pulsar la tecla de función Decl.

Aparece una ventana de diálogo en la que se visualizarán las declaraciones de los


datos.

• Cambiar el nombre y la declaración según se indica en el apartado Creación de datos


de este mismo capítulo.
• Seleccionar OK para confirmar el cambio.

11.3 Borrado de datos

• Seleccionar el menú Ver: Datos.


• Seleccionar los datos deseados.
• Pulsar Borrar .
• Apretar la tecla OK para confirmar la operación de borrado.

12 Gestión de Errores
Cada rutina tiene un gestor de errores que puede ser programado para procesar todos
los errores que ocurren durante la ejecución del programa. De esta forma, ciertos
errores (véase a continuación) son procesados automáticamente por el programa:

- cuando ningún paro de búsqueda es obtenido durante una búsqueda,


- cuando un archivo no puede ser abierto,
- cuando ha habido una división por 0.
- otros errores están listados en Tipos de Datos - errnum - Datos predefinidos
(Guía de Referencia RAPID).

El gestor de errores es programado de forma normal utilizando las instrucciones RAPID.


Cuando ocurre un error, se realiza un salto al gestor de errores de la rutina en que ha
ocurrido el error.

Cuando no hay ningún gestor de errores, se realiza un salto al gestor de errores de la


rutina que ha llamado la rutina correspondiente. Se puede crear también un gestor de
errores general para todod el programa dentro de la rutina principal. Si no hay ningún
gestor de errores cuando ocurre un error, la ejecución del programa se detiene y
aparecerá un mensaje de error en la pantalla de la unidad de programación.

El error podrá ser entonces solucionado en el gestor de errores y el programa podrá ser
automáticamente rearrancado como en el ejemplo de la figura 41.

Manual de Programación Básica RAPID 6-49


Programación y Pruebas

Rutina principal
.
. leer_disco
leer_disco; Open .....
MoveJ .. Set do10_1
. . r
erro
n
ERROR r r eu

TRYNEXT
RETURN
i ocu

RETRY
S
ERROR
IF ERRNO=ERR_FILEOPEN THEN
RAISE

Propone una solución, por ejemplo,


pidiendo al usuario insertar el
disco correcto.

Figura 41 El programa podrá ser rearrancado desde el gestor de errores de varias maneras diferentes.

Si el programa no consigue leer un disquete, se realizará un salto al gestor de error de la rutina


donde el error será procesado. El programa podrá entonces ser rearrancado volviendo a
ejecutar (RETRY) la instrucción que ha provocado el error, ejecutando la siguiente instrucción
(TRYNEXT) o bien regresando (RETURN) a la rutina que llama. El error también podrá ser
procesado en el gestor de errores de la rutina principal (RAISE).

Para crear un gestor de errores

• Seleccionar menú Ver: Rutinas.


• Seleccionar la rutina a la que debe pertenecer el gestor de error.
• Seleccionar menú Rutina: Añadir Gestor de Errores.

Para programar el gestor de errores

• Seleccionar la rutina a la que el gestor de errores deberá pertenecer.


• En la ventana de Rutina: Seleccionar Rutina: Gestor de errores.
En las demás ventanas: Seleccionar el menú Ver: Gestor de errores.
• Programar el gestor de errores de forma usual.
• Regresar a la parte principal de la rutina seleccionando Ver: Instr.

Para borrar un gestor de errores

• Seleccionar el menú Ver: Rutinas.


• Seleccionar la rutina a la que deberá pertenecer el gestor de errores.
• Seleccionar Rutina: Borrar Gestor de Errores.

6-50 Manual de Programación Básica RAPID


Programación y Pruebas

13 Módulos

13.1 En qué consiste un módulo

El programa del robot puede estar subdividido en módulos de programa, y cada módulo
contiene un grupo de rutinas y de datos. Además de esto, se podrán utilizar los módulos del
sistema que están siempre presentes en la memoria (véase la figura 42).

Aplicación

Programa
Módulo principal

Datos del programa

Rutina Rutinas
main

Módulos

Datos del programa

Rutinas

Módulos del sistema

Figura 42 Los datos y rutinas se agrupan para formar los módulos.

El programa entero o los módulos separados podrán ser almacenados en un disquete o en otro
tipo de memoria de masa. Los módulos del sistema se cargan automáticamente cuando se
realiza un arranque en frío del sistema.

Un módulo puede contener, por ejemplo:

- rutinas comunes para varias aplicaciones diferentes


- rutinas de cada tipo de piezas
- rutinas para cierto tipo de equipo externo, como un manipulador de piezas de trabajo.

Manual de Programación Básica RAPID 6-51


Programación y Pruebas

Los módulos del sistema pueden incluir, por ejemplo, datos generales (por ejemplo,
datos de herramienta) para todos los programas utilizados en el mismo robot.

La rutina main del programa se encuentra en uno de los módulos (el módulo que lleva
el mismo nombre que el programa).

Tanto el programa como los módulos del sistema funcionan de la misma forma una vez
que han sido cargados en la memoria. Normalmente todos los módulos pueden ser
editados mediante la unidad de programación.

13.2 Selección de los módulos

• Seleccionar el menú Ver: Módulos.

La ventana Módulos del Programa visualiza todos los módulos presentes en la


memoria del programa (véase la figura 43).

Archivo Editar Ver Modulo

Módulos Programa SOLDTUBO

Nombre Tipo
2(4)
PIEZAS Módulo Programa
Módulos SOLDTUBO Módulo Programa
USER Módulo Sistema
BASE Módulo Sistema

Nuevo.. Decl... Datos->

Figura 43 La ventana de Módulos del Programa visualiza todos los módulos del programa
de trabajo.

• Seleccionar el módulo deseado.


• Pulsar la tecla Entrar .

La ventana de Rutinas del Programa del modulo seleccionado se abre, en ella se puede
seleccionar la rutina deseada.

13.3 Crear un módulo nuevo

• Abrir la ventana Módulos de Programa seleccionando el menú Ver: Módulos.


• Pulsar la tecla de función Nuevo.

Aparece una ventana de diálogo en la que se visualizará la declaración del módulo


(véase la figura 44). El nombre del módulo por defecto es moduleN, donde N representa
un número que se incrementará cada vez que se crea un nuevo módulo.

6-52 Manual de Programación Básica RAPID


Programación y Pruebas

Definir Módulo

Nombre:= modulo1...
Tipo:= Módulo programa

Cancela OK

Figura 44 Ventana declaración de un módulo .

• Cambiar el nombre y las características del módulo seleccionando el campo


apropiado, después:
- Pulsar la tecla Entrar y especificar la alternativa deseada en la ventana de
diálogo que aparece en el visualizador (campos marcados con ...).
- Seleccionar una alternativa utilizando las teclas de función (campos marcados
con la señal ).

Campo Descripción
Nombre El nombre del módulo (16 caracteres como máximo)
Tipo Especificar si el módulo debe ser de programa o de sistema.
• Pulsar OK para finalizar la declaración del módulo.

13.4 Cambio del nombre o declaración de un módulo

• Seleccionar menú Ver: Módulo.


• Seleccionar el módulo deseado.
• Apretar la tecla de función Decl.

Aparece una ventana de diálogo en la que se visualizará la declaración de módulo.

• Realizar todos los cambios que se deseen.


• Seleccionar la tecla OK para confirmar los cambios.

13.5 Carga de un módulo de programa


• Seleccionar menú Archivo: Cargar.
Aparece una ventana de diálogo en la que se visualizarán todos los módulos y
programas existentes en el directorio utilizado (véase la figura 45).

Manual de Programación Básica RAPID 6-53


Programación y Pruebas

Cargar Unidad de
Seleccionar un programa o un módulo almacenamiento
Unidad := flp1:
MODULOS
4(4)
Nivel de directorio
.. Subir nivel
PIEZAS Módulo Programa
USER Módulo Sistema
BASE Módulo Sistema

Unidad Cancela OK

Figura 45 La ventana de diálogo utilizada para cargar los módulos.

• Si es necesario, cambiar la unidad de almacenamiento pulsando la tecla Unidad hasta


que se visualice la unidad correcta.
• Seleccionar el módulo deseado.
• Seleccionar OK para confirmar.

El módulo especificado será entonces leído en la unidad de almacenamiento y añadido al


programa.

13.6 Borrado de módulos de programa

• Abrir la ventana Módulos de Programa seleccionando el menú Ver: Módulos.


• Seleccionar el módulo deseado.
• Pulsar la tecla Borrar .

Nota Se deberá proporcionar una respuesta a la petición de palabra clave así como al
diálogo de confirmación en el caso en que se hayan activado en los parámetros del sistema.
Por defecto no contiene palabra clave pero sí pide confirmación.

13.7 Listado de todas las rutinas en todos los módulos

Normalmente sólo las rutinas contenidas en el módulo utilizado serán visualizadas en la


ventana de Rutinas de Programa. El usuario podrá, no obstante, cambiar esto de forma que
todas las rutinas de todos los módulos sean visualizadas.

• Abrir la ventana de Rutinas de Programa seleccionando el menú Ver: Rutinas.


• Seleccionar menú Rutinas: En todo el Sistema.

Para volver a listar únicamente las rutinas del módulo utilizado, seleccionar menú Rutina:
En Módulo.

6-54 Manual de Programación Básica RAPID


Programación y Pruebas

13.8 Duplicación de una rutina desde un módulo a otro módulo

• Seleccionar el módulo en el que la rutina nueva debe ser incluida.


• Listar todas las rutinas seleccionando menú Rutina: En todo el Sistema en la
ventana de Rutinas de Programa.
• Seleccionar la rutina que se desea duplicar.
• Seguir el procedimiento normal según se describe en Duplicación de una rutina.

13.9 Listado de todos los datos del módulo utilizado

Los datos contenidos en todos los módulos suelen aparecer visualizados en la ventana
de Datos de Programa. El usuario podrá, sin embargo, cambiar esto para visualizar
solamente los datos del módulo utilizado.

• Abrir la ventana Datos de Programa seleccionando el menú Ver: Datos.


• Seleccionar Datos: En Módulo.

Para volver a listar todos los datos del programa en todos los módulos, seleccionar
Datos: En todo el Sistema.

13.10 Duplicación de datos desde un módulo a otro

Los datos pueden ser duplicados desde un módulo a otro. Los datos de rutina, no
obstante, no podrán ser duplicados.

• Seleccionar el módulo en el que se desea incluir los datos nuevos.


• Seleccionar el dato que se desea duplicar en la ventana de Datos de Programa.
• Seguir el procedimiento normal, según se describe en Duplicación de datos.

13.11 Guardar módulos en un disquete u otro tipo de memoria de masa

Para guardar un módulo que ha sido almacenado previamente

• Abrir la ventana Módulos de Programa seleccionando el menú Ver: Módulos.


• Seleccionar el módulo que se desea guardar.
• Seleccionar menú Archivo: Guardar Módulo.

El módulo será sustituido en la memoria de almacenamiento y reemplazará la última


versión almacenada.

Manual de Programación Básica RAPID 6-55


Programación y Pruebas

Para guardar bajo un nombre nuevo

• Abrir la ventana Módulos de Programa seleccionando el menú Ver: Módulos.


• Seleccionar el módulo que se desea guardar.
• Seleccionar menú Archivo: Guardar Módulo como.

Aparecerá una ventana de diálogo, en la que se visualizarán todos los módulos y


programas del directorio utilizado (véase la figura 46).

Guardar Módulo Unidad de


Nombre: pieza1 ... almacenamiento
Unidad := flp1:
MODULOS
1(4)
Nivel de directorio
.. Subir nivel
PIEZA1 Módulo Programa
SYSTEM1 Módulo Sistema
SYSTEM2 Módulo Sistema

Unidad DirNuev Cancela OK

Figura 46 La ventana para guardar los módulos.

• Si es necesario, cambiar la unidad de almacenamiento pulsar Unidad hasta que


aparezca la unidad deseada en el visualizador.
• Seleccionar el directorio en el que se desea guardar el módulo. Crear un directorio
nuevo pulsando la tecla DirNuev.
• Pulsar Entrar cuando el campo Nombre haya sido seleccionado.
• Especificar el nombre nuevo en la ventana de diálogo que aparece. Pulsar OK una vez
se haya terminado de introducir el nombre nuevo.
• Seleccionar OK para confirmar la operación de guardar.

13.12 Llamada de un módulo completo de la lista

• Seleccionar menú Ver: Módulos.


• Seleccionar el módulo deseado.
• Seleccionar menú Módulo: Lista de Módulos.

El módulo completo es visualizado, incluyendo sus declaraciones de datos y rutinas, no


podrá realizar cambios.

• Salir de la lista de módulos pulsando la tecla OK.

6-56 Manual de Programación Básica RAPID


Programación y Pruebas

14 Preferencias

14.1 Definición de la Lista de Selección de Instrucciones Más Comunes

El usuario podrá definir el contenido de las listas de instrucciones Más Comunes, para
obtener una lista de instrucciones más utilizadas.

• Seleccionar menú Archivo: Preferencias.


• Seleccionar por ejemplo, Configurar Más Común 1.
• Pulsar la tecla Entrar .

Todas las instrucciones y procedimientos están visualizados. Aquellos que están


incluidos en la lista de selección están precedidos de una x (véase la figura 47).

Configuración Más Común 1


7(40)
X :=
AccSet
ClkReset
ClkStart
ClkStop
Close
Compact IF
ConfJ
ConfL

Result→ Incl Cancela OK

Figura 47 Ventana de diálogo de Características Más Comunes 1.

• Añadir una instrucción seleccionando la instrucción apropiada y pulsando la tecla


Incl. Esta instrucción estará entonces precedida por una X.
• Retirar una instrucción seleccionando la instrucción adecuada y pulsando la tecla
Excl. Esta instrucción seguirá siendo visualizada en la ventana, pero la X que le
precedía habrá desaparecido.
• Pulsar Result.

Las instrucciones incluidas en la lista de selección de instrucciones serán visualizadas


(véase la figura 48).

Manual de Programación Básica RAPID 6-57


Programación y Pruebas

Resultado Más Común 1

4(6)
:=
Compact IF
FOR
GOTO
IF
RESET

Config Mover Mover Cancela OK

Figura 48 Ventana de diálogo Resultado Más Común 1.

• Cambiar el orden de las instrucciones utilizando Mover y Mover . Mover moverá


la instrucción seleccionada de un paso hacia arriba y Mover moverá la instrucción
de un paso hacia abajo.
• Cuando la definición esté lista, pulsar OK.
Para regresar a la ventana de diálogo Configuración Más Común pulsar Config.

La lista Más Comunes utilizada será automáticamente seleccionada como lista de


selección de instrucciones activa. Las demás listas Más Comunes podrán seleccionarse
desde el menú IPL2 en la ventana Program Instr.

Nota Esta definición será almacenada en los parámetros del sistema ( Tema:Unidad de
Programación) que deberá salvarse desde la ventana Parámetros del Sistema.

14.2 Datos por defecto Global/Local

El usuario puede decidir el alcance que va a tener por defecto un dato nuevo de un tipo
de dato específico. El alcance puede ser Global, es decir accesibles desde otros
módulos, o Local, es decir, que se puede alcanzar únicamente desde el módulo donde
el dato ha sido especificado. Cuando se creen datos nuevos, las posiciones en la lista
serán utilizadas para el atributo de alcance de los datos.

• Seleccionar menú Archivo: Preferencias.


• Seleccionar Dato por defecto Global/Local y apretar la tecla Entrar .
• Aparecerá una lista con todos los tipos de datos disponibles. Marcar el tipo de dato
que se desea cambiar y apretar Global o Local.

Nota Esta definición es almacenada en los parámetros del sistema (Tema: Unidades
de Programación) desde la ventana Parámetros del Sistema. Para más información
referente a datos Global y Local, véase la Guía de Referencia RAPID.

6-58 Manual de Programación Básica RAPID


Programación y Pruebas

14.3 Definición de una regla de programación de las posiciones del robot

El sistema permite que se pueda seleccionar si se desea crear automáticamente o no datos


robtargets nuevos cuando se programan instrucciones de movimiento.

Secuencia de nominación automático

Cuando se programa una instrucción Move, se crea automáticamente un nuevo dato rob-
target. En el caso en que el último punto utilizado tenga un nombre, es decir que no se
trate de un “*”, se creará y será nombrado un nuevo robtarget según una regla secuencial.
Por ejemplo p10, p20, p30 o p12, p13, p14 etc.

Diálogo con el siguiente robtarget seleccionado

Esta regla se utiliza cuando se crean robtargets con anticipación. Cuando se programa una
instrucción Move no se crea ningún robtarget. En lugar de ello, se abrirá el diálogo de
argumento de instrucción con el siguiente robtarget secuencial seleccionado. Así, por
ejemplo, si el último robtarget utilizado era p100 el diálogo de argumento de instrucción
se abrirá con p110 seleccionado.

Diálogo con * seleccionado

Funciona de la misma manera que para “Diálogo con el siguiente robtarget seleccionado”
con la diferencia que el diálogo de argumento de instrucción es abierto con el “*” selec-
cionado.

• Seleccionar menú Archivo: Preferencias.


• Seleccionar Regla de programación de robtarget
• Seleccionar una regla de programación y apretar OK.

Manual de Programación Básica RAPID 6-59


Programación y Pruebas

6-60 Manual de Programación Básica RAPID


El lenguaje de Programación RAPID

INDICE
Página

1 Programación de una posición ................................................................................ 3


1.1 1.1 Instrucciones de posicionamiento .............................................................. 3
1.2 1.2 Programación de un desplazamiento.......................................................... 6
2 Cambio del Valor de una Salida .............................................................................. 7
3 Condiciones de Espera ............................................................................................. 8
3.1 3.1 Esperar una entrada.................................................................................... 8
3.2 3.2 Esperar un tiempo específico ..................................................................... 10
4 Control del Flujo del Programa .............................................................................. 10
4.1 4.1 Llamada a una rutina.................................................................................. 10
4.2 4.2 Control del programa dentro de una rutina ................................................ 11
5 Asignación de un valor a un dato ............................................................................ 14

Manual de Programación Básica RAPID 7-1


El lenguaje de Programación RAPID

7-2 Manual de Programación Básica RAPID


El lenguaje de programación RAPID

El lenguaje de programación RAPID

1 Programación de una posición

1.1 Instrucciones de posicionamiento

Una instrucción de posicionamiento contiene la siguiente información:

- Tipo de trayectoria (por ejemplo, lineal, eje a eje)


- La posición de destino a la que el robot deberá moverse
- Velocidad
- Tamaño de la zona (precisión), es decir, la distancia a la que debe estar el robot
de la posición de destino antes de que pueda empezar a moverse hacia la
posición siguiente. Si se selecciona fina, el robot pasara por la posición.
- Herramienta utilizada (TCP).

Tipo de trayectoria Velocidad


- L= lineal
- J= eje a eje Zona de precisión
- C= circular Herramienta (TCP)

MoveL p10, v100, z10, tpunta

Posición de destino
- *= almacenado en la instrucción
- p10= almacenado en el dato de posición p10

La velocidad y el tamaño de zona se refieren a datos, que incluyen la velocidad deseada


en mm/s, el tamaño de la zona en mm, etc. El usuario podrá crear o seleccionar estos
datos, desde una ventana en la que estaran disponibles.

La herramienta – sus dimensiones y su peso – deberán ser especificados en los datos de


herramienta (véase el Capítulo 8, Calibración y Definición de Herramientas). El TCP
de la herramienta se moverá a la posición de destino especificada cuando se ejecute la
instrucción (véase la Figura 1).

Manual de Programación Básica RAPID 7-3


El lenguaje de programación RAPID

p1 p3

m
m
10

s
10

m/
/s

0m

0m
m
m

m/
0

50
20

s
p2
MoveL p1, v200, z10, tpunta;
MoveL p2, v100, fina, tpunta;
MoveJ p3, v500, fina, tpunta;

Figura 1 Posicionamiento del robot.

Además de estos argumentos, una instrucción de posicionamiento puede contener


también argumentos opcionales, por ejemplo, argumentos utilizados para especificar
el tiempo de posicionamiento. Para más detalles, véase la instrucción adecuada en el
Capitulo 14 Instrucciones.

• Mover el robot a la posición de destino deseada.


• Llamar la Lista de Selección de Instrucciones seleccionando IPL2: Mas comunes 1.

El programa y la lista de selección especificada aparecerá entonces en la ventana


(véase la Figura 2).

Archivo Editar Ver IPL1 IPL2

Inst del Programa SOLDPIEZA1/main


M.C.1
1(1)
<SMT> 1 MoveL
2 MoveJ
3 MoveC
4 ProcCall
5 Set
6 Reset
7 WaitTime
8 WaitDi
9 Mas

Copiar Pegar ArgOpci (ModPos) Test

Figura 2 La ventana de diálogo utilizada para la programación de las instrucciones de posicionamiento.

• Seleccionar la instrucción deseada pulsando la tecla numérica adecuada.

La instrucción se añadirá directamente al programa, según se indica en la Figura 3. Los


argumentos se activarán automáticamente.

7-4 Manual de Programación Básica RAPID


El lenguaje de programación RAPID

Archivo Editar Ver IPL1 IPL2

Inst del Programa SOLDPIEZA1/main


M.C.1
1(1)
MoveL *, v100, z10, tpunta; 1 MoveL
2 MoveJ
3 MoveC
4 ProcCall
5 Set
6 Reset
7 WaitTime
8 WaitDi
9 Mas

Copiar Pegar ArgOpci ModPos Test

Figura 3 Una instrucción de posicionamiento es añadida directamente al programa.

Si los argumento son los correctos, la instrucción estará ahora lista para ser utilizada.

Sin embargo, proseguiremos y cambiaremos la velocidad y el tamaño de la zona.

• Seleccionar el argumento que se desea cambiar (v100 en este ejemplo).


• Pulsar la tecla Entrar .

Aparecerá la ventana de diálogo utilizada para seleccionar argumentos de instrucción.


El argumento seleccionado está precedido por un ? (véase la Figura 4). La parte inferior
de la ventana visualiza todos los datos de velocidad disponibles que se pueden
seleccionar.

Argumentos de instrucción
MoveL *,? v100, z10, tpunta;

Velocidad: v100

4(8)
Nuevo... vmax v5
v10 v20 v30
v40 v50 v60
v80 v100 v150

Próximo Func Más Cancelar OK

Figura 4 La ventana de diálogo utilizada para cambiar la velocidad.

• Seleccionar la velocidad deseada.


• Ir al argumento siguiente (dato de zona) pulsando Proximo.

Todos los datos de zona disponibles serán visualizados (véase la Figura 5).

Manual de Programación Básica RAPID 7-5


El lenguaje de programación RAPID

Argumentos de instrucción
MoveL *, v60,? z10, tpunta;

Zona: z10

2(5)
Nuevo... fina z5
z10 z15 z20
z30 z40 z50
z60 z80 z100

Próximo Func Más Cancelar OK

Figura 5 La ventana de diálogo utilizada para cambiar los datos de zona.

• Seleccionar el tamaño de zona deseado.


• Seleccionar OK para confirmar el cambio.

La instrucción estará ahora lista para ser utilizada.

1.2 Programación de un desplazamiento

A menudo resulta más fácil definir una posición como un desplazamiento de una
posición dada. Si, por ejemplo, el usuario conoce las dimensiones exactas de una pieza,
sólo será necesario llevar el robot a una posición (véase la Figura 6).

p1 100 mm p2

50 mm

p4 p3

MoveL p1, ...... MoveL p1, ....


MoveL p2, ...... MoveL Offs (p1, 100, 0, 0), ....
MoveL p3, ...... MoveL Offs (p1, 100, 50, 0), ....
MoveL p4, ...... MoveL Offs (p1, 0, 50, 0), ....
MoveL p1, ...... MoveL p1, ....

Figura 6 Dos maneras diferentes de programar un movimiento.

Posición original
Desplazamiento en la dirección x-
Desplazamiento en la dirección y-
Desplazamiento en la dirección z-

MoveL Offs (p1, 100, 50, 0), v100,....


7-6 Manual de Programación Básica RAPID
El lenguaje de programación RAPID

• Programar una instrucción de posicionamiento según se describe en Programación de


una posición en la página 3.
• Seleccionar el argumento de posición y pulsar la tecla Entrar .
• Pulsar Func.
• Seleccionar la función Offs y pulsar la tecla Entrar .

Aparece una ventana de diálogo donde se podrá introducir los argumentos de la función
(véase la Figura 7).

Argumento de funciones
Offs (?,<...>,<...>,<...>
....

Punto

2(5)
Nuevo... p1

Próximo Func Más Cancelar OK

Figura 7 La ventana de diálogo utilizada para la activación de un offset.

• Seleccionar el punto de arranque.


• Pulsar Próximo.
• Introducir el valor del offset en la dirección x- utilizando el teclado numérico.
• Pulsar Próximo.
• Introducir el valor del offset en la dirección y- utilizando el teclado numérico.
• Pulsar Próximo.
• Introducir el valor del offset en la dirección z- utilizando el teclado numérico.
• Pulsar OK.

2 Cambio del Valor de una Salida


Hay dos instrucciones básicas para cambiar el valor de una salida: Set para activar una
salida y Reset para desactivarla.También existe una instrucción general SetDo en donde
también se le indica que valor queremos que tenga la salida.

Una instrucción de salida contiene la siguiente información:


- Nombre de la salida que se desea cambiar
- Valor que se desea de la salida (solo para la instrucción SetDo)

Manual de Programación Básica RAPID 7-7


El lenguaje de programación RAPID

Nombre salida digital

Set do10_1;
Salida digital
Valor deseado

Reset do10_2, 1;
• Abrir el menu de selección de instrucciones (IPL) para las instrucciones de E/S
seleccionando IPL1: E/S.
• Seleccionar la instrucción deseada pulsando la tecla numérica apropiada.

El usuario deberá especificar aquí la salida que se debe cambiar. Todas las salidas
disponibles del robot aparecen visualizadas (véase la Figura 8).

Argumento de instrucciones
Set ?<EXP>;

Señal:

1(6)
do10_0 do10_1 do10_2
do10_3 do10_4 do10_5
do10_6 do10_7 do10_8
do10_9 do10_10 do10_11

Próximo Func Más... Cancelar OK

Figura 8 La ventana de diálogo utilizada para el cambio de una salida.

• Seleccionar la salida deseada.


• Seleccionar OK para confirmar.

3 Condiciones de Espera

3.1 Esperar una entrada

Una instrucción de espera de una entrada contiene la información siguiente:

- el nombre de la entrada,
- el valor de entrada necesario para que la ejecución del programa pueda
continuar.

7-8 Manual de Programación Básica RAPID


El lenguaje de programación RAPID

Entrada
Valor

WaitDI di10_1, 1;

Entrada
Valor

WaitUntil di10_2 = 1;

La instrucción de espera WaitUntil podrá utilizarse también para una instrucción de


espera con varias condiciones entrada.

• Seleccionar IPL1: Varios.


• Seleccionar la instrucción WaitDI.

El usuario deberá especificar aquí la condición que debe cumplirse para que la
ejecución del programa pueda continuar. Para ello se utilizará la ventana de diálogo
ilustrada en la Figura 9.

Argumento de Instrucciones
WaitDI ?<EXP>,<EXP>;

Entrada:

1(1)
Nuevo... di10_1 di10_2
di10_3 di10_4 di10_5
di10_6 di10_7 di10_8
di10_9 di10_10 di10_11

Próximo Func Más... Cancelar OK

Figura 9 La ventana de diálogo utilizada para la definición de una entrada.

• Seleccionar la entrada deseada.


• Seleccionar Próximo para la definición del argumento siguiente, es decir, el valor de
la entrada.
• Introducir el valor de la entrada mediante el teclado numérico.
• Pulsar OK para confirmar.

Manual de Programación Básica RAPID 7-9


El lenguaje de programación RAPID

3.2 Esperar un tiempo específico

Tiempo de espera

WaitTime 0.5;

• Seleccionar IPL1:Varios.
• Seleccionar la instrucción WaitTime.

Aparece una ventana de selección del tiempo de espera(véase la Figura 10).

Argumento de Instrucciones
WaitTime ?<EXP>,

Tiempo:

1(1)
Nuevo... reg1 reg2

Próximo Func Más... Cancelar OK

Figura 10 La ventana de selección del tiempo de espera.

• Introducir el tiempo utilizando el teclado numérico.


• Pulsar OK para confirmar.

4 Control del Flujo del Programa

4.1 Llamada a una rutina

Una instrucción de llamada contiene la información siguiente:

- nombre de la rutina que se desea llamar.


- argumentos que deben acompañar a la llamada a la rutina (en el caso de que
los lleve).

El nombre de la rutina
argumentos (si existen)

rutina1 datos1, 23;

7-10 Manual de Programación Básica RAPID


El lenguaje de programación RAPID

Una vez esta instrucción haya sido ejecutada, la rutina llamada será ejecutada. Depués
de esto, la ejecución regresará a la siguiente instrucción de la llamada a la rutina.(véase
la Figura 11).

rutina main
rutina1
..
.. ..
.. ..
rutina1; ..
Set do1; ..
.. ..

Figura 11 Una rutina que llama a otra rutina.

• Seleccionar IPL1: Flujo del Programa.


• Seleccionar la instrucción ProcCall pulsando la tecla numérica apropiada.

El usuario deberá seleccionar la rutina que se desea llamar. Todas las rutinas se
visualizarán. (véase la Figura 12).

Seleccionar procedimiento

1(2)
limpieza rutina1
abrirPinza rutina2...

Cancelar OK

Figura 12 La ventana de selección de los procedimientos.

• Seleccionar la rutina deseada y pulsar OK.

Si la rutina no tiene ningún parámetro, la instrucción estará lista para ser utilizada; en
el caso en que la rutina tenga algún parámetro (indicado por...), aparecerá una ventana
de diálogo en la que el usuario especificará los parámetros de la rutina, de la misma
forma que se especifica un argumento de una instrucción.

4.2 Control del programa dentro de una rutina

La instrucción IF se usa cuando distintas instrucciones tienen que ser ejecutadas


dependiendo de si una condición ha sido cumplida o no, por ejemplo, dependiendo de
si una entrada ha sido activada o no.

Manual de Programación Básica RAPID 7-11


El lenguaje de programación RAPID

Entrada
Condición: =, <>, >, <, >=, <=

Valor

IF di10_1 = 1 THEN
Instruc. ejecutadas si di10_1=1

ELSE
Instruc. ejecutadas si di10_1=0

ENDIF
La instrucción IF sin ELSE se usa cuando varias instrucciones deben ser ejecutadas
únicamente si se cumple una condición. Si solo se debe ejecutar una instrucción, se
puede utilizar una instrucción Compact IF.

Compact IF:
Cualquier condición Cualquier instrucción
IF di10_5 = 1 Set do10_8;
IF:
Cualquier condicion

IF di10_1 = 1 OR di10_2 = 1 THEN


Instruc. ejecutadas si di10_1=1 o di10_2=1

ENDIF

Programación de una instrucción IF para comprobar una entrada

• Seleccionar IPL1: Flujo del Programa.


• Seleccionar la instrucción IF o CompactIF pulsando la tecla numérica apropiada.
• Aparecerá una ventana en la que el usuario seleccionara el tipo de dato requerido para
la condición
• El usuario deberá especificar la condición que debe cumplirse para que la ejecución
del programa continúe.
• Cuando la condición ha sido seleccionada pulsar Entrar . (véase la Figura 13).

7-12 Manual de Programación Básica RAPID


El lenguaje de programación RAPID

Seleccionar tipo de dato:

1 IF num (ej. reg1=1)


2 IF signaldi (ej. di10_1=1)
3 IF bool (ej. flag1=TRUE)
4 ...

Cancelar OK

Figura 13 La ventana de seleccion del tipo de dato.

• Seleccionar IF signaldi y pulsar Entrar .

Aparecerá una ventana en la que se seleccionaran las entradas (véase la Figura 14).

Argumento de expresión
_

1(6)
di10_0 di10_1 di10_2
di10_3 di10_4 di10_5
di10_6 di10_7 di10_8
di10_9 di10_10 di10_11
di10_12 di10_13 di10_14
di10_15 di10_16

Texto Func Conten Cancelar OK

Figura 14 Ventana de selección de los argumentos.

• Seleccionar la entrada deseada y pulsar la tecla Entrar .

La ventana para la programación de expresiones se activara de nuevo.Todos los


operadores están visualizados aquí en la parte inferior del visualizador.

• Seleccionar el operador = y pulsar la tecla Entrar .


• Introducir 0 o 1 directamente mediante el teclado numérico.
• Seleccionar OK para confirmar el cambio.
• Añadir las instrucciones entre THEN y ELSE y entre ELSE y ENDIF seleccionando
el comodin <SMT> y eligiendo las instrucciones deseadas de la lista de selección de
instrucciones.

Si se desea borrar la sección ELSE de la instrucción se deberá:

• Seleccionar la instrucción IF completa y pulsar la tecla Entrar .

Manual de Programación Básica RAPID 7-13


El lenguaje de programación RAPID

Aparece una ventana, en la que se visualizará la posible estructura de la instrucción. Las


partes de la estructura que no están incluidas en la instrucción se encuentran entre corchetes
(véase la Figura 15).

Estructura de la instrucción

4(6)
IF
Expresion
\Lista instrucciones
\ELSE
[\ELSEIF]
End

Añadir Borrar Cancelar OK

Figura 15 La ventana para cambiar la estructura de una instrucción IF.

• Seleccionar \ELSE y pulsar la tecla Borrar.


• Seleccionar OK para confirmar el cambio.

5 Asignación de un valor a un dato


Una instrucción de asignación contiene la siguiente información:

- información referente al dato que se desea cambiar


- información referente al valor deseado, que puede ser una expresión completa,
por ejemplo, reg1+5*reg2.

Dato que se Valor


desea cambiar

reg1 := 1;

Se podrán utilizar las siguientes instrucciones para realizar cálculos sencillos con variables
numericas ( registros ).

Clear reg1 poner a cero una variable numerica


Incr reg1 incremento de 1 unidad
Decr reg1 decremento de 1 unidad
Add reg1, 5 sumar un valor (5) a una variable numerica

Programación de la instrucción de asignación

• Seleccionar IPL1 : Matemáticas.


• Seleccionar la instrucción := pulsando la tecla numérica adecuada.

7-14 Manual de Programación Básica RAPID


El lenguaje de programación RAPID

El usuario deberá seleccionar el tipo de dato que se desea cambiar. Aparecerán


visualizados todos los datos disponibles estarán visualizados (véase la Figura 16).

Seleccionar tipo de dato:


1 num := (ej. reg1:=1)
2 bool := (ej. flag1:=TRUE)
3 robtarget:= (ej. p1:=p4)
4 ...

Cancelar OK

Figura 16 La ventana para seleccionar el tipo de dato.

• Seleccionar el tipo de dato deseado y pulsar la tecla Entrar . Alternativamente,


se podrá utilizar el teclado numérico .

En el caso en que no se encuentre el tipo de dato deseado entre los tres tipos
predefinidos, se deberá seleccionar la alternativa 4 para más tipos. Los tipos de datos
que ya se han utilizado en el programa estarán listados en la mitad inferior de la ventana
(véase la Figura 17).

Para visualizar todos los tipos de datos, se deberá pulsar la tecla de función Todos .

Seleccionar tipo
de dato:
1 num := (ej. Reg1:=1)
2 bool := (ej. flag1:=TRUE)
3 robtarget:= (ej. p1:=p4)
4 ...
bool
clock
x
x
x
x
Todos

Figura 17 La ventana indica los tipos de datos utilizados en el programa.

• Seleccionar el tipo de dato deseado y pulsar la tecla Entrar

Aparecerá una ventana en la que el usuario podrá definir los datos que se desean
cambiar (véase la Figura 18).

Manual de Programación Básica RAPID 7-15


El lenguaje de programación RAPID

Argumentos de instrucciones
?<VAR>:= <EXP>;

Datos:

1(3)
Nuevo... contador_a contador_6
reg1 reg2 reg3
reg4 reg5 reg100

Próximo Func Más... Cancelar OK

Figura 18 La ventana para definir los datos que se desean cambiar. En la lista sólo se indican
los datos num.

• Seleccionar el dato deseado.


• Seleccionar el argumento siguiente pulsando la tecla Próximo.
• El usuario deberá especificar aquí el valor nuevo del dato. Para este ejercicio, hemos
seleccionado un valor constante, como por ejemplo, reg1:=5. Utilizar la tecla
(lista) para seleccionar un dato en lugar de un valor numérico.
• Mediante el teclado numérico, introducir el valor directamente.
• Seleccionar la tecla OK para confirmar.

La instrucción está ahora lista para ser utilizada.

7-16 Manual de Programación Básica RAPID


Funcionamiento en Producción

INDICE
Página

1 La Ventana de Producción.............................................................................................. 3
2 Lectura de un Programa ................................................................................................ 4
3 Corrección de la Velocidad............................................................................................. 5
4 Cambio del Modo de Ejecución del Programa............................................................. 5
5 Arranque del Programa ................................................................................................. 6
5.1 Rearranque después de un paro ............................................................................. 7
5.2 Arranque de un programa desde el principio......................................................... 7
6 Paro del Programa .......................................................................................................... 8
7 Ajuste de posiciones ........................................................................................................ 8
8 Diálogos con el usuario ................................................................................................... 10

Manual de Programación Básica RAPID 9-1


Funcionamiento en Producción

9-2 Manual de Programación Básica RAPID


Funcionamiento en Producción

Funcionamiento en Producción
La ventana de Producción aparece automáticamente en el visualizador de la unidad de
programación cuando el sistema esta conectado y el selector de modo de operación está
en la posición Auto. También se podrá acceder a esta ventana pulsando la tecla y
seleccionando la opción Producción.

1 La Ventana de Producción
La ventana de Producción sirve para arrancar y parar la ejecución del programa (véase la
Figura 1). .
Archivo Editar Ver

Info Producción CAR_LIN1 Nombre del


Rutina : main programa
Estado : Parado
Velocidad:= 75 %
Modo Ejecuc:= Continua
2(39)
MoveL p1, v500, z20, tool1;
MoveL p2, v500, z20, tool1;
Puntero programa MoveL p3, v500, z20, tool1;
Listado de Set do1;
programa Set do2;
Arranca Adelant Atrás

Figura 1 Todas las características del funcionamiento de la producción están controladas desde
la ventana de Producción.

Antes de arrancar el programa se deberá comprobar el nombre del programa y verificar


que sea el programa adecuado. El nombre del programa aparece visualizado en la esquina
superior derecha de la ventana.
• Seleccionar Ver: Info para abrir la ventana Info de Producción.
Para arrancar el programa, véase el apartado Arranque del Programa
.
Si el campo de Estado indica NO CARGADO, el usuario deberá cargar un programa
(véase el Capítulo6 Lectura de un Programa en la página 4).
Campo: Indica:
Rutina El subprograma que se está ejecutando
Estado NO CARGADO = no hay ningún programa cargado
PARADO = hay un programa cargado y puede ser
ejecutado (PP activado)
EJECUCION = ejecución del programa en curso.
NO EJECUTABLE= hay un programa cargado pero no
puede ser ejecutado

Manual de Programación Básica RAPID 9-3


Funcionamiento en Producción

Velocidad La corrección de Velocidad seleccionada como un %


Ejecución Continua = ejecución continua
Ciclo = el programa se ejecuta una vez
Listado del Programa La parte del programa que se está ejecutando
Puntero de Programa La instrucción que se va a ejecutar cuando se pulsa Arranca

2 Lectura de un Programa
Un programa podrá ser leído a partir de un disquete o de la memoria de masa del robot.
Para abrir un programa se deberán seguir los siguientes pasos:
• Seleccionar Archivo:Cargar programa.

Archivo Editar Ver


1 Cargar programa...

Aparecerá la siguiente ventana de diálogo (véase la Figura 2).

Abrir...
Seleccionar programa a cargar

Unidad:= flp1:
ROBOT1
4(5)
.. (Subir nivel)
Listado de WELD1 Programa
WELD2 Programa
programa WELDPIPE Programa
TEST/ Directorio

Unidad Cancela OK

Figura 2 La ventana de diálogo visualiza una lista de todos los programas disponibles.

El campo Unidad podrá indicar las siguientes alternativas:

- flp1 para seleccionar la unidad de disquete


- hd0a para seleccionar la memoria interna del robot (flashdisk)

• Pulsar la tecla de función Unidad hasta visualizar la unidad deseada.


• Seleccionar el programa deseado, utilizar las flechas de desplazamiento para recorrer
la lista. Seleccionar .... para subir un nivel en la estructura del directorio y pulsar
Entrar para bajar un nivel.
• Pulsar la tecla OK.

9-4 Manual de Programación Básica RAPID


Funcionamiento en Producción

3 Corrección de la Velocidad
La Velocidad del robot puede ser ajustada durante el funcionamiento del proceso de
producción. Las teclas de función indican en qué medida la Velocidad puede ser
aumentada o disminuida.
−% Disminución del valor del 5% (o del 1% si <5%)
+% Aumento del valor del 5% (o del 1% si <5%)
25% Selecciona el valor al 25%
100% Selecciona el valor al 100%

Para ajustar la Velocidad se deberán seguir los siguientes pasos:

• Seleccionar la parte central de la pantalla pulsando la tecla .


• Mediante las teclas de desplazamiento, seleccionar el campo de la Velocidad
corregida (véase la Figura 3).
Status : STOPPED
Velocidad corregida
Velocidad:= 75 %
en %
Modo Ejecuc:= Continua
2(39)
MoveL p1, v500, z20, herram1;
MoveL p2, v500, z20, herram1;
Listado del MoveL p3, v500, z20, herram1;
Set do1;
programa Set do2;
- % + % 25% 100%

Figura 3 Las teclas de función servirán para aumentar o disminuir la Velocidad programada.

• Pulsar la tecla deseada.


• Para regresar al listado de programa, utilizar la tecla .

4 Cambio del Modo de Ejecución del Programa


Un programa puede ser ejecutado de dos maneras diferentes:
- Cont – ejecución continua
- Ciclo – el programa es ejecutado una vez
El usuario podrá cambiar el modo de ejecución del programa en el campo Modo Ejecuc.

• Seleccionar la parte central de la pantalla, pulsando la tecla .


• Seleccionar Ejecuc (véase la Figura 4).

Manual de Programación Básica RAPID 9-5


Funcionamiento en Producción

Status : STOPPED
Velocidad:= 75 %
Modo Ejecuc:= Continua Modo de ejecución
2(39) del programa
MoveL p1, v500, z20, herram1;
MoveL p2, v500, z20, herram1;
Listado MoveL p3, v500, z20, herram1;
Set do1;
Programa Set do2;
Cont Ciclo

Figura 4 Las teclas de función utilizadas para seleccionar los distintos modos de funcionamiento del
programa.

• Pulsar la tecla correspondiente al tipo de ejecución deseada Cont o Ciclo.


• Para regresar al listado del programa, pulsar la tecla .

5 Arranque del Programa


Cuando se arranca el programa, el robot y cualquier equipo periférico conectado
empezará a moverse. Comprobar que se hayan realizado todos los preparativos
para la ejecución del programa. Antes de arrancar el robot, el usuario deberá
asegurarse de que no se encuentre nadie dentro del área de trabajo del robot.

En el caso en que en la línea de estado del programa se visualice la opción NO


CARGADO, significa que el usuario deberá cargar un programa.

Si hay un programa cargado y es ejecutable, se visualizará la mención PARADO en la


línea de estado del programa y a continuación se podrá arrancar el programa:

• Pulsar la tecla de función Arranca. Arranca

5.1 Rearranque después de un paro

Si lo que se desea es rearrancar la ejecución del programa a partir del lugar donde se
interrumpió, se deberá:

• Pulsar la tecla de función Arranca.


El programa podrá también ser arrancado de nuevo desde el principio. Para ello se deberá
seguir las instrucciones que se describen a continuación.

9-6 Manual de Programación Básica RAPID


Funcionamiento en Producción

5.2 Arranque de un programa desde el inicio

Para volver a arrancar el programa desde el inicio, se deberá:

• Seleccionar Editar: Arranque desde el inicio

.
Archivo Editar Ver
1 Ir a...
_ _ _ _
2 Arranca desde inicio

• Pulsar la tecla OK para confirmar.

El Puntero de Programa (PP) representado por la señal se desplazará a la primera


instrucción del programa.
• Pulsar la tecla de función Arranca.

6 Paro del Programa


La ejecución del programa podrá detenerse apretando el pulsador de paro de la unidad de
programación (véase la Figura 5).

En caso de una emergencia, se deberá pulsar uno de los pulsadores de paro de


emergencia. Esto tendrá por efecto que se cortará la alimentación a los motores del robot
y se activarán automáticamente todos los frenos de los ejes del robot.

P1

Figura 5 Este pulsador de paro sirve para detener la ejecución del programa.

Manual de Programación Básica RAPID 9-7


Funcionamiento en Producción

7 Ajuste de posiciones
• Seleccionar Ver: Posición.
Archivo Editar Ver
1 Info...
2 Posición

La función de ajuste de la ventana Producción permite ajustar las coordenadas x, y, z de


una posición robot (véase la Figura 6). El ajuste puede realizarse cuando está en estado
PARADO o en estado FUNCIONAMIENTO.

Archivar Editar Ver

Posición Producción PROG1


Rutina : main :
Estado : Parado
Velocidad:= 75 %
Modo Ejecuc:= Continua
.....
Robtarget:= ... Campo de selección
Ajuste Actual
1(1) Robtarget.
Sin datos

Figura 6 La ventana de Info de Producción. No se ha seleccionado ningún robtarget.

• Seleccionar el campo Robtarget y apretar la tecla Entrar .


• Seleccionar la posición a ajustar de la lista que aparecerá visualizada.
• Pulsar la tecla OK o Entrar para confirmar la selección.

Archivo Editar Ver

Posición de Producción PROG1


Rutina : main :
Estado : Parado
Velocidad:= 75 %
Modo Ejecuc:= Continua
.....
Robtarget:= p110...
Ajuste Actual
1(3)
x 0.00 xx.xx mm
y 0.00 yy.yy mm Listado coordenadas
z 0.00 zz.zz mm

Ajust.

Figura 7 La ventana de Producción con un robtarget seleccionado.

9-8 Manual de Programación Básica RAPID


Funcionamiento en Producción

• Seleccionar la coordenada x, y o z en la lista de coordenadas (véase la figura 7).


• Pulsar Ajuste
Aparecerá una ventana de diálogo en la que se podrá ajustar la posición.
• Introducir el valor de ajuste deseado y apretar la tecla Entrar .
- Sin cambios = 0.
- Cambio máx. cada vez = ±10 mm
Se pueden introducir varios ajustes. El dato de posición cambia inmediatamente después
de cada ajuste pero no afectará la trayectoria del robot hasta que la siguiente instrucción
que utiliza este dato de posición haya sido ejecutado. Los valores de la columna Actual
serán utilizados en esta instrucción.

El ajuste total aparecerá visualizado en la columna Ajuste.

Nota Si se ha modificado un dato de posición con nombre, todas las instrucciones que
se refieren a este dato de posición se verán afectadas por el cambio. Las posiciones que
no tienen nombre (marcadas con un * en la instrucción) no podrán ser ajustadas.

La función de ajuste puede ser inhabilitada durante el modo automático. Véase el


capítulo Parámetros del Sistema - Tópico:Unidad de Programación en el manual Guía
del Usuario

Manual de Programación Básica RAPID 9-9


Funcionamiento en Producción

8 Diálogos con el usuario


Mediante instrucciones RAPID se puede establecer una forma de comunicación entre el
programa y el usuario (véase la Figura 8).

Operador

Registro de operador

El robot está en este momento cogiendo un


objeto del transportador frontal.

Número de objetos a procesar: 25

Figura 8 Ejemplo de un mensaje enviado al usuario.

• El usuario podrá regresar a la ventana de Producción, pulsando la tecla y


seleccionando la opción Producción.
En algunas ocasiones, el usuario deberá dar su respuesta antes de que la ejecución del
programa pueda continuar (véase el ejemplo de la Figura 9).

Programa está esperando datos 7 8 9


4 5 6
¿Número de objetos que deben ser 1 2 3
procesados?:
0 1

OK

Figura 9 Utilizar el teclado numérico para responder a las preguntas del programa.

• Utilizar el teclado numérico si la respuesta está formada por un valor numérico.


• Pulsar la tecla OK.
• Si aparece un texto visualizado encima de las teclas de función, el usuario podrá
responder seleccionando la alternativa deseada (véase la figura 10).

9-10 Manual de Programación Básica RAPID


Funcionamiento en Producción

Seleccionar el programa a ejecutar:

Front A Front B Front C Otros SERVICIO

Figura 10 Los diálogos del usuario podrán crearse según las necesidades para adaptarse a cualquier
instalación robot.

Sólo se podrá salir de la ventana de diálogo anterior respondiendo a la pregunta o


deteniendo la ejecución del programa.

Manual de Programación Básica RAPID 9-11


Funcionamiento en Producción

9-12 Manual de Programación Básica RAPID


Parámetros del Sistema

Manual de Programación Básica RAPID 10-23


Referencia Rápida

INDICE
Página

1 Ventana de Movimiento ................................................................................................. 3


1.1 Ventana: Movimiento ............................................................................................. 3
1.1.1 Menú: Especial............................................................................................. 3
2 Ventana de Entradas/Salidas.......................................................................................... 4
2.1 Ventana: Entradas/Salidas....................................................................................... 4
2.1.1 Menú: Archivo ............................................................................................. 4
2.1.2 Menú: Editar ................................................................................................ 5
2.1.3 Menú: Ver..................................................................................................... 5
3 Ventana de Programa ..................................................................................................... 6
3.1 Movimiento entre diferentes partes del programa.................................................. 6
3.2 Menús generales ..................................................................................................... 7
3.2.1 Menú: Archivo ............................................................................................. 7
3.2.2 Menú: Editar ................................................................................................ 8
3.2.3 Menú: Ver..................................................................................................... 9
3.3 Ventana: Instrucciones de Programa ...................................................................... 10
3.3.1 Menú: IPL_1 (visualiza las diferentes listas de selección de instrucciones)
................................................................................................................................ 10
3.3.2 Menú: IPL_2 (visualiza las diferentes listas de selección de instrucciones)
................................................................................................................................ 11
3.4 Ventana: Rutinas del Programa............................................................................... 12
3.4.1 Menú: Rutina................................................................................................ 13
3.4.2 Menú: Especial............................................................................................. 14
3.5 Ventana: Datos del Programa ................................................................................. 14
3.5.1 Menú: Datos................................................................................................. 15
3.5.2 Menú: Especial............................................................................................. 15
3.6 Ventana: Tipos de Datos del Programa................................................................... 16
3.6.1 Menú: Tipos ................................................................................................. 16
3.7 Ventana: Test del Programa .................................................................................... 17
3.7.1 Menú: Test.................................................................................................... 17
3.8 Ventana: Módulos del Programa............................................................................. 18
3.8.1 Menú: Módulo.............................................................................................. 18
4 Ventana de Producción ................................................................................................... 19
4.1 Ventana: Funcionamiento en Producción ............................................................... 19
4.1.1 Menú: Archivo ............................................................................................. 19
4.1.2 Menú: Editar ................................................................................................ 19
4.1.3 Menú: Ver..................................................................................................... 20

Manual de Programación Básica RAPID 12-1


Referencia Rápida

5 Administrador de Archivos............................................................................................ 21
5.1 Ventana: Administrador de Archivos ..................................................................... 21
5.1.1 Menú: Archivo............................................................................................. 21
5.1.2 Menú: Editar ................................................................................................ 22
5.1.3 Menú: Ver .................................................................................................... 22
5.1.4 Menú: Opciones ......................................................................................... 22
6 ventana de Servicio ......................................................................................................... 23
6.1 Menús generales ..................................................................................................... 23
6.1.1 Menú: Archivo............................................................................................. 23
6.1.2 Menú: Editar ................................................................................................ 24
6.1.3 Menú: Ver .................................................................................................... 25
6.2 Ventana Registro de Servicio ................................................................................. 26
6.2.1 Menú: Especial ............................................................................................ 26
6.3 Ventana de Calibración de Servicio........................................................................ 27
6.3.1 Menú: Calib ................................................................................................. 27
6.4 Ventana de Conmutación de Servicio..................................................................... 28
6.4.1 Menú: Com .................................................................................................. 28
7 Parámetros del Sistema .................................................................................................. 29
7.1 Ventana: Parámetros del Sistema ........................................................................... 29
7.1.1 Menú: Archivo............................................................................................. 29
7.1.2 Menú: Editar ................................................................................................ 30
7.1.3 Menú: Temas................................................................................................ 30
8 Ventana: ArcWare........................................................................................................... 32
8.1 Ventana: Test del Programa ............................................................................ 32
8.2 Ventana: Ejecución del Programa ................................................................... 33

12-2 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Movimiento

1 Ventana de Movimiento

1.1 Ventana: Movimiento

Espec

Mvto. manual Robot Pos:

Unidad: IRB x: 1234.5 mm


Mvto: Lineal y: -244.9 mm Posición
z: 12.8 mm
q1: 0.7071 actual robot
Parámetros Coord: Base q2: 0.0000
de movimiento Herram: tool0... q3: 0.0000
WObj: Wobj0... q4: -0.7071
utilizados
Bloq. palanca: Ninguno Movimiento
Incremento: No y z x resultante de
Mundo Base Herram WObj
las diferentes
deflexiones de
la palanca de
mando

1.1.1 Menú: Especial

Especial
1 Alinear...
2 Incrementos...
3 Supervisión del movimiento...
4 Preferencias...

Comando Sirve para:


Alinear Alinear la herramienta (ver página 4-9)
Incrementos Especificar los tamaños de los incrementos defini-
dos por el usuario (ver página 4-14)
Supervisión del movimiento Activar o desactivar la supervisión de movimiento
(ver página 6-6)
Preferencias Personalizar la ventana de movimiento (véase
página 6-4)

Manual de Programación Básica RAPID 12-3


Ventana de Entradas/Salidas Referencia Rápida

2 Ventana de Entradas/Salidas

2.1 Ventana: Entradas/Salidas

Archivo Editar Ver Alias IO Special

Entradas/Salidas
Nombre de Todas las señales
la lista de E/S Nombre Valor Tipo
4(64)
di10_1 1 DI
di10_2 0 DI
pinza1 0 DO
pinza2 1 DO
Lista de pinza3 1 DO
E/S pinza4 1 DO
nu_progr 13 GO
errorweld 0 DO

0 1

2.1.1 Menú: Archivo

Archivo
1 Imprimir...
2 Preferencias...

Comando Sirve para:


Imprimir imprimir la lista de E/S utilizada (ver página 5-8)
Preferencias realizar una lista de preferencias en la ventana de
Entradas/Salidas (ver página 5-4)

12-4 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Entradas/Salidas

2.1.2 Menú: Editar

Editar
1 Ir a ...
2 Ir al inicio
3 Ir al Final
4 Habilitar tecla de bloqueo
(Desbloquear todo)

Comando: Sirve para:


Ir a... ir a una línea específica de la lista
Ir al inicio ir a la primera línea de la lista
Ir al final ir a la última línea de la lista
Habilitar tecla de bloqueo desbloquear todas las señales bloqueadas

2.1.3 Menú: Ver

Ver
1 Más Comunes
2 Todas las señales
3 Entradas digitales
4 Salidas digitales
5 E/S Analógicas
6 Grupos E/S
7 Seguridad
8 Unidades E/S
9 Bloqueado

Comando: Sirve para visualizar: (ver página 5-4)


Más Comunes la lista más común
Todas las señales todas las señales del usuario
Entrada digital todas las entradas digitales
Salida digital todas las salidas digitales
E/S Analógica todas las señales analógicas
Grupos E/S todos los grupos de señales digitales
Seguridad todas las señales de seguridad
Unidades E/S todas las unidades de E/S
Bloqueado bloquear una señal

Manual de Programación Básica RAPID 12-5


Ventana de Entradas/Salidas Referencia Rápida

2.1.4 Menú: Alias IO

Alias IO
1 Todas las señales
2 Entradas digitales
3 Salidas digitales
4 Salidas digitales
5 E/S Analógicas
6 Grupos E/S

Comando: Sirve para visualizar: (ver página 7-4)


Todas las señales todas las señales del usuario
Entrada digital todas las señales de entrada digital

Salida digital todas las señales de entrada digital

Analógica todas las señales de entrada y salida analógica

Grupos todos los grupos de señales digitales

Habilitar tecla de bloqueo desbloquear todas las señales bloqueadas

2.1.5 Menú: Especial

Especial
1 Buses de E/S

Comando: Sirve para visualizar: (ver página 5-4)


Buses de E/S recuperar un bus de E/S que presentaba fallos
(véase página 7-10)

12-6 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Programa

3 Ventana de Programa

3.1 Movimiento entre diferentes partes del programa

Aplicación

Programa
Ver: Datos

Datos del programa

Ver: Rutina main


Ver: Rutinas
Rutina actual
Ver: Datos de Rutina
Rutina Sub-
principal Datos rutinas
Ver: Instrucciones
Instrucciones
Ver: Gestor de errores
Gestor
de errores

Ver: Módulos

Módulo User del sistema

Manual de Programación Básica RAPID 12-7


Ventana de Programa Referencia Rápida

3.2 Menús generales

3.2.1 Menú: Archivo

Archivo

1 Cargar...
2 Nuevo...
3 Guardar programa
4 Guardar prog. como...

5 Imprimir...
6 Preferencias...
7 Verificar programa
8 Cerrar programa

9 Guardar Módulo
0 Guardar Módulo como... Sólo aparece en la ventana
de módulo

Comando: Sirve para:


Cargar Leer programa de la memoria de masa (pág 6-7)
Nuevo crear programas nuevos (pág 6-6)
Guardar programa guardar programa en la memoria de masa (pág 6-
29)
Guardar prog.como guardar programas en la memoria de masa con
nombres nuevos (pág 6-29)
Imprimir la impresión del programa (pág 6-22)
Preferencias realizar preferencias en la ventana de Programa
(pág 6-62)
Verificar Programa la comprobación de que el programa es correcto
(pág 6-22)
Cerrar Programa Eliminación del programa de la memoria de
programa
Guardar Módulo guardar un módulo en la memoria de masa (pág 6-
61)
Guardar Módulo como guardar un módulo en la memoria de masa bajo un
nombre nuevo (pág 6-61)

12-8 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Programa

3.2.2 Menú: Editar

Editar
Deshacer “Ultima acción”
1 Cortar
2 Copiar
3 Pegar
4 Ir al inicio
5 Ir al final
6 Marcar
7 Cambiar selección
8 Valor
9 ModPos
0 Buscar...
Ver/Ocultar IPL

Comando Sirve para:


Deshacer llevar a cabo una acción de anulación de la última
acción realizada y a la que se le puede aplicar el
comando deshacer en la ventana seleccionada (pág
6-38)
Cortar cortar las líneas seleccionadas (pág 6-22)
Copiar copiar las líneas seleccionadas (pág 6-22)
Pegar pegar los elementos copiados o cortados en un
programa (pág 6-22)
Ir al inicio ir a la primera línea (pág 6-31)
Ir al final ir a la última línea (pág 6-31)
Marcar seleccionar varias líneas (pág 6-31)
Cambiar selección cambiar un argumento de instrucción (pág 6-34)
Valor mostrar el valor utilizado (del argumento
seleccionado) (pág 6-53)
Mod Pos modificar una posición (pág 6-32)
Buscar buscar / reemplazar un argumento específico (pág
6-39)
Ver / Ocultar IPL Ver/ocultar una lista de selección de instrucciones
(pág 6-16)

Manual de Programación Básica RAPID 12-9


Ventana de Programa Referencia Rápida

3.2.3 Menú: Ver

Ver
1 Instr. “<última rutina>”
2 Rutinas
3 Datos “<último tipo>”
4 Tipos de Datos
5 Test
6 Módulos

7 Rutina Main
8 Rutina seleccionada

9 Gestor de errores

Comando Sirve para:


Instr. las instrucciones de la rutina (pág 6-13)
Rutinas lista de todas las rutinas – (pág 6-10)
Datos los datos del programa – (pág 6-48)
Tipos de Datos lista de todos los tipos de datos -(pág 6-48)
Test la ventana de Test del Programa (pág 6-23)
Módulos lista de todos los módulos – (pág 6-57)
Rutina Main las instrucciones de la rutina principal (pág 6-12)
Rutina Seleccionada la instrucción de la rutina seleccionada (pág 6-12)
Gestor de errores el gestor de errores de la rutina utilizada (pág 6-54)

12-10 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Programa

3.3 Ventana: Instrucciones de Programa


Archivo Editar Ver IPL_1 IPL_2

Instrucciones de Programa WELDPIPE/main

1(26)
!Datos iniciales
contador:=0;
!Ir a la posición inicial
MoveL pInicio,v500,fine,tpinza;
Instrucciones WaitUntil DI10_1=1;
!Inicio
Set do10_4;
abrir_pinza;
MoveJ *,v500,z10,tpinza;

Copiar Pegar ArgOpci (Modpos) Test

Ir a la ventana de Test del Programa

3.3.1 Menú: IPL_1 (visualiza las diferentes listas de selección de instrucciones)

IPL_1
1 Comunes
2 Flujo de Prog.
3 Varios
4 Valores de Mvto
5 Movimiento y Proceso
6 E/S
7 Comunicaciones
8 Interrupcciones
9 Recuperación Errores
0 Sistema y Tiempo
Matemáticas

Manual de Programación Básica RAPID 12-11


Ventana de Programa Referencia Rápida

3.3.2 Menú: IPL_2 (visualiza las diferentes listas de selección de instrucciones)


IPL2
1 Más Comúnes 1
2 Más Comúnes 2
3 Más Comúnes 3

4 Ajustes Mov.Avanz.
5 Mov.Avanzados.
6 Ordenador Ext.
7 MultiTarea
8 Soporte RAPID
9 Servicio

12-12 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Programa

3.4 Ventana: Rutinas del Programa

Archivo Editar Ver Rutina Espec

Rutinas del Progr WELDPIPE/


Rutinas En Módulo
Nombre Tipo
4(6)
limpieza
mesa1
givedist num Un valor de retorno
main de una función
Rutinas soldar1
soldar2

Nuevo... Decl... Dupl... Datos Test

Crear una rutina nueva Duplicar


Cambiar la declaración Ver los datos de rutina

Manual de Programación Básica RAPID 12-13


Ventana de Programa Referencia Rápida

3.4.1 Menú: Rutina

Rutina
1 Datos de Rutina...

2 Instrucciones
(Gestor de errores)
(Gestor atrás)

5 En Módulo
6 En todo el Sistema

7 Añadir Gestor de Errores


8 Añadir Gestor atrás

Comando: Sirve para:


Datos de Rutina crear una rutina nueva (pág 6-8)
Instrucciones visualizar las instrucciones de la rutina
seleccionada
Gestor de errores visualizar el gestor de errores de la rutina
seleccionada
Gestor atrás visualizar el gestor de ejecución hacia atrás de la
rutina seleccionada
En Módulo visualizar únicamente las rutinas en el módulo
seleccionado (pág 6-60)
En todo el Sistema visualizar todas las rutinas de todos los módulos
(pág 6-60)
Añadir Gestor de Errores añadir / borrar un gestor de error a la rutina
seleccionada (pág 6-54)
Añadir Gestor atrás añadir / borrar un gestor de ejecución hacia atrás a
la rutina seleccionada (véase el Manual de
Referencia RAPID - Programación off-line)

3.4.2 Menú: Especial

Especial
Espejo...

Comando: Sirve para:


Espejo crear una imagen espejo de una rutina o de un
módulo (pág 6-41)

12-14 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Programa

3.5 Ventana: Datos del Programa

Archivo Editar Ver Datos Especial

Datos Programa WELDPIPE/


Tipos de tooldata En Módulo
datos Nombre
3(3)
Datos gripper
gun1
gun2

Nuevo... Decl... Dupl... Tipos-> Test->

Ir a la ventana Test del


Crear nuevos datos Duplicar Programa
Cambiar la declaración Ver todos los tipos de datos

3.5.1 Menú: Datos

Datos
1 Valor
2 Tipos

3 En Módulo
4 En todo el Sistema
5 En Rutina “nombre rutina”

6 Nueva Matriz

Comando: Sirve para:


Valor leer o cambiar el valor utilizado de los datos
seleccionados (pág 6-53)
Tipos llamar a la lista con todos los tipos de datos (pág 6-
48)
En Módulo Ver únicamente los datos de este módulo (pág 6-
60)
En Sistema Ver todos los datos del sistema (pág 6-60)
En Rutina llamar todos los datos de rutina
Nueva Matriz declarar un dato de matriz nuevo

Manual de Programación Básica RAPID 12-15


Ventana de Programa Referencia Rápida

3.5.2 Menú: Especial

Especial
1 Definir Coord...

2 Ir a posicion seleccionada

Comando: Sirve para:


Definir Coord la definición de una herramienta, de un objeto de
trabajo o de un desplazamiento de programa (véase
el Capítulo 8, Calibración)
Ir a posicion seleccionada Mover el robot a la posición seleccionada

12-16 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Programa

3.6 Ventana: Tipos de Datos del Programa

Archivo Editar Ver Tipos

Tipos Datos Programa WELDPIPE/

5(6)
Todos datos
bool
num
robtarget
Tipos de tooldata
datos wobjdata

Todos Datos

3.6.1 Menú: Tipos

Tipos
1 Datos

2 Tipos Utilizados
3 Todos tipos

Comando: Sirve para:


Datos llamar todos los datos de un tipo seleccionado
Tipos Utilizados llamar únicamente aquellos tipos de datos que son
utilizados
Todos tipos llamar todos los tipos de datos (pág 6-49)

Manual de Programación Básica RAPID 12-17


Ventana de Programa Referencia Rápida

3.7 Ventana: Test del Programa

Archivo Editar Ver Especial

Parámetros de Test Programa WELDPIPE/main


ejecución del Velocidad:= 50%
Ejecución:= Continua
test 1(26)
Puntero de !datos iniciales
contador:=0;
Programa !Ir a la posición de inicio
MoveL pinicio,v100,FINE,tpinza;
WaitUntil Di10_1=1;
!Inicio
Set do10_5;
abrir_pinza;

Arranca Adelant Atrás ModPos Instr

Ir a la ventana Instrucciones del Programa

12-18 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Programa

3.7.1 Menú: Test

Especial
1 Mover Cursor al PP
2 Mover PP al Cursor
3 Mover PP a Main
4 Mover PP a Rutina
5 Llama Rutina
6 Llamada Rutina de Servicio...
7 Ir a posición seleccionada...
8 Simular

Comando: Sirve para:


Mover Cursor al PP arrancar desde la última instrucción ejecutada
(pág 6-26)
Mover PP al Cursor arrancar desde la instrucción seleccionada
(pág 6-26)
Mover PP a Main arrancar desde la rutina main (pág 6-26)
Mover PP a Rutina arrancar dsde la rutina seleccionada(pág 6-26)
Llama Rutina arrancar a partir de cualquier rutina sin perder el
contexto (véase la página-28)
Llamada Rutina de Servicio ejecutar una rutina de servicio configurada sin
perder el contexto (véase la página-28)
Ir a posición seleccionada Mover el robot a la posición seleccionada
Simular permitir la ejecución del programa en el modo
MOTORES OFF

Manual de Programación Básica RAPID 12-19


Ventana de Programa Referencia Rápida

3.8 Ventana: Módulos del Programa

Archivo Editar Ver Módulo

Módulos del Programa WELDPIPE

Nombre Tipo
2(4)
mesa1 Módulo de Programa
Módulos weldpiper Módulo de Programa
User Módulo de Sistema
Base Módulo de Sistema

Nuevo... Decl. Datos

Crear un módulo nuevo Visualizar los datos del programa


Cambiar la declaración

3.8.1 Menú: Módulo

Módulo
1 Datos
2 Lista de Módulos

Comando: Sirve para:


Datos visualizar los datos del modulo
Lista de Módulos visualizar la lista completa de módulos (pág 6-62)

12-20 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Producción

4 Ventana de Producción

4.1 Ventana: Funcionamiento en Producción

Archivo Editar Ver

Info Producción CAR_LIN1


Rutina : main
Estado : PARADO
Velocidad : 75 %
Puntero de Modo Ejecución : Continuo
Programa
2(39)
MoveJ p10, v500, z20, tool1;
MoveL p20, v500, z20, tool1;
Lista instrucciones MoveL p30, v500, z20, tool1;
Set do10_1;
programa Set do10_2;

Arranca Adelant Atrás

4.1.1 Menú: Archivo

Archivo
1 Cargar Programa ...

Comando Sirve para:


Cargar Programa cargar un programa (pág 9-4)

4.1.2 Menú: Editar

Editar
1 Ir a la Linea...
2 Arrancar desde el Inicio

Comando Sirve para:


Ir a la Linea ir a una instrucción específica
Arrancar desde el Inicio ir a la primera instrucción del programa (pág 9-7)

Manual de Programación Básica RAPID 12-21


Ventana de Producción Referencia Rápida

4.1.3 Menú: Ver

Ver
1 Info ...
2 Posición

Comando Sirve para visualizar:


Info el programa en la parte inferior de la ventana
Posición ajustar una posición (pág 9-8)

12-22 Manual de Programación Básica RAPID


Referencia Rápida Administrador de Archivos

5 Administrador de Archivos

5.1 Ventana: Administrador de Archivos


Archivo Editar Ver Opcion

Administrador archivos
Unidad utilizada flp1:/WELDINGS/TEST Directorio utilizado
Nombre Tipo Fecha Ultimo cambio
2(12)
realizado
.. Subir un nivel ..
PROC1 Programa 1999-05-28
PROC2 Programa 2000-05-09
Archivos PROCFUNC Módulo Programa 1993-04-01
WDATA Módulo Programa 2001-03-15
WTOOLS Directorio 2000-02-01
RESULTS Directorio 2001-04-06

Anterior

5.1.1 Menú: Archivo

Archivo
1 Crear Directorio ...
2 Renombrar...
3 Copiar...
4 Mover...
5 Imprimir archivo

Comando: Sirve para:

Crear Directorio crear un directorio nuevo 11-5


Renombrar cambiar el nombre de un archivo seleccionado
página 11-5
Copiar copiar un archivo o un directorio seleccionado
(pág 11-6)
Mover mover un archivo seleccionado o un directorio
(pág 11-7)
Imprimir archivo imprimir un archivo en una impresora

Manual de Programación Básica RAPID 12-23


Administrador de Archivos Referencia Rápida

5.1.2 Menú: Editar


Editar
1 Ir a la Linea...
2 Ir al Inicio...
3 Ir al Final...

Comando: Sirve para:

Ir a la Linea ir a una línea específica de la lista


Ir al inicio ir a la primera línea de la lista
Ir al Final ir a la última línea de la lista

5.1.3 Menú: Ver

Ver
1 [hd0a :]
2 [flp1:]Disc#12

Comando: Sirve para ver:

hd0a: Ver los archivos contenidos en la memoria flash


(pág-13-4)
flp1: Ver los archivos contenidos en el disquete (pág-13-
4)

5.1.4 Menú: Opciones


Opciones
1 Formatear...
2 Conversores RAPID...

Comando: Sirve para:

Formatear formatear un disquete página 11-7


Conversores RAPID conversión de versiones antiguas de programa

12-24 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Servicio

6 Ventana de Servicio

6.1 Menús generales

6.1.1 Menú: Archivo

Archivo
1 Guardar regstr. como...
2 Guardar regs como...
3 Salvaguarda..
4 Recuperar...

Reiniciar...

Comando Sirve para:


Guardar regstr. como guardar registros de error en un disquete (pág 11-
14)
Guardar regs como... guardar todos los registros en un disquete (pág 11-
14)
Salvaguarda Hacer una operación de Backup (pág 11-16)
Recuperar Hacer una operación de Restore (pág 11-16)
Reiniciar llevar a cabo un rearranque del robot

Manual de Programación Básica RAPID 12-25


Ventana de Servicio Referencia Rápida

6.1.2 Menú: Editar

Editar
1 Ir a ...
2 Ir al inicio
3 Ir al final
4 Info...

Comando Sirve para:


Ir a ir a una línea específica de la lista
Ir al inicio ir a la primera línea de la lista
Ir al final ir a la última línea de la lista
Info muestra información referente a los registros de
mensaje seleccionadas página 11-12

12-26 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Servicio

6.1.3 Menú: Ver

Ver
1 Registro
2 Fecha y hora...
3 Calibración

4 Conmutación
5 BaseFrame
6 Definición de dos ejes
7 Info Sistema

Comando Sirve para:


Registro visualizar los diferentes tipos de registros de error
pág 11-10
Fecha y hora actualizar la fecha y hora página 11-10
Calibración calibrar el robot página 11-15
Conmutación conmutación de los motores (ver el Manual de Pro-
ducto/Reparaciones)
BaseFrame Calibrar el sistema de coordenadas de la base (ver
el Capítulo 8, Calibración)
Definición de dos ejes calibrar el sistema de coordenadas de la base para
un manipulador de dos ejes (ver el Capítulo 8, Cal-
ibración).
Info del Sistema visualizar la información del sistema página 11-15

Manual de Programación Básica RAPID 12-27


Ventana de Servicio Referencia Rápida

6.2 Ventana Registro de Servicio

Archivo Editar Ver Especial


No. de mensajes
Servicio Registro Hora en que ocurrió
Mensajes el último mensaje
Nombre # Ultimo
4(9)
Común 10 0810 20:30.32
Operacional 20 0810 20:25.14
Sistema 0
Hardware 1 0810 20:30.32
Lista Programa 0
registro Movimiento 3 0810 19:15.12
Operador 4 0809 12:30.00
Comunicacion E/S 0

Msjes->

Visualización de los mensajes


de la lista seleccionada

6.2.1 Menú: Especial

Especial
1 Borrar Registro
2 Borrar todos los Registros

3 Renovar Registro por Evento

Comando: Sirve para:


Borrar Registro borrar el contenido del registro seleccionado
página 11-12
Borrar todos los Registros borrar el contenido de todos los registros página
11-13
Renovar Registro por Evento actualizar el registro directamente cuando se pro-
duce el mensaje el comando pasa a “Renovar reg-
istro por comando“ cuando se selecciona, lo que
significa que la lista no será actualizada hasta que
se haya pulsado la tecla de función Renovar pág
11-13

12-28 Manual de Programación Básica RAPID


Referencia Rápida Ventana de Servicio

6.3 Ventana de Calibración de Servicio

Archivo Editar Ver Calib

Servicio Calibración

Unidad Estado
1(4)
Robot Sincronizado
Estado de Side1 Sincronizado
ajuste Side2 Sincronizado
Track Sincronizado

6.3.1 Menú: Calib

Calib
1 Actualizar Cont. Rev...
2 Calibracion Fina...

Comando: Sirve para:


Actualizar Cont. Rev... actualización de los contadores de vueltas (ver
Capítulo 8, Calibración)
Calibracion Fina... ATENCION. Calibración fina, es necesario la uti-
lización del nivel electronico (véase el Manual de
Producto/Reparaciones)

Manual de Programación Básica RAPID 12-29


Ventana de Servicio Referencia Rápida

6.4 Ventana de Conmutación de Servicio

Archivo Editar Ver Com

Servicio Conmutación

Unid Estado
1(4)
Robot Conmutado
Side1 Conmutado
Estado Side2 Conmutado
Track Conmutado

6.4.1 Menú: Com

Com

1 Conmutar...

Comando: Sirve para:


Conmutar conmutacion de los motores (ver el Manual de Pro-
ducto/Reparaciones)

12-30 Manual de Programación Básica RAPID


Referencia Rápida Parámetros del Sistema

7 Parámetros del Sistema

7.1 Ventana: Parámetros del Sistema

Archivo Editar Temas Tipos

Parámetros Sistema E/S Tema parámetros


Tipo de Señales de Usuario
parámetro Parámetros Info
1(10)
Nombre señal do10_1
Nombre de unidad d327_10
Parámetros Tipo de señal DO
Número de señal 1
Max Lógico 0.000000
Max Físico 0.000000
Min Lógico 0.000000
Min Físico 0.000000

Cancelar OK

7.1.1 Menú: Archivo

Archivo
1 Cargar Parámetros Guardados...
2 Añadir Nuevos Parámetros...
3 Guardar Todo como...
4 Guardar como...

5 Comprobar Parámetros
Reiniciar...

Comando: Sirve para:


Cargar Parámetros Guardados cargar los parámetros a partir de un disquete
página 10-7
Añadir Nuevos Parámetros añadir los parámetros a partir de un disquete
página 10-7
Guardar Todo como guardar todos los parámetros en un disquete
página 10-6
Guardar como guardar parámetros en un disquete página 10-6
Comprobar Parámetros comprobar los parámetros antes de volver a

Manual de Programación Básica RAPID 12-31


Parámetros del Sistema Referencia Rápida

inicializar página 10-5


Reiniciar rearrancar el robot página 10-4

7.1.2 Menú: Editar

Editar
2 Ir al Inicio
3 Ir al final
3 Ir a ...

4 Mostrar registro de Cambios...


5 Cambiar Códigos Clave...

Comando: Sirve para:

Ir al Inicio ir a la primera línea


Ir al final ir a la última línea
Ir a ir a una línea específica
Mostrar registro cambios visualizar información referente a las modifica-
ciones más recientes página 10-5
Cambiar Códigos Acceso cambiar los códigos clave página 10-19

7.1.3 Menú: Temas

Temas
1 Controlador
2 Comunicación
3 Señales de E/S
4 Manipulador
5 Unidad de programación
6 Procesos

Todos los Temas

Comando: Sirve para visualizar:

Controlador el parámetro del tema Controlador

Comunicación el parámetro del tema Comunicación

Señales de E/S los parámetros del tema E/S página 10-9

12-32 Manual de Programación Básica RAPID


Referencia Rápida Parámetros del Sistema

Manipulador los parámetros del tema del manipulador página


10-27
Procesos los parámetros del tema Soldadura al arco (ver el
Capítulo 17, página 17-61, Parámetros del Sistema
Software de Proceso)
Unidad de Programación los parámetros del tema Unidad de Programación
página 10-18
Todos los Temas todos los temas página 10-3

Manual de Programación Básica RAPID 12-33


Ventana: ArcWare Referencia Rápida

8 Ventana: ArcWare

8.1 Ventana: Test del Programa

Archivo Editar Ver Test Sol.arc

Test Programa WELDPIPE/main


Velocidad: 100%
Ejecución:= Continua

Bloqueo: Soldadura Track

1(26)
>> !Datos Iniciales
contador:=0;
!Ir a la posición de inicio
MoveJ pInicio,v1000,fine,tool1;

Arranca Adelant Atras ModPos Instr

Menú: SoldaduraArco

Soldadura arco
1 Ajuste sold...
2 Ajuste oscil ...
3 Sensor...
4 Bloquear...
5 Alim hilo manual ...
6 Gas act/desact...
7 Selecc. sistema AW...
8 Incrementos...

Comando Sirve para :


Ajuste de sold ajustar los datos de soldadura (pág 17-8)
Ajuste de oscil ajustar los datos de oscilación (pág 17-10)
Sensor ajustar los datos de costura (no disponible) (pág 17-
11)
Bloquear bloquear ciertas partes del proceso (pág 17-12)
Alim hilo manual alimentar de hilo manual (pág 17-13)
Gas act./desact. activar / desactivar el gas manual (pág 17-13)
Selecc. sistema de AW seleccionar sistema de soldadura al arco (pág 17-
14)
Incrementos cambiar los incrementos de ajuste (pág 17-15)

12-34 Manual de Programación Básica RAPID


Referencia Rápida Ventana: ArcWare

8.2 Ventana: Ejecución del Programa

Test Soldaduraarco

Ejecución Program WELDPIPE


Velocidad: 100%
Ejecución:= Continua
Bloqueo: Soldadura Track
Datos soldad: wd1
Ajuste Actual
1(3)
weld_speed + 5.5 105.5 mm/s
weld_wirefeed - 0.15 2.30 m/min
weld_voltage + 3.50 33.50 Voltios

Ajuste

Menú: Soldadura Arco

Soldadura al arco
1 Ajuste soldadura
2 Ajuste oscilación
(Ajuste costura)
(Ajuste Track)

Comando: Sirve para ajustar:


Ajuste de soldadura los datos de soldadura utilizados (pág 17-16)
Ajuste de oscilación los datos de oscilación utilizados (pág 17-16)
Ajuste de costura los datos de costura utilizados (no disponible)
Ajuste Track el track utilizado (no disponible)

Manual de Programación Básica RAPID 12-35


Tipos de Datos
INDICE

bool Valores lógicos


clock Medida de tiempo
confdata Datos de configuración
dionum Valores digitales 0-1
errnum Número de error
jointtarget Datos de posición de los ejes
loaddata Datos de carga
num Valores numéricos
orient Orientación
pos Posiciones (solo X,Y y Z)
pose Transformación de coordenadas
robtarget Datos de posición
signalxx Señales digitales y analogicas
speeddata Datos de velocidad
string Cadenas de Carácteres
tooldata Datos de la herramienta
triggdata Eventos de posicionamiento
wobjdata Datos del objeto de trabajo
zonedata Datos de zona

Manual de Programación Básica RAPID 13-1


Instrucciones
INDICE

“:=” Asignación de un valor


AccSet Reducción de la aceleración
ActUnit Activación de una unidad mecánica
Add Suma de un valor numérico
Clear Poner a cero una variable
ClkReset Puesta a cero de un reloj para el cronometraje
ClkStart Arranque de un reloj para el cronometraje
ClkStop Paro de un reloj de cronometraje
DeactUnit Desactivacion de una unidad mecánica
Decr Decremento en 1 de una variable
EXIT Fin de la ejecución del programa
FOR Repetición de un bucle numero dado de veces
GOTO Saltar a una instrucción identificada por una etiqueta (label)
GripLoad Definición de la carga útil del robot
Compact IF Si se cumple una condición, entonces...(una instrucción):
IF Si se cumple una condición, entonces...; si no...
Incr Incremento en 1 de una variable numérica
InvertDO Invertir el valor de una salida digital
label Nombre de línea
MoveAbsJ Movimiento del robot a una posición de ejes absoluta
MoveC Movimiento circular del robot
MoveJ Movimiento eje a eje del robot
MoveL Movimiento del robot en trayectorias rectas
PDispOff Desactivación de un desplazamiento de programa
PDispOn Activación de un desplazamiento de programa
PDispSet Activación de un desplazamiento de programa utilizando un valor
ProcCall Llamada a una rutina o a una función
PulseDo Generación de un pulso en una salida digital
Reset Puesta a cero de una salida digital
Return Fin de la ejecución de una rutina
Set Activación de una señal de salida digital
SetAO Cambio del valor de una salida analogica
SetDO Cambio del valor de una salida digital
SetGO Cambio del valor de un grupo de salidas digitales
SingArea Definición de la interpolación en torno a puntos singulares
SoftAct Activación del servo suave
SoftDeact Desactivación del servo suave
Stop Paro de la ejecución del programa
TEST Dependiendo del valor de una expresión...
TPErase Borrado del texto visualizado en la unidad de programación
TPReadFK Lectura de las teclas de función
TPReadNum Lectura de un numero en la unidad de programación
TPShow Cambio de ventana en la unidad de programación
TPWrite Escritura en la unidad de programación
VelSet Cambio de la velocidad programada
WaitDI Esperar hasta la activación de una entrada digital

Manual de Programación Básica RAPID 14-1


Instrucciones

WaitDo Esperar hasta la activación de una salida digital


WaitTime Esperar durante un tiempo determinado
WaitUntil Esperar hasta el cumplimiento de una condición
WHILE Repetición de una instrucción mientras...

14-2 Manual de Programación Básica RAPID


Instrucciones “:=”

“:=” Asignación de un valor


La instrucción “:=” sirve para asignar un valor a un dato. Este valor puede ser cualquier
valor desde una constante a una expresión aritmética, por ejemplo, reg1+5*reg3.

Ejemplos
reg1 := 5;

Se asigna el valor 5 a reg1.

reg1 := reg2 - reg3;

El valor resultante del cálculo reg2-reg3 se asigna a reg1.

contador := contador + 1;

contador ha sido incrementado en1.

Argumentos
Dato := Valor
Dato Tipos de dato: Todos

El dato al que se desea asignar un nuevo valor

Valor Tipo de dato: Igual que Dato

El valor deseado.

Ejemplos
herram1.tframe.trans.x := herram1.tframe.trans.x + 20;

El TCP de herram1 se desplazará 20 mm en la dirección del eje X.

palet{5,8} := Abs(reg1);

Al elemento {5,8} de la matriz pallet se le asigna un valor igual al valor absoluto


de la variable reg1.

Manual de Programación Básica RAPID 14-“:=”-1


“:=” Instrucciones

Limitaciones
El dato (cuyo valor debe ser cambiado) no puede ser ni:

- una constante
- un tipo de dato sin valor.

Los datos y valores deben tener tipos de datos similares (los mismos o equivalentes).

Sintaxis
(EBNF)
<assignación> ’:=’ <expresión> ’;’
<assignación> ::=
<variable>
|<persistente>
|<parámetro>
|<VAR>

Información Relacionada
Descrita en:
Expresiones Características Básicas- Expresiones
Tipos de datos sin valor Características Básicas- Tipos de Datos
Asignación de un valor inicial a un dato Características Básicas - Datos
Asignación manual de un valor a un dato Guía del Usuario - Programación y
Pruebas

14-“:=”-2 Manual de Programación Básica RAPID


Instrucciones AccSet

AccSet Reducción de la aceleración


AccSet sirve cuando se manipulan cargas frágiles. Permite aceleraciones y decelera-
ciones más lentas, lo que implica movimientos más suaves del robot.

Ejemplos
AccSet 50, 100;

La aceleración está limitada al 50% del valor normal.

AccSet 100, 50;

La rampa de aceleración está limitada al 50% del valor normal.

Argumentos
AccSet Acc Rampa
Acc Tipo de dato: num

La aceleración y deceleración como un porcentaje de los valores normales.


El 100% corresponde a la aceleración máxima. Valor máximo: 100%.
Un valor menor del 20% da el 20% de aceleración máxima.

Rampa Tipo de dato: num

El coeficiente con el que la aceleración y deceleración aumenta como porcentaje


de los valores normales (véase la Figura 1). Los movimientos bruscos podrán
reducirse disminuyendo este valor.
El 100% corresponde al coeficiente máximo. Valor máximo: 100%.
Un valor menor del 10% da el 10% de la aceleración máxima.

Aceleración

Tiempo
AccSet 100, 100, es decir, una aceleración normal
Aceleración Aceleración

Tiempo Tiempo
AccSet 30, 100 AccSet 100, 30
Figura 1 La reducción de la aceleración origina movimientos más suaves.

Manual de Programación Básica RAPID 14-AccSet-1


AccSet Instrucciones

Ejecución del Programa


El nuevo valor de aceleración, indicado en la instrucción AccSet, se aplica tanto al robot
como a los ejes externos hasta que se ejecute una nueva instrucción AccSet.

Los valores por defecto (100%) se activan automáticamente

- en una arranque en frío


- cuando se carga un nuevo programa
- cuando se ejecuta un programa desde el incio.

Sintaxis
AccSet
[ Acc ’:=’ ] < expresion (IN) de num > ’,’
[ Rampa ’:=’ ] < expresion (IN) de num > ’;’

Información relacionada
Descrita en:
Instrucciones de posicionamiento Resumen RAPID - Movimiento

14-AccSet-2 Manual de Programación Básica RAPID


Instrucciones ActUnit

ActUnit Activación de una unidad mecánica


ActUnit sirve para activar una unidad mecánica.

Puede utilizarse para determinar que unidad que debe estar activada, por ejemplo,
cuando se utilizan unidades con accionamiento compartido.

Ejemplo
ActUnit orbit_a;

Activación de la unidad mecánica orbit_a.

Argumentos
ActUnit MecUnit
MecUnit (Unidad Mecánica) Tipo de dato: mecunit

El nombre de la unidad mecánica que debe ser activada.

Ejecución del programa


Cuando el robot y los ejes externos están parados, la unidad mecánica especificada será
activada. Ello significa que será controlada y monitorizada por el robot.

En el caso en que varias unidades mecánicas compartan una misma unidad de


accionamiento, la activación de una de estas unidades mecánicas conectará también
esta unidad a la unidad de accionamiento común.

Limitaciones
La instrucción ActUnit no podrá utilizarse en:

- la secuencia de programa StorePath ... RestoPath


- rutina de evento RESTART

La instrucción de movimiento anterior a esta instrucción deberá terminar con un punto


de paro (fine) para que en esta instrucción sea posible realizar un rearranque después
de un fallo de tensión.

Manual de Programación Básica RAPID 14-ActUnit-1


ActUnit Instrucciones

Sintaxis
ActUnit
[MecUnit ’:=’ ] < variable (VAR) de tipo mecunit> ’;’

Información relacionada
Descrita en:
Desactivación de las unidades mecánicas Instrucciones - DeactUnit
Unidades mecánicas Tipos de Datos - mecunit
Más ejemplos Instrucciones - DeactUnit

14-ActUnit-2 Manual de Programación Básica RAPID


Instrucciones Add

Add Suma de un valor numérico


Add sirve para sumar o restar un valor a o de una variable numérica o persistente.

Ejemplos
Add reg1, 3;

Se suma 3 a reg1, es decir, reg1:=reg1+3.

Add reg1, -reg2;

Se resta reg2 de reg1, es decir, reg1:=reg1-reg2.

Argumentos
Add Nombre ValorAñadir
Nombre Tipo de dato: num

El nombre de la variable o persistente que se desea cambiar.

ValorAñadir Tipo de dato: num

El valor que se desea sumar.

Sintaxis
Add
[ Nombre ’:=’ ] < variable o persistente (INOUT) de num > ’,’
[ ValorAñadir’:=’ ] < expresión (IN) de num > ’;’

Información relacionada
Descrita en:
Incrementar en 1 una variable Instrucciones - Incr
Decrementar en 1 una variable Instrucciones - Decr
Cambiar un dato utilizando una expresión, Instrucciones - :=
por ejemplo, una multiplicación

Manual de Programación Básica RAPID 14-Add-1


Add Instrucciones

14-Add-2 Manual de Programación Básica RAPID


Instrucciones Clear

Clear Poner a cero una variable


Clear sirve para borrar el valor de una variable numérica o persistente, es decir, asig-
narlas en el valor 0.

Ejemplo
Clear reg1;

El valor de Reg1 queda borrado, es decir, reg1:=0.

Argumentos
Clear Nombre
Nombre Tipo de dato: num

El nombre de la variable o persistente que se desea poner a cero.

Sintaxis
Clear
[ Nombre ’:=’ ] < variable o persistente (INOUT) de num > ’;’

Información relacionada
Descrita en:
Incrementar en 1 una variable Instrucciones - Incr
Decrementar en 1 una variable Instrucciones - Decr

Manual de Programación Básica RAPID 14-Clear-1


Clear Instrucciones

14-Clear-2 Manual de Programación Básica RAPID


Instrucciones ClkReset

ClkReset Puesta a cero de un reloj para el cronometraje


ClkReset sirve para poner a cero un reloj que funciona como un cronómetro.

Esta instrucción puede utilizarse antes de usar un reloj, para asegurarse de que está a 0.

Ejemplo
ClkReset ckreloj1;

El reloj ckreloj1 será puesto a cero.

Argumentos
ClkReset Reloj
Reloj Tipo de dato: reloj

El nombre del reloj que se desea reinicializar.

Ejecución del programa


Cuando se reinicializa un reloj, éste se pondrá a 0.

Si el reloj está funcionando, se parará y luego se pondrá a 0.

Sintaxis
ClkReset
[ Reloj ’:=’ ] < variable (VAR) de tipo clock> ’;’

Información Relacionada
Descrita en:
Otras instrucciones de reloj Resumen RAPID - Sistema y Hora

Manual de Programación Básica RAPID 14-ClkReset-1


ClkReset Instrucciones

14-ClkReset-2 Manual de Programación Básica RAPID


Instrucciones ClkStart

ClkStart Arranque de un reloj para el cronometraje


ClkStart sirve para arrancar un reloj que funciona como un cronómetro.

Ejemplo
ClkStart ckreloj1;

El reloj ckreloj1 será arrancado.

Argumentos
ClkStart Reloj
Reloj Tipo de dato: clock

El nombre del reloj que se desea arrancar.

Ejecución del programa


Cuando se arranca un reloj, cuenta los segundos hasta que se para.

Cuando la ejecución del programa se para, el reloj sigue funcionando. Sin embargo, el
acontecimiento que se deseaba cronometrar puede ya no ser válido. Por ejemplo, si el
programa estaba cronometrando el tiempo de espera de una entrada, puede ocurrir que
la entrada se haya activado mientras el programa estaba detenido, por lo que el pro-
grama no será capaz de “ver” el acontecimiento que ocurrió mientras estaba parado.

El reloj seguirá funcionando cuando se desconecte la alimentación del sistema siempre


y cuando funcione la pila que alimenta el reloj de tiempo real del computador
(S4Cplus) o el sistema de alimentación de baterías de seguridad mantenga el programa
que contiene la variable del reloj (S4 o S4c).

Cuando el reloj está funcionando, podrá ser leído, parado o puesto a cero.

Ejemplo
VAR clock ckreloj2;

ClkReset ckreloj2;
ClkStart ckreloj2;
WaitUntil di1, 1;
ClkStop ckreloj2;
time:=ClkRead(ckreloj2);

Manual de Programación Básica RAPID 14-ClkStart-1


ClkStart Instrucciones

El reloj cronometará el tiempo que la entrada di1 tardará en pasar a 1.

Sintaxis
ClkStart
[ Reloj ’:=’ ] < variable (VAR) de clock> ’;’

Información Relacionada
Descrita en:
Otras instrucciones de reloj Resumen RAPID - Sistema y Hora

14-ClkStart-2 Manual de Programación Básica RAPID


Instrucciones ClkStop

ClkStop Paro de un reloj de cronometraje


ClkStop sirve para parar un reloj que funciona como cronómetro.

Ejemplo
ClkStop ckreloj1;

El reloj ckreloj1 será parado.

Argumentos
ClkStop Reloj
Reloj Tipo de dato: clock

El nombre del reloj que se desea parar.

Ejecución del programa


Cuando se para un reloj, éste dejará de funcionar.

Si se para un reloj, podrá ser leído, arrancado de nuevo o puesto a cero.

Sintaxis
ClkStop
[ Reloj ’:=’ ] < variable (VAR) de clock> ’;’

Información Relacionada
Descrita en:
Otras instrucciones de reloj Resumen RAPID - Sistema y Hora
Más ejemplos Instrucciones - ClkStart

Manual de Programación Básica RAPID 14-ClkStop-1


ClkStop Instrucciones

14-ClkStop-2 Manual de Programación Básica RAPID


Instrucciones DeactUnit

DeactUnit Desactivación de una unidad mecánica


DeactUnit sirve para desactivar una unidad mecánica.

Puede utilizarse para determinar la unidad que debe estar activada, por ejemplo,
cuando se usan unidades de accionamiento comunes.

Ejemplos
DeactUnit orbit_a;

Desactivación de la unidad mecánica orbit_a.

MoveL p10, v100, fine, herram1;


DeactUnit transportador;
MoveL p20, v100, z10, herram1;
MoveL p30, v100, fine, herram1;
ActUnit transportador;
MoveL p40, v100, z10, herram1;

La unidad transportador estará parada cuando el robot se mueva a la posición


p20 y p30. Después de esto, tanto el robot como el transportador se moverán a
la posición p40.

MoveL p10, v100, fine, herram1;


DeactUnit orbit1;
ActUnit orbit2;
MoveL p20, v100, z10, herram1;

La unidad orbit1 será desactivada y la unidad orbit2 activada.

Argumentos
DeactUnit MecUnit
MecUnit (Unidad Mecánica) Tipo de dato: mecunit

El nombre de la unidad mecánica que deberá ser desactivada.

Ejecución del programa


Cuando el robot y los ejes externos se hayan parado, la unidad mecánica especificada
será desactivada. Esto significa que no será controlada ni monitorizada hasta que se
vuelva a activar.

En el caso en que varias unidades mecánicas compartan una misma unidad de accio-
namiento, la desactivación de una de las unidades mecánicas la desconectará también
de la unidad de accionamiento común.

Manual de Programación Básica RAPID 14-DeactUnit-1


DeactUnit Instrucciones

Limitaciones
La instrucción DeactUnit no puede ser utilizada

- en una secuencia de programa StorePath ... RestoPath


- en la rutina de evento RESTART
- cuando uno de los ejes de la unidad mecánica está en modo independiente

La instrucción de movimiento anterior a esta instrucción deberá terminar con un punto


de paro (fine) para que en esta instrucción sea posible realizar un rearranque después
de un fallo de tensión.

Sintaxis
DeactUnit
[MecUnit ’:=’ ] < variable (VAR) de mecunit> ’;’

Información relacionada
Descrita en:
Activación de las unidades mecánicas Instrucciones - ActUnit
Unidades mecánicas Tipos de Datos - mecunit

14-DeactUnit-2 Manual de Programación Básica RAPID


Instrucciones Decr

Decr Decremento en 1 de una variable numerica


Decr sirve para restar 1 a una variable o persistente numérica.

Ejemplo
Decr reg1;

Se restará 1de reg1, es decir, reg1:=reg1-1.

Argumentos
Decr Nombre
Nombre Tipo de dato: num

El nombre de la variable o persistente que se desea decrementar.

Ejemplo
TPReadNum num_part, "Cuántas piezas deben ser procesadas? ";
WHILE num_part>0 DO
part_produc;
Decr num_part;
ENDWHILE

Se pide al operador que introduzca el número de piezas que van a ser procesadas.
La variable num_part sirve para contar el número que quedan por procesar.

Sintaxis
Decr
[ Nombre ’:=’ ] < variable o persistente (INOUT) de num > ’;’

Manual de Programación Básica RAPID 14-Decr-1


Decr Instrucciones

Información relacionada
Descrita en:
Incrementar una variable en 1 Instrucciones - Incr
Restar cualquier valor de una variable Instrucciones - Add
Cambio de datos utilizando una expresión Instrucciones - :=
arbitraria, por ejemplo, multiplicación

14-Decr-2 Manual de Programación Básica RAPID


Instrucciones EXIT

EXIT Fin de la ejecución del programa


EXIT sirve para finalizar la ejecución del programa. El rearranque del programa se blo-
quea, es decir, que el programa sólo podrá ser rearrancado únicamente a partir de la
primera instrucción de la rutina principal (si el punto de arranque no ha sido movido
manualmente).

La instrucción EXIT deberá utilizarse cuando ocurren errores muy graves o cuando se
desea parar la ejecución del programa definitivamente. La instrucción Stop se usa para
parar de forma temporal la ejecución del programa.

Ejemplo
ErrWrite "Error Fatal", "Estado incorrecto del sistema";
EXIT;

La ejecución del programa se para y no puede ser rearrancada desde esta posición
en el programa.

Sintaxis
EXIT ’;’

Información relacionada
Descrita en:
Parada temporal de la ejecución del programa Instrucciones - Stop

Manual de Programación Básica RAPID 14-EXIT-1


EXIT Instrucciones

14-EXIT-2 Manual de Programación Básica RAPID


Instrucciones FOR

FOR Repetición de un número dado de veces


FOR se usa cuando una o varias instrucciones deben repetirse un número determinado
de veces.

En el caso en que las instrucciones deban repetirse mientras se cumpla una condición
específica, se deberá usar la instrucción WHILE.

Ejemplo
FOR i FROM 1 TO 10 DO
rutina1;
ENDFOR

Repite 10 veces el procedimiento rutina1.

Argumentos
FOR Contador bucle FROM Valor inicial TO Valor final
[STEP Incremento] DO ... ENDFOR
Contador bucle Identificador

El nombre del dato que contendrá el valor del contador del bucle actual. El dato
es declarado automáticamente y su nombre no podrá coincidir con ningún otro
ya existente.

Valor inicial Tipo de dato: Num

El valor inicial del contador del bucle.


(Normalmente números enteros).

Valor final Tipo de dato: Num

El valor final del contador del bucle.


(Normalmente números enteros).

Incremento Tipo de dato: Num

El valor con el que el contador del bucle deberá ser incrementado o decrementado.
(Normalmente números enteros).

Si este valor no está especificado, el valor de incremento será automáticamente


1 (o -1 si el valor inicial es mayor que el valor final).

Manual de Programación Básica RAPID 14-FOR-1


FOR Instrucciones

Ejemplo
FOR i FROM 10 TO 1 STEP -1 DO
TPWrite \Num a{i};
ENDFOR

Se visualizan por la pantalla los valores de los componentes de una matriz .

Ejecución del programa


1. Se calculan las expresiones correspondientes a los valores inicial, final e incremen-
tos.
2. Al contador de bucle se le asigna el valor inicial.
3. El valor del contador de bucle será comprobado para ver si dicho valor se encuentra
entre el valor inicial y el valor final o si es igual al valor inicial o al valor final. Si el
valor del contador se encuentra fuera de esta gama, el bucle FOR se para y la
ejecución del programa continua con la instrucción que sigue a ENDFOR.
4. Las instrucciones del bucle FOR se ejecutarán.
5. El contador de bucle será incrementado o decrementado de acuerdo con el valor de
incremento.
6. El bucle FOR se repetirá, empezando a partir del punto 3.

Limitaciones
Sólo se podrá acceder al contador de bucle (del tipo de datos num) desde dentro del
bucle FOR y por consiguiente esconderá los demás datos y rutinas que tengan el mismo
nombre. Sólo podrá ser leído (no actualizado) por las instrucciones contenidas en el
bucle FOR.

No se podrán utilizar valores decimales para los valores iniciales, finales o de los incre-
mentos, en combinación con una condición de finalización exacta para el bucle FOR
(para evitar que pueda tomar un valor no definido cuando se ejecuta el último pase por
el bucle).

Sintaxis
(EBNF)
FOR <variable bucle> FROM <expresión> TO <expresión>
[ STEP <expresión> ] DO
<lista instrucciones>
ENDFOR
<variable bucle> ::= <identificador>

14-FOR-2 Manual de Programación Básica RAPID


Instrucciones FOR

Información relacionada
Descrita en:
Expresiones Características Básicas - Expresiones
Identificadores Características Básicas -
Elementos Basicos

Manual de Programación Básica RAPID 14-FOR-3


FOR Instrucciones

14-FOR-4 Manual de Programación Básica RAPID


Instrucciones GOTO

GOTO Saltar a una instrucción identificada por una eti-


queta (label)
GOTO sirve para transferir la ejecución del programa a otra instrucción dentro de la
misma rutina.

Ejemplos
GOTO sig;

sig:

La ejecución del programa continúa con la instrucción que viene después de sig.

sig es la etiqueta (label).

reg1 := 1;
sig:
.
reg1 := reg1 + 1;
IF reg1<=5 GOTO sig;

El bucle de programa sig será ejecutado cinco veces.

IF reg1>100 GOTO valoralto;


valorbajo:
.
GOTO prepar;
valoralto:
.
prepar:

Si reg1 es mayor que 100, el bucle de programa valoralto será ejecutado; de lo


contrario, se ejecutará el bucle valorbajo.

Argumentos
GOTO Etiqueta
Etiqueta Identificador

La etiqueta a partir de donde la ejecución del programa deberá continuar.

Manual de Programación Básica RAPID 14-GOTO-1


GOTO Instrucciones

Limitaciones
Sólo se podrá transferir la ejecución del programa a una etiqueta dentro de la misma
rutina.

Sólo se podrá transferir la ejecución del programa a una etiqueta dentro de una instruc-
ción IF o TEST si la instrucción GOTO está también situada dentro de la misma rama
de esta instrucción.

Sólo se podrá transferir la ejecución del programa a una etiqueta dentro de una instruc-
ción FOR o WHILE si la instrucción GOTO está también situada dentro de esta instruc-
ción.

Sintaxis
(EBNF)
GOTO <identificador>’;’

Información Relacionada
Descrita en:
Etiqueta Instrucciones - etiqueta
Otras instrucciones que cambian el flujo Resumen RAPID -
del programa Control del Flujo de Programa

14-GOTO-2 Manual de Programación Básica RAPID


Instrucciones GripLoad

GripLoad Definición de la carga útil del robot


GripLoad sirve definir la carga útil que el robot sujeta con su pinza.

Descripción
Es importante definir siempre la carga de la herramienta y cuando se use, la
carga útil del robot. Definiciones incorrectas de los datos de carga pueden
provocar una sobrecarga de la estructura mecánica del robot.

Si se especifican datos incorrectos de carga, puede ocurrir:

- Si el valor de los datos de carga especificados es mayor que el valor real de la


carga;
-> El robot no será utilizado en sus máximas posibilidades
-> Trayectoria poco precisa incluyendo el riesgo de vibraciones.
- Si el valor de los datos de carga especificados es menor que el valor real de la
carga;
-> Trayectoria poco precisa incluyendo el riesgo de vibraciones.
-> Existe un riesgo de sobrecarga de la estructura mecánica

Ejemplos
GripLoad pieza1;

La pinza del robot sujeta una carga llamada pieza1.

GripLoad load0;

La pinza del robot no lleva ninguan cargas.

Argumentos
GripLoad Carga
Carga Tipo de dato: loaddata

Los datos de carga que describen la carga útil utilizada.

Ejecución del programa


La carga especificada afecta la capacidad del robot.

Manual de Programación Básica RAPID 14-GripLoad-1


GripLoad Instrucciones

La carga por defecto, 0 kg, se activa automáticamente

- en una arranque en frío


- cuando se carga un programa nuevo
- cuando se ejecuta el programa desde el principio.

Sintaxis
GripLoad
[ Carga ’:=’ ] < persistente (PERS) de loaddata > ’;’

Información relacionada
Descrita en:
Definición de los datos de carga Tipos de Datos - loaddata
Definición de la carga de la herramienta Tipos de Datos - tooldata

14-GripLoad-2 Manual de Programación Básica RAPID


Instrucciones Compact IF

Compact IF Si se cumple una condición, entonces... (una


instrucción)
Compact IF sirve cuando solo se debe ejecutar únicamente una instrucción si se cum-
ple una condición.

En el caso de que se deban ejecutar diferentes instrucciones, según se cumpla una


condición o no, se utilizará la instrucción IF.

Ejemplos
IF reg1 > 5 rutina1;

Si reg1 es mayor que 5, entonces se ejcuta la rutina1.

IF contador> 10 Set do1;

La señal do1 se activará si el contador> 10.

Argumentos
IF Condición ...
Condición Tipo de dato: bool

La condición que debe cumplirse para que la instrucción pueda ejecutarse.

Sintaxis
(EBNF)
IF <expresión condicional> ( <instrucción> | <SMT>) ’;’

Información Relacionada
Descrita en:
Condiciones (expresiones lógicas) Características Básicas - Expresiones
IF con varias instrucciones Instrucciones - IF

Manual de Programación Básica RAPID 14-Compact IF-1


Compact IF Instrucciones

14-Compact IF-2 Manual de Programación Básica RAPID


Instrucciones IF

IF Si se cumple una condición, entonces...; si no...


IF sirve cuando diferentes instrucciones deben ejecutarse según se cumpla o no una
condición.

Ejemplos
IF reg1 > 5 THEN
Set do1;
Set do2;
ENDIF

Las señales do1 y do2 son activadas únicamente si reg1 es mayor que 5.

IF reg1 > 5 THEN


Set do1;
Set do2;
ELSE
Reset do1;
Reset do2;
ENDIF

Las señales do1 y do2 son activadas o desactivadas dependiendo si reg1 es


mayor que 5 o no.

Argumentos
IF Condición THEN ...
{ELSEIF Condición THEN ...}
[ELSE ...]
ENDIF
Condición Tipo de dato: bool

La condición que debe cumplirse para que las instrucciones entre THEN y
ELSE/ELSEIF puedan ejecutarse.

Manual de Programación Básica RAPID 14-IF-1


IF Instrucciones

Ejemplo
IF contador > 100 THEN
contador := 100;
ELSEIF contador < 0 THEN
contador := 0;
ELSE
contador := contador + 1;
ENDIF

El . Si el valor del contador está fuera del límite 0-100, el valor que se le asigna
al contador será el valor límite correspondiente. En caso contrario contador se
incrementará en 1

Ejecución del programa


Las condiciones son comprobadas siguiendo un orden secuencial, hasta que una de
ellas se cumpla. La ejecución del programa continúa con las instrucciones asociadas a
esa condición. Si no se cumple ninguna de las condiciones, la ejecución del programa
continúa con las instrucciones que siguen aELSE. Si se cumple más de una condición,
sólo se ejecutarán las instrucciones que están asociadas con la primera de las citadas
condiciones que se verifique.

Sintaxis
(EBNF)
IF <expresión condicional> THEN
<lista instrucciones>
{ELSEIF <expresión condicional> THEN <lista instrucciones> | <EIF>}
[ELSE
<lista instrucciones>]
ENDIF

Información Relacionada
Descrita en:
Condiciones (expresiones lógicas) Características Básicas - Expresiones

14-IF-2 Manual de Programación Básica RAPID


Instrucciones Incr

Incr Incremento en 1 de una variable numerica


Incr sirve para añadir 1 a una variable o persistente numérica.

Ejemplo
Incr reg1;

reg1 se verá incrementado en 1, es decir, reg1:=reg1+1.

Argumentos
Incr Nombre
Nombre Tipo de dato: num

El nombre de la variable o persistente que se desea cambiar.

Ejemplo
WHILE distop_produc=0 DO
produc_part;
Incr parts;
TPWrite "Nº de piezas producidas= "\Num:=parts;
ENDWHILE

En cada ciclo el número de piezas producidas será actualizado en la pantalla de


la unidad de programación. El proceso de producción continua su ejecución
mientras no se active la señal distop_production.

Sintaxis
Incr
[ Nombre ’:=’ ] < variable o persistente (INOUT) de num > ’;’

Manual de Programación Básica RAPID 14-Incr-1


Incr Instrucciones

Información relacionada
Descrita en:
Decrementar en 1 una variable Instrucciones - Decr
Suma de cualquier valor a una variable Instrucciones - Add
Cambio de datos utilizando una expresión Instrucciones - :=
arbitraria, por ejemplo, la multiplicación

14-Incr-2 Manual de Programación Básica RAPID


Instrucciones InvertDO

InvertDO Inversión del valor de una salida digital


InvertDO (Invert Digital Output) invierte el valor de una salida digital (0 -> 1 y 1 -> 0).

Ejemplo
InvertDO do15;

El valor actual de la salida do15 será invertido.

Argumentos
InvertDO Salida
Salida Tipo de dato: signaldo

El nombre de la señal que se desea invertir.

Ejecución del programa


El valor de la salida se es invierte (véase la Figura 1).
:

1
Nivel de la salida
0
Ejecución de la instrucción InvertDO
Ejecución de la instrucción InvertDO
1
Nivel de la salida
0

Figura 1 Inversión de una salida digital.

Sintaxis
InvertDO
[ Salida ’:=’ ] < variable (VAR) de signaldo > ’;’

Manual de Programación Básica RAPID 14-InvertDO-1


InvertDO Instrucciones

Información Relacionada
Descrita en:
Instrucciones de entrada/salida Resumen RAPID -
Señales de entrada y salida
Funciones de las entradas/salidas Principios de Movimiento y E/S -
en general Principios de E/S
Configuración de las E/S Guía del Usuario - Parámetros del
sistema

14-InvertDO-2 Manual de Programación Básica RAPID


Instrucciones label

label Nombre de línea


Label sirve para dar nombre a una línea del programa. Utilizando la instrucción GOTO,
se podrá desplazar la ejecución del programa a esa línea.

Ejemplo
GOTO sig;
.
sig:

La ejecución del programa continúa con la instrucción que viene después de sig.

Argumentos
Label:
Label Identificador

El nombre que se desea dar a la línea.

Ejecución del programa


No pasa nada cuando se ejecuta esta instrucción.

Limitaciones
La etiqueta no debe ser nunca la misma que

- otra etiqueta dentro de la misma rutina,


- ningún nombre de dato dentro de la misma rutina.

Una etiqueta esconde datos globales y rutinas con el mismo nombre dentro de la rutina
en que está situada.

Sintaxis
(EBNF)
<identificador>’:’

Manual de Programación Básica RAPID 14-label-1


label Instrucciones

Información Relacionada
Descrita en:
Identificadores Características Básicas -
Elementos Básicos
Mover la ejecución de un programa Instrucciones - GOTO
a una etiqueta

14-label-2 Manual de Programación Básica RAPID


Instrucciones MoveAbsJ

MoveAbsJ Movimiento del robot a una posición


de ejes absoluta
MoveAbsJ (Move Absolute Joint) sirve para mover el robot a una posición de ejes abso-
luta, definida como posiciones de los ejes.

Se deberá utilizar esta instrucción únicamente en los siguientes casos:

- cuando el punto final es un punto singular


- para posiciones ambiguas en el IRB 6400C, por ejemplo, para movimientos
realizados con la herramienta por encima del robot.
- cuando se quiera llevar al robot a u a posición absoluta de los ejes independiente
de la herramienta o workbject definido o desplazamiento de programa activo.

La posición final del robot, durante un movimiento realizado con MoveAbsJ, no se verá
afectada por la herramienta dada, el objeto de trabajo determinados ni por un despla-
zamiento del programa activado. No obstante, el robot utiliza estos datos para calcular
la carga, la velocidad del TCP, y la trayectoria en las esquina. Se podrán utilizar las
mismas herramientas que las utilizadas en las instrucciones de movimiento.

El robot y los ejes externos se mueven a la posición siguiendo una trayectoria no lineal.
Todos los ejes alcanzan la posición al mismo tiempo.

Ejemplos
MoveAbsJ p50, v1000, z50, herram2;

El robot con la herramienta herram2 se moverá, siguiendo una trayectoria de tipo


no lineal, a la posición de ejes absoluta p50, con un dato de velocidad v1000 y
un dato de zona z50.

MoveAbsJ *, v1000, fine, pinza3;

El robot con la herramienta pinza3, se moverá siguiendo una trayectoria de tipo


no lineal, a un punto de paro que es almacenado como una posición de ejes abso-
luta en la instrucción (marcado con un asterisco *).

Argumentos
MoveAbsJ [ \Conc ] APosEje [ NoEOffs] Velocidad [ \V ] | [ \T ]
Zona [ \Z ] Herramienta [ \WObj ]
[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones lógicas siguientes se ejecutarán mientras el robot está en movi-


miento. El argumento sirve para acortar el tiempo de ciclo, cuando, por ejemplo,

Manual de Programación Básica RAPID 8-MoveAbsJ-1


MoveAbsJ Instrucciones

se realiza una comunicación con el equipo externo, siempre que no se requiera la


sincronización con el movimiento.

Al utilizar el argumento \Conc, el número de instrucciones de movimiento que se


ejecutan está limitado a 5. Si en una sección de programa se incluye la secuencia
StorePath-RestoPath, no se permiten instrucciones de movimiento que conten-
gan el argumento \Conc.

En el caso de omitir este argumento y la posición no es un punto de paro, la


siguiente instrucción siguiente se ejecutará un poco tiempo antes de que el robot
haya alcanzado la zona de precisión programada.

APosEje Tipo de dato: jointtarget

Es la posición del eje absoluta de destino del robot y de los ejes externos. Se
define como una posición con nombre o almacenada directamente en la instruc-
ción (marcada con un asterisco * en la instrucción).

[\NoEOffs] (No Offsets Ejes Externos) Tipo de dato: switch

Si esta activado el argumento NoEoffs, el movimiento de la instrucción


MoveAbsJ no se verá afectado por los offsets para los ejes externos.

Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Definen la veloci-
dad del punto central de la herramienta, de la reorientación de la herramienta y
de los ejes externos.

[ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente
en la instrucción, que substituirá a la velocidad correspondiente especificada en
los datos de velocidad.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total expresado en segundos


durante el cual el robot se mueve. Sustituye a los datos de velocidad de la instruc-
ción.

Zona Tipo de dato: zonedata

Datos de zona para el movimiento. Los datos de zona describen el tamaño de la


trayectoria esquina generada.

[ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisión de la posición del TCP del
robot directamente en la instrucción. La longitud de la trayectoria esquina está
expresada en mm, y sustituye a la zona correspondiente especificada en los datos
de zona.

8-MoveAbsJ-2 Manual de Programación Básica RAPID


Instrucciones MoveAbsJ

Tool Tipo de dato: tooldata

La herramienta utilizada durante el movimiento.

El TCP y la carga de la herramienta están definidos en los datos de herramienta.


El TCP sirve para decidir la velocidad y la trayectoria esquina del movimiento.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo utilizado durante el movimiento.

Este argumento podrá ser omitido si la herramienta es sujetada por el robot. No


obstante, si el robot sujeta el objeto de trabajo, es decir, si la herramienta es esta-
cionaria, o con ejes externos coordinados, entonces se deberá especificar este
argumento.

En el caso de una herramienta estacionaria o de ejes externos coordinados, los


datos utilizados por el sistema para decidir la velocidad y la trayectoria esquina
del movimiento, se encuentran definidos en el objeto de trabajo.

Ejecución del programa


La herramienta se moverá a la posición de ejes absoluta de destino, con una interpola-
ción de los ángulos de los ejes. Esto significa que cada eje se mueve a una velocidad
de ejes constante y que todos los ejes alcanzan la posición final al mismo tiempo, lo
que implica una trayectoria no lineal.

De forma general, el TCP se mueve aproximadamente a la velocidad programada. La


herramienta es reorientada y los ejes externos se mueven al mismo tiempo que el TCP.
En el caso en que el sistema no sea capaz de alcanzar la velocidad programada para la
reorientación o para los ejes externos, se reduce la velocidad del TCP.

Se genera una trayectoria esquina cuando la trayectoria continua a una siguiente posi-
ción. En el caso en que se haya especificado un punto de paro en los datos de zona, la
ejecución del programa continuará cuando el robot y los ejes externos hayan alcanzado
la posición de ejes adecuada.

Ejemplos
MoveAbsJ *, v2000\V:=2200, z40 \Z:=45, pinza3;

La herramienta, pinza3, se moverá siguiendo una trayectoria no lineal a una posi-


ción de ejes absoluta almacenada en la instrucción. El movimiento se llevará a
cabo con los datos en v2000 y z40, la velocidad del TCP es de 2200mm/s y el
tamaño de zona del TCP 45 mm.

MoveAbsJ \Conc, *, v2000, z40, pinza3;

La herramienta, pinza3, se moverá siguiendo una trayectoria no lineal a una posi-


ción de ejes absoluta almacenada en la instrucción. Las instrucciones lógicas

Manual de Programación Básica RAPID 8-MoveAbsJ-3


MoveAbsJ Instrucciones

siguientes serán ejecutadas mientras el robot se está moviendo.

GripLoad obj_mass;
MoveAbsJ pstart, v2000, z40, grip3 \WObj:= obj;

El robot mueve el objeto de trabajo obj, respecto a la herramienta fija pinza3


siguiendo una trayectoria no lineal, a una posición de ejes absoluta pstart.

Gestión de errores
Cuando se va a ejecutar el programa, el sistema realiza una comprobación de que los
argumentos Herram y \WObj no contienen datos contradictorios respecto a una herra-
mienta móvil o estacionaria respectivamente.

Limitaciones
Un movimiento realizado con la instrucción MoveAbsJ no se verá afectado por un des-
plazamiento activo del programa, sin embargo se verá afectado por un offset activo
para los ejes externos.

Para ser capaz de poder ejecutar hacia atrás una secuencia de programa en donde la ins-
trucción MoveAbsJ esté implicada, y para evitar problemas con puntos singulares o
áreas ambiguas, es esencial que las instrucciones siguientes cumplan ciertos requisitos,
según se indica en la figura siguiente (véase la Figura 1).

Punto singular

MoveJ
MoveAbsJ

Area ambigua

Cualquier instrucc.
MoveAbsJ de movimiento
MoveAbsJ

Figura 1 Limitación para la ejecución hacia atrás en un movimiento con la instrucción Move-
AbsJ.

8-MoveAbsJ-4 Manual de Programación Básica RAPID


Instrucciones MoveAbsJ

Sintaxis
MoveAbsJ
[ ’\’ Conc ’,’ ]
[ ToJointPos ’:=’ ] < expresión (IN) de jointtarget > ’,’
[ Speed ’:=’ ] < expresión (IN) de speeddata >
[ ’\’ V ’:=’ < expresión (IN) de num > ]
| [ ’\’ T ’:=’ < expresión (IN) de num > ] ’,’
[Zone ’:=’ ] < expresión (IN) de zonedata >
[ ’\’ Z ‘:=’ < expresión (IN) de num > ] ’,’
[ Tool ’:=’ ] < expresión (PERS) de tooldata >
[ ’\’ WObj ’:=’ < expresión (PERS) de wobjdata > ] ’;’

Información relacionada
Descrita en:
Otras instrucciones de posicionamiento Resumen RAPID - Movimiento
Definición de jointtarget Tipos de Datos - jointtarget
Definición de la velocidad Tipos de Datos - speeddata
Definición de los datos de zona Tipos de Datos - zonedata
Definición de las herramientas Tipos de Datos - tooldata
Definición de los objetos de trabajo Tipos de Datos - wobjdata
Movimiento en general Principios de movimiento y de E/S
Ejecución concurrente del programa Principios de movimiento y de E/S -
Sincronización utilizando Instrucciones
Lógicas

Manual de Programación Básica RAPID 8-MoveAbsJ-5


MoveAbsJ Instrucciones

8-MoveAbsJ-6 Manual de Programación Básica RAPID


Instrucciones MoveC

MoveC Movimiento circular del robot


MoveC (Move Circular) sirve para mover el punto central de la herramienta (TCP) de
forma circular a una posición determinada. Durante el movimiento, la orientación suele
permanecer constante respecto al círculo.

Ejemplos
MoveC p1, p2, v500, z30, herram2;

El TCP de la herramienta, herram2, se moverá de forma circular a la posición


p2, con un dato de velocidad de v500 y un dato de zona de z30. El círculo se
define a partir de la posición de arranque, el punto de círculo p1 y el punto de
destino p2.

MoveC *, *, v500 \T:=5, fine, pinza3;

El TCP de la herramienta, pinza3, se moverá de forma circular a un punto fino


almacenado en la instrucción (marcado por el segundo asterisco *). El punto de
círculo también está almacenado en la instrucción (marcado por el primer aste-
risco *). El movimiento completo tarda 5 segundos en realizarse.

MoveL p1, v500, fine, herram1;


MoveC p2, p3, v500, z20, herram1;
MoveC p4, p1, v500, fine, herram1;

Para realizar un círculo completo, las posiciones deben ser las mismas que las
que se indican en la Figura 1.

p1

p4 p2

p3
Figura 1 Un círculo completo se realiza mediante dos instrucciones MoveC.

Manual de Programación Básica RAPID 8-MoveC-1


MoveC Instrucciones

Argumentos
MoveC [\Conc] PuntoCirculo AlPunto Velocidad [\V] | [\T] Zona
[\Z] Herramienta [\WObj] [\Corr]
[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones lógicas siguientes se ejecutarán inmediatamente. Este argu-


mento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se está comuni-
cando con el equipo externo y no se requiere ninguna sincronización.

Utilizando el argumento \Conc, el número de instrucciones de movimiento que


se ejecutarán, está limitado a 5. No se puede utilizar en una sección de programa
que incluye StorePath-RestoPath.

Si se omite este argumento y AlPunto no es un punto de paro, la siguiente instruc-


ción se ejecutará poco tiempo antes de que el robot haya alcanzado la zona pro-
gramada.

PuntoCírculo Tipo de dato: robtarget

Es el punto de círculo para el robot. El punto de círculo es una posición en el cír-


culo, entre el punto de inicio y el punto final. Para obtener una mayor precisión,
deberá estar situado aproximadamente a mitad de camino entre el punto de inicio
y el punto final. Si está situado demasiado cerca del punto de inicio o del punto
final, el robot puede generar un mensaje de aviso. El punto de círculo está defi-
nido como una posición con nombre o es almacenado directamente en la instruc-
ción (marcado con un asterisco * en la instrucción). Las posiciones de los ejes
externos no son utilizadas.

AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Está definido como una
posición con nombre o es almacenado directamente en la instrucción (marcado
con un asterisco * en la instrucción).

Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Definen la veloci-
dad del punto central de la herramienta, de la reorientación de la herramienta y
de los ejes externos.

[ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente
en la instrucción, que substituirá a la velocidad correspondiente especificada en
los datos de velocidad.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total expresado en segundos


durante el cual el robot se mueve. Sustituye a los datos de velocidad de la instruc-

8-MoveC-2 Manual de Programación Básica RAPID


Instrucciones MoveC

ción.

Zona Tipo de dato: zonedata

Datos de zona para el movimiento. Los datos de zona describen el tamaño de la


trayectoria esquina generada.

[ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisión de la posición del TCP del
robot directamente en la instrucción. La longitud de la trayectoria esquina está
expresada en mm, y sustituye a la zona correspondiente especificada en los datos
de zona.

Tool Tipo de dato: tooldata

La herramienta utilizada durante el movimiento.

El TCP y la carga de la herramienta están definidos en los datos de herramienta.


El TCP sirve para decidir la velocidad y la trayectoria esquina del movimiento.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo utilizado durante el movimiento.

Este argumento podrá ser omitido si la herramienta es sujetada por el robot. No


obstante, si el robot sujeta el objeto de trabajo, es decir, si la herramienta es esta-
cionaria, o con ejes externos coordinados, entonces se deberá especificar este
argumento.

En el caso de una herramienta estacionaria o de ejes externos coordinados, los


datos utilizados por el sistema para decidir la velocidad y la trayectoria esquina
del movimiento, se encuentran definidos en el objeto de trabajo.

[ \Corr] (Corrección) Tipo de dato: switch

Si este argumento está presente, los datos de corrección introducidos en una


entrada de corrección mediante la instrucción CorrWrite serán añadidos a la tra-
yectoria y a la posición de destino.

Manual de Programación Básica RAPID 8-MoveC-3


MoveC Instrucciones

Ejecución del programa


El robot y las unidades externas se moverán al punto de destino de la siguiente manera:

- El TCP de la herramienta se moverá de forma circular a la velocidad constante


programada.
- La herramienta es reorientada a una velocidad constante desde la orientación de
la posición de inicio a la orientación del punto de destino.
- La reorientación se lleva a cabo respecto a la trayectoria circular. Así durante el
movimiento, la orientación permanecerá constante si la orientación respecto a
la trayectoria es la misma en el punto de inicio y en el punto de destino (véase
la Figura 2).

Orientación Punto de
de la círculo
herramienta

Punto de arranque

Punto de
destino
Figura 2 Orientación de la herramienta durante el movimiento circular.

- La orientación en el punto de círculo no es crítica; sirve únicamente para distin-


guir entre dos direcciones posibles de reorientación. La precisión de la reorien-
tación sobre la trayectoria dependerá únicamente de la orientación en el punto
de inicio y en el punto de destino.
- Los ejes externos no coordinados se mueven a una velocidad constante para que
puedan llegar al punto de destino al mismo tiempo que los ejes del robot. La
posición de la posición de círculo no se utiliza.

En el caso en que la reorientación o los ejes externos no puedan alcanzar la velocidad pro-
gramada, se reducirá la velocidad del TCP.

Se genera una trayectoria esquina cuando la trayectoria continua a una siguiente posi-
ción. En el caso en que se haya especificado un punto de paro en los datos de zona, la
ejecución del programa continuará cuando el robot y los ejes externos hayan alcanzado
la posición de ejes adecuada.

Ejemplos
MoveC *, *, v500 \V:=550, z40 \Z:=45, pinza3;

El TCP de la herramienta, pinza3, se moverá de forma circular a una posición


almacenada en la instrucción. El movimiento se llevará a cabo con unos datos de
v500 y z40; la velocidad y el tamaño de la zona del TCP son de 550 mm/s y de

8-MoveC-4 Manual de Programación Básica RAPID


Instrucciones MoveC

45 mm respectivamente.

MoveC \Conc, *, *, v500, z40, pinza3;

El TCP de la herramienta, pinza3, se moverá de forma circular a una posición


almacenada en la instrucción. El punto de círculo está también almacenado en la
instrucción. Durante el movimiento, se ejecutarán las instrucciones lógicas que
siguen a esta instrucción, al llevar el argumento Conc.

MoveC pcir1, p15, v500, z40, pinza3 \WObj:=fijación;

El TCP de la herramienta, pinza3, se moverá de forma circular a la posición, p15,


pasando por el punto de círculo pcir1. Estas posiciones están especificadas en el
sistema de coordenadas del objeto para fijación.

Limitaciones
No se permite un cambio del modo de ejecución, de delante hacia atrás o viceversa, mien-
tras el robot está parado en una trayectoria circular por lo que se generará un mensaje de
error.

La instrucción MoveC (o cualquier otra instrucción que incluya un movimiento circular)


no deberá nunca ser arrancada desde el principio, con el TCP entre el punto de círculo y
el punto final. De lo contrario el robot no seguirá la trayectoria programada, sino que
seguirá otra dirección comparada con la programada.

El usuario deberá asegurarse de que el robot puede alcanzar el punto de círculo durante
la ejecución del programa y dividir el circulo en varios segmentos circulares si fuera
necesario para poder realizar la trayectoria circular deseada.

Sintaxis
MoveC
[ ’\’ Conc ’,’ ]
[ PuntoCírculo’:=’ ] < expresión (IN) de robtarget > ’,’
[ AlPunto’:=’ ] < expresión (IN) de robtarget > ’,’
[ Velocidad’:=’ ] < expresión (IN) de speeddata >
[ ’\’ V ’:=’ < expresión (IN) de num > ]
| [ ’\’ T ’:=’ < expresión (IN) de num > ] ’,’
[Zona ’:=’ ] < expresión (IN) de zonedata >
[ ’\’ Z ’:=’ < expresión (IN) de num > ] ’,’
[ Herramienta ’:=’ ] < persistente (PERS) de tooldata >
[ ’\’ WObj ’:=’ < persistente (PERS) de wobjdata > ]
[ ‘\’ Corr ]’;’

Manual de Programación Básica RAPID 8-MoveC-5


MoveC Instrucciones

Información relacionada
Descrita en:
Otras instrucciones de posicionamiento Resumen RAPID - Movimiento
Definición de la velocidad Tipos de datos - speeddata
Definición de los datos de zona Tipos de datos - zonedata
Definición de las herramientas Tipos de datos - tooldata
Definición de los objetos de trabajo Tipos de datos - wobjdata
Escritura en una entrada de corrección Instrucciones - CorrWrite
Movimiento en general Principios de Movimiento y de E/S
Sistemas de coordenadas Principios de Movimiento y de E/S -
Sistemas de coordenadas
Ejecución de un programa concurrente Principios de Movimiento y de E/S -
Sincronización utilizando instruc-
ciones lógicas

8-MoveC-6 Manual de Programación Básica RAPID


Instrucciones MoveJ

MoveJ Movimiento eje a eje del robot


MoveJ (Move Joint) sirve para mover el robot rápidamente desde un punto a otro
cuando este movimiento no tiene que seguir una línea recta.

El robot y los ejes externos se moverán a la posición de destino siguiendo una trayec-
toria que no es lineal. Todos los ejes alcanzarán la posición de destino al mismo tiempo.

Ejemplos
MoveJ p1, vmax, z30, herram2;

El punto central de la herramienta (TCP), herram2, se moverá siguiendo una


trayectoria que no es lineal para alcanzar la posición, p1, con el dato de velocidad
vmax y el dato de zona z30.

MoveJ *, vmax \T:=5, fine, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria no lineal


a un punto de paro almacenado en la instrucción (marcado con un asterisco *).
El movimiento tardará 5 segundos en realizarse.

Argumentos
MoveJ [ \Conc ] AlPunto Velocidad [ \V ] | [ \T ] Zona [ \Z ]
Herramienta [ \WObj ]
[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones lógicas siguientes se ejecutarán inmediatamente. Este argu-


mento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se está comuni-
cando con el equipo externo y no se requiere ninguna sincronización.

Utilizando el argumento \Conc, el número de instrucciones de movimiento que


se ejecutarán, está limitado a 5. No se puede utilizar en una sección de programa
que incluye StorePath-RestoPath.

Si se omite este argumento y AlPunto no es un punto de paro, la siguiente ins-


trucción se ejecutará poco tiempo antes de que el robot haya alcanzado la zona
programada.

AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Está definido como una
posición con nombre o es almacenado directamente en la instrucción (marcado
con un asterisco * en la instrucción).

Manual de Programación Básica RAPID 14-MoveJ-1


MoveJ Instrucciones

Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Definen la veloci-
dad del punto central de la herramienta, de la reorientación de la herramienta y
de los ejes externos.

[ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente
en la instrucción, que substituirá a la velocidad correspondiente especificada en
los datos de velocidad.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total expresado en segundos


durante el cual el robot se mueve. Sustituye a los datos de velocidad de la instruc-
ción.

Zona Tipo de dato: zonedata

Datos de zona para el movimiento. Los datos de zona describen el tamaño de la


trayectoria esquina generada.

[ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisión de la posición del TCP del
robot directamente en la instrucción. La longitud de la trayectoria esquina está
expresada en mm, y sustituye a la zona correspondiente especificada en los datos
de zona.

Herramienta Tipo de dato: tooldata

La herramienta utilizada durante el movimiento.

El TCP y la carga de la herramienta están definidos en los datos de herramienta.


El TCP sirve para decidir la velocidad y la trayectoria esquina del movimiento.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo utilizado durante el movimiento.

Este argumento podrá ser omitido si la herramienta es sujetada por el robot. No


obstante, si el robot sujeta el objeto de trabajo, es decir, si la herramienta es esta-
cionaria, o con ejes externos coordinados, entonces se deberá especificar este
argumento.

En el caso de una herramienta estacionaria o de ejes externos coordinados, los


datos utilizados por el sistema para decidir la velocidad y la trayectoria esquina
del movimiento, se encuentran definidos en el objeto de trabajo.

14-MoveJ-2 Manual de Programación Básica RAPID


Instrucciones MoveJ

Ejecución del programa


El TCP de la herramienta se moverá al punto de destino con una interpolación de los
ángulos de los ejes. Ello significa que cada eje se moverá a una velocidad constante y
que todos los ejes alcanzarán el punto de destino al mismo tiempo, lo cual originará
una trayectoria que no es lineal.

De forma general, el TCP se moverá aproximadamente a la velocidad programada


(independientemente de si los ejes externos están coordinados o no). La herramienta
será reorientada y los ejes externos se moverán al mismo tiempo que se mueve el TCP.
En el caso en que la reorientación o los ejes externos no puedan alcanzar la velocidad
programada, se reducirá la velocidad del TCP.

Una trayectoria esquina suele ser generada cuando el movimiento es transferido a la


sección siguiente de una trayectoria. Si se especifica un punto de paro en los datos de
zona, la ejecución del programa únicamente continuará cuando el robot y los ejes
externos hayan alcanzado la posición adecuada.

Ejemplos
MoveJ *, v2000\V:=2200, z40 \Z:=45, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria que no es


lineal, a una posición almacenada en la instrucción. El movimiento se llevará a
cabo con los datos de v2000 y z40; la velocidad y el tamaño de la zona del TCP
son de 2200 mm/s y de 45 mm respectivamente.

MoveJ \Conc, *, v2000, z40, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria que no es


lineal, a una posición almacenada en la instrucción. Las instrucciones lógicas
siguientes se ejecutarán mientras el robot se mueve.

MoveJ pArranque, v2000, z40, pinza3 \WObj:=fijación;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria que no es


lineal, a una posición, pArranque. Esta posición está especificada en el sistema
de coordenadas del objeto para fijación.

Manual de Programación Básica RAPID 14-MoveJ-3


MoveJ Instrucciones

Sintaxis
MoveJ
[ ’\’ Conc ’,’ ]
[ AlPunto’:=’ ] < expresión (IN) de robtarget > ’,’
[ Velocidad’:=’ ] < expresión (IN) de speeddata >
[ ’\’ V ’:=’ < expresión (IN) de num > ]
| [ ’\’ T ’:=’ < expresión (IN) de num > ] ’,’
[Zona ’:=’ ] < expresión (IN) de zonedata >
[ ’\’ Z ‘:=’ < expresión (IN) de num > ] ’,’
[ Herramienta’:=’ ] < persistente (PERS) de tooldata >
[ ’\’ WObj ’:=’ < persistente (PERS) de wobjdata > ] ’;’

Información relacionada
Descrita en:
Otras instrucciones de posicionamiento Resumen RAPID - Movimiento
Definición de la velocidad Tipos de datos - speeddata
Definición de los datos de zona Tipos de datos - zonedata
Definición de las herramientas Tipos de datos - tooldata
Definición de los objetos de trabajo Tipos de datos - wobjdata
Movimiento en general Principios de Movimiento y de E/S
Sistemas de coordenadas Principios de Movimiento y de E/S-
Sistemas de Coordenadas
Ejecución de un programa concurrente Principios de Movimiento y de E/S -
Sincronización utilizando Instruc-
ciones Lógicas

14-MoveJ-4 Manual de Programación Básica RAPID


Instrucciones MoveL

MoveL Movimiento del robot en trayectorias rectas


MoveL sirve para mover el TCP de la herramienta a una posición de determinada
siguiendo una trayectoria recta. Cuando el TCP debe permanecer estacionario, esta ins-
trucción podrá ser utilizada también para reorientar la herramienta.

Ejemplo
MoveL p1, v1000, z30, herram2;

El TCP de la herramienta, herram2, se moverá de forma lineal a la posición p1,


con el dato de velocidad v1000 y el dato de zona z30.

MoveL *, v1000\T:=5, fine, pinza3;

El TCP de la herramienta, pinza3, se moverá de forma lineal a un punto fino


almacenado en la instrucción (marcado con un asterisco *). El movimiento com-
pleto tardará 5 segundos en llevarse a cabo.

Argumentos
MoveL [ \Conc ] AlPunto Velocidad [ \V ] | [ \T ] Zona [ \Z ]
Herram [ \WObj ] [ \Corr ]
[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones lógicas siguientes se ejecutarán inmediatamente. Este argu-


mento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se está comuni-
cando con el equipo externo y no se requiere ninguna sincronización.

Utilizando el argumento \Conc, el número de instrucciones de movimiento que


se ejecutarán, está limitado a 5. No se puede utilizar en una sección de programa
que incluye StorePath-RestoPath.

Si se omite este argumento y AlPunto no es un punto de paro, la siguiente ins-


trucción se ejecutará poco tiempo antes de que el robot haya alcanzado la zona
programada.

AlPunto Tipo de dato: robtarget

Es el punto de destino del robot y de los ejes externos. Está definido como una
posición con nombre o es almacenado directamente en la instrucción (marcado
con un asterisco * en la instrucción).

Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Definen la veloci-
dad del punto central de la herramienta, de la reorientación de la herramienta y

Manual de Programación Básica RAPID 8-MoveL-1


MoveL Instrucciones

de los ejes externos.

[ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente
en la instrucción, que substituirá a la velocidad correspondiente especificada en
los datos de velocidad.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total expresado en segundos


durante el cual el robot se mueve. Sustituye a los datos de velocidad de la instruc-
ción.

Zona Tipo de dato: zonedata

Datos de zona para el movimiento. Los datos de zona describen el tamaño de la


trayectoria esquina generada.

[ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisión de la posición del TCP del
robot directamente en la instrucción. La longitud de la trayectoria esquina está
expresada en mm, y sustituye a la zona correspondiente especificada en los datos
de zona.

Herramienta Tipo de dato: tooldata

La herramienta utilizada durante el movimiento.

El TCP y la carga de la herramienta están definidos en los datos de herramienta.


El TCP sirve para decidir la velocidad y la trayectoria esquina del movimiento.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo utilizado durante el movimiento.

Este argumento podrá ser omitido si la herramienta es sujetada por el robot. No


obstante, si el robot sujeta el objeto de trabajo, es decir, si la herramienta es esta-
cionaria, o con ejes externos coordinados, entonces se deberá especificar este
argumento.

En el caso de una herramienta estacionaria o de ejes externos coordinados, los


datos utilizados por el sistema para decidir la velocidad y la trayectoria esquina
del movimiento, se encuentran definidos en el objeto de trabajo.

[ \Corr] (Corrección) Tipo de dato: switch

Si este argumento está presente, los datos de corrección introducidos en una


entrada de corrección mediante la instrucción CorrWrite serán añadidos a la tra-
yectoria y a la posición de destino.

8-MoveL-2 Manual de Programación Básica RAPID


Instrucciones MoveL

Ejecución del programa


El robot y los ejes externas se moverán a la posición de destino de la siguiente manera:

- El TCP de la herramienta se moverá de forma lineal a la velocidad programada


constante.
- La herramienta es reorientada a intervalos iguales a lo largo de la trayectoria.
- Los ejes externos no coordinados se moverán a una velocidad constante para
que puedan llegar al punto de destino al mismo tiempo que los ejes del robot.

En el caso en que la reorientación o los ejes externos no puedan alcanzar la velocidad


programada, la velocidad del TCP será reducida.

Una trayectoria esquina se genera cuando el movimiento es transferido a la sección


siguiente de una trayectoria. Si se especifica un punto de paro en los datos de zona, la
ejecución del programa continuará cuando el robot y los ejes externos hayan alcanzado
la posición adecuada.

Ejemplos
MoveL *, v2000 \V:=2200, z40 \Z:=45, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria lineal, a


una posición almacenada en la instrucción. El movimiento se llevará a cabo con
los datos de v2000 y z40; la velocidad y el tamaño de la zona del TCP son de
2200 mm/s y de 45 mm respectivamente.

MoveJ \Conc, *, v2000, z40, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria lineal, a


una posición almacenada en la instrucción. Las instrucciones lógicas siguientes
se ejecutarán mientras el robot se mueve.

MoveJ pArranque, v2000, z40, pinza3 \WObj:=fijación;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria lineal, a


una posición, pArranque. Esta posición está especificada en el sistema de coor-
denadas del objeto de fijación.

Manual de Programación Básica RAPID 8-MoveL-3


MoveL Instrucciones

Sintaxis
MoveL
[ ’\’ Conc ’,’ ]
[ AlPunto’:=’ ] < expresión (IN) de robtarget > ’,’
[ Velocidad’:=’ ] < expresión (IN) de speeddata >
[ ’\’ V ’:=’ < expresión (IN) de num > ]
| [ ’\’ T ’:=’ < expresión (IN) de num > ] ’,’
[Zona ’:=’ ] < expresión (IN) de zonedata >
[ ’\’ Z ’:=’ < expresión (IN) de num > ] ’,’
[ Herramienta ’:=’ ] < persistente (PERS) de tooldata >
[ ’\’ WObj ’:=’ < persistente (PERS) de wobjdata > ]
[ ‘\’ Corr ]’;’

Información relacionada
Descrita en:
Otras instrucciones de posicionamiento Resumen RAPID - Movimiento
Definición de la velocidad Tipos de datos - speeddata
Definición de los datos de zona Tipos de datos - zonedata
Definición de las herramientas Tipos de datos - tooldata
Definición de los objetos de trabajo Tipos de datos - wobjdata
Escritura en una entrada de corrección Instrucciones - CorrWrite
Movimiento en general Principios de Movimiento y de E/S
Sistemas de coordenadas Principios de Movimiento y de E/S-
Sistemas de Coordenadas
Ejecución de un programa concurrente Principios de Movimiento y de E/S -
Sincronización utilizando instruc-
ciones lógicas

8-MoveL-4 Manual de Programación Básica RAPID


Instrucciones PDispOff

PDispOff Desactivación de un desplazamiento


de programa
PDispOff (Program Displacement Off) sirve para desactivar un desplazamiento de pro-
grama.

El desplazamiento del programa, será activado por la instrucción PDispSet o PDispOn


y se aplica a todos los movimientos hasta que se desactive o active otro desplazamiento
de programa.

Ejemplos
PDispOff;

Desactivación de un desplazamiento de programa.

MoveL p10, v500, z10, herram1;


PDispOn \ExeP:=p10, p11, herram1;
MoveL p20, v500, z10, herram1;
MoveL p30, v500, z10, herram1;
PDispOff;
MoveL p40, v500, z10, herram1;

Se define un desplazamiento de programa como la diferencia entre las posiciones


p10 y p11. Este desplazamiento afectará el movimiento a p20 y p30, pero no a
p40.

Ejecución del programa


Se anulará el desplazamiento de programa activo. Esto significa que el sistema de
coordenadas del desplazamiento del programa será el mismo que el sistema de
coordenadas del objeto y todas las posiciones programadas se referirán a éste último.

Sintaxis
PDispOff ‘;’

Manual de Programación Básica RAPID 14-PDispOff-1


PDispOff Instrucciones

Información relacionada
Descrita en:
Definición de un desplazamiento de Instrucciones - PDispOn
programa utilizando dos posiciones
Definición de un desplazamiento de Instrucciones - PDispSet
programa utilizando valores

14-PDispOff-2 Manual de Programación Básica RAPID


Instrucciones PDispOn

PDispOn Activación de un desplazamiento


de programa
PDispOn (Program Displacement On) sirve para activar y definir un desplazamiento
de programa utilizando dos posiciones de robot.

El desplazamiento de programa sirve, por ejemplo, después de haber realizado una


búsqueda o cuando trayectorias de movimiento iguales se van repitiendo en diferentes
partes del programa.

Ejemplos
MoveL p10, v500, fine, herram1;
PDispOn *, herram1;

Activación de un desplazamiento de programa (movimiento paralelo). El despla-


zamiento será calculado basándose en la diferencia entre la posición actual del
robot y el punto programado (*) almacenado en la instrucción.

PDispOn \Rot \ExeP:=p10, p20, herram1;

Activación de un desplazamiento de programa incluyendo una rotación. Este se


calcula basándose en la diferencia entre las posiciones p10 y p20.

MoveL p10, v500, z10, herram1;


PDispOn \ExeP:=p10, p20, herram1;

Activación de un desplazamiento de programa (movimiento paralelo). Este se


calcula basándose en la diferencia entre las posiciones p10 y p20.

Argumentos
PDispOn [ \Rot ] [ \ExeP ] PuntProg Herram [ \WObj ]
[\Rot ] (Rotación) Tipo de dato: switch

La diferencia de la orientación de la herramienta será tomada en cuenta y ello


implicará una rotación del programa.

[\ExeP ] (Punto Ejecutado) Tipo de dato: robtarget

La nueva posición del robot en el momento de la ejecución del programa. Esta


posición será utilizada por el robot para calcular la diferencia entre ella y el punto
programado almacenado en la instrucción PuntProg.

PuntProg (Punto Programado) Tipo de dato: robtarget

La posición original del robot en el momento de la programación.

Manual de Programación Básica RAPID 14-PDispOn-1


PDispOn Instrucciones

Herram Tipo de dato: tooldata

La herramienta utilizada durante la programación, es decir, el TCP al que se


refiere la posición PuntProg.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) al que se refiere la posición original


del robot en el momento de la programación, PuntProg.

Este argumento podrá ser omitido, y en el caso en que lo sea, la posición se refe-
rirá al sistema de coordenadas mundo. Sin embargo, si se utiliza un TCP estacio-
nario o ejes externos coordenados, este argumento deberá ser especificado.

Los argumentos Herram y \WObj se utilizan tanto para calcular el PuntProg


durante la programación como para calcular la posición actual durante la ejecu-
ción del programa, siempre y cuando no este el argumento ExeP.

Ejecución del programa


Un desplazamiento de programa significa que el sistema de coordenadas ProgDisp será
trasladado respecto al sistema de coordenadas del objeto. Dado que todas las posiciones
se refieren al sistema de coordenadas ProgDisp, todas las posiciones programadas
serán también desplazadas. Véase la Figura 1.

y
Posición
nueva, ExeP

y
Posición
original, PuntProg

x
Desplazamiento de progr. Sistema de Cordenadas del Desplazamiento del Programa
(ProgDisp)
x
Sistema de Coordenadas del Objeto

Figura 1 Desplazamiento de una posición programada utilizando un desplazamiento de pro-


grama.

El desplazamiento de programa se activará cuando la instrucción PDispOn haya sido


ejecutada y permanecerá activado hasta que se active otro desplazamiento de programa
(con la instrucción PDispSet o PDispOn) o hasta que se desactive el desplazamiento de
programa (con la instrucción PDispOff).

Sólo se podrá activar un solo desplazamiento a la vez. No obstante, se podrán progra-


mar varias instrucciones PDispOn, una tras otra y, en este caso, los diferentes
desplazamientos del programa se sumarán.

El desplazamiento de programa será calculado como la diferencia entre ExeP y la


posición PuntProg. En el caso en que ExeP no haya sido especificado, se utilizará la
posición del robot en el momento de la ejecución del programa, por lo que el robot no
deberá moverse cuando se ejecuta la instrucción PDispOn.

14-PDispOn-2 Manual de Programación Básica RAPID


Instrucciones PDispOn

Si se utiliza el argumento \Rot, la rotación será calculada también basándose en la ori-


entación de la herramienta en las dos posiciones. El desplazamiento será calculado de
forma que la nueva posición (ExeP) tenga la misma posición y orientación, respecto al
sistema de coordenadas desplazado ProgDisp, que la posición antigua (PuntProg)
respecto al sistema de coordenadas original (véase la Figura 2).

Posición
y nueva, ExeP

y
Orientación
Posición
original, PuntProg
nueva x

Orientación
original Desplazamiento del progr. Sistema de Coordenadas del Desplazamiento del Programa
(ProgDisp)
x
Sistema de Coordenadas del Objeto

Figura 2 Translación y rotación de una posición programada.

El desplazamiento del programa será reinicializado automáticamente:


- en un arranque en frio
- cuando se carga un nuevo programa
- cuando se ejecuta el programa desde el principio

Ejemplo
PROC dibuja_cuadrado()
PDispOn *, herram1;
MoveL *, v500, z10, herram1;
MoveL *, v500, z10, herram1;
MoveL *, v500, z10, herram1;
MoveL *, v500, z10, herram1;
PDispOff;
ENDPROC
.
MoveL p10, v500, fine, herram1;
dibuja_cuadrado;
MoveL p20, v500, fine, herram1;
dibuja_cuadrado;
MoveL p30, v500, fine, herram1;
dibuja_cuadrado;

Manual de Programación Básica RAPID 14-PDispOn-3


PDispOn Instrucciones

La rutina dibuja_cuadrado sirve para ejecutar la misma secuencia de movimien-


tos en tres posiciones diferentes, basándose en las posiciones p10, p20 y p30.
Véase la Figura 3.

p30
p10
p20

Figura 3 Utilizando un desplazamiento de programa, las secuencias de movimiento podrán ser


reutilizadas.

SearchL sen1, pbusc, p10, v100, herram1\WObj:=fijacion1;


PDispOn \ExeP:=pbusc, *, herram1 \WObj:=fijación1;

Se realiza una búsqueda en la que la posición buscada del robot está almacenada
en la posición pbusc. Cualquier movimiento llevado a cabo después, comenzará
a partir de esta posición utilizando un desplazamiento de programa (movimiento
paralelo). Este último será calculado basándose en la diferencia entre la posición
buscada y el punto programado (*) almacenado en la instrucción. Todas las posi-
ciones están basadas en el sistema de coordenadas del objeto fijacion1.

Sintaxis
PDispOn
[ ’\’ Rot ’,’ ]
[ ’\’ ExeP ’:=’ ] < expresión (IN) de robtarget > ’,’]
[ PuntProg ’:=’ ] < expresión (IN) de robtarget > ’,’
[ Herram’:=’ ] < persistente (PERS) de tooldata>
[ ‘\’WObj ’:=’ < persistente (PERS) de wobjdata> ] ‘;’

Información relacionada
Descrita en:
Desactivación del desplazamiento Instrucciones - PDispOff
Definición del desplazamiento del
programa utilizando valores Instrucciones - PDispSet
Sistemas de coordenadas Principios de Movimiento y de E/S -
Sistemas de Coordenadas
Definición de las herramientas Tipos de datos - tooldata
Definición de los objetos de trabajo Tipos de datos - wobjdata
Más ejemplos Instrucciones - PDispOff

14-PDispOn-4 Manual de Programación Básica RAPID


Instrucciones PDispSet

PDispSet Activación de un desplazamiento del


programa utilizando un valor
PDispSet (Program Displacement Set) sirve para definir y activar un desplazamiento
de programa utilizando valores.

Se utilizará un desplazamiento de programa cuando, por ejemplo, se repiten secuencias


de movimiento similares endiferentes partes del programa.

Ejemplo
VAR pose xp100 := [ [100, 0, 0], [1, 0, 0, 0] ];
.
PDispSet xp100;

La activación del desplazamiento de programa xp100 significa que:

- El sistema de coordenadas ProgDisp será desplazado 100 mm del sistema de


coordenadas del objeto, en dirección del eje x positivo (véase la Figura 1).
- Mientras este desplazamiento de programa está activado, todas las posiciones
serán desplazadas 100 mm en la dirección del eje x.

Objeto DesplProg

100 X
Figura 1 Un desplazamiento de programa de 100 mm en el eje x-.

Argumentos
PDispSet BaseDesp
BaseDesp(Base de Desplazamiento) Tipo de dato: pose

El desplazamiento de programa será definido como un dato del tipo pose.

Ejecución del programa


El desplazamiento de programa implica la translación y/o la rotación del sistema de
coordenadas ProgDisp respecto al sistema de coordenadas del objeto. Dado que todas
las posiciones se refieren al sistema de coordenadas ProgDisp, todas las posiciones
programadas serán también desplazadas. Véase la Figura 2.

Manual de Programación Básica RAPID 14-PDispSet-1


PDispSet Instrucciones

Posición
y nueva

y
Orientación
Posición
original
nueva x

Orientación
original Desplazamiento de progr Sistema de Coordenadas del Desplazamiento del Programa
(ProgDisp)
x
Sistema de Coordenadas del Objeto

Figura 2 Translación y rotación de una posición programada.

El desplazamiento de programa se activará cuando la instrucción PDispSet se ejecute


y permanecerá activado hasta que se active otro desplazamiento de programa (con la
instrucción PDispSet o PDispOn) o hasta que se desactive el desplazamiento de pro-
grama (con la instrucción PDispOff).

Sólo se podrá activar un desplazamiento de programa a la vez. Los desplazamientos de


programa no podrán sumarse el uno al otro utilizando PDispSet.

El desplazamiento del programa será reinicializado automáticamente:

- en un arranque en frio
- cuando se carga un nuevo programa
- cuando se ejecuta el programa desde la primera instrucción.

Sintaxis
PDispSet
[ BaseDesp’:=’ ] < expresión (IN) de pose> ’;’

Información relacionada
Descrita en:
Desactivación de un desplazamiento de
programa Instrucciones - PDispOff
Definición de un desplazamiento de
programa utilizando dos posiciones Instrucciones - PDispOn
Definición de los tipos de dato pose Tipos de Datos - pose
Sistemas de Coordenadas Principios de Movimiento y de E/S -
Sistemas de Coordenadas
Ejemplos de utilización de un
desplazamiento de programas Instrucciones - PDispOn

14-PDispSet-2 Manual de Programación Básica RAPID


Instrucciones ProcCall

ProcCall Llamada a una rutina o a una funci—n


La llamada a un procedimiento (rutina o funci—n) sirve para transferir la ejecuci—n
del programa a dicho procedimiento. Cuando este se ha ejecutado completamente, la
ejecuci—n del programa continua con la instrucci—n que sigue a la llamada del pro-
cedimiento.

Normalmente se puede enviar una serie de argumentos al procedimiento nuevo. Estos


tendr‡n por misi—n controlar el comportamiento del procedimiento y hacer que sea
posible utilizar el mismo procedimiento para diferentes aplicaciones.

Ejemplos
limpieza1;

Llamada al procedimiento limpieza1.

mensajes_error;
Set do1;

PROC mensajes_error()
TPWrite "ERROR";
ENDPROC

Se llamar‡ al procedimiento mensajes_error. Cuando se haya ejecutado este pro-


cedimiento, la ejecuci—n del programa continuar‡ con la instrucci—n que sigue
la llamada al procedimiento,en este ejemplo con la instrucci—n Set do1.

Argumentos
Procedimiento {Argumentos}
Procedimiento Identificador

El nombre del procedimiento que se desea llamar.

Argumento Tipo de dato: De acuerdo


con la declaraci—n del
procedimiento

Los argumentos del procedimiento (de acuerdo con los par‡metros del proced-
imiento).

Manual de Programación Básica RAPID 14-ProcCall-1


ProcCall Instrucciones

Ejemplo
limpieza2 10, sinsoplado;

Llamar‡ al procedimiento limpieza2, incluyendo dos argumentos.

limpieza3 10 \veloc:=20;

Llamar‡ al procedimiento limpieza3, incluyendo un argumento obligatorio y otro


opcional.

Limitaciones
Los argumentos del procedimiento deben coincidir con sus par‡metros:

- Todos los argumentos obligatorios deber‡n ser incluidos.


- Deber‡n ser colocados siguiendo el mismo orden.
- Deber‡n ser del mismo tipo de datos.
- Deber‡n ser del tipo correcto en relaci—n al modo de acceso (input, variable o
persistente).

Una rutina puede llamar a otra rutina que, a su vez, llama a otra rutina, y as’ sucesiva-
mente. Una rutina tambi n podr‡ llamarse a s’ misma, es decir, que realizar‡ una lla-
mada recursiva. El nœmero de niveles de rutina permitido depender‡ del nœmero de
par‡metros, pero por lo general se permiten m‡s de 10 niveles.

Sintaxis
(EBNF)
<procedimiento> [ <lista argumentos> ] Õ;Õ

<procedimiento> ::= <identificador>

Informaci—n relacionada
Descrita en:
Argumentos, par‡metros Caracter’sticas B‡sicas - Rutinas
M‡s ejemplos Ejemplos de Programa

14-ProcCall-2 Manual de Programación Básica RAPID


Instrucciones PulseDO

PulseDO Generaci—n de un pulso en una


salida digital
PulseDO sirve para generar un pulso en una salida digital.

Ejemplos
PulseDO do15;

Se generar‡ un pulso de 0,2 s en la salida do15.

PulseDO \PLength:=1.0, conexi—n;

Se generar‡ un pulso de 1,0 s en la se–al conexi—n.

Argumentos
PulseDO [ \PLength ] Salida
[ \PLength ] (Duraci—n del pulso) Tipo de dato: num

La duraci—n del pulso en segundos (0,1 - 32 seg.).


Si se omite el argumento, se generar‡ un pulso de 0,2 segundos.

Salida Tipo de dato: signaldo

El nombre de la salida en la que se deber‡ generar el pulso.

Ejecuci—n del programa


Se generar‡ un pulso con la duraci—n indicada en la instrucci—n.(v ase la Figura 1).

Manual de Programación Básica RAPID 14-PulseDO-1


PulseDO Instrucciones

Duraci—n del pulso

1
Nivel de la salida
0
Ejecuci—n de la instrucci—n PulseDO
Ejecuci—n de la instrucci—n PulseDO
1
Nivel de la salida
0
Figura 1 Generaci—n de un pulso en una salida digital.

La instrucci—n siguiente se ejecutar‡ despu s del inicio del pulso. En la salida selec-
cionada se generar‡ un pulso sin afectar el resto de la ejecuci—n del programa.

Limitaciones
La duraci—n del pulso tiene una resoluci—n de 0,01 segundos. Los valores programa-
dos que difieran de sta ser‡n redondeados.

Sintaxis
PulseDO
[ Õ\Õ PLength Õ:=Õ < expresi—n (IN) de num > Õ,Õ ]
[ Salida Õ:=Õ ] < variable (VAR) de signaldo > Õ;Õ

Informaci—n relacionada
Descrita en:
Instrucciones de E/S Resumen RAPID -
Se–ales de Entrada y Salida
Funciones de las E/S en general Principios de Movimiento y de E/S-
Principios de E/S
Configuraci—n de las E/S Gu’a del Usuario - Par‡metros del
Sistema

14-PulseDO-2 Manual de Programación Básica RAPID


Instrucciones Reset

Reset Puesta a cero de una salida digital


Reset sirve para poner una salida digital a cero.

Ejemplos
Reset do15;

La señal do15 se pondrá a 0.

Reset dosold;

La señal dosold se pondrá a 0.

Argumentos
Reset Salida
Salida Tipo de dato: signaldo

El nombre de la señal que se desea poner a 0.

Ejecución del programa


El valor verdadero depende de la configuración de la señal. Si la señal ha sido invertida
en los parámetros del sistema, la instrucción hará que la salida se ponga a 1.

Sintaxis
Reset
[ Salida ’:=’ ] < variable (VAR) de signaldo > ’;’

Manual de Programación Básica RAPID 14-Reset-1


Reset Instrucciones

Información Relacionada
Descrita en:
Activación de una señal de salida digital Instrucciones - Activación
Instrucciones de E/S Resumen RAPID -
Señales de Entrada y Salida
Funciones de las E/S en general Principios de Movimiento y de E/S -
Principios de E/S
Configuración de las E/S Guía del Usuario - Parámetros del
Sistema

14-Reset-2 Manual de Programación Básica RAPID


Instrucciones RETURN

RETURN Fin de la ejecución de una rutina


RETURN sirve para finalizar la ejecución de una rutina. Si la rutina es una función, el
valor de la función será devuelto.

Ejemplos
mensajerror;
Set do1;
.

PROC mensajerror()
TPWrite "ERROR";
RETURN;
ENDPROC

El procedimiento mensajerror será llamado. Cuando el procedimiento llega a la


instrucción RETURN, la ejecución del programa continúa en la instrucción que
sigue a la llamada del procedimiento, Set do1.

FUNC num valor_abs (num valor)


IF valor<0 THEN
RETURN -valor;
ELSE
RETURN valor;
ENDIF
ENDFUNC

La función devuelve el valor absoluto de un número.

Argumentos
RETURN [ Valor devuelto ]
Valor devuelto Tipo de dato: Según la declaración de la fun-
ción

El valor devuelto de una función.

El valor devuelto debe ser especificado en una instrucción RETURN presente en


la función.

Si la instrucción está en un procedimiento o en una rutina de tratamiento de inte-


rrupciones, no se especifica el valor a devolver.

Manual de Programación Básica RAPID 14-RETURN-1


RETURN Instrucciones

Ejecución del programa


El resultado de la instrucción RETURN podrá variar, dependiendo del tipo de rutina en
la que está utilizada:

- Rutina principal: En el caso en que se haya ordenado un paro de programa al


final del ciclo, el programa se para. De lo contrario, la
ejecución del programa continúa con la primera instrucción de
la rutina principal.
- Procedimiento: La ejecución del programa continúa con la instrucción que
sigue a la llamada del procedimiento.
- Función: Devuelve el valor de la función.
- Rutina tratamiento de interrupciones:
La ejecución del programa continúa a partir de donde se ha
producido la interrupción.
- Gestor de errores:
En un procedimiento:
La ejecución del programa continúa con la rutina que llamó la
rutina con el gestor de error (con la instrucción que sigue la lla-
mada del procedimiento).
En una función:
El valor de la función es devuelto.

Sintaxis
(EBNF)
RETURN [ <expresión> ]’;’

Información Relacionada
Descrita en:
Funciones y Procedimientos Características Básicas - Rutinas
Rutinas de tratamiento de interrupciones Características Básicas - Interrup-
ciones
Gestores de error Características Básicas - Recuperación
de errores

14-RETURN-2 Manual de Programación Básica RAPID


Instrucciones Set

Set Activación de una salida digital


Set sirve para colocar a uno el valor de una salida digital.

Ejemplos
Set do15;

La salida do15 se pondrá a 1.

Set dosold;

La salida dosold se pondrá a1.

Argumentos
Set Señal
Señal Tipo de señal: signaldo

El nombre de la salida que se desea poner a 1.

Ejecución del programa


El valor verdadero dependerá de la configuración de la señal. En el caso en que la señal
haya sido invertida en los parámetros del sistema, la instrucción hará que el canal físico
se ponga en cero.

Sintaxis
Set
[ Señal ’:=’ ] < variable (VAR) de signaldo > ’;’

Manual de Programación Básica RAPID 8-Set-1


Set Instrucciones

Información Relacionada
Descrita en:
Activación de una señal de salida
digital a cero Instrucciones - Reinicializar
Instrucciones de Entradas/Salidas Resumen RAPID -
Señales de Entrada y Salida
Funciones de las Entrada/Salida en general Principios de Movimiento y de E/S-
Principios de E/S
Configuración de las E/S Guía del Usuario - Parámetros del
Sistema

8-Set-2 Manual de Programación Básica RAPID


Instrucciones SetAO

SetAO Cambio del valor de una salida analógica


SetAO sirve para cambiar el valor de una salida analógica.

Ejemplo
SetAO ao2, 5.5;

La salida ao2 se pone a 5,5.

Argumentos
SetAO Salida Valor
Señal Tipo de dato: signalao

El nombre de la salida analógica que se desea cambiar.

Valor Tipo de dato: num

El valor deseado de la salida.

Ejecución del programa


El valor programado es escalado (de acuerdo con los parámetros del sistema) antes de
ser enviado al canal físico. Véase la Figura 1.

Valor físico de la
señal de salida (V, mA, etc.)

MAX SEÑAL

MAX PROGRAMA

Valor lógico en
el programa
MIN PROGRAMA

MIN SEÑAL

Figura 1 Diagrama indicando como se escalan los valores de las señales analógicas.

Manual de Programación Básica RAPID 14-SetAO-1


SetAO Instrucciones

Ejemplo
SetAO Aocorrsold, corriente_sold;

La salida Aocorrsold adoptará el valor de la variable corriente_sold.

Sintaxis
SetAO
[ Señal ’:=’ ] < variable (VAR) de signalao > ’,’
[ Valor ’:=’ ] < expresión (IN) de num > ’;’

Información Relacionada
Descrita en:
Instrucciones de las Entradas/Salidas Resumen RAPID -
Señales de Entrada y Salida
Funciones de las Entradas/Salidas en general Principios de Movimiento y de E/S -
Principios de E/S
Configuración de las E/S Guía del Usuario - Parámetros del
Sistema

14-SetAO-2 Manual de Programación Básica RAPID


Instrucciones SetDO

SetDO Cambio del valor de una salida digital


SetDO sirve para cambiar el valor de una salida digital, con o sin un retraso.

Ejemplos
SetDO do15, 1;

La salida do15 se activará a 1.

SetDO dosold, off;

La salida dosold pasará a off.

SetDO \SDelay := 0,2, dosold, 1;

La salida dosold pasará a 1 con un retraso de 0,2 s. La ejecución del programa no


se verá alterada, ya que continuará en la instrucción siguiente.

Argumentos
SetDO [ \SDelay ] Salida Valor
[ \SDelay ] (Retraso de la Señal) Tipo de dato: num

Retrasa el cambio en el tiempo especificado en segundos (0,1 - 32 seg.).


La ejecución del programa continúa directamente con la instrucción siguiente.
Una vez transcurrido el tiempo de retraso, la señal cambia sin afectar por ello el
resto de la ejecución del programa.

Si se omite el argumento, el valor de la señal cambia instantaneamente.

Salida Tipo de dato: signaldo

El nombre de la salida que se desea cambiar.

Valor Tipo de dato: dionum

El valor deseado de la señal.

El valor se especifica como 0 o 1.

Ejecución del programa


El valor verdadero dependerá de la configuración de la salida. En el caso en que la sal-
ida haya sido invertida en los parámetros del sistema, el valor del canal físico será el
opuesto.

Manual de Programación Básica RAPID 8-SetDO-1


SetDO Instrucciones

Sintaxis
SetDO
[ ’\’ SDelay ’:=’ < expresión (IN) de num > ’,’ ]
[ Señal ’:=’ ] < variable (VAR) de signaldo > ’,’
[ Valor ’:=’ ] < expresión (IN) de dionum > ’;’

Información relacionada
Descrita en:
Instrucciones de las Entradas/Salidas Resumen RAPID -
Señales de Entrada y Salida
Funciones de las Entradas/Salidas en general Principios de Movimiento y de E/S -
Principios de E/S
Configuración de las E/S Guía del Usuario - Parámetros del Sis-
tema

8-SetDO-2 Manual de Programación Básica RAPID


Instrucciones SetGO

SetGO Cambio del valor de un grupo


de salidas digitales
SetGO sirve para cambiar el valor de un grupo de salidas digitales, con o sin un retraso
de tiempo.

Ejemplo
SetGO gogrup2, 12;

El grupo Gogrup2 se activará en 12. Si Gogrup2 comprende 4 señales, por ejem-


plo, las salidas 6-9, las salidas 6 y 7 se pondrán a cero, mientras que la 8 y la 9
se activarán en 1.

SetGO \SDelay :=0,4, gogrup2, 11;

La señal gogrup2 se activará en 10. Si gogrup2 comprende 4 señales, por ejem-


plo, las salidas 6-9, las salida 8 se pondrá a cero, mientras que la 6, 7 y la 9 se
activarán en 1, con un retraso de 0,4s. La ejecución del programa no se verá
alterada, ya que continuará en la instrucción siguiente.

Argumentos
SetGO [\SDelay ] Señal Valor
[\SDelay] (Retraso de la Señal) Tipo de dato: num

Retrasa el cambio del tiempo especificado en segundos (0,1 - 32 seg.).


La ejecución del programa continúa directamente con la instrucción siguiente.
Una vez transcurrido el tiempo de retraso, el valor de las salidas cambia sin afec-
tar por ello el resto de la ejecución del programa.

Si se omite el argumento, el valor de la señal cambia directamente.

Señal Tipo de dato: signalgo

El nombre del grupo de salidas que se desea cambiar.

Valor Tipo de dato: num

El valor deseado para el grupo de salidas (un número entero positivo).

El valor permitido depende del número de señales del grupo:

Manual de Programación Básica RAPID 14-SetGO-1


SetGO Instrucciones

Nº de salidas Valor permitido Nº de salidas Valor permitido


1 0-1 9 0 - 511
2 0-3 10 0 - 1023
3 0-7 11 0 - 2047
4 0 - 15 12 0 - 4095
5 0 - 31 13 0 - 8191
6 0 - 63 14 0 - 16383
7 0 - 127 15 0 - 32767
8 0 - 255 16 0 - 65535

Ejecución del programa


El valor programado se convertirá en un número binario sin signo. Este número binario
será enviado al grupo de salidas con el resultado que las cada unas de las salidas indi-
viduales del grupo se pondrán a 0 o a 1. Debido a retrasos internos del propio sistema,
el valor de una salida puede tener un valor indefinido durante un corto periodo de
tiempo.

Sintaxis
SetGO
[ ’\’ SDelay ’:=’ < expresión (IN) de num > ’,’ ]
[ Señal ’:=’ ] < variable (VAR) de signalgo > ’,’
[ Valor ’:=’ ] < expresión (IN) de num > ’;’

Información relacionada
Descrita en:
Otras instrucciones de Entrada/Salida Resumen RAPID -
Señales de Entrada y Salida
Funciones de las Entradas/Salidas Principios de Movimiento y de
E/S -
Principios de E/S
Configuración de las E/S (parámetros del sistema) Guía del Usuario - Parámetros
del Sistema

14-SetGO-2 Manual de Programación Básica RAPID


Instrucciones SingArea

SingArea Definición de la interpolación


en torno a puntos singulares
SingArea (Singularity Area) sirve para definir como debe moverse el robot cerca de los
puntos singulares.

SingArea también se usa para definir las interpolación lineal y circular para los robots
con menos de 6 ejes.

Ejemplos
SingArea \Wrist;

La orientación de la herramienta puede cambiar ligeramente para evitar un punto


singular (eje 4 y 6 alineados).

Los robots con menos de 6 ejes puede que no puedan alcanzar una orientación
programada de la herramienta. Usando la instrucción SingArea \Wrist, el robot
puede realizar el movimiento aunque modifique la orientación de la herramienta.

SingArea \Off;

La orientación de la herramienta no puede diferir de la orientación programada.


Si el robot pasa por un punto singular, uno o más ejes pueden realizar un cambio
de orientación, originando así una reducción de la velocidad.

Los robots con menos de 6 ejes puede que no puedan alcanzar la orientación pro-
gramada de la herramienta. Como consecuencia el robot se parará.

Argumentos
SingArea [ \Wrist] | [ \Off]
[ \Wrist ] Tipo de dato: switch

Se tolera una pequeña diferencia en la orientación de la herramienta con el fin de


evitar la singularidad de la muñeca. Se usa cuando los ejes 4 y 6 están alineados
(eje 5 a 0 grados). También se usa para interpolación lineal o circular en los
robots con menos de 6 ejes en donde se permite una orientación de la herramienta
diferente de la programada.

[\Off ] Tipo de dato: switch

No se tolera ninguna diferencia en la orientación de la herramienta. Se usa


cuando no se pasa por ningún punto singular o cuando no se permite que la orien-
tación cambie en los puntos singulares.

Si no se especifica ninguno de los argumentos se usa el argumento por defecto del

Manual de Programación Básica RAPID 14-SingArea-1


SingArea Instrucciones

robot. En los robots con 6 ejes este argumento es \Off.

Ejecución del programa


Si se especifica el argumento \Wrist, la orientación es interpolada eje a eje para evitar
los puntos singulares. De esta forma, el TCP sigue la trayectoria correcta aunque puede
ocurrir que la orientación de la herramienta se desvíe un poco. Esto también puede ocu-
rrir aunque no se pase por un punto singular.

La interpolación especificada se aplica a todos los movimientos siguientes hasta que se


ejecute una nueva instrucción SingArea.

El movimiento se verá afectado únicamente cuando se ejecuta una interpolación lineal


o circular.

Por defecto, o si no se especifica ningún argumento, la ejecución del programa utiliza


el argumento /Off en los robots con 6 ejes. En los robots con menos de 6 ejes pueden
utilizar el argumento \Off (robot IRB 640) o el argumento \Wrist. Este argumento esta
definido en la rutina de evento SYS_RESET.

Este argumento por defecto se activa automaticamente:

- en un arranque en frio
- cuando se carga un programa nuevo
- cuando se ejecuta un programa desde el inicio.

Limitaciones
Sólo se podrá especificar un argumento.

Sintaxis
SingArea
[ ’\’ Wrist ] | [ ’\’ Off ] ’;’

14-SingArea-2 Manual de Programación Básica RAPID


Instrucciones SingArea

Información Relacionada
Descrita en:
Singularidad Principios de Movimiento y de E/S -
Singularidad
Interpolación Principios de Movimiento y de E/S -
Posicionamiento durante la Ejecución
del Programa

Manual de Programación Básica RAPID 14-SingArea-3


SingArea Instrucciones

14-SingArea-4 Manual de Programación Básica RAPID


Instrucciones SoftAct

SoftAct Activación del servo suave


SoftAct (Soft Servo Activate) sirve para activar lo que se denomina servo «suave» en
cualquiera de los ejes del robot o de los ejes externos

Ejemplo
SoftAct 3, 20;

Activaci—n del servo suave del eje 3, con un valor de suavidad del 20%.

SoftAct 1, 90 \Ramp:=150;

Activaci—n del servo suave del eje 1, con un valor de suavidad del 90% y un
factor de rampa del 150%.

SoftAct \MechUnit:=orbit1, 1, 40\Ramp:=120;

Activaci—n del servo suave para el eje 1 de la unidad mec‡nica orbit1,con un


valor de suavidad del 40% y un factor de rampa del 120%

Argumentos
SoftAct [\UnidMec] Eje Suavidad [\Rampa ]
[\UnidMec] (Unidad Mecánica) Tipo de dato: mecunit

El nombre de la unidad mec‡nica. Si se omite este argumento, solo se activa el


servo suave para los ejes especificados del robot.

Eje Tipo de dato: num

Es el nœmero del eje utilizado en el robot (1 - 6).

Suavidad Tipo de dato: num

Es el valor de suavidad en porcentaje (0 - 100%). El 0% indica una suavidad


m’nima (rigidez m‡xima) y el 100 % indica una suavidad m‡xima.

Rampa Tipo de dato: num

Es el factor de rampa en porcentaje (>= 100%). El factor rampa sirve para con-
trolar el grado de aplicaci—n del servo suave. Un factor del 100% denota el valor
normal; si se utilizan valores m‡s elevados, significa que el servo suave se
aplicar‡ m‡s lentamente (rampa m‡s larga). El valor por defecto del factor rampa
es del 100 %.

Manual de Programación Básica RAPID 14-SoftAct-1


SoftAct Instrucciones

Ejecución del programa


La suavidad es activada en el valor especificado para el eje especificado. El valor de
suavidad es válido para todos los movimientos, hasta que se programe un nuevo valor
de suavidad para dicho eje o hasta que el servo suave sea desactivado por una instruc-
ción SoftDeact.

Limitaciones
El servo suave para cualquier eje del robot o eje externo siempre se desactiva cuando
hay un corte de tensión. Este hecho tendrá que ser gestionada por el programa del usua-
rio cuando se vuelva a aplicar tensión al sistema.

El servo suave para un mismo eje, no podrá ser activado dos veces, a menos que se
encuentre una instrucción de movimiento entre ellas. Así, la siguiente secuencia del
programa deberá ser evitada a fin de no provocar vibraciones o movimientos bruscos
en el movimiento del robot:

SoftAct n , x;
SoftAct n , y;
(n = eje de robot n, x e y valores de suavidad)

Sintaxis
SoftAct
[Ô\ÕMechUnit Ô:=Õ <variable (VAR) de mecunit> Ô,Õ]
[Eje Õ:=Õ ] < expresi—n (IN) de num> Õ,Õ
[Suavidad Õ:=Õ ] < expresi—n (IN) de num>
[ Õ\ÕRampa Õ:=Õ < expresi—n (IN) de num> ]Õ;Õ[Eje ’:=’ ] < expresión (IN) de
num> ’,’

Información relacionada
Descrita en:
Comportamiento con el servo suave activado Principios de movimiento y de E/S -
Posicionamiento durante la ejecución
de los movimientos del programa

14-SoftAct-2 Manual de Programación Básica RAPID


Instrucciones SoftDeact

SoftDeact Desactivación del servo suave


SoftDeact (Soft Servo Deactivate) sirve para desactivar lo que se denomina servo
«suave» en todos los ejes del robot.

Ejemplo
SoftDeact;

Desactivación del servo suave en todos los ejes.

SoftDeact \Ramp:=150;

Desactivación del servo suave en todos los ejes, con un factor de rampa del 150%

Argumentos
SoftDeact [\Rampa]

Rampa Tipo de dato: num

Es el factor rampa expresado en un porcentaje (>= 100%). El factor rampa sirve


para controlar la desactivación del servo suave. Un factor del 100% denota el
valor normal; con valores más elevados, el servo suave es desactivado más len-
tamente (rampa más larga). El valor por defecto del factor de rampa es del 100%

Ejecución del programa


El servo suave es desactivado en todos los ejes del robot y los ejes externos.

Sintaxis
SoftDeact’;’
[‘\’Rampa ‘:=’ < expresión (IN) de num] ‘;’

Información relacionada
Descrita en:
Activación del servo suave Instrucciones - SoftAct

Manual de Programación Básica RAPID 14-SoftDeact-1


SoftDeact Instrucciones

14-SoftDeact-2 Manual de Programación Básica RAPID


Instrucciones Stop

Stop Paro de la ejecución del programa


Stop sirve para detener temporalmente la ejecución del programa.

La ejecución del programa también podrá ser detenida utilizando la instrucción EXIT.
Esto, no obstante, sólo deberá realizarse si se ha terminado una tarea, o si se produce
un error muy grave, ya que la ejecución del programa no podrá ser rearrancada después
de un EXIT.

Ejemplo
TPWrite "Error en la línea de comunicaciones con el PC de supervisión";
Stop;

La ejecución del programa se detendrá después de que aparezca un mensaje en


la unidad de programación.

Argumentos
Stop [ \NoRegain ]
[ \NoRegain ] Tipo de dato: switch

Este argumento especifica si para el siguiente arranque del programa en el modo


manual, el robot y los ejes externos deben o no regresar a la posición donde se
ha parado. En el modo automático el robot y los ejes externos siempre regresan
a la posición de paro.

En el caso en que el argumento NoRegain esté activado, el robot y los ejes exter-
nos no regresarán a la posición de paro (en el caso de que se hayan sido movidos
de dicha posición).

En el caso en que se omita el argumento y que el robot o los ejes externos se


hayan movido de la posición de paro, el robot visualizará una pregunta en la
unidad de programación. Entonces, el usuario deberá contestar a la pregunta
especificando si desea que el robot regrese a la posición del paro o no.

Ejecución del programa


La instrucción detendrá la ejecución del programa en cuanto el robot y los ejes externos
alcancen la posición de destino programada en el movimiento que está realizando en
el momento. La ejecución del programa podrá entonces ser rearrancada a partir de la
siguiente instrucción.

Si hay una instrucción de Stop en alguna rutina de evento, la rutina será ejecutada desde
el principio en el siguiente evento.

Manual de Programación Básica RAPID 14-Stop-1


Stop Instrucciones

Ejemplo
MoveL p1, v500, fine, tool1;
TPWrite "Mover el robot a la posición esquina del pallet 1";
Stop \NoRegain;
p1_read := CRobT();
MoveL p2, v500, z50, tool1;

La ejecución del programa se detiene con el robot situado en la posición p1. El


usuario mueve el robot a p1_read. En el rearranque de programa, el robot no
regresará a p1, sino que almacenará la posición p1_read y se moverá a p2.

Limitaciones
La instrucción de movimiento que precede esta instrucción deberá terminar con un
punto de paro (fine) para que en esta instrucción sea posible realizar un rearranque
después de un fallo de alimentación.

Sintaxis
Stop’;’
[ ’\’ NoRegain ]’;’

Información relacionada
Descrita en:
Paro después de un error grave Instrucciones - EXIT
Paro de la ejecución del programa Instrucciones - EXIT
Paro de los movimientos del robot Instrucciones - StopMove

14-Stop-2 Manual de Programación Básica RAPID


Instrucciones TEST

TEST Dependiendo del valor de una expresión...


TEST sirve cuando diferentes instrucciones deben ser ejecutadas dependiendo del
valor de una expresión o de un dato.

En el caso en que no haya demasiadas alternativas, se podrá usar también la instrucción


IF..ELSE.

Ejemplo
TEST reg1
CASE 1,2,3 :
rutina1;
CASE 4 :
rutina2;
DEFAULT :
TPWrite "Elección ilegal";
Stop;
ENDTEST

Diferentes instrucciones serán ejecutadas dependiendo del valor de reg1. En el


caso en que el valor sea 1-3, la rutina1 será ejecutada. Si el valor es 4, la rutina2
será ejecutada. De lo contrario, aparecerá un mensaje de error y la ejecución se
detendrá.

Argumentos
TEST Dato Test {CASE Valor Test {, Valor Test} : ...}
[ DEFAULT: ...] ENDTEST
Dato Test Tipo de dato: Todos

El dato o expresión con el que se desea que el valor test sea comparado.

Valor Test Tipo de dato: Igual que Dato Test

El valor que el dato test debe tener para que las instrucciones asociadas se eje-
cuten.

Ejecución del programa


El dato test será comparado con los valores test de la primera condición CASE. En el
caso en que la comparación sea verdadera, las instrucciones asociadas se ejecutarán.
Después de ello, la ejecución del programa continúa con la instrucción que sigue a
ENDTEST.

Manual de Programación Básica RAPID 14-TEST-1


TEST Instrucciones

Si la primera condición CASE no se cumple, se comprobará la siguiente condición


CASE y así, sucesivamente. En el caso en que no se cumpla ninguna de las condiciones,
las instrucciones asociadas con DEFAULT (si existe) serán ejecutadas.

Sintaxis
(EBNF)
TEST <expresión>
{( CASE <valor test> { ’,’ <valor test> } ’:’
<lista instrucciones> ) | <CSE> }
[ DEFAULT ’:’ <lista instrucciones> ]
ENDTEST

<valor test> ::= <expresión>

Información Relacionada
Descrita en:
Expresiones Características Básicas - Expresiones

14-TEST-2 Manual de Programación Básica RAPID


Instrucciones TPErase

TPErase Borrado del texto visualizado en la


unidad de programación
TPErase (Teach Pendant Erase) sirve para borrar el contenido de la pantalla de la
unidad de programación.

Ejemplo
TPErase;
TPWrite "Ejecución comenzada";

El contenido de la pantalla de la unidad de programación será borrado antes de


que aparezca el mensaje Ejecución comenzada.

Ejecución del programa


La pantalla de la unidad de programación quedará libre de todo texto. La próxima vez
que se introduzca texto, aparecerá en la línea superior de la misma.

Sintaxis
TPErase;

Información Relacionada
Descrita en:
Escribir en la unidad de programación Resumen RAPID - Comunicación

Manual de Programación Básica RAPID 14-TPErase-1


TPErase Instrucciones

14-TPErase-2 Manual de Programación Básica RAPID


Instrucciones TPReadFK

TPReadFK Lectura de las teclas de función


TPReadFK (Teach Pendant Read Function Key) sirve para introducir un texto encima
de las teclas de función y para detectar la tecla que ha sido pulsada.

Ejemplo
TPReadFK regl, "Más ?", "", "", "", "Sí", "No";

El texto Más? aparecerá en la pantalla de la unidad de programación y sobre las


teclas de función 4 y 5 aparecerá el texto Sí y No respectivamente (véase la
Figura 1). La ejecución del programa esperará hasta que se pulse las teclas de
función 4 o 5. En otras palabras, a reg1 tendrá asignado el 4 o el 5 dependiendo
de la tecla que se pulse.

Más?

Sí No

Figura 1 El usuario podrá introducir información mediante las teclas de función

Argumentos
TPReadFK Contestación Texto FKl FK2 FK3 FK4 FK5
[\MaxTime][DIBreak] [\BreakFlag]
Contestación Tipo de dato: num

La variable a la cual, dependiendo de la tecla que se pulse, se le asigna el valor


numérico 1..5. Por ejemplo si se pulsa la tecla de función 1, se le asignará 1, si
se pulsa la tecla de función 2, se le asignará 2 y así sucesivamente.

Texto Tipo de dato: string

El texto informativo que se desea visualizar en la pantalla de la unidad de pro-


gramación (un máximo de 80 caracteres).

Manual de Programación Básica RAPID 14-TpReadFK-1


TPReadFK Instrucciones

FKx (Texto de la tecla de función) Tipo de dato: string

El texto que se desea introducir como leyenda de la tecla de función (un máximo
de 7 caracteres). FKl es la tecla situada más a la izquierda.

Las teclas de función sin ninguna leyenda, se les debe asignar una cadena de
caracteres en blanco("").

[\MaxTime] Tipo de dato: num

Es el intervalo máximo de tiempo, en segundos, que la ejecución del programa


espera. Si no se pulsa ninguna tecla de función durante este tiempo, el programa
continua en el gestor de errores, a menos que se utilice BreakFlag (véase a con-
tinuación). La variable ERRNO adquiere el valor ERR-TP-MAXTIME que
podrá ser utilizada para comprobar si ha transcurrido o no el intervalo máximo de
tiempo especificado.

[\DIBreak] (Entrada digital interrupción) Tipo de dato: signaldi

Es la entrada digital que podrá interrumpir la espera. Si no se pulsa ninguna tecla


de función cuando la entrada se pone a 1 (o si ya está en l), el programa continuará
la ejecución en el gestor de errores, a menos que se utilice BreakFlag (véase a
continuación). La variable ERRNO adquiere el valor ERR-TP-DIBREAK que
podrá ser utilizada para comprobar si esto ha ocurrido o no.

[\BreakFlag] Tipo de dato: errnum

Es una variable que mantiene el código de error si se ha utilizado MaxTime o


DIBreak. Si se omite esta variable opcional, el gestor de errores será ejecutado.
Las valores de ERRNO como ERR_TP_MAXTIME y ERR_TP_ DIBREAK
podrán utilizarse para descubrir el motivo.

Ejecución del programa


El texto de información siempre aparece en una línea nueva. Si la pantalla está llena, el
texto se moverá de una línea hacia arriba. Las cadenas de caracteres que son más largas
de 40 caracteres, quedarán divididas en dos líneas.

Las leyendas estarán escritas encima de las teclas de función correspondientes. Las
teclas de función que no lleven ninguna indicación serán desactivadas.

La ejecución del programa esperará hasta que se pulse una de las teclas de función acti-
vas.

14-TpReadFK-2 Manual de Programación Básica RAPID


Instrucciones TPReadFK

Descripción de la petición concurrente TPReadFK o TPReadNum en la unidad de pro-


gramación a partir de la misma o de otras tareas de programa:

- La nueva petición de la unidad de programación procedente de otra tarea de


programa no tiene acceso en este momento (la petición nueva queda retenida
en la cola)
- La nueva petición de la unidad de programación procedente de una rutina de
tratamiento de interrupciones (TRAP) en la misma tarea de programa tiene
acceso en este momento (la petición antigua queda retenida en la cola)
- El paro de programa tiene acceso en este momento (el antiguo queda retenido
en la cola)
- La nueva petición de la unidad de programación en un estado de paro de pro-
grama tiene acceso en este momento (la antigua queda retenida en la cola).

Ejemplo
VAR errnum errvar;
...
TPReadFK reg 1, "¿Ir a la posición de servicio?","","","","Si","No"
\MaxTime:= 600

DIBreak:= di5\BreakFlag:= errvar; [

IF reg 1= 4 or errvar = ERR-TP-DIBREAK THEN


MoveL pservicio, v500, fine, herram1;
stop;
END IF
IF errvar = ERR-TP-MAXTIME EXIT;

El robot se mueve a la posición de servicio si la cuarta tecla de función ("Sí") se


pulsa, o se activa la entrada 5. Si no se da ninguna respuesta en los 10 minutos
siguientes, se para la ejecución del programa..

Datos predefinidos
CONST string stEmpty :="";

La constante predefinida stEmpty deberá utilizarse con las teclas de función desprovis-
tas de cualquier indicación. Utilizando stEmpty en lugar de "" se ahorra unos 80 bytes
por cada tecla de función no utilizada.

Manual de Programación Básica RAPID 14-TpReadFK-3


TPReadFK Instrucciones

Sintaxis
TPReadFk
[Contestación’:=’] <variable o persistente (INOUT) de num>’,’
[Texto’:=’] <expresión (IN) de string>’,’
[FKI ’:=’] <expresión (IN) de string>’,’
[FK2 ’:=’] <expresión (IN) de string>’,’
[FK3 ’:=’] <expresión (IN) de string>’,’
[FK4 ’:=’] <expresión (IN) de string>’,’
[FK5 ’:=’] <expresión (IN) de string>’,’
[’\’MaxTime ’:=’ <expresión (IN) de num>]
[’\’DIBreak ’:=’ <variable (VAR) de signaldi>]
[’\’BreakFlag ’:=’ <variable o persistente (INOUT) de errnum>]’;’

Información relacionada
Descrita en:
Lectura y escritura en la Resumen RAPID - Comunicación
unidad de programación
Respuestas a través de la unidad Funcionamiento en producción
de programación

14-TpReadFK-4 Manual de Programación Básica RAPID


Instrucciones TPReadNum

TPReadNum Lectura de un número en


la unidad de programación
TPReadNum (Teach Pendant Read Numerical) sirve para poder leer un dato numerico
desde la unidad de programación.

Ejemplo
TPReadNum reg1, “¿Cuántas unidades deben producirse? “;

El texto ¿Cuántas unidades deben producirse? aparece en la pantalla de la


unidad de programación. La ejecución del programa espera hasta que se haya
introducido un número mediante el teclado numérico de la unidad de progra-
mación. Este número quedará almacenado en reg1.

Argumentos
TPReadNum Contestación Texto [\MaxTime] [DIBreak]
[\BreakFlag]
Contestación Tipo de dato: num

Es la variable donde se guarda el número introducido en la unidad de progra-


mación.

Texto Tipo de dato: string

Es el texto de información que se desea visualizar en la unidad de programación


(un máximo de 80 caracteres).

[\MaxTime] Tipo de dato: num

Es el intervalo máximo de tiempo, en segundos, que la ejecución del programa


espera. Si no se pulsa ninguna tecla de función durante este tiempo, el programa
continua en el gestor de errores, a menos que se utilice BreakFlag (véase a con-
tinuación). La variable ERRNO adquiere el valor ERR-TP-MAXTIME que
podrá ser utilizada para comprobar si ha transcurrido o no el intervalo máximo
de tiempo especificado.

[\DIBreak] (Entrada digital interrupción) Tipo de dato: signaldi

Es la entrada digital que podrá interrumpir la espera. Si no se pulsa ninguna tecla


de función cuando la entrada se pone a 1 (o si ya está en l), el programa conti-
nuará la ejecución en el gestor de errores, a menos que se utilice BreakFlag
(véase a continuación). La variable ERRNO adquiere el valor ERR-TP-
DIBREAK que podrá ser utilizada para comprobar si esto ha ocurrido o no.

Manual de Programación Básica RAPID 14-TPReadNum-1


TPReadNum Instrucciones

[\BreakFlag] Tipo de dato: errnum

Es una variable que mantiene el código de error si se ha utilizado MaxTime o


DIBreak. Si se omite esta variable opcional, el gestor de errores será ejecutado.
Las valores de ERRNO como ERR_TP_MAXTIME y ERR_TP_ DIBREAK
podrán utilizarse para descubrir el motivo.

Ejecución del programa


El texto de información siempre aparece en una línea nueva. Si la pantalla está llena, el
texto se moverá de una línea hacia arriba. Las cadenas de caracteres que son más largas
de 40 caracteres, quedarán divididas en dos líneas.

La ejecución del programa esperará hasta que se teclee un número en el teclado


numérico (pulsando luego la tecla Retorno o la tecla OK).

Véase lo descrito para la instrucción TPReadFK referente a la descripción de una


petición concurrente TPReadFK o TPReadNum en la unidad de programación, proce-
dente de la misma tarea de programa o de otras tareas.

Ejemplo
TPReadNum reg1, “¿Cuántas unidades deben producirse?“;
FOR i FROM 1 TO reg1 DO
produc_unid;
ENDFOR

El texto ¿Cuántas unidades deben producirse? aparece en la pantalla de la unidad


de programación. La rutina produc_unid se repetirá el número de veces que se ha
indicado a través de la unidad de programación.

Sintaxis
TPReadNum
[Contestación’:=’] <variable o persistente (INOUT) de num>’,’
[Texto’:=’] <expresión (IN) de string>
[’\’MaxTime ’:=’ <expresión (IN) de num>]
[’\’DIBreak ’:=’ <variable (VAR) de signaldi>]
[’\’BreakFlag ’:=’ <variable o persistente (INOUT) de errnum>] ’;’

14-TPReadNum-2 Manual de Programación Básica RAPID


Instrucciones TPReadNum

Información relacionada
Descrita en:
Lectura y escritura en la Resumen RAPID - Comunicación
unidad de programación
Introducción de un número en Guía del Usuario - Proceso de
la unidad de programación producción
Ejemplos sobre como utilizar los Instrucciones - TPReadFK
argumentos MaxTime, DIBreak y BreakFlag

Manual de Programación Básica RAPID 14-TPReadNum-3


TPReadNum Instrucciones

14-TPReadNum-4 Manual de Programación Básica RAPID


Instrucciones TPShow

TPShow Cambio de ventana de


la unidad de programación
TPShow (Teach Pendant Show) sirve para seleccionar la ventana de la unidad de
programación desde un programa RAPID.

Ejemplos
TPShow TP_PROGRAM;

La Ventana de Producción estará activa si el sistema se encuentra en el modo


AUTO y la Ventana de Programa estará activa si el sistema está en el modo MAN
después de la ejecución de esta instrucción.

TPShow TP_LATEST;

La última ventana utilizada de la unidad de programación antes de la ventana


actual, se activará después de la ejecución de esta instrucción.

Argumentos
TPShow Ventana
Ventana Tipo de dato: tpnum

La ventana que se desea visualizar:

TP_PROGRAM = Ventana de Producción si está en el modo AUTO. Ventana


de Programa si está en el modo MAN.
TP_LATEST = Última ventana utilizada en la unidad de programación antes
de la ventana actual.

Datos predefinidos
CONST tpnum TP_PROGRAM := 1;
CONST tpnum TP_LATEST := 2;
CONST tpnum TP_SCREENVIEWER := 3;

Ejecución del programa


La ventana seleccionada de la unidad de programación será activada.

Manual de Programación Básica RAPID 14-TPShow-1


TPShow Instrucciones

Sintaxis
TPShow
[Ventana’:=’] <expresión (IN) de tpnum> ‘;’

Información relacionada
Descrita en:
Comunicación mediante la unidad Resumen RAPID - Comunicación
de programación
Número de Ventana de la unidad
de programación Tipos de dato - tpnum

14-TPShow-2 Manual de Programación Básica RAPID


Instrucciones TPWrite

TPWrite Escritura en la unidad


de programación
TPWrite (Teach Pendant Write) sirve para escribir un texto en la unidad de progra-
mación. Se podrán visualizar textos y el valor de ciertos datos.

Ejemplos
TPWrite "Ejecución iniciada";

El texto Ejecución iniciada aparecerá visualizado en la unidad de programación.

TPWrite "Nº de piezas producidas="\Num:=reg1;

En la pantalla de la unidad de programación, se visualizara Nº de piezas produ-


cidas= 5, si reg1 es igual a 5.

Argumentos
TPWrite Texto [\Num] | [\Bool] | [\Pos] | [\Orient]
Texto Tipo de dato: string

El texto que queremos escribir, con un máximo de 80 caracteres.

[\Num] (Numeric) Tipo de dato: num

El dato numérico que debe ser escrito después del texto.

[\Bool] (Boolean) Tipo de dato: bool

El dato booleano que debe ser escrito después del texto.

[\Pos] (Position) Tipo de dato: pos

El dato de posición que debe ser escrito después del texto.

[\Orient] (Orientation) Tipo de dato: orient

El dato de orientación que debe ser escrito después del texto.

Ejecución del programa


El texto introducido en la unidad de programación empieza siempre en una nueva
línea. Cuando la pantalla está llena, el texto se moverá una línea hacia arriba. Los tex-
tos que son más largas que la anchura de la pantalla de la unidad de programación, (40

Manual de Programación Básica RAPID 14-TPWrite-1


TPWrite Instrucciones

caracteres) se dividirán en dos líneas.

Si se utiliza uno de los argumentos \Num, \Bool, \Pos o \Orient, su valor será primero
convertido en una cadena de texto antes de ser visualizado. La conversión del valor en
cadena de texto se realiza según lo siguiente:

Argumento Valor Cadena de texto


\Num 23 "23"
\Num 1.141367 "1.141367"
\Bool VERDADERO "VERDADERO"
\Pos [1817.3,905.17,879.11] "[1817.3,905.17,879.11]"
\Orient [0.96593,0,0.25882,0] "[0.96593,0,0.25882,0]"

El valor será convertido en una cadena con el formato estándar RAPID, que implica 6
cifras significantes. Si el número decimal es inferior a 0,000005 o mayor que 0,999995,
el número será redondeado a un número entero.

Limitaciones
Los argumentos \Num, \Bool, \Pos y \Orient son mutuamente excluyentes y por lo tanto
no podrán ser utilizados simultáneamente en la misma instrucción.

Sintaxis
TPWrite
[Texto’:=’] <expresión (IN) de string>
[’\’Num’:=’ <expresión (IN) de num> ]
| [’\’Bool’:=’ <expresión (IN) de bool> ]
| [’\’Pos’:=’ <expresión (IN) de pos> ]
| [’\’Orient’:=’ <expresión (IN) de orient> ]’;’

Información relacionada
Descrita en:
Borrado y lectura en la Resumen RAPID - Comunicación
unidad de programación
-

14-TPWrite-2 Manual de Programación Básica RAPID


Instrucciones VelSet

VelSet Cambio de la velocidad programada


VelSet sirve para aumentar o disminuir la velocidad programada de todas las instruc-
ciones de posicionamiento siguientes. Esta instrucción puede utilizarse también para
limitar la velocidad máxima del robot.

Ejemplo
VelSet 40, 800;

Todas las velocidades programadas serán disminuidas a una 40% del valor espe-
cificado en la instrucción y la velocidad del TCP no podrá exceder los 800 mm/s.

Argumentos
VelSet Ajuste Max
Ajuste Tipo de dato: num

Es la velocidad deseada expresada en un porcentaje de la velocidad programada.


El 100% corresponde a la velocidad programada.

Max Tipo de dato: num

Es la velocidad máxima permitida del TCP en mm/s.

Ejecución del programa


Se verán afectadas las velocidades programadas de todas las instrucciones de posicio-
namiento siguientes hasta que se ejecute una nueva instrucción VelSet.

El argumento Ajuste afectará:

- A todos los componentes de velocidad (TCP, orientación, ejes externos lineales


y rotacionales) contenidos en speeddata.
- Al ajuste de la velocidad programada en la instrucción de posicionamiento (el
argumento \V).
- A los movimientos temporizados.

El argumento Ajuste no afectará:

- A la velocidad de soldadura contenida en welddata.


- A la velocidad de calentamiento y de llenado contenida en seamdata.

El argumento Max sólo afectará a la velocidad del TCP.

Manual de Programación Básica RAPID 14-VelSet-1


VelSet Instrucciones

Los valores por defecto de Ajuste y Max son del 100% y de 5000 mm/s respectiva-
mente. Estos valores se activan automáticamente

- a la puesta en marcha en frío


- cuando se carga un nuevo programa
- cuando se ejecuta el programa desde el inicio.

Ejemplo
VelSet 50, 800;
MoveL p1, v1000, z10, herram1;
MoveL p2, v2000, z10, herram1;
MoveL p3, v1000\T:=5, z10, herram1;

La velocidad es de 500 mm/s al punto p1 y de 800 mm/s al punto p2. Tardará 10


segundos para ir de p2 a p3.

Limitaciones
La velocidad máxima no será tomada en cuenta cuando se especifica el tiempo de posi-
cionamiento en la instrucción.

Sintaxis
VelSet
[ Ajuste ’:=’ ] < expresión (IN) de num > ’,’
[ Max ’:=’ ] < expresión (IN) de num > ’;’

Información relacionada
Descrita en:
Definición de la velocidad Tipos de Datos - speeddata
Instrucciones de posicionamiento Resumen RAPID - Movimiento

14-VelSet-2 Manual de Programación Básica RAPID


Instrucciones WaitDI

WaitDI Esperar hasta la activación de una


entrada digital
WaitDI (Wait Digital Input) sirve para que el robot espere hasta que se active una
entrada digital.

Ejemplos
WaitDI di4, 1;

La ejecución del programa continuará sólo después de que la entrada di4 se haya
puesto a 1.

WaitDI diestado_pinza, 0;

La ejecución del programa continuará sólo después de que la entrada


diestado_pinza se haya puesto a 0.

Argumentos
WaitDI Señal Valor [\MaxTime] [\TimeFlag]
Señal Tipo de dato: signaldi

Es el nombre de la entrada.

Valor Tipo de dato: dionum

Es el valor deseado de la entrada.

[\MaxTime] Tipo de dato: num

Es el intervalo máximo de tiempo, en segundos, que la ejecución del programa


espera. Si no se pulsa ninguna tecla de función durante este tiempo, el programa
continua en el gestor de errores, a menos que se utilice BreakFlag (véase a con-
tinuación). La variable ERRNO adquiere el valor ERR-TP-MAXTIME que
podrá ser utilizada para comprobar si ha transcurrido o no el intervalo máximo
de tiempo especificado.

[\TimeFlag] (Flag de tiempo excedido) Tipo de dato: bool

Este parámetro de salida tiene el valor TRUE si el tiempo máximo de espera ha


transcurrido sin que la condición se haya cumplido. En el caso de que este pará-
metro esté incluido en la instrucción, no se considera un error que haya transcu-
rrido el tiempo máximo de espera. Este argumento es ignorado si no se incluye
en la instrucción el argumento Maxtime.

Manual de Programación Básica RAPID 14-WaitDI-1


WaitDI Instrucciones

Ejecución del programa


En el caso en que el valor de la entrada sea el indicado cuando se ejecuta la instrucción,
el programa continuará con la siguiente instrucción.

En el caso en que el valor de la entrada no sea el indicado, el robot entra en un estado


de espera y cuando la entrada adopta el valor indicado, el programa continuará. El cam-
bio es detectado mediante una interrupción interna, que proporciona una respuesta
rápida.

Cuando el robot está esperando, el tiempo será supervisado, y en el caso en que exceda
el valor máximo de tiempo, el programa continuará siempre y cuando esté especificado
TimeFlag, o generará un error en el caso en que no lo esté. Si se especifica TimeFlag,
adquirirá el valor TRUE cuando el tiempo máximo de espera haya sido excedido y ten-
drá el valor FALSE en caso contrario.

Sintaxis
WaitDI
[ Señal ’:=’ ] < variable (VAR) de signaldi > ’,’
[ Valor ’:=’ ] < expresión (IN) de dionum > ’;’
[’\’MaxTime ’:=’<expresión (IN) de num>]
[’\’TimeFlag’:=’<variable (VAR) de bool>] ’;’

Información relacionada
Descrita en:
Espera hasta que se cumpla una condición Instrucciones - WaitUntil
Espera durante un tiempo especificado Instrucciones - WaitTime

14-WaitDI-2 Manual de Programación Básica RAPID


Instrucciones WaitDO

WaitDO Esperar hasta la activación de una


salida digital
WaitDO (Wait Digital Output) sirve para esperar hasta que se active una salida digital.

Ejemplos
WaitDO do4, 1;

La ejecución del programa continuará sólo después de que la salida do4 haya
sido puesta a 1.

WaitDO grip_status, 0;

La ejecución del programa continuará sólo después de que la salida grip_status


haya sido puesta a 0.

Argumentos
WaitDO Señal Valor [\MaxTime] [\TimeFlag]
Señal Tipo de dato: signaldi

Es el nombre de la entrada.

Valor Tipo de dato: dionum

Es el valor deseado de la entrada.

[\MaxTime] Tipo de dato: num

Es el intervalo máximo de tiempo, en segundos, que la ejecución del programa


espera. Si no se pulsa ninguna tecla de función durante este tiempo, el programa
continua en el gestor de errores, a menos que se utilice BreakFlag (véase a con-
tinuación). La variable ERRNO adquiere el valor ERR-TP-MAXTIME que
podrá ser utilizada para comprobar si ha transcurrido o no el intervalo máximo
de tiempo especificado.

[\TimeFlag] (Flag de tiempo excedido) Tipo de dato: bool

Este parámetro de salida tiene el valor TRUE si el tiempo máximo de espera ha


transcurrido sin que la condición se haya cumplido. En el caso de que este pará-
metro esté incluido en la instrucción, no se considera un error que haya transcu-
rrido el tiempo máximo de espera. Este argumento es ignorado si no se incluye
en la instrucción el argumento Maxtime.

Manual de Programación Básica RAPID 14-WaitDO-1


WaitDO Instrucciones

Ejecución del programa


En el caso en que el valor de la salida sea el indicado cuando se ejecuta la instrucción,
el programa continuará con la siguiente instrucción.

En el caso en que el valor de la salida no sea el indicado, el robot entra en un estado de


espera y cuando adqueire el valor indicado, el programa continuará. El cambio es
detectado mediante una interrupción interna, que proporciona una respuesta rápida.

Cuando el robot está esperando, el tiempo será supervisado, y en el caso en que exceda
el valor máximo de tiempo, el programa continuará siempre y cuando esté especificado
TimeFlag, o generará un error en el caso en que no lo esté. Si se especifica TimeFlag,
adquirirá el valor TRUE cuando el tiempo máximo de espera haya sido excedido y ten-
drá el valor FALSE en caso contrario.

Sintaxis
WaitDO
[ Señal ’:=’ ] < variable (VAR) de signaldo > ’,’
[ Valor ’:=’ ] < expresión (IN) de dionum > ’;’
[’\’MaxTime ’:=’<expresión (IN) de num>]
[’\’TimeFlag’:=’<variable (VAR) de bool>] ’;’

Información relacionada
Descrita en:
Espera hasta que se cumpla una condición Instrucciones - WaitUntil
Espera durante un tiempo especificado Instrucciones - WaitTime

14-WaitDO-2 Manual de Programación Básica RAPID


Instrucciones WaitTime

WaitTime Esperar durante un tiempo determinado


WaitTime sirve para que el robot espere un tiempo determinado. Esta instrucción puede
utilizarse también para esperar hasta que el robot y los ejes externos se hayan parado.

Ejemplo
WaitTime 0.5;

La ejecución del programa espera 0,5 segundos.

Argumentos
WaitTime [\InPos] Tiempo
[\InPos] Tipo de dato: switch

En el caso en que se utilice este argumento, tanto el robot como los ejes externos
deberán haberse parado antes de que el tiempo de espera empiece a contar.

Tiempo Tipo de dato: num

El tiempo, en segundos, en que la ejecución del programa debe esperar.

Ejecución del programa


La ejecución del programa se detiene temporalmente durante un tiempo especificado,
pero la gestión de las interrupciones y otras funciones similares, siguen activas.

Ejemplo
WaitTime \InPos,0;

La ejecución del programa espera hasta que el robot y los ejes externos se hayan
parado.

Limitaciones
En el caso en que se use el argumento \Inpos, la instrucción de movimiento que precede
a esta instrucción deberá terminar con un punto de paro (fine) para que en esta instruc-
ción sea posible realizar un rearranque después de un fallo de tensión.

El argumento \Inpos no podrá utilizarse junto con el servo suave (SoftServo).

Manual de Programación Básica RAPID 14-WaitTime-1


WaitTime Instrucciones

Sintaxis
WaitTime
[’\’InPos’,’]
[Tiempo ’:=’] <expresión (IN) de num>’;’

Información relacionada
Descrita en:
Esperar hasta que se cumpla una condición Instrucciones - WaitUntil
Esperar hasta que se haya activado/ Instrucciones - WaitDI
desactivado una entrada

14-WaitTime-2 Manual de Programación Básica RAPID


Instrucciones WaitUntil

WaitUntil Esperar hasta el cumplimiento


de una condici—n
WaitUntil sirve para esperar hasta que se cumpla una condici—n l—gica; por ejemplo,
el sistema podr‡ esperar hasta que se activen una o varias entradas.

Ejemplo
WaitUntil di4 = 1;

La ejecuci—n del programa continuar‡ s—lo despu s de que la entrada di4 haya
sido activada.

Argumentos
WaitUntil [\InPos] Cond [\MaxTime] [\TimeFlag]
[\InPos] Tipo de dato: switch

En el caso en que se utilice este argumento, tanto el robot como los ejes externos
deber‡n haberse parado antes de que la condici—n empiece a ser evaluada.

Cond Tipo de dato: bool

Es la condici—n l—gica que se debe esperar a que se cumpla.

[\MaxTime] Tipo de dato: num

Es el intervalo máximo de tiempo, en segundos, que la ejecución del programa


espera. Si no se pulsa ninguna tecla de función durante este tiempo, el programa
continua en el gestor de errores, a menos que se utilice BreakFlag (véase a con-
tinuación). La variable ERRNO adquiere el valor ERR-TP-MAXTIME que
podrá ser utilizada para comprobar si ha transcurrido o no el intervalo máximo
de tiempo especificado.

[\TimeFlag] (Flag de tiempo excedido) Tipo de dato: bool

Este parámetro de salida tiene el valor TRUE si el tiempo máximo de espera ha


transcurrido sin que la condición se haya cumplido. En el caso de que este pará-
metro esté incluido en la instrucción, no se considera un error que haya transcu-
rrido el tiempo máximo de espera. Este argumento es ignorado si no se incluye
en la instrucción el argumento Maxtime.

Manual de Programación Básica RAPID 14-WaitUntil-1


WaitUntil Instrucciones

Ejecuci—n del programa


Si la condici—n programada no se cumple con la ejecuci—n de la instrucci—n Wait-
Until, la condici—n ser‡ verificada de nuevo cada 100 ms.

Cuando el robot está esperando, el tiempo será supervisado, y en el caso en que exceda
el valor máximo de tiempo, el programa continuará siempre y cuando esté especificado
TimeFlag, o generará un error en el caso en que no lo esté. Si se especifica TimeFlag,
adquirirá el valor TRUE cuando el tiempo máximo de espera haya sido excedido y ten-
drá el valor FALSE en caso contrario.

Ejemplos
VAR bool tempmax;
WaitUntil dient_inicio = 1 AND diestado_pinza= 1\MaxTime := 60
\TimeFlag := tempmax;
IF tempmax:= TRUE THEN
TPWrite "No se ha recibido orden de arranque en el tiempo especificado";
ELSE
ciclo_sig;
ENDIF

Si las dos condiciones de entrada no se han cumplido en 60 segundos, aparecer‡


un mensaje de error en la pantalla de la unidad de programaci—n. En el caso de
que se cumpla, el programa continuar‡ llamndo a la rutina ciclo_sig

WaitUntil \Inpos, di4= 1;

La ejecuci—n del programa esperar‡ hasta que el robot se haya parado y que la
entrada di4 se haya activado.

Limitaciones
En el caso en que se use el argumento \Inpos, la instrucci—n de movimiento que pre-
cede esta instrucci—n deber‡ terminar con un punto de paro (fine) para que en esta
instrucci—n sea posible realizar un rearranque despu s de un fallo de tensi—n.

Sintaxis
WaitUntil
[Õ\ÕInPosÕ,Õ]
[Cond Õ:=Õ] <expresi—n (IN) de bool>
[Õ\ÕMaxTime Õ:=Õ<expresi—n (IN) de num>]
[Õ\ÕTimeFlagÕ:=Õ<variable (VAR) de bool>] Õ;Õ

14-WaitUntil-2 Manual de Programación Básica RAPID


Instrucciones WaitUntil

Informaci—n relacionada
Descrita en:
Esperar hasta que una entrada se Instrucciones - WaitDI
haya activado/desactivado
Esperar durante un tiempo espec’fico Instrucciones - WaitTime
Expresiones Caracter’sticas B‡sicas - Expresiones

Manual de Programación Básica RAPID 14-WaitUntil-3


WaitUntil Instrucciones

14-WaitUntil-4 Manual de Programación Básica RAPID


Instrucciones WHILE

WHILE Repetición de una instrucción mientras...


WHILE se utiliza cuando una serie de instrucciones deben ser repetidas mientras se
vaya cumpliendouna condición determinada .

En el caso en que sea posible determinar por adelantado el número de repeticiones, se


puede utilizar la instrucción FOR.

Ejemplo
WHILE reg1 < reg2 DO
...
reg1 := reg1 +1;
ENDWHILE

Repite las instrucciones del bucle WHILE - ENDWHILE mientras reg1 < reg2.

Argumentos
WHILE Condición DO ... ENDWHILE
Condición Tipo de dato: bool

La condición que debe ser cumplida para que las instrucciones del bucle WHILE
puedan ejecutarse.

Ejecución del programa


1. Se calcula la condición. Si la condición no se cumple, el bucle WHILE finaliza y la
ejecución del programa continúa con la instrucción que sigue a ENDWHILE.
2. Las instrucciones del bucle WHILE son ejecutadas.
3. Se repite el bucle WHILE empezando por el punto 1.

Sintaxis
(EBNF)
WHILE <expresión condicional> DO
<lista instrucciones>
ENDWHILE

Manual de Programación Básica RAPID 8-WHILE-1


WHILE Instrucciones

Información Relacionada
Descrita en:
Expresiones Características Básicas - Expresiones

8-WHILE-2 Manual de Programación Básica RAPID


Introducción al lenguaje RAPID

F-305
ABB Sistemas
Industriales S.A.
Area Manufacturing
Industries & Robotics

You might also like