Professional Documents
Culture Documents
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
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.
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
Seguridad
1 Generalidades
Esta información referente a seguridad cubre las funciones que están relacionadas con
el funcionamiento del robot industrial.
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.
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
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.
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:
7 Funciones de Seguridad
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).
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.
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.
La función de paro de seguridad en modo automático (AS) no está activa en este modo.
Funcionamiento Automático
El funcionamiento automático puede ser arrancado una vez se hayan cumplido las
siguientes condiciones:
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.
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.
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.
A continuación se ofrece una descripción detallada de los pasos a seguir para ejecutar
un programa con el control de funcionamiento sostenido:
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.
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.
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.
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 .
• 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.
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.
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.
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.
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.
• 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.
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.
Existe un peligro de alta tensión asociado con los siguientes componentes del robot:
Manipulador
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.
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).
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
+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
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
Operatividad Básica
1 Puesta en marcha
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.
Figura 1 El mensaje de bienvenida que aparece después de la puesta en marcha del sistema.
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.
- 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.
S4C
100%
Pulsador MOTOR ON
e indicador luminoso Selector de modo de funcionamiento
Figura 2 El panel de control está situado en la parte delantera del armario de control.
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.
5 Paros de Emergencia
Cuando el paro de emergencia está activado, la alimentación a los motores queda cortada
y la ejecución del programa se detiene.
250 mm/s
Pulsador MOTORES ON
100%
Pulsador 100%
M MOTORES OFF
~
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
Teclas del menú: Sirven para visualizar los menús que contienen
diferentes comandos.
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 ?=& %&"
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.
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).
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).
Lista OK
Figura 7 Pulsar la tecla Info para llamar las posibles sugerencias para la corrección de un error.
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
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.).
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.
1
2
Figura 1 Los indicadores luminosos situados encima de las teclas de movimiento indican la
selección que se está utilizando.
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.
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.
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.
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.
2.1 Movimiento del robot a lo largo de uno de los ejes de coordenadas de la base
Special
X-
Z.
Y- Y+
Y Z+ Z-
X X+
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.
la reorientación de la herramienta.
X-
Y- Y+
Y Z+ Z-
Z
X+
X
Figura 11 Reorientación respecto a los ejes del sistema de coordenadas de la herramienta.
TCP
Z Z
z
X Y X Y
Figura 12 La herramienta está ajustada sobre el eje Z.
• Seleccionar Especial:Alinear
Alinear
La alineación se inicia moviendo la palanca de mando.
Coord: Mundo
Si el usuario desea cambiar el sistema de coordenadas, se deberá pulsar una de las teclas
de función Mundo, Base o Wobj.
El objeto de trabajo que se ha utilizado por última vez al mover el robot o que se ha
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+
2.6 Movimiento del robot siguiendo uno de los ejes de coordenadas mundo
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.
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.
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.
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).
Cancelar OK
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.
Si el usuario desea utilizar más de un eje externo, éstos deberán ser seleccionados a
partir de la ventana de Movimiento:
externas.
• Seleccionar el campo Unidad (véase la Figura 23).
• Mediante utilización de las teclas de función, seleccionar una unidad.
Coord:= Base 4:
Herram:= herram0... 5:
Wobj:= wobj0... 6:
Bloqueo Joystick:Ninguno
Incremento: No 1 2 3
Robot Manip1 Manip2 Trackm Manip3
• 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.
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.
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
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.
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
• El usuario podrá elegir las señales que desea visualizar seleccionando cualquiera de las
listas del menú Ver o AliasIO
Ver:
AliasIO:
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.
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.
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).
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
Nombre Tipo
4(5)
di10_1 DI
pinza1 DO
pinza2 DO
pinza3 DO
pinza4 DO
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
2.2 Cambio del valor de una señal de salida analógica o de un grupo de salidas
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 .
3 Visualización de 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
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.
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
Impresión de Entradas/Salidas
Sí No Cancelar Imprimir
Cuando se bloquea una señal, la conexión existente entre el valor físico y el valor lógico
se desconecta.
Por defecto, la función de bloqueo de las E/S está inhabilitada, para habilitarla, se deberá:
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”.
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.
INDICE
Página
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
Programación y Pruebas
Además de ello, la memoria del programa contiene los módulos del sistema (Figura 1).
Aplicación
Programa
Rutina Sub-
main rutinas
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
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.
La ventana de Programa está formada por una serie de ventanas diferentes. Estas
ventanas podrán seleccionarse a partir del menú Ver.
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
Máquina
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
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 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
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.
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).
Decl... Cancela OK
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:
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)
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
Recomendación A veces resulta más fácil crear una rutina nueva, duplicando una
existente y modificándola.
Ello creará una rutina nueva que contendrá los mismos datos e instrucciones que la
rutina original.
Para llamar una rutina que puede ser seleccionada desde la lista de instrucciones
• Seleccionar la rutina que se desea examinar.
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;
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.
Una instrucción define una tarea específica que deberá llevarse a cabo cuando se
ejecuta la instrucción, por ejemplo:
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.
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
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.
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
En el menu 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
Argumento de instrucciones
Add ?<EXP>,<EXP>;
Datos:
1(3)
Nuevo... contador_a contador_b
reg1 reg2 reg3
reg4
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
Una expresión puede ser utilizada como un argumento de una instrucción y tiene un
número arbitrario de componentes.
- 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"
Datos
< Datos
>
Valor Valor
<>
Función Función AND
>=
<= OR
NO TRUE XOR
FALSE
Dato Booleano
Función Booleana
Datos
- Datos
*
Valor Valor
/
Función Función
MOD
DIV
Expresión
1(2)
contador_a contador_b reg1
reg2 reg3 reg4
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.
- 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).
Expresión
reg2<contador_b
1(2)
contador_a contador_b reg1
reg2 reg3 reg4
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).
Expresión
reg2<_contador_b
1(2)
contador_a contador_b reg1
reg2 reg3 reg4
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).
-% +% 25% 100%
- continuo
- ciclo (un ciclo cada vez)
- paso a paso (adelante o atrás, una instrucción cada vez)
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).
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.
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.
IF reg1=5 THEN
reg2:=5; La última instrucción ejecutada.
ELSE
reg2:=8;
ENDIF
Set do1; La siguiente instrucción que será ejecutada.
PP Cursor Cancela
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.
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.
Aparecerá una ventana de diálogo en la que se visualizarán todas las rutinas posibles.
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.
Aparecerá una ventana de diálogo en la que se visualizarán todas las rutinas posibles.
Arranca Cancela
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.
6.9 Multitarea
Se podrá cambiar de tarea del programa en las ventanas Test de programa o Datos de
programa.
Aparecerá una ventana de diálogo en la que se visualizarán las tareas activas del
sistema.
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.
Aparecerá una ventana de diálogo, en la que se visualizarán todos los programas del
directorio actual (véase la Figura 25).
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.
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.
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
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.
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.
Ver
¡Ejecutando!
Ver
Robtarget:= ...
Ajuste Actual
1 (1)
Sin datos
x 0.00 xx.xx mm
y 0.00 yy.yy mm
z 0.00 zz.zz mm
Ajustar
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.
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.
Argumentos de instrucción
reg1:=?reg2;
2(3)
Nuevo... contador_a contador_b
reg1 reg2 reg3
reg4
Figura 29 La ventana de diálogo para cambiar argumentos. Aquí se modifica el argumento reg2
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.
Nota También se podrá utilizar Copiar y Pegar para cambiar los argumentos.
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).
Argumentos de Instruccion
2(9)
MoveL
[\Conc]
AlPunto
Velocidad
[\Time] | [\V]
Zona
[\Z]
Herram
[\WObj]
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).
Argumentos de Instrucción
3(6)
IF
expresión
\statement list
[\ELSE]
[\ELSEIF]
ENDIF
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.
• 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.
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.
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 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.
Figura 32 En este ejemplo, la acción más reciente ejecutada con el comando de borrar puede
ser anulada.
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.
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
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 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;
10 Creación de datos
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.
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
Figura 35 Todos los datos de un tipo específico están visualizados en la ventana de Datos de Programa.
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).
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.
Los datos de un tipo seleccionado podrán escogerse pulsando la tecla Datos o la tecla
Entrar .
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 .
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:
Módulo actual
Nombre:= reg7...
Decl Cancela OK
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:
- 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).
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.
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.
La ventana Datos de Programa se abre y aparecen visualizados todos los tipos de datos
que se han seleccionado en último lugar.
Figura 39 Una declaración de datos de matriz incluye el nombre y las características de los
datos.
- seleccionar una alternativa utilizando las teclas de función (campos marcados con el
signo )
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.
La posición actual del robot será automáticamente almacenada como su valor inicial.
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.
11 Cambio de datos
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)
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:
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.
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
Figura 41 El programa podrá ser rearrancado desde el gestor de errores de varias maneras diferentes.
13 Módulos
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
Rutina Rutinas
main
Módulos
Rutinas
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.
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.
Nombre Tipo
2(4)
PIEZAS Módulo Programa
Módulos SOLDTUBO Módulo Programa
USER Módulo Sistema
BASE Módulo Sistema
Figura 43 La ventana de Módulos del Programa visualiza todos los módulos del programa
de trabajo.
La ventana de Rutinas del Programa del modulo seleccionado se abre, en ella se puede
seleccionar la rutina deseada.
Definir Módulo
Nombre:= modulo1...
Tipo:= Módulo programa
Cancela OK
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.
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
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.
Para volver a listar únicamente las rutinas del módulo utilizado, seleccionar menú Rutina:
En Módulo.
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.
Para volver a listar todos los datos del programa en todos los módulos, seleccionar
Datos: En todo el Sistema.
Los datos pueden ser duplicados desde un módulo a otro. Los datos de rutina, no
obstante, no podrán ser duplicados.
14 Preferencias
El usuario podrá definir el contenido de las listas de instrucciones Más Comunes, para
obtener una lista de instrucciones más utilizadas.
4(6)
:=
Compact IF
FOR
GOTO
IF
RESET
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.
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.
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.
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.
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.
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.
INDICE
Página
Posición de destino
- *= almacenado en la instrucción
- p10= almacenado en el dato de posición p10
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;
Si los argumento son los correctos, la instrucción estará ahora lista para ser utilizada.
Argumentos de instrucción
MoveL *,? v100, z10, tpunta;
Velocidad: v100
4(8)
Nuevo... vmax v5
v10 v20 v30
v40 v50 v60
v80 v100 v150
Todos los datos de zona disponibles serán visualizados (véase la Figura 5).
Argumentos de instrucción
MoveL *, v60,? z10, tpunta;
Zona: z10
2(5)
Nuevo... fina z5
z10 z15 z20
z30 z40 z50
z60 z80 z100
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
Posición original
Desplazamiento en la dirección x-
Desplazamiento en la dirección y-
Desplazamiento en la dirección z-
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
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
3 Condiciones de Espera
- el nombre de la entrada,
- el valor de entrada necesario para que la ejecución del programa pueda
continuar.
Entrada
Valor
WaitDI di10_1, 1;
Entrada
Valor
WaitUntil di10_2 = 1;
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
Tiempo de espera
WaitTime 0.5;
• Seleccionar IPL1:Varios.
• Seleccionar la instrucción WaitTime.
Argumento de Instrucciones
WaitTime ?<EXP>,
Tiempo:
1(1)
Nuevo... reg1 reg2
El nombre de la rutina
argumentos (si existen)
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; ..
.. ..
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
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.
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
ENDIF
Cancelar OK
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
Estructura de la instrucción
4(6)
IF
Expresion
\Lista instrucciones
\ELSE
[\ELSEIF]
End
reg1 := 1;
Se podrán utilizar las siguientes instrucciones para realizar cálculos sencillos con variables
numericas ( registros ).
Cancelar OK
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
Aparecerá una ventana en la que el usuario podrá definir los datos que se desean
cambiar (véase la Figura 18).
Argumentos de instrucciones
?<VAR>:= <EXP>;
Datos:
1(3)
Nuevo... contador_a contador_6
reg1 reg2 reg3
reg4 reg5 reg100
Figura 18 La ventana para definir los datos que se desean cambiar. En la lista sólo se indican
los datos num.
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
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
Figura 1 Todas las características del funcionamiento de la producción están controladas desde
la ventana de Producción.
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.
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.
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%
Figura 3 Las teclas de función servirán para aumentar o disminuir la Velocidad programada.
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.
Si lo que se desea es rearrancar la ejecución del programa a partir del lugar donde se
interrumpió, se deberá:
.
Archivo Editar Ver
1 Ir a...
_ _ _ _
2 Arranca desde inicio
P1
Figura 5 Este pulsador de paro sirve para detener la ejecución del programa.
7 Ajuste de posiciones
• Seleccionar Ver: Posición.
Archivo Editar Ver
1 Info...
2 Posición
Ajust.
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.
Operador
Registro de operador
OK
Figura 9 Utilizar el teclado numérico para responder a las preguntas del programa.
Figura 10 Los diálogos del usuario podrán crearse según las necesidades para adaptarse a cualquier
instalación robot.
INDICE
Página
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
1 Ventana de Movimiento
Espec
Especial
1 Alinear...
2 Incrementos...
3 Supervisión del movimiento...
4 Preferencias...
2 Ventana de Entradas/Salidas
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
Archivo
1 Imprimir...
2 Preferencias...
Editar
1 Ir a ...
2 Ir al inicio
3 Ir al Final
4 Habilitar tecla de bloqueo
(Desbloquear todo)
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
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
Especial
1 Buses de E/S
3 Ventana de Programa
Aplicación
Programa
Ver: Datos
Ver: Módulos
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
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
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
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;
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
4 Ajustes Mov.Avanz.
5 Mov.Avanzados.
6 Ordenador Ext.
7 MultiTarea
8 Soporte RAPID
9 Servicio
Rutina
1 Datos de Rutina...
2 Instrucciones
(Gestor de errores)
(Gestor atrás)
5 En Módulo
6 En todo el Sistema
Especial
Espejo...
Datos
1 Valor
2 Tipos
3 En Módulo
4 En todo el Sistema
5 En Rutina “nombre rutina”
6 Nueva Matriz
Especial
1 Definir Coord...
2 Ir a posicion seleccionada
5(6)
Todos datos
bool
num
robtarget
Tipos de tooldata
datos wobjdata
Todos Datos
Tipos
1 Datos
2 Tipos Utilizados
3 Todos tipos
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
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
Módulo
1 Datos
2 Lista de Módulos
4 Ventana de Producción
Archivo
1 Cargar Programa ...
Editar
1 Ir a la Linea...
2 Arrancar desde el Inicio
Ver
1 Info ...
2 Posición
5 Administrador de Archivos
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
Archivo
1 Crear Directorio ...
2 Renombrar...
3 Copiar...
4 Mover...
5 Imprimir archivo
Ver
1 [hd0a :]
2 [flp1:]Disc#12
6 Ventana de Servicio
Archivo
1 Guardar regstr. como...
2 Guardar regs como...
3 Salvaguarda..
4 Recuperar...
Reiniciar...
Editar
1 Ir a ...
2 Ir al inicio
3 Ir al final
4 Info...
Ver
1 Registro
2 Fecha y hora...
3 Calibración
4 Conmutación
5 BaseFrame
6 Definición de dos ejes
7 Info Sistema
Msjes->
Especial
1 Borrar Registro
2 Borrar todos los Registros
Servicio Calibración
Unidad Estado
1(4)
Robot Sincronizado
Estado de Side1 Sincronizado
ajuste Side2 Sincronizado
Track Sincronizado
Calib
1 Actualizar Cont. Rev...
2 Calibracion Fina...
Servicio Conmutación
Unid Estado
1(4)
Robot Conmutado
Side1 Conmutado
Estado Side2 Conmutado
Track Conmutado
Com
1 Conmutar...
Cancelar OK
Archivo
1 Cargar Parámetros Guardados...
2 Añadir Nuevos Parámetros...
3 Guardar Todo como...
4 Guardar como...
5 Comprobar Parámetros
Reiniciar...
Editar
2 Ir al Inicio
3 Ir al final
3 Ir a ...
Temas
1 Controlador
2 Comunicación
3 Señales de E/S
4 Manipulador
5 Unidad de programación
6 Procesos
8 Ventana: ArcWare
1(26)
>> !Datos Iniciales
contador:=0;
!Ir a la posición de inicio
MoveJ pInicio,v1000,fine,tool1;
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...
Test Soldaduraarco
Ajuste
Soldadura al arco
1 Ajuste soldadura
2 Ajuste oscilación
(Ajuste costura)
(Ajuste Track)
Ejemplos
reg1 := 5;
contador := contador + 1;
Argumentos
Dato := Valor
Dato Tipos de dato: Todos
El valor deseado.
Ejemplos
herram1.tframe.trans.x := herram1.tframe.trans.x + 20;
palet{5,8} := Abs(reg1);
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
Ejemplos
AccSet 50, 100;
Argumentos
AccSet Acc Rampa
Acc Tipo de dato: num
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.
Sintaxis
AccSet
[ Acc ’:=’ ] < expresion (IN) de num > ’,’
[ Rampa ’:=’ ] < expresion (IN) de num > ’;’
Información relacionada
Descrita en:
Instrucciones de posicionamiento Resumen RAPID - Movimiento
Puede utilizarse para determinar que unidad que debe estar activada, por ejemplo,
cuando se utilizan unidades con accionamiento compartido.
Ejemplo
ActUnit orbit_a;
Argumentos
ActUnit MecUnit
MecUnit (Unidad Mecánica) Tipo de dato: mecunit
Limitaciones
La instrucción ActUnit no podrá utilizarse en:
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
Ejemplos
Add reg1, 3;
Argumentos
Add Nombre ValorAñadir
Nombre Tipo de dato: num
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
Ejemplo
Clear reg1;
Argumentos
Clear Nombre
Nombre Tipo de dato: num
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
Esta instrucción puede utilizarse antes de usar un reloj, para asegurarse de que está a 0.
Ejemplo
ClkReset ckreloj1;
Argumentos
ClkReset Reloj
Reloj Tipo de dato: reloj
Sintaxis
ClkReset
[ Reloj ’:=’ ] < variable (VAR) de tipo clock> ’;’
Información Relacionada
Descrita en:
Otras instrucciones de reloj Resumen RAPID - Sistema y Hora
Ejemplo
ClkStart ckreloj1;
Argumentos
ClkStart Reloj
Reloj Tipo de dato: clock
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.
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);
Sintaxis
ClkStart
[ Reloj ’:=’ ] < variable (VAR) de clock> ’;’
Información Relacionada
Descrita en:
Otras instrucciones de reloj Resumen RAPID - Sistema y Hora
Ejemplo
ClkStop ckreloj1;
Argumentos
ClkStop Reloj
Reloj Tipo de dato: clock
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
Puede utilizarse para determinar la unidad que debe estar activada, por ejemplo,
cuando se usan unidades de accionamiento comunes.
Ejemplos
DeactUnit orbit_a;
Argumentos
DeactUnit MecUnit
MecUnit (Unidad Mecánica) Tipo de dato: mecunit
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.
Limitaciones
La instrucción DeactUnit no puede ser utilizada
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
Ejemplo
Decr reg1;
Argumentos
Decr Nombre
Nombre Tipo de dato: num
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 > ’;’
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
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
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
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.
El valor con el que el contador del bucle deberá ser incrementado o decrementado.
(Normalmente números enteros).
Ejemplo
FOR i FROM 10 TO 1 STEP -1 DO
TPWrite \Num a{i};
ENDFOR
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>
Información relacionada
Descrita en:
Expresiones Características Básicas - Expresiones
Identificadores Características Básicas -
Elementos Basicos
Ejemplos
GOTO sig;
sig:
La ejecución del programa continúa con la instrucción que viene después de sig.
reg1 := 1;
sig:
.
reg1 := reg1 + 1;
IF reg1<=5 GOTO sig;
Argumentos
GOTO Etiqueta
Etiqueta Identificador
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
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.
Ejemplos
GripLoad pieza1;
GripLoad load0;
Argumentos
GripLoad Carga
Carga Tipo de dato: loaddata
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
Ejemplos
IF reg1 > 5 rutina1;
Argumentos
IF Condición ...
Condición Tipo de dato: bool
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
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.
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.
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
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
Ejemplo
Incr reg1;
Argumentos
Incr Nombre
Nombre Tipo de dato: num
Ejemplo
WHILE distop_produc=0 DO
produc_part;
Incr parts;
TPWrite "Nº de piezas producidas= "\Num:=parts;
ENDWHILE
Sintaxis
Incr
[ Nombre ’:=’ ] < variable o persistente (INOUT) de num > ’;’
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
Ejemplo
InvertDO do15;
Argumentos
InvertDO Salida
Salida Tipo de dato: signaldo
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
Sintaxis
InvertDO
[ Salida ’:=’ ] < variable (VAR) de signaldo > ’;’
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
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
Limitaciones
La etiqueta no debe ser nunca la misma que
Una etiqueta esconde datos globales y rutinas con el mismo nombre dentro de la rutina
en que está situada.
Sintaxis
(EBNF)
<identificador>’:’
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
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;
Argumentos
MoveAbsJ [ \Conc ] APosEje [ NoEOffs] Velocidad [ \V ] | [ \T ]
Zona [ \Z ] Herramienta [ \WObj ]
[ \Conc ] (Concurrente) Tipo de dato: switch
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).
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.
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.
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.
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;
GripLoad obj_mass;
MoveAbsJ pstart, v2000, z40, grip3 \WObj:= obj;
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.
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
Ejemplos
MoveC p1, p2, v500, z30, herram2;
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.
Argumentos
MoveC [\Conc] PuntoCirculo AlPunto Velocidad [\V] | [\T] Zona
[\Z] Herramienta [\WObj] [\Corr]
[ \Conc ] (Concurrente) Tipo de dato: switch
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).
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.
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.
ción.
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.
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.
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;
45 mm respectivamente.
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.
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 ]’;’
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
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;
Argumentos
MoveJ [ \Conc ] AlPunto Velocidad [ \V ] | [ \T ] Zona [ \Z ]
Herramienta [ \WObj ]
[ \Conc ] (Concurrente) Tipo de dato: switch
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).
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.
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.
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.
Ejemplos
MoveJ *, v2000\V:=2200, z40 \Z:=45, pinza3;
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
Ejemplo
MoveL p1, v1000, z30, herram2;
Argumentos
MoveL [ \Conc ] AlPunto Velocidad [ \V ] | [ \T ] Zona [ \Z ]
Herram [ \WObj ] [ \Corr ]
[ \Conc ] (Concurrente) Tipo de dato: switch
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).
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
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.
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.
Ejemplos
MoveL *, v2000 \V:=2200, z40 \Z:=45, pinza3;
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
Ejemplos
PDispOff;
Sintaxis
PDispOff ‘;’
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
Ejemplos
MoveL p10, v500, fine, herram1;
PDispOn *, herram1;
Argumentos
PDispOn [ \Rot ] [ \ExeP ] PuntProg Herram [ \WObj ]
[\Rot ] (Rotación) Tipo de dato: switch
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.
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
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
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;
p30
p10
p20
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
Ejemplo
VAR pose xp100 := [ [100, 0, 0], [1, 0, 0, 0] ];
.
PDispSet xp100;
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
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
- 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
Ejemplos
limpieza1;
mensajes_error;
Set do1;
PROC mensajes_error()
TPWrite "ERROR";
ENDPROC
Argumentos
Procedimiento {Argumentos}
Procedimiento Identificador
Los argumentos del procedimiento (de acuerdo con los par‡metros del proced-
imiento).
Ejemplo
limpieza2 10, sinsoplado;
limpieza3 10 \veloc:=20;
Limitaciones
Los argumentos del procedimiento deben coincidir con sus par‡metros:
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> ] Õ;Õ
Informaci—n relacionada
Descrita en:
Argumentos, par‡metros Caracter’sticas B‡sicas - Rutinas
M‡s ejemplos Ejemplos de Programa
Ejemplos
PulseDO do15;
Argumentos
PulseDO [ \PLength ] Salida
[ \PLength ] (Duraci—n del pulso) Tipo de dato: num
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
Ejemplos
Reset do15;
Reset dosold;
Argumentos
Reset Salida
Salida Tipo de dato: signaldo
Sintaxis
Reset
[ Salida ’:=’ ] < variable (VAR) de signaldo > ’;’
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
Ejemplos
mensajerror;
Set do1;
.
PROC mensajerror()
TPWrite "ERROR";
RETURN;
ENDPROC
Argumentos
RETURN [ Valor devuelto ]
Valor devuelto Tipo de dato: Según la declaración de la fun-
ción
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
Ejemplos
Set do15;
Set dosold;
Argumentos
Set Señal
Señal Tipo de señal: signaldo
Sintaxis
Set
[ Señal ’:=’ ] < variable (VAR) de signaldo > ’;’
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
Ejemplo
SetAO ao2, 5.5;
Argumentos
SetAO Salida Valor
Señal Tipo de dato: signalao
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.
Ejemplo
SetAO Aocorrsold, 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
Ejemplos
SetDO do15, 1;
Argumentos
SetDO [ \SDelay ] Salida Valor
[ \SDelay ] (Retraso de la Señal) Tipo de dato: num
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
Ejemplo
SetGO gogrup2, 12;
Argumentos
SetGO [\SDelay ] Señal Valor
[\SDelay] (Retraso de la Señal) Tipo de dato: num
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
SingArea también se usa para definir las interpolación lineal y circular para los robots
con menos de 6 ejes.
Ejemplos
SingArea \Wrist;
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;
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
- 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 ] ’;’
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
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%.
Argumentos
SoftAct [\UnidMec] Eje Suavidad [\Rampa ]
[\UnidMec] (Unidad Mecánica) Tipo de dato: mecunit
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 %.
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
Ejemplo
SoftDeact;
SoftDeact \Ramp:=150;
Desactivación del servo suave en todos los ejes, con un factor de rampa del 150%
Argumentos
SoftDeact [\Rampa]
Sintaxis
SoftDeact’;’
[‘\’Rampa ‘:=’ < expresión (IN) de num] ‘;’
Información relacionada
Descrita en:
Activación del servo suave Instrucciones - SoftAct
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;
Argumentos
Stop [ \NoRegain ]
[ \NoRegain ] Tipo de dato: switch
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).
Si hay una instrucción de Stop en alguna rutina de evento, la rutina será ejecutada desde
el principio en el siguiente evento.
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;
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
Ejemplo
TEST reg1
CASE 1,2,3 :
rutina1;
CASE 4 :
rutina2;
DEFAULT :
TPWrite "Elección ilegal";
Stop;
ENDTEST
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.
El valor que el dato test debe tener para que las instrucciones asociadas se eje-
cuten.
Sintaxis
(EBNF)
TEST <expresión>
{( CASE <valor test> { ’,’ <valor test> } ’:’
<lista instrucciones> ) | <CSE> }
[ DEFAULT ’:’ <lista instrucciones> ]
ENDTEST
Información Relacionada
Descrita en:
Expresiones Características Básicas - Expresiones
Ejemplo
TPErase;
TPWrite "Ejecución comenzada";
Sintaxis
TPErase;
Información Relacionada
Descrita en:
Escribir en la unidad de programación Resumen RAPID - Comunicación
Ejemplo
TPReadFK regl, "Más ?", "", "", "", "Sí", "No";
Más?
Sí No
Argumentos
TPReadFK Contestación Texto FKl FK2 FK3 FK4 FK5
[\MaxTime][DIBreak] [\BreakFlag]
Contestación Tipo de dato: num
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("").
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.
Ejemplo
VAR errnum errvar;
...
TPReadFK reg 1, "¿Ir a la posición de servicio?","","","","Si","No"
\MaxTime:= 600
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.
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
Ejemplo
TPReadNum reg1, “¿Cuántas unidades deben producirse? “;
Argumentos
TPReadNum Contestación Texto [\MaxTime] [DIBreak]
[\BreakFlag]
Contestación Tipo de dato: num
Ejemplo
TPReadNum reg1, “¿Cuántas unidades deben producirse?“;
FOR i FROM 1 TO reg1 DO
produc_unid;
ENDFOR
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>] ’;’
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
Ejemplos
TPShow TP_PROGRAM;
TPShow TP_LATEST;
Argumentos
TPShow Ventana
Ventana Tipo de dato: tpnum
Datos predefinidos
CONST tpnum TP_PROGRAM := 1;
CONST tpnum TP_LATEST := 2;
CONST tpnum TP_SCREENVIEWER := 3;
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
Ejemplos
TPWrite "Ejecución iniciada";
Argumentos
TPWrite Texto [\Num] | [\Bool] | [\Pos] | [\Orient]
Texto Tipo de dato: string
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:
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
-
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
Los valores por defecto de Ajuste y Max son del 100% y de 5000 mm/s respectiva-
mente. Estos valores se activan automáticamente
Ejemplo
VelSet 50, 800;
MoveL p1, v1000, z10, herram1;
MoveL p2, v2000, z10, herram1;
MoveL p3, v1000\T:=5, z10, herram1;
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
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;
Argumentos
WaitDI Señal Valor [\MaxTime] [\TimeFlag]
Señal Tipo de dato: signaldi
Es el nombre de la entrada.
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
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;
Argumentos
WaitDO Señal Valor [\MaxTime] [\TimeFlag]
Señal Tipo de dato: signaldi
Es el nombre de la entrada.
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
Ejemplo
WaitTime 0.5;
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.
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.
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
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.
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
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>] Õ;Õ
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
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.
Sintaxis
(EBNF)
WHILE <expresión condicional> DO
<lista instrucciones>
ENDWHILE
Información Relacionada
Descrita en:
Expresiones Características Básicas - Expresiones
F-305
ABB Sistemas
Industriales S.A.
Area Manufacturing
Industries & Robotics