Datos Funciones Rutinas Castellano

673
Continúan

Transcript of Datos Funciones Rutinas Castellano

Page 1: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 1/671

Continúan

Page 2: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 2/671

   T   i  p  o  s   d  e   D  a   t  o  s   d  e

   l   S   i  s   t  e  m  a

  y   R  u   t   i  n  a  s

 Instrucciones

 Indice

 Funciones

3HAC 5766-1

Para BaseWare OS 3.2

Tipos de Datos

Page 3: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 3/671

La información contenida en este documento está sometida a cambios sin previo aviso y no debe considerarsecomo un compromiso por parte de ABB Flexible Automation S.A. ABB Flexible Automation S.A. no asume nin-guna responsabilidad de los posibles errores que puedan aparecer en este documento.

En ningún caso ABB Flexible Automation S.A. será responsable de los posibles daños que se puedan producira consecuencia de la utilización de este documento o de los programas o artefactos que en él se describen.

Este documento no podrá ser reproducido ni copiado total o parcialmente, sin previa autorización por escrito deABB Flexible Automation S.A. y su contenido no deberá ser distribuido a terceros, ni ser utilizado para cualquierpropósito no autorizado. Las contravenciones serán perseguidas.

Copias adicionales de este documento podrán obtenerse en ABB Flexible Automation S.A. al precio correspon-

diente.

 © ABB Flexible Automation S.A.

Número de artículo: 3HAC 5766-1Publicación: Para BaseWare OS 3.2

ABB Robotics ABS-721 68 Västerås

Sweden

Page 4: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 4/671

Tipos de Datos 

CONTENTS

Tipos de Datos del Sistema y Rutinas 1-1

aiotrigg Condición de disparo de E/S analógicas

bool Valores lógicos

byte Valores decimales 0 - 255

clock Medida del tiempo

confdata Datos de configuración del robot

dionum Valores digitales 0 - 1

errnum Número de error

extjoint Posición de los ejes externos

intnum Identificación de la interrupción

iodev Canales y archivos de serie

 jointtarget Datos de posición de los ejesloaddata Datos de carga

loadsession Sesión de carga del programa

mecunit Unidad mecánica

motsetdata Datos de movimiento

num Valores numéricos (registros)

orient Orientación

o_jointtarget Dato de posición original de un eje

o_robtarget Datos de posición originalpos Posiciones (sólo X, Y y Z)

pose Transformación de coordenadas

progdisp Desplazamiento de programa

robjoint Posición de los ejes del robot

robtarget Datos de posición

shapedata Datos de forma de una zona mundo

signalxx Señales digitales y analógicas

speeddata Datos de velocidadstring Cadenas de Carácteres

symnum Número simbólico

Datos del Sistema

taskid Identificación de la tarea

testsignal Señal de test

tooldata Datos de herramienta

tpnum Número de ventana dela Unidad de Programación

triggdata Eventos de posicionamiento - disparo

Page 5: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 5/671

1-2 Tipos de Datos del Sistema y Rutinas

Tipos de Datos 

tunetype Tipo de ajuste servo

wobjdata Datos del objeto de trabajo

wzstationary Datos de zona mundo estacionaria

wztemporary Datos de zona mundo temporal

zonedata Datos de zona

Page 6: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 6/671

Tipos de Datos   aiotrigg

Tipos de Datos del Sistema y Rutinas 1-aiotrigg-3

aiotrigg Condición de disparo de E/S analógicas

aiotrigg (Analog I/O Trigger) sirve para definir la condición a fin de generar una inte-rrupción para una señal de entrada o salida analógica.

Descripción

Los datos del tipo aiotrigg definen los umbrales bajos y altos que se usan para deter-minar si el valor lógico de una señal analógica cumple con las condiciones para generaruna interrupción.

Ejemplo

VAR intnum sig1int;CONNECT sig1int WITH iroutine1;ISignalAI \Single, ai1, AIO_BETWEEN, 1.5, 0.5, 0, sig1int;

Ordena una interrupción que deberá producirse la primera vez que el valor lógicode la señal de entrada analógica ai1 se encuentre entre 0,5 y 1,5. En tal caso, seproduce una llamada a la rutina de tratamiento de interrupción iroutine1.

Datos predefinidos

Las siguientes constantes simbólicas del tipo de dato aiotrigg están predefinidas ypodrán usarse cuando se especifica una condición para las instrucciones ISignalAI  y

 ISignalAO.

Valor Constante simbólica Comentario

1 AIO_ABOVE_HIGH La señal generará interrupciones si hay un valor elevado especifi-

cado arriba

2 AIO_BELOW_HIGH La señal generará interrupciones si hay un valor elevado especifi-

cado abajo

3 AIO_ABOVE_LOW La señal generará interrupciones si hay un valor bajo especificado

arriba

4 AIO_BELOW_LOW La señal generará interrupciones si hay un valor bajo especificado

abajo

5 AIO_BETWEEN La señal generará interrupciones si entre ambas hay valores bajos y

elevados especificados

6 AIO_OUTSIDE La señal generará interrupciones si abajo hay un valor bajo especi-

ficado o arriba hay un valor elevado especificado

7 AIO_ALWAYS La señal siempre generará interrupciones

Page 7: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 7/671

 aiotrigg Tipos de Datos

1-aiotrigg-4 Tipos de Datos del Sistema y Rutinas

Caracterí sticas

aiotrigg es un tipo de datos equivalente a num y por consiguiente tiene las mismascaracterí sticas.

Información relacionada

Descrita en:

Interrupción a partir de una señal deentrada analógica Instrucciones - ISignalAI 

Interrupción a partir de una señal desalida analógica Instrucciones - ISignalAO

Tipos de datos en general, tipos de datosequivalentes Caracterí sticas básicas - Tipos de datos

Page 8: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 8/671

Tipos de Datos   bool 

Tipos de Datos del Sistema y Rutinas 1-bool-5

bool Valores lógicos

 Bool se usa para los valores lógicos true/false (verdadero/falso).

Descripción

El valor del tipo de dato bool puede ser TRUE (VERDADERO) o FALSE (FALSO).

Ejemplos

flag1 := TRUE;

flag tiene asignado el valor TRUE.

VAR bool valor1;VAR num reg1;

.valor1:= reg1 > 100;

valor1 tiene asignado el valor TRUE  si reg1 es mayor que 100; de lo contrario,le será asignado FALSE. 

IF valor1 Set do1;

La señal do1 será activada si valor1 es TRUE .

valor1 := reg1 > 100;valor2 := reg1 > 20 AND NOT valor1;

valor2 tiene asignado el valor TRUE  si reg1 se encuentra entre 20 y 100.

Información Relacionada

Descrita en:

Expresiones lógicas Caracterí sticas Básicas - Expresiones

Operaciones que usan valores lógicos Caracterí sticas Básicas - Expresiones

Page 9: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 9/671

Page 10: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 10/671

Page 11: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 11/671

 byte Tipos de Datos

1-byte-8 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Tipos de datos equivalentes Caracterí sticas Básicas - Tipos de Datos

Funciones Bit Resumen RAPID - Funciones Bit

Page 12: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 12/671

Tipos de Datos   clock

Tipos de Datos del Sistema y Rutinas 1-clock-9

clock Medida del tiempo

Clock  se usa para la medida del tiempo. Las funciones clock  se utilizan como uncronómetro.

Descripción

Los datos del tipo clock  almacenan una medida del tiempo en segundos y tienen unaresolución de 0,01 segundos.

EjemploVAR clock reloj1;

ClkReset reloj1;

El reloj, reloj1, es declarado y puesto a cero. Antes de utilizar ClkReset , ClkStart , Clk-Stop y ClkRead , se deberá declarar una variable de tipo de dato clock  en el programa.

Limitaciones

El tiempo máximo que puede ser almacenado en una variable de reloj es de aproxima-damente 49 dí as (4.294.967 segundos). Las instrucciones ClkStart , ClkStop y ClkRead  indican desbordamiento de reloj en el caso poco probable en que ocurra una.

Un reloj deberá declararse como un tipo de variable VAR, no como un tipo de variable persistente. 

Caracterí sticas

Clock  es un tipo de datos sin valor y no puede ser utilizado en operaciones orientadasa valores.

Page 13: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 13/671

 clock Tipos de Datos

1-clock-10 Tipos de Datos del Sistema y Rutinas

Información Relacionada

Descrita en:

Resumen de Instrucciones de Fecha y Hora Resumen RAPID - Sistema y HoraCaracterí sticas de los datos sin valor Caracterí sticas Básicas - Tipos de

 Datos

Page 14: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 14/671

Tipos de Datos   confdata

Tipos de Datos del Sistema y Rutinas 1-confdata-11

confdata Datos de configuración del robot

Confdata sirve para definir las configuraciones de los ejes del robot.

Descripción

Todas las posiciones del robot están definidas y almacenadas utilizando coordenadasrectangulares. Al calcular las posiciones de los ejes correspondientes, habrá a menudodos o más soluciones posibles. Ello significa que el robot es capaz de alcanzar la mismaposición, es decir, que la herramienta es capaz de llegar a la misma posición y con lamisma orientación, con varias posiciones o configuraciones diferentes de los ejes delrobot.

Ciertos tipos de robot utilizan métodos numéricos iterativos para determinar las posi-ciones de los ejes del robot. En tales casos, los parámetros de configuración podrán uti-lizarse para definir buenos valores de inicio para los ejes que serán utilizados por esteprocedimiento iterativo.

Para determinar sin ambigüedad una de estas configuraciones posibles, la configura-ción del robot será especificada utilizando cuatro valores de ejes. Para un eje rotativo,el valor define el cuadrante utilizado del eje del robot. Los cuadrantes están numeradossegún el orden 0, 1, 2, etc. (también pueden ser negativos). El número del cuadranteestá conectado al ángulo de unión utilizado del eje. Para cada eje, el cuadrante 0 es elprimer cuarto, de 0 a 90°, en una dirección positiva a partir de la posición 0; el cua-drante 1 es el cuarto siguiente, de 90 a 180°, etc. El cuadrante -1 es el cuarto 0° a (-90°), etc. (véase la Figura 1).

Figura 1 Los cuadrantes de configuración del eje 6.

Para un eje lineal, el valor define un intervalo de metros para el eje del robot. Para cadaeje, el valor 0 representa una posición entre 0 y 1 metro, 1 representa una posición entre1 y 2 metros. Para los valores negativos, -1 representa una posición entre -1 y 0 metros,etc. (véase la Figura 2).

-2-3

-1-4

21

30

Page 15: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 15/671

 confdata Tipos de Datos

1-confdata-12 Tipos de Datos del Sistema y Rutinas

Figura 2 Valores de configuración para un eje lineal.

Datos de configuración del robot para el modelo IRB540, 640

Sólo se usa el parámetro de configuración cf6.

Datos de configuración del robot para los modelos IRB1400, 2400, 3400, 4400,6400

Sólo se usan los parámetros de configuración cf1, cf4 y cf6.

Datos de configuración del robot para el modelo IRB5400

Se usan los cuatros parámetros de configuración. cf1, cf4, cf6 para los ejes 1, 4 y 6 res-pectivamente y cfx para el eje 5.

Datos de configuración del robot para el modelo IRB6400C

El modelo IRB 6400C requiere una forma ligeramente diferente de determinar deforma que no sea ambigua una configuración del robot. La diferencia radica en lainterpretación de los datos de configuración confdata cf1.

cf1 sirve para seleccionar una de las dos posibles configuraciones de ejes principales(ejes 1, 2 y 3):

- cf1 = 0 es la configuración hacia adelante- cf1 = 1 es la configuración hacia atrás

La Figura 3 muestra un ejemplo de una configuración hacia adelante y de unaconfiguración hacia atrás que dan como resultado la misma posición y orientación.

0 1 2 3-1-2-3

Valor de configuración210-1-2-3

x (m)

Page 16: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 16/671

Page 17: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 17/671

Page 18: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 18/671

Tipos de Datos   confdata

Tipos de Datos del Sistema y Rutinas 1-confdata-15

Eje lineal:

El intervalo de metros utilizado del eje 6, expresado en un número entero posi-tivo o negativo.

cfx Tipo de dato: num

Eje de rotación:

Para el robot del modelo IRB5400, el cuadrante utilizado del eje 5, expresado enun número entero negativo o positivo. Para los demás robots que utilizan el cua-drante utilizado del eje 2, expresado en un número entero negativo o positivo.

Eje lineal:

El intervalo de metros utilizado del eje 2, expresado en un número entero posi-

tivo o negativo.

Ejemplo

VAR confdata conf15 := [1, -1, 0, 0]

La configuración conf15 del robot está definida de la siguiente manera:

- La configuración del eje 1 del robot es el cuadrante 1, es decir, 90-180o.

- La configuración del eje 4 del robot es el cuadrante -1, es decir, 0-(-90o).

- La configuración del eje 6 del robot es el cuadrante 0, es decir, 0 - 90o.

- La configuración del eje 5 del robot es el cuadrante 0, es decir, 0 - 90o.

Estructura

< estructura de confdata >< cf1 de tipo num >< cf4 de tipo num >< cf6  de tipo num >< cf x de tipo num >

Información relacionada

Descrita en:

Sistemas de coordenadas Principios de Movimiento y de E/S -Sistemas de Coordenadas

Manipulación de los datos de configuración Principios de Movimiento y de E/S -

Configuración del Robot 

Page 19: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 19/671

 confdata Tipos de Datos

1-confdata-16 Tipos de Datos del Sistema y Rutinas

Page 20: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 20/671

Tipos de Datos   dionum

Tipos de Datos del Sistema y Rutinas 1-dionum-17

dionum Valores digitales 0 - 1

 Dionum (entradas y salidas digitales numé ricas) se usa para los valores digitales (0 o1).

Este tipo de datos se utiliza en combinación con instrucciones y funciones que manip-ulan señales de entrada y salida digitales.

Descripción

El tipo de datos dionum representa un valor digital 0 o 1.

Ejemplos

CONST dionum cerrado := 1;

Definición de una constante cerrado con un valor igual a 1.

SetDO pinza1, cerrado;

La señal pinza1 está activada en cerrado, es decir, en 1.

Manipulación de errores

Si un argumento del tipo dionum tiene un valor que no es igual ni a 0 ni a 1, se generaun error en la ejecución del programa.

Caracterí sticas

 Dionum es otro nombre de un tipo de datos num y por consiguiente hereda sus car-

acterí sticas.

Page 21: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 21/671

 dionum Tipos de Datos

1-dionum-18 Tipos de Datos del Sistema y Rutinas

Información Relacionada

Descrita en:

Instrucciones resumidas de entradas/salidas Resumen RAPID -Señales de Entradas y Salidas

Configuración de las E/S Guí a del Usuario - Par ámetros delSistema

Tipos de datos en general Caracterí sticas Básicas - Tipos de Datos

Page 22: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 22/671

Tipos de Datos   errnum

Tipos de Datos del Sistema y Rutinas 1-errnum-19

errnum Número de error

 Errnum sirve para describir todos los errores recuperables (que no son fatales) que ocu-rren durante la ejecución del programa, como por ejemplo, la división por cero.

Descripción

Cuando el robot detecta un error durante la ejecución del programa, éste puede ser pro-cesado por el gestor de errores de la rutina. Ejemplos tí picos de este tipo de errores sonlos valores que son demasiado elevados y la división por cero. La variable del sistema

 ERRNO, del tipo errnum, de esta forma tendrá asignados diferentes valores que depen-den de la naturaleza del error. El gestor de errores es capaz de corregir un error leyendo

esta variable, para que la ejecución del programa pueda proseguir de forma adecuada.

Utilizando la instrucción RAISE puede crearse un error desde dentro del programa.Este tipo especí fico de error puede ser detectado en el gestor de errores especificandoun número de error (entre 1-90 o utilizado con la instrucción BookErrNo) como unargumento de RAISE.

Ejemplos

reg1 := reg2 / reg3;

.ERROR

IF ERRNO = ERR_DIVZERO THENreg3 := 1;RETRY;

ENDIF

Si reg3 = 0, el robot detecta un error cuando la división está teniendo lugar. Esteerror, no obstante, será detectado y corregido asignando a reg3 el valor 1. Des-pués de ésto, la división puede volver a realizarse y la ejecución del programapuede continuar.

CONST errnum error_maq := 1;.IF di1=0 RAISE error_maq;.ERROR

IF ERRNO=error_maq RAISE;

Se produce un error en una máquina (detectado mediante una señal de entradadi1). Se produce un salto al gestor de error de la rutina que, a su vez, llama algestor de error de la rutina que ha efectuado la llamada a la rutina actual dondeel error podrá posiblemente ser corregido. La constante, error_maq, sirve para

hacer saber al gestor de error exactamente qué tipo de error ha ocurrido.

Page 23: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 23/671

errnum Tipos de Datos

1-errnum-20 Tipos de Datos del Sistema y Rutinas

Datos predefinidos

La variable del sistema ERRNO se utiliza para leer el último error que ha ocurrido. Sepueden utilizar una serie de constantes predefinidas para determinar el tipo de error que

ha ocurrido.

Nombre Causa del error

ERR_ALRDYCNT La variable de interrupción sigue estandoconectada a una rutina de tratamiento de interrup-ciones

ERR_ARGDUPCND Hay más de un argumento condicional presentepara el mismo parámetro

ERR_ARGNAME El argumento es una expresión, no está presente oes del tipo switch cuando se ejecuta ArgName

ERR_ARGNOTPER El argumento no es una referencia persistenteERR_ARGNOTVAR El argumento no es una referencia variable

ERR_AXIS_ACT El eje no está activado

ERR_AXIS_IND El eje no es independiente

ERR_AXIS_MOVING El eje se está moviendo

ERR_AXIS_PAR El parámetro eje en la instrucción TestSign y

SetCurrRef es incorrecto.

ERR_CALLIO_INTER Cuando una demanda IOEnable o IODisable esinterrumpida por otra demanda en la misma unidad

ERR_CALLPROC Ha ocurrido un error de llamada de procedimientodurante el funcionamiento (late binding)

ERR_CNTOTVAR El objetivo CONNECT no es una referencia varia-ble

ERR_CNV_NOT_ACT El transportador no está activado.

ERR_CNV_CONNECT La instrucción WaitWobj ya está activada.

ERR_CNV_DROPPED El objeto que la instrucción WaitWobj estabaesperando ha sido soltado.

ERR_DEV_MAXTIME Tiempo excedido cuando se ejecuta una instruc-ción ReadBin, ReadNum o ReadStr

ERR_DIVZERO División por cero

ERR_EXCRTYMAX El número máximo de reintentos ha sido excedido

ERR_EXECPHR Se ha realizado un intento de ejecutar una instruc-ción utilizando un comodí n

ERR_FILEACC Acceso incorrecto a un archivo

ERR_FILEOPEN No se consigue abrir un archivo

ERR_FILNOTFND No se ha encontrado el archivo

Page 24: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 24/671

Tipos de Datos   errnum

Tipos de Datos del Sistema y Rutinas 1-errnum-21

ERR_FNCNORET Ningún valor de retorno

ERR_FRAME Imposibilidad de calcular una estructura nueva

ERR_ILLDIM Dimensión incorrecta de matriz

ERR_ILLQUAT Intento de utilización de una válvula de orientación

incorrecta (cuaternion)ERR_ILLRAISE El número de error en RAISE está fuera de alcance

ERR_INOMAX No hay más números de interrupciones disponibles

ERR_IODISABLE Tiempo excedido cuando se ejecuta IODisable

ERR_IOENABLE Tiempo excedido cuando se ejecuta IOEnable

ERR_IOERROR Error de E/S a partir de la instrucción Guardar

ERR_LOADED El módulo del programa ya ha sido cargado

ERR_LOADID_FATAL Sólo para uso interno en LoadId

ERR_LOADID_RETRY Sólo para uso interno en LoadId

ERR_MAXINTVAL El valor entero es demasiado elevadoERR_MODULE El nombre del módulo es incorrecto en la instrucción

Guardar

ERR_NAME_INVALID Si el nombre de la unidad no existe o si no se permiteque la unidad sea inhabilitada

ERR_NEGARG El argumento negativo no está permitido

ERR_NOTARR El dato no es una matriz

ERR_NOTEQDIM La dimensión de matriz utilizada al llamar la rutina nocoincide con sus parámetros

ERR_NOTINTVAL No es un valor entero

ERR_NOTPRES Se ha utilizado un parámetro a pesar del hecho de queel argumento correspondiente no ha sido utilizado a lallamada de rutina

ERR_OUTOFBND El í ndice de matriz se encuentra fuera de los lí mitespermitidos

ERR_PATH La trayectoria de destino está ausente de la instruc-ción Guardar

ERR_PATHDIST Distancia de regreso demasiado larga para la instruc-ción StartMove

ERR_PID_MOVESTOP Sólo para uso interno en LoadId

ERR_PID_RAISE_PP Error procedente de ParIdRob Valid o ParIdPosValidERR_RANYBIN_EOF El final del archivo ha sido detectado antes de que

todos los bytes hayan sido leí dos en la instrucciónReadAnyBin

ERR_RCVDATA Se ha realizado un intento de leer un dato no numéricocon ReadNum

ERR_REFUNKDAT Referencia a datos de objetos enteros desconocidos

ERR_REFUNKFUN Referencia a una función desconocida

ERR_REFUNKPRC Referencia a un procedimiento desconocido en elmomento del enlace o durante el funcionamiento (latebinding)

Page 25: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 25/671

errnum Tipos de Datos

1-errnum-22 Tipos de Datos del Sistema y Rutinas

ERR_REFUNKTRP Referencia a una rutina de tratamiento de interrup-ciones desconocida

ERR_SC_WRITE Error producido cuando se ha realizado un enví o alcomputador externo

ERR_SIGSUPSEARCH La señal ya tiene un valor positivo al principio del pro-ceso de búsqueda

ERR_STEP_PAR Paso del parámetro en SetCurrRef es incorrecto

ERR_STRTOOLNG La cadena es demasiado larga

ERR_SYM_ACCESS Error de sí mbolo de acceso lectura/escritura

ERR_TP_DIBREAK Una instrucción TPRead ha sido interrumpida por unaentrada digital

ERR_TP_MAXTIME Tiempo excedido cuando se ejecuta una instrucciónTPRead

ERR_UNIT_PAR El parámetro Unidad_Mec en TestSign y SetCurrRef

es incorrectoERR_UNKINO Número de interrupción desconocido

ERR_UNKPROC La referencia para la sesión de carga dentro de lainstrucción Waitload es incorrecta

ERR_UNLOAD Error de carga ocurrido en la instrucción UnLoad oWaitUntil

ERR_WAIT_MAXTIME Tiempo excedido cuando se ejecuta una instrucciónWaitDI o WaitUntil

ERR_WHLSEARCH No hay paro de búsqueda

Caracterí sticas

 Errnum es un tipo de dato equivalente a num y por consiguiente hereda sus caracterí s-ticas.

Información relacionada

Descrita en:

Recuperación de errores Resumen RAPID - Recuperación deerroresCaracterí sticas Básicas - Recuperaciónde errores

Tipos de datos en general, y otros Caracterí sticas Básicas - Tipos deequivalentes  Datos

Page 26: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 26/671

Tipos de Datos   extjoint

Tipos de Datos del Sistema y Rutinas 1-extjoint-23

extjoint Posición de los ejes externos

 Extjoint sirve para definir las posiciones de los ejes externos, de los posicionadores ode los manipuladores de piezas de trabajo.

Descripción

El robot puede controlar hasta seis ejes externos además de sus seis ejes internos, esdecir, un total de doce ejes. Los seis ejes externos son denominados de forma lógica:a, b, c, d, e, f. Cada uno de estos ejes lógicos podrá ser conectado a un eje f í sico y, eneste caso, la conexión será definida en los parámetros del sistema.

Los datos del tipo extjoint  sirven para almacenar los valores de posición para cada unode los ejes lógicos de a - f.

La posición de cada eje lógico conectado a un eje f í sico será definida según las sigu-ientes instrucciones:

- Para los ejes rotativos – la posición será definida como la rotación en grados apartir de la posición de calibración.

- Para los ejes lineales – la posición será definida como la distancia en mm apartir de la posición de calibración.

En el caso en que un eje lógico no esté conectado a un eje f í sico, el valor 9E9 será uti-lizado como un valor de posición, indicando que el eje no está conectado. En elmomento de la ejecución, los datos de posición de cada eje serán comprobados y tam-bién se comprobará si el eje correspondiente está conectado o no. Si el valor deposición almacenado no corresponde con la conexión del eje actual, se aplicará lo sigu-iente:

- Si la posición no ha sido definida en los datos de posición (el valor es 9E9), elvalor será ignorado aunque el eje esté conectado y no activado. Pero si el ejeestá activado, se producirá un error.

- Si la posición ha sido definida en los datos de posición, aunque el eje no esté 

conectado, no se tendrá en cuenta el valor.

En el caso en que se utilice un offset de eje externo (instrucción EOffsOn o EOffsSet ),las posiciones serán especificadas en el sistema de coordenadas ExtOffs.

Componentes

eax_a (eje externo a) Tipo de dato: num

La posición del eje lógico externo “a”, expresado en grados o en mm (según el

tipo de eje utilizado).

Page 27: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 27/671

extjoint Tipos de Datos

1-extjoint-24 Tipos de Datos del Sistema y Rutinas

eax_b (eje externo b) Tipo de dato: num

La posición del eje lógico externo “b”, expresado en grados o en mm (según eltipo de eje utilizado).

...

eax_f  (eje externo f) Tipo de dato: num

La posición del eje lógico externo “f ”, expresado en grados o en mm (según eltipo de eje utilizado).

Ejemplo

VAR extjoint posex10 := [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ;

La posición de un posicionador externo, posex10, será definida según lo sigu-iente:

- La posición del eje lógico externo “a” es 11, expresado en grados o mm (segúnel tipo de eje utilizado).

- La posición del eje lógico externo “b” es 12.3, expresado en grados o en mm(según el tipo de eje utilizado).

- Los ejes del c al f no han sido definidos.

Estructura

< dataobject de extjoint >< eax_a de num >< eax_b de num >< eax_c de num >< eax_d de num >< eax_e de num >< eax_f de num >

Información relacionada

Descrito en:

Datos de posición Tipos de datos - robtarget 

Sistema de coordenadas ExtOffs Instrucciones - EOffsOn

Page 28: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 28/671

Tipos de Datos   intnum

Tipos de Datos del Sistema y Rutinas 1-intnum-25

intnum Identificación de la interrupción

 Intnum (interrupt numeric) sirve para identificar una interrupción.

Descripción

Cuando se relaciona una variable del tipo intnum a una rutina de tratamiento de inter-rupción, se le da un valor especí fico que identifica la interrupción. Esta variable es pos-teriormente utilizada cada vez que se procesa una interrupción, como cuando se lallama o cuando se la inhabilita.

Se puede relacionar más de una identificación de interrupción a la misma rutina de

tratamiento de interrupción. La variable del sistema INTNO podrá así  ser utilizada enuna rutina de tratamiento de la interrupción para determinar el tipo de interrupción quese produce.

Ejemplos

VAR intnum error_transp;.CONNECT error_transp WITH correg_transp;ISignalDI di1, 1, error_transp;

Se generará una interrupción cuando la entrada di1 se activa en 1. Cuando estoocurre, se realiza una llamada a la rutina de tratamiento de interrupcióncorreg_transp.

Page 29: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 29/671

intnum Tipos de Datos

1-intnum-26 Tipos de Datos del Sistema y Rutinas

VAR intnum error_transp1;VAR intnum error_transp2;.PROC init_interrupt();.

CONNECT error_transp1 WITH correg_transp;ISignalDI di1, 1, error_transp1;CONNECT error_transp2 WITH correg_transp;ISignalDI di2, 1, error_transp2;

.ENDPROC.TRAP correg_transp

IF INTNO=error_transp1 THEN.ELSE

.ENDIF

.ENDTRAP

Se generará una interrupción cuando cualquier de las entradas di1 o di2 se activanen 1. Entonces se realiza una llamada a la rutina de tratamiento de interrupcionescorreg_transp. La variable del sistema INTNO es utilizada en la rutina de trata-miento de interrupciones para descubrir qué tipo de interrupción ha ocurrido.

Limitaciones

El número máximo de variables activas del tipo intnum al mismo tiempo (entre CON- NECT  y IDelete) está limitado a 40. El número máximo de interrupciones en la colapara la ejecución de una rutina TRAP al mismo está limitado a 30.

Caracterí sticas

 Intnum es otro nombre de un tipo de datos num y por consiguiente se beneficia de lasmismas caracterí sticas.

Información Relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - Interrupciones

Otros tipos de datos Caracterí sticas Básicas -Tipos de Datos

Page 30: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 30/671

Tipos de Datos   iodev

Tipos de Datos del Sistema y Rutinas 1-iodev-27

iodev Canales y archivos de serie

 Iodev (I/O device) se usa para los canales serie, como impresoras y archivos.

Descripción

El tipo de datos iodev contiene una referencia a un archivo o a un canal serie. Puedeestar enlazado a la unidad f í sica mediante la instrucción Open y luego ser utilizado parala lectura y escritura.

EjemploVAR iodev archivo5;.Open "flp1:LOGDIR/INFIL.DOC", file \ Read;input := ReadNum(archivo5);

Se abre el archivo INFIL.DOC  en el directorio LOGDIR del disco para la lectura.Para la lectura del archivo, archivo5 se utiliza como una referencia en lugar delnombre del archivo.

Caracterí sticas

 Iodev es un tipo de dato sin valor.

Información Relacionada

Descrita en:

Comunicación a través de canales serie Resumen RAPID- Comunicación

Configuración de los canales serie Guí a del Usuario - Par ámetros del Sistema

Caracterí sticas de los tipos de datos sin valor Caracterí sticas Básicas - Tipos de Datos

Page 31: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 31/671

iodev Tipos de Datos

1-iodev-28 Tipos de Datos del Sistema y Rutinas

Page 32: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 32/671

Tipos de Datos   jointtarget

Tipos de Datos del Sistema y Rutinas 1-jointtarget-29

 jointtarget Datos de posición de los ejes

 Jointtarget  sirve para definir la posición a la que el robot y los ejes externos se moveránutilizando la instrucción MoveAbsJ .

Descripción

 Jointtarget  define la posición de cada eje individual, tanto para el robot como para losejes externos.

Componentesrobax (ejes del robot) Tipo de dato: robjoint 

Son las posiciones de los ejes del robot expresadas en grados.

La posición de los ejes es definida como la rotación en grados del eje (brazo) cor-respondiente en una dirección positiva o negativa a partir de la posición de cali-bración del eje.

extax (ejes externos) Tipo de dato: extjoint 

La posición de los ejes externos.

La posición es definida según las siguientes indicaciones para cada eje individual(eax_a, eax_b ... eax_f ):

- Para los ejes de rotación, la posición es definida como la rotación, expresada engrados, a partir de la posición de calibración.

- Para los ejes lineales, la posición es definida como la distancia, expresada enmm, a partir de la posición de calibración.

Los ejes externos eax_a ... son ejes lógicos. La relación existente entre el número

del eje lógico y el número del eje f í sico se encuentra definida en los parámetrosdel sistema.

El valor 9E9 será definido para los ejes que no estén conectados. En el caso enque los ejes definidos en los datos de posición difieran de los ejes que están real-mente conectados durante la ejecución del programa, se aplicará lo siguiente:

- En el caso en que la posición no esté definida en los datos de posición (valor9E9) no se tendrá en cuenta el valor, si el eje está conectado y no activado. Perosi el eje está activado, el sistema generará un error.

- En el caso en que la posición sea definida en los datos de posición y que el eje

todaví a no esté conectado, no se tendrá en cuenta el valor.

Page 33: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 33/671

 jointtarget Tipos de Datos

1-jointtarget-30 Tipos de Datos del Sistema y Rutinas

Ejemplos

CONST jointtarget calib_pos := [ [ 0, 0, 0, 0, 0, 0], [ 0, 9E9, 9E9, 9E9, 9E9, 9E9] ];

La posición de calibración normal para el IRB2400 se encuentra definida encalib_pos mediante el tipo de dato jointtarget. La posición de calibración normal0 (expresada en grados o en mm) también estará definida para el eje lógicoexterno a. En cambio, los ejes externos b a f no están definidos.

Estructura

< dataobject de jointtarget >< robax de robjoint  >

< rax_1 de num >< rax_2 de num >< rax_3 de num >< rax_4 de num >< rax_5 de num >< rax_6  de num >

< extax de extjoint  >< eax_a de num >< eax_b de num >< eax_c de num >< eax_d  de num >< eax_e de num >

< eax_f  de num >

Información relacionada

Descrita en:

Movimiento a la posición de un eje Instrucciones - MoveAbsJ 

Instrucciones de posicionamiento Resumen RAPID - Movimiento

Configuración de los ejes externos Guí a del Usuario - Par ámetros del

Sistema

Page 34: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 34/671

Tipos de Datos   loaddata

Tipos de Datos del Sistema y Rutinas 1-loaddata-31

loaddata Datos de carga

 Loaddata sirve para describir las cargas vinculadas al interface mecánico del robot(brida de montaje del robot).

Los datos de carga suelen definir la carga útil (la carga de la pinza es definida por lainstrucción GripLoad ) del robot, es decir, la carga soportada por el útil del robot. Lacarga de la herramienta está especificada en los datos de la herramienta (tooldata) queincluyen los datos de carga.

Descripción

Las cargas especificadas sirven para determinar un modelo de dinámica del robot, deforma que los movimientos del robot puedan ser controlados de la mejor manera posi-ble.

Es importante definir siempre la carga actual de la herramienta y cuando se use,la carga útil del robot. Definiciones incorrectas de los datos de carga puedenprovocar una sobrecarga de la estructura mecánica del robot.

Si se especifican datos incorrectos de carga, se pueden generar las siguientes conse-cuencias:

- Si el valor de los datos de carga especificados es mayor que el valor real de la

carga;-> El robot no será utilizado a su capacidad máxima-> La precisión de trayectoria es incorrecta incluyendo el riesgo de vibraciones.-> Existe un riesgo de sobrecarga de la estructura mecánica

- Si el valor de los datos de carga especificados es menor que el valor real de lacarga;-> La precisión de trayectoria es incorrecta incluyendo el riesgo de vibraciones.-> Existe un riesgo de sobrecarga de la estructura mecánica

La carga útil será activada/desactivada utilizando la instrucción GripLoad .

Componentes

mass Tipo de dato: num

El peso de la carga especificada en kg.

cog  (centro de gravedad) Tipo de dato: pos

El centro de gravedad de la carga de la herramienta será expresado utilizando elsistema de coordenadas de la muñeca. Si se usa una herramienta estacionaria, se

referirá al centro de gravedad de la herramienta que sujeta el objeto de trabajo.

Page 35: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 35/671

Page 36: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 36/671

Tipos de Datos   loaddata

Tipos de Datos del Sistema y Rutinas 1-loaddata-33

Figura 4 Restricción en la orientación del sistema de coordenadas de la carga de la herramienta y de la carga útil.

Figura 5 Centro de gravedad y ejes de inercia de la carga útil.

ix (inercia x) Tipo de dato: num

El momento de inercia de la carga alrededor del eje x del sistema de coordenadasde la carga de la herramienta o de la carga útil, expresado en kgm2.

X

X’

El sistema de coordenadas de la muñeca

Y

Sistema de coordenadas

Sistema de coordenadas de la

Sistema de coordenadas de la -

IX

IZ

IY

IX

IZ

IYZ

Z’

TCP

carga útil - Ejes inerciales de

de la herramienta

la carga útil

carga de la herramienta - Ejesinerciales de la carga de la

herramientaY’

Sistema de coordenadas de la muñeca

Z

X

YSistema de coordenadas de la

Z’

X’

Y’

Centro de gravedad de la carga útil

Pinza

Sistema de coordenadas

Carga útil

Ejes de inercia de la cargade la carga útil - 

Y

Z

X

herramienta

útil

Page 37: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 37/671

Page 38: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 38/671

Tipos de Datos   loaddata

Tipos de Datos del Sistema y Rutinas 1-loaddata-35

Reset pinza;WaitTime 0.3;GripLoad load0;

La desconexión de una carga útil se especifica en el mismo momento en que elrobot deja la carga.

Limitaciones

La carga útil deberá ser definida únicamente como una variable persistente (PERS) yno dentro de una rutina. Los valores utilizados serán entonces almacenados al guardarel programa en un disquete y volverán a ser utilizados en el momento en que se car-guen.

Los argumentos del tipo datos de carga (loaddata) en la instrucción GripLoad  deberá ser un dato persistente entero (no un elemento matriz ni un componente de registro).

Datos predefinidos

La carga load0 define una carga útil de un peso equivalente a 0 kg, es decir ningunacarga. Esta carga se utiliza como argumento de la instrucción GripLoad  para desconec-tar una carga útil.

Siempre se podrá acceder a la carga load0 desde el programa, sin embargo no podrá 

ser cambiada (se encuentra almacenada en el módulo del sistema BASE ).

PERS loaddata load0 := [ 0.001, [0, 0, 0.001], [1, 0, 0, 0],0, 0 ,0 ];

Estructura

< dataobject de loaddata >< mass de num >< cog de pos >

< x de num >

< y de num >< z de num >

< aom de orient  >< q1 de num >< q2 de num >< q3 de num >< q4 de num >

< ix de num >< iy de num >< iz de num >

Page 39: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 39/671

loaddata Tipos de Datos

1-loaddata-36 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Sistemas de coordenadas Principios de Movimiento y de E/S -Sistemas de Coordenadas

Definición de cargas de la herramienta Tipos de datos - tooldata

Activación de las cargas útiles Instrucciones - GripLoad 

Page 40: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 40/671

Page 41: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 41/671

loadsession Tipos de Datos

1-loadsession-38 Tipos de Datos del Sistema y Rutinas

Page 42: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 42/671

Tipos de Datos   mecunit

Tipos de Datos del Sistema y Rutinas 1-mecunit-39

mecunit Unidad mecánica

 Mecunit sirve para definir las diferentes unidades mecánicas que pueden ser controla-das y a las que se puede acceder desde el robot y desde el programa.

Los nombres de las unidades mecánicas están definidos en los parámetros del sistemay por lo tanto, no deberán ser definidos en el programa.

Descripción

Los tipos de dato mecunit  contienen únicamente una referencia a la unidad mecánica.

Limitaciones

Los tipos de datos mecunit  no deberán ser definidos en el programa. El tipo de datopodrá, no obstante, ser utilizado como un parámetro al declarar una rutina.

Datos predefinidos

Siempre se podrá acceder desde el programa (datos instalados) a las unidades mecáni-

cas definidas en los parámetros del sistema.

Caracterí sticas

 Mecunit  es un tipo de dato sin valor. Ello significa que los datos de este tipo no per-miten la realización de operaciones con valores.

Información relacionada

Descrita en:

Activación/Desactivación de lasunidades mecánicas Instrucciones - ActUnit, DeactUnit 

Configuración de las unidades mecánicas Guí a del Usuario - Par ámetros delSistema

Caracterí sticas de los tipos de datos sin valor Caracterí sticas Básicas - Tipos de Datos

Page 43: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 43/671

 mecunit Tipos de Datos

1-mecunit-40 Tipos de Datos del Sistema y Rutinas

Page 44: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 44/671

Tipos de Datos   motsetdata

Tipos de Datos del Sistema y Rutinas 1-motsetdata-41

motsetdata Datos de movimiento

 Motsetdata sirve para definir una serie de caracterí sticas de movimiento que afectan atodas las instrucciones de posicionamiento del programa:

- Velocidad máxima y ajuste de la velocidad

- Datos de aceleración

- Comportamiento del sistema en torno a puntos singulares

- Gestión de las diferentes configuraciones del robot

- Ajuste de la resolución de la trayectoria

- Supervisión del movimiento

Normalmente este tipo de datos no debe ser usado ya que estas caracterí sticas sólo pue-den ser determinadas mediante las instrucciones VelSet , AccSet , SingArea, ConfJ,ConfL, PathResol y MotionSup.

Se podrá acceder a los valores de estas caracterí sticas de movimiento utilizando lavariable del sistema C_MOTSET .

Descripción

Las caracterí sticas de movimiento utilizadas (almacenadas en la variable del sistemaC_MOTSET ) afectan a todos los movimientos.

Componentes

vel.oride Tipo de dato: veldata/num

La velocidad como un porcentaje de la velocidad programada.

vel.max Tipo de dato: veldata/num

Velocidad máxima en mm/s.

acc.acc Tipo de dato: accdata/num

Aceleración y deceleración como un porcentaje de los valores normales.

acc.ramp Tipo de dato: accdata/num

El nivel con el que la aceleración y la deceleración aumentan como un porcentajede los valores normales.

Page 45: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 45/671

 motsetdata Tipos de Datos

1-motsetdata-42 Tipos de Datos del Sistema y Rutinas

sing.wrist Tipo de dato: singdata/ bool

Se permite desviar la orientación de la herramienta para evitar una singularidadde la muñeca.

sing.arm Tipo de dato: singdata/bool

Se permite desviar ligeramente la orientación de la herramienta para evitar unasingularidad del brazo (no implementado).

sing.base Tipo de dato: singdata/bool

No se acepta ninguna desviación de la orientación de la herramienta.

conf.jsup Tipo de dato: confsupdata/ bool

La supervisión de la configuración de los ejes está activa durante el movimientoeje a eje.

conf.lsup Tipo de dato: confsupdata/ bool

La supervisión de la configuración de los ejes está activa durante el movimientolineal y circular.

conf.ax1 Tipo de dato: confsupdata/ 

num

Desviación máxima permitida en grados para el eje 1 (no utilizado en esta ver-sión).

conf.ax4 Tipo de dato: confsupdata/ num

Desviación máxima permitida en grados para el eje 4 (no utilizado en esta ver-sión).

conf.ax6 Data type: confsupdata/num

Desviación máxima permitida en grados para el eje 6 (no utilizado en estaversión).

pathresol Tipo de dato: num

Ajuste actual en un porcentaje de la resolución de la trayectoria configurada.

motionsup Tipo de dato: bool

Función espejo estado RAPID (TRUE=On y FALSE=Off) de supervisión demovimiento.

Page 46: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 46/671

Tipos de Datos   motsetdata

Tipos de Datos del Sistema y Rutinas 1-motsetdata-43

tunevalue Tipo de dato: num

Ajuste RAPID en un porcentaje del valor de ajuste configurado para la funciónde supervisión del movimiento.

Limitaciones

Sólo uno de los siguientes componentes sing.wrist , sing.arm o sing.base puede tenerun valor igual a TRUE.

Ejemplo

IF C_MOTSET.vel.oride > 50 THEN...

ELSE...

ENDIF

Diferentes partes del programa son ejecutadas en función del ajuste de velocidadutilizado.

Datos predefinidos

C_MOTSET  describe las caracterí sticas de movimiento del robot utilizadas y siemprese podrá acceder a ellas desde el programa (datos instalados). Por otra parte ,C_MOTSET , sólo podrá cambiarse mediante una serie de instrucciones, y no por asig-naciones.

Los siguientes valores por defecto de los parámetros de movimiento se activan:

- a una puesta en marcha en frí o

- cuando se carga un programa nuevo

- cuando se inicia la ejecución del programa desde el principio.

PERS motsetdata C_MOTSET := [[ 100, 500 ],-> veldata[ 100, 100 ],-> accdata[ FALSE, FALSE, TRUE ],-> singdata[ TRUE, TRUE, 30, 45, 90 ],-> confsupdata[100 ],-> path resolution[TRUE ],-> motionsup[100 ] ];-> tunevalue

Page 47: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 47/671

 motsetdata Tipos de Datos

1-motsetdata-44 Tipos de Datos del Sistema y Rutinas

Estructura

<dataobject de motsetdata><vel de veldata > -> Es afectado por la instrucción VelSet

< oride de num >< max de num >

<acc de accdata > -> Es afectado por la instrucción AccSet< acc de num >< ramp de num >

<sing de singdata > -> Es afectado por la instrucción SingArea< wrist  de bool >< arm de bool >< base de bool >

<conf de confsupdata > -> Es afectado por las instrucciones ConfJ, ConfL< jsup de bool >

<lsup de bool >< ax1 de num >< ax4 de num >< ax6  de num >

< pathresol de num> -> Es afectado por la instrucción PathResol<motionsup de bool> -> Es afectado por la instrucción MotionSup<tunevalue de num> -> Es afectado por la instrucción MotionSup

Información relacionada

Descrita en:

Instrucciones para la activaciónde los parámetros de movimiento Resumen RAPID -

Caracter í sticas de movimiento

Page 48: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 48/671

Tipos de Datos   num

Tipos de Datos del Sistema y Rutinas 1-num-45

num Valores numéricos (registros)

 Num se usa para los valores numéricos; por ejemplo, para los contadores.

Descripción

El valor de un tipo de dato num puede ser

- un número entero; por ejemplo, -5,

- un número decimal; por ejemplo, 3,45.

También puede estar escrito de forma exponencial; por ejemplo, 2E3 (= 2*103 = 2000),

2,5E-2 (= 0,025).

Los números enteros entre -8388607 y +8388608 son siempre almacenados comonúmeros enteros exactos.

Los números decimales no son más que números aproximados y no deberán, por ello,ser utilizados en comparaciones del tipo es igual a o no es igual a. En el caso de divi-siones y operaciones que utilizan números decimales, el resultado será también unnúmero decimal; es decir, no un número entero exacto.

E.g. a := 10;

b := 5;IF a/b=2 THEN Dado que el resultado de a/b no es unnúmero entero, esta condición no será

... necesariamente satisfecha.

Ejemplo

VAR num reg1;.

reg1 := 3;

reg1 tiene asignado el valor 3.

a := 10 DIV 3;b := 10 MOD 3;

División entera donde a tiene asignado un número entero (=3) y b tiene asignadoal resto (=1).

Page 49: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 49/671

 num Tipos de Datos

1-num-46 Tipos de Datos del Sistema y Rutinas

Datos predefinidos

La constante pi (π) ya ha sido definida en el módulo del sistema BASE .

CONST num pi := 3,1415926;

Las constantes EOF_BIN y EOF_NUM ya están definidas en el sistema.

CONST num EOF_BIN := -1;

CONST num EOF_NUM := 9,998E36;

Información relacionada

Descrita en:

Expresiones numéricas Caracterí sticas Básicas - Expresiones

Operaciones que utilizan valores numéricos Caracterí sticas Básicas - Expresiones

Page 50: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 50/671

Tipos de Datos   o_jointtarget

Tipos de Datos del Sistema y Rutinas 1-o_jointtarget-47

o_jointtarget Dato de posición original de un eje

o_jointtarget (original joint target ) se utiliza en combinación con la función Absolute Limit Modpos. Cuando se usa esta función para modificar una posición, la posiciónoriginal es almacenada como un dato del tipo o_jointtarget .

Descripción

Si se ha activado la función Absolute Limit Modpos y que se ha modificado con la fun-ción Modpos una posición con nombre dentro de una instrucción de movimiento , entonces se salvará la posición programada original.

Ejemplo de un programa antes de Modpos:

CONST jointtarget jpos40 := [[0, 0, 0, 0, 0, 0],[0, 9E9, 9E9, 9E9, 9E9, 9E9]];

...MoveAbsJ jpos40, v1000, z50, tool1;

El mismo programa después ModPos en el que el punto jpos40 ha sido corregido dedos grados para el eje 1 del robot:

CONST jointtarget jpos40 := [[2, 0, 0, 0, 0, 0],  [0, 9E9, 9E9, 9E9, 9E9, 9E9]];

CONST o_jointtarget o_jpos40 := [[0, 0, 0, 0, 0, 0],[0, 9E9, 9E9, 9E9, 9E9, 9E9]];

...MoveAbsJ jpos40, v1000, z50, tool1;

El punto original programado ha sido salvado en o_jpos40 (por el tipo de datoo_jointtarget ) y el punto modificado ha sido salvado en jpos40 (por el tipo de dato

 jointtarget ).

Al salvar el punto original programado, el robot puede monitorizar que posterioresmodificaciones Modpos del punto correspondiente, están dentro de los lí mites acepta-

bles desde el punto original programado.

La convención fija del nombre significa que un punto original programado con el nom-bre xxxxx será salvado con el nombre o_xxxxx al utilizar Absolute Limit Modpos.

Componentes

robax (ejes del robot) Tipo de dato: robjoint 

Posiciones de los ejes del robot expresadas en grados.

Page 51: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 51/671

 o_jointtarget Tipos de Datos

1-o_jointtarget-48 Tipos de Datos del Sistema y Rutinas

extax (ejes externos) Tipo de dato: extjoint 

La posición de los ejes externos.

Estructura

< dataobject de o_jointtarget >< robax de robjoint >

< rax_1 de num >< rax_2 de num >< rax_3 de num >< rax_4 de num >< rax_5 de num >< rax_6 de num >

< extax de extjoint >< eax_a de num >< eax_b de num >< eax_c de num >< eax_d de num >< eax_e de num >< eax_f de num >

Información relacionada

Descrita en:Datos de posición Tipos de Datos - Jointtarget 

Configuración de Limit Modpos Guí a del Usuario - Par ámetros del Sis-tema

Page 52: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 52/671

Page 53: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 53/671

 orient Tipos de Datos

1-orient-50 Tipos de Datos del Sistema y Rutinas

¿Qué es un Quaternion?

La orientación de un sistema de coordenadas (como la de una herramienta) puede serdescrita como una matriz rotacional que describe la dirección de los ejes del sistema de

coordenadas respecto a un sistema de referencia (véase la Figura 7).

Figura 7 La rotación de un sistema de coordenadas est á descrita mediante un quaternion.

Los ejes de los sistemas de coordenadas rotativos (x, y, z) son vectores que pueden serexpresados en el sistema de coordenadas de referencia según lo siguiente:

x = (x1, x2, x3)

y = (y1, y2, y3)

z = (z1, z2, z3)

Esto significa que el componente x- de vector x- en el sistema de coordenadas de ref-

erencia será x1, el componente y- será x2, etc.

Estos tres vectores pueden ser puestos juntos en una matriz rotacional, donde cada unode los vectores forman una columna:

Un quaternion no es más que una forma más concisa de describir esta matriz rotacional;los quaternions se calculan basándose en los elementos de la matriz rotacional:

signo q2 = signo ( y3- z2)

signo q3 = signo ( z1- x3)

signo q4 = signo ( x2- y1)

z

y

xy

z

x

Sistema decoordenadasde referencia

Sistemade coord.rotativo

 x1  y1  z1

 x2  y2  z2

 x3  y3  z3

q1 x1  y2  z3 1+ + +

2-----------------------------------------=

q2 x1  y2–  z3– 1+

2----------------------------------------=

q3 y2  x1–  z3– 1+

2----------------------------------------=

q4 z3  x1–  y2– 1+

2----------------------------------------=

Page 54: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 54/671

Tipos de Datos   orient

Tipos de Datos del Sistema y Rutinas 1-orient-51

 Ejemplo 1

Una herramienta está orientada de forma que su eje Z’apunte recto hacia adelante (enla misma dirección que el eje X del sistema de coordenadas en la base). El eje Y’de laherramienta corresponde al eje Y del sistema de coordenadas en la base (véase la Fig-ura 9). ¿Cómo está definida la orientación de la herramienta en el dato de posición(robtarget)?

La orientación de la herramienta en una posición programada está normalmente rela-cionada con el sistema de coordenadas del objeto de trabajo utilizado. En este ejemplo,no se utiliza ningún objeto de trabajo y el sistema de coordenadas en la base es igualal sistema de coordenadas global. Así , la orientación es relativa con el sistema decoordenadas en la base.

Figura 8 La dirección de una herramienta de acuerdo con el ejemplo 1.

Los ejes estarán relacionados de la siguiente forma:

x’ = -z = (0, 0, -1)

y’ = y = (0, 1, 0)

z’ = x = (1, 0, 0)

Lo cual corresponde a la siguiente matriz rotacional:

La matriz rotacional proporciona al quaternion correspondiente:

signo q3 = signo (1+1) = +

 Ejemplo 2

La dirección de la herramienta ha sido girada de 30o

 en los ejes X’- y Z’-respecto alsistema de coordenadas de la muñeca (véase la Figura 9). ¿Cómo estará definida la ori-

X

Z

0 0 1

0 1 0

1– 0 0

q10 1 0 1+ + +

2

-----------------------------------2

2

------- 0,707= = =

q20 1– 0– 1+

2---------------------------------- 0= =

q31 0– 0– 1+

2----------------------------------

2

2------- 0,707= = =

q40 0– 1– 1+

2---------------------------------- 0= =

Page 55: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 55/671

Page 56: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 56/671

Tipos de Datos   o_robtarget

Tipos de Datos del Sistema y Rutinas 1-o_robtarget-53

o_robtarget Datos de posición original

o_robtarget (original robot target ) se utiliza en combinación con la función Absolute Limit Modpos. Cuando esta función es utilizada para modificar una posición, laposición original queda almacenada como un dato del tipo o_robtarget .

Descripción

En el caso en que la función Absolute Limit Modpos ha sido activada y que unaposición nombrada en una instrucción de movimiento es modificada con la función

 Modpos, entonces la posición programada original queda almacenada.

Ejemplo de un programa antes de Modpos:

CONST robtarget p50 := [[500, 500, 500], [1, 0, 0, 0], [1, 1, 0, 0],[500, 9E9, 9E9, 9E9, 9E9, 9E9] ];

...MoveL p50, v1000, z50, tool1;

El mismo programa después de ModPos en el cual el punto p50 ha sido corregido a 502en la dirección -x:

CONST robtarget p50 := [[502, 500, 500], [1, 0, 0, 0], [1, 1, 0, 0],[500, 9E9, 9E9, 9E9, 9E9, 9E9] ];

CONST o_robtarget o_p50 := [[500, 500, 500], [1, 0, 0, 0], [1, 1, 0, 0],[ 500, 9E9, 9E9, 9E9, 9E9, 9E9] ];

...MoveL p50, v1000, z50, tool1;

El punto original programado ha sido almacenado en o_p50 (por el tipo de datoo_robtarget ) y el punto modificado, ha sido almacenado en p50 (por el tipo de datorobtarget ).

Al guardar el punto original programado, el robot podrá monitorizar que posterioresmodificaciones Modpos del punto en cuestión estén dentro de los lí mites aceptables del

punto original programado.

La convención fija del nombre significa que un punto original programado con el nom-bre xxxxx será guardado con el nombre o_xxxxx al utilizar Absolute Limit Modpos.

Componentes

trans (traslación) Tipo de dato: pos

La posición (x, y, z) del punto central de la herramienta expresada en mm.

Page 57: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 57/671

 o_robtarget Tipos de Datos

1-o_robtarget-54 Tipos de Datos del Sistema y Rutinas

rot (rotación) Tipo de dato: orient 

La orientación de la herramienta, expresada bajo la forma de un cuaternio (q1, q2, q3y q4).

robconf  (configuración del robot) Tipo de dato: confdata

La configuración de los ejes del robot (cf1, cf4, cf6 y cfx).

extax (ejes externos) Tipo de dato: extjoint 

La posición de los ejes externos.

Estructura

< dataobject de o_robtarget >< trans de pos >

< x de num >< y de num >< z de num >

< rot  de orient  >< q1 de num >< q2 de num >< q3 de num >< q4 de num >

< robconf de confdata >

< cf1 de num >< cf4 de num >< cf6  de num >< cfx de num >

< extax de extjoint  >< eax_a de num >< eax_b de num >< eax_c de num >< eax_d de num >< eax_e de num >< eax_f de num >

Información relacionada

Descrita en:

Datos de posición Tipos de Datos - Robtarget 

Configuración de Limit Modpos Guí a del Usuario - Par ámetros delSistema

Page 58: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 58/671

Tipos de Datos   pos

Tipos de Datos del Sistema y Rutinas 1-pos-55

pos Posiciones (sólo X, Y y Z)

Pos se usa para las posiciones (sólo X, Y y Z).

El tipo de dato robtarget  se usa para determinar la posición del robot incluyendo la ori-entación de la herramienta y la configuración de los ejes.

Descripción

Los datos del tipo pos describen la posición de las coordenadas: X, Y y Z.

Componentes

x Tipo de dato: num

El valor X de la posición.

y Tipo de dato: num

El valor Y de la posición.

z Tipo de dato: num

El valor Z de la posición.

Ejemplos

VAR pos pos1;.pos1 := [500, 0, 940];

La posición pos1 tiene asignado el valor: X=500 mm, Y=0 mm, Z=940 mm.

pos1.x := pos1.x + 50;

La posición pos1 es desplazada 50 mm en la dirección X.

Estructura

<dataobject of pos>< x of num>< y of num>

< z of num>

Page 59: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 59/671

 pos Tipos de Datos

1-pos-56 Tipos de Datos del Sistema y Rutinas

Información Relacionada

Descrita en:

Operaciones sobre las posiciones Caracterí sticas Básicas - ExpresionesPosición del robot incluyendo la orientación Tipos de datos - robtarget 

Page 60: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 60/671

Tipos de Datos   pose

Tipos de Datos del Sistema y Rutinas 1-pose-57

pose Transformación de coordenadas

Pose se usa para cambiar de un sistema de coordenadas a otro.

Descripción

Los datos del tipo pose describen como se desplaza un sistema de coordenadas y sehace girar en torno a otro sistema de coordenadas. Los datos pueden, por ejemplo,describir como está posicionado el sistema de coordenadas de la herramienta respectoal sistema de coordenas de la muñeca.

Componentes

trans (translación) Tipo de dato: pos

El desplazamiento en la posición (x, y, z) del sistema de coordenadas.

rot (rotación) Tipo de dato: orient 

La rotación del sistema de coordenadas.

Ejemplo

VAR pose base1;.base1.trans := [50, 0, 40];base1.rot := [1, 0, 0, 0];

El gambio de coordenadas base1 tiene asignado un valor que corresponde a undesplazamiento en la posición, donde X=50 mm, Y=0 mm, Z=40 mm; no hay,por la tanto, ninguna rotación.

Estructura

<dataobject of pose><trans of pos><rot  of orient >

Page 61: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 61/671

 pose Tipos de Datos

1-pose-58 Tipos de Datos del Sistema y Rutinas

Información Relacionada

Descrita en:

¿Qué es un quaternion? Tipos de Datos - orient 

Page 62: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 62/671

Tipos de Datos   progdisp

Tipos de Datos del Sistema y Rutinas 1-progdisp-59

progdisp Desplazamiento de programa

Progdisp sirve para almacenar el desplazamiento de programa utilizado del robot y delos ejes externos.

Este tipo de dato normalmente no debe ser utilizado ya que el dato se activará cuandose utilicen las instrucciones PDispSet, PDispOn, PDispoff, EOffsSet, EOffsOn y EOff-sOff . Se utiliza únicamente para almacenar de forma temporal el valor utilizado paraun uso posterior.

Descripción

Se podrá acceder a los valores utilizados para el desplazamiento del programa utili-zando la variable del sistema C_PROGDISP.

Para más información, véanse las instrucciones PDispSet, PDispOn, EOffsSet y EOff-sOn.

Componentes

pdisp (desplazamiento de programa) Tipo de dato: pose

El desplazamiento del programa del robot expresado mediante la utilización deuna translación y de una orientación. La translación está expresada en mm.

eoffs (offset externo) Tipo de dato: extjoint 

El offset de cada uno de los ejes externos. Si el eje es lineal, el valor será expre-sado en mm; si es de rotación, el valor será expresado en grados.

Page 63: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 63/671

 progdisp Tipos de Datos

1-progdisp-60 Tipos de Datos del Sistema y Rutinas

Ejemplo

VAR progdisp despl1;.

SearchL sen1, pbusc, p10, v100, herram1;PDispOn \ExeP:=pbusc, *, herram1;EOffsOn \ExeP:=pbusc, *;.despl1:=C_PROGDISP;PDispOff;EOffsOff;.PDispSet despl1.pdisp;EOffsSet despl1.eoffs;

En primer lugar, un desplazamiento de programa será activado a partir de unaposición buscada. Luego, será desactivado de forma temporal almacenando elvalor en la variable despl1 y, posteriormente, será activada de nuevo mediante lasinstrucciones PDispSet  y EOffsSet .

Datos predefinidos

La variable del sistema C_PROGDISP describe el desplazamiento de programa uti-lizado del robot y de los ejes externos. Siempre se podrá acceder a ella desde el pro-grama. Por otra parte, C_PROGDISP, sólo podrá cambiarse utilizando una serie de

instrucciones y no por asignación.

Estructura

< dataobject de progdisp >< pdisp de pose>

< trans de pos >< x de num >< y de num >< z de num >

< rot  de orient  >< q1 de num >< q2 de num >< q3 de num >< q4 de num >

< edefs de extjoint  >< eax_a de num >< eax_b de num >< eax_c de num >< eax_d  de num >< eax_e de num >

< eax_f  de num >

Page 64: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 64/671

Tipos de Datos   progdisp

Tipos de Datos del Sistema y Rutinas 1-progdisp-61

Información relacionada

Descrita en:

Instrucciones para la definición de undesplazamiento de programa Resumen RAPID - Caracter í sti-

cas de Movimiento

Sistemas de coordenadas Principios de Movimiento y de E/S -Sistemas de Coordenadas

Page 65: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 65/671

 progdisp Tipos de Datos

1-progdisp-62 Tipos de Datos del Sistema y Rutinas

Page 66: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 66/671

Page 67: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 67/671

 robjoint Tipos de Datos

1-robjoint-64 Tipos de Datos del Sistema y Rutinas

Page 68: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 68/671

Page 69: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 69/671

 robtarget Tipos de Datos

1-robtarget-66 Tipos de Datos del Sistema y Rutinas

robconf   (configuración del robot) Tipo de dato: confdata

La configuración de los ejes del robot (cf1, cf4, cf6 y cfx). Esto se define bajo laforma del cuarto utilizado del eje 1, del eje 4 y del eje 6. El primer cuarto positivo0-90 o está definido como 0. El componente cfx se utiliza únicamente para elmodelo de robot IRB5400.

Para más información, véase el tipo de dato confdata.

extax  (ejes externos) Tipo de dato: extjoint 

La posición de los ejes externos.

La posición será definida como se indica a continuación para cada eje individual(eax_a, eax_b ... eax_f ):

- Para los ejes rotativos, la posición será definida como la rotación en grados apartir de la posición de calibración.

- Para los ejes lineales, la posición será definida como la distancia en mm a partirde la posición de calibración.

Los ejes externos eax_a ... son ejes lógicos. La forma en que el número de los ejeslógicos y el número de los ejes f í sicos están relacionados entre sí  se encuentradefinida en los parámetros del sistema.

El valor 9E9 será definido para los ejes que no están conectados. Si los ejesdefinidos en los datos de posición difieren de los ejes que están conectados enrealidad para la ejecución del programa, se aplicará lo siguiente:

- Si la posición no está definida en los datos de posición (el valor 9E9) no se ten-drá en cuenta el valor, si el eje está conectado y no está activado. Pero si el ejeestá activado, el sistema producirá un error.

- Si la posición está definida en los datos de posición y que el eje todaví a no está conectado, no se tendrá en cuenta el valor.

Page 70: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 70/671

Tipos de Datos   robtarget

Tipos de Datos del Sistema y Rutinas 1-robtarget-67

Ejemplos

CONST robtarget p15 := [ [600, 500, 225,3], [1, 0, 0, 0], [1, 1, 0, 0],[ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ];

Una posición p15 será definida de la siguiente manera:

- La posición del robot: x = 600, y = 500, z =225,3 mm en el sistema de coordena-das del objeto.

- La orientación de la herramienta en la misma dirección que el sistema decoordenadas del objeto.

- La configuración del eje del robot: eje 1 y 4 en la posición 90-180º, el eje 6 enla posición 0-90º.

- La posición de los ejes externos lógicos, a y b, expresada en grados o en mm.

(dependiendo del tipo de ejes). Los ejes c y f no están definidos.

VAR robtarget p20;. . .p20 := CRobT();p20 := Offs(p20,10,0,0);

La posición p20 será activada en la misma posición que la posición actual del robot llamando la función CRobT . La posición se moverá entonces de 10 mm en la direcciónx-.

Limitaciones

Cuando se utiliza la función de edición configurable Absolute Limit Modpos, elnúmero de caracteres del nombre del dato del tipo robtarget , está limitado a 14 (enotros casos, está limitado a 16).

Page 71: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 71/671

 robtarget Tipos de Datos

1-robtarget-68 Tipos de Datos del Sistema y Rutinas

Estructura

< dataobject de robtarget >< trans de pos >

< x de num >< y de num >< z de num >

< rot  de orient  >< q1 de num >< q2 de num >< q3 de num >< q4 de num >

< robconf de confdata >< cf1 de num >< cf4 de num >

< cf6  de num >< cf x de num >

< extax de extjoint  >< eax_a de num >< eax_b de num >< eax_c de num >< eax_d de num >< eax_e de num >< eax_f de num >

Información relacionada

Descrita en:

Instrucciones de posicionamiento Resumen RAPID- Movimiento

Sistemas de coordenadas Principios de Movimiento y de E/S -Sistemas de coordenadas

Manipulación de los datos de configuración Principios de Movimiento y de E/S -Configuración del Robot 

Configuración de los ejes externos Guí a del Usuario - Par ámetros del sis-tema

¿Qué es un quaternion? Tipos de datos - Orient 

Page 72: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 72/671

Tipos de Datos   shapedata

Tipos de Datos del Sistema y Rutinas 1-shapedata-69

shapedata Datos de forma de una zona mundo

shapedata sirve para describir la geometrí a de una zona mundo.

Descripción

Las zonas mundo pueden clasificarse en tres formas geométricas diferentes:

- en forma de una caja rectangular, con todos sus lados paralelos al sistema decoordenadas mundo y definida por una instrucción WZBoxDef .

- en forma de una esfera, definida por una instrucción WZSphDef .

- en forma de un cilindro, paralelo al eje z del sistema de coordenadas mundo y

definida por una instrucción WZCylDef .

La geometrí a de una zona mundo se define con una de las instrucciones anteriores y laacción de una zona mundo se define mediante las instrucciones WZLimSup oWZDOSet .

Ejemplo

VAR wzstationary pole;VAR wzstationary conveyor;

...PROC ...

VAR shapedata volume;...WZBoxDef \Inside, volume, p_corner1, p_corner2;WZLimSup \Stat, conveyor, volume;WZCylDef \Inside, volume, p_center, 200, 2500;WZLimSup \Stat, pole, volume;

ENDPROC

Un transportador es definido como un volumen en forma de una caja rectangular

y la supervisión para esta área es activada. Un polo es definido como un volumenen forma de cilindro y la supervisión para esta zona también es activada. Cuandoel robot entra en una de estas áreas, el movimiento queda detenido.

Caracterí sticas

shapedata es un tipo de dato sin valor.

Page 73: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 73/671

 shapedata Tipos de Datos

1-shapedata-70 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Zonas mundo Principios de movimiento yde E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Definición de una zona mundo en forma decaja rectangular Instrucciones - WZBoxDef 

Definición de una zona mundo en forma de esfera Instrucciones - WZSphDef 

Definición de una zona mundo en forma de cilindro Instrucciones - WZCylDef 

Activación de una área de trabajo restringida Instrucciones - WZLimSup

Activación de una salida referida a una zona Instrucciones - WZDOSet 

Page 74: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 74/671

Tipos de Datos   signalxx

Tipos de Datos del Sistema y Rutinas 1-signalxx-71

signal xx Señales digitales y analógicas

Los tipos de datos incluidos en signalxx se usan para las señales digitales y analógicasde entrada y de salida.

Los nombres de las señales están definidos en los parámetros del sistema y por lo tantono deberán ser definidos en el programa.

Descripción

Tipo de dato Sirve para

signalai las señales de entrada analógicas

signalao las señales de salida analógicas

signaldi las señales de entrada digitales

signaldo las señales de salida digitales

signalgi los grupos de señales de entrada digitales

signalgo los grupos de señales de salida digitales

Las variables del tipo signalxo sólo contienen una referencia a la señal. El valor de laseñal es determinado cuando se utiliza una instrucción, por ejemplo, DOutput.

Las variables del tipo signalxi contienen una referencia a una señal así  como la posibi-lidad para recuperar el valor directamente en el programa, si se usa en un contexto devalores.

El valor de una señal de entrada podrá ser leí do directamente en el programa, por ejem-plo:

! Digital inputIF di1 = 1 THEN ...

! Digital group inputIF gi1 = 5 THEN ...

! Analog inputIF ai1 > 5.2 THEN ...

Limitaciones

Los datos del tipo signalxx no deberán ser definidos en el programa. En el caso en quelo estén, aparecerá visualizado un mensaje de error en cuanto una instrucción o funciónreferida a esta señal, sea ejecutada. Por otro lado, el tipo de dato podrá ser utilizado

como un parámetro al declarar una rutina.

Page 75: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 75/671

 signalxx Tipos de Datos

1-signalxx-72 Tipos de Datos del Sistema y Rutinas

Datos predefinidos

Siempre se podrá acceder a las señales definidas en los parámetros del sistema desde elprograma, utilizando las variables de las señales predefinidas (datos instalados). Obsér-

vese, sin embargo, que si se definen otros datos con el mismo nombre, estas señales nopodrán ser utilizadas.

Caracterí sticas

Signalxo es un tipo de dato sin valor. Por lo tanto, los datos de este tipo no permiten larealización de operaciones orientadas a valores.

Signalxi es un tipo de dato semi valor.

Información relacionada

Descrita en:

Resumen de instrucciones de entradas/salidas Resumen RAPID -Señales de Entrada y Salida

Funciones de las entradas/salidas en general Principios de Movimiento y E/S -Principios de E/S 

Configuración de las E/S Guí a del Usuario - Par ámetros del

Sistema

Caracterí sticas de los tipos de datos sin valor Caracterí sticas Básicas - Tipos de Datos

Page 76: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 76/671

Tipos de Datos   speeddata

Tipos de Datos del Sistema y Rutinas 1-speeddata-73

speeddata Datos de velocidad

Speeddata sirve para especificar la velocidad a la que se moverán tanto los ejes exter-nos como el robot.

Descripción

Los datos de velocidad definen la velocidad:

- a la que se mueve el punto central de la herramienta,

- de la reorientación de la herramienta,

- a la que se mueven los ejes externos rotativos o lineales.

Cuando se combinan diferentes tipos de movimiento, a menudo hay una de lasvelocidades que limita todos los movimientos. La velocidad de los demás movimientosserá reducida de tal manera que todos los movimientos acabarán su ejecución al mismotiempo.

La velocidad será también restringida por la capacidad del robot. Esto difiere según eltipo de robot y la trayectoria utilizada.

Componentes

v_tcp (velocidad del tcp) Tipo de dato: num

La velocidad del punto central de la herramienta (TCP) en mm/s.

Si se utilizan ejes externos coordinados o una herramienta estacionaria, lavelocidad será especificada respecto al objeto de trabajo.

v_ori  (velocidad de orientación) Tipo de dato: num

La velocidad de reorientación del TCP expresado en grados/s.

Si se utilizan ejes externos coordinados o una herramienta estacionaria, lavelocidad será especificada respecto al objeto de trabajo.

v_leax  (velocidad de los ejes externos lineales) Tipo de dato: num

La velocidad de los ejes externos lineales en mm/s.

v_reax  (velocidad de los ejes externos rotativos) Tipo de dato: num

La velocidad de los ejes externos rotativos en grados/s.

Page 77: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 77/671

Page 78: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 78/671

Tipos de Datos   speeddata

Tipos de Datos del Sistema y Rutinas 1-speeddata-75

Estructura

< dato del tipo de speeddata >< v_tcp de num >< v_ori de num >< v_leax de num >< v_reax de num >

Información relacionada

Descrita en:

Instrucciones de posicionamiento Resumen RAPID - Movimiento

Movimiento/Velocidad en general Principios de Movimiento y de E/S -Posicionamiento durante la Ejecucióndel Programa

Definición de la velocidad máxima Instrucciones - VelSet 

Configuración de los ejes externos Guí a del Usuario - Par ámetros delSistema

Capacidad de movimiento Especificación del Producto

Page 79: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 79/671

 speeddata Tipos de Datos

1-speeddata-76 Tipos de Datos del Sistema y Rutinas

Page 80: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 80/671

Page 81: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 81/671

 string Tipos de Datos

1-string-78 Tipos de Datos del Sistema y Rutinas

Datos predefinidos

Hay una serie de constantes de cadenas predefinidas disponibles en el sistema y quepueden utilizarse junto con funciones de cadena.

Nombre Grupo de caracteres

STR_DIGIT <caracter> ::=0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

STR_UPPER <letra mayúscula> ::=A | B | C | D | E | F | G | H | I | J| K | L | M | N | O | P | Q | R | S | T| U | V | W | X | Y | Z | À | Á |  | Ã| Ä | Å | Æ | Ç | È | É | Ê | Ë | Ì | Í

| Π| Ï | 1) | Ñ | Ò | Ó | Ô | Õ | Ö | Ø| Ù | Ú | Û | Ü | 2) | 3)

STR_LOWER <letra minúscula> ::=a | b | c | d | e | f | g | h | i | j| k | l | m | n | o | p | q | r | s | t| u | v | w | x | y | z | à | á | â | ã| ä | å | æ | ç | è | é | ê | ë | ì | í | î  | ï | 1) | ñ | ò | ó | ô | õ | ö | ø| ù | ú | û | ü | 2) | 3) | ß | ÿ

STR_WHITE <en blanco> ::=

1) Letra eth islandesa.2) Letra Y con acento agudo3) Letra thorn islandesa.

Las constantes flp1, ram1disk y stEmpty están ya definidas en el módulo de sistema BASE .

CONST string flp1 := “flp1:”;

CONST string ram1disk := “ram1disk:”;

CONST string stEmpty := ““;

Información relacionada

Descrita en:

Operaciones que utilizan cadenas Caracterí sticas Básicas - Expresiones

Valores de las cadenas Caracterí sticas Básicas - Elementos de Base

Page 82: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 82/671

Tipos de Datos   symnum

Tipos de Datos del Sistema y Rutinas 1-symnum-79

symnum Número simbólico

Symnum sirve para representar un número entero con una constante simbólica.

Descripción

Una constante symnum está prevista para ser utilizada cuando se comprueba el valorde retorno de las funciones OpMode y RunMode. Véase el ejemplo siguiente.

Ejemplo

IF RunMode() = RUN_CONT_CYCLE THEN..ELSE..ENDIF

Datos Predefinidos

A continuación se indican las constantes simbólicas del tipo de dato symnum que estánpredefinidas y que pueden ser utilizadas cuando se comprueba los valores de retornode las funciones OpMode y RunMode.

 Valor Constante simbólica Comentario

0 RUN_UNDEF Modo de ejecución no definido

1 RUN_CONT_CYCLE Modo de ejecución continuo o cí clico

2 RUN_INSTR_FWD Modo de ejecución hacia adelante

3 RUN_INSTR_BWD Modo de ejecución hacia atrás

4 RUN_SIM Modo de ejecución simulada

Page 83: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 83/671

 symnum Tipos de Datos

1-symnum-80 Tipos de Datos del Sistema y Rutinas

Caracterí sticas

Symnum es un tipo de dato equivalente de num y por consiguiente hereda sus caracterí s-ticas.

Información relacionada

Descrita en:

Tipos de datos en general, tipos de datos Caracterí sticas BASIC - Tipos deequivalentes  Datos

Valor Constante simbólica Comentario

0 OP_UNDEF Modo de funcionamiento no definido

1 OP_AUTO Modo de funcionamiento automático

2 OP_MAN_PROG Modo de funcionamiento manual

max. 250 mm/s

3 OP_MAN_TEST Modo de funcionamiento manual

Velocidad total, 100%

Page 84: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 84/671

Tipos de Datos   Datos del Sistema

Tipos de Datos del Sistema y Rutinas 1-Datos del Sistema-81

Datos del Sistema

Los datos del sistema son los datos internos del robot a los que accede el programa para

su lectura. Pueden ser utilizados para leer el estado utilizado, por ejemplo, la velocidadmáxima utilizada.

La siguiente tabla contiene una relación de todos los datos del sistema.

Nombre Descripción Tipo de dato Cambiado por Véase también

C_MOTSET Caracterí sticas de movimiento utilizadas, es decir:

-velocidad máx. y ajuste de la velocidad

- aceleración máxima

- movimiento relativo a puntos singulares

- control de la configuración de los ejes

- resolución de la trayectoria

- supervisión del movimiento con valor de ajuste

motsetdata Instrucciones

- VelSet

- AccSet

- SingArea

- ConfL,ConfJ

- PathResol

- MotionSup

Tipos de datos - motsetdata

Instrucciones - VelSet 

Instrucciones - AccSet 

Instrucciones - SingArea 

Instrucciones - ConfL, ConfJ 

Instrucciones - PathResol

Instrucciones - MotionSup

C_PROGDISP Desplazamiento del programa utilizado del robot y

de los ejes externos.

progdisp Instrucciones

- PDispSet

- PDispOn

- PDispOff 

- EOffsSet

- EOffsOn

- EOffsOff 

Tipos de datos - progdisp

Instrucciones - PDispSet 

Instrucciones - PDispOn

Instrucciones - PDispOff 

Instrucciones - EOffsSet 

Instrucciones- EOffsOn

Instrucciones - EOffsOff 

ERRNO El último error ocurrido errnum El robot Tipos de datos - errnum

Resumen RAPID -

 Recuperación de errores

INTNO La última interrupción ocurrida intnum El robot Tipos de datos - intnum

Resumen RAPID - Interrup-ciones

Page 85: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 85/671

 Datos del Sistema Tipos de Datos

1-Datos del Sistema-82 Tipos de Datos del Sistema y Rutinas

Page 86: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 86/671

Page 87: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 87/671

 taskid  Tipos de Datos

1-taskid-84 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Guardar módulos del programa Instrucción - Guardar Configuración de las tareas de programa Guí a del Usuario - Par ámetros del

sistema

Caracterí sticas de los tipos de datos sin valor Caracterí sticas básicas - Tipos de Datos

Page 88: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 88/671

Tipos de Datos   testsignal 

Tipos de Datos del Sistema y Rutinas 1-errnum-85

testsignal Señal de test

El tipo de dato testsignal se utiliza cuando se lleva a cabo un test del sistema del robot.

Descripción

El sistema de robot dispone de una serie de señales de test predefinidas. El tipo de datotestsignal está disponible para simplificar la programación de instrucciones referentesa servicio y pruebas.

EjemplosTestSign 2, revolution_counter, Orbit, 2, 1, 0;

revolution_counter constituye una constante de los tipos de datos testsignal.

Datos predefinidos

Una serie de constantes predefinidas para las diferentes señales de test del sistemarobot son cargados en el sistema en el momento de la puesta en marcha. El manual de

servicio describe las señales de test con más profundidad.

Caracterí sticas

Testsignal es un tipo de dato equivalente a num y por consiguiente tiene las mismascaracterí sticas.

Información relacionada

Descrita en:

Tipos de datos en general,tipos de datos equivalentes Caracterí sticas básicas -

Tipos de Datos

Page 89: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 89/671

 testsignal  Tipos de Datos

1-errnum-86 Tipos de Datos del Sistema y Rutinas

Page 90: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 90/671

Tipos de Datos   tooldata

Tipos de Datos del Sistema y Rutinas 1-tooldata-87

tooldata Datos de herramienta

Tooldata sirve para describir las caracterí sticas de una herramienta, como por ejemplo,una boquilla de soldadura o una pinza.

Si la herramienta está fija en el espacio (si se trata de una herramienta estacionaria), sedefinirán los datos de herramienta normales correspondientes así  como la pinza quesujeta el objeto de trabajo.

Descripción

Los datos de herramienta afectarán a los movimientos del robot en la siguiente medida:

- El punto central de la herramienta (TCP) se refiere a un punto que cumplirá conla trayectoria especificada y con la exigencia de velocidad. En el caso en quese reoriente la herramienta o si se usan ejes externos coordinados, solamenteeste punto seguirá la trayectoria deseada a la velocidad programada.

- En el caso en que se use una herramienta estacionaria, tanto la velocidad comola trayectoria programadas se referirán al objeto de trabajo.

- Las posiciones programadas se refieren a la posición del TCP utilizado y a laorientación respecto al sistema de coordenadas de la herramienta. Ello significaque si, por ejemplo, se ha reemplazado una herramienta porque está dañada, sepodrá todaví a utilizar el programa antiguo si se vuelve a definir el sistema decoordenadas de la herramienta.

Los datos de herramienta también se usan al mover el robot para:

- Definir el TCP que no debe moverse cuando se reorienta la muñeca.

- Definir el sistema de coordenadas de la herramienta con vistas a facilitar elmovimiento o rotación de las direcciones de la herramienta.

Es muy importante definir siempre la carga utilizada de la herramienta, y cuandoprocede, también la carga útil utilizada. Tener en cuenta que definicionesincorrectas de los datos de carga pueden provocar una sobrecarga de la

estructura mecánica del robot.

Cuando se especifican datos incorrectos de carga de la herramienta, se pueden originarlas siguientes consecuencias:

- Si el valor de la carga especificada es mayor que la del valor real de la carga:-> El robot no será utilizado a su capacidad máxima-> La precisión de trayectoria es incorrecta incluyendo el riesgo de vibraciones.

- Si el valor de los datos de carga especificados es menor que el valor real de lacarga:

-> La precisión de trayectoria es incorrecta incluyendo el riesgo de vibraciones.-> Existe un riesgo de sobrecarga de la estructura mecánica

Page 91: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 91/671

 tooldata Tipos de Datos

1-tooldata-88 Tipos de Datos del Sistema y Rutinas

Componentes

robhold (en el robot) Tipo de datos: bool

Define si el robot está sujetando o no la herramienta:

- TRUE -> El robot está sujetando la herramienta.

- FALSE -> El robot no está sujetando la herramienta, es decir, se trata de unaherramienta estacionaria.

tframe  (coordenadas de la herramienta) Tipo de dato: pose

El sistema de coordenadas de la herramienta, es decir:

- La posición del TCP (x, y, z) en mm, expresada en el sistema de coordenadas

de la muñeca (véase la Figura 10).- La orientación del sistema de coordenadas de la herramienta, expresada en el

sistema de coordenadas de la muñeca bajo la forma de un cuaternio (q1, q2, q3y q4) (véase la Figura 10).

Si se desea utilizar una herramienta estacionaria, la definición se realizará res-pecto al sistema de coordenadas del mundo.

Si la dirección de la herramienta no está especificada, el sistema de coordenadasde la herramienta y el sistema de coordenadas de la muñeca coincidirán.

Figura 10 Definición del sistema de coordenadas de la herramienta.

Z’

Z

XX’

El orificio de control

El sistema de coordenadas

El sistema de coordenadas de la muñeca

Y

Y’TCP

de la herramienta

Page 92: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 92/671

Tipos de Datos   tooldata

Tipos de Datos del Sistema y Rutinas 1-tooldata-89

tload  (carga de la herramienta) Tipo de dato: loaddata

La carga de la herramienta, es decir:

- El peso de la herramienta en kg.

- El centro de gravedad de la herramienta (x, y, z) en mm, expresado en el sistemade coordenadas de la muñeca.

- La orientación del sistema de coordenadas de la carga de la herramienta, expre-sada en el sistema de coordenadas de la muñeca, para la definición de los ejesde inercia de la herramienta. La orientación del sistema de coordenadas de lacarga de la herramienta deberá coincidir con la orientación del sistema de coor-denadas de la muñeca. Deberá estar siempre activado en 1, 0, 0, 0.

- Los momentos de inercia de la herramienta respecto a su centro de masa entorno a los ejes de coordenadas de la carga de la herramienta, expresado enkgm2.

Si todos los componentes de inercia han sido definidos como 0 kgm2, la herra-mienta será considerada como si se tratara de una carga puntual.

Figura 11 Definición de los par ámetros de la carga de la herramienta.

Para más información (como el sistema de coordenadas de una herramienta esta-cionaria o las limitaciones), véase el tipo de dato loaddata.

Si se utiliza una herramienta estacionaria, se deberá definir la carga de la pinza

que sujeta el objeto de trabajo.

Obsérvese que sólo se deberá especificar la carga de la herramienta. La carga útilmanipulada por una pinza se activa/desactiva mediante la instrucción GripLoad .

Z’

XX’

Sistema de coordenadas de la muñeca

Y

Y’TCP

Sistema de coordenadas de la carga de la

IX

IZ

IY

Z herramienta - Ejes de inercia de la cargade la herramienta

Sistema de coordenadas de la herramienta

Page 93: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 93/671

 tooldata Tipos de Datos

1-tooldata-90 Tipos de Datos del Sistema y Rutinas

Ejemplos

PERS tooldata pinza := [ TRUE, [[97.4, 0, 223.1], [0.924, 0, 0.383 ,0]],[5, [23, 0, 75], [1, 0, 0, 0], 0, 0, 0]];

La herramienta de la Figura 10 ha sido descrita utilizando los siguientes valores:

- El robot está sujetando la herramienta.

- El TCP está situado en el punto 223,1 mm en lí nea recta a partir del eje 6 y 97,4 mm a lo largo del eje X del sistema de coordenadas de la muñeca.

- Las direcciones X y Z de la herramienta deberán ser giradas de 45º respecto alsistema de coordenadas de la muñeca.

- La herramienta pesa 5 kg.

- El centro de gravedad está situado en el punto 75 mm en lí nea recta a partir deleje 6 y 23 mm a lo largo del eje X del sistema de coordenadas de la muñeca.

- La carga puede ser considerada como una carga puntual, es decir, sin ningúnmomento de inercia.

pinza.tframe.trans.z := 225.2;

El TCP de la herramienta, gripper , está ajustado a 225,2 en la dirección z.

Limitaciones

Los datos de herramienta (tooldata) deberán ser definidos únicamente como variablespersistentes (PERS) y no deberán ser definidos dentro de una rutina. Los valores utili-zados serán almacenados luego, cuando el programa sea almacenado en un disquete yse recuperarán al cargar el disquete.

El argumento del tipo datos de herramienta en cualquier instrucción de movimientodeberá ser un dato persistente entero (no un elemento matriz ni un componente de regis-tro).

Datos predefinidos

La herramienta tool0 define el sistema de coordenadas de la muñeca y tiene como puntode origen el centro de la brida de montaje. Se podrá siempre acceder a tool0 desde elprograma, aunque no puedan ser cambiados (están almacenados en el módulo del sis-tema BASE ).

PERS tooldata tool0 := [ TRUE, [ [0, 0, 0], [1, 0, 0 ,0] ],[0.001, [0, 0, 0.001], [1, 0, 0, 0], 0, 0, 0] ];

Page 94: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 94/671

Tipos de Datos   tooldata

Tipos de Datos del Sistema y Rutinas 1-tooldata-91

Estructura

< dataobject de tooldata >< robhold  de bool >< tframe de pose >

< trans de pos >< x de num >< y de num >< z de num >

< rot  de orient  >< q1 de num >< q2 de num >< q3 de num >< q4 de num >

< tload de loaddata >

< mass de num >< cog de pos >

< x de num >< y de num >< z de num >

< aom de orient  >< q1 de num >< q2 de num >< q3 de num >< q4 de num >

< ix de num >< iy de num >< iz de num >

Información relacionada

Descrita en:

Instrucciones de posicionamiento Resumen RAPID - Movimiento

Sistemas de coordenadas Principios de Movimiento y de E/S -Sistemas de coordenadas

Definición de la carga útil Instrucciones - Gripload 

Definición de la carga Tipos de datos - Load data

Page 95: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 95/671

Page 96: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 96/671

Tipos de Datos   tpnum

Tipos de Datos del Sistema y Rutinas 1-tpnum-93

tpnum Número de ventana dela Unidad de Programación

tpnum sirve para representar el número de ventana de la unidad de programación conuna constante simbólica.

Descripción

Una constante tpnum está destinada a ser utilizada en la instrucción TPShow. Véase elejemplo que se indica a continuación.

Ejemplo

TPShow TP_PROGRAM;

La Ventana de Producción estará activa si el sistema se encuentra en el modo AUTO y la Ventana de Programa estará activa si el sistema se encuentra en elmodo MAN , después de la ejecución de esta instrucción.

Datos predefinidos

Las constantes simbólicas que se indican a continuación del tipo de dato tpnum estánpredefinidas y pueden ser utilizadas en la instrucción TPShow:

Caracterí sticas

tpnum es un tipo de dato equivalente a num y por consiguiente tiene sus mismascaracterí sticas.

Valor Constante simbólica Comentario

1 TP_PROGRAM AUTO: Ventana de Producción

MAN: Ventana de Programa

2 TP_LATEST Ultima ventana utilizada en la unidad de

programación

3 TP_SCREENVIEWER La ventana Screen Viewer, si esta

opción está activada

Page 97: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 97/671

 tpnum Tipos de Datos

1-tpnum-94 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Tipos de datos en general,tipos de datos equivalentes Caracterí sticas Básicas - Tipos de Datos

Comunicación mediante la unidadde programación Resumen RAPID - Comunicación

Cambiar de ventana en la unidad deprogramación Instrucciones - TPShow

Page 98: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 98/671

Tipos de Datos   triggdata

Tipos de Datos del Sistema y Rutinas 1-triggdata-95

triggdata Eventos de posicionamiento - disparo

Triggdata sirve para almacenar datos referentes a un evento de posicionamientodurante un movimiento del robot.

Un evento de posicionamiento puede tomar la forma de la activación de una señal desalida o de la ejecución de una rutina de interrupción en una posición especí fica a lolargo de la trayectoria de movimiento del robot.

Descripción

Para definir las condiciones de las medidas respectivas en un evento de posiciona-

miento, se utilizan las variables del tipo triggdata. El contenido de los datos de la vari-able será formado en el programa utilizando una de las instrucciones TriggIO oTriggInt , y es utilizado por una de las instrucciones TriggL, TriggC  o TriggJ .

Ejemplo

VAR triggdata gunoff;

TriggIO gunoff, 5 \DOp:=gun, off;

TriggL p1, v500, gunoff, fine, gun1;

La señal de salida digital gun está activada en el valor off cuando el TCP está enuna posición de 5 mm antes del punto p1.

Caracterí sticas

Triggdata es un tipo de dato sin valor.

Información relacionada

Descrita en:

Definición de los disparos Instrucciones - TriggIO, TriggInt 

Uso de los disparos Instrucciones - TriggL, TriggC ,  TriggJ 

Caracterí sticas de tipos de datos sin valor Caracterí sticas Básicas - Tipos de Datos

Page 99: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 99/671

Page 100: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 100/671

Tipos de Datos   tunetype

Tipos de Datos del Sistema y Rutinas 1-tunetype-97

tunetype Tipo de ajuste servo

Tunetype sirve para representar un entero con una constante simbólica.

Descripción

La constante tunetype ha sido concebida para ser utilizada como un argumento para lainstrucción TuneServo. Véase el ejemplo siguiente.

Ejemplo

TuneServo MHA160R1, 1, 110 \Type:= TUNE_KP;

Datos predefinidos

Las siguientes constantes simbólicas del tipo de dato tunetype están predefinidas y seutilizarán como argumentos para la instrucción TuneServo.

Valor Constante simbólica Comentarios

0 TUNE_DF Reduce las oscilaciones

1 TUNE_KP Afecta la ganancia de control de posi-

ción

2 TUNE_KV Afecta la ganancia de control de veloci-

dad

3 TUNE_TI Afecta el tiempo de integración de con-

trol de la velocidad

4 TUNE_FRIC_LEV Afecta el nivel de compensación de la

fricción

5 TUNE_FRIC_RAMP Afecta la rampa de compensación de la

fricción

6 TUNE_DG Reduce las oscilaciones

7 TUNE_DH Reduce las vibraciones con cargas

pesadas

8 TUNE_DI Reduce loa errores de trayectoria

9 TUNE_DK Reservado para un uso ulterior

Page 101: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 101/671

Page 102: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 102/671

Tipos de Datos   wobjdata

Tipos de Datos del Sistema y Rutinas 1-wobjdata-99

wobjdata Datos del objeto de trabajo

Wobjdata se usa para describir el objeto de trabajo que el robot está soldando, proce-sando, moviendo, etc.

Descripción

Si los objetos de trabajo han sido definidos en una instrucción de posicionamiento, laposición estará basada en las coordenadas del objeto de trabajo. Las ventajas de elloson las siguientes:

- Si los datos de posición son introducidos de forma manual, como en la progra-

mación off-line, los valores podrán sacarse de un gráfico.- Los programas podrán ser reutilizados rápidamente siguiendo los cambios real-

izados en la instalación del robot. Así , por ejemplo, si se mueve una fijación,sólo se deberá volver a definir el sistema de coordenadas del usuario.

- Las variaciones respecto a la forma en que el objeto de trabajo está fijadopodrán ser compensadas. Para ello, sin embargo, se necesitará algún tipo desensor para posicionar el objeto de trabajo.

Si se utiliza una herramienta estacionaria o ejes externos coordinados, se deberá definirel objeto de trabajo, ya que la trayectoria y la velocidad se referirán al objeto de trabajoy no al TCP.

Los datos del objeto de trabajo podrán ser utilizados también para el movimiento:

- El robot podrá ser movido en las direcciones del objeto de trabajo.

- La posición utilizada que se visualiza está basada en el sistema de coordenadasdel objeto de trabajo.

Componentes

robhold (en el robot) Tipo de dato: bool

Define si el robot está sujetando o no el objeto de trabajo:

- TRUE -> El robot está sujetando el objeto de trabajo, es decir, que está uti-lizando una herramienta estacionaria.

- FALSE -> El robot no está sujetando el objeto de trabajo, es decir, que elrobot está sujetando la herramienta.

Page 103: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 103/671

wobjdata Tipos de Datos

1-wobjdata-100 Tipos de Datos del Sistema y Rutinas

ufprog (sistema de coordenadas del usuario/programada) Tipo de dato: bool

Define si se usa o no un sistema de coordenadas fijo del usuario:

- TRUE -> Sistema de coordenadas fijo del usuario.

- FALSE -> Sistema de coordenadas móvil del usuario, es decir, que se estánusando ejes externos coordinados.

ufmec (sistema de coordenadas de la unidad mecánica) Tipo de dato: string

La unidad mecánica con la que los movimientos del robot están coordinados.Sólo se especifica en el caso de sistemas de coordenadas móvil del usuario(ufprog es FALSE ).

Está especificado con el nombre con el que está definido en los parámetros delsistema, por ejemplo, "orbit_a".

uframe (sistema de coordenadas del usuario) Tipo de dato: pose

El sistema de coordenadas del usuario, es decir, la posición de la superficie de tra-bajo o el utillaje utilizados (véase la Figura 12):

- La posición del origen del sistema de coordenadas (x, y, z) en mm.

- La rotación del sistema de coordenadas, expresado como un cuaternio (q1, q2,q3, q4).

Si el robot está sujetando la herramienta, el sistema de coordenadas del usuario

será definido como sistema de coordenadas globales (como sistema de coordena-das de la muñeca si se usa una herramienta estacionaria).

Cuando se usan los ejes externos coordinados (ufprog es FALSE ), el sistema decoordenadas del usuario será definido en los parámetros del sistema.

oframe (sistema de coordenadas del objeto) Tipo de dato: pose

El sistema de coordenadas del objeto, es decir, la posición del objeto de trabajoutilizado (véase la Figura 12):

- La posición del origen del sistema de coordenadas (x, y, z) en mm.

- La rotación del sistema de coordenadas, expresado como un cuaternio (q1, q2,q3, q4).

El sistema de coordenadas del objeto está definido en el sistema de coordenadasdel usuario.

Page 104: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 104/671

Tipos de Datos   wobjdata

Tipos de Datos del Sistema y Rutinas 1-wobjdata-101

Figura 12 Los diferentes sistemas de coordenadas del robot (cuando el robot est á sujetando la her-ramienta).

Ejemplo

PERS wobjdata obj2 :=[ FALSE, TRUE, "", [ [300, 600, 200], [1, 0, 0 ,0] ],[ [0, 200, 30], [1, 0, 0 ,0] ] ];

El objeto de trabajo de la Figura 12 se describe utilizando los siguientes valores:

- El robot no está sujetando el objeto de trabajo.

- Se usa el sistema de coordenadas fijo del usuario.

- El sistema de coordenadas del usuario no ha sido girado y las coordenadas de suorigen están en x= 300, y = 600, z = 200 mm en el sistema de coordenadas delmundo.

- El sistema de coordenadas del objeto no ha sido girado y las coordenadas de suorigen están en x= 0, y= 200, z= 30 mm en el sistema de coordenadas del usuario.

obj2.oframe.trans.z := 38.3;

- La posición del objeto de trabajo obj2 está ajustada en 38,3 mm en la dirección z.

Limitaciones

Los datos del objeto de trabajo deberán definirse como una variable persistente (PERS)y no deberán definirse dentro de una rutina. Los valores utilizados serán entonces guarda-dos cuando el programa sea almacenado en un disquete y serán reutilizados al cargar denuevo el contenido del disquete.

El argumento del tipo datos de objeto de trabajo en cualquier instrucción de movimientodeberá ser un dato persistente entero (no un elemento matriz ni un componente de regis-tro).

Coordenadas de la herramienta

Coordenadas del

Coordenadas en la baseZ

Y

X

Coordenadas del mundo

Coordenadas del usuario

Z

Z

Y

Y

X

X

X

Y

ZZ

X

Y

TCP

objeto

Page 105: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 105/671

wobjdata Tipos de Datos

1-wobjdata-102 Tipos de Datos del Sistema y Rutinas

Datos predefinidos

Los datos del objeto de trabajo wobj0 deberán ser definidos de forma que el sistema decoordenadas del objeto coincida con el sistema de coordenadas mundo. El robot no

sujeta el objeto de trabajo.

Siempre se podrá acceder a Wobj0 desde el programa, pero nunca podrá ser cambiado(se encuentra almacenado en el módulo del sistema BASE ).

PERS wobjdata wobj0 := [ FALSE, TRUE, ““, [ [0, 0, 0], [1, 0, 0 ,0] ],[ [0, 0, 0], [1, 0, 0 ,0] ] ];

Estructura

< dataobject of  wobjdata >< robhold  of bool >< ufprog of bool>< ufmec of string >< uframe of pose >

< trans of pos >< x of num >< y of num >< z of num >

< rot  of orient  >< q1 of num >

< q2 of num >< q3 of num >< q4 of num >

< oframe of pose >< trans of pos >

< x of num >< y of num >< z of num >

< rot  of orient  >< q1 of num >< q2 of num >< q3 of num >< q4 of num >

Page 106: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 106/671

Page 107: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 107/671

wobjdata Tipos de Datos

1-wobjdata-104 Tipos de Datos del Sistema y Rutinas

Page 108: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 108/671

Tipos de Datos   wzstationary

Tipos de Datos del Sistema y Rutinas 1-wzstationary-105

wzstationary Datos de zona mundo estacionaria

wzstationary (world zone stationary) sirve para identificar una zona mundo estaciona-

ria y sólo podrá usarse en una rutina de evento conectada al evento POWER ON.

Una zona mundo es supervisada durante los movimientos del robot tanto durante laejecución del programa como durante el movimiento manual. Si el TCP del robotalcanza esta zona mundo, el movimiento es detenido o se producirá la activación o lareinicialización de una señal de salida digital.

Descripción

Una zona mundo wzstationary es definida y activada por las instrucciones WZLimSup 

o WZDOSet .

WZLimSup o WZDOSet  proporciona a la variable o persistente del tipo de dato wzsta-tionary un valor numérico. El valor identifica la zona mundo.

Una zona mundo estacionaria está siempre activa y sólo podrá ser eliminada por unarranque en caliente (desactivar y luego activar la alimentación del sistema o cambiarlos parámetros del sistema). No se podrá desactivar, activar o eliminar una zona mundoestacionaria mediante las instrucciones RAPID.

Las zonas mundo estacionarias deben estar activas a partir de la activación de la ali-mentación y deben definirse en una rutina de evento POWER ON o en una tarea semi-estática.

Ejemplo

VAR wzstationary conveyor;...PROC

VAR shapedata volume;...

WZBoxDef \Inside, volume, p_corner1, p_corner2;WZLimSup \Stat, conveyor, volume;ENDPROC

Un transportador es definido como un volumen en forma de caja rectangular (elvolumen debajo de la correa). Si el robot alcanza este volumen, el movimientoqueda detenido.

Limitaciones

Un dato wzstationary podrá ser definido como una variable (VAR) o como un dato per-sistente (PERS). Puede ser global en una tarea o local dentro de un módulo, pero nopodrá ser local dentro de una rutina.

Page 109: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 109/671

wzstationary Tipos de Datos

1-wzstationary-106 Tipos de Datos del Sistema y Rutinas

Los argumentos del tipo wzstationary sólo podrán ser datos enteros (no elementosmatriciales o componentes de registro).

Los valores init para datos del tipo wzstationary no son utilizados por el sistema de con-trol. Cuando se usa una variable persistente en un sistema de multitarea, se deberá acti-var el valor init en 0 en ambas tareas, por ejemplo, PERS wzstationary share_workarea:= [0];

Ejemplo

Para visualizar un ejemplo completo, referirse a la instrucción WZLimSup.

Caracterí sticas

wzstationary es un tipo de dato equivalente a wztemporary y por consiguiente se bene-ficia de las mismas caracterí sticas.

Información relacionada

Descrita en:

Zonas mundo Principios de movimiento yde E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Zona Mundo temporal Tipos de datos - wztemporary

Activación de la supervisión lí mite de lazona mundo Instrucciones - WZLimSup

Activación de una zona mundo paraactivar una salida digital Instrucciones - WZDOSet 

Page 110: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 110/671

Tipos de Datos   wztemporary

Tipos de Datos del Sistema y Rutinas 1-wztemporary-107

wztemporary Datos de zona mundo temporal

wztemporary (world zone temporary) sirve para identificar una zona mundo temporal

y puede usarse en cualquier parte dentro del programa RAPID para la tarea MAIN.

Una zona mundo es supervisada durante los movimientos del robot tanto durante laejecución del programa como durante el movimiento manual. Si el TCP del robotalcanza esta zona mundo, el movimiento es detenido o se producirá la activación o lareinicialización de una señal de salida digital.

Descripción

Una zona mundo wztemporary es definida y activada por la instrucción WZLimSup o

WZDOSet .

WZLimSup o WZDOSet  proporciona a la variable o persistente del tipo de dato wztem- porary un valor numérico. El valor identifica la zona mundo.

Una vez definida y activada, una zona mundo temporal podrá ser desactivada mediantela instrucción WZDisable, activada de nuevo mediante la instrucción WZEnable y eli-minada con la instrucción WZFree.

Todas las zonas mundo temporales de la tarea MAIN serán automáticamente elimina-das y todos los datos del tipo wztemporary de la tarea MAIN están puestos a 0:

- cuando se cargue un programa nuevo en la tarea MAIN

- cuando se inicie la ejecución del programa desde el principio en la tarea MAIN

Ejemplo

VAR wztemporary roll;...PROC ...

VAR shapedata volume;

CONST pos t_center := [1000, 1000, 1000];...WZCylDef \Inside, volume, t_center, 400, 1000;WZLimSup \Temp, roll, volume;

ENDPROC

Una variable wztemporary rodillo (que la aplicación acaba de introducir en elárea de trabajo) es definido como un volumen en forma de cilindro. Si el robotalcanza este volumen, el movimiento queda detenido.

Page 111: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 111/671

wztemporary Tipos de Datos

1-wztemporary-108 Tipos de Datos del Sistema y Rutinas

Limitaciones

Un dato wztemporary podrá ser definido como una variable (VAR) o como un dato per-sistente (PERS). Puede ser global en una tarea o local dentro de un módulo, pero no

podrá ser local dentro de una rutina.

Los argumentos del tipo wztemporary deberán ser únicamente datos enteros, no ele-mentos matriciales ni componentes de registro.

Las zonas mundo temporales sólo deberán ser definidas (instrucciones WZLimSup oWZDOSet ) y libres (WZFree) en la tarea MAIN. Las definiciones de zonas mundo tem-porales en segundo plano afectarán la ejecución del programa en la tarea MAIN. Lasinstrucciones WZDisable y WZEnable podrán utilizarse en la tarea de segundo plano.Si se requiere la utilización de una variable persistente en un sistema de multitarea, sedeberá activar el valor init en 0 en ambas tareas, por ejemplo, PERS wztemporary

share_workarea: = [0];

Ejemplo

Para la visualización de un ejemplo completo, referirse a la instrucción WZDOSet .

Estructura

<dataobject de wztemporary><wz de num>

Información relacionada

Descrita en:

Zonas mundo Principios de movimiento yde E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Zona mundo estacionaria Tipos de datos - wzstationary

Activación de la supervisión lí mite de lazona mundo Instrucciones - WZLimSup

Activación de una zona mundo paraactivar una salida digital Instrucciones - WZDOSet 

Desactivación de una zona mundo Instrucciones - WZDisable

Activación de una zona mundo Instrucciones - WZEnable

Eliminación de una zona mundo Instrucciones - WZFree

Page 112: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 112/671

Tipos de Datos   zonedata

Tipos de Datos del Sistema y Rutinas 1-zonedata-109

zonedata Datos de zona

 Zonedata sirve para especificar como debe terminar una posición, es decir, a qué dis-tancia de la posición programada deben encontrarse los ejes antes de moverse hacia laposición siguiente.

Descripción

Una posición puede terminar bajo la forma de un punto de paro o de un punto de paso.

Un punto de paro significa que tanto el robot como los ejes externos deben alcanzar laposición especificada (posición inmovilizada) antes de que la ejecución del programa

prosiga con la instrucción siguiente.

Un punto de paso significa que la posición programada nunca es alcanzada. En lugarde ello, la dirección del movimiento es cambiada antes de que se pueda alcanzar dichaposición. Para cada posición, se podrá definir dos zonas distintas (áreas):

- La zona de la trayectoria del TCP.

- La zona extendida de reorientación de la herramienta y de los ejes externos.

Figura 13 Las zonas para un punto de paso.

Las zonas funcionan de la misma manera durante el movimiento de los ejes, sinembargo, el tamaño de la zona puede diferir de algo respecto a la programada.

El tamaño de la zona nunca podrá ser mayor que la mitad de la distancia a la posiciónmás cercana (hacia adelante o hacia atrás). Si una zona mayor es especificada, el robotautomáticamente la reducirá.

La zona de la Posiciónprogramada

La zona extendida

trayectoria

Inicio de la trayectoria

Inicio de la reorientaciónhacia la posición siguiente

del TCP

esquina del TCP

Page 113: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 113/671

 zonedata Tipos de Datos

1-zonedata-110 Tipos de Datos del Sistema y Rutinas

 La zona para la trayectoria del TCP

Una trayectoria esquina (parabólica) es generada tan pronto como se alcanza elborde de la zona (véase la Figura 13).

 La zona para la reorientaci ó n de la herramienta

La reorientación se inicia en cuanto el TCP alcanza la zona extendida. La herra-mienta es reorientada de forma que la orientación sea la misma al abandonar lazona que si hubiera habido un punto de paro programado. La reorientación será más suave si se aumenta el tamaño de la zona y habrá menos riesgo de tener quereducir la velocidad para llevar a cabo la reorientación.

Figura 14 Tres posiciones han sido programadas; la última con una orientación de herramientadiferente.

Figura 15 Si todas las posiciones fueran puntos de paro, la ejecución del programa tendr í a esteaspecto.

Figura 16 Si la posición del medio fuera un punto de paso, la ejecución del programa tendr í aeste aspecto

 La zona para los ejes externos

Los ejes externos empiezan a moverse hacia la siguiente posición tan prontocomo el TCP alcanza la zona extendida. De esta forma, un eje lento puede iniciaruna aceleración en una etapa anterior y luego seguir ejecutando el programa deforma más regular.

 Zona reducida

Con mayores reorientaciones de la herramienta o con amplios movimientos delos ejes externos, la zona extendida e incluso la zona del TCP podrán ser reduci-

das por el robot. La zona será definida como el tamaño relativo más pequeño dela zona basándose en los componentes de zona (véase la página siguiente) y en elmovimiento programado.

Tamaño de la zona

Page 114: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 114/671

Page 115: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 115/671

 zonedata Tipos de Datos

1-zonedata-112 Tipos de Datos del Sistema y Rutinas

Componentes

finep (punto fino) Tipo de dato: bool

Define si el movimiento debe terminar como un punto de paro (punto fino) ocomo un punto de paso.

- TRUE -> El movimiento termina como un punto de paro.Los componentes restantes en los datos de zona no son utilizados.

- FALSE -> El movimiento termina como un punto de paso.

pzone_tcp  (zona de la trayectoria TCP) Tipo de dato: num

El tamaño (el radio) de la zona del TCP en mm.

La zona extendida será definida como el tamaño relativo más pequeño de la zonabasado en los siguientes componentes y en el movimiento programado.

pzone_ori (zona de la trayectoria de la orientación) Tipo de dato: num

El tamaño de la zona (el radio) para la reorientación de la herramienta. El tamañose definirá como siendo la distancia del TCP a partir del punto programado, enmm.

El tamaño deberá ser mayor que el valor correspondiente de pzone_tcp. Si seespecifica un valor más bajo, el tamaño de la zona aumentará automáticamentede acuerdo con pzone_tcp.

pzone_eax (zona de la trayectoria de los ejes externos) Tipo de dato: num

El tamaño de la zona (el radio) para los ejes externos. El tamaño se definirá comosiendo la distancia del TCP a partir del punto programado, en mm.

El tamaño deberá ser mayor que el valor correspondiente de pzone_tcp. Si seespecifica un valor más bajo, el tamaño de la zona aumentará automáticamentede acuerdo con pzone_tcp.

zone_ori  (zona de la orientación) Tipo de dato: num

El tamaño de la zona para la reorientación de la herramienta en grados. Si el robotestá sujetando el objeto de trabajo, esto representará un ángulo de rotación delobjeto de trabajo.

zone_leax  (zona de los ejes externos lineales) Tipo de dato: num

El tamaño de la zona para los ejes externos lineales en mm.

zone_reax  (zona de los ejes externos rotativos) Tipo de dato: num

El tamaño de zona para los ejes externos rotativos en grados.

Page 116: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 116/671

Page 117: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 117/671

Page 118: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 118/671

Tipos de Datos   zonedata

Tipos de Datos del Sistema y Rutinas 1-zonedata-115

Información relacionada

Descrita en:

Instrucciones de posicionamiento Resumen RAPID - MovimientoMovimientos/Trayectorias en general Principios de Movimiento y de E/S -

Posicionamiento durante la Ejecucióndel Programa

Configuración de los ejes externos Guí a del Usuario - Par ámetros delSistema

Page 119: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 119/671

 zonedata Tipos de Datos

1-zonedata-116 Tipos de Datos del Sistema y Rutinas

Page 120: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 120/671

Page 121: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 121/671

2-118 Tipos de Datos del Sistema y Rutinas

 Instrucciones

IEnable Habilitación de las interrupciones

Compact IF Si se cumple una condición, entonces... (una instrucción)

IF Si se cumple una condición, entonces...; si no...

Incr Incremento de 1

InvertDO Inversión del valor de una señal de salida digital

IODisable Inhabilitar la unidad de E/S

IOEnable Habilitar la unidad de E/S

ISignalAI Orden de interrupción a partirde una señal de entrada analógica

ISignalAO Orden de interrupción a partir

de una señal de salida analógicaISignalDI Orden de interrupción a partir

de una señal de entrada digital

ISignalDO Orden de interrupción a partirde una señal de salida digital

ISleep Desactivación de una interrupción

ITimer Ordena una interrupción temporizada

IVarValue Ordena una interrupciónde un valor de variable

IWatch Activación de una interrupción

label Nombre de lí nea

Load Cargar un módulo de programadurante la ejecución

MechUnitLoad Definición de una carga útilpara una unidad mecánica

MoveAbsJ Movimiento del robot a una posiciónde ejes absoluta

MoveC Movimiento circular del robot

MoveJ Movimiento eje a eje del robot

MoveL Movimiento lineal del robot

MoveCDO Movimiento circular del roboty activación de una salida digital en la esquina

MoveJDO Movimiento eje a eje del roboty activación de una salida digital en la esquina

MoveLDO Movimiento lineal del roboty activación de una salida digital en la esquina

MoveCSync Movimiento circular del roboty ejecución de un proceso RAPID

MoveJSync Movimiento eje a eje del roboty ejecución de un proceso RAPID

Page 122: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 122/671

Page 123: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 123/671

2-120 Tipos de Datos del Sistema y Rutinas

 Instrucciones

StopMove Paro del movimiento del robot

StorePath Almacenamiento de una trayectoriacuando se produce una interrupción

TEST Dependiendo del valor de una expresión...

TestSign Salida de señales de test

TPErase Borrado del texto impreso en launidad de programación

TPReadFK Lectura de las teclas de función

TPReadNum Lectura de un número enla unidad de programación

TPShow Cambio de ventana de

la unidad de programación

TPWrite Escritura en la unidadde programación

TriggC Movimiento circular del robotcon eventos

TriggEquip Definición de un evento de E/Sde tiempo-posición fijas

TriggInt Definición de una interrupciónrelativa a una posición

TriggIO Definición de un evento de E/S

de posición fija

TriggJ Movimientos de los ejes del robotcon eventos

TriggL Movimientos lineales del robotcon eventos

TRYNEXT Salto de una instrucción que ha causadoun error

TuneReset Reinicialización del ajustedel servo

TuneServo Ajuste de los servos

UnLoad Descarga de un módulo de programadurante la ejecución

WaitDI Espera hasta la activación de una señalde entrada digital

WaitDO Espera hasta la activación de una señalde salida digital

VelSet Cambio de la velocidad programada

WHILE Repetición de una instrucción mientras...

Write Escritura en un archivo basado en caracteres

o en un canal serie

Page 124: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 124/671

 Instrucciones

Tipos de Datos del Sistema y Rutinas 2-121

WriteAnyBin Escribir datos en un canalserie o en un archivo binarios

WriteBin Escritura en un canal serie binario

WriteStrBin Escritura de una cadena en uncanal serie binario

WaitTime Espera durante un tiempo especificado

WaitUntil Esperar hasta el cumplimientode una condición

WZBoxDef Definición de una zona mundoen forma de caja rectangular

WZCylDef Definición de una zona mundoen forma de cilindro

WZDisable Desactivación de la supervisiónde la zona mundo temporal

WZDOSet Activación de la zona mundopara activar una salida digital

WZEnable Activación de la supervisiónde una zona mundo temporal

WZFree Borrado de la supervisiónde la zona mundo temporal

WZLimSup Activación de la supervisión

del lí mite de la zona mundoWZSphDef Definición de una zona mundo

en forma de esfera

Page 125: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 125/671

2-122 Tipos de Datos del Sistema y Rutinas

 Instrucciones

Page 126: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 126/671

Page 127: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 127/671

“ :=”   Instrucciones

2-“:=”-124 Tipos de Datos del Sistema y Rutinas

Limitaciones

El dato (cuyo valor debe ser cambiado) no debe 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)

<assignment target> ’:=’ <expresión> ’;’

<assignment target> ::=<variable>|<persistente>|<DOB>

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 yPruebas

Page 128: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 128/671

 Instrucciones   AccSet

Tipos de Datos del Sistema y Rutinas 2-AccSet-125

AccSet Reducción de la aceleración

 AccSet  sirve cuando se manipulan cargas frágiles. Permite aceleraciones y decelera-

ciones más lentas, para la realización de movimientos más suaves del robot.

Ejemplos

AccSet 50, 100;

La aceleración está limitada al 50% del valor normal.

AccSet 100, 50;

La rampa de aceleración está limitada al 50% del valor normal.

Argumentos

AccSet Acc Rampa

Acc Tipo de dato: num

La aceleración y deceleración como un porcentaje de los valores normales.El 100% corresponde a la aceleración máxima. Valor máximo: 100%.Un valor de entrada < 20% da el 20% de aceleración máxima.

Rampa Tipo de dato: num

El coeficiente con el que la aceleración y deceleración aumenta como porcentajede los valores normales (véase la Figura 18). Los impulsos del movimientopodrán reducirse disminuyendo este valor.El 100% corresponde al coeficiente máximo. Valor máximo: 100%.Un valor de entrada < 10% da el 10% de la aceleración máxima.

Figura 18 La reducción de la aceleración origina movimientos más suaves.

Aceleración

Tiempo

 AccSet 30, 100

Aceleración

Tiempo

 AccSet 100, 30

Aceleración

Tiempo

 AccSet 100, 100, es decir, una aceleración normal

Page 129: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 129/671

 AccSet  Instrucciones

2-AccSet-126 Tipos de Datos del Sistema y Rutinas

Ejecución del Programa

La aceleración se aplica tanto al robot como a los ejes externos hasta que se haya eje-cutado una nueva instrucción AccSet. 

Los valores por defecto (100%) se activan automáticamente

- a la puesta en marcha en frí o

- cuando se carga un programa nuevo

- cuando se ejecuta la primera instrucción del programa.

Sintaxis

AccSet[ Acc ’:=’ ] < expression (IN) of num > ’,’ [ Rampa ’:=’ ] < expression (IN) of num > ’;’

Información relacionada

Descrita en:

Instrucciones de posicionamiento Resumen RAPID - Movimiento

Page 130: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 130/671

 Instrucciones   ActUnit

Tipos de Datos del Sistema y Rutinas 2-ActUnit-127

ActUnit Activación de una unidad mecánica

 ActUnit sirve para activar una unidad mecánica.

Puede utilizarse para determinar la unidad que debe estar activada, por ejemplo,cuando se utilizan unidades de accionamiento comunes.

Ejemplo

ActUnit orbit_a;

Activación de la unidad mecánica orbit_a. 

Argumentos

ActUnit MecUnit

MecUnit  (Unidad Mecánica) Tipo de dato: mecunit 

El nombre de la unidad mecánica que debe ser activada.

Ejecución del programa

Cuando el robot y los ejes externos están inmovilizados, la unidad mecánica especifi-cada será activada. Ello significa que será controlada y monitorizada por el robot.

En el caso en que varias unidades mecánicas compartan una misma unidad deaccionamiento, la activación de una de estas unidades mecánicas conectará tambiénesta unidad a la unidad de accionamiento común.

Limitaciones

La instrucción ActUnit no podrá utilizarse en:

- la secuencia de programa StorePath ... RestoPath

- rutina de evento REARRANQUE

La instrucción de movimiento anterior a esta instrucción deberá terminar con un puntode paro para que en esta instrucción sea posible realizar un rearranque después de uncorte de potencia.

Page 131: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 131/671

 ActUnit  Instrucciones

2-ActUnit-128 Tipos de Datos del Sistema y Rutinas

Sintaxis

ActUnit[MecUnit ’:=’ ] < variable (VAR) of 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 

Page 132: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 132/671

Page 133: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 133/671

 Add   Instrucciones

2-Add-130 Tipos de Datos del Sistema y Rutinas

Page 134: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 134/671

Page 135: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 135/671

 AliasIO  Instrucciones

2-AliasIO-132 Tipos de Datos del Sistema y Rutinas

ASeñal Tipo de dato: signalxx

Es el identificador de la señal de acuerdo con el programa (tipo de dato signalxx)al que es copiado el descriptor de la señal. La señal debe estar declarada en el pro-grama RAPID.

El mismo tipo de dato podrá ser utilizado (o encontrado) para los argumentos Des-deSeñal y ASeñal y deberá ser uno de los siguientes tipos signalxx (signalai, signalao,signaldi, signaldo, signalgi o signalgo).

Ejecución del programa

El valor del descriptor de la señal es copiado a partir de la señal dada en el argumento DesdeSeñal a la señal dada en el argumento ASeñal.

Ejemplo 2

VAR signaldi alias_di;

PROC prog_start()CONST string config_string := "config_di";AliasIO config_string, alias_di;

ENDPROC

La rutina prog_start está conectada al evento de arranque START en losparáametros del sistema. La señal de salida digital del programa definida alias_di está conectada a la señal de salida digital configurada config_di (a través de laconstante config_string) en el momento del arranque del programa (arrancar elprograma desde el principio).

Limitación

Cuando se arranca el programa, la señal equivalente (alias) no podrá ser utilizada hastaque la instrucción AliasIO haya sido ejecutada.

La instrucción AliasIO deberá estar colocada en: 

- una rutina de evento ejecutada al arranque del programa (evento de arranqueSTART) o

- una sección del programa ejecutada después de cada arranque de programa(antes de utilizar la señal)

La instrucción equivalente AliasIO no está disponible para la programación a partir dela unidad de programación (sólo a partir de Program Maker). Se requiere la opción

 Developer ’s Functions.

Page 136: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 136/671

 Instrucciones   AliasIO

Tipos de Datos del Sistema y Rutinas 2-AliasIO-133

Sintaxis

AliasIO[ DesdeSeñal ’:=’ ] < referencia (REF) de anytype> ’,’[ ASeñal ’:=’ ] < variable (VAR) de anytype> ’;’

Información relacionada

Descrita en:

Instrucciones de Entrada/Salida Resumen RAPID -Señales de Entrada y Salida

Funcionalidad de Entrada/Salida en general Principios de Movimiento y de E/S -Principios de E/S

Configuración de E/S Guí a del Usuario - Parámetros del Sis-tema

Definición de rutinas de evento Guí a del Usuario - Parámetros del Sis-tema

Módulos de tarea cargados/incorporados Guí a del Usuario - Parámetros del Sis-tema

Page 137: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 137/671

 AliasIO  Instrucciones

2-AliasIO-134 Tipos de Datos del Sistema y Rutinas

Page 138: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 138/671

 Instrucciones   Break

Tipos de Datos del Sistema y Rutinas 2-Break-135

Break Interrupción de la ejecución del programa

 Break sirve para realizar una interrupción inmediata en la ejecución del programa para

propósitos de detección y eliminación de los códigos de error del programa RAPID.

Ejemplo

..Break;...

La ejecución del programa se detiene y entonces es posible realizar un análisisde las variables, valores, etc.. para propósitos de detección y eliminación de

errores.

Ejecución del programa

La instrucción detiene la ejecución del programa inmediatamente, sin esperar que elrobot y los ejes externos hayan alcanzado su punto de destino programado del mov-imiento que se está realizando en este momento. La ejecución del programa podrá entonces ser rearrancada a partir de la instrucción siguiente.

En el caso de haber una instrucción Break  en alguna rutina de evento, la rutina será eje-

cutada a partir del principio del evento siguiente.

Sintaxis

Break ’;’

Información relacionada

Descrita en:

Paro de la actividad del programa Instrucciones - Stop

Paro después de un error fatal Instrucciones - EXIT 

Terminar la ejecución del programa Instrucciones - EXIT 

Sólo detener los movimientos del robot Instrucciones - StopMove

Page 139: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 139/671

 Break  Instrucciones

2-Break-136 Tipos de Datos del Sistema y Rutinas

Page 140: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 140/671

 Instrucciones   ProcCall 

Tipos de Datos del Sistema y Rutinas 2-ProcCall-137

ProcCall Llamada de un procedimiento nuevo

Una llamada procedimiento sirve para transferir la ejecución del programa a otro pro-

cedimiento. Cuando el procedimiento ha sido ejecutado completamente, la ejecucióndel programa continua con la instrucción que sigue la llamada de procedimiento.

Normalmente se puede enviar una serie de argumentos al procedimiento nuevo. Estostendrán por misión controlar el comportamiento del procedimiento y hacer que seaposible utilizar el mismo procedimiento para diferentes utilidades.

Ejemplos

weldpipe1;

Llamada del procedimiento weldpipe1.

errormessage;Set do1;

.

PROC errormessage()TPWrite "ERROR";

ENDPROC

El procedimiento errormessage será llamado. Cuando este procedimiento esté 

listo, la ejecución del programa regresará a la intrucción que sigue la llamada deprocedimiento, Set do1.

Argumentos

Procedure { Argument }

Procedure Identificador

El nombre del procedimiento que se desea llamar.

Argument Tipo de dato: De acuerdocon la declaración de proce-dimiento

Los argumentos del procedimiento (de acuerdo con los parámetros del proce-dimiento).

Page 141: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 141/671

 ProcCall   Instrucciones

2-ProcCall-138 Tipos de Datos del Sistema y Rutinas

Ejemplo

weldpipe2 10, lowspeed;

Llamará al procedimineto weldpipe2, incluyendo dos argumentos.

weldpipe3 10 \ speed:=20;

Llamará al procedimiento weldpipe3, incluyendo un argumento obligatorio yotro opcional.

Limitaciones

Los argumentos del procedimiento deben coincidir con sus parámetros:

- Todos los argumentos obligatorios deberán ser incluidos.

- Deberán ser colocados siguiendo el mismo orden.

- Deberán ser del mismo tipo de dato.

- Deberán ser del tipo correcto en relación al modo de acceso (entrada, varible opersistente).

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 argumento> ] ’;’

<procedimiento> ::= <identificador>

Información relacionada

Descrita en:

Argumentos, parámetros Caracterí sticas Básicas - Rutinas

Más ejemplos Ejemplos

Page 142: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 142/671

 Instrucciones   CallByVar

Tipos de Datos del Sistema y Rutinas 2-CallByVar-139

CallByVar Llamada de un procedimientomediante una variable

CallByVar  (Call By Variable) sirve para llamar procedimientos con nombres especí fi-cos, por ejemplo, proc_name1, proc_name2, proc_name3 ... proc_namex mediante unavariable.

Ejemplo

reg1 := 2;CallByVar “proc”, reg1;

El procedimiento proc2 es llamado.

Argumentos

CallByVar Nombre Número

Nombre Tipo de dato: string

Es la primera parte del nombre del procedimiento, por ejemplo, proc_name.

Número Tipo de dato: num

Es el valor numérico del número del procedimiento. Este valor será convertidoen una cadena y producirá la segunda parte del nombre del procedimiento, porejemplo, 1. El valor deberá ser un número entero positivo.

Ejemplo

Selección estática de una llamada de procedimiento

TEST reg1CASE 1:lf_door door_loc;

CASE 2:rf_door door_loc;

CASE 3:lr_door door_loc;

CASE 4:rr_door door_loc;

DEFAULT:EXIT;

ENDTEST

Page 143: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 143/671

CallByVar  Instrucciones

2-CallByVar-140 Tipos de Datos del Sistema y Rutinas

Dependiendo de si el valor del registro reg1 es 1, 2, 3 o 4, diferentes procedimien-tos serán llamados para realizar el tipo de trabajo apropiado para la puerta selec-cionada. La situación de la puerta se encuentra en el argumento door_loc.

Selección dinámica de la llamada de procedimiento con una sintaxis en RAPID

reg1 := 2;%”proc”+NumToStr(reg1,0)% door_loc;

El procedimiento proc2 es llamado con el argumento door_loc.

Limitación: Todos los procedimientos deben tener un nombre especí fico, porejemplo, proc1, proc2, proc3.

Selección dinámica de la llamada de procedimiento con CallByVar

reg1 := 2;CallByVar “proc”,reg1;

El procedimiento proc2 es llamado.

Limitación: Todos los procedimientos deben tener un nombre especí fico, porejemplo, proc1, proc2, proc3, y no se podrán utilizar argumentos.

Limitaciones

Sólo puede utilizarse para llamar procedimientos sin parámetros.

La ejecución de CallByVar es un poco más larga en tiempo que la ejecución de una lla-mada normal de procedimiento.

Gestión de errores

En caso de producirse una referencia a un procedimiento desconocido, la variable delsistema ERRNO se activará en ERR_REFUNKPRC.

En caso de producirse un error de llamada a un procedimiento, la variable del sistemaERRNO se activará en ERR_CALLPROC.

Estos errores pueden ser procesados en el gestor de errores.

Sintaxis

CallByVar[Name ‘:=’] <expresión (IN) de string>’,’[Number ‘:=‘] <expresión (IN) de num>’;’

Page 144: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 144/671

 Instrucciones   CallByVar

Tipos de Datos del Sistema y Rutinas 2-CallByVar-141

Información relacionada

Descrita en:

Llamada de procedimientos Caracterí sticas Básicas - RutinasGuí a del Usuario - El lenguaje de pro-gramación RAPID

Page 145: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 145/671

CallByVar  Instrucciones

2-CallByVar-142 Tipos de Datos del Sistema y Rutinas

Page 146: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 146/671

 Instrucciones   Clear

Tipos de Datos del Sistema y Rutinas 2-Clear-143

Clear Borrado de un valor

Clear sirve para inicializar una variable o persistente numérica, es decir, activarlas en

el valor 0.

Ejemplo

Clear reg1;

El valor de Reg1 queda eliminado, es decir que, reg1:=0.

Argumentos

Clear Nombre

Nombre Tipo de dato: num

El nombre de la variable o persistente que se desea eliminar.

Sintaxis

Clear[ Nombre ’:=’ ] < variable o persistente (INOUT) de num > ’;’

Información relacionada

Descrita en:

Incrementar la variable de 1 Instrucciones - Incr 

Disminuir la variable de 1 Instrucciones - Decr 

Page 147: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 147/671

Clear  Instrucciones

2-Clear-144 Tipos de Datos del Sistema y Rutinas

Page 148: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 148/671

 Instrucciones   ClkReset

Tipos de Datos del Sistema y Rutinas 2-ClkReset-145

ClkReset Puesta a cero de un reloj para el cronometraje

ClkReset sirve para poner a cero un reloj que funciona como un cronómetro.

Esta instrucción puede utilizarse antes de usar un reloj, para asegurarse de que está a 0.

Ejemplo

ClkReset reloj1;

El reloj reloj1 será puesto a cero.

Argumentos

ClkReset Reloj

Reloj Tipo de dato: reloj

El nombre del reloj que se desea reinicializar.

Ejecución del programa

Cuando se reinicializa un reloj, éste se pondrá a 0.

Si el reloj está funcionando, se parará y luego se reinicializará.

Sintaxis

ClkReset[ Reloj ’:=’ ] < variable (VAR) de reloj > ’;’

Información Relacionada

Descrita en:

Otras instrucciones de reloj Resumen RAPID - Sistema y Hora

Page 149: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 149/671

ClkReset  Instrucciones

2-ClkReset-146 Tipos de Datos del Sistema y Rutinas

Page 150: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 150/671

 Instrucciones   ClkStart

Tipos de Datos del Sistema y Rutinas 2-ClkStart-147

ClkStart Arranque de un reloj para el cronometraje

ClkStart sirve para arrancar un reloj que funciona como un cronómetro.

Ejemplo

ClkStart reloj1;

El reloj reloj1 será arrancado.

Argumentos

ClkStart Reloj

Reloj Tipo de dato: reloj

El nombre del reloj que se desea arrancar.

Ejecución del programa

Cuando se arranca un reloj, seguirá funcionando y contando los segundos hasta que sea

detenido.

Cuando la ejecución del programa se para, el reloj sigue funcionando. Sin embargo, elacontecimiento que se deseaba cronometrar puede ya no ser válido. Por ejemplo, si elprograma estaba cronometrando el tiempo de espera de una entrada, puede ocurrir quela entrada haya sido recibida mientras el programa estaba detenido. En este caso, elprograma no será capaz de “ver” el acontecimiento que ocurrió mientras el programaestaba parado.

El reloj seguirá funcionando cuando se corte el suministro de potencia siempre ycuando el sistema de alimentación de baterí as de seguridad mantenga el programa quecontiene la variable del reloj.

Cuando el reloj está funcionando, podrá ser leí do, parado o reinicializado.

Page 151: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 151/671

ClkStart  Instrucciones

2-ClkStart-148 Tipos de Datos del Sistema y Rutinas

Ejemplo

VAR reloj reloj2;

ClkReset reloj2;ClkStart reloj2;WaitUntil DInput(di1) = 1;ClkStop reloj2;time:=ClkRead(reloj2);

El tiempo de espera que di1 tardará para pasar a 1 está siendo cronometrado.

Sintaxis

ClkStart[ Reloj ’:=’ ] < variable (VAR) de reloj > ’;’

Información Relacionada

Descrita en:

Otras instrucciones de reloj Resumen RAPID - Sistema y Hora

Page 152: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 152/671

 Instrucciones   ClkStop

Tipos de Datos del Sistema y Rutinas 2-ClkStop-149

ClkStop Paro de un reloj de cronometraje

ClkStop sirve para parar un reloj que funciona como cronómetro.

Ejemplo

ClkStop reloj1;

El reloj reloj1 será parado.

Argumentos

ClkStop Reloj

Reloj Tipo de dato: reloj

El nombre del reloj que se desea parar.

Ejecución del programa

Cuando se para un reloj, éste dejará de funcionar.

Si se para un reloj, podrá ser leí do, arrancado de nuevo o reinicializado.

Sintaxis

ClkStop[ Reloj ’:=’ ] < variable (VAR) de reloj > ’;’

Información Relacionada

Descrita en:

Otras instrucciones de reloj Resumen RAPID - Sistema y Hora

Más ejemplos Instrucciones - ClkStart 

Page 153: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 153/671

ClkStop  Instrucciones

2-ClkStop-150 Tipos de Datos del Sistema y Rutinas

Page 154: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 154/671

 Instrucciones   Close

Tipos de Datos del Sistema y Rutinas 2-Close-151

Close Cerrar un archivo o un canal serie

Close sirve para cerrar un archivo o un canal serie.

Ejemplo

Close canal2;

El canal serie denominado canal2 será cerrado.

Argumentos

Close DispositivoE/S

DispositivoE/S Tipo de dato: iodev

El nombre (referencia) del archivo o del canal serie que se desea cerrar.

Ejecución del programa

El archivo o canal serie especificado será cerrado y por lo tanto para realizar una lec-

tura o escritura, deberá volver a abrirse. Si el archivo o canal serie ya está cerrado, elsistema ignorará la instrucción.

Sintaxis

Close[DispositivoE/S ’:=’] <variable (VAR) de iodev>’;’

Información Relacionada

Descrita en:

Abrir un archivo o un canal serie Resumen RAPID - Comunicación

Page 155: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 155/671

Close  Instrucciones

2-Close-152 Tipos de Datos del Sistema y Rutinas

Page 156: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 156/671

Page 157: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 157/671

 comment  Instrucciones

2-comment-154 Tipos de Datos del Sistema y Rutinas

Page 158: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 158/671

Page 159: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 159/671

ConfJ   Instrucciones

2-ConfJ-156 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

Si se selecciona el argumento \On (o ningún argumento) el robot siempre se mueve ala configuración de ejes programada. Si esto no es posible utilizando la posición y la

orientación programadas, la ejecución del programa se detiene antes de que se inicie elmovimiento.

Si se selecciona el argumento \Off , el robot siempre se moverá a la configuración deejes más cercana. Esta puede ser distinta de la programada si la configuración ha sidoespecificada de forma incorrecta manualmente o si se ha realizado un desplazamientodel programa.

El control de la configuración se activará por defecto, es decir que se activa automáti-camente:

- a la puesta en marcha- cuando se carga un programa nuevo

- cuando se arranca la ejecución del programa desde el principio.

Sintaxis

ConfJ[ ’ \ ’ On] | [ ’ \ ’ Off] ’;’

Información relacionada

Descrita en:

Manipulación de las distintas configuraciones Principios de Movimiento -Configuración del Robot 

Configuración del robot en el movimiento Instrucciones - ConfLlineal

Page 160: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 160/671

Page 161: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 161/671

ConfL  Instrucciones

2-ConfL-158 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

Durante un movimiento lineal o circular, el robot siempre se mueve a la posición pro-gramada y a la orientación que tenga la configuración de ejes más cercana. En el caso

en que se seleccione el argumento \On (o ningún argumento) entonces la ejecución delprograma se detiene en cuanto:

- la configuración de la posición programada no es alcanzada a partir de laposición actual.

- la orientación necesaria de cualquier eje de la muñeca para alcanzar la posiciónprogramada a partir de la posición actual, exceda un lí mite (140-180 grados).

No obstante se podrá volver a arrancar el programa, incluso si los ejes de la muñecacontinuan hacia una configuración incorrecta. En un punto de paro, el robot realizará una comprobación de que todas las configuraciones de los ejes hayan sido respetadas,

no sólo los ejes de la muñeca.

En el caso en que también se utilice SingArea\Wrist, el robot siempre se moverá a laconfiguración programada de los ejes de la muñeca y las demás configuraciones de losejes restantes serán comprobadas por el robot en un punto de paro.

En el caso en que se seleccione el argumento \Off , no habrá ninguna monitorización dela configuración.

La monitorización está activada por defecto. Se activa automáticamente:

- a la puesta en marcha

- cuando se carga un programa nuevo

- cuando se ejecuta la primera instrucción en el programa

Sintaxis

ConfL[ ’ \ ’ On] | [ ’ \ ’ Off] ’;’

Información relacionada

Descrita en:

Manipulación de distintas configuraciones Principios de Movimiento y de E/S -Configuración del Robot

Configuración del robot durante un Instrucciones - ConfJ movimiento eje a eje

Page 162: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 162/671

 Instrucciones   CONNECT 

Tipos de Datos del Sistema y Rutinas 2-CONNECT-159

CONNECT Conexión de una interrupción a una rutinade tratamiento de interrupciones

CONNECT sirve para encontrar la identificación de una interrupción y conectarla auna rutina de tratamiento de interrupciones.

La interrupción es definida ordenando un evento de interrupción y especificando suidentificación. Así , cuando ocurre el evento, la rutina de tratamiento de interrupcionesse ejecuta automáticamente.

Ejemplo

VAR intnum aliment_bajo;CONNECT aliment_bajo WITH aliment_vací o;ISignalDI di1, 1 , aliment_bajo;

La identificación de interrupción aliment_bajo es creada y es conectada a larutina de tratamiento de interrupciones aliment_vacio. La interrupción ha sidodefinida como entrada di1 se est á activando. En otras palabras, cuando estaseñal se activa, la rutina de tratamiento de interrupción aliment_vacio se ejecuta.

Argumentos

CONNECT Interrupción WITH Rutina tratamiento interrup

Interrupción Tipo de dato: intnum

La variable que debe ser asignada a la identificación de la interrupción.Esto no deberá ser declarado dentro de una rutina (datos de rutina).

Rutina tratamiento interrup Identificador

El nombre de la rutina de tratamiento de interrupciones.

Ejecución del programa

La variable tiene asignada una identificación de interrupción que podrá ser utilizadaposteriormente al ordenar o inhabilitar las interrupciones. Esta identificación está tam-bién conectada a la rutina de tratamiento de interrupciones especificada.

Observar que antes de poder procesar un evento, se deberá ordenar una interrupción,es decir que el evento deberá ser especificado.

Page 163: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 163/671

CONNECT   Instrucciones

2-CONNECT-160 Tipos de Datos del Sistema y Rutinas

Limitaciones

Una interrupción (identificación de interrupción) no podrá estar nunca conectada a másde una rutina de tratamiento de interrupciones. No obstante, diferentes interrupciones

podrán ser conectadas a la misma rutina de tratamiento de interrupciones.

Cuando se ha conectado una interrupción a una rutina de tratamiento de interrupciones,no se podrá transferir o volver a conectar dicha interrupción a otra rutina; deberá prim-ero ser borrada mediante la instrucción IDelete.

Gestión de errores

En el caso en que la variable de interrupción esté ya conectada a una rutina de trata-miento de interrupciones, la variable del sistema ERRNO se activará enERR_ALRDYCNT.

En el caso en que la variable de interrupción no sea una referencia de variable, la vari-able del sistema ERRNO se activará en ERR_CNTNOTVAR.

En el caso en que ya no hayan números de interrupción disponibles, la variable delsistema ERRNO se activará ERR_INOMAX.

Estos errores pueden ser manipulados en el gestor de errores.

Sintaxis

(EBNF)

CONNECT <elemento conexión> WITH <trap>‘;’

<elemento conexión> ::= <variable>| <parámetro>| <VAR>

<trap> ::= <identificador>

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - Interrupciones

Más información sobre la manipulación de Caracterí sticas Básicas- Interrupcio-las interrupciones nes

Page 164: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 164/671

 Instrucciones   DeactUnit

Tipos de Datos del Sistema y Rutinas 2-DeactUnit-161

DeactUnit Desactivación de una unidad mecánica

 DeactUnit  sirve para desactivar una unidad mecánica.

Puede utilizarse para determinar la unidad que debe estar activada, por ejemplo,cuando se usan unidades de accionamiento comunes.

Ejemplos

DeactUnit orbit_a;

Desactivación de la unidad mecánica orbit_a. 

MoveL p10, v100, fine, herram1;DeactUnit transportador;MoveL p20, v100, z10, herram1;MoveL p30, v100, fine, herram1;ActUnit transportador;MoveL p40, v100, z10, herram1;

La unidad transportador  estará estacionaria cuando el robot se mueva a laposición p20 y p30. Después de esto, tanto el robot como el transportador  semoverán a la posición p40.

MoveL p10, v100, fine, herram1;

DeactUnit orbit1;ActUnit orbit2;MoveL p20, v100, z10, herram1;

La unidad orbit1 será desactivada y la unidad orbit2 activada.

Argumentos

DeactUnit MecUnit

MecUnit  (Unidad Mecánica) Tipo de dato: mecunit 

El nombre de la unidad mecánica que deberá ser desactivada.

Ejecución del programa

Cuando el robot y los ejes externos se hayan inmovilizado, la unidad mecánica espe-cificada será desactivada. Esto significa que no será controlada ni monitorizada hastaque se vuelva a activar.

En el caso en que varias unidades mecánicas compartan una misma unidad de accio-

namiento, la desactivación de una de las unidades mecánicas desconectará tambiénesta unidad de la unidad de accionamiento común.

Page 165: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 165/671

Page 166: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 166/671

 Instrucciones   Decr

Tipos de Datos del Sistema y Rutinas 2-Decr-163

Decr Disminución de 1

 Decr sirve para restar 1 de una variable o persistente numérica.

Ejemplo

Decr reg1;

1 será restado de reg1, es decir, reg1:=reg1-1.

Argumentos

Decr Name

Name Tipo de dato: num

El nombre de la variable o persistente que se desea disminuir.

Ejemplo

TPReadNum num_part, "Cuántas piezas deben ser procesadas? ";

WHILE num_part>0 DOpart_produc;dec_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[ Name ’:=’ ] < variable o persistente (INOUT) de num > ’;’

Page 167: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 167/671

 Decr  Instrucciones

2-Decr-164 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Incrementar una variable de 1 Instrucciones - Incr Restar cualquier valor de una variable Instrucciones - Add 

Cambio de datos utilizando una expresión Instrucciones - :=arbitraria, por ejemplo, multiplicación

Page 168: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 168/671

 Instrucciones   EOffsOff 

Tipos de Datos del Sistema y Rutinas 2-EOffsOff-165

EOffsOff Desactivación de un offset de los ejes externos

 EOffsOff (External Offset Off) sirve para desactivar un offset de los ejes externos.

El offset de los ejes externos será activado mediante la instrucción EOffsSet  o EOffsOn y se aplica a todos los movimientos hasta que se active cualquier otro offset de ejesexternos o hasta que se desactive el offset de los ejes externos.

Ejemplos

EOffsOff;

Desactivación del offset de los ejes externos.

MoveL p10, v500, z10, herram1;EOffsOn \ExeP:=p10, p11;MoveL p20, v500, z10, herram1;MoveL p30, v500, z10, herram1;EOffsOff;MoveL p40, v500, z10, herram1;

Un offset está definido como la diferencia entre la posición de cada eje en laposición p10 y p11. Este desplazamiento afecta a los movimientos a p20 y p30,pero no a p40.

Ejecución del programa

Los offsets activados de los ejes externos serán reactivados.

Sintaxis

EOffsOff ‘;’

Información relacionada

Descrita en:

Definición de un offset utilizando dosposiciones Instrucciones - EOffsOn

Definición de los valores utilizadospor los offsets Instrucciones - EOffsSet 

Desactivación del movimiento de

desplazamiento del robot Instrucciones - PDispOff 

Page 169: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 169/671

 EOffsOff   Instrucciones

2-EOffsOff-166 Tipos de Datos del Sistema y Rutinas

Page 170: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 170/671

Page 171: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 171/671

 EOffsOn  Instrucciones

2-EOffsOn-168 Tipos de Datos del Sistema y Rutinas

Este offset se utilizará entonces para desplazar la posición de los ejes externos eninstrucciones de posicionamiento siguientes y permanecerá activado hasta que seactive otro offset (la instrucción EOffsSet  o EOffsOn) o hasta que se desactive el offsetde los ejes externos (la instrucción EOffsOff ).

Sólo se podrá activar un offset para cada eje externo individual a la vez. Por otra parte,se podrán programar varios EOffsOn uno detrás de otro. En el caso en que lo sean, losdiferentes offset serán añadidos.

El offset de los ejes externos será reinicializado automáticamente:

- a la puesta en marcha en frí o

- cuando se carga un programa nuevo

- cuando se ejecuta la primera instrucción en el programa.

Ejemplo

SearchL sen1, pbusc, p10, v100, herram1;PDispOn \ExeP:=pbusc, *, herram1;EOffsOn \ExeP:=pbusc, *;

Se realiza una búsqueda en la que la posición buscada del robot y de los ejesexternos se encuentra almacenada en la posición pbusc. Cualquier movimientorealizado después de esto empezará a partir de esta posición utilizando undesplazamiento de programa tanto del robot como de los ejes externos. Esto se

calcula basándose en la diferencia entre la posición buscada y el punto progra-mado (*) almacenado en la instrucción.

Sintaxis

EOffsOn[ ‘ \ ’ ExeP ’:=’ < expresión (IN) de robtarget  > ’,’][ PuntProg ’:=’ ] < expresión (IN) de robtarget  > ’;’

Información relacionada

Descrita en:

Desactivación del offset de los ejes externos Instrucciones - EOffsOff 

Definición del offset utilizando valores Instrucciones - EOffsSet 

Desplazamiento de los movimientos del robot Instrucciones - PDispOn

Sistemas de Coordenadas Principios de Movimiento y de E/S -Sistemas de Coordenadas

Page 172: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 172/671

 Instrucciones   EOffsSet

Tipos de Datos del Sistema y Rutinas 2-EOffsSet-169

EOffsSet Activación de un offset de ejes externosutilizando un valor

 EOffsSet (External Offset Set) sirve para definir y activar un offset de ejes externos queutiliza valores.

Ejemplo

VAR extjoint eax_a_p100 := [100, 0, 0, 0, 0, 0];.EOffsSet eax_a_p100;

La activación de un offset eax_a_p100 de ejes externos, significa (siempre ycuando el eje externo “a” sea lineal) que:

- El sistema de coordenadas ExtOffs ha sido desplazado de 100 mm para el ejelógico “a” (véase la Figura 19).

- Mientras que el offset está activado, todas las posiciones serán desplazadas de100 mm en la dirección del eje x-.

.

Figura 19 Desplazamiento de un eje externo.

Argumentos

EOffsSet EAxOffs

EAxOffs (Offset Eje Externo) Tipo de dato: extjoint 

El offset de los ejes externos será definido como un dato del tipo extjoint , expre-sado en:

- mm para los ejes lineales

- grados para los ejes rotativos

+ X

+X

0

0

100

Sistema deCoordenadas Normal

Sistema de

Coordenadas ExtOffs

Page 173: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 173/671

 EOffsSet  Instrucciones

2-EOffsSet-170 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

El offset de los ejes externos se activará cuando la instrucción EOffsSet  se active y per-manecerá en este estado hasta que se active cualquier otro offset (la instrucción EOffs-

Set  o EOffsOn) o hasta que se desactive el offset de los ejes externos (la instrucción EOffsOff ).

Sólo se podrá activar un offset de ejes externos a la vez. No se deberá acumular los off-set utilizando la instrucción EOffsSet .

El offset de los ejes externos serán reseteados automáticamente:

- a la puesta en marcha

- cuando se carga un programa nuevo

- cuando se ejecuta la primera instrucción del programa

Sintaxis

EOffsSet[ EAxOffs ’:=’ ] < expresión (IN) de extjoint > ’;’

Información relacionada

Descrita en:

Desactivación de un offset de ejes externos Instrucciones - EOffsOff 

Definición de un offset utilizandodos posiciones Instrucciones - EOffsSet 

Desplazamiento de los movimientos del robot Instrucciones - PDispOn

Definición de los datos del tipo extjoint  Tipos de datos - extjoint 

Sistemas de Coordenadas Principios de Movimiento y de E/S -Sistemas de Coordenadas

Page 174: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 174/671

Page 175: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 175/671

 ErrWrite  Instrucciones

2-ErrWrite-172 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

Un mensaje de error (5 lí neas como máximo) aparece visualizado en la unidad de pro-gramación y es escrito en la lista de mensajes del robot.

ErrWrite siempre genera el error de programa nº 80001 o en el caso de ocurrir un aviso(argumento \W) genera el nº 80002.

Limitaciones

La longitud total de la cadena (Encabezado+Motivo+\RL2\RL3\RL4) está limitada a145 caracteres.

Sintaxis

ErrWrite[ ’ \ ’ W ’,’ ][ Header ’:=’ ] < expresión (IN) de string> ‘,’[ Reason ’:=’ ] < expresión (IN) de string>[ ’ \ ’ RL2 ’:=’ < expresión (IN) de string> ][ ’ \ ’ RL3 ’:=’ < expresión (IN) de string> ][ ’ \ ’ RL4 ’:=’ < expresión (IN) de string> ] ‘;’

Información relacionada

Descrita en:

Visualización de un mensaje únicamente Instrucciones - TPWriteen la unidad de programación

Listas de mensajes Guí a del Usuario - Servicio

Page 176: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 176/671

 Instrucciones   EXIT 

Tipos de Datos del Sistema y Rutinas 2-EXIT-173

EXIT Fin de ejecución del programa

 EXIT sirve para finalizar la ejecución del programa. El rearranque del programa se blo-

quea, es decir, que el programa sólo podrá ser rearrancado únicamente a partir de laprimera instrucción de la rutina principal (si el punto de arranque no ha sido movidomanualmente).

La instrucción EXIT  deberá utilizarse cuando ocurren errores muy graves o cuando sedesea parar la ejecución del programa definitivamente. La instrucción Stop se usa paraparar de forma temporal la ejecución del programa.

Ejemplo

ErrWrite "Fatal error", "Illegal state";EXIT;

La ejecución del programa se para y no puede ser rearrancada a partir de estaposición en el programa.

Sintaxis

EXIT ’;’

Información relacionada

Descrita en:

Parada temporal de la ejecución del programa Instrucciones - Stop

Page 177: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 177/671

 EXIT   Instrucciones

2-EXIT-174 Tipos de Datos del Sistema y Rutinas

Page 178: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 178/671

Page 179: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 179/671

 ExitCycle  Instrucciones

2-ExitCycle-176 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

La ejecución de la instrucción ExitCycle en la tarea de programa principal MAIN pro-vocará lo siguiente en la tarea principal MAIN:

- Los movimientos en curso del robot se detendrán

- Todas las trayectorias del robot que no se hayan realizado en todos los nivelesde trayectoria (tanto el nivel normal como el nivel StorePath) serán inicializa-das

- Todas las instrucciones iniciadas pero no terminadas en todos los niveles deejecución (tanto el nivel normal como el nivel de tratamiento de interrupciones)serán interrumpidas

- El indicador de posición del programa será movido a la primera instrucción dela rutina principal

- La ejecución del programa continua ejecutando el ciclo siguiente

La ejecución de la instrucción ExitCycle en otras tareas de programa (además deMAIN) provocará lo siguiente en la tarea actual:

- Todas las instrucciones iniciadas pero no terminadas en todos los niveles deejecución (tanto el nivel normal como el nivel de tratamiento de interrupciones)serán interrumpidas

- El indicador de posición del programa será movido a la primera instrucción dela rutina principal

- La ejecución del programa continua ejecutando el ciclo siguiente

Todos los demás elementos modales del programa y del sistema no se verán afectadospor la instrucción ExitCycle como por ejemplo:

- El valor actual de variables o persistentes

- Cualquier caracterí stica de movimiento como por ejemplo la secuencia Store-Path-RestoPath, las zonas mundo etc.

- La apertura de archivos, directorios, etc.

- Interrupciones definidas, etc.

Sintaxis

ExitCycle’;’

Page 180: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 180/671

 Instrucciones   ExitCycle

Tipos de Datos del Sistema y Rutinas 2-ExitCycle-177

Información relacionada

Descrita en:

Paro después de un error fatal Instrucciones - EXIT Terminar la ejecución del programa Instrucciones - EXIT 

Paro de la actividad del programa Instrucciones - Stop

Acabar la ejecución de una rutina Instrucciones - RETURN 

Page 181: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 181/671

 ExitCycle  Instrucciones

2-ExitCycle-178 Tipos de Datos del Sistema y Rutinas

Page 182: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 182/671

 Instrucciones   FOR

Tipos de Datos del Sistema y Rutinas 2-FOR-179

FOR Repetición de un número dado de veces

FOR se usa cuando una o varias instrucciones deben repetirse un número dado de

veces.

En el caso en que las instrucciones deban repetirse mientras se cumpla una condiciónespecí fica, se deberá usar la instrucción WHILE. 

Ejemplo

FOR i FROM 1 TO 10 DOrutina1;

ENDFOR

Repite el procedimiento rutina1, 10 veces.

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 de bucle actual. El datoes declarado automáticamente y su nombre no podrá coincidir con ningún otronombre de ningún dato ya existente.

Valor inicial Tipo de dato: Num

El valor inicial deseado del contador de bucle.(suelen ser números enteros).

Valor final Tipo de dato: Num

El valor final deseado del contador de bucle.(suelen ser números enteros).

Incremento Tipo de dato: Num

El valor con el que el contador de bucle deberá ser incrementado (o disminuido).(suelen ser números enteros).

Si este valor no está especificado, el valor de incremento será automáticamente1 (o -1 si el valor inicial es mayor que el valor final).

Page 183: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 183/671

 FOR  Instrucciones

2-FOR-180 Tipos de Datos del Sistema y Rutinas

Ejemplo

FOR i FROM 10 TO 2 STEP -1 DOa{i} := a{i-1};

ENDFOR

Los valores de una matriz se ajustan de forma creciente, de la siguiente forma a{10}:=a{9}, a{9}:=a{8} etc.

Ejecución del programa

1. Las expresiones correspondientes a los valores iniciales, final y de incremento seráncalculadas.

2. El contador de bucle tendrá asignado el valor inicial.3. El valor del contador de bucle será comprobado para ver si dicho valor se encuentra

entre el valor inicial y el valor final o si es igual al valor inicial o al valor final. Si elvalor del contador se encuentra fuera de esta gama, el bucle FOR se para y laejecución del programa continua con la instrucción que sigue ENDFOR.

4. Las instrucciones del bucle FOR se ejecutarán.

5. El contador de bucle será incrementado (o disminuido) de acuerdo con el valor deincremento.

6. El bucle FOR se repetirá, empezando a partir del punto 3.

Limitaciones

Sólo se podrá acceder al contador de bucle (del tipo de dato num) desde dentro del bucleFOR y por consiguiente esconderá los demás datos y rutinas que tengan el mismo nom-bre. Sólo podrá ser leí do (no actualizado) por las instrucciones contenidas en el bucleFOR.

No se podrán utilizar valores decimales para los valores iniciales, finales o de paro, encombinación con una condición de terminación exacta para el bucle FOR (no definidoen el caso en que el último bucle esté funcionando o no).

Sintaxis

(EBNF)

FOR <variable bucle> FROM <expresión> TO <expresión>[ STEP <expresión> ] DO <lista instrucciones>

ENDFOR 

<variable bucle> ::= <identificador>

Page 184: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 184/671

 Instrucciones   FOR

Tipos de Datos del Sistema y Rutinas 2-FOR-181

Información relacionada

Descrita en:

Expresiones Caracterí sticas Básicas - ExpresionesIdentificadores Caracterí sticas Básicas -

 Elementos de Base

Page 185: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 185/671

 FOR  Instrucciones

2-FOR-182 Tipos de Datos del Sistema y Rutinas

Page 186: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 186/671

 Instrucciones   GetSysData

Tipos de Datos del Sistema y Rutinas 2-GetSysData-183

GetSysData Coger datos del sistema

GetSysData coge el valor y el nombre del sí mbolo opcional de los datos actuales del

sistema de un tipo de dato especificado.

Con esta instrucción se podrá coger los datos y el nombre de la Herramienta o delObjeto de Trabajo actuales que están activados.

Ejemplo

PERS tooldata curtoolvalue := [TRUE, [[0, 0, 0], [1, 0, 0, 0]],[0, [0, 0, 0], [1, 0, 0, 0], 0, 0, 0]];

VAR string curtoolname;

GetSysData curtoolvalue;

Copia el valor del dato de la herramienta activa en la variable persistente curtool-value.

GetSysData curtoolvalue \ObjectName := curtoolname;

Copia también el nombre de la herramienta actual activada en la variable cur-toolname.

Argumentos

GetSysData DestObject [\ ObjectName ]

DestObject Tipo de dato: anytype

Es la variable persistente para el almacenamiento del valor actual de los datos delsistema.

El tipo de dato de este argumento también especifica el tipo de datos del sistema(Herramienta u Objeto de Trabajo) que debe ser cogido.

[\ObjectName] Tipo de dato: string

Argumento opcional (variable o persistente) que también sirve para coger elnombre actual de los datos del sistema.

Ejecución del programa

Cuando se ejecuta la instrucción GetSysData el valor de los datos actuales es almace-

nado en la variable persistente especificada en el argumento DestObject .

Page 187: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 187/671

GetSysData  Instrucciones

2-GetSysData-184 Tipos de Datos del Sistema y Rutinas

Si se usa el argumento \ObjectName, el nombre de los datos actuales queda almacenadoen la variable o persistente en el argumento ObjectName.

Los datos actuales del sistema referidos a la Herramienta u al Objeto de Trabajo sonactivados por la ejecución de cualquier instrucción de movimiento o bien manualmenteen la ventana de movimiento.

Sintaxis

GetSysData[ DestObject’:=’] < persistente (PERS) de anytype>[’ \ ’ObjectName’:=’ < expresión (INOUT) de string> ] ’;’

Información relacionada

Descrita en:

Definición de las herramientas Tipos de datos - tooldata

Definición de los objetos de trabajo Tipos de datos - wobjdata

Page 188: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 188/671

 Instrucciones   GOTO

Tipos de Datos del Sistema y Rutinas 2-GOTO-185

GOTO Ir a una instrucción nueva identificada por unaetiqueta (label)

GOTO sirve para transferir la ejecución del programa a otra lí nea (una etiqueta) dentrode la misma rutina.

Ejemplos

GOTO sig;.

sig:

La ejecución del programa continúa con la instrucción que viene después denext .

reg1 := 1;sig:

.reg1 := reg1 + 1;IF reg1<=5 GOTO sig;

El bucle de programa sig será ejecutado cinco veces.

IF reg1>100 GOTO valoralto;

valorbajo:.

GOTO prepar;valoralto:

.prepar:

Si reg1 es mayor que 100, el bucle de programa valoralto será ejecutado; de locontrario, se ejecutará el bucle valorbajo.

Argumentos

GOTO Etiqueta

Etiqueta Identificador

La etiqueta a partir de donde la ejecución del programa deberá continuar.

Page 189: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 189/671

GOTO  Instrucciones

2-GOTO-186 Tipos de Datos del Sistema y Rutinas

Limitaciones

Sólo se podrá transferir la ejecución del programa a una etiqueta dentro de la mismarutina.

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 ramade 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

Page 190: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 190/671

 Instrucciones   GripLoad 

Tipos de Datos del Sistema y Rutinas 2-GripLoad-187

GripLoad Definición de la carga útil del robot

GripLoad sirve definir la carga útil que el robot sujeta con su pinza.

Descripción

Es importante definir siempre la carga actual de la herramienta y cuando se use,la carga útil del robot. Definiciones incorrectas de los datos de carga puedenprovocar una sobrecarga de la estructura mecánica del robot.

Si se especifican datos incorrectos de carga, se pueden generar las siguientes con-secuencias:

- Si el valor de los datos de carga especificados es mayor que el valor real de lacarga;-> El robot no será utilizado a su capacidad máxima-> La precisión de trayectoria es incorrecta incluyendo el riesgo de vibraciones.

- Si el valor de los datos de carga especificados es menor que el valor real de lacarga;-> La precisión de trayectoria es incorrecta incluyendo el riesgo de vibraciones.-> Existe un riesgo de sobrecarga de la estructura mecánica

EjemplosGripLoad pieza1;

La pinza del robot sujeta una carga llamada pieza1.

GripLoad load0;

La pinza del robot suelta todas las cargas.

Argumentos

GripLoad Carga

Carga Tipo de dato: loaddata

Los datos de carga que describen la carga útil utilizada.

Page 191: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 191/671

GripLoad   Instrucciones

2-GripLoad-188 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

La carga especificada afecta la capacidad del robot.

La carga por defecto, 0 kg, se activa automáticamente

- a la puesta en marcha en frí o

- cuando se carga un programa nuevo

- cuando se ejecuta el programa desde el principio.

Sintaxis

GripLoad

[ Carga ’:=’ ] < persistente (PERS) de loaddata > ’;’

Información relacionada

Descrita en:

Definición de los datos de carga Tipos de Datos - loaddata

Definición de tool load Tipos de Datos - tooldata

Page 192: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 192/671

 Instrucciones   IDelete

Tipos de Datos del Sistema y Rutinas 2-IDelete-189

IDelete Anulación de una interrupción

 IDelete (Interrupt Delete) sirve para anular (borrar) una interrupción.

En el caso en que se desee inhabilitar temporalmente la instrucción, se deberá utilizarla instrucción ISleep o IDisable. 

Ejemplo

IDelete aliment_bajo;

La interrupción aliment_bajo será anulada.

Argumentos

IDelete Interrupción

Interrupción Tipo de dato: intnum

La identidad de la interrupción.

Ejecución del programa

La definición de la interrupción ha sido borrada completamente. Para volver adefinirla, deberá primero ser conectada de nuevo a una rutina de tratamiento de inter-rupciones.

La instrucción deberá estar precedida de un punto de paro. De lo contrario, la inter-rupción será desactivada antes de alcanzar el punto final.

No se deberá borrar las interrupciones; esta operación se realiza automáticamentecuando:

- se carga un programa nuevo

- se rearranca el programa desde el principio

- se mueve el puntero del programa al principio de una rutina

Sintaxis

IDelete[ Interrupción ‘:=’ ] < variable (VAR) de intnum > ‘;’

Page 193: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 193/671

 IDelete  Instrucciones

2-IDelete-190 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - InterrupcionesInhabilitación temporal de una interrupción Instrucciones - ISleep

Inhabilitación temporal de Instrucciones - IDisabletodas las interrupciones

Page 194: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 194/671

 Instrucciones   IDisable

Tipos de Datos del Sistema y Rutinas 2-IDisable-191

IDisable Inhabilitación de las interrupciones

 IDisable (Interrupt Disable) sirve para inhabilitar todas las interrupciones temporal-

mente. Esta función puede utilizarse por ejemplo, en una parte particularmente sensi-ble del programa donde no se permite que ocurran interrupciones para no perturbar suejecución normal.

Ejemplo

IDisable;FOR i FROM 1 TO 100 DO

caracter[i]:=ReadBin(sensor);ENDFOR

IEnable;

No se permiten interrupciones mientras se está leyendo el canal serie.

Ejecución del programa

Las interrupciones que ocurren mientras una instrucción IDisable está activada, que-darán registradas en una cola. Cuando las interrupciones vuelvan a ser admitidas porel programa, empezarán a generarse inmediatamente, y se ejecutarán una por una sigu-iendo el orden de la cola.

Sintaxis

IDisable‘;’

Información Relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - Interrupción

Permisión de las interrupciones Instrucciones - IEnable

Page 195: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 195/671

Page 196: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 196/671

 Instrucciones   IEnable

Tipos de Datos del Sistema y Rutinas 2-IEnable-193

IEnable Habilitación de las interrupciones

 IEnable (Interrupt Enable) sirve para habilitar las interrupciones durante la ejecución

del programa.

Ejemplo

IDisable;FOR i FROM 1 TO 100 DO

caracter[i]:=ReadBin(sensor);ENDFORIEnable;

No se permiten las interrupciones mientras se está leyendo el canal serie. Unavez finalizada la lectura, las interrupciones serán de nuevo permitidas.

Ejecución del programa

Las interrupciones que ocurren mientras una instrucción IDisable está activada,quedan registradas en una cola. Cuando las interrupciones vuelven a ser permitidas( IEnable), empiezan a generarse, ejecutándose una por una siguiendo el orden de lacola. Luego, la ejecución del programa continúa en el programa normal y las interrup-ciones que se producen después de esto serán tratadas según van produciéndose.

Las interrupciones siempre están permitidas cuando se arranca un programa desde elprincipio. Las interrupciones inhabilitadas mediante la instrucción ISleep no se veránafectadas por la instrucción IEnable. 

Sintaxis

IEnable‘;’

Información Relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - Interrupciones

Inhabilitación de interrupciones Instrucciones - IDisable

Page 197: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 197/671

 IEnable  Instrucciones

2-IEnable-194 Tipos de Datos del Sistema y Rutinas

Page 198: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 198/671

 Instrucciones   Compact IF

Tipos de Datos del Sistema y Rutinas 2-Compact IF-195

Compact IF Si se cumple una condición, entonces... (unainstrucción)

Compact IF sirve cuando una sola instrucción debe ser ejecutada únicamente si secumple una condición especí fica.

En el caso en que diferentes instrucciones deban ser ejecutadas, según se cumpla unacondición especí fica o no, se utilizará la instrucción IF. 

Ejemplos

IF reg1 > 5 GOTO sig;

Si reg1 es mayor que 5, entonces la ejecución del programa prosigue a la etiquetasig.

IF contador> 10 Set do1;

La señal do1 se activará si el contador> 10.

Argumentos

IF Condición ...Condición Tipo de dato: bool

La condición que debe cumplirse para que la instrucción pueda ejecutarse.

Sintaxis

(EBNF)

IF <expresión condicional> ( <instrucción> | <SMT>) ’;’ 

Información Relacionada

Descrita en:

Condiciones (expresiones lógicas) Caracterí sticas Básicas - Expresiones

IF con varias instrucciones Instrucciones - IF 

Page 199: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 199/671

Compact IF  Instrucciones

2-Compact IF-196 Tipos de Datos del Sistema y Rutinas

Page 200: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 200/671

 Instrucciones   IF

Tipos de Datos del Sistema y Rutinas 2-IF-197

IF Si se cumple una condición, entonces...; si no...

 IF  sirve cuando diferentes instrucciones deben cumplirse según se cumpla o no una

condición.

Ejemplos

IF reg1 > 5 THENSet do1;Set do2;

ENDIF

Las señales do1 y do2 son activadas únicamente si reg1 es mayor que 5.

IF reg1 > 5 THENSet do1;Set do2;

ELSEReset do1;Reset do2;

ENDIF

Las señales do1 y do2 son activadas o desactivadas dependiendo si reg1 esmayor que 5 o no.

Argumentos

IF Condición THEN ...{ELSEIF Condición THEN ...}

[ELSE ...]ENDIF

Condición Tipo de dato: bool

La condición que debe cumplirse para que las instrucciones entre THEN yELSE/ELSEIF puedan ejecutarse.

Page 201: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 201/671

 IF  Instrucciones

2-IF-198 Tipos de Datos del Sistema y Rutinas

Ejemplo

IF contador > 100 THENcontador := 100;

ELSEIF contador < 0 THEN  contador := 0;ELSE

contador := contador + 1;ENDIF

El contador ha sido incrementado en 1. Sin embargo, si el valor del contador está fuera del lí mite 0-100, el contador tendrá asignado el valor lí mite correspondi-ente.

Ejecución del programa

Las condiciones son comprobadas siguiendo un orden secuencial, hasta que una deellas se cumpla. La ejecución del programa continúa con las instrucciones asociadas aesa condición. Si no se cumple ninguna de las condiciones, la ejecución del programacontinúa con las instrucciones que siguen ELSE. Si se cumple más de una condición,sólo se ejecutarán las instrucciones que están asociadas con la primera de las condi-ciones.

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

Page 202: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 202/671

 Instrucciones   Incr

Tipos de Datos del Sistema y Rutinas 2-Incr-199

Incr Incremento de 1

 Incr sirve para añadir 1 a una variable o persistente numérica.

Ejemplo

Incr reg1;

1 será añadido a reg1, es decir, reg1:=reg1+1.

Argumentos

Incr Nombre

Nombre Tipo de dato: num

El nombre de la variable o persistente que se desea cambiar.

Ejemplo

WHILE DInput(stop_produc)=0 DO

produc_part;Incr_parts;TPWrite "Nº de piezas producidas= "\Num:=parts;

ENDWHILE

En cada ciclo el número de piezas producidas será actualizado en la unidad deprogramación. El proceso de producción continua su ejecución mientras no seactive la señal stop_production. 

Sintaxis

Incr[ Nombre ’:=’ ] < variable o persistente (INOUT) de num > ’;’

Page 203: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 203/671

 Incr  Instrucciones

2-Incr-200 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Disminuir una variable de 1 Instrucciones - Decr Adición de cualquier valor a una variable Instrucciones - Add 

Cambio de datos utilizando una expresión Instrucciones - :=arbitraria, por ejemplo, la multiplicación

Page 204: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 204/671

 Instrucciones   InvertDO

Tipos de Datos del Sistema y Rutinas 2-InvertDO-201

InvertDO Inversión del valor de una señal de salida digital

 InvertDO (Invert Digital Output) invierte el valor de una señal de salida digital (0 -> 1

y 1 -> 0).

Ejemplo

InvertDO do15;

El valor utilizado del valor de la señal do15 será invertida.

Argumentos

InvertDO Señal

Señal Tipo de dato: signaldo

El nombre de la señal que se desea invertir.

Ejecución del programa

El valor utilizado por la señal es invertido (véase la Figura 20).

:

Figura 20 Inversión de una señal de salida digital.

Sintaxis

InvertDO[ Señal ’:=’ ] < variable (VAR) de signaldo > ’;’

1

0

0

1

Ejecución de la instrucción InvertDO

Ejecución de la instrucción InvertDO

Nivel de la señal

Nivel de la señal

Page 205: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 205/671

 InvertDO  Instrucciones

2-InvertDO-202 Tipos de Datos del Sistema y Rutinas

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 delsistema

Page 206: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 206/671

Page 207: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 207/671

 IODisable  Instrucciones

2-IODisable-204 Tipos de Datos del Sistema y Rutinas

Ejemplo

PROC go_home()VAR num recover_flag :=0;

...! Start to disable I/O unit cell1recover_flag := 1;IODisable “cell1”, 0;! Move to home positionMoveJ home, v1000,fine,tool1;! Wait until disable of I/O unit cell1 is readyrecover_flag := 2;IODisable “cell1”, 5;...ERROR

IF ERRNO = ERR_IODISABLE THENIF recover_flag = 1 THEN

TRYNEXT;ELSEIF recover_flag = 2 THEN

RETRY;ENDIF

ELSEIF ERRNO = ERR_EXCRTYMAX THENErrWrite “IODisable error”, “Not possible to disable I/O unit cell1”;Stop;

ENDIFENDPROC

Para ahorrar tiempo de ciclo, la unidad de E/S cell1 es inhabilitada durante elmovimiento del robot hacia su posición inicial (home). Cuando el robot está ensu posición inicial, se realizará una prueba para determinar si la unidad de E/Scell1 está totalmente inhabilitada. Después del número máximo de reintentos (5con un tiempo de espera de 5 s), la ejecución del robot se detendrá y se producirá un mensaje de error.

El mismo principio podrá utilizarse con la instrucción IOEnable (HabilitarE/S)(ello ahorrará más tiempo de ciclo comparado con IODisable (Inhabilitar E/S)).

Sintaxis

IODisable[ NombreUnidad ’:=’ ] < expresión (IN) de string> ’,’[ TiempoMax ’:=’ ] < expresión (IN) de num > ’;’

Page 208: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 208/671

 Instrucciones   IODisable

Tipos de Datos del Sistema y Rutinas 2-IODisable-205

Información relacionada

Descrita en:

Habilitar una unidad de E/S Instrucciones - IOEnableInstrucciones de Entrada/Salida Resumen RAPID -

Señales de Entrada y Salida

Funciones de Entradas/Salidas en general Principios de Movimiento y de E/S -Principios de E/S 

Configuración de E/S Guí a del Usuario -Par ámetros del Sistema

Page 209: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 209/671

 IODisable  Instrucciones

2-IODisable-206 Tipos de Datos del Sistema y Rutinas

Page 210: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 210/671

 Instrucciones   IOEnable

Tipos de Datos del Sistema y Rutinas 2-IOEnable-207

IOEnable Habilitar la unidad de E/S

 IOEnable sirve para habilitar una unidad de E/S durante la ejecución del programa

(sólo en el sistema S4C).

Las unidades de E/S son automáticamente habilitadas después de la puesta en marchasiempre y cuando estén definidas en los parámetros del sistema. Cuando se requierepor alguna razón, las unidades de E/S pueden ser inhabilitadas o habilitadas durante laejecución del programa.

Ejemplos

IOEnable “cell1”, 5;

Habilitar la unidad de E/S que lleva el nombre cell1. Tiempo de espera máx. 5 s.

Argumentos

IOEnable NombreUnidad TiempoMax

NombreUnidad Tipo de dato: string

El nombre de la unidad de E/S que se desea habilitar (con el mismo nombre que

el configurado).

TiempoMax Tipo de dato: num

El perí odo máximo de tiempo de espera permitido, expresado en segundos. Sieste tiempo transcurre antes de que la unidad de E/S haya terminado los pasos dehabilitación, el sistema llamará al gestor de errores, si hay uno, con el código deerror ERR_IOENABLE. En el caso en que no haya ningún gestor de errores, laejecución se detendrá.

La habilitación de una unidad de E/S toma aproximadamente entre 2-5 s.

Ejecución del programa

La unidad de E/S especificada inicia los pasos de habilitación. La instrucción está listacuando los pasos de habilitación han terminado. Si el TiempoMax transcurre antes deque la unidad de E/S haya terminado sus pasos de habilitación, se generará un errorrecuperable.

Después de una secuencia de IODisable - IOEnable, todas las salidas de la unidad deE/S actual se activarán en los valores antiguos (antes de IODisable).

Page 211: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 211/671

 IOEnable  Instrucciones

2-IOEnable-208 Tipos de Datos del Sistema y Rutinas

Ejemplo

 IOEnable puede utilizarse también para comprobar si, por alguna razón, hay algunaunidad de E/S desconectada.

VAR num max_retry:=0;...IOEnable “cell1”, 0;SetDO cell1_sig3, 1;...ERROR

IF ERRNO = ERR_IOENABLE THENIF max_retry < 5 THEN

WaitTime 1;max_retry := max_retry + 1;

RETRY;ELSERAISE;

ENDIFENDIF

Antes de utilizar las señales de la unidad de E/S cell1, se llevará a cabo unaprueba que consiste en intentar la habilitación de la unidad de E/S con un lí mitede tiempo después de 0 seg. Si la prueba falla, se realiza un salto al gestor deerrores. En el gestor de errores, la ejecución del programa espera 1 seg. y luegose realiza otro intento. Después de 5 reintentos, el error ERR_IOENABLE espropagado a la parte del programa que ha llamado esta rutina.

Sintaxis

IOEnable[ NombreUnidad ’:=’ ] < expresión (IN) de string> ’,’[ TiempoMax ’:=’ ] < expresión (IN) de num > ’;’

Page 212: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 212/671

 Instrucciones   IOEnable

Tipos de Datos del Sistema y Rutinas 2-IOEnable-209

Información relacionada

Descrita en:

Más ejemplos Instrucciones - IODisableInhabilitación de una unidad de E/S Instrucciones - IODisable

Instrucciones de Entrada/Salida Resumen RAPID -Señales de Entrada y Salida

Funciones de Entradas/Salidas en general Principios de Movimiento y de E/S -Principios de E/S 

Configuración de E/S Guí a del Usuario -Par ámetros del Sistema

Page 213: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 213/671

 IOEnable  Instrucciones

2-IOEnable-210 Tipos de Datos del Sistema y Rutinas

Page 214: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 214/671

 Instrucciones   ISignalAI 

Tipos de Datos del Sistema y Rutinas 2-ISignalAI-211

ISignalAI Orden de interrupción a partirde una señal de entrada analógica

 ISignalAI (Interrupt Signal Analog Input) sirve para ordenar y habilitar interrupcionesa partir de una señal de entrada analógica.

Ejemplo

VAR intnum sig1int;CONNECT sig1int WITH iroutine1;ISignalAI \Single, ai1, AIO_BETWEEN, 1.5, 0.5, 0, sig1int;

Ordena una interrupción que ocurrirá la primera vez que el valor lógico de laseñal de entrada analógica ai1 esté comprendido entre 0,5 y 1,5. Luego, se real-izará una llamada a la rutina de tratamiento de interrupciones iroutine1. 

ISignalAI ai1, AIO_BETWEEN, 1.5, 0.5, 0.1, sig1int;

Ordena una interrupción que ocurrirá cada vez que el valor lógico de la señal deentrada analógica ai1 esté comprendido entre 0,5 y 1,5, y que la diferencia de laseñal absoluta comparada con el valor de referencia almacenado sea mayor que0,1.

ISignalAI ai1, AIO_OUTSIDE, 1.5, 0.5, 0.1, sig1int;

Ordena una interrupción que ocurrirá cada vez que el valor lógico de la señal deentrada analógica ai1 sea inferior a 0,5 o superior a 1,5, y que la diferencia de laseñal absoluta comparada con el valor de referencia almacenado sea mayor que0,1.

Argumentos

ISignalAI [\Single] Signal Condition HighValue LowValueDeltaValue [\DPos] | [\DNeg] Interrupt

[\Single] Tipo de dato: switch

Especifica si la interrupción debe ocurrir una sola vez o de forma cí clica.

Si el argumento Single está activado, la interrupción sólo se producirá una vezcómo máximo. Si se omite el argumento, ocurrirá una interrupción cada vez quese cumpla la condición.

Signal Tipo de dato: signalai

Es el nombre de la señal que debe generar las interrupciones.

Page 215: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 215/671

 ISignalAI   Instrucciones

2-ISignalAI-212 Tipos de Datos del Sistema y Rutinas

Condition Tipo de dato: aiotrigg

Especifica como el valor HighValue y LowValue definen la condición que debeser satisfecha:

- AIO_ABOVE_HIGH: el valor lógico de la señal está por encima del valorHighValue

- AIO_BELOW_HIGH: el valor lógico de la señal está por debajo del valorHighValue

- AIO_ABOVE_LOW: el valor lógico de la señal está por encima del valorLowValue

- AIO_BELOW_LOW: el valor lógico de la señal está por debajo del valorLowValue

- AIO_BETWEEN: el valor lógico de la señal está entre el valor

LowValue y el valor HighValue- AIO_OUTSIDE: el valor lógico de la señal está por encima del valor

HighValue o por debajo del valor LowValue

- AIO_ALWAYS: es independiente del valor HighValue y LowValue

HighValue Tipo de dato: num

Es el valor lógico alto para definir la condición.

LowValue Tipo de dato: num

Es el valor lógico bajo para definir la condición.

DeltaValue Tipo de dato: num

Define la diferencia mí nima de señal lógica antes de la generación de la nuevainterrupción. El valor de la señal actual comparado al valor de referenciaalmacenado previamente debe ser mayor que el valor DeltaValue especificadoantes de la generación de una interrupción nueva.

[\DPos] Tipo de dato: switch

Especifica que únicamente las diferencias de señal lógicas positivas originarán

nuevas interrupciones.

[\DNeg] Tipo de dato: switch

Especifica que únicamente las diferencias de señal lógicas negativas originaránnuevas interrupciones.

Si no se usa ninguno de los argumentos \DPosy \DNeg, las diferencias tanto pos-itivas como negativas generarán interrupciones nuevas.

Interrupt Tipo de dato: intnum

La identidad de la interrupción. Esta interrupción deberá haber sido conectadapreviamente a una rutina de tratamiento de interrupciones mediante la instrucciónCONNECT.

Page 216: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 216/671

Page 217: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 217/671

 ISignalAI   Instrucciones

2-ISignalAI-214 Tipos de Datos del Sistema y Rutinas

Condici ó n para la generaci ó n de interrupciones en el momento de suscripci ó n de lainterrupci ó n

RefValue := CurrentValue

CurrentValue tested against ConditionHighValue and LowValue

DeltaValue = 0

Falso

Verdadero

Falso

Verdadero

Interrupción generada

Continúa

Muestra antes de la suscripción de interrupción

Suscripción de la interrupción

Page 218: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 218/671

Page 219: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 219/671

 ISignalAI   Instrucciones

2-ISignalAI-216 Tipos de Datos del Sistema y Rutinas

 Ejemplo 1 de generaci ó n de interrupci ó n

Si se considera que la interrupción es ordenada entre la muestra 0 y 1, la siguiente

instrucción producirá los siguientes resultados:

ISignalAI ai1, AIO_BETWEEN, 6.1, 2,2, 1.0, sig1int;

la muestra 1 generará una interrupción, porque el valor de la señal se encuentraentre los valores HighValue y LowValue y la diferencia de la señal comparada alejemplo 0 es mayor que DeltaValue.

la muestra 2 generará una interrupción, porque el valor de la señal se encuentraentre los valores HighValue y LowValue y la diferencia de la señal comparada ala muestra 1 es mayor que DeltaValue.

las muestras 3, 4, 5 no generarán ninguna interrupción, porque la diferencia de laseñal es inferior a DeltaValue.

la muestra 6 generará una interrupción.

las muestras 7 a 10 no generarán ninguna interrupción, porque la señal está porencima de HighValue

la muestra 11 no generará ninguna interrupción, porque la diferencia de la señalcomparada a la muestra 6 equivale a DeltaValue.

la muestra 12 no generará ninguna interrupción, porque la diferencia de la señalcomparada a la muestra 6 es inferior a DeltaValue.

Valor lógico de la señal

Muestras

HighValue

LowValue

1 2 3 4 5 6 7 8 9 10 11 12

Valor de la señal

0

Tiempo para ordenar una suscripción de interrupción

Almacenamiento del valor de referencia

Page 220: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 220/671

 Instrucciones   ISignalAI 

Tipos de Datos del Sistema y Rutinas 2-ISignalAI-217

 Ejemplo 2 de generaci ó n de interrupci ó n

Si se considera que la interrupción es ordenada entre la muestra 0 y 1, la siguiente

instrucción producirá los siguientes resultados:

ISignalAI ai1, AIO_BETWEEN, 6.1, 2,2, 1.0 \DPos, sig1int;

Un valor de referencia nuevo es almacenado en las muestras 1 y 2, porque laseñal se encuentra dentro los lí mites y que la diferencia de la señal absoluta entreel valor actual y el último valor de referencia almacenado es mayor que 1.0.No se generará ninguna interrupción porque los cambios de señales son negati-vos.

la muestra 6 generará una interrupción, porque el valor de la señal se encuentraentre los valores HighValue y LowValue y la diferencia de señal en dirección pos-

itiva comparada con la muestra 2 es mayor que DeltaValue.

Valor lógico de la señal

Muestras

HighValue

LowValue

1 2 3 4 5 6 7 8 9 10 11 12

Valor de la señal

0

Tiempo para ordenar una suscripción de interrupción

Almacenamiento de un valor de referencia

Page 221: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 221/671

Page 222: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 222/671

Page 223: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 223/671

 ISignalAI   Instrucciones

2-ISignalAI-220 Tipos de Datos del Sistema y Rutinas

Gestión de errores

Si se produce una suscripción de interrupción en una señal de entrada analógica, se atri-buirá una interrupción a cada cambio en el valor analógico que satisface la condición

especificada cuando se ordena la suscripción de interrupción. Si el valor analógico esruidoso, se generarán muchas interrupciones, incluso si sólo se ha cambiado uno o dosbits en el valor analógico.

Para evitar la obtención de interrupciones para cambios pequeños en el valor de entradaanalógico, se deberá poner el valor DeltaValue en un nivel mayor que 0, con lo cual, nose generará ninguna interrupción hasta que el cambio en el valor analógico sea mayorque el valor DeltaValue especificado.

Limitaciones

Los argumentos HighValue y LowValue deben encontrarse comprendidos entre el valormáximo lógico y el valor mí nimo lógico definido para la señal.

 HighValue deberá ser superior a LowValue.

 DeltaValue deberá ser 0 o positivo.

Las limitaciones para la identidad de la interrupción son las mismas que para ISignalDI.

Sintaxis

ISignalAI[ ’ \ ’Single’,’][ Signal’:=’ ]<variable (VAR) de signalai>’,’[ Condition’:=’ ]<expresión (IN) de aiotrigg>’,’[ HighValue’:=’ ]<expresión (IN) de num>’,’[ LowValue’:=’ ]<expresión (IN) de num>’,’[ DeltaValue’:=’ ]<expresión (IN) de num>[ ’ \ ’DPos] | [ ’ \ ’DNeg] ’,’[ Interrupt’:=’ ]<variable (VAR) de intnum>’;’

Page 224: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 224/671

 Instrucciones   ISignalAI 

Tipos de Datos del Sistema y Rutinas 2-ISignalAI-221

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - InterrupcionesDefinición de constantes Tipos de datos - aiotrigg

Interrupción a partir de señalde salida analógica Instrucciones - ISignalAO

Interrupción a partir de señalde entrada digital Instrucciones - ISignalDI 

Interrupción a partir de señalde salida digital Instrucciones - ISignalDO

Más información referente a

la gestión de las interrupciones Caracterí sticas Básicas - Interrupciones

Más ejemplos Tipos de datos - intnum

Parámetros relacionados del sistema (filtro) Parámetros del Sistema -Señales de E/S

Page 225: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 225/671

 ISignalAI   Instrucciones

2-ISignalAI-222 Tipos de Datos del Sistema y Rutinas

Page 226: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 226/671

Page 227: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 227/671

 ISignalAO  Instrucciones

2-ISignalAO-224 Tipos de Datos del Sistema y Rutinas

Condition Tipo de dato: aiotrigg

Especifica como el valor HighValue y LowValue definen la condición que debeser satisfecha:

- AIO_ABOVE_HIGH: el valor lógico de la señal está por encima del valorHighValue

- AIO_BELOW_HIGH: el valor lógico de la señal está por debajo del valorHighValue

- AIO_ABOVE_LOW: el valor lógico de la señal está por encima del valorLowValue

- AIO_BELOW_LOW: el valor lógico de la señal está por debajo del valorLowValue

- AIO_BETWEEN: el valor lógico de la señal está entre el valor

LowValue y el valor HighValue- AIO_OUTSIDE: el valor lógico de la señal está por encima del valor

HighValue o por debajo del valor LowValue

- AIO_ALWAYS: es independiente del valor HighValue y LowValue

HighValue Tipo de dato: num

Es el valor lógico alto para definir la condición.

LowValue Tipo de dato: num

Es el valor lógico bajo para definir la condición.

DeltaValue Tipo de dato: num

Define la diferencia mí nima de señal lógica antes de la generación de la nuevainterrupción. El valor de la señal actual comparado al valor de referenciaalmacenado previamente debe ser mayor que el valor DeltaValue especificadoantes de la generación de una interrupción nueva.

[\DPos] Tipo de dato: switch

Especifica que únicamente las diferencias de señal lógicas positivas originarán

nuevas interrupciones.

[\DNeg] Tipo de dato: switch

Especifica que únicamente las diferencias de señal lógicas negativas originaránnuevas interrupciones.

Si no se usa ninguno de los argumentos \DPosy \DNeg, las diferencias tanto pos-itivas como negativas generarán interrupciones nuevas.

Interrupt Tipo de dato: intnum

La identidad de la interrupción. Esta interrupción deberá haber sido conectadapreviamente a una rutina de tratamiento de interrupciones mediante la instrucciónCONNECT.

Page 228: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 228/671

 Instrucciones   ISignalAO

Tipos de Datos del Sistema y Rutinas 2-ISignalAO-225

Ejecución del programa

Véase la instrucción ISignalAI  para información referente a:

- Ejecución del programa

- Condición para generación de interrupción

- Más ejemplos

Los mismos principios serán válidos para ISignalAO y para ISignalAI .

Limitaciones

Los argumentos HighValue y LowValue deberán estar comprendidos entre el valormáximo lógico y el valor mí nimo lógico definidos para la señal.

 HighValue deberá ser superior a LowValue.

 DeltaValue deberá ser 0 o positivo.

Las limitaciones para la identidad de la interrupción son las mismas que para ISig-nalDO.

Sintaxis

ISignalAO[ ’ \ ’Single’,’][ Signal’:=’ ]<variable (VAR) de signalao>’,’[ Condition’:=’ ]<expresión (IN) de aiotrigg>’,’[ HighValue’:=’ ]<expresión (IN) de num>’,’[ LowValue’:=’ ]<expresión (IN) de num>’,’[ DeltaValue’:=’ ]<expresión (IN) de num>[ ’ \ ’DPos] | [ ’ \ ’DNeg] ’,’[ Interrupt’:=’ ]<variable (VAR) de intnum>’;’

Page 229: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 229/671

 ISignalAO  Instrucciones

2-ISignalAO-226 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - InterrupcionesDefinición de constantes Tipos de Datos - aiotrigg

Interrupción a partir de una señalde entrada analógica Instrucciones - ISignalAI 

Interrupción a partir de una señalde entrada digital Instrucciones - ISignalDI 

Interrupción a partir de una señalde salida digital Instrucciones - ISignalDO

Más información sobre la

gestión de interrupciones Caracterí sticas básicas - Interrupciones

Más ejemplos Tipos de Datos - intnum

Parámetros relacionados del sistema (filtro) Parámetros del Sistema -Señales de E/S

Page 230: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 230/671

 Instrucciones   ISignalDI 

Tipos de Datos del Sistema y Rutinas 2-ISignalDI-227

ISignalDI Orden de interrupción a partirde una señal de entrada digital

 ISignalDI (Interrupt Signal Digital In) sirve para ordenar y habilitar una interrupcióna partir de una señal de entrada digital.

Las señales del sistema pueden también generar interrupciones.

Ejemplos

VAR intnum sig1int;CONNECT sig1int WITH iroutine1;ISignalDI di1,1,sig1int;

Ordena una interrupción que ocurrirá cada vez que la señal de entrada digital di1 se active en 1. Luego, se realizará una llamada a la rutina de tratamiento de inter-rupciones iroutine1. 

ISignalDI di1,0,sig1int;

Ordena una interrupción que ocurrirá cada vez que la señal de entrada digital di1 se active en 0.

ISignalDI \Single, di1,1,sig1int;

Ordena una interrupción que ocurrirá únicamente la primera vez que la señal deentrada digital di1 se active en 1.

Argumentos

ISignalDI [ \Single ] Señal ValorUmbral Interrupción

[ \Single ] Tipo de dato: switch

Especifica si la interrupción debe ocurrir una sola vez o de forma cí clica.

Si el argumento Single está activado, la interrupción sólo se producirá una vezcómo máximo. Si se omite el argumento, ocurrirá una interrupción cada vez quese cumpla la condición.

Señal Tipo de dato: signaldi

Es el nombre de la señal que debe generar las interrupciones.

ValorUmbral Tipo de dato: dionum

Es el valor al que la señal debe pasar para que ocurra una interrupción.

Page 231: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 231/671

 ISignalDI   Instrucciones

2-ISignalDI-228 Tipos de Datos del Sistema y Rutinas

El valor está especificado en 0 o 1 o en un valor simbólico (por ejemplo: acti-vado/desactivado). La señal será activada por el flanco en el cambio de 0 o 1.

El valor umbral TriggValue 2 o el valor simbólico edge podrá usarse para la gen-eración de interrupciones en ambos flancos, el positivo (0 -> 1) y el negativo (1-> 0).

Interrupción Tipo de dato: intnum

Es la identidad de la interrupción. Esta deberá haber sido conectada previamentea una rutina de tratamiento de interrupciones, mediante la instrucción CON-

 NECT .

Ejecución del programa

Cuando la señal haya adoptado el valor especificado, se realizará una llamada a larutina correspondiente de tratamiento de interrupciones. Cuando esto haya sido eje-cutado, proseguirá la ejecución del programa a partir de donde ocurrió la interrupción.

En el caso en que la señal cambie al valor especificado antes de que la interrupción hayasido ordenada, no ocurrirá ninguna interrupción (véase la Figure 21).

:

Figure 21 Interrupciones a partir de una señal de entrada digital en el nivel de señal 1.

Limitaciones

La misma variable para la identidad de la interrupción no podrá utilizarse más que unavez, si en primer lugar no se borra. Las interrupciones deberán no obstante utilizarsesegún se indica en una de las siguientes alternativas.

PROC main ( )VAR intnum sig1int;CONNECT sig1int WITH iroutine1;ISignalDI di1, 1, sig1int;WHILE TRUE DO:

0

1

Nivel de la señal

La interrupción ha sido ordenada

1

0Nivel de la señal

La interrupción ha sido ordenada

Ocurre la interrupción

Ocurre la interrupción

Page 232: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 232/671

 Instrucciones   ISignalDI 

Tipos de Datos del Sistema y Rutinas 2-ISignalDI-229

:ENDWHILE

ENDPROC

Cualquier activación de una interrupción se realizará al principio del programa. Estasinstrucciones se mantendrán por tanto fuera del flujo principal del programa.

PROC main ( )VAR intnum sig1int;CONNECT sig1int WITH iroutine1;ISignalDI di1, 1, sig1int;::IDelete sig1int;

ENDPROC

La interrupción será borrada al final del programa y luego será reactivada. En este caso,deberá notarse que la interrupción está inactivada durante un corto periodo.

Sintaxis

ISignalDI[ ’ \ ’ Single’,’][ Señal ’:=’ ] < variable (VAR) de signaldi > ’,’[ ValorUmbral’:=’ ] < expresión (IN) de dionum >’,’[ Interrupción ’:=’ ] < variable (VAR) de intnum > ’;’

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - Interrupciones

Interrupción desde una señal de salida Instrucciones - ISignalDO

Más información sobre la gestión Caracterí sticas Básicas - Interrupcio-de interrupciones nes

Más ejemplos Tipos de datos - intnum

Page 233: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 233/671

 ISignalDI   Instrucciones

2-ISignalDI-230 Tipos de Datos del Sistema y Rutinas

Page 234: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 234/671

Page 235: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 235/671

 ISignalDO  Instrucciones

2-ISignalDO-232 Tipos de Datos del Sistema y Rutinas

El valor está especificado en 0 o 1 o en un valor simbólico (por ejemplo: acti-vado/desactivado). La señal será activada por el flanco en el cambio de 0 o 1.

El valor umbral TriggValue 2 o el valor simbólico edge podrá usarse para la gen-eración de interrupciones en ambos flancos, el positivo (0 -> 1) y el negativo (1-> 0).

Interrupción Tipo de dato: intnum

Es la identidad de la interrupción. Esta deberá haber sido conectada previamentea una rutina de tratamiento de interrupciones, mediante la instrucción CON-

 NECT .

Ejecución del programa

Cuando la señal haya adoptado el valor especificado 0 o 1, se realizará una llamada ala rutina correspondiente de tratamiento de interrupciones. Cuando ésta haya sido eje-cutada, proseguirá la ejecución del programa a partir de donde ocurrió la interrupción.

En el caso en que la señal cambie al valor especificado antes de que la interrupción hayasido ordenada, no ocurrirá ninguna interrupción (véase la Figure 22).

:

Figure 22 Interrupciones a partir de una señal de salida digital en el nivel de señal 1.

Limitaciones

La misma variable para la identidad de la interrupción no podrá utilizarse más que unavez, si en primer lugar no se borra. Las interrupciones deberán no obstante utilizarsesegún se indica en una de las siguientes alternativas.

PROC main ( )VAR intnum sig1int;CONNECT sig1int WITH iroutine1;ISignalDO do1, 1, sig1int;WHILE TRUE DO:

0

1

Nivel de la señal

La interrupción ha sido ordenada

1

0Nivel de la señal

La interrupción ha sido ordenada

Ocurre la interrupción

Ocurre la interrupción

Page 236: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 236/671

 Instrucciones   ISignalDO

Tipos de Datos del Sistema y Rutinas 2-ISignalDO-233

:ENDWHILE

ENDPROC

Cualquier activación de una interrupción se realizará al principio del programa. Estasinstrucciones se mantendrán por tanto fuera del flujo principal del programa.

PROC main ( )VAR intnum sig1int;CONNECT sig1int WITH iroutine1;ISignalDO do1, 1, sig1int;::IDelete sig1int;

ENDPROC

La interrupción será borrada al final del programa y luego será reactivada. En este caso,deberá notarse que la interrupción está inactivada durante un corto periodo.

Sintaxis

ISignalDO[ ’ \ ’ Single’,’][ Señal ’:=’ ] < variable (VAR) de signaldo > ’,’[ ValorUmbral’:=’ ] < expresión (IN) de dionum >’,’[ Interrupción ’:=’ ] < variable (VAR) de intnum > ’;’

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - Interrupciones

Interrupción desde una señal de entrada Instrucciones - ISignalDI 

Más información sobre la gestión Caracterí sticas Básicas - Interrupcio-de interrupciones nes

Más ejemplos Tipos de datos - intnum

Page 237: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 237/671

 ISignalDO  Instrucciones

2-ISignalDO-234 Tipos de Datos del Sistema y Rutinas

Page 238: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 238/671

 Instrucciones   ISleep

Tipos de Datos del Sistema y Rutinas 2-ISleep-235

ISleep Desactivación de una interrupción

 ISleep (Interrupt Sleep) sirve para desactivar temporalmente una interrupción individ-

ual.

Durante el tiempo de desactivación, cualquier interrupción generada del tipo especifi-cado es descartada sin ninguna ejecución de tratamiento de interrupción.

Ejemplo

ISleep sigint 1;

La interrupción sigint 1 será desactivada.

Argumentos

ISleep Interrupción

Interrupción Tipo de dato: intnum

La variable (identidad de la interrupción) de la interrupción.

Ejecución del programa

Todas las interrupciones generadas del tipo especificado son descartadas sin ningunaejecución de tratamiento de interrupciones, hasta que la interrupción haya sido reacti-vada mediante la instrucción IWatch. Las interrupciones generadas mientras la instruc-ción ISleep está activada, serán ignoradas.

Page 239: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 239/671

 ISleep  Instrucciones

2-ISleep-236 Tipos de Datos del Sistema y Rutinas

Ejemplo

VAR intnum timeint;CONNECT timeint WITH check_serialch;

ITimer 60, timeint;.ISleep timeint;WriteBin ch1, buffer, 30;IWatch timeint;.TRAP check_serialch

WriteBin ch1, buffer, 1;IF ReadBin(ch1\Time:=5) < 0 THEN

TPWrite “La comunicación serie ha sido interrumpida”;EXIT;

ENDIFENDTRAP

La comunicación realizada a través del canal serie ch1 está monitorizada medi-ante interrupciones que son generadas cada 60 segundos. La rutina de tratamientode interrupciones comprueba si la comunicación funciona o no. No obstante,mientras la comunicación está en curso, estas interrupciones no están permitidas.

Gestión de errores

Las interrupciones que no han sido ordenadas ni habilitadas no son permitidas. En elcaso en que el número de interrupción sea desconocido, la variable del sistema ERRNOse activará en ERR_UNKINO (véase “Tipos de Datos - errnum”). El error podrá serprocesado por el gestor de errores.

Sintaxis

ISleep[ Interrupción ‘:=’ ] < variable (VAR) of intnum > ‘;’

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - Interrupciones

Habilitación de interrupciones Instrucciones - IWatch

Inhabilitación de todas las interrupciones Instrucciones - IDisable

Cancelación de una interrupción Instrucciones - IDelete

Page 240: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 240/671

 Instrucciones   ITimer

Tipos de Datos del Sistema y Rutinas 2-ITimer-237

ITimer Ordena una interrupción temporizada

 ITimer (Interrupt Timer) sirve para ordenar y habilitar una interrupción temporizada.

Esta instrucción puede utilizarse, por ejemplo, para comprobar el estado del equipoperif érico a cada instante.

Ejemplos

VAR intnum intemps;CONNECT intemps WITH rutinaint1;ITimer 60, intemps;

Ordena una interrupción que ocurrirá cí clicamente cada 60 segundos. Se real-izará entonces una llamada a la rutina de tratamiento de interrupcionesrutinaint1.

ITimer \Single, 60, intemps;

Ordena una interrupción que ocurrirá una sola vez, después de 60 segundos.

Argumentos

ITimer [ \Single ] Tiempo Interrupción

[ \Single ] Tipo de dato: switch

Especifica si la interrupción debe ocurrir una sola vez o cí clicamente.

En el caso en que se active el argumento Single, la interrupción sólo se producirá una vez. Si se omite el argumento, la interrupción ocurrirá cada vez en elmomento especificado.

Tiempo Tipo de dato: num

Es el intervalo de tiempo que debe transcurrir antes de que ocurra la interrupción.

El valor deberá ser especificado en segundos. Si se activa Single, este tiempo nopodrá ser inferior a 0,05 segundos. El tiempo correspondiente utilizado para lasinterrupciones cí clicas es de 0,25 segundos.

Interrupción Tipo de dato: intnum

Es la variable (identidad de la interrupción) de la interrupción. Esta deberá habersido conectada previamente a una rutina de tratamiento de interrupciones medi-ante la instrucción CONNECT .

Page 241: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 241/671

Page 242: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 242/671

 Instrucciones   ITimer

Tipos de Datos del Sistema y Rutinas 2-ITimer-239

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - InterrupcionesMás información sobre la gestión Caracterí sticas Básicas - Interrupcio-de las interrupciones nes

Page 243: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 243/671

 ITimer  Instrucciones

2-ITimer-240 Tipos de Datos del Sistema y Rutinas

Page 244: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 244/671

 Instrucciones   IVarVal 

Tipos de Datos del Sistema y Rutinas 2-IVarVal-241

IVarValue Ordena una interrupciónde un valor de variable

 IvarValue ( Interrupt Variable Value)sirve para ordenar y habilitar una interrupcióncuando el valor de una variable a la que se ha accedido mediante el interface de sensorserie, ha sido cambiado.

Esta instrucción puede utilizarse, por ejemplo, para obtener el volumen de costura ovalores de apertura gracias a un sensor de costura.

Ejemplos

LOCAL PERS num adtVlt{25}:=[1,1.2,1.4,1.6,1.8,2,2.16667,2.33333,2.5,...];LOCAL PERS num adptWfd{25}:=[2,2.2,2.4,2.6,2.8,3,3.16667,3.33333,3.5,...];LOCAL PERS num adptSpd{25}:=10,12,14,16,18,20,21.6667,23.3333,25[,...];LOCAL CONST num GAP_VARIABLE_NO:=11;PERS num gap_value;VAR intnum IntAdap;

PROC main()! Activar la interrupción. La rutina de tratamiento de interrupciones AdapTrp será ! llamada cuando la variable gap con el número ‘GAP_VARIABLE_NO’ en! el interface de sensor haya sido cambiada. El valor nuevo estará disponible! en el valor de la variable PERS gp_value.

CONNECT IntAdap WITH AdapTrp;IVarValue GAP_VARIABLE_NO, gap_value, IntAdap;

! Iniciar la soldaduraArcL\On,*,v100,adaptSm,adaptWd,adaptWv,z10,tool\j\Track:=track;ArcL\On,*,v100,adaptSm,adaptWd,adaptWv,z10,tool\j\Track:=track;

ENDPROC

TRAP AdapTrapVAR num ArrInd;

Page 245: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 245/671

 IVarVal   Instrucciones

2-IVarVal-242 Tipos de Datos del Sistema y Rutinas

! Escalar el valor gap recibidoArrInd:=ArrIndx(gap_value);

! Actualizar la variable PERS de datos de soldadura activa ‘adaptWd’ con! datos nuevos procedentes de las matrices de los parámetros predefinidos! El valor gap escalado es utilizado como í ndice en las matrices de tensión,! alimentación de hilo y velocidad.adaptWd.weld_voltage:=adptVlt{ArrInd};adaptWd.weld_wirefeed:=adptWfd{ArrInd};adaptWd.weld_speed:=adptSpd{ArrInd};

!Petición de renovación de los parámetros AW utilizando los datos nuevos!inadaptWdArcRefresh;

ENDTRAP

Argumentos

IVarValue NºVar Valor, Interrupción

NºVar Tipo de dato: num

Especifica el número de la variable que debe ser supervisada.

Valor Tipo de dato: num

Una variable PERS que contendrá el nuevo valor de NºVar.

Interrupción Tipo de dato: intnum

Es la variable (identidad de la interrupción) de la interrupción. Esta deberá habersido conectada previamente a una rutina de tratamiento de interrupciones medi-ante la instrucción CONNECT .

Ejecución del programa

La rutina de tratamiento de interrupciones correspondiente será llamada automática-mente en un momento preciso según la orden de interrupción. Cuando esto haya sidoejecutado, proseguirá la ejecución del programa a partir de donde se produjo la inter-rupción.

Limitaciones

La misma variable para la identidad de interrupción no podrá ser utilizada más de cincoveces, sin ser borrada en primer lugar.

Page 246: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 246/671

 Instrucciones   IVarVal 

Tipos de Datos del Sistema y Rutinas 2-IVarVal-243

Sintaxis

IVarValue[ NºVar ’:=’ ] < expresión (IN) de num >’,’[ Valor ’:=’ ] < persistente (PERS) de num >’,’[ Interrupción ’:=’ ] < variable (VAR) de intnum > ’;’

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - Interrupciones

Más información sobre la gestión Caracterí sticas Básicas - Interrupcio-de las interrupciones nes

Page 247: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 247/671

 IVarVal   Instrucciones

2-IVarVal-244 Tipos de Datos del Sistema y Rutinas

Page 248: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 248/671

 Instrucciones   IWatch

Tipos de Datos del Sistema y Rutinas 2-IWatch-245

IWatch Activación de una interrupción

 IWatch (Interrupt Watch) sirve para activar una interrupción que ha sido previamente

ordenada pero que habí a sido desactivada mediante la instrucción ISleep.

Ejemplo

IWatch sig1int;

La interrupción sig1int, que habí a sido previamente desactivada, será activada.

Argumentos

IWatch Interrupción

Interrupción Tipo de dato: intnum

La variable (identidad de la interrupción) de la interrupción.

Ejecución del programa

Vuelve a sig1intactivar las interrupciones del tipo especificado. Las interrupciones quehan sido generadas mientras la instrucción ISleep estaba activada, serán ignoradas.

Ejemplo

VAR intnum sig1int;CONNECT sig1int WITH iroutine1;ISignalDI di1,1,sig1int;.ISleep sig1int;

weldpart1;IWatch sig1int;

Durante la ejecución de la rutina weldpart1, no se permitirá ninguna interrupciónprocedente de la señal di1.

Gestión de errores

Las interrupciones que no han sido ordenadas no serán permitidas. En el caso en queel número de interrupción sea desconocido, la variable del sistema ERRNO se activará en ERR_UNKINO (véase “Tipos de Datos - errnum”). El error podrá ser procesado porel gestor de errores.

Page 249: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 249/671

 IWatch  Instrucciones

2-IWatch-246 Tipos de Datos del Sistema y Rutinas

Sintaxis

IWatch[ Interrupción ‘:=’ ] < variable (VAR) de intnum > ‘;’

Información relacionada

Descrita en:

Resumen de interrupciones Resumen RAPID - Interrupciones

Desactivación de una interrupción Instrucciones - ISleep

Page 250: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 250/671

 Instrucciones   label 

Tipos de Datos del Sistema y Rutinas 2-label-247

label Nombre de lí nea

 Label sirve para dar nombre a una lí nea del programa. Utilizando la instrucción GOTO,

este nombre podrá utilizarse para desplazar la ejecución del programa a esa lí nea.

Ejemplo

GOTO sig;.

sig:

La ejecución del programa continúa con la instrucción que viene después de sig.

Argumentos

Label:

Label Identificador

El nombre que se desea dar a la lí nea.

Ejecución del programa

No pasa nada cuando se ejecuta esta instrucción.

Limitaciones

La etiqueta no debe ser nunca la misma que

- otra etiqueta dentro de la misma rutina,

- ningún nombre de dato dentro de la misma rutina.

Una etiqueta esconde datos globales y rutinas con el mismo nombre dentro de la rutinaen que está localizada.

Sintaxis

(EBNF)

<identificador>’:’

Page 251: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 251/671

label   Instrucciones

2-label-248 Tipos de Datos del Sistema y Rutinas

Información Relacionada

Descrita en:

Identificadores Caracterí sticas Básicas - Elementos Básicos

Mover la ejecución de un programa Instrucciones - GOTOa una etiqueta

Page 252: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 252/671

 Instrucciones   Load 

Tipos de Datos del Sistema y Rutinas 2-Load-249

Load Cargar un módulo de programadurante la ejecución

 Load sirve para cargar un módulo de programa en la memoria de programa durante laejecución.

El módulo de programa cargado será añadido a los módulos ya existentes de la memo-ria de programa.

Un módulo del sistema o del programa puede cargarse en el modo estático (pordefecto) o en el modo dinámico.

Modo estático

Modo dinámico

Los módulo cargados en modo estático o dinámico podrán ser descargados mediantela instrucción UnLoad .

Ejemplo

Load \Dynamic, ram1disk \File:="PART_A.MOD";

Cargar  el módulo de programa PART_A.MOD a partir de ram1disk  a la memoriade programa. (ram1disk  es una constante de cadena predefinida "ram1disk:").Cargar el módulo del programa en el modo dinámico.

Tabla 1 C ómo distintas operaciones afectan los módulos del programa o del sistema cargadosen modo est ático

Colocar el punto de arranque

del programa en main desde la

unidad de programación

Abrir un programa nuevo

RAPID

Módulo de Programa No afectado Descargado

Módulo de Sistema No afectado No afectado

Tabla 2 C ómo distintas operaciones afectan los módulos del programa o del sistema cargadosen modo dinámico

Colocar el punto de arranque

del programa en main desde la

unidad de programación

Abrir un programa nuevo

RAPID

Módulo de Programa Descargado Descargado

Módulo de Sistema Descargado Descargado

Page 253: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 253/671

 Load   Instrucciones

2-Load-250 Tipos de Datos del Sistema y Rutinas

Argumentos

Cargar [\Dynamic] TrayectoriadeArchivo [\File]

[\Dynamic] Tipo de dato: switch

La opción interruptor permite cargar un módulo de programa en el mododinámico. De lo contrario, la operación de carga se llevará a cabo en el modoestático.

TrayectoriadeArchivo Tipo de dato: string

Es la trayectoria de archivo y el nombre del archivo que será cargado en la memo-ria de programa. El nombre de archivo deberá ser excluido cuando se utiliza elargumento \Archivo.

[\File] Tipo de dato: string

Si el nombre de archivo ha sido excluido del argumento TrayectoriadeArchivo,entonces deberá ser definido con este argumento.

Ejecución del programa

La ejecución del programa espera que el módulo del programa haya acabado la secuen-cia de carga antes de proseguir con la siguiente instrucción.

Para obtener una buena estructura de programa, que sea f ácil de entender y de man-tener, todas las secuencias de carga y descarga de módulos de programa deberán real-izarse desde el módulo principal que está siempre presente en la memoria del programadurante la ejecución.

Una vez que el programa ha sido cargado será enlazado e inicializado. La inicializacióndel módulo cargado tiene por efecto poner todas las variables al nivel del módulo a susvalores iniciales. Las referencias no resueltas serán aceptadas si el parámetro delsistema para Tasks ha sido activado ( BindRef  = NO). No obstante, cuando el programaes arrancado o cuando se usa la función de la unidad de programación Programa/ 

Archivo/Comprobar, no se llevará a cabo ninguna comprobación de las referencias noresueltas si el parámetro BindRef = NO. Se producirá un error de funcionamiento en elmomento de la ejecución de una referencia no resuelta.

Ejemplos

Load \Dynamic, "ram1disk:DOORDIR/DOOR1.MOD";

Carga del módulo de programa DOOR1.MOD a partir de ram1disk  al directorio DOORDIR de la memoria de programa. El módulo del programa es cargado en

el modo dinámico.

Page 254: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 254/671

 Instrucciones   Load 

Tipos de Datos del Sistema y Rutinas 2-Load-251

Load \Dynamic, "ram1disk:" \File:="DOORDIR/DOOR1.MOD";

Igual que el ejemplo anterior pero con una sintaxis diferente.

Load "ram1disk:" \File:="DOORDIR/DOOR1.MOD";

Igual que los dos ejemplos anteriores pero el módulo es cargado en el modoestático.

Limitaciones

No se permitirá cargar un módulo de programa que contenga una rutina principal.

Se deberá evitar movimientos del robot durante la secuencia de carga.

Se deberá evitar la utilización del disco flexible para la secuencia de carga dado que launidad de disco flexible tarda más tiempo.

Gestión de errores

En el caso en que el archivo especificado en las instrucciones Load  no se encuentre,entonces la variable del sistema ERRNO se activará en ERR_FILNOTFND. En el casoen que el módulo esté ya cargado en la memoria de programa, entonces la variable delsistema ERRNO pasará a ser ERR_LOADED (véase "Tipos de Datos - errnum"). Estos

errores podrán ser manipulados por el gestor de errores.

Sintaxis

Cargar[‘ \ ’Dynamic ‘,’][FilePath’:=’]<expresión (IN) de string>[’ \ ’File’:=’ <expresión (IN) de string>]’;’

Información relacionada

Descrita en:

Descargar un módulo de programa Instrucciones - UnLoad 

Cargar un módulo de programa en paralelo junto con la ejecución de otro programa Instrucciones - StartLoad-WaitLoad 

Aceptar referencias no resueltas Parámetros del Sistema - Controlador Tasks - BindRef 

Page 255: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 255/671

 Load   Instrucciones

2-Load-252 Tipos de Datos del Sistema y Rutinas

Page 256: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 256/671

 Instrucciones   MechUnitLoad 

Tipos de Datos del Sistema y Rutinas 2-MechUnitLoad-253

MechUnitLoad Definición de una carga útilpara una unidad mecánica

 MechUnitLoad sirve para definir una carga útil para una unidad mecánica externa.(La carga útil del robot está definida con la instrucción GripLoad )

Para conseguir la mejor optimización del movimiento se deberá utilizar esta instruc-ción para todas las unidades mecánicas de modelo dinámico en servo.

La instrucción MechUnitLoad  deberá siempre ser ejecutada después de la ejecución dela instrucción ActUnit .

Ejemplo

Figure 23 Una unidad mecánica del tipo IRBP_L

ActUnit IRBP_L;MechUnitLoad IRBP_L, 1, load0;

Activación de la unidad mecánica IRBP_L y definición de la carga útil load0 quecorresponde a ninguna carga montada en el eje 1.

ActUnit IRBP_L;MechUnitLoad IRBP_L, 1, fixture1;

Activación de la unidad mecánica IRBP_L y definición de la carga útil fixture1que corresponde a la fijación fixture1 montada en el eje 1.

ActUnit IRBP_L;MechUnitLoad IRBP_L, 1, workpiece1;

Activación de la unidad mecánica IRBP_L y definición de la carga útilworkpiece1 que corresponde a la fijación y al objeto de trabajo denominadoworkpiece1 montados en el eje 1.

IRBP_L

eje 1

 

Page 257: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 257/671

 MechUnitLoad   Instrucciones

2-MechUnitLoad-254 Tipos de Datos del Sistema y Rutinas

Argumentos

MechUnitLoad UnidadMecánica NºEje Carga

UnidadMecánica (Unidad Mecánica) Tipo de dato: mecunit 

Es el nombre de la unidad mecánica.

NºEje  (N úmero de Eje) Tipo de dato: num

Es el número de eje dentro de la unidad mecánica, que sostiene la carga.

Carga Tipo de dato: loaddata

Son los datos de carga que describen la carga útil actual que va a ser definida.

Ejecución del programa

Después de la ejecución de MechUnitLoad , y cuando el robot y los ejes externos se handetenido, la carga especí fica será definida para la unidad mecánica y el eje especifica-dos. Ello significa que la carga útil es controlada y monitorizada por el sistema de con-trol.

La carga útil por defecto en el momento de la puesta en marcha en frí o para cierto tipode unidad mecánica está constituida por la carga útil máxima predefinida para este tipo

de unidad mecánica.

Si se usa alguna otra carga útil, la carga útil actual de la unidad mecánica y el eje deberá ser definida de nuevo mediante esta instrucción. Ello deberá siempre llevarse a cabodespués de la activación de la unidad mecánica.

La carga útil definida permanece después de un rearranque de la fuente de alimentacióntras un fallo.La carga útil definida también permanece tras un rearranque del programa después dela activación manual de alguna otra unidad mecánica a partir de la ventana de mov-imiento.

Figure 24 Carga útil montada en el dispositivo final de una unidad mecánica.

Z

X

Centro de gravedad de la carga útil (fijación + pieza de trabajo)

Pieza de trabajo

Y Unidad mecánica

Sistema de coordenadas del dispositivo finalpara la unidad mecánica

Fijación

Page 258: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 258/671

 Instrucciones   MechUnitLoad 

Tipos de Datos del Sistema y Rutinas 2-MechUnitLoad-255

Ejemplo

Figure 25 Una unidad mecánica denominada IRBP_K del tipo IRBP K con tres ejes.

MoveL homeside1, v1000, fine, gun1;...ActUnit IRBP_K;

La unidad mecánica entera IRBP_K es activada.

MechUnitLoad IRBP_K, 2, workpiece1;

Definición de la carga útil workpiece1 en el eje 2 de la unidad mecánica IRBP_K .

MechUnitLoad IRBP_K, 3, workpiece2;

Definición de la carga útil workpiece2 en el eje 3 de la unidad mecánica IRBP_K .

MoveL homeside2, v1000, fine, gun1

Los ejes de la unidad mecánica IRBP_K  se mueven a la posición inicialhomeside2 con la carga útil montada en los ejes 2 y 3.

Limitaciones

La instrucción de movimiento previa a esta instrucción deberá terminar con un puntode paro a fin de poder llevar a cabo un rearranque en esta instrucción después de unfallo de alimentación general.

eje 2

eje 3

eje 1

IRBP_K

Page 259: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 259/671

 MechUnitLoad   Instrucciones

2-MechUnitLoad-256 Tipos de Datos del Sistema y Rutinas

Sintaxis

MechUnitLoad[UnidadMecánica ’:=’ ] < variable (VAR) de mecunit > ’,’[NºEje ‘:=’ ] <expresión (IN) de num ‘,’[ Carga ’:=’ ] < persistente (PERS) de loaddata > ’;’

Información relacionada

Descrita en:

Identificación de la carga útil para unidades ID de carga & Detección de Colisionesmecánicas externas - Programa muloadid.prg

Unidades mecánicas Tipos de Datos - mecunit 

Definición de los datos de carga Tipos de Datos - loaddata

Definición de la carga útil del robot Instrucciones - GripLoad Tipos de Datos - tooldata

Page 260: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 260/671

 Instrucciones   MoveCSync

Tipos de Datos del Sistema y Rutinas 2-MoveCSync-257

MoveCSync Movimiento circular del roboty ejecución de un proceso RAPID

 MoveCSync ( Move Circular Synchronously) sirve para mover el punto central de laherramienta (TCP) de forma circular hasta un destino especí fico. El proceso RAPIDespecí ficado se ejecuta en el medio de la trayectoria esquina en el punto de destino.Durante el movimiento, la orientación suele permanecer la misma respecto al cí rculo.

Ejemplos

MoveCSync p1, p2, v500, z30,herram2, “proc1”;

El TCP de la herramienta, herram2, se mueve de forma circular a la posición p2, con un dato de velocidad de v500 y un dato de zona de z30. El cí rculo es definidoa partir de la posición de inicio, del punto de cí rculo p1 y del punto de destino

 p2. El proceso proc1 es ejecutado en el medio de la trayectoria esquina en p2.

Argumentos

MoveCSync PuntoCir AlPunto Veloc [ \T ] Zona Herram[\WObj ] NombreProc

PuntoCir Tipo de dato: robtarget 

Es el punto circular del robot. El punto circular es una posición situada en el cí r-culo entre el punto de inicio y el punto de destino. Para obtener la mejor preci-sión, deberá estar situado aproximadamente a medio camino entre el punto deinicio y el punto de destino. Si se encuentra demasiado cerca del punto de inicioo del punto de destino, puede ocurrir que el robot produzca un mensaje de aviso.El punto circular está definido como una posición nombrada o es almacenadodirectamente en la instrucción (aparece marcado con un asterisco * en la instruc-ción). La posición de los ejes externos no es utilizada.

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (aparecemarcado con un asterisco * en la instrucción).

Veloc Tipo de dato: speeddata

Es el dato de velocidad que se aplica a los movimientos. El dato de velocidaddefine la velocidad para el punto central de la herramienta, para la reorientaciónde la herramienta y para los ejes externos.

Page 261: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 261/671

Page 262: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 262/671

 Instrucciones   MoveCSync

Tipos de Datos del Sistema y Rutinas 2-MoveCSync-259

Para los puntos de paro, recomendamos la utilización de una secuencia de programa-ción “normal” con la instrucción MoveC  + otras instrucciones RAPID en secuencia.

La ejecución del proceso RAPID especificado, en diferentes modos de ejecución:

Modo de ejecución: Ejecución del proceso RAPID:

Continua o Ciclo De acuerdo con esta descripción

Paso hacia adelante En el punto de paro

Paso hacia atrás No

Limitación

Las limitaciones generales especificadas para la instrucción MoveC.

El cambio de modo de ejecución después de un paro de programa, es decir el paso deuna ejecución continua o de ciclo a una ejecución paso a paso hacia adelante o haciaatrás, ha provocado un error. Este error indica al usuario que el cambio de modo puedehaber provocado una ejecución errónea del proceso RAPID en la cola de ejecución enla trayectoria. Este error puede ser evitado si se detiene el programa con la instrucciónStopInstr antes del cambio de modo.

La instrucción MoveCSync no podrá utilizarse en el nivel de tratamiento de interrup-ciones.El proceso RAPID especificado no podrá ser comprobado con la ejecución paso a paso.

Sintaxis

MoveCSync[ PuntoCir ’:=’ ] < expresión (IN) de robtarget  > ’,’[ AlPunto ’:=’ ] < expresión (IN) de robtarget  > ’,’[ Veloc ’:=’ ] < expresión (IN) de speeddata >

 [ ’ \ ’ T ’:=’ < expresión (IN) de num > ] ’,’[ Zona ’:=’ ] < expresión (IN) de zonedata > ’,’[ Herram ’:=’ ] < persistente (PERS) de tooldata >

[ ’ \ ’ WObj ’:=’ < persistente (PERS) de wobjdata > ] ’,’[ NombreProc ‘:=’ ] < expresión (IN) de string > ] ’;’

Page 263: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 263/671

 MoveCSync  Instrucciones

2-MoveCSync-260 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Otras instrucciones de posicionamiento Resumen RAPID - MovimientoDefinición de la velocidad Tipo de datos - speeddata

Definición de los datos de zona Tipo de datos - zonedata

Definición de las herramientas Tipo de datos - tooldata

Definición de los objetos de trabajo Tipo 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

Page 264: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 264/671

 Instrucciones   MoveAbsJ 

Guí a de Referencia RAPID 8-MoveAbsJ-261

MoveAbsJ Movimiento del robot a una posiciónde ejes absoluta

 MoveAbsJ  ( Move Absolute Joint ) sirve para mover el robot a una posición absoluta,definida en las posiciones de los ejes.

Se deberá utilizar esta instrucción únicamente en los siguientes casos:

- cuando el punto final es un punto singular

- para posiciones ambiguas en el IRB 6400C, por ejemplo, para movimientosrealizados con la herramienta por encima del robot.

La posición final del robot, durante un movimiento realizado con MoveAbsJ, no se verá afectada por la herramienta ni el objeto de trabajo determinados ni por un desplaza-

miento del programa activo. No obstante, el robot utiliza estos datos para calcular lacarga, la velocidad del TCP, y la trayectoria esquina. Se podrán utilizar las mismasherramientas que las utilizadas en instrucciones de movimiento adyacentes.

El robot y los ejes externos se mueven a la posición de destino siguiendo una trayec-toria que no es lineal. Todos los ejes alcanzan la posición de destino al mismo tiempo.

Ejemplos

MoveAbsJ p50, v1000, z50, herram2;

El robot con la herramienta herram2, se moverá siguiendo una trayectoria queno es lineal, a la posición de eje absoluta p50, con un dato de velocidad de v1000 y un dato de zona de z50.

MoveAbsJ *, v1000\T:=5, fine, pinza3;

El robot con la herramienta pinza3, se moverá siguiendo una trayectoria que noes lineal, a un punto de paro que es almacenado como una posición de ejes abso-luta en la instrucción (marcado con un asterisco *). El movimiento completodura unos 5 s.

Argumentos

MoveAbsJ [ \Conc ] APosEje [\NoEOffs] Velocidad [ \V ] | [ \T ]Zona [ \Z ] Herramienta [ \WObj ]

[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones siguientes se ejecutarán mientras el robot está en movimiento.El argumento sirve para acortar el tiempo de ciclo, cuando, por ejemplo, se rea-

liza una comunicación con el equipo externo, siempre y cuando no se esté utili-zando la sincronización.

Page 265: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 265/671

Page 266: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 266/671

 Instrucciones   MoveAbsJ 

Guí a de Referencia RAPID 8-MoveAbsJ-263

La posición del TCP y la carga en la herramienta están definidos en los datos deherramienta. La posición del TCP sirve para decidir la velocidad y la trayectoriaesquina del movimiento.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo utilizado durante el movimiento.

Este argumento podrá ser omitido si la herramienta es sujetada por el robot. Noobstante, si el robot sujeta el objeto de trabajo, es decir, si la herramienta es esta-cionaria, o con ejes externos coordinados, entonces se deberá especificar esteargumento.

En el caso de una herramienta estacionaria o de ejes externos coordinados, losdatos utilizados por el sistema para decidir la velocidad y la trayectoria esquinadel movimiento, se encuentran definidos en el objeto de trabajo.

Ejecución del programa

Un movimiento realizado con la instrucción MoveAbsJ no se verá afectado por un des-plazamiento de programa activo y si es ejecutado con la opción \NoEOffs no habrá off-set para los ejes externos.Sin la opción \NoEOffs los ejes externos en su punto de destino se verán afectados porel offset de ejes externos activado.

La herramienta se moverá a la posición eje absoluta de destino, con una interpolación

de los ángulos de los ejes. Esto significa que cada eje se mueve a una velocidad de ejesconstante y que todos los ejes alcanzan la posición eje de destino al mismo tiempo, loque resulta en una trayectoria que no es lineal.

De forma general, el TCP se mueve a la velocidad programada aproximada. La herra-mienta es reorientada y los ejes externos se mueven al mismo tiempo que el TCP. Enel caso en que el sistema no sea capaz de alcanzar la velocidad programada para lareorientación o para los ejes externos, la velocidad del TCP será reducida.

Una trayectoria esquina suele ser generada cuando un movimiento es transferido a lasiguiente sección de la trayectoria. En el caso en que se haya especificado un punto deparo en los datos de zona, la ejecución del programa sólo continuará cuando el robot ylos ejes externos hayan alcanzado la posición de ejes aproximada.

Ejemplos

MoveAbsJ *, v2000\V:=2200, z40 \Z:=45, pinza3;

La herramienta, pinza3, se moverá siguiendo una trayectoria que no es lineal auna posición de ejes absoluta almacenada en la instrucción. El movimiento sellevará a cabo con los datos activos en v2000 y z40, la velocidad y el tamaño de

zona del TCP son de 2200 mm/s y 45 mm respectivamente.

Page 267: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 267/671

 MoveAbsJ   Instrucciones

8-MoveAbsJ-264 Guí a de Referencia RAPID

MoveAbsJ \Conc, *, v2000, z40, pinza3;

La herramienta, pinza3, se moverá siguiendo una trayectoria que no es lineal auna posición de ejes absoluta almacenada en la instrucción. Las instruccioneslógicas siguientes son ejecutadas mientras el robot se está moviendo.

MoveAbsJ \Conc, * \NoEOffs, v2000, z40, grip3;

El mismo movimiento que en el punto anterior, pero el movimiento no se verá afectado por los offsets activos de los ejes externos.

GripLoad obj_mass;MoveAbsJ start, v2000, z40, grip3 \WObj:= obj;

El robot mueve el objeto de trabajo obj, respecto a la herramienta fija pinza3 siguiendo una trayectoria que no es lineal, a una posición de ejes absoluta de

arranque (start).

Gestión de errores

Cuando se va a ejecutar el programa, el sistema realiza una comprobación de que losargumentos Herram y \WObj no contienen datos contradictorios respecto a una herra-mienta móvil o estacionaria respectivamente.

LimitacionesPara ser capaz de retroceder la ejecución en una situación en que la instrucción

 MoveAbsJ  esté implicada, y para evitar problemas con puntos singulares o áreas ambi-guas, es esencial que las instrucciones siguientes cumplan ciertos requisitos, según seindica en la figura siguiente (véase la Figura 1).

Figura 1 Limitación para la ejecución hacia atr ás en un movimiento con la instrucción MoveAbsJ.

MoveAbsJ

MoveJ

Punto singular

MoveAbsJ

MoveAbsJCualquier instrucc.

 Area ambigua

de movimiento

Page 268: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 268/671

 Instrucciones   MoveAbsJ 

Guí a de Referencia RAPID 8-MoveAbsJ-265

Sintaxis

MoveAbsJ[ ’ \ ’ Conc ’,’ ][ ToJointPos ’:=’ ] < expresión (IN) de jointtarget  > ’,’[ ’ \ ’ NoEoffs ] ’,’[ 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 ’:=’ ] < persistente (PERS) de tooldata >[ ’ \ ’ WObj ’:=’ < persistente (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

Page 269: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 269/671

 MoveAbsJ   Instrucciones

8-MoveAbsJ-266 Guí a de Referencia RAPID

Page 270: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 270/671

 Instrucciones   MoveC 

Tipos de Datos del Sistema y Rutinas 2-MoveC-267

MoveC Movimiento circular del robot

 MoveC  (Move Circular) sirve para mover el punto central de la herramienta (TCP) de

forma circular a un destino especí fico. Durante el movimiento, la orientación suele per-manecer constante respecto al cí rculo.

Ejemplos

MoveC p1, p2, v500, z30, herram2;

El TCP de la herramienta, herram2, se moverá de forma circular a la posición p2, con un dato de velocidad de v500 y un dato de zona de z30. El cí rculo sedefine a partir de la posición de arranque, el punto de cí rculo p1 y el punto de

destino p2.

MoveC *, *, v500 \T:=5, fine, pinza3;

El TCP de la herramienta, pinza3, se moverá de forma circular a un punto finoalmacenado en la instrucción (marcado por el segundo asterisco *). El punto decí rculo también está almacenado en la instrucción (marcado por el primer aste-risco *). El movimiento completo tarda 5 segundos en realizarse.

MoveL p1, v500, fine, herram1;MoveC p2, p3, v500, z20, herram1;MoveC p4, p1, v500, fine, herram1;

Para realizar un cí rculo completo, las posiciones deben ser las mismas que lasque se indican en la Figura 2.

Figura 2 Un cí rculo completo se realiza mediante dos instrucciones MoveC.

Argumentos

MoveC [ \Conc ] PuntoCirculo AlPunto Velocidad [ \V ] | [ \T ]

p1

p3

p2p4

Page 271: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 271/671

 MoveC   Instrucciones

2-MoveC-268 Tipos de Datos del Sistema y Rutinas

Zona [ \Z] Herramienta [ \WObj ] [ \Corr ]

[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones siguientes se ejecutarán inmediatamente. Este argumento sirvepara acortar el tiempo de ciclo cuando, por ejemplo, se está comunicando con elequipo externo, si no se requiere ninguna sincronización.

Utilizando el argumento \Conc, el número de instrucciones de movimiento quese suceden está limitado a 5. En una sección de programa que incluye StorePath-

 RestoPath, no se permitirá la presencia de instrucciones de movimiento con elargumento \Conc.

Si se omite este argumento y que AlPunto no es un punto de paro, la instrucciónsiguiente se ejecutará poco tiempo antes de que el robot haya alcanzado la zonaprogramada.

PuntoCí rculo Tipo de dato: robtarget 

Es el punto de cí rculo del robot. El punto de cí rculo es una posición en el cí rculo,entre el punto de arranque y el punto de destino. Para obteber una mayor preci-sión, deberá estar situado aproximadamente a mitad de camino entre el punto dearranque y el punto de destino. Si está situado demasiado cerca del punto dearranque o del punto de destino, el robot puede generar un aviso. El punto de cí r-culo está definido como una posición nombrada o es almacenado directamente enla instrucción (marcado con un asterisco * en la instrucción). Las posiciones delos ejes externos no son utilizadas.

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (marcado conun asterisco * en la instrucción).

Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velo-cidad definen la velocidad del TCP, la reorientación de la herramienta y los ejesexternos.

[ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamenteen la instrucción. Luego, será substituido por la velocidad correspondiente espe-cificada en los datos de velocidad.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot y los ejes externos se mueven. Luego, será substituido por los datos develocidad correspondientes.

Page 272: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 272/671

Page 273: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 273/671

 MoveC   Instrucciones

2-MoveC-270 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

El robot y las unidades externas se moverán al punto de destino de la siguiente manera:

- El TCP de la herramienta se moverá de forma circular a la velocidad constanteprogramada.

- La herramienta es reorientada a una velocidad constante desde la orientación dela posición de arranque a la orientación del punto de destino.

- La reorientación se lleva a cabo respecto a la trayectoria circular. Así , si la orien-tación respecto a la trayectoria es la misma en el punto de arranque y en el puntode destino, la respectiva orientación permanecerá constante durante el movi-miento (véase la Figura 3).

.

Figura 3 Orientación de la herramienta durante el movimiento circular.

- La orientación en el punto de cí rculo no es crí tica; sirve únicamente para distin-guir entre dos direcciones posibles de reorientación. La precisión de la reorien-tación sobre la trayectoria dependerá únicamente de la orientación en el puntode arranque y en el punto de destino.

- Los ejes externos no coordinados se ejecutan a una velocidad constante para quepuedan llegar al punto de destino al mismo tiempo que los ejes del robot. Laposición en el cí rculo no es utilizada.

En el caso en que la reorientación o los ejes externos no puedan alcanzar la velocidadprogramada, la velocidad del TCP será reducida.

Una trayectoria esquina suele ser generada cuando el movimiento es transferido a lasección siguiente de una trayectoria. Si se especifica un punto de paro en los datos dezona, la ejecución del programa únicamente continuará cuando el robot y los ejes exter-nos hayan alcanzado la posición adecuada.

Ejemplos

MoveC *, *, v500 \V:=550, z40 \Z:=45, pinza3;

El TCP de la herramienta, pinza3, se moverá de forma circular a una posición

almacenada en la instrucción. El movimiento se llevará a cabo con unos datos dev500 y z40; la velocidad y el tamaño de la zona del TCP son de 550 mm/s y de45 mm respectivamente.

Punto de arranque

Punto de

Punto de

Orientaciónde laherramienta

destino

cí rculo

Page 274: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 274/671

 Instrucciones   MoveC 

Tipos de Datos del Sistema y Rutinas 2-MoveC-271

MoveC \Conc, *, *, v500, z40, pinza3;

El TCP de la herramienta, pinza3, se moverá de forma circular a una posiciónalmacenada en la instrucción. El punto de cí rculo está también almacenado en lainstrucción. Las instrucciones lógicas siguientes se ejecutarán mientras el robotse mueve.

MoveC cir1, p15, v500, z40, pinza3 \WObj:=fijación;

El TCP de la herramienta, pinza3, se moverá de forma circular a la posición, p15,pasando por el punto de cí rculo cir1. Estas posiciones están especificadas en elsistema de coordenadas del objeto en la fijación.

Limitaciones

Un cambio del modo de ejecución, de delante hacia atrás o viceversa, mientras el robotestá parado en una trayectoria circular no será permitido y por tanto se originará unmensaje de error.

La instrucción MoveC  (o cualquier otra instrucción incluyendo un movimiento circu-lar) no deberá nunca ser arrancada desde el principio, con el TCP entre el punto de cí r-culo y el punto final. De lo contrario el robot no emprenderá la trayectoria programada(posicionamiento en torno a la trayectoria circular en otra dirección comparada con laprogramada).

El usuario deberá asegurarse de que el robot puede alcanzar el punto de cí rculo durante

la ejecución del programa y dividir el segmento del cí rculo si necesario.

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 ]’;’

Page 275: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 275/671

 MoveC   Instrucciones

2-MoveC-272 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Otras instrucciones de posicionamiento Resumen RAPID - MovimientoDefinició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 instruccio-nes lógicas

Page 276: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 276/671

 Instrucciones   MoveCDO

Tipos de Datos del Sistema y Rutinas 2-MoveCDO-273

MoveCDO Movimiento circular del roboty activación de una salida digital en la esquina

 MoveCDO ( Move Circular Digital Output ) sirve para mover el punto central de laherramienta (TCP) de forma circular hasta un destino especí fico. La salida digital espe-cificada será activada/reinicializada en el medio de la trayectoria esquina en el punto dedestino. Durante el movimiento, la orientación suele permanecer la misma respecto alcí rculo.

Ejemplos

MoveCDO p1, p2, v500, z30, herram2, do1,1;

El TCP de la herramienta, herram2, se moverá de forma circular a la posición p2, con un dato de velocidad de v500 y un dato de zona de z30. El cí rculo es defi-nido a partir de la posición de inicio, del punto de cí rculo p1 y del punto de des-tino p2. La salida do1 se activará en el medio de la trayectoria esquina en p2.

Argumentos

MoveCDO PuntoCir AlPunto Veloc [ \T ] Zona Herram [\WObj]Señal Valor

PuntoCir Tipo de dato: robtarget 

Es el punto circular del robot. El punto circular es una posición situada en el cí r-culo entre el punto de inicio y el punto de destino. Para obtener la mejor preci-sión, deberá estar situado aproximadamente a medio camino entre el punto deinicio y el punto de destino. Si se encuentra demasiado cerca del punto de inicioo del punto de destino, puede ocurrir que el robot produzca un mensaje de aviso.El punto circular está definido como una posición nombrada o es almacenadodirectamente en la instrucción (aparece marcado con un asterisco * en la instruc-ción). La posición de los ejes externos no es utilizada.

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (aparecemarcado con un asterisco * en la instrucción).

Veloc Tipo de dato: speeddata

Es el dato de velocidad que se aplica a los movimientos. El dato de velocidaddefine la velocidad para el punto central de la herramienta, para la reorientaciónde la herramienta y para los ejes externos.

Page 277: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 277/671

 MoveCDO  Instrucciones

2-MoveCDO-274 Tipos de Datos del Sistema y Rutinas

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot y los ejes externos se están moviendo. Luego será sustituido por el datode velocidad correspondiente.

Zona Tipo de dato: zonedata

Es el dato de zona que se aplica al movimiento. El dato de zona describe eltamaño de la trayectoria esquina generada.

Herram Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se está moviendo. El punto central de laherramienta es el punto que se mueve a la posición de destino especí fica.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas del objeto) al que se refiere laposición del robot en la instrucción.

Este argumento puede ser omitido, y en tal caso, la posición se referirá al sistemade coordenadas mundo. Si, por otro lado, se usa un TCP estacionario o ejes exter-nos coordinados, este argumento deberá ser especificado para que el cí rculopueda ser ejecutado respecto al objeto de trabajo.

Señal Tipo de dato: signaldo

Es el nombre de la señal de salida digital que se debe cambiar.

Valor Tipo de dato: dionum

Es el valor deseado de la señal (0 o 1).

Ejecución del programa

Véase la instrucción MoveC  para más información sobre los movimientos circulares.

La señal de salida digital es activada/reinicializada en el medio de la trayectoria esquinapara los puntos de paso, según las indicaciones de la Figura 1.

Page 278: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 278/671

 Instrucciones   MoveCDO

Tipos de Datos del Sistema y Rutinas 2-MoveCDO-275

.

Figura 4 Activación/Reinicialización de la señal de salida digital en la trayectoria esquina conla instrucción MoveCDO.

Para los puntos de paro recomendamos utilizar una secuencia de programación “nor-mal” con las instrucciones MoveC  + SetDO. En el caso en que se use un punto de paro

en la instrucción MoveCDO, la señal de salida digital se activará /reinicializará cuandoel robot alcance el punto de paro.

La señal de E/S especificada será activada/reinicializada en el modo de ejecución con-tinua y en el modo de ejecución paso a paso hacia adelante pero no en el modo de eje-cución paso a paso hacia atrás.

Limitaciones

Las limitaciones generales especificadas para la instrucción MoveC.

Sintaxis

MoveCDO[ PuntoCir ’:=’ ] < expresión (IN) de robtarget  > ’,’[ AlPunto ’:=’ ] < expresión (IN) de robtarget  > ’,’[ Veloc ’:=’ ] < expresión (IN) de speeddata >

[ ’ \ ’ T ’:=’ < expresión (IN) de num > ] ’,’[ Zona ’:=’ ] < expresión (IN) de zonedata > ’,’

[ Herram ’:=’ ] < persistente (PERS) de tooldata >[ ’ \ ’ WObj ’:=’ < persistente (PERS) de wobjdata > ] ’,’[ Señal ’:=’ ] < variable (VAR) de signaldo>] ‘,’[ Valor ‘:=’ ] < expresión (IN) de dionum > ] ’;’

Punto inicio

PuntoCir

AlPunto

Zona

Puntosiguiente

Activación/Reinicializaciónde la señal

Page 279: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 279/671

 MoveCDO  Instrucciones

2-MoveCDO-276 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Otras instrucciones de posicionamiento Resumen RAPID - MovimientoDefinición de la velocidad Tipo de datos - speeddata

Definición de los datos de zona Tipo de datos - zonedata

Definición de las herramientas Tipo de datos - tooldata

Definición de los objetos de trabajo Tipo 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

Movimientos con activación de E/S Principios de movimiento y de E/S-Sincronización utilizando instruccio-nes lógicas

Page 280: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 280/671

 Instrucciones   MoveJDO

Tipos de Datos del Sistema y Rutinas 2-MoveJDO-277

MoveJDO Movimiento eje a eje del roboty activación de una salida digital en la esquina

 MoveJDO ( Move Joint Digital Output ) sirve para mover el robot rápidamente de unpunto a otro cuando dicho movimiento no tiene que ser en lí nea recta. La señal de salidadigital especificada es activada/reinicializada en el medio de la trayectoria esquina.

El robot y los ejes externos se mueven al punto de destino siguiendo una trayectoriaque no es lineal. Todos los ejes alcanzan la posición de destino al mismo tiempo.

Ejemplos

MoveJDO p1, vmax, z30, herram2, do1, 1;

El punto central de la herramienta (TCP), herram2, se mueve siguiendo una tra-yectoria que no es lineal hasta la posición, p1, con un dato de velocidad vmax yun dato de zona de z30. La salida do1 se activa en el medio de la trayectoriaesquina en la posición p1.

Argumentos

MoveJDO AlPunto Veloc [ \T ] Zona Herram

[ \WObj ] Señal Valor

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (aparecemarcado con un asterisco * en la instrucción).

Veloc Tipo de dato: speeddata

Es el dato de velocidad que se aplica a los movimientos. El dato de velocidaddefine la velocidad para el punto central de la herramienta, para la reorientación

de la herramienta y para los ejes externos.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot se está moviendo. Luego será sustituido por el dato de velocidad corres-pondiente.

Zona Tipo de dato: zonedata

Es el dato de zona que se aplica al movimiento. El dato de zona describe eltamaño de la trayectoria esquina generada.

Page 281: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 281/671

 MoveJDO  Instrucciones

2-MoveJDO-278 Tipos de Datos del Sistema y Rutinas

Herram Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se está moviendo. El punto central de laherramienta es el punto que se mueve a la posición de destino especí ficada.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posición delrobot en la instrucción.

Este argumento puede ser omitido, y en tal caso, la posición se referirá al sistemade coordenadas mundo. Si, por otro lado, se usa un TCP estacionario o ejes exter-nos coordinados, este argumento deberá ser especificado.

Señal Tipo de dato: signaldo

Es el nombre de la señal de salida digital que se debe cambiar.

Valor Tipo de dato: dionum

Es el valor deseado de la señal (0 o 1).

Ejecución del programa

Véase la instrucción MoveJ  para más información sobre movimientos eje a eje.

La señal de salida digital es activada/reinicializada en el medio de la trayectoria esquinapara puntos de paso, de acuerdo con las indicaciones de la Figura 1.

Figura 5 Activación/Reinicialización de una señal de salida digital en la trayectoria esquina conla instrucción MoveJDO.

Para los puntos de paro recomendamos utilizar una secuencia de programación “nor-mal” con las instrucciones MoveJ  + SetDO. En el caso en que se use un punto de paroen la instrucción MoveJDO, la señal de salida digital se activará /reinicializará cuandoel robot alcance el punto de paro.

Zona

p2

p3

Activa la señal do1 en 1

 

p1

MoveJDO p2, v1000, z30, herram2, do1, 1;

Page 282: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 282/671

 Instrucciones   MoveJDO

Tipos de Datos del Sistema y Rutinas 2-MoveJDO-279

La señal de E/S especificada será activada/reinicializada en el modo de ejecucióncontinua y en el modo de ejecución hacia adelante pero no en el modo de ejecuciónhacia atrás.

Sintaxis

MoveJDO[ AlPunto ’:=’ ] < expresión (IN) de robtarget  > ’,’[ Veloc ’:=’ ] < expresión (IN) de speeddata >

[ ’ \ ’ T ’:=’ < expresión (IN) de num > ] ’,’[ Zona ’:=’ ] < expresión (IN) de zonedata > ’,’[ Herram ’:=’ ] < persistente (PERS) de tooldata >[ ’ \ ’ WObj ’:=’ < persistente (PERS) de wobjdata > ] ’,’[ Señal ’:=’ ] < variable (VAR) de signaldo>] ‘,’[ Valor ‘:=’ ] < expresión (IN) de dionum > ] ’;’

Información relacionada

Descrita en:

Otras instrucciones de posicionamiento Resumen RAPID - Movimiento

Definición de la velocidad Tipo de datos - speeddata

Definición de los datos de zona Tipo de datos - zonedata

Definición de las herramientas Tipo de datos - tooldata

Definición de los objetos de trabajo Tipo 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

Movimientos con activación de E/S Principios de movimiento y de E/S - Sin-cronización utilizando instruccioneslógicas

Page 283: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 283/671

 MoveJDO  Instrucciones

2-MoveJDO-280 Tipos de Datos del Sistema y Rutinas

Page 284: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 284/671

 Instrucciones   MoveJ 

Tipos de Datos del Sistema y Rutinas 2-MoveJ-281

MoveJ Movimiento eje a eje del robot

 MoveJ (Move Joint) sirve para mover el robot rápidamente desde un punto a otro punto

cuando este movimiento no tiene que seguir una lí nea recta.

El robot y los ejes externos se moverán a la posición de destino siguiendo una trayec-toria que no es lineal. Todos los ejes alcanzarán la posición de destino al mismo tiempo.

Ejemplos

MoveJ p1, vmax, z30, herram2;

El punto central de la herramienta (TCP), herram2, se moverá siguiendo una tra-

yectoria que no es lineal para alcanzar la posición, p1, con el dato de velocidadvmax y el dato de zona z30.

MoveJ *, vmax \T:=5, fine, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria no lineala un punto de paro almacenado en la instrucción (marcado con un asterisco *).El movimiento entero tardará 5 segundos en realizarse.

Argumentos

MoveJ [ \Conc ] AlPunto Velocidad [ \V ] | [ \T ] Zona [ \Z ]Herramienta [ \WObj ]

[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones siguientes se ejecutarán mientras el robot está en movimiento.Este argumento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se está comunicando con el equipo externo, si no se requiere ninguna sincronización.

Utilizando el argumento \Conc, el número de instrucciones de movimiento que

se suceden está limitado a 5. En una sección de programa que incluye StorePath- RestoPath, no se permitirá la presencia de instrucciones de movimiento con elargumento \Conc.

Si se omite este argumento y que el argumento AlPunto no es un punto de paro,la instrucción siguiente se ejecutará poco tiempo antes de que el robot hayaalcanzado la zona programada.

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (marcado con

un asterisco * en la instrucción).

Page 285: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 285/671

 MoveJ   Instrucciones

2-MoveJ-282 Tipos de Datos del Sistema y Rutinas

Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velo-cidad definen la velocidad del TCP, la reorientación de la herramienta y los ejesexternos.

[ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamenteen la instrucción. Luego, será sustituido por la velocidad correspondiente especi-ficada en los datos de velocidad.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot se mueve. Luego, será sustituido por los datos de velocidad correspon-

dientes.

Zona Tipo de dato: zonedata

Son los datos de zona para el movimiento. Los datos de zona describen el tamañode la trayectoria esquina generada.

[ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisión de la posición del TCP delrobot directamente en la instrucción. La longitud de la trayectoria esquina está especificada en mm, y será sustituida por la zona correspondiente especificada en

los datos de zona.

Herramienta Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se mueve. El TCP es el punto que semueve al punto de destino especí fico.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posición delrobot en la instrucción.

Este argumento puede omitirse, y en el caso en que se omita, la posición se refe-rirá al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP esta-cionario o ejes externos coordinados, este argumento deberá ser especificado.

Ejecución del programa

El punto central de la herramienta se moverá al punto de destino con una interpolaciónde los ángulos de los ejes. Ello significa que cada eje se moverá a una velocidad de ejeconstante y que todos los ejes alcanzarán el punto de destino al mismo tiempo, lo cualoriginará una trayectoria que no es lineal.

De forma general, el TCP se moverá a la velocidad programada aproximada (indepen-

Page 286: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 286/671

 Instrucciones   MoveJ 

Tipos de Datos del Sistema y Rutinas 2-MoveJ-283

dientemente de si los ejes externos están coordinados o no). La herramienta será reorientada y los ejes externos se moverán al mismo tiempo que se mueve el TCP. Enel caso en que la reorientación o los ejes externos no puedan alcanzar la velocidad pro-gramada, la velocidad del TCP será reducida.

Una trayectoria esquina suele ser generada cuando el movimiento es transferido a lasección siguiente de una trayectoria. Si se especifica un punto de paro en los datos dezona, la ejecución del programa únicamente continuará cuando el robot y los ejesexternos hayan alcanzado la posición adecuada.

Ejemplos

MoveJ *, v2000\V:=2200, z40 \Z:=45, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria que no eslineal, a una posición almacenada en la instrucción. El movimiento se llevará acabo con los datos de v2000 y z40; la velocidad y el tamaño de la zona del TCPson de 2200 mm/s y de 45 mm respectivamente.

MoveJ \Conc, *, v2000, z40, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria que no eslineal, a una posición almacenada en la instrucción. Las instrucciones lógicassiguientes se ejecutarán mientras el robot se mueve.

MoveJ arranque, v2000, z40, pinza3 \WObj:=fijación;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria que no eslineal, a una posición, arranque. Esta posición está especificada en el sistema decoordenadas del objeto, en la fijación.

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 > ] ’;’

Page 287: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 287/671

 MoveJ   Instrucciones

2-MoveJ-284 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Otras instrucciones de posicionamiento Resumen RAPID - MovimientoDefinició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 Instruccio-nes Lógicas

Page 288: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 288/671

 Instrucciones   MoveLDO

Tipos de Datos del Sistema y Rutinas 2-MoveLDO-285

MoveLDO Movimiento lineal del roboty activación de una salida digital en la esquina

 MoveLDO ( Move Linearly Digital Output ) sirve para mover el punto central de laherramienta (TCP) de forma lineal hasta un destino especí fico. La señal de salida digitalespecificada será activada/reinicializada en el medio de la trayectoria esquina.

Cuando el TCP debe permanecer estacionario, esta instrucción podrá utilizarse tam-bién para realizar la reorientación de la herramienta.

Ejemplo

MoveLDO p1, v1000, z30, herram2, do1,1;

El TCP de la herramienta, herram2, se moverá de forma lineal a la posición p1, con un dato de velocidad de v1000 y un dato de zona de z30. La salida do1 seactivará en el medio de la trayectoria esquina en p1.

Argumentos

MoveLDO AlPunto Veloc [ \T ] Zona Herram[ \WObj ] Señal Valor

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (aparecemarcado con un asterisco * en la instrucción).

Veloc Tipo de dato: speeddata

Es el dato de velocidad que se aplica a los movimientos. El dato de velocidaddefine la velocidad para el punto central de la herramienta, para la reorientaciónde la herramienta y para los ejes externos.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot se está moviendo. Luego será sustituido por el dato de velocidad corres-pondiente.

Zona Tipo de dato: zonedata

Es el dato de zona que se aplica al movimiento. El dato de zona describe eltamaño de la trayectoria esquina generada.

Page 289: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 289/671

Page 290: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 290/671

 Instrucciones   MoveLDO

Tipos de Datos del Sistema y Rutinas 2-MoveLDO-287

La señal de E/S especificada será activada/reinicializada en el modo de ejecución con-tinua y en el modo de ejecución paso a paso hacia adelante pero no en el modo de eje-cución paso a paso hacia atrás.

Sintaxis

MoveLDO[ AlPunto ’:=’ ] < expresión (IN) de robtarget  > ’,’[ Veloc ’:=’ ] < expresión (IN) de speeddata >

[ ’ \ ’ T ’:=’ < expresión (IN) de num > ] ’,’[ Zona ’:=’ ] < expresión (IN) de zonedata > ’,’[ Herram ’:=’ ] < persistente (PERS) de tooldata >[ ’ \ ’ WObj ’:=’ < persistente (PERS) de wobjdata > ] ’,’[ Señal ’:=’ ] < variable (VAR) de signaldo>] ‘,’

[ Valor ‘:=’ ] < expresión (IN) de dionum > ] ’;’

Información relacionada

Descrita en:

Otras instrucciones de posicionamiento Resumen RAPID - Movimiento

Definición de la velocidad Tipo de datos - speeddata

Definición de los datos de zona Tipo de datos - zonedata

Definición de las herramientas Tipo de datos - tooldataDefinición de los objetos de trabajo Tipo 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

Movimientos con activación de E/S Principios de movimiento y de E/S -Sincronización utilizando instruccio-nes lógicas.

Page 291: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 291/671

 MoveLDO  Instrucciones

2-MoveLDO-288 Tipos de Datos del Sistema y Rutinas

Page 292: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 292/671

 Instrucciones   MoveL

Tipos de Datos del Sistema y Rutinas 2-MoveL-289

MoveL Movimiento lineal del robot

 MoveL sirve para mover el punto central de la herramienta (TCP) de forma lineal a una

posición de destino determinada. Cuando el TCP debe permanecer estacionario, estainstrucción podrá ser utilizada también para reorientar la herramienta.

Ejemplo

MoveL p1, v1000, z30, herram2;

El TCP de la herramienta, herram2, se moverá de forma lineal a la posición p1, con un dato de velocidad de v1000 y un dato de zona de z30.

MoveL *, v1000\T:=5, fine, pinza3;

El TCP de la herramienta, pinza3, se moverá de forma lineal a un punto finoalmacenado en la instrucción (marcado con un asterisco *). El movimiento com-pleto tardará 5 segundos en llevarse a cabo.

Argumentos

MoveL [ \Conc ] AlPunto Velocidad [ \V ] | [ \T ] Zona [ \Z ]Herram [ \WObj ] [ \Corr ]

[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones siguientes se ejecutarán inmediatamente. Este argumento sirvepara acortar el tiempo de ciclo cuando, por ejemplo, se está comunicando con elequipo externo, si no se requiere ninguna sincronización.

Utilizando el argumento \Conc, el número de instrucciones de movimiento quese suceden está limitado a 5. En una sección de programa que incluye StorePath-

 RestoPath, no se permitirá la presencia de instrucciones de movimiento con elargumento \Conc.

Si se omite este argumento y que AlPunto no es un punto de paro, la instrucciónsiguiente se ejecutará poco tiempo antes de que el robot haya alcanzado la zonaespecí fica.

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (marcado conun asterisco * en la instrucción).

Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velo-cidad definen la velocidad del TCP, la reorientación de la herramienta y los ejes

Page 293: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 293/671

 MoveL  Instrucciones

2-MoveL-290 Tipos de Datos del Sistema y Rutinas

externos.

[ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directamente

en la instrucción. Luego, será sustituido por la velocidad correspondiente especi-ficada en los datos de velocidad.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot se mueve. Luego, será sustituido por los datos de velocidad correspon-dientes.

Zona Tipo de dato: zonedata

Son los datos de zona para el movimiento. Los datos de zona describen el tamañode la trayectoria esquina generada.

[ \Z ] (Zona) Tipo de dato: num

Este argumento sirve para especificar la precisión de la posición del TCP delrobot directamente en la instrucción. La longitud de la trayectoria esquina está especificada en mm, y será sustituida por la zona correspondiente especificada enlos datos de zona.

Herramienta Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se mueve. El TCP es el punto que semueve al punto de destino especí fico.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) al que se refiere la posición delrobot en la instrucción.

Este argumento puede omitirse, y en el caso en que se omita, la posición se refe-rirá al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP esta-cionario o ejes externos coordinados, este argumento deberá ser especificadopara poder realizar un movimiento lineal respecto al objeto de trabajo.

[ \Corr] (Corrección) Tipo de dato: switch

Si este argumento está presente, los datos de corrección introducidos en unaentrada de corrección mediante la instrucción CorrWrite serán añadidos a latrayectoria y a la posición de destino.

Page 294: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 294/671

 Instrucciones   MoveL

Tipos de Datos del Sistema y Rutinas 2-MoveL-291

Ejecución del programa

El robot y las unidades externas se moverán al punto de destino de la siguiente manera:

- El TCP de la herramienta se moverá de forma lineal a una velocidad progra-mada constante.

- La herramienta es reorientada a intervalos iguales sobre la trayectoria.

- Los ejes externos no coordinados se moverán a una velocidad constante paraque puedan llegar al punto de destino al mismo tiempo que los ejes del robot.

En el caso en que la reorientación o los ejes externos no puedan alcanzar la velocidadprogramada, la velocidad del TCP será reducida.

Una trayectoria esquina suele ser generada cuando el movimiento es transferido a la

sección siguiente de una trayectoria. Si se especifica un punto de paro en los datos dezona, la ejecución del programa únicamente continuará cuando el robot y los ejesexternos hayan alcanzado la posición adecuada.

Ejemplos

MoveL *, v2000 \V:=2200, z40 \Z:=45, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria lineal, auna posición almacenada en la instrucción. El movimiento se llevará a cabo con

los datos de v2000 y z40; la velocidad y el tamaño de la zona del TCP son de 2200 mm/s y de 45 mm respectivamente.

MoveJ \Conc, *, v2000, z40, pinza3;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria lineal, auna posición almacenada en la instrucción. Las instrucciones lógicas siguientesse ejecutarán mientras el robot se mueve.

MoveJ arranque, v2000, z40, pinza3 \WObj:=fijación;

El TCP de la herramienta, pinza3, se moverá siguiendo una trayectoria lineal, a

una posición, arranque. Esta posición está especificada en el sistema de coorde-nadas del objeto, en la fijación.

Page 295: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 295/671

 MoveL  Instrucciones

2-MoveL-292 Tipos de Datos del Sistema y Rutinas

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 - CorrWriteMovimiento 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 instruccio-nes lógicas

Page 296: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 296/671

 Instrucciones   MoveJSync

Tipos de Datos del Sistema y Rutinas 2-MoveJSync-293

MoveJSync Movimiento eje a eje del roboty ejecución de un proceso RAPID

 MoveJSync ( Move Joint Synchronously) sirve para mover el robot rápidamente de unpunto a otro cuando dicho movimiento no tiene que ser en lí nea recta. El procesoRAPID especificado se ejecuta en el medio de la trayectoria esquina en el punto de des-tino.

El robot y los ejes externos se mueven al punto de destino siguiendo una trayectoriaque no es lineal. Todos los ejes alcanzan la posición de destino al mismo tiempo.

Ejemplos

MoveJSync p1, vmax, z30, herram2, “proc1”;

El punto central de la herramienta (TCP), herram2, se mueve siguiendo una tra-yectoria que no es lineal hasta la posición p1, con un dato de velocidad de vmax y un dato de zona de z30. El proceso proc1 se ejecuta en el medio de la trayecto-ria en p1.

Argumentos

MoveJSync AlPunto Veloc [ \T ] Zona Herram [ \WObj ]NombreProc

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (aparecemarcado con un asterisco * en la instrucción).

Veloc Tipo de dato: speeddata

Es el dato de velocidad que se aplica a los movimientos. El dato de velocidad

define la velocidad para el punto central de la herramienta, para la reorientaciónde la herramienta y para los ejes externos.

[ \T ] (Time) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot se está moviendo. Luego será sustituido por el dato de velocidad corres-pondiente.

Zona Tipo de dato: zonedata

Es el dato de zona que se aplica al movimiento. El dato de zona describe eltamaño de la trayectoria esquina generada.

Page 297: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 297/671

 MoveJSync  Instrucciones

2-MoveJSync-294 Tipos de Datos del Sistema y Rutinas

Herram Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se está moviendo. El punto central de laherramienta es el punto que se mueve a la posición de destino especí ficada.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posición delrobot en la instrucción.

Este argumento puede ser omitido, y en tal caso, la posición se referirá al sistemade coordenadas mundo. Si, por otro lado, se usa un TCP estacionario o ejes exter-nos coordinados, este argumento deberá ser especificado.

NombreProc (Nombre del Proceso) Tipo de dato: string

Es el nombre del proceso RAPID que se debe ejecutar en medio de la trayectoriaesquina en el punto de destino.

Ejecución del programa

Véase la instrucción MoveJ para más información sobre los movimientos eje a eje.

El proceso RAPID especificado se ejecuta cuando el TCP alcanza el medio de la tra-yectoria esquina en el punto de destino de la instrucción MoveJSync de acuerdo con lasindicaciones de la Figura 1:

Figura 7 Ejecución del proceso RAPID definido por el usuario en el medio de la trayectoriaesquina.

Para los puntos de paro recomendamos utilizar una secuencia de programación “nor-mal” con la instrucción MoveJ + otras instrucciones RAPID en secuencia.

Ejecución del proceso RAPID especificado en los distintos modos de ejecución:

p3

 

p1

MoveJSync p2, v1000, z30, herram2, “my_proc”;

p2

Zona

se ejecuta my_proc

Cuando el TCP está aquí ,

Page 298: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 298/671

 Instrucciones   MoveJSync

Tipos de Datos del Sistema y Rutinas 2-MoveJSync-295

Modo de ejecución: Ejecución del proceso RAPID:

Continua o Ciclo De acuerdo con esta descripción

Paso hacia adelante En el punto de paro

Paso hacia atrás No

Limitación

El cambio de modo de ejecución después de un paro de programa, es decir el paso deuna ejecución continua o de ciclo a una ejecución paso a paso hacia adelante o haciaatrás, ha provocado un error. Este error indica al usuario que el cambio de modo puedehaber provocado una ejecución errónea del proceso RAPID en la cola de ejecución enla trayectoria. Este error puede ser evitado si se detiene el programa con la instrucciónStopInstr antes del cambio de modo.

La instrucción MoveJSync no podrá utilizarse en el nivel de tratamiento de interrupcio-nes.El proceso RAPID especificado no podrá ser comprobado con la ejecución paso a paso. 

Sintaxis

MoveJSync[ AlPunto ’:=’ ] < expresión (IN) de robtarget  > ’,’[ Veloc ’:=’ ] < expresión (IN) de speeddata >

[ ’ \ ’ T ’:=’ < expresión (IN) de num > ] ’,’[ Zona ’:=’ ] < expresión (IN) de zonedata >[ ’ \ ’ Z ‘:=’ < expresión (IN) de num > ] ’,’

[ Herram ’:=’ ] < persistente (PERS) de tooldata >[ ’ \ ’ WObj ’:=’ < persistente (PERS) de wobjdata > ] ’,’[ NombreProc‘:=’ ] < expresión (IN) de string > ] ’;’

Información relacionada

Descrita en:

Otras instrucciones de posicionamiento Resumen RAPID - Movimiento

Definición de la velocidad Tipo de datos - speeddata

Definición de los datos de zona Tipo de datos - zonedata

Definición de las herramientas Tipo de datos - tooldata

Definición de los objetos de trabajo Tipo 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

Page 299: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 299/671

 MoveJSync  Instrucciones

2-MoveJSync-296 Tipos de Datos del Sistema y Rutinas

Page 300: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 300/671

Page 301: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 301/671

 MoveLSync  Instrucciones

2-MoveLSync-298 Tipos de Datos del Sistema y Rutinas

Herramienta Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se está moviendo. El punto central de laherramienta es el punto que se mueve a la posición de destino especí ficada.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posición delrobot en la instrucción.

Este argumento puede ser omitido, y en tal caso, la posición se referirá al sistemade coordenadas mundo. Si, por otro lado, se usa un TCP estacionario o ejes exter-nos coordinados, este argumento deberá ser especificado.

NombreProc (Nombre del proceso) Tipo de dato: string

Es el nombre del proceso RAPID que debe ser ejecutado en el medio de la tra-yectoria esquina en el punto de destino.

Ejecución del programa

Véase la instrucción MoveL para más información sobre movimientos lineales.

El proceso RAPID especificado es ejecutado cuando el TCP alcanza el medio de la tra-yectoria esquina en el punto de destino de la instrucción MoveLSync según las indica-ciones de la Figura 1:

Figura 8 Ejecución del proceso RAPID definido por el usuario, en el medio de la trayectoriaesquina.

Para los puntos de paro, recomendamos la utilización de una secuencia de programa-ción “normal” con la instrucción MoveL + otras instrucciones RAPID en secuencia.

La ejecución del proceso RAPID especificado, en diferentes modos de ejecución:

p3

 

p1

MoveLSync p2, v1000, z30, tool2, “my_proc”;

p2

Zona

se ejecutará my_proc

Cuando el TCP está aquí ,

Page 302: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 302/671

Page 303: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 303/671

 MoveLSync  Instrucciones

2-MoveLSync-300 Tipos de Datos del Sistema y Rutinas

Page 304: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 304/671

 Instrucciones   Open

Tipos de Datos del Sistema y Rutinas 2-Open-301

Open Apertura de un archivo o de un canal serie

Open sirve para abrir un archivo o un canal serie para la lectura o la escritura.

Ejemplo

VAR iodev logfile;.Open "flp1:" \ File:= "LOGDIR/LOGFILE1.DOC", logfile;

El archivo LOGFILE1.DOC de la unidad flp1: (disquete), directorio LOGDIR, está abierto para la escritura. El nombre de referencia logfile se utilizará posteriormente enel programa cuando se escriba en el archivo.

Argumentos

Open Objeto [\File] Dispositivo E/S [\Read] | [\Write] | [\Append] |[\Bin]

Objeto Tipo de dato: string

Es el objeto de E/S que se desea abrir, por ejemplo, "flp1:", "ram disk:" o "sio1:"

[\File] Tipo de dato: string

Es el nombre del archivo que se desea abrir, por ejemplo "LOGDIR/ LOGFILE1.DOC"

La trayectoria completa podrá también ser especificada en el argumento Objeto,por ejemplo, "flp1:LOGDIR/LOGFILE.DOC".

Dispositivo E/S Tipo de dato: iodev

Es una referencia al archivo o al canal serie que se desea abrir. Esta referencia se

utiliza luego para las operaciones de lectura y escritura en el archivo/canal serie.

[\Read] Tipo de dato: switch

Abre un archivo o un canal serie para la lectura. Al leer un archivo, la lecturaempieza desde el principio del archivo.

[\Write] Tipo de dato: switch

Abre un archivo o un canal serie para la escritura. En el caso en que el archivoseleccionado ya exista, su contenido será borrado. Cualquier escritura realizadaa partir de entonces, se escribirá al principio del archivo.

Page 305: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 305/671

Open  Instrucciones

2-Open-302 Tipos de Datos del Sistema y Rutinas

[\Append] Tipo de dato: switch

Abre un archivo o un canal serie para la escritura. En el caso en que el archivoseleccionado ya exista, todo lo que se escribirá a partir de entonces se escribirá alfinal del archivo.

Abrir un archivo o un canal serie con el argumento \Append  y sin el argumento \Bin, significa que la instrucción abrirá un archivo o un canal serie basados encaracteres para la escritura.

Abrir un archivo o un canal serie con los argumentos \Append  y \Bin, significaque la instrucción abrirá un archivo o canal serie binarios para la lectura y laescritura.

Los argumentos \Read , \Write, \Append  son mútuamente exclusivos. Si ninguno deestos argumentos ha sido especificado, la instrucción actúa de la misma manera que el

argumento \Write para los archivos o canales basados en caracteres (instrucción sin elargumento \Bin) y de la misma manera que el argumento \Append  para los archivos ocanales serie binarios (instrucción con el argumento \Bin).

[\Bin] Tipo de dato: switch

El archivo o canal serie es abierto en un modo binario.Si no se ha especificado ninguno de los argumentos \Read , \Write o \Append , lainstrucción abrirá un archivo o un canal serie para la lectura y para la escritura,con el indicador de programa situado al final del archivo.

El conjunto de instrucciones necesarias para acceder a un archivo o un canal serie bina-

rios es distinto del conjunto de instrucciones necesarias para acceder a un archivo bas-ado en caracteres.

Ejemplo

VAR iodev printer;...Open "sio1:", printer \Bin;WriteStrBin printer, "This is a message to the printer\0D";Close printer;

El canal serie sio1: es abierto para la lectura y escritura en binario. El nombre dereferencia printer será utilizado posteriormente, al escribir y al cerrar el canalserie.

Ejecución del programa

El canal serie o archivo especificados será abierto de forma que se pueda leer o escribiren él.

Page 306: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 306/671

 Instrucciones   Open

Tipos de Datos del Sistema y Rutinas 2-Open-303

Se podrá si se desea abrir el mismo archivo f í sico varias veces simultáneamente, perocada llamada de la instrucción Open retornará una referencia distinta al archivo (tipode dato iodev). Por ejemplo, se podrá tener un indicador de escritura y un indicador delectura diferentes en el mismo archivo y al mismo tiempo.

La variable iodev utilizada cuando se abre un archivo o un canal serie deberá estarinutilizada; en el caso de haber sido utilizada previamente para abrir un archivo, estearchivo deberá haber sido cerrado antes de generar una nueva instrucción Open con lamisma variable iodev.

Gestión de errores

En el caso en que no se pueda abrir un archivo, la variable del sistema ERRNO se con-vertirá en ERR_FILEOPEN. Este error podrá ser procesado posteriormente por el

gestor de errores.

Sintaxis

Open[Objeto ’:=’] <expresión (IN) de string>[’ \ ’File’:=’ <expresión (IN) de string>’]’ ’,’[Dispositivo E/S’:=’] <variable (VAR) de iodev>[’ \ ’Read] | [’ \ ’Write] | [’ \ ’Append][’ \ ’Bin] ’;’

Información relacionada

Descrita en:

Lectura y escritura a partir de Resumen RAPID - Comunicacióncanales serie y archivos

Page 307: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 307/671

Open  Instrucciones

2-Open-304 Tipos de Datos del Sistema y Rutinas

Page 308: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 308/671

 Instrucciones   PathResol 

Tipos de Datos del Sistema y Rutinas 2-PathResol-305

PathResol Ajuste de la resolución de trayectoria

PathResol (Path Resolution) sirve para ajustar la trayectoria geométrica configurada

(tiempo muestra geométrico) definida en los parámetros del sistema del manipulador.

Descripción

La resolución de la trayectoria afecta la precisión de la trayectoria interpolada y eltiempo de ciclo del programa. La precisión de la trayectoria resulta mejorada y eltiempo de ciclo es a menudo reducido cuando se disminuye el parámetro PathSample-Time. No obstante, un valor demasiado bajo del parámetro PathSampleTime puede pro-vocar problemas de carga de la CPU en ciertas aplicaciones exigentes. Pero téngase encuenta que la utilización de una resolución estándar de trayectoria configurada

(PathSampleTime 100%) evitará problemas de carga de la CPU y proporcionará la pre-cisión de trayectoria suficiente en la mayorí a de las situaciones.

Ejemplo de utilización de PathResol:

Movimientos crí ticamente dinámicos (carga útil máxima, velocidad elevada, movi-mientos de ejes combinados cerca del lí mite del área de trabajo) pueden provocar pro-blemas de carga de la CPU. Se deberá aumentar el parámetro PathSampleTime.

Una baja capacidad de los ejes externos puede provocar problemas de carga de la CPUdurante la coordinación. Se deberá aumentar el parámetro PathSampleTime.

La soldadura al arco con una elevada frecuencia de onda puede requerir una elevadaresolución de la trayectoria interpolada. Se deberá disminuir el parámetro PathSample-Time.

Los cí rculos pequeños o los pequeños movimientos combinados con cambios de direc-ción pueden disminuir la calidad de la capacidad de la trayectoria y aumentar el tiempode ciclo. Se deberá disminuir el parámetro PathSampleTime.

La aplicación de adhesivo con grandes reorientaciones y zonas esquina pequeñas pue-den provocar variaciones de la velocidad. Se deberá disminuir el parámetro PathSam-

 pleTime.

Ejemplo

MoveJ p1,v1000,fine,tool1;PathResol 150;

Con el robot en un punto de paro, el tiempo de muestra de la trayectoria esaumentada del 150% respecto al configurado.

Page 309: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 309/671

 PathResol   Instrucciones

2-PathResol-306 Tipos de Datos del Sistema y Rutinas

Argumentos

PathResol PathSampleTime

PathSampleTime Tipo de dato: num

El ajuste como un porcentaje del tiempo de muestra de la trayectoria configurado.El 100% corresponde al tiempo de muestra de la trayectoria configurado.Dentro de los lí mites 25-400%.

Un valor bajo del parámetro PathSampleTime mejorará la resolución de la trayec-toria (precisión de la trayectoria).

Ejecución del programa

La resolución de trayectoria de todas las instrucciones de posicionamiento subsiguien-tes se verán afectadas hasta que se ejecute una nueva instrucción PathResol. Ello afec-tará la resolución de trayectoria durante toda la ejecución de movimientos (nivel detrayectoria por defecto y nivel de trayectoria después de StorePath) y también duranteel movimiento manual.

El valor por defecto del ajuste del tiempo de muestra de la trayectoria es del 100%. Estevalor es activado automáticamente:

- a la puesta en marcha en frí o

- cuando se carga un programa nuevo

- cuando se inicia la ejecución del programa desde el principio.

El ajuste corriente del tiempo de muestra de la trayectoria puede leerse a partir de lavariable C_MOTSET  (tipo de dato motsetdata) en el componente pathresol.

Limitaciones

El robot debe estar inmovilizado en un punto de paro antes de realizar el ajuste del

tiempo de muestra de la trayectoria. Cuando hay una trayectoria esquina en el pro-grama, el sistema creará en lugar de ello un punto de paro (aviso 50146) y no será posi-ble rearrancar en esta instrucción después de un corte del suministro de corriente.

Sintaxis

PathResol[PathSampleTime ’:=’ ] < expresión (IN) de num> ’;’

Page 310: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 310/671

 Instrucciones   PathResol 

Tipos de Datos del Sistema y Rutinas 2-PathResol-307

Información relacionada

Descrita en:

Instrucciones de posicionamiento Principios de Movimiento y de E/S - Movimientos

Caracterí sticas de movimiento Resumen RAPID - Caracter í sticas de Movimiento

Configuración de la resoluciónde la trayectoria Parámetros del Sistema - Optimización

de la CPU 

Page 311: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 311/671

 PathResol   Instrucciones

2-PathResol-308 Tipos de Datos del Sistema y Rutinas

Page 312: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 312/671

 Instrucciones   PDispOff 

Tipos de Datos del Sistema y Rutinas 2-PDispOff-309

PDispOff Desactivación de un desplazamientode programa

PDispOff (Program Displacement Off) sirve para desactivar un desplazamiento de pro-grama.

El programa de desplazamiento será activado por la instrucción PDispSet  o PDispOn y se aplica a todos los movimientos hasta que se active o desactive otro desplazamientode programa.

Ejemplos

PDispOff;

Desactivación de un desplazamiento de programa.

MoveL p10, v500, z10, herram1;PDispOn \ExeP:=p10, p11, herram1;MoveL p20, v500, z10, herram1;MoveL p30, v500, z10, herram1;PDispOff;MoveL p40, v500, z10, herram1;

Un desplazamiento de programa será definido como la diferencia entre las posi-

ciones p10 y p11. Este desplazamiento afectará el movimiento a p20 y p30, perono a p40.

Ejecución del programa

Se reseteará el desplazamiento de programa activo. Esto significa que el sistema decoordenadas del desplazamiento del programa será el mismo que el sistema decoordenadas del objeto y así  todas las posiciones programadas se referirán a ésteúltimo.

Sintaxis

PDispOff ‘;’

Page 313: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 313/671

 PDispOff   Instrucciones

2-PDispOff-310 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Definición de un desplazamiento de Instrucciones - PDispOnprograma utilizando dos posiciones

Definición de un desplazamiento de Instrucciones - PDispSet programa utilizando valores

Page 314: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 314/671

Page 315: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 315/671

 PDispOn  Instrucciones

2-PDispOn-312 Tipos de Datos del Sistema y Rutinas

PuntProg (Punto Programado) Tipo de dato: robtarget 

La posición original del robot en el momento de la programación.

Herram Tipo de dato: tooldata

La herramienta utilizada durante la programación, es decir, el TCP al que se refi-ere la posición PuntProg. 

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) al que se refiere la posición Punt-Prog. 

Este argumento podrá ser omitido, y en el caso en que lo sea, la posición se refer-irá al sistema de coordenadas mundo. Sin embargo, si se utiliza un TCP estacio-nario o ejes externos coordenados, este argumento deberá ser especificado.

Los argumentos Herram y \WObj se utilizan tanto para calcular el PuntProgdurante la programación como para calcular la posición actual durante laejecución del programa, siempre y cuando no haya ningún argumento ExeP pro-gramado.

Ejecución del programa

Un desplazamiento de programa significa que el sistema de coordenadas ProgDisp será 

trasladado respecto al sistema de coordenadas del objeto. Dado que todas las posicionesse refieren al sistema de coordenadas ProgDisp, todas las posiciones programadasserán también desplazadas. Véase la Figura 9.

Figura 9 Desplazamiento de una posición programada utilizando un desplazamiento de pro-grama.

El desplazamiento de programa se activará cuando la instrucción PDispOn haya sidoejecutada y permanecerá activado hasta que se active otro desplazamiento de programa(la instrucción PDispSet  o PDispOn) o hasta que se desactive otro desplazamiento deprograma (la instrucción PDispOff ).

Sólo se podrá activar un desplazamiento a la vez. No obstante, se podrá programar

varias instrucciones PDispOn, una tras otra y, en este caso, los diferentesdesplazamientos del programa serán añadidos.

Sistema de Coordenadas del Objeto

Sistema de Cordenadas del Desplazamiento del ProgramaDesplazamiento de progr.

Posiciónoriginal, PuntProg

Posiciónnueva, ExeP

x

y

x

y

(ProgDisp)

Page 316: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 316/671

 Instrucciones   PDispOn

Tipos de Datos del Sistema y Rutinas 2-PDispOn-313

El desplazamiento de programa será calculado como la diferencia entre ExeP y Punt-Prog. En el caso en que ExeP no haya sido especificado, se utilizará la posición uti-lizada del robot en este momento de la ejecución del programa. Dado que se utiliza laposición actual del robot, el robot no deberá moverse cuando se ejecuta la instrucciónPDispOn. 

Si se utiliza el argumento \ Rot, la rotación será calculada también basándose en la ori-entación de la herramienta en las dos posiciones. El desplazamiento será calculado deforma que la posición nueva ( ExeP) tenga la misma posición y orientación, respecto alsistema de coordenadas desplazado ProgDisp, que la posición antigua (PuntProg)respecto al sistema de coordenadas original (véase la Figura 10).

Figura 10 Translación y rotación de una posición programada.

El desplazamiento del programa será reinicializado automáticamente:

- a la puesta en marcha

- cuando se carga un programa nuevo

- cuando se ejecuta el programa desde el principio

Ejemplo

PROC dibuja_cuadrado()PDispOn *, herram1;MoveL *, v500, z10, herram1;MoveL *, v500, z10, herram1;MoveL *, v500, z10, herram1;MoveL *, v500, z10, herram1;PDispOff;

ENDPROC.MoveL p10, v500, fine, herram1;dibuja_cuadrado;MoveL p20, v500, fine, herram1;dibuja_cuadrado;MoveL p30, v500, fine, herram1;

dibuja_cuadrado;

Sistema de Coordenadas del Objeto

Sistema de Coordenadas del Desplazamiento del ProgramaDesplazamiento del progr.

Posiciónoriginal, PuntProg

Posiciónnueva, ExeP

x

y

x

y

Orientaciónoriginal

Orientaciónnueva

(ProgDisp)

Page 317: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 317/671

 PDispOn  Instrucciones

2-PDispOn-314 Tipos de Datos del Sistema y Rutinas

La rutina dibuja_cuadrado sirve para ejecutar la misma estructura de mov-imiento en tres posiciones diferentes, basándose en las posiciones p10, p20 y p30.Véase la Figura 11.

Figura 11 Utilizando un desplazamiento de programa, las estructuras de movimiento podr án serreutilizadas.

SearchL sen1, pbusc, p10, v100, herram1\WObj:=fijación1;

PDispOn \ExeP:=pbusc, *, herram1 \WObj:=fijación1;

Se realiza una búsqueda en la que la posición buscada del robot está almacenadaen la posición psearch. Cualquier movimiento llevado a cabo después de estoempezará a partir de esta posición utilizando un desplazamiento de programa(movimiento paralelo). Este último será calculado basándose en la diferenciaentre la posición buscada y el punto programado (*) almacenado en la instruc-ción. Todas las posiciones están basadas en el sistema de coordenadas del objeto

 fixture1. 

Sintaxis

PDispOn[ ’ \ ’ Rot ’,’ ][ ’ \ ’ ExeP ’:=’ ] < expresión (IN) de robtarget  > ’,’][ ProgPoint ’:=’ ] < expresión (IN) de robtarget  > ’,’[ Tool ’:=’ ] < persistente (PERS) de tooldata>[ ‘ \ ’WObj ’:=’ < persistente (PERS) de wobjdata> ] ‘;’

 p10 p20

 p30

Page 318: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 318/671

 Instrucciones   PDispOn

Tipos de Datos del Sistema y Rutinas 2-PDispOn-315

Información relacionada

Descrita en:

Desactivación del desplazamientodel programa Instrucciones - PDispOff 

Definición del desplazamiento delprograma 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 

Page 319: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 319/671

 PDispOn  Instrucciones

2-PDispOn-316 Tipos de Datos del Sistema y Rutinas

Page 320: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 320/671

 Instrucciones   PDispSet

Tipos de Datos del Sistema y Rutinas 2-PDispSet-317

PDispSet Activación de un desplazamiento delprograma utilizando un valor

PDispSet (Program Displacement Set) sirve para definir y activar un desplazamientode programa utilizando valores.

Se utilizará un desplazamiento de programa cuando, por ejemplo, se repiten estructurasde movimiento similares a diferentes lugares del programa.

Ejemplo

VAR pose xp100 := [ [100, 0, 0], [1, 0, 0, 0] ];.

PDispSet xp100;

La activación del desplazamiento de programa xp100 significa que:

- El sistema de coordenadas ProgDisp será desplazado de 100 mm del sistema decoordenadas del objeto, en dirección del eje x- positivo (véase la Figura 12).

- Mientras este desplazamiento de programa está activado, todas las posicionesserán desplazadas de 100 mm en la dirección del eje x-.

Figura 12 Un desplazamiento de programa de 100 mm en el eje x-.

Argumentos

PDispSet BaseDesp

BaseDesp(Base de Desplazamiento) Tipo de dato: pose

El desplazamiento de programa será definido como un dato del tipo pose.

Ejecución del programa

El desplazamiento de programa implica la translación y/o la rotación del sistema decoordenadas ProgDisp respecto al sistema de coordenadas del objeto. Dado que todas

las posiciones se refieren al sistema de coordenadas ProgDisp, todas las posicionesprogramadas serán también desplazadas. Véase la Figura 13.

DesplProg

X100

Objeto

Page 321: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 321/671

Page 322: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 322/671

 Instrucciones   PulseDO

Tipos de Datos del Sistema y Rutinas 2-PulseDO-319

PulseDO Generación de un pulsoen una señal de salida digital

PulseDO sirve para generar un pulso en una señal de salida digital.

Ejemplos

PulseDO do15;

Se generará un pulso de 0,2 s en la señal de salida do15.

PulseDO \PLength:=1.0, conexión;

Se generará un pulso de 1,0 s en la señal conexión.

Argumentos

PulseDO [ \PLength ] Señal

[ \PLength ]  (Duración del pulso) Tipo de dato: num

La duración del pulso en segundos (0,1 - 32 seg.).

Si se omite el argumento, se generará un pulso de 0,2 segundos.

Señal Tipo de dato: signaldo

El nombre de la señal en la que deberá generarse un pulso.

Ejecución del programa

Se generará un pulso con una longitud de pulso especí fica (véase la Figura 14).

Page 323: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 323/671

 PulseDO  Instrucciones

2-PulseDO-320 Tipos de Datos del Sistema y Rutinas

:

Figura 14 Generación de un pulso en una señal de salida digital.

La instrucción siguiente se ejecutará después del inicio del pulso. El pulso podrá entonces ser activado/reinicializado 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 programadosque difieran de éste serán redondeados.

Sintaxis

PulseDO[ ’ \ ’ PLength ’:=’ < expresión (IN) de num > ’,’ ][ Señal ’:=’ ] < 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 delSistema

1

0

0

1

Ejecución de la instrucción PulseDO

Ejecución de la instrucción PulseDO

Duración del pulso

Nivel de la señal

Nivel de la señal

Page 324: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 324/671

 Instrucciones   RAISE

Tipos de Datos del Sistema y Rutinas 2-RAISE-321

RAISE Llamada al gestor de error

 RAISE sirve para crear un error en el programa y luego llamar el gestor de errores de

la rutina. RAISE  también podrá utilizarse en el gestor de errores para propagar el erroractual al gestor de error de la rutina que llama.

La instrucción puede, por ejemplo, utilizarse para saltar a un nivel superior en la estruc-tura del programa, por ejemplo, al gestor de errores de la rutina principal, cuandoocurre un error en un nivel inferior.

Ejemplo

IF ...

IF ...IF ...

RAISE escape1;.

ERRORIF ERRNO=escape1 RAISE;

La rutina será interrumpida para permitir retirarse de un nivel bajo del programa.Se produce un salto al gestor de errores de la rutina llamada.

Argumentos

RAISE [ Nº Error ]

Nº Error Tipo de dato: errnum

Número de error: Cualquier número entre 1-90 que el gestor de errores puede uti-lizar para localizar el error que se ha producido (la variable del sistema ERRNO).

También se podrá utilizar un número de error fuera de 1-90 mediante la instruc-ción BookErrNo.

El número de error deberá ser especificado fuera del gestor de errores en unainstrucción RAISE para ser capaz de transferir la ejecución al gestor de erroresde esta rutina.

Si la instrucción está presente en un gestor de errores de una rutina, no es nece-sario que el número de error esté especificado. En tal caso, el error será propa-gado al gestor de errores de la rutina que llama.

Page 325: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 325/671

 RAISE  Instrucciones

2-RAISE-322 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

La ejecución del programa continúa en el gestor de errores de la rutina. Cuando elgestor de errores haya sido ejecutado, la ejecución del programa proseguirá con:

- la rutina que ha llamado la rutina correspondiente (RETURN),

- el gestor de errores de la rutina que ha llamado la rutina correspondiente(RAISE).

En el caso en que la instrucción RAISE esté presente en un gestor de errores de larutina, la ejecución del programa continúa en el gestor de errores de la rutina que hallamado la rutina correspondiente. El mismo número de error permanece activo.

En el caso en que la instrucción RAISE esté presente en una rutina de tratamiento deinterrupciones, el error será procesado por el gestor de errores del sistema.

Gestión de errores

En el caso en que el número de error esté fuera de alcance, la variable del sistemaERRNO se activará en ERR_ILLRAISE (véase "Tipos de Datos - errnum"). Este errorpuede ser manipulado en el gestor de error.

Sintaxis

(EBNF)

RAISE [<número de error>] ’;’

<número de error> ::= <expresión>

Información relacionada

Descrita en:

Gestión de errores Caracterí sticas Básicas -  Recuperación de errores

Utilizar números de error Instrucciones - BookErrNo

Page 326: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 326/671

 Instrucciones   ReadAnyBin

Tipos de Datos del Sistema y Rutinas 2-ReadAnyBin-323

ReadAnyBin Lectura de datos a partir de unarchivo o de un canal serie binarios

 ReadAnyBin (Read Any Binary) sirve para leer cualquier tipo de datos a partir de unarchivo o canal serie binarios.

Ejemplo

VAR iodev channel2;VAR robtarget next_target;...Open "sio1:", channel2 \Bin;ReadAnyBin channel2, next_target;

El siguiente dato robot target que será ejecutado, next_target , es leí do a partir delcanal referido con el nombre channel2.

Argumentos

ReadAnyBin DispositivoES Datos [\Time])

DispositivoE/S Tipo de dato: iodev

Es el nombre (referencia) del canal serie o archivo binarios que deben ser leí dos.

Datos Tipo de dato: ANYTYPE 

Es la VAR o PERS en la que el dato leí do será almacenado.

[\Time] Tipo de dato: num

El tiempo máximo que puede durar la operación de lectura (timeout) expresadoen segundos. En el caso en que este argumento no haya sido especificado, eltiempo máximo será fijado a 60 segundos.

En el caso en que este tiempo haya transcurrido antes de que la operación de lec-tura haya terminado, el gestor de errores será llamado con el código de errorERR_DEV_MAXTIME. Si no hay ningún gestor de errores, la ejecución será detenida.

La función timeout de tiempo excedido está operativa también durante el paro deprograma y estará indicado en el programa RAPID al arranque del programa.

Page 327: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 327/671

 ReadAnyBin  Instrucciones

2-ReadAnyBin-324 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

Tantos bytes como se requiera para los datos especificados serán leí dos a partir delcanal serie o archivo binarios.

Limitaciones

Esta instrucción sólo podrá ser utilizada para canales serie o archivos que hayan sidoabiertos para la lectura en binario.

El dato que deberá ser leí do por esta instrucción deberá ser un valor  del tipo de datoatomic, string o record . Los tipos de datos semi-valor  y sin valor no podrán ser utiliza-dos.

Los datos de matriz no podrán ser utilizados.

Téngase en cuenta que la variable VAR o PERS para el almacenamiento de los datosleí dos, podrá ser actualizada en varios pasos. Por ello se deberá esperar siempre hastaque la estructura completa del dato sea actualizada, antes de poder utilizar los datos leí -dos a partir de una rutina de tratamiento de interrupciones o de otras tareas de pro-grama.

Gestión de errores

En el caso de producirse un error durante la lectura, la variable del sistema ERRNO seactivará en ERR_FILEACC. Entonces este error podrá ser procesado por el gestor deerrores.

En el caso en que el final del archivo haya sido detectado antes de que todos los byteshayan sido leí dos, la variable del sistema ERRNO pasará a ERR_RANYBIN_EOF.Entonces, dicho error podrá ser procesado por el gestor de errores.

Ejemplo

CONST num NEW_ROBT:=12;CONST num NEW_WOBJ:=20;VAR iodev channel;VAR num input;VAR robtarget cur_robt;VAR wobjdata cur_wobj;

Open "sio1:", channel \ Bin;

! Wait for the opcode characterinput := ReadBin (channel \ Time:= 0.1);TEST inputCASE NEW_ROBT:

Page 328: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 328/671

 Instrucciones   ReadAnyBin

Tipos de Datos del Sistema y Rutinas 2-ReadAnyBin-325

ReadAnyBin channel, cur_robt;CASE NEW_WOBJ:

ReadAnyBin channel, cur_wobj;ENDTEST

Close channel;

En un primer paso, el código de operación del mensaje será leí do a partir delcanal serie. De acuerdo con este código de operación el sistema leerá un dato rob-target o wobjdata a partir del canal serie.

Sintaxis

ReadAnyBin

[IODevice’:=’] <variable (VAR) de iodev>’,’[Data’:=’] <var o pers (INOUT) de ANYTYPE >[’ \ ’Time’:=’ <expresión (IN) de num>]’;’

Información relacionada

Descrita en:

Apertura (etc.) de canales serie o Resumen RAPID - Comunicaciónarchivos

Escritura de datos en un canal serieo archivo binarios Instrucciones - WriteAnyBin

Page 329: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 329/671

 ReadAnyBin  Instrucciones

2-ReadAnyBin-326 Tipos de Datos del Sistema y Rutinas

Page 330: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 330/671

 Instrucciones   Reset

Tipos de Datos del Sistema y Rutinas 2-Reset-327

Reset Puesta a cero de una señal de salida digital

 Reset sirve para poner una salida digital a cero.

Ejemplos

Reset do15;

La señal do15 se pondrá a 0.

Reset sold;

La señal sold se pondrá a 0.

Argumentos

Reset Señal

Señal Tipo de dato: signaldo

El nombre de la señal que se desea poner a 0.

Ejecución del programa

El valor verdadero depende de la configuración de la señal. Si la señal ha sido invertidaen los parámetros del sistema, la instrucción hará que el canal f í sico se ponga en 1.

Sintaxis

Reset[ Señal ’:=’ ] < variable (VAR) de signaldo > ’;’

Page 331: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 331/671

 Reset  Instrucciones

2-Reset-328 Tipos de Datos del Sistema y Rutinas

Información Relacionada

Descrita en:

Activación de una señal de salida digital Instrucciones - ActivaciónInstrucciones 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 delSistema

Page 332: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 332/671

 Instrucciones   RestoPath

Tipos de Datos del Sistema y Rutinas 2-RestoPath-329

RestoPath Restauración de la trayectoriadespués de una interrupción

 RestoPath sirve para restaurar una trayectoria que ha sido almacenada previamentemediante la instrucción StorePath.

Ejemplo

RestoPath;

Restaurar la trayectoria que ha sido almacenada anteriormente mediante la ins-trucción StorePath.

Ejecución del programa

La trayectoria de movimiento utilizada del robot y de los ejes externos será borrada yla trayectoria almacenada anteriormente mediante la instrucción StorePath será restau-rada. No se moverá nada hasta que se ejecute la instrucción StartMove o que se realiceun retorno utilizando la instrucción RETRY  a partir de un gestor de errores.

Ejemplo

ArcL p100, v100, insol1, sold5, oscil1, z10, boq1;...ERROR

IF ERRNO=AW_WELD_ERR THENlimpia_boq;RETRY;

ENDIF...PROC limpia_boq()

VAR robtarget p1;

StorePath;p1 := CRobT();MoveL plimp, v100, fine, boq1;...MoveL p1, v100, fine, boq1;RestoPath;

ENDPROC

En el caso de ocurrir un error de soldadura, la ejecución del programa continuará en el gestor de errores de la rutina, que, a su vez llamará limpia_boq. La trayec-toria de movimiento que se está ejecutando en este momento será entonces alma-cenada y el robot se moverá a la posición plimp donde el error será rectificado.Una vez esto haya sido realizado, el robot regresará a la posición donde ocurrió 

Page 333: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 333/671

 RestoPath  Instrucciones

2-RestoPath-330 Tipos de Datos del Sistema y Rutinas

el error, p1, y volverá a almacenar el movimiento original. En este momento, lasoldadura rearrancará automáticamente, lo que significa que el robot regresará ala trayectoria antes de iniciar la soldadura y de proseguir con la ejecución normaldel programa.

Limitaciones

Con la instrucción StorePath se almacenará únicamente los datos de trayectoria demovimiento. En el caso en que el usuario desee llevar a cabo algún movimiento en elnivel de trayectoria nuevo, deberá ordenar que después de StorePath se almacene laposición actual y antes de RestoPath llevar a cabo un movimiento a partir de la posiciónde paro almacenada en la trayectoria.

La instrucción de movimiento que precede esta instrucción deberá terminar con un

punto de paro.

Sintaxis

RestoPath‘;’

Información relacionada

Descrita en:Almacenamiento de trayectorias Instrucciones - StorePath

Más ejemplos Instrucciones - StorePath

Page 334: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 334/671

 Instrucciones   RETRY 

Tipos de Datos del Sistema y Rutinas 2-RETRY-331

RETRY Rearranque después de un error

 RETRY sirve para rearrancar la ejecución del programa después de que se haya produ-

cido un error.

Ejemplo

reg2 := reg3/reg4;.

ERRORIF ERRNO = ERR_DIVZERO THEN

reg4 := 1;RETRY;

ENDIF

Se ha intentado dividir reg3 por reg4. Si reg4 es igual a 0 (división por cero), serealizará un salto al gestor de errores, que inicializará reg4. La instrucción

 RETRY  se utilizará entonces para saltar del gestor de errores y se realizará otrointento para llevar a cabo la división.

Ejecución del programa

La ejecución del programa (vuelve a ejecutar) continúa con la instrucción que ha pro-

vocado el error.

Gestión de errores

En el caso en que el número máximo de reintentos (4) haya sido excedido, la ejecucióndel programa se detendrá con un mensaje de error y la variable del sistema ERRNO seactivará en ERR_EXCRTYMAX (véase Tipos de datos - errnum).

Limitaciones

La instrucción solamente podrá existir en un gestor de errores de rutina. En el caso deque el error haya sido creado al utilizar una instrucción RAISE, la ejecución del pro-grama no podrá ser rearrancada mediante una instrucción RETRY, en vez de ésta sedeberá usar la función TRYNEXT. 

Sintaxis

RETRY ’;’

Page 335: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 335/671

 RETRY   Instrucciones

2-RETRY-332 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Gestores de errores Caracterí sticas Básicas - Recuperación de Errores

Continuar con la siguiente instrucción Instrucciones - TRYNEXT 

Page 336: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 336/671

 Instrucciones   RETURN 

Tipos de Datos del Sistema y Rutinas 2-RETURN-333

RETURN Fin de ejecución de una rutina

 RETURN sirve para finalizar la ejecución de una rutina. Si la rutina es una función, el

valor de la función será devuelto.

Ejemplos

mensajerror;Set do1;

.

PROC mensajerror()TPWrite "ERROR";

RETURN;ENDPROC

El procedimiento mensajerror será llamado. Cuando el procedimiento llega a lainstrucción RETURN, la ejecución del programa continúa en la instrucción quesigue la llamada del procedimiento, Set do1.

FUNC num valor_abs (num valor)IF valor<0 THEN

RETURN -valor;ELSE

RETURN valor;ENDIF

ENDFUNC

La función devuelve el valor absoluto de un número.

Argumentos

RETURN [ Valor devuelto ]

Valor devuelto Tipo de dato: Según la declaración de la fun-ción

El valor devuelto de una función.

El valor devuelto debe ser especificado en una instrucción RETURN presente enla función.

Si la instrucción está en un procedimiento o en una rutina de tratamiento de inter-rupciones, puede ocurrir que un valor devuelto no esté especificado.

Page 337: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 337/671

 RETURN   Instrucciones

2-RETURN-334 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

El resultado de la instrucción RETURN  podrá variar, dependiendo del tipo de rutina enla que está utilizada:

- Rutina principal: En el caso en que el arranque del programa haya sido ordenadoal final del ciclo, el programa se para. De lo contrario, laejecución del programa continúa con la primera instrucción dela rutina principal.

- Procedimiento: La ejecución del programa continúa con la instrucción quesigue a la llamada del procedimiento.

- Función: Devuelve el valor de la función.

- Rutina tratamiento de interrupciones:La ejecución del programa continúa a partir de donde se ha

producido la interrupción.

- Gestor de errores:En un procedimiento:La ejecución del programa continúa con la rutina que llamó larutina con el gestor de error (con la instrucción que sigue la lla-mada del procedimiento).

En una función:El valor de la función es devuelto.

Sintaxis

(EBNF)

RETURN [ <expresión> ]’;’

Información Relacionada

Descrita en:

Funciones y Procedimientos Caracterí sticas Básicas - Rutinas

Rutinas de tratamiento de interrupciones Caracterí sticas Básicas - Interrup-ciones

Gestores de error Caracterí sticas Básicas - Recuperaciónde errores

Page 338: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 338/671

 Instrucciones   Rewind 

Tipos de Datos del Sistema y Rutinas 2-Rewind-335

Rewind Reiniciar la posición del archivo

 Rewind sitúa la posición del archivo al principio del mismo.

Ejemplo

Rewind iodev1;

El archivo referido con el nombre de iodev1 tendrá su posición situada al prin-cipio del archivo.

Argumentos

Rewind DispositivoE/S

DispositivoE/S Tipo de dato: iodev

Es el nombre (referencia) del archivo que debe ser reiniciado.

Ejecución del programa

El archivo especificado es reposicionado al principio.

Page 339: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 339/671

 Rewind   Instrucciones

2-Rewind-336 Tipos de Datos del Sistema y Rutinas

Ejemplo

! IO device and numeric variable for use together with a binary fileVAR iodev dev;

VAR num bindata;

! Open the binary file with \Write switch to erase old contentsOpen "flp1:"\File := "bin_file",dev \Write;Close dev;

! Open the binary file with \Bin switch for binary read and write accessOpen "flp1:"\File := "bin_file",dev \Bin;WriteStrBin dev,"Hello world";

! Rewind the file pointer to the beginning of the binary file

! Read contents of the file and write the binary result on TP! (gives 72 101 108 108 111 32 119 111 114 108 100 )Rewind dev;bindata := ReadBin(dev);WHILE bindata <> EOF_BIN DO

TPWrite " " \Num:=bindata;bindata := ReadBin(dev);

ENDWHILE

! Close the binary fileClose dev;

La instrucción Rewind  sirve para reposicionar un archivo binario al principio deforma que el contenido del mismo pueda ser leí do con la instrucción ReadBin.

Sintaxis

Rewind[DispositivoE/S ’:=’] <variable (VAR) de iodev>’;’

Información relacionada

Descrita en:

Apertura (etc.) de archivos Resumen RAPID - Comunicación

Page 340: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 340/671

 Instrucciones   Save

Tipos de Datos del Sistema y Rutinas 2-Save-337

Save Guardar un módulo de programa

Save sirve para guardar un módulo de programa.

El módulo de programa especificado en la memoria del programa será guardado conla trayectoria del archivo original (especificado en las instrucciones Load o StartLoad )o con la que esté especificada.

También se podrá guardar un módulo del sistema en una trayectoria de archivo espe-cificada.

Ejemplo

Load "ram1disk:PART_B.MOD";...Save "PART_B";

Cargar el módulo de programa con el nombre de archivo PART_B.MOD desdeel ram1disk  a la memoria del programa.

Guardar el módulo del programa PART_B con la trayectoria de archivo originalram1disk  y con el nombre de archivo original PART_B.MOD.

Argumentos

Save [\Task] ModuleName [\FilePath] [\File]

[\Task] Tipo de dato: taskid 

Es la tarea de programa en la que el módulo del programa debe ser salvado.

En el caso en que se haya omitido este argumento, el módulo del programa espe-cificado se salvará en la tarea de programa que se utiliza en el momento.

Para todas las tareas de programa del sistema, se dispondrá de variables pre-definidas del tipo de dato taskid . La identidad de la variable será "taskname"+"Id", por ejemplo, para la tarea principal (MAIN) la identidad de lavariable será MAINId, TSK1 - TSK1Id etc.

ModuleName Tipo de dato: string

Es el módulo del programa que se debe salvar.

Page 341: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 341/671

Save  Instrucciones

2-Save-338 Tipos de Datos del Sistema y Rutinas

[\FilePath] Tipo de dato: string

Es la trayectoria y el nombre del archivo en el lugar donde el módulo del pro-grama debe ser guardado. El nombre de archivo deberá ser excluido cuando seusa el argumento \File.

[\File] Tipo de dato: string

Cuando el nombre del archivo es excluido en el argumento \ FilePath, deberá serespecificado con este argumento.

El argumento \FilePath sólo podrá ser omitido para los módulos de programa cargadoscon Load o StartLoad-WaitLoad  y el módulo del programa será almacenado en elmismo destino que el especificado en estas instrucciones. Para almacenar el módulo delprograma en otra destinación, se podrá utilizar el argumento \ FilePath.

Para poder guardar un módulo de programa que previamente ha sido cargado a partirde la unidad de programación, de un computador externo o de la configuración delsistema, se deberá usar el argumento \FilePath.

Ejecución del programa

La ejecución del programa espera que el módulo del programa haya terminado la oper-ación de guardar, antes de proceder con la siguiente instrucción.

Ejemplo

Save "PART_A" \FilePath:="ram1disk:DOORDIR/PART_A.MOD";

Guardar el módulo de programa PART_A en ram1disk  dentro del archivoPART_A.MOD y en el directorio DOORDIR.

Save "PART_A" \FilePath:="ram1disk:” \File:=”DOORDIR/PART_A.MOD";

Mismo ejemplo que el anterior pero con una sintaxis distinta.

Save \Task:=TSK1Id, "PART_A" \FilePath:="ram1disk:DOORDIR/PART_A.MOD";

Guardar el módulo de programa PART_A de la tarea de programa TSK1 en eldestino especificado. Este es un ejemplo en que la instrucción Guardar se está ejecutando en una tarea de programa y la operación de guardar se realiza en otratarea de programa.

Page 342: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 342/671

 Instrucciones   Save

Tipos de Datos del Sistema y Rutinas 2-Save-339

Limitaciones

Las rutinas de tratamiento de interrupciones, los eventos de E/S del sistema, y otras tar-eas de programa no podrán ejecutarse durante la operación de guardar. No obstante,dichas operaciones serán retrasadas.

La operación de guardar puede interrumpir la actualización de datos PERS llevados acabo paso a paso desde otras tareas de programa. Ello producirá datos PERS no fiables.

Un paro de programa realizado durante la ejecución de la instrucción Guardar puedeproducir un paro momentáneo con una desactivación de los motores y la visualizacióndel mensaje de error "20025 Stop order timeout" en la unidad de programación.

Se deberá evitar la realización de movimientos del robot durante la operación de salvar.

Gestor de errores

En el caso en que el módulo del programa no pueda ser salvado por carecer de nombrede módulo, tener un nombre desconocido o ambiguo, la variable del sistema ERRNOse activará en ERR_MODULE.

En el caso en que el archivo salvado no pueda ser abierto, por no dársele el permiso,no existir tal directorio o no disponer de espacio suficiente, entonces la variable delsistema ERRNO se activará en ERR_IOERROR.

En el caso en que el argumento \FilePath no haya sido especificado para los módulosdel programa cargados a partir de la unidad de programación, de los Parámetros delsistema, o desde un computador externo, la variable del sistema ERRNO se activará enERR_PATH.

Los errores anteriores podrán entonces ser procesados por el gestor de errores.

Sintaxis

Guardar

[ ’ \ ’ Task ’:=’ <variable (VAR) de taskid > ’,’ ][ ModuleName ’:=’ ] <expresión (IN) de string>[ ’ \ ’ FilePath ’:=’<expresión (IN) de string> ][ ’ \ ’ File ’:=’ <expresión (IN) de string>] ’;’

Información relacionada

Descrita en:

Tareas del programa Tipos de Datos - taskid 

Page 343: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 343/671

Save  Instrucciones

2-Save-340 Tipos de Datos del Sistema y Rutinas

Page 344: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 344/671

 Instrucciones   SearchC 

Tipos de Datos del Sistema y Rutinas 2-SearchC-341

SearchC Búsqueda circular utilizando el robot

SearchC (Search Circular) sirve para buscar una posición moviendo el punto central

de la herramienta (TCP) de forma circular.

Durante el movimiento, el robot supervisa una señal de entrada digital. Cuando el valorde la señal pasa al deseado, el robot inmediatamente lee la posición actual.

Esta instrucción suele utilizarse cuando la herramienta sujetada por el robot es un sen-sor para la detección de la superficie. Utilizando la instrucción SearchC, se podrá obtener las coordenadas generales de un objeto de trabajo.

Ejemplos

SearchC sen1, sp, cirpoint, p10, v100, probe;

El TCP del sensor se moverá de forma circular hacia la posición p10 a unavelocidad de v100. Cuando el valor de la señal do1 pasa a ser activa, la posiciónse almacenará en sp.

SearchC \Stop, sen1, sp, cirpoint, p10, v100, probe;

El TCP del sensor se moverá de forma circular hacia la posición p10. Cuando elvalor de la señal do1 pasa a ser activa, la posición se almacenará en sp y el robotse detendrá inmediatamente.

Argumentos

SearchC [ \Stop ] | [ \PStop ] | [ \SStop ] | [ \Sup ] Señal [ \Flanks ]PuntBusc PuntCirc Alpunto Veloc [ \V ] | [ \T ] Herram [ \WObj ] [

 \Corr ]

[ \Stop ] (Paro r á pido) Tipo de dato: switch

Cuando el valor de la señal de búsqueda pasa a ser activa, el movimiento delrobot se detiene lo más rápidamente posible sin mantener el TCP en la trayectoria(paro fuerte). No obstante, el robot se moverá de una distancia pequeña antes depararse y no regresará a la posición buscada, es decir, a la posición donde cambió la señal.

[ \PStop ] (Paro trayectoria) Tipo de dato: switch

Cuando el valor de la señal de búsqueda pasa a ser activa, el movimiento delrobot se detiene, lo más rápidamente posible, manteniendo el TCP en la trayec-toria (paro suave). No obstante, el robot recorre cierta distancia antes de pararsey no regresará a la posición buscada, es decir, a la posición donde cambió la

señal.

Page 345: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 345/671

SearchC   Instrucciones

2-SearchC-342 Tipos de Datos del Sistema y Rutinas

[ \SStop ] (Paro Suave) Tipo de dato: switch

Cuando el valor de la señal de búsqueda pasa a ser activa, el movimiento delrobot es detenido tan rápidamente como es posible, mientras que el TCP siguepermaneciendo cerca o en la trayectoria (paro suave). Sin embargo, el robotrecorrerá una distancia relativamente pequeña antes de detenerse y no regresará a la posición buscada, es decir, a la posición en la que cambió la señal. SStop esun paro más rápido que PStop. Pero cuando el robot va a una velocidad que essuperior a los 100 mm/s, éste se detendrá en la dirección de la tangente delmovimiento que ha provocado que se deslice marginalmente en la trayectoria.

[ \Sup ] (Supervisión) Tipo de dato: switch

La instrucción de búsqueda es sensible a la activación de señales durante el mov-imiento completo (búsqueda sobre la marcha), es decir, incluso después de que elprimer cambio de señal haya sido registrado. Si se produce más de una detección

durante una búsqueda, la ejecución del programa se para.

En el caso en que se omitan los argumentos \Stop, \PStop, \SStop o \Sup, el mov-imiento continua (búsqueda sobre la marcha) a la posición especificada en elargumento AlPunto (lo mismo que con el argumento \Sup).

Señal Tipo de dato: signaldi

Es el nombre de la señal que se debe supervisar.

[ \Flanks ] Tipo de dato: switch

El lado positivo y negativo de la señal es válido para una búsqueda.

Si se omite el argumento \Flanks, sólo el lado positivo de la señal será válido parauna búsqueda y se activará una supervisión de la señal al principio del proceso debúsqueda. Esto significa que si la señal todaví a tiene un valor positivo al prin-cipio de un proceso de búsqueda, el movimiento del robot será detenido lo másrápidamente posible, mientras que el TCP se mantiene en la trayectoria (parosuave). No obstante, el robot se moverá de una pequeña distancia antes de deten-erse y no regresará a la posición de inicio. Se generará un error de recuperacióndel usuario (ERR_SIGSUPSEARCH) que podrá ser procesado por el gestor deerrores.

PuntBusc Tipo de dato: robtarget 

La posición del TCP y de los ejes externos cuando la señal de búsqueda ha sidodisparada. La posición será especificada en el sistema de coordenadas más exte-rior teniendo en cuenta la herramienta especificada, el objeto de trabajo y elsistema de coordenadas ProgDisp/ExtOffs activo.

PuntCirc Tipo de dato: robtarget 

Es el punto de cí rculo del robot. Véase la instrucción MoveC para unadescripción más detallada del movimiento circular. El punto de cí rculo está 

definido como una posición con nombre o es almacenado directamente en lainstrucción (marcado con un asterisco * en la instrucción).

Page 346: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 346/671

 Instrucciones   SearchC 

Tipos de Datos del Sistema y Rutinas 2-SearchC-343

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición con nombre o es almacenado directamente en la instrucción (marcadocon un asterisco * en la instrucción). SearchC  siempre utiliza un punto de parocomo dato de zona para el destino.

Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. El dato develocidad define la velocidad del punto central de la herramienta, de los ejesexternos y de la reorientación de la herramienta.

[ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directa-

mente en la instrucción. Más adelante, este argumento será sustituido por lavelocidad correspondiente especificada en los datos de velocidad.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualse mueve el robot. Más adelante, este argumento será sustituido por los datos develocidad correspondientes.

Herram Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se mueve. El punto central de la her-

ramienta es el punto que se mueve a la posición de destino especificada.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refieren las posicionesdel robot en la instrucción.

Este argumento puede omitirse, y en el caso en que lo sea, la posición se referirá al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP estacio-nario o ejes externos coordinados, este argumento deberá estar especificado paraun movimiento lineal referido al objeto de trabajo correspondiente.

[ \Corr] (Corrección) Tipo de dato: switch

Cuando este argumento está presente, los datos de corrección escritos en unaentrada mediante la instrucción CorrWrite serán añadidos a la trayectoria y alpunto de destino.

Ejecución del programa

Véase la instrucción MoveC  para más información respecto al movimiento circular.

El movimiento se termina siempre con un punto de paro, es decir, que el robot se paraen el punto de destino.

Page 347: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 347/671

SearchC   Instrucciones

2-SearchC-344 Tipos de Datos del Sistema y Rutinas

Si se utiliza una función de búsqueda sobre la marcha, es decir, cuando el argumento \Sup ha sido especificado, el movimiento del robot siempre continuará hasta el puntode destino programado. Si la búsqueda se realiza utilizando el argumento \Stop, o

 \PStop o \SStop, el movimiento del robot se parará cuando se detecte la primera señal.

La instrucción SearchC  devuelve la posición del TCP cuando el valor de la señal digitalpasa a ser la requerida, según se indica en la Figure 15.

Figure 15 Detección de señal disparada por el flanco (la posición es almacenada cuandola señal cambia por primera vez únicamente).

Ejemplo

SearchC \Sup, sen1\Flanks, sp, cirpoint, p10, v100, probe;

El TCP del sensor se moverá de forma circular hacia la posición p10. Cuando el

valor de la señal sen1 pasa a ser activa o pasiva , la posición será almacenada ensp. En el caso en que el valor de la señal cambie dos veces, la ejecución del pro-grama se detiene.

Limitaciones

Los datos de zona de la instrucción de posicionamiento que preceden la instrucciónSearchC  deberán utilizarse con mucho cuidado. El arranque de la búsqueda, es decir,cuando la señal de E/S está lista para reaccionar, no corresponde en este caso con elpunto de destino programado de la instrucción de posicionamiento anterior, sino que esun punto situado en la trayectoria real del robot. En la Figure 16 se indica un ejemplode una situación en que puede haber problemas por utilizar otros datos de zona que nosea fine. 

La instrucción SearchC  no deberá nunca ser rearrancada después de haber pasado elpunto de cí rculo. De lo contrario el robot no emprenderá la trayectoria programada(posicionamiento en torno a la trayectoria circular en otra dirección comparada con laprogramada).

tiempo

1

0

= Reacción de la instruccióncuando la señal cambia

tiempo

1

0

Con el argumento \FlanksSin el argumento \Flanks

Page 348: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 348/671

 Instrucciones   SearchC 

Tipos de Datos del Sistema y Rutinas 2-SearchC-345

Figure 16 La detección se realiza en el lado incorrecto del objeto debido a la utilizaciónde datos de zona incorrectos.

La distancia de paro normal cuando se utiliza una velocidad de búsqueda de 50 mm/ses de:

- 1-3 mm sin el TCP en la trayectoria (argumento \Stop).- 12-16 mm con el TCP en la trayectoria (argumento \PStop).

- 7-10 mm con el TCP cerca de la trayectoria (argumento \ SStop) 7-10 mm

Gestión de errores

Se generará un error durante una búsqueda cuando:

- no ha ocurrido ninguna detección de señal - esto genera el error

ERR_WHLSEARCH.

- ha ocurrido más de una detección de señal - esto genera el errorERR_WHLSEARCH únicamente si el argumento \Sup ha sido utilizado. 

- la señal ya ha generado un valor positivo al principio del proceso de búsqueda- esto genera el error ERR_SIGSUPSEARCH únicamente si se ha omitido elargumento \Flanks.

Los errores serán procesados de distintas maneras según el modo de funcionamientoutilizado:

Continuo hacia adelante / ERR_WHLSEARCH

No se devuelve ninguna posición y el movimiento siempre continua hacia elpunto de destino programado. La variable del sistema ERRNO se activará enERR_WHLSEARCH y el error podrá ser procesado por el gestor de errores dela rutina.

Continuo hacia adelante /  Instrucción hacia adelante / ERR_SIGSUPSEARCHNo se devuelve ninguna posición y el movimiento siempre se detiene en cuantoantes al principio de la trayectoria de búsqueda. La variable del sistema ERRNOse activa en ERR_SIGSUPSEARCH y el error puede ser procesado por el gestorde errores de la rutina.

Punto de arranquecon datos de zona z10

Punto de arranquecon datos de

Punto final

Objeto buscado

zona fine

Page 349: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 349/671

SearchC   Instrucciones

2-SearchC-346 Tipos de Datos del Sistema y Rutinas

Instrucción hacia adelante / ERR_WHLSEARCHNo se devuelve ninguna posición y el movimiento siempre continúa hacia elpunto de destino programado. La ejecución del programa se para con un mensajede error.

Instrucción hacia atrásDurante la ejecución hacia atrás, la instrucción se limita en llevar a cabo el mov-imiento sin realizar ninguna supervisión de señales.

Sintaxis

SearchC[ ’ \ ’ Stop’,’ ] | [ ’ \ ’ PStop ’,’] | [ ’ \ ’ SStop ’,’ ] | [ ’ \ ’ Sup ’,’ ][ Señal ’:=’ ] < variable (VAR) de signaldi >

[’ \ ’ Flanks]’,’[ PuntBusc’:=’ ] < variable o persistente (INOUT) de robtarget  > ’,’[ PuntCirc’:=’ ] < expresión (IN) de robtarget  > ’,’[ AlPunto’:=’ ] < expresión (IN) de robtarget  > ’,’[ Veloc’:=’ ] < expresión (IN) de speeddata >

[ ’ \ ’ V ’:=’ < expresión (IN) de num > ]| [ ’ \ ’ T ’:=’ < expresión (IN) de num > ] ’,’

[ Herram’:=’ ] < persistente (PERS) de tooldata >[ ’ \ ’ WObj ’:=’ < persistente (PERS) de wobjdata > ][’ \ ’ Corr]’;’

Información relacionada

Descrito en:

Búsqueda lineal Instrucciones - SearchL

Escritura en una entrada de corrección Instrucciones - CorrWrite

Movimiento circular Principios de Movimiento y de E/S -Posicionamiento durante la ejecucióndel programa

Definición de la velocidad Tipos de datos - speeddata

Definición de las herramientas Tipos de datos - tooldata

Definición de los objetos de trabajo Tipos de datos - wobjdata

Utilización de los gestores de error Resumen RAPID - Recupera-ción de errores

Movimientos en general Principios de Movimiento y de E/S

Más ejemplos de búsqueda Instrucciones - SearchL

Page 350: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 350/671

 Instrucciones   SearchL

Tipos de Datos del Sistema y Rutinas 2-SearchL-347

SearchL Búsqueda lineal utilizando el robot

SearchL (Search Linear) sirve para buscar una posición moviendo el punto central de

la herramienta (TCP) de forma lineal.

Durante el movimiento, el robot supervisa una señal de entrada digital. Cuando el valorde la señal pasa al deseado, el robot inmediatamente lee la posición actual.

Esta instrucción suele utilizarse cuando la herramienta sujetada por el robot constituyeun sensor para la detección de la superficie. Con esta instrucción SearchL, se podránobtener las coordenadas generales de un objeto de trabajo.

Ejemplos

SearchL sen1, sp, p10, v100, probe;

El TCP del sensor se moverá de forma lineal hacia la posición p10 a unavelocidad de v100. Cuando el valor de la señal do1 pasa a ser activa, la posiciónqueda almacenada en sp.

SearchL \Stop, sen1, sp, p10, v100, probe;

El TCP del sensor se moverá de forma lineal hacia la posición p10. Cuando elvalor de la señal do1 pasa a ser activa, la posición queda almacenada en sp y elrobot se para inmediatamente.

Argumentos

SearchL [ \Stop ] | [ \PStop ] | [ \SStop ] | [ \Sup ] Señal [\Flanks] PuntBusc AlPunto Veloc [ \V ] | [ \T ] Herram [ \WObj ][\Corr]

[ \Stop ] (Paro r á pido) Tipo de dato: switch

Cuando el valor de la señal de búsqueda pasa a ser activa, el movimiento delrobot se detiene lo más rápidamente posible sin mantener el TCP en la trayectoria(paro fuerte). No obstante, el robot se moverá de una pequeña distancia antes dedetenerse y no regresará a la posición buscada, es decir, a la posición donde cam-bió la señal.

[ \PStop ] (Paro trayectoria) Tipo de dato: switch

Cuando el valor de la señal de búsqueda pasa a ser activa, el movimiento delrobot se detiene lo más rápidamente posible manteniendo el TCP en la trayecto-ria (paro suave). No obstante, el robot recorre cierta distancia antes de pararse yno regresará a la posición buscada, es decir, a la posición donde cambió la señal.

Page 351: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 351/671

SearchL  Instrucciones

2-SearchL-348 Tipos de Datos del Sistema y Rutinas

[ \SStop ] (Paro Suave) Tipo de dato: switch

Cuando el valor de la señal de búsqueda pasa a ser activa, el movimiento delrobot es detenido tan rápidamente como es posible, mientras que el TCP siguepermaneciendo cerca o en la trayectoria (paro suave). Sin embargo, el robotrecorrerá una distancia relativamente pequeña antes de detenerse y no regresará a la posición buscada, es decir, a la posición en la que cambió la señal. SStop esun paro más rápido que PStop. Pero cuando el robot va a una velocidad que essuperior a los 100 mm/s, éste se detendrá en la dirección de la tangente delmovimiento que ha provocado que se deslice marginalmente en la trayectoria.

[\Sup ] (Supervisión) Tipo de dato: switch

La instrucción de búsqueda es sensible a la activación de señales durante el mov-imiento completo (búsqueda sobre la marcha), es decir, incluso después de que elprimer cambio de señal haya sido registrado. Si se produce más de una detección

durante una búsqueda, la ejecución del programa se detiene.

En el caso en que se omitan los argumentos \Stop, \PStop \SStop o \Sup, el mov-imiento continúa (búsqueda sobre la marcha) a la posición especificada en elargumento AlPunto (el mismo que con el argumento \Sup).

Señal Tipo de dato: signaldi

Es el nombre de la señal que se debe supervisar.

[ \Flanks ] Tipo de dato: switch

El lado positivo y negativo de la señal es válido para una búsqueda.

Si se omite el argumento \Flanks, sólo el lado positivo de la señal será válido parauna búsqueda y se activará una supervisión de la señal al principio del proceso debúsqueda. Esto significa que si la señal todaví a tiene un valor positivo al prin-cipio de un proceso de búsqueda, el movimiento del robot será detenido lo másrápidamente posible, mientras que el TCP se mantiene en la trayectoria (parosuave). Se generará un error de recuperación del usuario(ERR_SIGSUPSEARCH) que podrá ser procesado por el gestor de errores.

PuntBusc Tipo de dato: robtarget 

Es la posición del TCP y de los ejes externos cuando la señal de búsqueda se haactivado. La posición será especificada en el sistema de coordenadas más exte-rior, teniendo en cuenta la herramienta, el objeto de trabajo y el sistema decoordenadas ProgDisp/Extoffs activo especificados.

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición con nombre o es almacenado directamente en la instrucción (marcadocon un asterisco * en la instrucción). SearchL siempre utiliza un punto de parocomo dato de zona para el destino.

Page 352: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 352/671

 Instrucciones   SearchL

Tipos de Datos del Sistema y Rutinas 2-SearchL-349

Velocidad Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos develocidad definen la velocidad del punto central de la herramienta, de los ejesexternos y de la reorientación de la herramienta.

[ \V ] (Velocidad) Tipo de dato: num

Este argumento sirve para especificar la velocidad del TCP en mm/s directa-mente en la instrucción. Más adelante, será sustituido por la velocidad corre-spondiente especificada en los datos de velocidad.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot se mueve. Más adelante, será sustituido por los datos de velocidad cor-

respondientes.

Herram Tipo de dato: tooldata

Es la herramienta en uso cuando el robot se mueve. El punto central de la her-ramienta es el punto que se mueve a la posición de destino especificada.

[ \WObj] (Objeto de Trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posición delrobot en la instrucción.

Este argumento podrá ser omitido, y en el caso en que así  sea, la posición sereferirá al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCPestacionario o ejes externos coordinados, este argumento deberá ser especificadopara un movimiento lineal relativo al objeto de trabajo correspondiente.

[ \Corr] (Corrección) Tipo de dato: switch

Cuando este argumento está presente, los datos de corrección escritos en unaentrada mediante la instrucción CorrWrite serán añadidos a la trayectoria y alpunto de destino.

Ejecución del programa

Véase la instrucción MoveL para más información referente al movimiento lineal.

El movimiento siempre termina con un punto de paro, es decir, que el robot se detieneen el punto de destino.

Si se utiliza una función de búsqueda sobre la marcha, es decir, si el argumento \Sup ha sido especificado, el movimiento del robot siempre seguirá hasta el punto de destinoprogramado. Si se realiza una búsqueda utilizando \Stop \PStop o \SStop, el mov-imiento del robot se detendrá cuando se detecte la primera señal.

Page 353: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 353/671

SearchL  Instrucciones

2-SearchL-350 Tipos de Datos del Sistema y Rutinas

La instrucción SearchL almacena la posición del TCP cuando el valor de la señal digitalpasa a ser la requerida, según se indica en la Figure 17.

Figure 17 Detección de señal disparada por el flanco (la posición es almacenada cuandola señal cambia por primera vez únicamente).

Ejemplos

SearchL \Sup, sen1\Flanks, sp, p10, v100, probe;

El TCP del sensor se moverá de forma lineal hacia la posición p10. Cuando elvalor de la señal sen1 pasa a ser activa o pasiva, la posición se almacenará en sp.En el caso en que el valor de la señal cambie dos veces, la ejecución del programase detendrá después de que haya terminado el proceso de búsqueda.

SearchL \Stop, sen1, sp, p10, v100, tool1;

MoveL sp, v100, fine, tool1;PDispOn *, tool1;MoveL p100, v100, z10, tool1;MoveL p110, v100, z10, tool1;MoveL p120, v100, z10, tool1;PDispoff;

Al principio del proceso de búsqueda, se realizará una comprobación de la señalsen1 y si la señal todaví a tiene un valor positivo, la ejecución del programa separa. De lo contrario el TCP de la herramienta tool1 se moverá de forma linealhacia la posición p10. Cuando el valor de la señal sen1 pasa a ser activa, la

posición será almacenada en sp y el robot regresará a este punto. Cuando se uti-liza el desplazamiento del programa, el robot se moverá respecto a la posiciónbuscada, sp.

Limitaciones

Los datos de zona de la instrucción de posicionamiento que preceden a SearchL deberán utilizarse con mucho cuidado. El inicio de la búsqueda, es decir, cuando laseñal de E/S esté lista para reaccionar, no correspondrá en este caso al punto de destinoprogramado de la instrucción de posicionamiento anterior, sino a un punto situado en

la trayectoria real del robot. En la Figure 18 a la Figure 20 se indican ejemplos de situ-aciones en que puede haber problemas por utilizar otros datos de zona que no sea fine. 

tiempo

1

0

= Reacción de la instruccióncuando la señal cambia

tiempo

1

0

Con el argumento \FlanksSin el argumento \Flanks

Page 354: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 354/671

 Instrucciones   SearchL

Tipos de Datos del Sistema y Rutinas 2-SearchL-351

Figure 18 La detección se ha realizado en el lado incorrecto del objeto debido a la uti-lización de datos de zona incorrectos.

Figure 19 No se detecta el objeto debido a la utilización de datos de zona incorrectos.

Figure 20 No se detecta el objeto debido a la utilización de datos de zona incorrectos.

La distancia de paro normal cuando se utiliza una velocidad de búsqueda de 50 mm/ses de:

- 1-3 mm sin el TCP en la trayectoria (argumento \Stop).

- 12-16 mm con el TCP en la trayectoria (argumento \PStop).

- 7-10 mm con el TCP cerca de la trayectoria (argumento \ SStop) 7-10 mm

Objeto buscadoPunto final

Punto de arranquecon datos de zona fine

Punto de arranquecon datos de zona z10

Objeto buscado

Punto final

Punto de arranquecon datos de zona fine

Punto de arranquecon datos de zona z10

Objeto buscado

Punto final

Punto de arranquecon datos de zona fine

Punto de arranque

con datos de zona z10

Page 355: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 355/671

SearchL  Instrucciones

2-SearchL-352 Tipos de Datos del Sistema y Rutinas

Gestión de errores

Se generará un error durante una búsqueda cuando:

- no ha ocurrido ninguna detección de señal; esto genera el errorERR_WHLSEARCH.

- ha ocurrido más de una detección de señal; esto genera el errorERR_WHLSEARCH únicamente si el argumento \Sup ha sido utilizado. 

- la señal ya ha generado un valor positivo al principio del proceso de búsqueda;esto genera el error ERR_SIGSUPSEARCH únicamente si se ha omitido elargumento \Flanks.

Los errores serán procesados de distintas maneras según el modo de funcionamientoutilizado:

Continuo hacia adelante / ERR_WHLSEARCHNo se devuelve ninguna posición y el movimiento siempre continua hasta elpunto de destino programado. La variable del sistema ERRNO se activará enERR_WHLSEARCH y el error podrá ser procesado por el gestor de errores de larutina.

Continuo hacia adelante /  Instrucción hacia adelante / ERR_SIGSUPSEARCHNo se devuelve ninguna posición y el movimiento siempre se detiene lo más ráp-idamente posible al principio de la trayectoria de búsqueda. La variable delsistema ERRNO se activa en ERR_SIGSUPSEARCH y el error puede ser proc-

esado por el gestor de errores de la rutina.

Instrucción hacia adelante / ERR_WHLSEARCHNo se devuelve ninguna posición y el movimiento siempre continúa hasta elpunto de destino programado. La ejecución del programa se para con un mensajede error.

Instrucción hacia atrásDurante la ejecución hacia atrás, la instrucción se limita en llevar a cabo el mov-imiento sin realizar ninguna supervisión de señales.

Ejemplo

VAR num fk;.MoveL p10, v100, fine, tool1;SearchL \Stop, sen1, sp, p20, v100, tool1;.ERROR

IF ERRNO=ERR_WHLSEARCH THENMoveL p10, v100, fine, tool1;

RETRY;ELSEIF ERRNO=ERR_SIGSUPSEARCH THEN

Page 356: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 356/671

 Instrucciones   SearchL

Tipos de Datos del Sistema y Rutinas 2-SearchL-353

TPWrite “La señal de la instrucción SearchL todaví a está activada!”;TPReadFK fk,”Try again after manual reset of signal ?”,”YES”,””,””,””,”NO”;IF fk = 1 THEN

MoveL p10, v100, fine, tool1;RETRY;

ELSEStop;

ENDIFENDIF

Si la señal está todaví a activa al principio del proceso de búsqueda, se activará un diálogo del usuario (TPReadFK...;). Reinicializar la señal y apretar SI en eldiálogo del usuario y el robot regresa a p10 y vuelve a intentar otra vez. De locontrario la ejecución del programa se detendrá.

Si la señal está pasiva al principio del proceso de búsqueda, el robot realiza una

búsqueda a partir de la posición p10 a p20. Si no ocurre ninguna detección deseñal, el robot regresa a p10 y vuelve a intentar otra vez.

Sintaxis

SearchL[ ’ \ ’ Stop’,’ ] | [ ’ \ ’ PStop ’,’] [ ’ \ ’ SStop ’,’ ] | [ ’ \ ’ Sup ’,’ ][ Señal ’:=’ ] < variable (VAR) de signaldi > ’,’

[‘ \ ’ Flanks] ’,’[ PuntBusc’:=’ ] < variable o persistente (INOUT) de robtarget  > ’,’[ AlPunto’:=’ ] < expresión (IN) de robtarget  > ’,’[ Veloc’:=’ ] < expresión (IN) de speeddata >

[ ’ \ ’ V ’:=’ < expresión (IN) de num > ]| [ ’ \ ’ T ’:=’ < expresión (IN) de num > ] ’,’

[ Herram’:=’ ] < persistente (PERS) de tooldata >[ ’ \ ’ WObj ’:=’ < persistente (PERS) de wobjdata > ][ ’ \ ’ Corr ]’;’

Page 357: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 357/671

Page 358: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 358/671

 Instrucciones   Set

Tipos de Datos del Sistema y Rutinas 2-Set-355

Set Activación de una señal de salida digital

Set sirve para colocar el valor de la señal de salida digital a uno.

Ejemplos

Set do15;

La señal do15 se pondrá en 1.

Set sold;

La señal sold se pondrá en 1.

Argumentos

Set Señal

Señal Tipo de señal: signaldo

El nombre de la señal que se desea poner a 1.

Ejecución del programa

El valor verdadero dependerá de la configuración de la señal. En el caso en que la señalhaya sido invertida en los parámetros del sistema, la instrucción hará que el canal f í sicose ponga en cero.

Sintaxis

Set

[ Señal ’:=’ ] < variable (VAR) de signaldo > ’;’

Page 359: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 359/671

Set  Instrucciones

2-Set-356 Tipos de Datos del Sistema y Rutinas

Información Relacionada

Descrita en:

Activación de una señal de salidadigital 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 delSistema

Page 360: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 360/671

 Instrucciones   SetAO

Tipos de Datos del Sistema y Rutinas 2-SetAO-357

SetAO Cambio del valor de una señal de salida analógica

SetAO sirve para cambiar el valor de una señal de salida analógica.

Ejemplo

SetAO ao2, 5.5;

La señal ao2 se pone a 5,5.

Argumentos

SetAO Señal Valor

Señal Tipo de dato: signalao

El nombre de la señal de salida analógica que se desea cambiar.

Valor Tipo de dato: num

El valor deseado de la señal.

Ejecución del programa

El valor programado es escalado (de acuerdo con los parámetros del sistema) antes deser enviado a un canal f í sico. Véase la Figura 21.

Figura 21 Diagrama indicando como se escalan los valores de las señales analógicas.

Valor lógico en

el programa

Valor f í sico de la

señal de salida (V, mA, etc.)

MAX SEÑAL

MIN SEÑAL

MAX PROGRAMA

MIN PROGRAMA

Page 361: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 361/671

Page 362: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 362/671

 Instrucciones   SetDO

Tipos de Datos del Sistema y Rutinas 2-SetDO-359

SetDO Cambio del valor de una señal de salida digital

SetDO sirve para cambiar el valor de una señal de salida digital, con o sin un retraso.

Ejemplos

SetDO do15, 1;

La señal do15 se activará en 1.

SetDO sold, off;

La señal sold pasará a off.

SetDO \SDelay := 0,2, sold, alto;

La señal sold se activará en alto con un retraso de 0,2 s. La ejecución del pro-grama continuará, sin embargo, con la instrucción siguiente.

Argumentos

SetDO [ \SDelay ] Señal Valor

[ \SDelay ] (Retraso de la Señal) Tipo de dato: num

Retrasa el cambio del tiempo especificado en segundos (0,1 - 32 seg.).La ejecución del programa continúa directamente con la instrucción siguiente.Una vez transcurrido el tiempo de retraso, la señal cambia sin afectar por ello elresto de la ejecución del programa.

Si se omite el argumento, el valor de la señal cambia directamente.

Señal Tipo de dato: signaldo

El nombre de la señal que se desea cambiar.

Valor Tipo de dato: dionum

El valor deseado de la señal.

El valor se especifica a 0 o a 1.

Ejecución del programa

El valor verdadero dependerá de la configuración de la señal. En el caso en que la señalhaya sido invertida en los parámetros del sistema, el valor del canal f í sico será elopuesto.

Page 363: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 363/671

SetDO  Instrucciones

2-SetDO-360 Tipos de Datos del Sistema y Rutinas

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

Page 364: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 364/671

 Instrucciones   SetGO

Tipos de Datos del Sistema y Rutinas 2-SetGO-361

SetGO Cambio del valor de un grupode señales de salidas digitales

SetGO sirve para cambiar el valor de un grupo de señales de salidas digitales, con o sinun retraso de tiempo.

Ejemplo

SetGO grup2, 12;

La señal grup2 se activará en 12. Si grup2 comprende 4 señales, por ejemplo, lassalidas 6-9, las salidas 6 y 7 se pondrán a cero, mientras que la 8 y la 9 se acti-varán en 1.

SetGO \SDelay :=0,4, grup2, 10;

La señal grup2 se activará en 10. Si grup2 comprende 4 señales, por ejemplo, lassalidas 6-9, las salidas 6 y 8 se pondrán a cero, mientras que la 7 y la 9 se acti-varán en 1, con un retraso de 0,4s. La ejecución del programa, no obstante, con-tinuará con la instrucción siguiente.

Argumentos

SetGO [\SDelay ] Señal Valor

[\SDelay] (Retraso de la Señal) Tipo de dato: num

Retrasa el cambio del tiempo especificado en segundos (0,1 - 32 seg.).La ejecución del programa continúa directamente con la instrucción siguiente.Una vez transcurrido el tiempo de retraso, el valor de las señales cambia sin afec-tar por ello el resto de la ejecución del programa.

Si se omite el argumento, el valor de la señal cambia directamente.

Señal Tipo de dato: signalgo

El nombre del grupo de señales que se desea cambiar.

Valor Tipo de dato: num

El valor deseado para el grupo de señales (un número entero positivo).

El valor permitido depende del número de señales del grupo:

Page 365: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 365/671

SetGO  Instrucciones

2-SetGO-362 Tipos de Datos del Sistema y Rutinas

Nº de señales Valor permitido Nº de señales Valor permitido

1 0 - 1 9 0 - 511

2 0 - 3 10 0 - 1023

3 0 - 7 11 0 - 20474 0 - 15 12 0 - 4095

5 0 - 31 13 0 - 8191

6 0 - 63 14 0 - 16383

7 0 - 127 15 0 - 32767

8 0 - 255 16 0 - 65535

Ejecución del programa

El valor programado se convertirá en un número binario sin signo. Este número binarioserá enviado al grupo de señales con el resultado que las señales individuales del grupose pondrán a 0 o a 1. Debido a retrasos internos, el valor de la señal puede estarindefinida durante un corto periodo de tiempo.

Sintaxis

SetGO

[ ’ \ ’ SDelay ’:=’ < expresión (IN) de num > ’,’ ][ Señal ’:=’ ] < variable (VAR) de signalgo > ’,’[ Valor ’:=’ ] < expresión (IN) de num > ’;’

Información relacionada

Descrita en:

Otras instrucciones de Entrada/Salida Resumen RAPID -Señales de Entrada y Salida

Funciones de las Entradas/Salidas Principios de Movimiento y deE/S -Principios de E/S 

Configuración de las E/S (parámetros del sistema) Guí a del Usuario - Par ámetrosdel Sistema

Page 366: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 366/671

 Instrucciones   SingArea

Tipos de Datos del Sistema y Rutinas 2-SingArea-363

SingArea Definición de la interpolaciónen torno a puntos singulares

SingArea (Singularity Area) sirve para definir como el robot debe moverse en la proxi-midad de puntos singulares.

SingArea sirve también para la definición de la interpolación lineal y circular pararobots que tienen menos de seis ejes.

Ejemplos

SingArea \Wrist;

La orientación de la herramienta puede ser modificada ligeramente para evitarun punto singular (eje 4 y 6 alineados).

Puede ocurrir que los robots con menos de seis ejes no consigan alcanzar unaorientación interpolada de la herramienta. Con la instrucción SingArea\Wrist, elrobot será capaz de realizar el movimiento pero la orientación de la herramientase verá ligeramente modificada.

SingArea \Off;

La orientación de la herramienta no puede diferir de la orientación programada.

Si el robot pasa por un punto singular, uno o más ejes pueden realizar un cambiode orientación, originando así  una reducción de la velocidad.

Puede ocurrir que los robots con menos de seis ejes no consigan alcanzar unaorientación programada de la herramienta. Como resultado el robot se detendrá.

Argumentos

SingArea [ \Wrist] | [ \Off]

[ \Wrist ]  Tipo de dato: switch

Se tolera una pequeña diferencia en la orientación de la herramienta a fin de evi-tar la singularidad de la muñeca. Se usa cuando los ejes 4 y 6 son paralelos (eje5 a 0 grados). También se usa en la interpolación lineal y circular de robots conmenos de seis ejes cuando se tolera una pequeña diferencia en la orientación dela herramienta.

[\Off ] Tipo de dato: switch

No se tolera ninguna diferencia en la orientación de la herramienta. Se usacuando no se pasa ningún punto singular o cuando no se permite que la orienta-ción sea cambiada.

Page 367: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 367/671

SingArea  Instrucciones

2-SingArea-364 Tipos de Datos del Sistema y Rutinas

En el caso en que ninguno de los argumentos sea especificado, la ejecución delprograma usará automáticamente los argumentos por defecto del robot. Pararobots con seis ejes el argumento por defecto es \ Off.

Ejecución del programa

Si se especifica el argumento \Wrist, la orientación es interpolada eje a eje para evitarlos puntos singulares. De esta forma, el TCP sigue la trayectoria correcta aunque laorientación de la herramienta se desví e un poco. Esto ocurrirá también cuando no sepase por un punto singular.

La interpolación especificada se aplica a todos los movimientos siguientes hasta que seejecute una nueva instrucción SingArea. 

El movimiento se verá afectado únicamente cuando se ejecuta una interpolación linealo circular.

Por defecto, la ejecución del programa utiliza automáticamente el argumento /Off pararobots con seis ejes. Los robots con menos de seis ejes usarán por defecto el argumento

 \Off (IRB640) o el argumento \Wrist. Esto se activa automáticamente en la rutina deevento SYS_RESET,

- a la puesta en marcha

- cuando se carga un programa nuevo

- cuando se ejecuta el programa desde el principio.

LiSintaxis

SingArea[ ’ \ ’ Wrist ] | [ ’ \ ’ Off ] ’;’

Información relacionada

Descrita en:Singularidad Principios de Movimiento - Singulari-

dad 

Interpolación Principios de Movimiento - Posiciona-miento durante la Ejecución del Pro-grama

Page 368: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 368/671

 Instrucciones   SoftAct

Tipos de Datos del Sistema y Rutinas 2-SoftAct-365

SoftAct Activación del servo suave

SoftAct (Soft Servo Activate) sirve para activar lo que se denomina servo «suave» en

cualquiera de los ejes del robot o en una unidad mecánica externa.

Ejemplo

SoftAct 3, 20;

Activación del servo suave del eje 3 del robot, con un valor de suavidad del 20%.

SoftAct 1, 90 \ Ramp:=150;

Activación del servo suave del eje 1 del robot, con un valor de suavidad del 90% y un factor de rampa del 150%.

SoftAct \MechUnit:=orbit1, 1, 40 \Ramp:=120;

Activación del servo suave del eje 1 de la unidad mecánica orbit1, con un valorde suavidad del 40% y un factor de rampa del 120%.

Argumentos

SoftAct [\UnidadMec] Eje Suavidad [\Rampa ]

[\UnidadMec] (Unidad mecánica) Tipo de dato: mecunit 

Es el nombre de la unidad mecánica. Si se omite este argumento, significa quese produce la activación del servo suave para el eje del robot especificado.

Eje Tipo de dato: num

Es el número del robot o del eje externo destinado a trabajar con el servo suave.

Suavidad Tipo de dato: num

Es el valor de suavidad en porcentaje (0 - 100%). El 0% indica una suavidad mí n-ima (rigidez máxima) y el 100 % indica una suavidad máxima.

Rampa Tipo de dato: num

Es el factor rampa en porcentaje (>= 100%). El factor rampa sirve para controlarel grado de implicación del servo suave. Un factor del 100% denota el valor nor-mal; si se utilizan valores más elevados, significa que el servo funcionará máslentamente (rampa más larga). El valor por defecto del factor rampa es del100 %.

Page 369: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 369/671

SoftAct  Instrucciones

2-SoftAct-366 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

La suavidad es activada en el valor especificado para el eje utilizado. El valor de sua-vidad es válido para todos los movimientos, hasta que se programe un valor de sua-

vidad nuevo para el eje utilizado o hasta que el servo suave sea desactivado por unainstrucción.

Limitaciones

El servo suave de cualquier robot o eje externo será siempre desactivado cuando se pro-duce un fallo de potencia. Esta limitación puede ser modificada en el programa delusuario en el momento del rearranque después de haber ocurrido el fallo de potencia.

El mismo eje no deberá ser activado dos veces, a menos que se encuentre una instruc-ción de movimiento entre ellas. Así , la secuencia siguiente del programa deberá ser evi-tada a fin de no provocar una sacudida en el movimiento del robot:

SoftAct n , x ;SoftAct n , y ;

(n = eje de robot n, x e y valores de suavidad)

Sintaxis

SoftAct[’ \ ’UnidadMec ’:=’ < variable (VAR) de mecunit > ’,’][Eje ’:=’ ] < expresión (IN) de num> ’,’[Suavidad ’:=’ ] < expresión (IN) de num>[ ’ \ ’Rampa ’:=’ < 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ónde los movimientos del programa

Page 370: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 370/671

 Instrucciones   SoftDeact

Tipos de Datos del Sistema y Rutinas 2-SoftDeact-367

SoftDeact Desactivación del servo suave

SoftDeact (Soft Servo Deactivate) sirve para desactivar lo que se denomina servo

«suave» en todos los ejes del robot y en los ejes externos.

Ejemplo

SoftDeact;

Desactivación del servo suave en todos los ejes.

SoftDeact \Ramp:=150;

Desactivación del servo suave en todos los ejes, con un factor de rampa del150%.

Argumentos

SoftDeact [\Ramp]

Ramp Tipo de dato: num

Es el factor rampa expresado en un porcentaje (>= 100%). El factor rampa sirve

para controlar la desactivación del servo suave. Un factor del 100% denota elvalor normal; con valores más elevados, el servo suave es desactivado más len-tamente (rampa más larga). El valor por defecto del factor de rampa es del 100%

Ejecución del programa

El servo suave es desactivado en todos los ejes del robot y en los ejes externos.

Sintaxis

SoftDeact’;’[‘ \ ’Ramp ‘:=’ < expresión (IN) de num] ‘;’

Page 371: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 371/671

SoftDeact  Instrucciones

2-SoftDeact-368 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Activación del servo suave Instrucciones - SoftAct 

Page 372: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 372/671

 Instrucciones   SpyStart

Tipos de Datos del Sistema y Rutinas 2-SpyStart-369

SpyStart Iniciar el registro delos datos de tiempo de ejecución

SpyStart sirve para iniciar el registro de los datos de instrucción y de tiempo durante laejecución.

Los datos de ejecución quedarán almacenados en un archivo para su posterior utiliza-ción.

Los datos almacenados están destinados a propósitos de detección de averí as de losprogramas RAPID, especialmente para sistemas multitarea (SpyStart - SpyStop en unatarea de programa).

Ejemplo

SpyStart "ram1disk:spy.log";

Empieza a registrar los datos del tiempo de ejecución del archivo spy.log situadoen el disco ram.

Argumentos

SpyStart ArchivoArchivo Tipo de dato: string

La trayectoria y el nombre del archivo al archivo que contendrá los datos deejecución.

Ejecución del programa

El archivo especificado es abierto para la escritura y los datos de tiempo de ejecución

empiezan a registrarse en el archivo.

El registro de los datos del tiempo de ejecución permanece activo hasta:

- la ejecución de la instrucción SpyStop

- el comienzo de la ejecución del programa desde el principio

- la carga de un programa nuevo

- el próximo arranque en caliente

Page 373: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 373/671

SpyStart  Instrucciones

2-SpyStart-370 Tipos de Datos del Sistema y Rutinas

Limitaciones

Se deberá evitar la utilización del disco flexible para realizar operaciones de registropuesto que la escritura en un disco flexible es muy lenta.

Se recomienda no utilizar nunca la función spy en los programas en funcionamiento,dado que dichas funciones alargan el tiempo de ciclo y consumen memoria en el dis-positivo de memoria de masa utilizado (disco ram).

Gestión de errores

En el caso en que el archivo que se encuentra en la instrucción SpyStart no pueda serabierto, entonces la variable del sistema ERRNO pasará a ser ERR_FILEOPEN (véase“Tipos de datos - errnum”). Este error podrá entonces ser procesado por el gestor deerrores.

Formato del archivo

TASK INSTRIN CODE OUT

MAIN ConfJ\Off; 691310:READY :691310----- SYSTEM TRAP-----MAIN ConfL\Off; 691450:READY :691450

MAIN def_wz; 691450:READY :691450MAIN WZSphDef\Inside,volume,[p1.trans.x+xtrans691450:READY :691450MAIN WZDOSet\Temp,wz1\Inside,volume,do1,1; 691460:READY :691460----- SYSTEM TRAP-----MAIN WZSphDef\Inside,volume,[p2.trans.x+xtrans,691460:READY :691460MAIN WZDOSet\Temp,wz2\Inside,volume,do2,1; 691860:READY :691860...MAIN MoveL home,s,z,toolx\WObj:=wobjx; 693910:WAIT :694010----- SYSTEM TRAP -----MAIN MoveL home,s,z,toolx\WObj:=wobjx; 726820:WAIT :726820----- SYSTEM TRAP -----MAIN MoveL home,s,z,toolx\WObj:=wobjx; 740300:READY :740300

MAIN writepos; 740300:READY :740300...MAIN SpyStop; 827610:

La columna TASK indica la tarea del programa ejecutadoLa columna INSTR indica la instrucción ejecutada en la tarea de programa ejecutadoLa columna IN indica el tiempo en ms al empezar la instrucción ejecutadaLa columna CODE indica si la instrucción está LISTA o indica si la instrucción WAITdebe cumplirse en el tiempo OUTLa columna OUT indica el tiempo en ms al finalizar la instrucción ejecutada

Todos los tiempos están expresados en ms (valores relativos) con resolución de 10 ms.

Page 374: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 374/671

 Instrucciones   SpyStart

Tipos de Datos del Sistema y Rutinas 2-SpyStart-371

----- SYSTEM TRAP----- significa que el sistema está realizando otra actividad que laejecución de instrucciones RAPID.

Si el procedimiento llama a otro procedimiento NOSTEPIN (módulo) la lista indicará únicamente el nombre del procedimiento llamado. Esto se repite para cada instrucciónejecutada dentro de la rutina NOSTEPIN.

Sintaxis

SpyStart[File’:=’]<expresión (IN) de string>’;’

Información relacionada

Descrita en:

Finalizar el registro de los datos de ejecución Instrucciones - SpyStop

Page 375: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 375/671

SpyStart  Instrucciones

2-SpyStart-372 Tipos de Datos del Sistema y Rutinas

Page 376: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 376/671

Page 377: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 377/671

SpyStop  Instrucciones

2-SpyStop-374 Tipos de Datos del Sistema y Rutinas

Sintaxis

SpyStop’;’

Información relacionada

Descrita en:

Iniciar el registro de los datosde ejecución Instrucciones - SpyStart 

Page 378: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 378/671

 Instrucciones   StartMove

Tipos de Datos del Sistema y Rutinas 2-StartMove-375

StartMove Rearranque del movimientodel robot

StartMove sirve para reanudar el movimiento del robot y de los ejes externos despuésde un paro ejecutado mediante de la instrucción StopMove.

Ejemplo

StopMove;WaitDI entrada_preparado, 1;StartMove;

El robot empezará a moverse de nuevo cuando la entrada_  preparado se activa.

Ejecución del programa

Cualquier proceso asociado con el movimiento parado será rearrancado al mismotiempo que rearranca el movimiento.

Gestión de errores

En el caso en que el robot esté demasiado lejos de la trayectoria (más de 10 mm o 20grados) como para realizar un arranque del movimiento interrumpido, la variable delsistema ERRNO se activará en ERR_PATHDIST. Este error podrá entonces ser manip-ulado por el gestor de errores.

Sintaxis

StartMove’;’

Información relacionada

Descrita en:

Paro de movimientos Instrucciones - StopMove

Más ejemplos Instrucciones - StorePath

Page 379: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 379/671

StartMove  Instrucciones

2-StartMove-376 Tipos de Datos del Sistema y Rutinas

Page 380: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 380/671

 Instrucciones   Stop

Tipos de Datos del Sistema y Rutinas 2-Stop-377

Stop Paro de la ejecución del programa

Stop sirve para detener temporalmente la ejecución del programa.

La ejecución del programa también podrá ser detenida utilizando la instrucción EXIT .Esto, no obstante, sólo deberá realizarse si se ha terminado una tarea, o si se produceun error muy grave, ya que la ejecución del programa no podrá ser rearrancada con

 EXIT .

Ejemplo

TPWrite "La lí nea con el computador principal se ha interrumpido";Stop;

La ejecución del programa será detenida después de que aparezca un mensaje enla unidad de programación.

Argumentos

Stop [ \NoRegain ]

[ \NoRegain ] Tipo de dato: switch

Este argumento especifica para el siguiente arranque del programa en el modomanual, si el robot y los ejes externos deben o no regresar a la posición de paro.En el modo automático el robot y los ejes externos siempre regresan a la posiciónde paro.

En el caso en que el argumento NoRegain esté activado, el robot y los ejes exter-nos no regresarán a la posición de paro (si han sido desviados de dicha posición).

En el caso en que se omita el argumento y que el robot o los ejes externos hayansido desviados de la posición de paro, el robot visualizará una pregunta en launidad de programación. Entonces, el usuario deberá contestar a la pregunta

especificando si desea que el robot regrese a la posición de paro o no.

Ejecución del programa

La instrucción detendrá la ejecución del programa en cuanto el robot y los ejes externosalcancen el punto de destino programado del movimiento que se está realizando en elmomento. La ejecución del programa podrá entonces ser rearrancada a partir de lasiguiente instrucción.

Si hay una instrucción de Paro en alguna rutina de evento, la rutina será ejecutada a

partir del principio del siguiente evento.

Page 381: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 381/671

Stop  Instrucciones

2-Stop-378 Tipos de Datos del Sistema y Rutinas

Ejemplo

MoveL p1, v500, fine, tool1;TPWrite "Mover el robot a la posición para esquina pallet 1";

Stop \NoRegain;p1_read := CRobT();MoveL p2, v500, z50, tool1;

La ejecución del programa se detiene con el robot situado en la posición p1. Eloperador mueve el robot a p1_read . Para el siguiente arranque de programa, elrobot no regresará a p1, ya que la posición p1_read  puede ser almacenada en elprograma.

Limitaciones

La instrucción de movimiento que precede esta instrucción deberá terminar con unpunto de paro para que en esta instrucción sea posible realizar un rearranque despuésde un corte de potencia.

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

Page 382: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 382/671

 Instrucciones   StopMove

Tipos de Datos del Sistema y Rutinas 2-StopMove-379

StopMove Paro del movimiento del robot

StopMove sirve para detener los movimientos del robot y de los ejes externos de forma

temporal. Si se ejecuta la instrucción StartMove, el movimiento será reanudado.

Esta instrucción podrá, por ejemplo, utilizarse en una rutina de tratamiento de interrup-ciones para detener el robot de forma temporal cuando ocurre una interrupción.

Ejemplo

StopMove;WaitDI entrada_preparado, 1;StartMove;

El movimiento del robot será detenido hasta que la entrada_ preparado sea acti-vada.

Ejecución del programa

Los movimientos del robot y de los ejes externos se detendrán aunque los frenos esténaplicados. Cualquier proceso asociado con el movimiento en curso quedará detenidoal mismo tiempo que se detiene el movimiento.

La ejecución del programa continúa sin esperar que el robot y los ejes externos sedetengan (estén inmovilizados).

Ejemplos

VAR intnum intno1;...CONNECT intno1 WITH go_to_home_pos;ISignalDI di1,1,intno1;

TRAP go_to_home_posVAR robtarget p10;

StopMove;StorePath;p10:=CRobT();MoveL home,v500,fine,tool1;WaitDI di1,0;Move L p10,v500,fine,tool1;RestoPath;StartMove;

Page 383: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 383/671

Page 384: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 384/671

 Instrucciones   StorePath

Tipos de Datos del Sistema y Rutinas 2-StorePath-381

StorePath Almacenamiento de una trayectoriacuando se produce una interrupción

StorePath sirve para almacenar la trayectoria de movimiento que se está ejecutando enel momento en que se produce un error o una interrupción. El manipulador de erroreso la rutina de tratamiento de interrupciones podrá entonces iniciar un movimientonuevo y, a partir de aquí , rearrancar el movimiento que ha sido almacenado anterior-mente.

Esta instrucción podrá utilizarse para ir a una posición de servicio o para limpiar lapinza, por ejemplo, cuando se produce un error.

Ejemplo

StorePath;

La trayectoria de movimiento actual será almacenada para ser utilizada en unaetapa posterior.

Ejecución del programa

La trayectoria de movimiento utilizada del robot y de los ejes externos será guardada.

Después de esto, se podrá iniciar otro movimiento en una rutina de tratamiento de inte-rrupciones o en un manipulador de errores. Cuando el motivo que ha provocado elerror o la interrupción haya sido resuelto, la trayectoria de movimiento almacenadapodrá ser rearrancada.

Ejemplo

TRAP máquina_listo;VAR robtarget p1;StorePath;

p1 := CRobT();MoveL p100, v100, fine, herram1;...MoveL p1, v100, fine, herram1;RestoPath;StartMove;

ENDTRAP

Cuando ocurre una interrupción que activa la rutina de tratamiento de interrup-ciones máquina_listo, la trayectoria de movimiento que el robot está ejecutandoen este momento será parada al final de la instrucción (AlPunto) y almacenada.Después de esto, el robot resolverá el problema que ha provocado la interrup-ción, reemplazando por ejemplo, una pieza de la máquina y el movimiento nor-mal será rearrancado.

Page 385: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 385/671

StorePath  Instrucciones

2-StorePath-382 Tipos de Datos del Sistema y Rutinas

Limitaciones

Con la instrucción StorePath se almacenará únicamente los datos de trayectoria demovimiento. En el caso en que el usuario desee llevar a cabo algún movimiento en el

nivel de trayectoria nuevo, deberá ordenar que después de StorePath se almacene laposición actual y antes de RestoPath llevar a cabo un movimiento a partir de la posiciónde paro almacenada en la trayectoria.

Sólo se podrá almacenar una trayectoria de movimiento a la vez.

Sintaxis

StorePath‘;’

Información relacionada

Descrita en:

Restaurar una trayectoria Instrucciones - RestoPath

Más ejemplos Instrucciones - RestoPath

Page 386: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 386/671

 Instrucciones   TEST 

Tipos de Datos del Sistema y Rutinas 2-TEST-383

TEST Dependiendo del valor de una expresión...

TEST  sirve cuando diferentes instrucciones deben ser ejecutadas dependiendo del

valor de una expresión o de un dato.

En el caso en que no haya demasiadas alternativas, se podrá usar también la instrucción IF..ELSE. 

Ejemplo

TEST reg1CASE 1,2,3 :

rutina1;

CASE 4 :rutina2;

DEFAULT :TPWrite "Elección ilegal";Stop;

ENDTEST

Diferentes instrucciones serán ejecutadas dependiendo del valor de reg1. En elcaso en que el valor sea 1-3, la rutina1 será ejecutada. Si el valor es 4, la rutina2 será ejecutada. De lo contrario, aparecerá un mensaje de error visualizado y laejecución se detendrá.

Argumentos

TEST Dato de Test {CASE Valor de Test {, Valor de Test} : ...}[ DEFAULT: ...] ENDTEST

Dato de Test Tipo de dato: Todos

El dato o expresión con el que se desea que el valor test sea comparado.

Valor de Test Tipo de dato: El mismo que el anterior

El valor que el dato test debe tener para que las instrucciones asociadas se eje-cuten.

Ejecución del programa

El dato test será comparado con los valores test de la primera condición CASE. En elcaso en que la comparación sea verdadera, las instrucciones asociadas se ejecutarán.

Después de ello, la ejecución del programa continúa con la instrucción que sigue aENDTEST.

Page 387: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 387/671

Page 388: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 388/671

 Instrucciones   MoveL

Tipos de Datos del Sistema y Rutinas 2-MoveL-385

TestSign Salida de señales de test

TestSign se utiliza cuando se necesita una salida de señales de test en el sistema robot.

Las señales de test crean una imagen espejo de por ejemplo un ángulo del resolver deun eje. La señal de test es una salida análoga a uno de los dos puntos de conexión desalida de test.

Las señales de test del robot master no pueden alcanzarse.

Ejemplo

TestSign 1, resolver_angle, Orbit, 2, 4, 0;

El punto de conexión 1 de la señal de test proporcionará el valor delángulo_resolver de Orbit eje 2, escalado 4 veces el valor nominal y muestreadoal nivel máximo (indicada por 0).

Argumentos

TestSign Output SignalId MechUnit Axis Scale Stime

Output Tipo de dato: num

Este argumento especifica cual de los dos puntos de conexión de la señal de sal-ida de test estará disponible. Los valores posibles son 1 y 2.

SignalId Tipo de dato: testsignal

Es el nombre de la señal de test que será enviada a la salida.

MechUnit (Unidad Mecánica) Tipo de dato: mecunit 

Es el argumento que contiene el nombre de la unidad mecánica de la que se debesacar la señal de test.

Axis Tipo de dato: num

Es el argumento que contiene el número de eje de la unidad mecánica de la quese debe sacar la señal de test.

Scale Tipo de dato: num

Es el factor de escalado para la salida. Los valores posibles son 1, 2, 4, 8, 16, yasí  sucesivamente.

Page 389: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 389/671

 MoveL  Instrucciones

2-MoveL-386 Tipos de Datos del Sistema y Rutinas

Stime (Tiempo de muestreo) Tipo de dato: num

Es el tiempo de muestreo en segundos. La señal de salida es actualizada con unvalor nuevo a cada muestra. Un valor de 1 actualiza la salida a cada segundo y unvalor de 0 lleva a cabo una actualización tan frecuentemente como sea posible.El valor 0,01 corresponde a un muestro de 100 veces por segundo.

Ejecución del programa

La instrucción TestSign produce una imagen espejo de una señal del sistema robot enuna salida. La imagen espejo de una señal de test especí fica permanecerá activa hastaque se active una nueva instrucción TestSign para la salida. Un arranque en caliente delsistema robot elimina todas las señales de test activadas.

Gestión de errores

Si hay un error en el parámetro UnidadMecánica, el parámetro del sistema ERRNO seactivará en ERR_UNIT_PAR. Si hay un error en el parámetro Eje, ERRNO se activará en ERR_AXIS_PAR.

Sintaxis

TestSign[ Output ’:=’ ] < expresión (IN) de num> ’,’[ SignalId ’:=’ ] < expresión (IN) de testsignal>[ MechUnit ’:=’ ] < variable (VAR) de mecunit> ’,’[Axis ’:=’ ] < expresión (IN) de num> ’,’[ Scale ’:=’ ] < expresión (IN) de num > ’,’[ Stime ’:=’ ] < expresión (IN) de num> ’;’

Page 390: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 390/671

 Instrucciones   TPErase

Tipos de Datos del Sistema y Rutinas 2-TPErase-387

TPErase Borrado del texto impreso en launidad de programación

TPErase (Teach Pendant Erase) sirve para borrar el contenido del visualizador de launidad de programación.

Ejemplo

TPErase;TPWrite "Ejecución iniciada";

El contenido del visualizador de la unidad de programación será borrado antesde que aparezca Ejecución iniciada. 

Ejecución del programa

El visualizador de la unidad de programación quedará libre de todo texto. La próximavez que se introduzca texto, aparecerá en la lí nea superior del visualizador.

Sintaxis

TPErase;

Información Relacionada

Descrita en:

Escribir en la unidad de programación Resumen RAPID - Comunicación

Page 391: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 391/671

TPErase  Instrucciones

2-TPErase-388 Tipos de Datos del Sistema y Rutinas

Page 392: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 392/671

 Instrucciones   TPReadFK 

Tipos de Datos del Sistema y Rutinas 2-TPReadFK-389

TPReadFK Lectura de las teclas de función

TPReadFK (Teach Pendant Read Function Key) sirve para introducir texto encima de

las teclas de función y para descubrir la tecla que ha sido pulsada.

Ejemplo

TPReadFK reg1, "Más ?", stEmpty, stEmpty, stEmpty, "Sí ", "No";

El texto M ás? aparecerá en el visualizador de la unidad de programación y lasteclas de función 4 y 5 se activarán mediante las cadenas de texto S í  y No respec-tivamente (véase la Figura 22). La ejecución del programa esperará hasta que sepulse una de las teclas de función, 4 o 5. En otras palabras, reg1 tendrá asignado

el 4 o el 5 dependiendo de la tecla que se pulse.

Figura 22 El usuario podr á introducir información mediante las teclas de función.

Argumentos

TPReadFK Contestación Texto FK1 FK2 FK3 FK4 FK5 [\Max-Time] [DIBreak] [\BreakFlag]

Contestación Tipo de dato: num

La variable para la cual, dependiendo de la tecla que se pulse, se obtiene el valor

numérico 1..5. Si se pulsa la tecla de función 1, se obtendrá 1 y así  sucesiva-mente.

Texto Tipo de dato: string

El texto informativo que se desea introducir en el visualizador (de 80 caracterescomo máximo).

FKx (Texto de la tecla de función) Tipo de dato: string

El texto que se desea introducir como indicación propia de la tecla de función (de7 caracteres como máximo). FK1 es la tecla situada más a la izquierda.

  Sí No

 Más?

Page 393: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 393/671

TPReadFK   Instrucciones

2-TPReadFK-390 Tipos de Datos del Sistema y Rutinas

Las teclas de función desprovistas de cualquier indicación están especificadas con laconstante de cadena predefinida stEmpty con un valor de cadena vací o (’’’’).

[\MaxTime] Tipo de dato: num

Es el intervalo máximo de tiempo [s] que la ejecución del programa espera. Si no sepulsa ninguna tecla de función durante este tiempo, el programa continua a ejecutarseen el gestor de errores, a menos que se utilice BreakFlag (véase a continuación). Laconstante ERR_TP_MAXTIME podrá ser utilizada para comprobar si el intervalomáximo de tiempo ha transcurrido o no.

[\DIBreak] (Interrupción Entrada Digital) Tipo de dato: signaldi

Es la señal digital que podrí a interrumpir el diálogo del usuario. Si no se pulsa ningunatecla de función cuando la señal se activa en el valor 1 (o si ya está activada en 1), elprograma continuará a ejecutarse en el gestor de errores, a menos que se utilice

 BreakFlag (véase a continuación). La constante ERR_TP_DIBREAK podrá ser utili-

zada para comprobar si esto ha ocurrido o no.

[\BreakFlag] Tipo de dato: errnum

Es una variable que mantiene el código de error si se utiliza maxtime o dibreak. Si seomite esta variable opcional, el gestor de errores será ejecutado. Las constantesERR_TP_MAXTIME y ERR_TP_ DIBREAK podrán utilizarse para seleccionar elmotivo.

Ejecución del programa

El texto de información aparece siempre escrito en una nueva lí nea. Si el visualizador está lleno, este texto se moverá de una lí nea hacia arriba. Las cadenas de caracteres más largasque la anchura de la unidad de programación (40 caracteres) serán divididas en dos lí neas.

El texto indicativo estará escrito encima de las teclas de función correspondientes. Las teclasde 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 activadas.

Descripción de la petición concurrente TPReadFK o TPReadNum en la unidad de progra-mación (petición de la unidad de programación) a partir de la misma o de otras tareas de pro-

grama:

Page 394: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 394/671

 Instrucciones   TPReadFK 

Tipos de Datos del Sistema y Rutinas 2-TPReadFK-391

• La petición nueva de la unidad de programación procedente de otra tarea de programano está acesible en este momento (la petición nueva queda retenida en la cola)

• La petición nueva de la unidad de programación procedente de una rutina de trata-miento de interrupciones en la misma tarea de programa está accesible en este

momento (la petición antigua queda retenida en la cola)

• El paro de programa está accesible en este momento (el antiguo queda retenido en lacola)

• La petición nueva de la unidad de programación en el estado de paro de programaestá accesible en este momento (la antigua queda retenida en la cola).

Ejemplo

VAR errnum errvar;

...TPReadFK reg1, "¿Ir a la posición de servicio?", stEmpty, stEmpty, stEmpty,"Yes", "No"

 \MaxTime:= 600DIBreak:= di5\BreakFlag:= errvar;

IF reg1 = 4 or OR errvar = ERR_TP_DIBREAK THENMoveL service, v500, fine, tool1;Stop;

END IFIF errvar = ERR_TP_MAXTIME EXIT;

El robot se mueve a la posición de servicio si la cuarta tecla de función ("Sí ") está pulsada, o si se activa la entrada 5. Si no se da ninguna respuesta en los 10 minu-tos siguientes, la ejecución se termina.

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 bytespor cada tecla de función desprovista de indicación.

Page 395: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 395/671

TPReadFK   Instrucciones

2-TPReadFK-392 Tipos de Datos del Sistema y Rutinas

Sintaxis

TPReadFk[Contestación’:=’] <variable o persistente (INOUT) de num>’,’[Texto’:=’] <expresión (IN) de string>’,’[FK1 ’:=’] <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 a partir de Resumen RAPID - Comunicaciónla unidad de programación

Respuestas a través de la unidad Funcionamiento de producciónde programación  

Page 396: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 396/671

 Instrucciones   TPReadNum

Tipos de Datos del Sistema y Rutinas 2-TPReadNum-393

TPReadNum Lectura de un número enla unidad de programación

TPReadNum (Teach Pendant Read Numerical) sirve para la lectura de un número enla unidad de programación.

Ejemplo

TPReadNum reg1, “¿Cuántas unidades deben producirse? “;

El texto ¿Cuántas unidades deben producirse? aparece en el visualizador de launidad de programación. La ejecución del programa espera hasta que se hayaintroducido un número a partir del teclado numérico de la unidad de progra-mación. Este número quedará almacenado en reg1.

Argumentos

TPReadNum Contestación Texto [\MaxTime] [DIBreak][\BreakFlag]

Contestación Tipo de dato: num

Es la variable que es devuelta para el número introducido en la unidad de progra-mación.

Texto Tipo de dato: string

Es el texto de información que se desea introducir en la unidad de programación(de 80 caracteres como máximo).

[\MaxTime] Tipo de dato: num

Es el intervalo máximo de tiempo que la ejecución del programa espera. Si no seintroduce ningún número durante este tiempo, el programa continúa a ejecutarse

en el gestor de errores a menos que se haya utilizado BreakFlag (véase a contin-uación). La constante ERR_TP_MAXTIME podrá ser utilizada para comprobarsi el intervalo máximo de tiempo ha transcurrido o no.

[\DIBreak]  (Interrupción Entrada Digital) Tipo de dato: signaldi

Es la señal digital que podrí a interrumpir el diálogo del usuario. Si no se intro-duce ningún número cuando la señal se activa en 1 (o si ya está activada en 1),el programa continúa ejecutándose en el gestor de errores a menos que se hayautilizado BreakFlag (véase a continuación). La constante ERR_TP_DIBREAKpodrá ser utilizada para comprobar si ello ha ocurrido o no.

Page 397: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 397/671

TPReadNum  Instrucciones

2-TPReadNum-394 Tipos de Datos del Sistema y Rutinas

[\BreakFlag] Tipo de dato: errnum

Es una variable que mantiene el código de error si se ha utilizado maxtime odibreak . Si se omite esta varible opcional, el gestor de error será ejecutado. Lasconstantes ERR_TP_MAXTIME y ERR_TP_ DIBREAK podrán utilizarse paraseleccionar el motivo.

Ejecución del programa

El texto de información siempre aparece en una lí nea nueva. Si el visualizador está lleno, el texto se moverá de una lí nea hacia arriba. Las cadenas de caracteres que sonmás largas que la anchura de la unidad de programación quedarán divididas (40 carac-teres) en dos lí neas.

La ejecución del programa esperará hasta que se teclee un número en el tecladonumérico (pulsando luego la tecla Retorno o la tecla OK ).

Véase la instrucción TPReadFK referente a la descripción de una petición concurrenteTPReadFK o TPReadNum en la unidad de programación, procedente de la misma tareade programa o de otras tareas.

Ejemplo

TPReadNum reg1, “¿Cuántas unidades deben producirse?“;

FOR i FROM 1 TO reg1 DOproduc_unid;ENDFOR

El texto ¿Cuántas unidades deben producirse? aparece escrito en el visualizadorde la unidad de programación. La rutina produc_unid  se repetirá entonces elnúmero de veces que se ha indicado a través de la unidad de producción.

Sintaxis

TPReadNum[Contestación’:=’] <variable o persistente (INOUT) de num>’,’[Texto’:=’] <expresión (IN) de string>[’ \ ’MaxTime ’:=’ <expresión (IN) de num>][’ \ ’DIBreak ’:=’ <variable (VAR) de signaldi>][’ \ ’BreakFlag ’:=’ <variable o persistente (INOUT) de errnum>] ’;’

Page 398: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 398/671

 Instrucciones   TPReadNum

Tipos de Datos del Sistema y Rutinas 2-TPReadNum-395

Información relacionada

Descrita en:

Lectura y escritura en la Resumen RAPID - Comunicaciónunidad 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

Page 399: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 399/671

TPReadNum  Instrucciones

2-TPReadNum-396 Tipos de Datos del Sistema y Rutinas

Page 400: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 400/671

 Instrucciones   TPShow

Tipos de Datos del Sistema y Rutinas 2-TPShow-397

TPShow Cambio de ventana dela unidad de programación

TPShow (Teach Pendant Show) sirve para seleccionar la ventana de la unidad de pro-gramación desde aplicaciones RAPID.

Ejemplos

TPShow TP_PROGRAM;

La Ventana de Producción estará activa si el sistema se encuentra en el modo AUTO y la Ventana de Programa estará activa si el sistema está en el modo MAN  después de la ejecución de esta instrucción.

TPShow TP_LATEST;

La última Ventana de la Unidad de Programación utilizada antes de la Ventanade la Unidad de Programación actual , estará activa después de la ejecución deesta instrucción.

Argumentos

TPShow VentanaVentana Tipo de dato: tpnum

La ventana que se desea visualizar:

TP_PROGRAM = Ventana de Producción si el sistema está en el modo AUTO. Ventana de Programa si está en el modo MAN .

TP_LATEST = Última Ventana de la Unidad de Programación utilizadaantes de la Ventana de la Unidad de Programación actual.

TP_SCREENVIEWER= Ventana Screen Viewer, si la opción Screen Viewer hasido activada.

Datos predefinidos

CONST tpnum TP_PROGRAM := 1;CONST tpnum TP_LATEST := 2;CONST tpnum TP_SCREENVIEWER := 3;

Page 401: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 401/671

TPShow  Instrucciones

2-TPShow-398 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

La Ventana de la Unidad de Programación seleccionada será activada.

Sintaxis

TPShow[Ventana’:=’] <expresión (IN) de tpnum> ‘;’

Información relacionada

Descrita en:

Comunicación mediante la unidad Resumen RAPID - Comunicaciónde programación

Número de Ventana de la unidadde programación Tipos de dato - tpnum 

-

Page 402: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 402/671

 Instrucciones   TPWrite

Tipos de Datos del Sistema y Rutinas 2-TPWrite-399

TPWrite Escritura en la unidadde programación

TPWrite (Teach Pendant Write) sirve para escribir un texto en la unidad de progra-mación. El valor de ciertos datos así  como texto podrán ser introducidos.

Ejemplos

TPWrite "Ejecución iniciada";

El texto Ejecución iniciada aparecerá visualizada en la unidad de programación.

TPWrite "Nº de piezas producidas="\Num:=reg1;

Por ejemplo, a la respuesta a N º  de piezas producidas= 5, se deberá introducir 5en vez de reg1 en la unidad de programación.

Argumentos

TPWrite Texto [\Num] | [\Bool] | [\Pos] | [\Orient]

Texto Tipo de dato: string

La cadena de texto que se debe escribir (80 caracteres como máximo).

[\Num] (Numeric) Tipo de dato: num

El dato cuyo valor numérico debe ser introducido después de la cadena de texto.

[\Bool] (Boolean) Tipo de dato: bool

El dato cuyo valor lógico debe ser introducido después de la cadena de texto.

[\Pos] (Position) Tipo de dato: pos

El dato cuya posición debe ser introducida después de la cadena de texto.

[\Orient] (Orientation) Tipo de dato: orient 

El dato cuya orientación debe ser introducida después de la cadena de texto.

Ejecución del programa

El texto introducido en la unidad de programación empieza siempre en una lí nea

nueva. Cuando el visualizador está lleno, el texto se moverá de una lí nea hacia arriba.Las cadenas de texto que son más largas que la anchura de la unidad de programación(40 caracteres) se dividirán en dos lí neas.

Page 403: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 403/671

TPWrite  Instrucciones

2-TPWrite-400 Tipos de Datos del Sistema y Rutinas

Si se utiliza uno de los argumentos \Num, \Bool, \Pos o \Orient, su valor será primeroconvertido en una cadena de texto antes de ser añadido a la primera cadena. La conver-sión del valor en cadena de texto se realiza según lo siguiente:

Argumento Valor Cadena de texto

 \Num 23 "23"

 \Num 1.141367 "1.141367"

 \Bool VERDADERO "VERDADERO"

 \Pos [1817.3,905.17,879.11] "[1817.3,905.17,879.11]"

 \Orient [0.96593,0,0.25882,0] "[0.96593,0,0.25882,0]"

El valor será convertido en una cadena con el formato estándar en RAPID. Esto sig-nifica en principio 6 cifras significantes. Si el número decimal es inferior a 0,000005 omayor que 0,999995, el número será redondeado a un número entero.

Limitaciones

Los argumentos \Num, \Bool, \Pos y \Orient  son mutuamente exclusivos y por lo tantono 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ónunidad de programación  

Page 404: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 404/671

 Instrucciones   TriggC 

Tipos de Datos del Sistema y Rutinas 2-TriggC-401

TriggC Movimiento circular del robotcon eventos

TriggC (Trigg Circular) sirve para activar señales de salida y/o ejecutar rutinas de inte-rrupción en posiciones fijas, al mismo tiempo que el robot se mueve en una trayectoriacircular.

Mediante las instrucciones TriggIO, TriggEquip o TriggInt  se podrán definir uno o más(4 como máximo) eventos. A continuación, estas definiciones serán referidas en la ins-trucción TriggC .

Ejemplos

VAR triggdata gunon;

TriggIO gunon, 0 \Start \DOp:=gun, on;

MoveL p1, v500, z50, gun1;TriggC p2, p3, v500, gunon, fine, gun1;

La señal de salida digital gun se activa cuando el TCP del robot pasa en el puntoque se encuentra en el medio de la trayectoria esquina del punto p1.

Figura 23 Ejemplo de un evento de E/S de posición fija.

Argumentos

TriggC [\Conc] PuntoCir AlPunto Veloc [ \T ]Trigg1 [ \T2 ] [ \T3 ] [ \T4] Zona Herram [ \WObj ][\Corr]

[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones siguientes son ejecutadas inmediatamente. Este argumentosirve para acortar el tiempo de ciclo cuando, por ejemplo, se está comunicandocon el equipo externo y no se requiere ninguna sincronización. También podrá 

utilizarse para ajustar la ejecución de la trayectoria del robot, para evitar el men-saje de aviso 50024 Fallo de trayectoria esquina o el error 40082 Lí mite de dece-

Punto final p3

 

Punto de

La señal de salida gun se activa en posición oncuando el TCP del robot se encuentra aquí  

TriggC p2, p3, v500, gunon, fine, gun1;

Punto de cí rculo p2

arranque p1

Page 405: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 405/671

TriggC   Instrucciones

2-TriggC-402 Tipos de Datos del Sistema y Rutinas

leración.

Cuando se usa el argumento \Conc, el número de instrucciones de movimientosucesivas será limitado a 5. En una sección de programa que incluye una secuen-cia StorePath-RestoPath, las instrucciones de movimiento con el argumento

 \Conc no están permitidas.

Si se omite este argumento y que el argumento AlPunto no es un punto de paro,la instrucción siguiente se ejecutará poco tiempo antes de que el robot haya alcan-zado la zona programada.

PuntoCir Tipo de dato: robtarget 

Es el punto circular del robot. Véase la instrucción MoveC  para una descripciónmás detallada del movimiento circular. El punto circular está definido como unaposición nombrada o es almacenado directamente en la instrucción (marcado con

un asterisco * en la instrucción).

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Esta definido como unaposición nombrada o es almacenado directamente en la instrucción (marcado conun asterisco * en la instrucción).

Veloc Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velo-cidad definen la velocidad del punto central de la herramienta, de los ejes exter-

nos y de la reorientación de la herramienta.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot se mueve. Más adelante será sustituido por el dato de velocidad corres-pondiente.

Trigg1 Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividades de disparo, defini-das anteriormente en el programa mediante la utilización de las instrucciones Tri-

ggIO, TriggEquip o TriggInt .

[ \T2] (Trigg 2) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividades de disparo, defini-das anteriormente en el programa mediante la utilización de las instrucciones Tri-ggIO, TriggEquip o TriggInt .

[ \T3 ] (Trigg 3) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividades de disparo, defini-das anteriormente en el programa mediante la utilización de las instrucciones Tri-ggIO, TriggEquip o TriggInt .

Page 406: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 406/671

 Instrucciones   TriggC 

Tipos de Datos del Sistema y Rutinas 2-TriggC-403

[ \T4 ] (Trigg 4) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividades de disparo, defini-das anteriormente en el programa mediante la utilización de las instruccionesTriggIO, TriggEquip o TriggInt .

Zona Tipo de dato: zonedata

Son los datos de zona para el movimiento. Los datos de zona describen el tamañode la trayectoria esquina generada.

Herram Tipo de dato: tooldata

Es la herramienta utilizada cuando el robot se está moviendo. El punto central dela herramienta es el punto que es movido a la posición de destino especificada.

[ \WObj] (Objeto de trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posición delrobot en la instrucción.

Este argumento puede ser omitido, y en el caso en que lo sea, la posición se refe-rirá al sistema de coordinadas mundo. Si, por otra parte, se está usando un TCPestacionario o unos ejes externos coordinados, este argumento deberá ser espe-cificado para un movimiento lineal relativo al objeto de trabajo correspondiente.

[ \Corr] (Corrección) Tipo de dato: switch

Si este argumento está presente, los datos de corrección introducidos en unaentrada de corrección mediante la instrucción CorrWrite serán añadidos a latrayectoria y a la posición de destino.

Ejecución del programa

Véase la instrucción MoveC para más información sobre el movimiento circular. 

Dado que las condiciones de disparo se han cumplido a medida que el robot se posi-ciona cada vez más cerca del punto final, las actividades de disparo definidas se ejecu-

tarán. Las condiciones de disparo se cumplen a cierta distancia antes de alcanzar elpunto final de la instrucción, o a cierta distancia después del punto de arranque de lainstrucción, o a cierto punto definido en el tiempo (limitado a un periodo corto) antesde alcanzar el punto final de la instrucción.

Durante la ejecución paso a paso hacia adelante, las actividades de las E/S se llevarána cabo pero las rutinas de interrupción no serán ejecutadas. Durante la ejecución pasoa paso hacia atrás, no se llevará a cabo ninguna actividad de disparo.

Page 407: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 407/671

Page 408: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 408/671

 Instrucciones   TriggC 

Tipos de Datos del Sistema y Rutinas 2-TriggC-405

Información relacionada

Descrita en:

Movimiento lineal con disparos Instrucciones - TriggLMovimiento eje a eje con disparos Instrucciones - TriggJ 

Definición de los disparos Instrucciones - TriggIO, TriggEquip,TriggInt 

Escritura en una entrada de corrección Instrucciones - CorrWrite

Movimiento circular Principios de Movimiento - Posiciona-miento durante la Ejecución del Pro-grama

Definición de la velocidad Tipos de datos - speeddata

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

Page 409: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 409/671

TriggC   Instrucciones

2-TriggC-406 Tipos de Datos del Sistema y Rutinas

Page 410: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 410/671

 Instrucciones   TriggEquip

Guí a de Referencia RAPID 8-TriggEquip-407

TriggEquip Definición de un evento de E/Sde tiempo-posición fijas

TriggEquip (Trigg Equipment) sirve para definir las condiciones y acciones para laactivación de una señal digital, de un grupo de señales digitales o de una señal de salidaanalógica en una posición fija en la trayectoria de movimiento del robot con la posibi-lidad de llevar a cabo una compensación de tiempo para el retraso ocurrido en el equipoexterno.

Los datos definidos serán utilizados en una o más instrucciones TriggL, TriggC  o Tri-ggJ siguientes.

Ejemplos

VAR triggdata gunon;

TriggEquip gunon, 10, 0.1 \DOp:=gun, 1;

TriggL p1, v500, gunon, z50, gun1;

La herramienta gun1 se abre en el punto p2, cuando el TCP está a 10 mm antesdel punto p1. Para alcanzar esto, la señal de salida digital gun está puesta en elvalor 1, cuando el TCP está a 0,1 seg antes del punto p2. La pinza está totalmenteabierta cuando el TCP alcanza el punto p2.

Figura 24 Ejemplo de un evento de E/S de tiempo-posición fijas.

Argumentos

TriggEquip TriggData Distancia [ \Start ] EquipLag[ \DOp ] | [ \GOp ] | [\AOp ] | [\ProcID ] SetValue[ \Inhib ]

TriggData Tipo de dato: triggdata

Es una variable utilizada para almacenar los datos triggdata retornados de estainstrucción. Estos datos triggdata serán utilizados luego en las instrucciones Tri-ggL, TriggC  o TriggJ  ulteriores.

TriggL p1, v500, gunon, z50, gun1; Punto final p1Punto de

10 mm

Punto p2 para la apertura de la pinza

arranque

Page 411: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 411/671

TriggEquip  Instrucciones

8-TriggEquip-408 Guí a de Referencia RAPID

Distancia Tipo de dato: num

Define la posición en la trayectoria donde debe ocurrir el evento de E/S.

Está especificada como siendo la distancia en mm (valor positivo) desde el punto

final de la trayectoria de movimiento (aplicable si el argumento \ Start  no ha sidoactivado).

Véase la sección titulada Ejecución del programa para más detalles.

[ \Start ] Tipo de dato: switch

Se utiliza cuando la distancia del argumento Distancia empieza en el punto dearranque del movimiento en lugar de empezar en el punto final.

EquipLag (Retraso del equipo) Tipo de dato: num

Sirve para especificar el retraso del equipo externo en segundos.

Para la compensación del retraso del equipo externo, se deberá utilizar un valorde argumento positivo. Un valor de argumento positivo significa que la señal deE/S es activada por el sistema robot en un momento especí fico antes de que elTCP f í sico alcance la distancia especí fica respecto al punto de arranque del movi-miento o al punto final.

Un valor de argumento negativo significa que la señal de E/S es activada por elsistema robot a un momento especí fico después de que el TCP f í sico haya pasadola distancia especificada respecto al punto de arranque del movimiento o al punto

final.

Figura 25 Utilización del argumento EquipLag.

[ \DOp ] (Salida  Digital) Tipo de dato: signaldo

Es el nombre de la señal, cuando se desea cambiar una señal de salida digital.

[ \GOp ] (Grupo Salida) Tipo de dato: signalgo

Es el nombre de la señal, cuando se desea cambiar un grupo de señales de salida

digital.

Punto finalPunto de arranque

Distancia

 \Arranque

Distancia

Retraso del equipo

+ - + -

Page 412: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 412/671

 Instrucciones   TriggEquip

Guí a de Referencia RAPID 8-TriggEquip-409

[ \AOp ] (Salida analógica) Tipo de dato: signalao

Es el nombre de la señal, cuando se desea cambiar una señal de salida analógica.

[ \ProcID] ( Identidad del Proceso) Tipo de dato: num

No está implementado para el uso del usuario.

(La identidad del proceso IPM para recibir el evento. El selector está especificado en el argumento SetValue.)

SetValue Tipo de dato: num

Es el valor deseado de la señal de salida (dentro del lí mite permitido para la señalcorrespondiente).

[ \Inhib] (Inhibición) Tipo de dato: bool

Es el nombre de la bandera variable persistente para la inhibición de la activaciónde la señal durante el funcionamiento.

Si se utiliza este argumento opcional y que el valor actual de la bandera especi-ficada está en TRUE en el tiempo-posición para la activación de la señal, enton-ces la señal especificada (DOp, GOp o AOp) adoptará el valor 0 en lugar deactivarse en el valor deseado.

Ejecución del programaCuando se ejecuta la instrucción TriggEquip, la condición de disparo es almacenada enla variable especí fica para el argumento TriggData.

Más adelante, cuando una de las instrucciones TriggL, TriggC  o TriggJ  es ejecutada,lo que se indica a continuación se aplicará, con respecto a las definiciones contenidasen TriggEquip:

La distancia especificada en el argumento Distancia:

Movimiento lineal La distancia en lí nea recta

Movimiento circular La longitud del arco de cí rculo

Movimiento no-lineal La longitud aproximada del arco a lo largo de latrayectoria (para obtener la precisión adecuada,la distancia no debe exceder la mitad de la longi-tud del arco).

Figura 26 E/S de tiempo-posición fijas en una trayectoria esquina.

Punto final contrayectoria esquina

Si la Distancia es 0, la señal de salida

se activa cuando el TCP del

robot se encuentra aquí .

Page 413: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 413/671

TriggEquip  Instrucciones

8-TriggEquip-410 Guí a de Referencia RAPID

El evento relativo al tiempo-posición será generado cuando se haya pasado el punto dearranque (punto final), si la distancia especificada a partir del punto final (punto dearranque) no se encuentra dentro de la longitud de movimiento de la instrucción utili-zada (Trigg...). Si se utiliza el argumento EquipLag con un tiempo negativo (retraso),la señal de E/S podrá ser activada después del punto final.

Ejemplos

VAR triggdata glueflow;

TriggEquip glueflow, 1 \Start, 0.05 \AOp:=glue, 5.3;

MoveJ p1, v1000, z50, tool1;TriggL p2, v500, glueflow, z50, tool1;

La señal de salida analógica glue se activa en el valor 5,3 cuando el TCP pasa porun punto situado a 1 mm más allá del punto de arranque p1 con una compensaciónpara el retraso del equipo de 0,05 segundos.

...TriggL p3, v500, glueflow, z50, tool1;

La señal de salida analógica glue está activada de nuevo en el valor 5,3 cuandoel TCP pasa por un punto situado a 1 mm más allá del punto de arranque p2.

Limitaciones

Los eventos de E/S con distancia (sin el argumento \Time) están concebidos para lospuntos de paso (trayectoria esquina). Los eventos de E/S con distancia, que utilizanpuntos de paro, tienen una precisión peor de lo que se especifica a continuación.

Respecto a la precisión de los eventos de E/S con distancia y que utilizan puntos depaso, se aplica lo siguiente cuando se activa una salida digital a una distancia especí ficaa partir del punto de arranque o final dentro de las instrucciones TriggL o TriggC:

- La precisión que se especifica a continuación es válida para un parámetro Equi-

 pLag positivo < 60 ms, equivalente al retraso del servo del robot (sin cambiarel parámetro del sistema Event Preset Time).

- La precisión que se especifica a continuación es válida para un parámetro Equi- pLag positivo < Event Preset Time (parámetro del sistema) configurado.

- La precisión que se especifica a continuación no es válida para un parámetro EquipLag positivo > Event Preset Time (parámetro del sistema) configurado. En este caso, se usa un método aproximado en el que las limitaciones dinámicasdel robot no son tomadas en consideración. Se deberá usar SingArea\Wrist  a finde obtener una precisión aceptable.

- La precisión que se especifica a continuación es válida para un parámetro Equi-

 pLag negativo.

Page 414: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 414/671

 Instrucciones   TriggEquip

Guí a de Referencia RAPID 8-TriggEquip-411

Los eventos de E/S con tiempo (con el argumento \Time) están destinados a ser utili-zados con los puntos de paro. Los eventos de E/S con tiempo, utilizados con puntos depaso, tienen una precisión peor que la que se especifica a continuación.Los eventos de E/S con tiempo sólo podrán ser especificados a partir del punto finaldel movimiento. Este tiempo no deberá exceder el tiempo de frenado utilizado por elrobot, que es de aproximadamente 0,5 s (valores tí picos a una velocidad de 500 mm/ seg para el IRB2400: 150 ms y para el IRB6400: 250 ms). En el caso en que el tiempoespecificado sea mayor que el tiempo de frenado utilizado, el evento seguirá siendogenerado, aunque no lo será antes de que haya empezado el tiempo de frenado (mástarde de lo especificado). No obstante, el tiempo total de movimiento del movimientoutilizado podrá ser usado en movimientos rápidos y pequeños.

Valores de precisión absoluta tí picos para activación de salidas digitales +/- 5 ms.Valores de precisión de repetición tí picos para activación de salidas digitales +/- 2 ms.

Sintaxis

TriggEquip[ TriggData ’:=’ ] < variable (VAR) de triggdata> ‘,’[ Distance ’:=’ ] < expresión (IN) de num>[ ’ \ ’ Start ] ’, ’[ EquipLag ‘:=’] <expresión (IN) de num>[ ’ \ ’ DOp ’:=’ < variable (VAR) de signaldo> ]| [ ’ \ ’ GOp ’:=’ < variable (VAR) de signalgo> ]| [ ’ \ ’ AOp ’:=’ < variable (VAR) de signalao> ] ‘,’| [ ’ \ ’ ProcID ’:=’ < expresión (IN) de num> ] ‘,’[ SetValue ’:=’ ] < expresión (IN) de num>[‘ \ ’ Inhibit ‘:=’ <persistente (PERS) de bool>] ‘,’

Información relacionada

Descrita en:

Uso de los disparos Instrucciones - TriggL, TriggC , TriggJ 

Definición de otros disparos Instrucciones - TriggIO, TriggInt 

Más ejemplos Tipos de datos - triggdataActivación de E/S Instrucciones - SetDO, SetGO, SetAO

Configuración de Event Preset timeGuí a del Usuario - Parámetros del Sis-tema - Manipulador 

Page 415: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 415/671

TriggEquip  Instrucciones

8-TriggEquip-412 Guí a de Referencia RAPID

Page 416: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 416/671

 Instrucciones   TriggInt

Tipos de Datos del Sistema y Rutinas 2-TriggInt-413

TriggInt Definición de una interrupciónrelativa a una posición

TriggInt sirve para definir las condiciones y acciones para la ejecución de una rutinade interrupción en una posición sobre la trayectoria de movimiento del robot.

Los datos definidos serán utilizados en una o más instrucciones TriggL, TriggC  oTriggJ siguientes.

Ejemplos

VAR intnum intno1;VAR triggdata trigg1;...CONNECT intno1 WITH trap1;TriggInt trigg1, 5, intno1;...TriggL p1, v500, trigg1, z50, gun1;TriggL p2, v500, trigg1, z50, gun1;...IDelete intno1;

La rutina de tratamiento de interrupción trap1 se ejecuta cuando el TCPestá en una posición situada a 5 mm antes del punto p1 o p2 respectiv-

amente.

Figura 27 Ejemplo de una interrupción relativa a una posición.

Argumentos

TriggInt TriggData Distancia [ \Start ] | [ \Time ]Interrupción

TriggData Tipo de dato: triggdata

Es una variable utilizada para el almacenamiento de los datos triggdata retorna-

dos de esta instrucción. Estos datostriggdata

serán luego utilizados en lasinstrucciones TriggL, TriggC  o TriggJ  siguientes.

TriggL p1, v500, trigg1, z50, gun1; Punto final p1 o p2Punto de

5 mm

La interrupción se genera

cuando el TCP se sitúa aquí  

arranque

Page 417: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 417/671

TriggInt  Instrucciones

2-TriggInt-414 Tipos de Datos del Sistema y Rutinas

Distancia Tipo de dato: num

Define la posición en la trayectoria, en el lugar donde la interrupción deberá sergenerada.

Se especifica como siendo la distancia en mm (valor positivo) desde la posiciónfinal de la trayectoria de movimiento (aplicable siempre y cuando el argumento \ Start  o \ Time no haya sido activado).

Véase la sección titulada Ejecución del Programa para más detalles.

[ \Start ] Tipo de dato: switch

Se utiliza cuando la distancia del argumento Distancia empieza en el punto dearranque del movimiento en lugar de empezar en el punto final.

[ \Time ] Tipo de dato: switch

Se utiliza cuando el valor especificado del argumento Distancia es un tiempo ensegundos (valor positivo) en vez de una distancia.

Las interrupciones relativas a posiciones en el tiempo sólo podrán utilizarse paratiempos cortos (< 0,5 s) antes de que el robot alcance el punto final de la instruc-ción. Véase la sección titulada Limitaciones para más detalles.

Interrupción Tipo de dato: intnum

Es una variable utilizada para la identificación de una interrupción.

Ejecución del programa

Cuando se ejecuta la instrucción TriggInt , los datos son almacenados en una variableespecí fica para el argumento TriggData y la interrupción que está especificada en lavariable para el argumento Interrupt  es activada.

Más adelante, cuando se ejecuta una de las instrucciones TriggL, TriggC  o TriggJ , seaplica lo que se indica a continuación referente a las definiciones contenidas en Trig-gInt :

Page 418: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 418/671

 Instrucciones   TriggInt

Tipos de Datos del Sistema y Rutinas 2-TriggInt-415

La distancia especificada en el argumento Distancia:

Movimiento lineal La distancia en lí nea recta

Movimiento circular La longitud del arco de cí rculo

Movimiento no-lineal La longitud aproximada del arco sobre latrayectoria (para obtener una precisión adecuada,la distancia no deberá exceder la mitad de lalongitud del arco).

Figura 28 Interrupción relativa a una posición sobre una trayectoria esquina.

La interrupción relativa a la posición será generada cuando se haya pasado el punto dearranque (punto final), siempre y cuando la distancia especificada desde el punto final(punto de arranque) no esté dentro de la longitud de movimiento de la instrucción uti-lizada (Trigg...).

Ejemplos

Este ejemplo describe la programación de las instrucciones que intervienen para lageneración de interrupciones relativas a la posición:

VAR intnum intno2;VAR triggdata trigg2;

- Declaración de las variables intno2 y trigg2 (no deberán ser iniciadas). 

CONNECT intno2 WITH trap2;

- Atribución de los números de interrupción que están almacenados en la variable

intno2

- El número de interrupción es atribuido a la rutina de tratamiento de interrupcióntrap2

TriggInt trigg2, 0, intno2;

- Aparece la bandera del número de interrupción de la variable intno2 cuando esutilizada 

- La interrupción es activada

- El número de interrupción y las condiciones de disparo definidas son almacena-

das en la variable trigg2

Punto final con

trayectoria esquina

Si la Distancia es 0, la interrupción serágenerada cuando el TCP del robot esté aquí 

Page 419: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 419/671

TriggInt  Instrucciones

2-TriggInt-416 Tipos de Datos del Sistema y Rutinas

TriggL p1, v500, trigg2, z50, gun1;

- El robot es movido al punto p1.

- Cuando el TCP ha alcanzado el punto p1, se genera una interrupción y se ejecuta

la rutina de tratamiento de interrupción trap2.

TriggL p2, v500, trigg2, z50, gun1;

- El robot es movido al punto p2

- Cuando el TCP alcanza el punto p2, se genera una interrupción y la rutina detratamiento de interrupción trap2 se ejecuta otra vez.

IDelete intno2;

- El número de interrupción contenido en la variable intno2 deja de ser atribuido.

Limitaciones

Los eventos de interrupciones relativos a la distancia (sin el argumento \ Time) estándestinados a ser utilizados con puntos de paso (trayectoria esquina). Los eventos deinterrupciones relativos a la distancia, utilizados con puntos de paro tienen una peorprecisión que la especificada a continuación.

Los eventos de interrupciones relativos al tiempo (con el argumento \ Time) están des-tinados a ser utilizados con los puntos de paro. Los eventos de interrupciones relativos

al tiempo, utilizados con puntos de paso, tienen una peor precisión que la especificadaa continuación.Los eventos de E/S relativos al tiempo sólo podrán ser especificadas desde el puntofinal del movimiento. Este tiempo no deberá exceder el tiempo de frenado utilizado porel robot, que es de aproximadamente 0,5 s (valores tí picos a una velocidad de 500 mm/ seg para el IRB2400: 150 ms y para el IRB6400: 250 ms). En el caso en que el tiempoespecificado sea mayor que el tiempo de frenado utilizado, el evento seguirá siendogenerado, aunque no lo será antes de que haya empezado el tiempo de frenado (mástarde de lo especificado). No obstante, el tiempo total de movimiento del movimientoutilizado podrá ser usado en movimientos rápidos y pequeños.

Valores de precisión absoluta tí picos para la generación de interrupciones +/- 5 ms.

Valores de precisión de repetición tí picos la generación de interrupciones +/- 2 ms.

Normalmente suele haber un retraso que oscila entre 5 y 120 ms. entre la generación dela interrupción y la respuesta, dependiendo del tipo de movimiento que se está reali-zando en el momento de la interrupción. (Referirse a Caracterí sticas Básicas RAPID -

 Interrupciones).

Para obtener la mayor precisión cuando se activa una salida en una posición fija sobrela trayectoria del robot, se deberá utilizar preferentemente la instrucción TriggIO o TriggEquip en vez de las instrucciones TriggInt  con SetDO/SetGO/SetAO en una rutinade interrupción.

Page 420: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 420/671

 Instrucciones   TriggInt

Tipos de Datos del Sistema y Rutinas 2-TriggInt-417

Sintaxis

TriggInt[ TriggData ’:=’ ] < variable (VAR) de triggdata> ‘,’[ Distance ’:=’ ] < expresión (IN) de num>[ ’ \ ’ Start ] | [ ’ \ ’ Time ] ’,’[ Interrupt ’:=’ ] < variable (VAR) de intnum> ’;’

Información relacionada

Descrita en:

Utilización de disparos Instrucciones - TriggL, TriggC , TriggJ 

Definición de E/S de posición fija Instrucción - TriggIO, TriggEquip

Más ejemplos Tipos de datos - triggdata

Interrupciones Caracterí sticas básicas - Interrup-ciones

Page 421: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 421/671

TriggInt  Instrucciones

2-TriggInt-418 Tipos de Datos del Sistema y Rutinas

Page 422: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 422/671

 Instrucciones   TriggIO

Guí a de Referencia RAPID 8-TriggIO-419

TriggIO Definición de un evento de E/Sde posición fija

TriggIO sirve para definir las condiciones y acciones para activar una señal digital, ungrupo de señales digitales o una señal de salida analógica en una posición fija en la tra-yectoria de movimiento del robot.

Para obtener un evento de E/S de posición fija, TriggIO compensa el retraso en el sis-tema de control (retraso entre el robot y el servo) pero no compensará ningún retrasoen el equipo externo. Para una compensación de ambos retrasos, se deberá utilizar Tri-ggEquip.

Los datos definidos serán utilizados en una o más instrucciones TriggL, TriggC  o Tri-ggJ ulteriores.

Ejemplos

VAR triggdata gunon;

TriggIO gunon, 10 \DOp:=gun, 1;

TriggL p1, v500, gunon, z50, gun1;

La señal de salida digital gun está activada en el valor 1 cuando el TCP está a 10 

mm antes del punto p1.

Figura 29 Ejemplo de un evento de E/S de posición fija.

Argumentos

TriggIO TriggData Distancia [ \Start ] | [ \Time ][ \DOp ] | [ \GOp ] | [\AOp ] | [\ProcID ] SetValue[ \DODelay ]

TriggData Tipo de dato: triggdata

Es una variable utilizada para almacenar los datos triggdata retornados de estainstrucción. Estos datos triggdata serán utilizados luego en las instrucciones Tri-ggL, TriggC  o TriggJ  siguientes.

TriggL p1, v500, gunon, z50, gun1; Punto final p1Punto de

10 mm

La señal de salida gun se activa

cuando el punto está aquí  

arranque

Page 423: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 423/671

TriggIO  Instrucciones

8-TriggIO-420 Guí a de Referencia RAPID

Distancia Tipo de dato: num

Define la posición en la trayectoria donde debe ocurrir el evento de E/S.

Especificada como siendo la distancia en mm (valor positivo) desde el punto final

de la trayectoria de movimiento (aplicable si el argumento \ Start  o \ Time no hasido activado).

Véase la sección titulada Ejecución del programa para más detalles.

[ \Start ] Tipo de dato: switch

Se utiliza cuando la distancia del argumento Distancia empieza en el punto dearranque del movimiento en lugar de empezar en el punto final.

[ \Time ] Tipo de dato: switch

Se utiliza cuando el valor especificado del argumento Distancia es un tiempo ensegundos (valor positivo) en lugar de una distancia.

Las E/S de posición fija en el tiempo sólo podrán ser utilizadas para periodos detiempo cortos (< 0,5 s) antes de que el robot haya alcanzado el punto final de lainstrucción. Véase la sección titulada Limitaciones para más detalles.

[ \DOp ] (Salida  Digital) Tipo de dato: signaldo

Es el nombre de la señal, cuando se desea cambiar una señal de salida digital.

[ \GOp ] (Grupo Salida) Tipo de dato: signalgo

Es el nombre de la señal, cuando se desea cambiar un grupo de señales de salidadigitales.

[ \AOp ] (Salida analógica) Tipo de dato: signalao

Es el nombre de la señal, cuando se desea cambiar una señal de salida analógica.

[ \ProcID ] ( Identidad del Proceso) Tipo de dato: num

No está implementado para el usuario.

(La identidad del proceso IPM para recibir el evento. El selector está especificadoen el argumento SetValue).

SetValue Tipo de dato: num

Es el valor deseado de la señal de salida (dentro del lí mite permitido para la señalcorrespondiente).

[ \DODelay] (Retraso Salida Digital) Tipo de dato: num

Es el retraso expresado en segundos (valor positivo) para una señal de salida digi-

tal o para un grupo de señales de salida digitales.

Se utiliza únicamente para retrasar la activación de señales de salida digitales,

Page 424: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 424/671

 Instrucciones   TriggIO

Guí a de Referencia RAPID 8-TriggIO-421

después de que el robot haya alcanzado la posición especificada. No habrá retraso si se ha omitido el argumento.

El retraso no está sincronizado con el movimiento.

Ejecución del programa

Cuando se ejecuta la instrucción TriggIO, la condición de disparo es almacenada enuna variable especí fica para el argumento TriggData.

Más adelante, cuando una de las instrucciones TriggL, TriggC  o TriggJ  es ejecutada,lo que se indica a continuación se aplicará, con respecto a las definiciones contenidasen TriggIO:

La distancia especificada en el argumento Distancia:

Movimiento lineal La distancia en lí nea recta

Movimiento circular La longitud del arco de cí rculo

Movimiento no-lineal La longitud aproximada del arco a lo largo de latrayectoria (para obtener la precisión adecuada,la distancia no debe exceder la mitad de la longi-tud del arco).

Figura 30 E/S de posición fija en una trayectoria esquina.

La E/S de posición fija será generada cuando se haya pasado el punto de arranque(punto final), si la distancia especificada a partir del punto final (punto de arranque) nose encuentra dentro de la longitud de movimiento de la instrucción utilizada (Trigg...).

Ejemplos

VAR triggdata glueflow;

TriggIO glueflow, 1 \Start \AOp:=glue, 5.3;

MoveJ p1, v1000, z50, tool1;TriggL p2, v500, glueflow, z50, tool1;

La señal de salida analógica glue está activada en el valor 5,3 cuando el punto detrabajo pasa por un punto situado a 1 mm más allá del punto de arranque p1.

Punto final contrayectoria esquina

Si la Distancia es 0, la señal de salida

se activa cuando el TCP delrobot se encuentra aquí .

Page 425: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 425/671

TriggIO  Instrucciones

8-TriggIO-422 Guí a de Referencia RAPID

...TriggL p3, v500, glueflow, z50, tool1;

La señal de salida analógica glue está activada de nuevo en el valor 5,3 cuandoel punto de trabajo pasa por un punto situado a 1 mm más allá del punto de arran-que p2.

Limitaciones

Los eventos de E/S con distancia (sin el argumento \Time) están concebidos para lospuntos de paso (trayectoria esquina). Los eventos de E/S con distancia, que utilizanpuntos de paro, tienen una precisión peor de lo que se especifica a continuación.

Los eventos de E/S con tiempo (con el argumento \Time) están destinados a ser utiliza-dos con los puntos de paro. Los eventos de E/S con tiempo, utilizados con puntos depaso, tienen una precisión peor que la que se especifica a continuación.Los eventos de E/S con tiempo sólo podrán ser especificados a partir del punto final delmovimiento. Este tiempo no deberá exceder el tiempo de frenado utilizado por el robot,que es de aproximadamente 0,5 s (valores tí picos a una velocidad de 500 mm/seg parael IRB2400: 150 ms y para el IRB6400: 250 ms). En el caso en que el tiempo especifi-cado sea mayor que el tiempo de frenado utilizado, la interrupción seguirá siendo gene-rada, aunque no lo será antes de que haya empezado el tiempo de frenado (más tardede lo especificado). No obstante, el tiempo total de movimiento del movimiento utili-zado podrá ser usado en movimientos rápidos y pequeños.

Valores de precisión absoluta tí picos para activación de salidas digitales +/- 5 ms.

Valores de precisión de repetición tí picos para activación de salidas digitales +/- 2 ms.

Sintaxis

TriggIO[ TriggData ’:=’ ] < variable (VAR) de triggdata> ‘,’[ Distance ’:=’ ] < expresión (IN) de num>[ ’ \ ’ Start ] | [ ’ \ ’ Time ][ ’ \ ’ DOp ’:=’ < variable (VAR) de signaldo> ]| [ ’ \ ’ GOp ’:=’ < variable (VAR) de signalgo> ]

| [ ’ \ ’ AOp ’:=’ < variable (VAR) de signalao> ]| [ ’ \ ’ ProcID ’:=’ < expresión (IN) de num> ] ‘,’[ SetValue ’:=’ ] < expresión (IN) de num>[ ’ \ ’ DODelay ’:=’ < expresión (IN) de num> ]‘;’

Page 426: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 426/671

 Instrucciones   TriggIO

Guí a de Referencia RAPID 8-TriggIO-423

Información relacionada

Descrita en:

Uso de los disparos Instrucciones - TriggL, TriggC , TriggJ Definición de eventos de E/S relativos a

tiempo-posición Instrucción - TriggEquip

Definición de interrupciones

relativas a la posición Instrucción - TriggInt 

Más ejemplos Tipos de datos - triggdata

Activación de E/S Instrucciones - SetDO, SetGO, SetAO

Page 427: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 427/671

TriggIO  Instrucciones

8-TriggIO-424 Guí a de Referencia RAPID

Page 428: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 428/671

 Instrucciones   TriggJ 

Tipos de Datos del Sistema y Rutinas 2-TriggJ-425

TriggJ Movimientos de los ejes del robotcon eventos

TriggJ (Trigg Joint) sirve para activar señales de salida y/o ejecutar rutinas de interrup-ción en posiciones fijas, al mismo tiempo que el robot se está moviendo rápidamentede un punto a otro siempre y cuando dicho movimiento no deba realizarse en lí nearecta.

Utilizando las instrucciones TriggIO, TriggEquip o TriggInt se podrá definir uno o más(4 como máximo) eventos y más adelante estas definiciones serán referidas en la ins-trucción TriggJ .

Ejemplos

VAR triggdata gunon;

TriggIO gunon, 0 \Start \DOp:=gun, on;

MoveL p1, v500, z50, gun1;TriggJ p2, v500, gunon, fine, gun1;

La señal de salida digital gun se activa cuando el TCP del robot pasa por el puntocentral de la trayectoria esquina del punto p1.

Figura 31 Ejemplo de un evento de E/S de posición fija.

Argumentos

TriggJ [\Conc ] AlPunto Veloc [ \T ] Trigg1 [ \T2 ] [ \T3 ] [ \T4 ]Zona Herram [ \WObj ]

[ \Conc ] (Concurrente) Tipo de dato: switch

Mientras el robot está en movimiento, diferentes instrucciones lógicas son eje-cutadas. Este argumento sirve para acortar el tiempo de ciclo cuando, por ejem-plo, se está comunicando con el equipo externo y no se requiere ningunasincronización. También podrá utilizarse para ajustar la ejecución de la trayecto-ria del robot, para evitar el mensaje de aviso 50024 Fallo de trayectoria esquinao el error 40082 Lí mite de deceleración.

Punto final p2

 

Punto de

La señal de salida gun se activa en posición oncuando el TCP del robot se sitúa aquí  

TriggJ p2, v500,gunon, fine, gun1;

arranque p1

Page 429: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 429/671

TriggJ   Instrucciones

2-TriggJ-426 Tipos de Datos del Sistema y Rutinas

Cuando se usa el argumento \Conc, el número de instrucciones de movimientosucesivas será limitado a 5. En una sección de programa que incluye una secuen-cia StorePath-RestoPath, las instrucciones de movimiento con el argumento

 \Conc no están permitidas.

Si se omite este argumento, la instrucción siguiente se ejecutará solamente des-pués de que el robot haya alcanzado el punto de paro especificado o 100 ms antesde la zona especificada.

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (marcado conun asterisco * en la instrucción).

Veloc Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos de velo-cidad definen la velocidad del punto central de la herramienta, de los ejes exter-nos y de la reorientación de la herramienta.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento se utiliza para especificar el tiempo total en segundos durante elcual el robot se mueve. Posteriormente será sustituido por el dato de velocidadcorrespondiente.

Trigg1 Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividad de disparo, definidaspreviamente en el programa mediante las instrucciones TriggIO, TriggEquip oTriggInt .

[ \T2] (Trigg 2) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividad de disparo, definidaspreviamente en el programa mediante las instrucciones TriggIO, TriggEquip oTriggInt .

[ \T3 ] (Trigg 3) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividad de disparo, definidaspreviamente en el programa mediante las instrucciones TriggIO, TriggEquip oTriggInt .

[ \T4 ] (Trigg 4) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y actividad de disparo, definidaspreviamente en el programa mediante las instrucciones TriggIO, TriggEquip oTriggInt .

Zona Tipo de dato: zonedata

Son los datos de zona utilizados para el movimiento. Los datos de zona describen

Page 430: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 430/671

 Instrucciones   TriggJ 

Tipos de Datos del Sistema y Rutinas 2-TriggJ-427

el tamaño de la trayectoria esquina generada.

Herram Tipo de dato: tooldata

Es la herramienta que se utiliza cuando el robot se está moviendo. El punto cen-tral de la herramienta es el punto que es movido a la posición de destino especi-ficada.

[ \WObj] (Objeto de Trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posición delrobot en la instrucción.

Este argumento puede ser omitido, y en el caso en que lo sea, la posición se refe-rirá al sistema de coordenadas mundo. Por otra parte, si se utiliza un TCP esta-cionario o ejes externos coordinados, este argumento deberá ser especificado

para el movimiento lineal a realizar relativo al objeto de trabajo.

Ejecución del programa

Véase la instrucción MoveJ  para más información sobre los movimientos de los ejes.

Dado que las condiciones de disparo se cumplen cuando el robot se va acercando cadavez más cerca del punto final, las actividades de disparo definidas se llevarán a cabo.Las condiciones de disparo se cumplen a cierta distancia antes del punto final de la ins-trucción, o a cierta distancia después del punto de arranque de la instrucción, o también

a cierto punto en el tiempo (limitado a un periodo de tiempo corto) antes del punto finalde la instrucción.

Durante la ejecución paso a paso hacia adelante, las actividades de E/S se llevarán acabo pero las rutinas de interrupción no serán ejecutadas. Durante la ejecución paso apaso hacia atrás, no se llevará a cabo ninguna actividad de disparo.

Ejemplos

VAR intnum intno1;

VAR triggdata trigg1;...CONNECT intno1 WITH trap1;TriggInt trigg1, 0.1 \Time , intno1;...TriggJ p1, v500, trigg1, fine, gun1;TriggJ p2, v500, trigg1, fine, gun1;...IDelete intno1;

La rutina de tratamiento de interrupción trap1 se ejecuta cuando el

punto de trabajo está en una posición que se encuentra a 0,1 s antes delpunto p1 o p2 respectivamente.

Page 431: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 431/671

TriggJ   Instrucciones

2-TriggJ-428 Tipos de Datos del Sistema y Rutinas

Limitaciones

En el caso en que el punto de arranque se haya desviado respecto a la posición habitual,de forma que la longitud de posicionamiento total de la instrucción TriggJ  sea más

pequeña que la habitual (por ejemplo, al inicio de TriggJ  con la posición del robot enel punto final), puede ocurrir que varias o todas las condiciones de disparo se cumplaninmediatamente en una misma posición. En tales casos, la secuencia en la cual se lle-varán a cabo las actividades de disparo no estarán definidas. La lógica del programacontenida en el programa del usuario no deberá estar basada en una secuencia normalde actividades de disparo, para un ”movimiento incompleto”.

Sintaxis

TriggJ[‘ \ ’ Conc ‘,’][ ToPoint ’:=’ ] < expresión (IN) de robtarget  > ’,’[ Speed ’:=’ ] < expresión (IN) de speeddata >

[ ’ \ ’ T ’:=’ < expresión (IN) de num > ] ’,’[Trigg1 ’:=’ ] < variable (VAR) de triggdata >[ ’ \ ’ T2 ’:=’ < variable (VAR) de triggdata > ][ ’ \ ’ T3 ’:=’ < variable (VAR) de triggdata > ][ ’ \ ’ T4 ’:=’ < variable (VAR) de triggdata > ] ‘,’[Zone ’:=’ ] < expresión (IN) de zonedata > ‘,’[ Tool ’:=’ ] < persistente (PERS) de tooldata >[ ’ \ ’ WObj ’:=’ < persistente (PERS) de wobjdata > ] ’;’

Información relacionada

Descrita en:

Movimiento lineal con disparos Instrucciones - TriggL

Movimiento circular con disparos Instrucciones - TriggC 

Definición de los disparos Instrucciones - TriggIO, TriggEquip oTriggInt 

Movimiento de ejes Principios de Movimiento - Posiciona-miento durante la Ejecución del Pro-grama

Definición de la velocidad Tipos de Datos - speeddata

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

Page 432: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 432/671

 Instrucciones   TriggL

Tipos de Datos del Sistema y Rutinas 2-TriggL-429

TriggL Movimientos lineales del robotcon eventos

TriggL (Trigg Linear) sirve para activar señales de salida y/o ejecutar rutinas de inter-rupción en posiciones fijas, al mismo tiempo que el robot está realizando un mov-imiento lineal.

Utilizando las instrucciones TriggIO, TriggEquip o TriggInt  se podrá definir uno o máseventos (4 como máximo) y posteriormente estas definiciones serán referidas en lainstrucción TriggL.

Ejemplos

VAR triggdata gunon;

TriggIO gunon, 0 \Start \DOp:=gun, on;

MoveJ p1, v500, z50, gun1;TriggL p2, v500, gunon, fine, gun1;

La señal de salida digital gun está activada cuando el TCP del robot pasa por elpunto central de la trayectoria esquina del punto p1.

Figura 32 Ejemplo de un evento de E/S de posición fija

Argumentos

TriggL [\Conc] AlPunto Veloc [ \T ] Trigg1 [ \T2 ] [ \T3 ] [ \T4 ]Zona Herram [ \WObj ] [ \Corr ]

[ \Conc ] (Concurrente) Tipo de dato: switch

Las instrucciones lógicas siguientes son ejecutadas inmediatamente. Este argu-mento sirve para acortar el tiempo de ciclo cuando, por ejemplo, se está comuni-cando con el equipo externo y no se requiere ninguna sincronización. Tambiénpodrá utilizarse para ajustar la ejecución de la trayectoria del robot, para evitarel mensaje de aviso 50024 Fallo de trayectoria esquina o el error 40082 Lí mitede deceleración.

TriggL p2, v500, gunon, fine, gun1; Punto final p2

 

Punto de arranque p1

La señal de salida gun se activa en la posición oncuando el TCP del robot está aquí  

Page 433: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 433/671

TriggL  Instrucciones

2-TriggL-430 Tipos de Datos del Sistema y Rutinas

Cuando se usa el argumento \Conc, el número de instrucciones de movimientosucesivas será limitado a 5. En una sección de programa que incluye una secuen-cia StorePath-RestoPath, las instrucciones de movimiento con el argumento

 \Conc no están permitidas.

Si se omite este argumento y que AlPunto no es un punto de paro, la instrucciónsiguiente se ejecutará poco tiempo antes de que el robot haya alcanzado el puntode paro especificado o 100 ms antes de la zona especificada.

AlPunto Tipo de dato: robtarget 

Es el punto de destino del robot y de los ejes externos. Está definido como unaposición nombrada o es almacenado directamente en la instrucción (marcado conun asterisco * en la instrucción).

Veloc Tipo de dato: speeddata

Son los datos de velocidad que se aplican a los movimientos. Los datos develocidad definen la velocidad del punto central de la herramienta, de los ejesexternos y de la reorientación de la herramienta.

[ \T ] (Tiempo) Tipo de dato: num

Este argumento sirve para especificar el tiempo total en segundos durante el cualel robot se mueve. Posteriormente, será sustituido por los datos de velocidad cor-respondientes.

Trigg1 Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y a la actividad de disparo, defini-das anteriormente en el programa mediante las instrucciones TriggIO,TriggEquip o TriggInt .

[ \T2] (Trigg 2) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y a la actividad de disparo,definida anteriormente en el programa mediante las instrucciones TriggIO,TriggEquip o TriggInt .

[ \T3 ] (Trigg 3) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y a la actividad de disparo,definida anteriormente en el programa mediante las instrucciones TriggIO,TriggEquip o TriggInt .

[ \T4 ] (Trigg 4) Tipo de dato: triggdata

Es una variable que se refiere a las condiciones y a la actividad de disparo,definida anteriormente en el programa mediante las instrucciones TriggIO,TriggEquip o TriggInt .

Page 434: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 434/671

 Instrucciones   TriggL

Tipos de Datos del Sistema y Rutinas 2-TriggL-431

Zona Tipo de dato: zonedata

Son los datos de zona para el movimiento. Los datos de zona describen el tamañode la trayectoria esquina generada.

Herram Tipo de dato: tooldata

Es la herramienta que se está utilizando cuando el robot se está moviendo. Elpunto central de la herramienta es el punto que es movido al punto de destinoespecificado.

[ \WObj] (Objeto de Trabajo) Tipo de dato: wobjdata

Es el objeto de trabajo (sistema de coordenadas) al que se refiere la posición delrobot en la instrucción.

Este argumento puede ser omitido, y en el caso en que lo sea, la posición se refer-irá al sistema de coordenadas mundo. Si, por otra parte, se utiliza un TCP esta-cionario o ejes externos coordinados, este argumento deberá ser especificadopara el movimiento lineal que se va a realizar, relativo al objeto de trabajo.

[ \Corr] (Corrección) Tipo de dato: switch

Si este argumento está presente, los datos de corrección introducidos en unaentrada de corrección mediante la instrucción CorrWrite serán añadidos a latrayectoria y a la posición de destino.

Ejecución del programa

Véase la instrucción MoveL para más información referente al movimiento lineal.

Dado que las condiciones de disparo se cumplen cuando el robot se va acercando cadavez más cerca del punto final, las actividades de disparo definidas se llevarán a cabo.Las condiciones de disparo se cumplen a cierta distancia antes del punto final de lainstrucción, o a cierta distancia después del punto de arranque de la instrucción, o tam-bién a cierto punto en el tiempo (limitado a un periodo de tiempo corto) antes del puntofinal de la instrucción.

Durante la ejecución paso a paso hacia adelante, las actividades de E/S se llevarán acabo pero las rutinas de interrupción no serán ejecutadas. Durante la ejecución paso apaso hacia atrás, no se llevará a cabo ninguna actividad de disparo.

Page 435: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 435/671

TriggL  Instrucciones

2-TriggL-432 Tipos de Datos del Sistema y Rutinas

Ejemplos

VAR intnum intno1;VAR triggdata trigg1;

...CONNECT intno1 WITH trap1;TriggInt trigg1, 0.1 \Time, intno1;...TriggL p1, v500, trigg1, fine, gun1;TriggL p2, v500, trigg1, fine, gun1;...IDelete intno1;

La rutina de tratamiento de interrupción trap1 se ejecuta cuando elpunto de trabajo está en una posición que se encuentra a 0,1 s antes del

punto p1 o p2 respectivamente.

Limitaciones

En el caso en que el punto de arranque se haya desviado respecto a la posición habitual,de forma que la longitud de posicionamiento total de la instrucción TriggL sea máspequeña que la habitual (por ejemplo al principio de TriggL con la posición del roboten le punto final), puede ocurrir que varias o todas las condiciones de disparo se cum-plan inmediatamente en una misma posición. En tales casos, la secuencia en la cual sellevarán a cabo las actividades de disparo no estarán definidas. La lógica del programa

contenida en el programa del usuario no deberá estar basada en una secuencia normalde actividades de disparo, para un ”movimiento incompleto”.

Sintaxis

TriggL[‘ \ ’ Conc ‘,’][ ToPoint ’:=’ ] < expresión (IN) de robtarget  > ’,’[ Speed ’:=’ ] < expresión (IN) de speeddata >

[ ’ \ ’ T ’:=’ < expresión (IN) de num > ] ’,’[Trigg1 ’:=’ ] < variable (VAR) de triggdata >[ ’ \ ’ T2 ’:=’ < variable (VAR) de triggdata > ][ ’ \ ’ T3 ’:=’ < variable (VAR) de triggdata > ][ ’ \ ’ T4 ’:=’ < variable (VAR) de triggdata > ] ‘,’[Zone ’:=’ ] < expresión (IN) de zonedata > ‘,’[ Tool ’:=’ ] < persistente (PERS) de tooldata >[ ’ \ ’ WObj ’:=’ < persistente (PERS) de wobjdata > ][ ‘ \ ’ Corr ]’;’

Page 436: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 436/671

 Instrucciones   TriggL

Tipos de Datos del Sistema y Rutinas 2-TriggL-433

Información relacionada

Descrita en:

Movimiento circular con disparos Instrucciones - TriggC Movimiento de ejes con disparo Instrucciones - TriggJ 

Definición de los disparos Instrucciones - TriggIO, TriggEquipTriggInt 

Escritura en una entrada de corrección Instrucciones - CorrWrite

Movimiento lineal Principios de Movimiento y de E/S -Posicionamiento durante la Ejecucióndel Programa

Definición de la velocidad Tipos de Datos - speeddata

Definición de las herramientas Tipos de Datos - tooldataDefinición de los objetos de trabajo Tipos de Datos - wobjdata

Movimiento en general Principios de Movimiento y de E/S

Page 437: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 437/671

TriggL  Instrucciones

2-TriggL-434 Tipos de Datos del Sistema y Rutinas

Page 438: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 438/671

 Instrucciones   TRYNEXT 

Tipos de Datos del Sistema y Rutinas 2-TRYNEXT-435

TRYNEXT Salto de una instrucción que ha causadoun error

TRYNEXT  sirve para saltar una instrucción que ha causado un error. En vez de ésta, seejecutará la siguiente instrucción.

Ejemplo

reg2 := reg3/reg4;.

ERRORIF ERRNO = ERR_DIVZERO THEN

reg2:=0;TRYNEXT;

ENDIF

Se ha realizado un intento de división de reg3 por reg4. En el caso en que reg4 sea igual a 0 (división por cero), se realizará un salto al gestor de error, en el quereg2 está en 0. La instrucción TRYNEXT será entonces utilizada para continuarcon la siguiente instrucción.

Ejecución del programa

La ejecución del programa continúa con la instrucción que sigue la instrucción que hacausado el error.

Limitaciones

La instrucción sólo podrá existir en un gestor de errores de una rutina.

SintaxisTRYNEXT’;’

Información relacionada

Descrita en:

Gestores de error Caracterí sticas Básicas - Recuperación de Errores

Page 439: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 439/671

TRYNEXT   Instrucciones

2-TRYNEXT-436 Tipos de Datos del Sistema y Rutinas

Page 440: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 440/671

 Instrucciones   TuneReset

Tipos de Datos del Sistema y Rutinas 2-TuneReset-437

TuneReset Reinicialización del ajustedel servo

TuneReset sirve para reinicializar el comportamiento dinámico de todos los ejes delrobot y de las unidades mecánicas externas a sus valores normales.

Ejemplo

TuneReset;

Reinicialización de los valores de ajuste para todos los ejes al 100%.

Ejecución del programa

Los valores de ajuste de todos los ejes son reinicializados al 100%.

Los valores de ajuste por defecto del servo para todos los ejes son automáticamenteactivados cuando se ejecuta la instrucción TuneReset:

- a una puesta en marcha en frí o

- cuando se carga un programa nuevo

- cuando se arranca la ejecución de un programa desde el principio

Sintaxis

TuneReset ’;’

Información relacionada

Descrita en:

Ajuste de los servos Instrucciones - TuneServo

Page 441: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 441/671

TuneReset  Instrucciones

2-TuneReset-438 Tipos de Datos del Sistema y Rutinas

Page 442: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 442/671

 Instrucciones   TuneServo

Tipos de Datos del Sistema y Rutinas 2-TuneServo-439

TuneServo Ajuste de los servos

TuneServo sirve para ajustar el comportamiento dinámico de los diferentes ejes del

robot. No es necesario utilizar la instrucción TuneServo en circunstancias normales, noobstante, en ciertas ocasiones se puede optimizar el ajuste según la configuración delrobot y las caracterí sticas de carga. Para los ejes externos, la instrucción TuneServo puede usarse para la adaptación de la carga.

Tener en cuenta que una utilización incorrecta de esta instrucción TuneServo puede provocar movimientos de oscilación o pares que pueden dañar el robot.Siempre que se utilice TuneServo se deberá recordar esto.

Se deberá evitar utilizar los comandos TuneServo mientras el robot se está moviendo. Esto puede provocar sobrecargas momentáneas en la CPU y seproducirí an indicaciones de error y paros del sistema.

Nota: Par obtener un ajuste óptimo, es imprescindible que se hayan usado losdatos de carga correctos.Comprobar que se hayan usado los valores correctos antes de utilizar TuneServo.

Generalmente, los valores óptimos de ajuste difieren según los robots. Un ajusteóptimo también cambiará con el tiempo.

Como mejorar la precisión de la trayectoria

Para robots que funcionan a velocidades lentas, se podrá usar esta instrucción paramejorar la precisión de la trayectoria según lo siguiente:

- Ajustando tune_kv y tune_ti (referirse a la descripción de los tipos de ajusteindicados a continuación).

- Ajustando los parámetros de compensación de la fricción (véase acontinuación).

Estos dos métodos pueden combinarse.

Otras posibilidades destinadas a mejorar la precisi ó n de la trayectoria:

- Una disminución de la resolución de la trayectoria puede mejorar la trayectoria.¡Atención! un valor de resolución de trayectoria demasiado bajo provocará problemas de carga de la CPU.

- La precisión de las lí neas rectas podrá mejorarse mediante una disminución dela aceleración utilizando el parámetro AccSet. Ejemplo: AccSet 20, 10.

Page 443: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 443/671

TuneServo  Instrucciones

2-TuneServo-440 Tipos de Datos del Sistema y Rutinas

Descripción

Tune_df 

Tune_df sirve para reducir los desbordamientos y las oscilaciones a lo largo de latrayectoria.

Siempre existe un valor de ajuste óptimo que podrá variar según la posición y la longi-tud del movimiento. Este valor óptimo podrá encontrarse cambiando el ajuste por pasospequeños (1 - 2%) en los ejes implicados en este comportamiento no deseado. Habit-ualmente, el ajuste óptimo se alcanzará entre los lí mites 70% - 130%. Valores de ajustedemasiado altos o demasiado bajos comportan un efecto negativo y ello perjudicará considerablemente los movimientos.

Cuando el valor de ajuste en el punto de arranque de un movimiento largo difiere con-siderablemente del valor de ajuste en el punto final, podrá resultar útil en ciertos casosutilizar un punto intermediario con una zona esquina para poder definir el lugar dondeel valor de ajuste va a cambiar.

A continuación se muestran algunos ejemplos de utilización de la instrucción TuneS-ervo para optimizar el ajuste:

IRB 6400, en una aplicación de prensa (carga extendida y flexible), ejes 4 - 6: Reducirel valor de ajuste para el eje de la muñeca utilizado hasta que el movimiento sea acept-able. Un cambio en el movimiento será a penas perceptible hasta que se acerque delvalor óptimo. Un valor bajo perjudicará considerablemente el movimiento. Valor de

ajuste tí pico es del 25%.

IRB 6400, partes superiores del área de trabajo. El eje 1 puede a menudo ser optimizadocon un valor de ajuste del orden de 85% - 95%.

IRB 6400, movimiento corto (< 80 mm). El eje 1 puede a menudo ser optimizado conun valor de ajuste del orden de 94% - 98%.

IRB 2400, con sistema de desplazamiento lineal. En ciertos casos los ejes 2 - 3 podránser optimizados con un valor de ajuste del 110% - 130%. El movimiento a lo largo delsistema de desplazamiento lineal podrá requerir un valor de ajuste diferente comparadocon el movimiento en los ángulos rectos del sistema de desplazamiento.

Los desbordamientos y oscilaciones podrán ser reducidos disminuyendo la aceleracióno la rampa de aceleración ( AccSet ), aunque ello aumente el tiempo del ciclo. Este es unmétodo alternativo a la utilización de TuneServo.

Tune_dg

Tune_dg sirve para disminuir los desbordamientos en ocasiones muy reducidas. Portanto, normalmente no deberá ser utilizado.

En casos de desbordamiento se deberá utilizar en primer lugar Tune_df.

Page 444: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 444/671

 Instrucciones   TuneServo

Tipos de Datos del Sistema y Rutinas 2-TuneServo-441

El ajuste de tune_dg puede llevarse a cabo con grandes incrementos en el valor deajuste (por ejemplo, del orden del 50%, 100%, 200%, 400%).

Nunca se deberá utilizar tune_dg cuando el robot está en movimiento.

Tune_dh

Tune_dh sirve para reducir las vibraciones y desbordamientos (por ejemplo congrandes cargas flexibles).

El valor de ajuste deberá ser siempre inferior a 100. Tune_dh aumenta la desviación dela trayectoria y normalmente también aumenta el tiempo de ciclo.

Ejemplo:

IRB 6400 con una gran carga flexible que vibra cuando el robot se ha detenido. Utilizartune_dh con un valor de ajuste de 15.

Tune_dh deberá siempre ser ejecutado para un eje. Se atribuirá automáticamentea todos los ejes de la misma unidad mecánica el mismo valor de ajuste.

Nunca se deberá utilizar tune_dh cuando el robot está en movimiento.

Tune_di

Tune_di sirve para reducir la desviación de la trayectoria a velocidades elevadas.

Para un valor de ajuste comprendido entre 50 y 80, se recomienda llevar a cabo unareducción de la desviación de la trayectoria. Los desbordamientos pueden aumentar(un valor de ajuste inferior significará un desbordamiento mayor).

Un valor de ajuste mayor que 100 puede reducir los desbordamientos (aunqueaumentará la desviación de la trayectoria a velocidades elevadas).

Tune_di sólo deberá ser ejecutado para un eje. Se atribuirá automáticamente atodos los ejes de la misma unidad mecánica el mismo valor de ajuste.

Tune_dk

Para un uso ulterior.

Tune_kp, tune_kv, tune_ti, de los ejes externos

Estos tipos de ajuste afectan la ganancia de control de posición (kp), la ganancia decontrol de velocidad (kv) y el tiempo de integración del control de la velocidad (ti) delos ejes externos. Se utilizan para la adaptación de los ejes externos a diferentes iner-cias de carga. El ajuste básico de los ejes externos también puede ser simplificado uti-lizando estos tipos de ajuste.

Page 445: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 445/671

TuneServo  Instrucciones

2-TuneServo-442 Tipos de Datos del Sistema y Rutinas

Tune_kp, tune_kv, tune_ti, de los ejes del robot

Para los ejes del robot, estos tipos de ajuste tienen otro significado y podrán ser utiliza-dos para reducir errores de trayectoria a velocidad baja (< 500 mm/s).

Los valores recomendados son: tune_kv 100 - 180%, tune_ti 50 - 100%. Tune_kp nodeberá utilizarse para los ejes del robot. Valores demasiado elevados o demasiado bajosde tune_kv/tune_ti provocarán vibraciones u oscilaciones. Se deberá tener muchocuidado al intentar exceder estos valores recomendados. Realizar los cambios porpasos pequeños y evitar la oscilación de los motores.

Se deberá siempre ajustar un sólo eje a la vez. Cambiar los valores de ajuste porpasos pequeños. Intentar mejorar la trayectoria donde este eje especí fico cambia dedirección de movimiento o cuando acelera o decelera.

No utilizar nunca estos tipos de ajuste a velocidades elevadas o cuando se ha obtenido

la precisión de trayectoria deseada.

Compensación de la fricción: tune_fric_lev y tune_fric_ramp

Estos tipos de ajuste sirven para reducir errores de trayectoria del robot provocados porla fricción y la pérdida de carrera a velocidades poco elevadas (10 - 200 mm/s). Estoserrores de trayectoria aparecen cuando un eje del robot su dirección de movimiento.Activar la compensación de la fricción de un eje mediante la activación del parámetro delsistema Friction ffw on en TRUE (tema: Manipulador, tipo: Parámetros de Control).

El modelo de fricción es un nivel constante con el signo opuesto de la dirección de

velocidad del eje. Friction ffw level (Nm) es el nivel de fricción absoluto a velocidadeslentas y es mayor que Friction ffw ramp (rad/s) (veáse la figura).

Figura 33 Modelo de fricción

Tune_fric_lev ajusta el valor del parámetro del sistema Friction ffw level.

El ajuste del parámetro Friction ffw level (utilizando tune_fric_lev) de cada eje delrobot puede mejorar considerablemente la precisión de trayectoria de los robots dentrode los lí mites de velocidad comprendidos entre 20 - 100 mm/s. Para robots mayores

(especialmente la familia de los IRB 6400) el efecto será sin embargo mí nimo dado queotras fuentes de errores de seguimiento dominan esos robots.

velocidad del motor del eje (rad/s)

Fricción del motor a velocidad lenta (Nm)

Friction ffw level (Nm)

Friction ffw ramp (rad/s)

Page 446: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 446/671

 Instrucciones   TuneServo

Tipos de Datos del Sistema y Rutinas 2-TuneServo-443

Tune_fric_ramp ajusta el valor del parámetro del sistema Friction ffw ramp. En lamayorí a de casos no hay necesidad de ajustar el parámetro Friction ffw ramp. Laactivación de parámetros por defecto será apropiada.

Ajuste de un eje a la vez. Modificar el valor de ajuste por pasos pequeños y encontrarel nivel que minimiza el error de trayectoria del robot en posiciones de la trayectoriadonde dicho eje especí fico cambia de dirección de movimiento. Repetir el mismoprocedimiento para el eje siguiente, y así  sucesivamente.

Los valores de ajuste finales podrán ser transferidos a los parámetros del sistema.Ejemplo:

Friction ffw level = 1. Valor de ajuste final (tune_fric_lev) = 150%.

Activar el parámetro de fricción Friction ffw level = 1.5 y ajustar el valor = 100%(valor por defecto) que es equivalente.

Argumentos

TuneServo UnidadMec Eje ValorAjuste [\Tipo]

UnidadMec (Unidad Mecánica) Tipo de dato: mecunit 

Es el nombre de la unidad mecánica.

Eje Tipo de dato: num

Es el número del eje utilizado de la unidad mecánica (1 - 6).

ValorAjuste Tipo de dato: num

Es el valor de ajuste expresado en un porcentaje (1 - 500). 100% es el valor nor-mal.

[\Tipo] Tipo de dato: tunetype

Tipo de ajuste servo. Los tipos disponibles son TUNE_DF , TUNE_KP,TUNE_KV , TUNE_TI , TUNE_FRIC_LEV , TUNE_FRIC_RAMP, TUNE_DG,

TUNE_DH, TUNE_DI y TUNE_DK . Estos tipos son predefinidos en el sistemacon constantes.

Este argumento puede ser omitido cuando se utiliza el tipo de ajuste TUNE_DF .

Ejemplo

TuneServo MHA160R1, 1, 110 \Type:= TUNE_KP;

Activación del tipo de ajuste TUNE_KP con el valor de ajuste del 110% en el eje

1 en la unidad mecánica MHA160R1.

Page 447: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 447/671

TuneServo  Instrucciones

2-TuneServo-444 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

El tipo de ajuste y el valor de ajuste especificados se activan para el eje especificado.Este valor es aplicable a todos los movimientos hasta que se haya programado un valor

nuevo para el eje utilizado, o hasta que los tipos y valores de ajuste de todos los ejeshayan sido reinicializados mediante la instrucción TuneReset .

Los valores de ajuste servo por defecto de todos los ejes son automáticamente activadosejecutando la instrucción TuneReset 

- a la puesta en marcha en frí o

- cuando se carga un programa nuevo

- cuando se arranca la ejecución del programa desde el principio.

Limitaciones

Cualquier ajuste servo activado regresará siempre a los valores por defecto del sistemadespués de una interrupción de la alimentación del sistema.Esta limitación podrá ser modificada en el programa del usuario en el momento delrearranque después de dicha interrupción de alimentación.

Sintaxis

TuneServo[UnidadMec ’:=’ ] < variable (VAR) de mecunit> ’,’[Eje ’:=’ ] < expresión (IN) de num> ’,’[ValorAjuste ’:=’ ] < expresión (IN) de num> ’;’[’ \ ’ Tipo ’:=’ <expresión (IN) de tunetype>]’;’

Información relacionada

Descrita en:

Otras instrucciones de movimiento Resumen RAPID - Movimientos

Tipos de ajuste servo Tipos de Datos - tunetype

Reinicialización de todos los ajustes servo Instrucciones - TuneReset 

Ajuste de los ejes externos Parámetros del Sistema - Manipulador 

Compensación de la fricción Parámetros del Sistema - Manipulador 

Page 448: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 448/671

 Instrucciones   UnLoad 

Tipos de Datos del Sistema y Rutinas 2-UnLoad-445

UnLoad Descarga de un módulo de programadurante la ejecución

UnLoad sirve para descargar un módulo de programa de la memoria de programadurante la ejecución.

El módulo del programa deberá haber sido previamente cargado en la memoria de pro-grama mediante la instrucción Load o StartLoad - WaitLoad .

Ejemplo

UnLoad ram1disk \File:="PART_A.MOD";

 Descargar (Unload) el módulo de programa PART_A.MOD desde la memoria deprograma, que, previamente habí a sido cargado en la memoria del programa conla instrucción Load . (Véase instrucciones Load ). (ram1disk  es una constante decadena predefinida "ram1disk:").

Argumentos

Descargar [\Guardar] Trayectoriadearchivo [\Archivo]

[\Guardar] Tipo de dato: switch

Si se usa este argumento, el módulo de programa será almacenado antes de quese inicie la operación de descarga.El módulo de programa será salvado en su lugar original especificado en lainstrucción Load o StartLoad .

Trayectoriadearchivo Tipo de dato: string

Es la trayectoria y el nombre del archivo al archivo que serán descargados de lamemoria de programa. La trayectoria y el nombre del archivo deben ser los mis-mos que los de la instrucción Load  o StartLoad ejecutada previamente. El nom-

bre del archivo será excluido cuando el argumento \Archivo haya sido utilizado.

[\Archivo] Tipo de dato: string

Cuando el nombre del archivo esté excluido del argumento TrayectoriadeArch-ivo, entonces deberá ser definido con este argumento. El nombre del archivodeberá ser el mismo que el ejecutado previamente en la instrucción Load o Start-

 Load.

Page 449: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 449/671

UnLoad   Instrucciones

2-UnLoad-446 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

Para poder ejecutar una instrucción Unload en el programa, se deberá haber ejecutadopreviamente una instrucción Load o StartLoad - WaitLoad con la misma trayectoria de

archivo y el mismo nombre en el programa.

La ejecución del programa espera que el módulo de programa haya acabado de ser des-cargado antes de continuar con la instrucción siguiente.

Una vez que el módulo de programa ha sido descargado, el resto de los módulos de pro-grama serán vinculados.

Para más información, véase la instrucción Load o StartLoad - WaitLoad .

Ejemplos

UnLoad "ram1disk:DOORDIR/DOOR1.MOD";

 Descargar (Unload) el módulo de programa DOOR1.MOD de la memoria deprograma, que previamente habí a sido cargado dentro de la memoria de pro-grama con la instrucción Load . (Véase las instrucciones Load ).

UnLoad "ram1disk:" \File:="DOORDIR/DOOR1.MOD";

Mismo ejemplo que el anterior pero expresado con una sintaxis diferente.

Unload \Save, "ram1disk:" \File:="DOORDIR/DOOR1.MOD";

Mismo ejemplo que el anterior pero se deberá salvar el módulo del programaantes de descargar.

Limitaciones

No se permitirá descargar un módulo de programa que se está ejecutando.

Las rutinas de tratamiento de interrupciones, los eventos de E/S del sistema y otras tar-eas del programa no podrán ser ejecutadas durante la secuencia de descarga.

Se deberán evitar los movimientos del robot durante la secuencia de descarga.

Un paro de programa generado durante la ejecución de una instrucción Unload origi-nará un paro de protección, con la desactivación de los motores y el mensaje de errorsiguiente: "20025 Stop order timeout" que se visualizará en la unidad de programación.

Page 450: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 450/671

 Instrucciones   UnLoad 

Tipos de Datos del Sistema y Rutinas 2-UnLoad-447

Gestión de errores

En el caso en que el archivo de la instrucción Unload  no pueda ser descargado, debidoa la ejecución que está en curso dentro del módulo o debido a una trayectoria incorrecta(módulo no ha sido cargado con la instrucción Load  o StartLoad , entonces la variabledel sistema ERRNO será activada en ERR_UNLOAD. Este error podrá entonces serprocesado por el gestor de errores.

Sintaxis

UnLoad[’ \ ’Save ’,’][FilePath’:=’]<expresión (IN) de string>

[’ \ ’File’:=’ <expresión (IN) de string>]’;’

Información relacionada

Descrita en:

Cargar un módulo de programa Instrucciones - Load Instrucciones - StartLoad - WaitLoad 

Aceptar referencias no resueltas Parámetros del Sistema - Controller Parámetros del Sistema - Tasks

Parámetros del Sistema - BindRef 

Page 451: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 451/671

UnLoad   Instrucciones

2-UnLoad-448 Tipos de Datos del Sistema y Rutinas

Page 452: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 452/671

 Instrucciones   WaitDI 

Tipos de Datos del Sistema y Rutinas 2-WaitDI-449

WaitDI Espera hasta la activación de una señalde entrada digital

WaitDI (Wait Digital Input) sirve para esperar hasta que se active una señal de entradadigital.

Ejemplos

WaitDI di4, 1;

La ejecución del programa continuará sólo después de que la entrada di4 hayasido activada.

WaitDI grip_status, 0;

La ejecución del programa continuará sólo después de que la entrada grip_status haya sido reinicializada.

Argumentos

WaitDI Señal Valor [\MaxTime] [\TimeFlag]

Señal Tipo de dato: signaldi

Es el nombre de la señal.

Valor Tipo de dato: dionum

Es el valor deseado de la señal.

[\MaxTime] (Tiempo M á ximo) Tipo de dato: num

Es el intervalo máximo de tiempo de espera permitido, expresado en segundos.En el caso en que este intervalo de tiempo haya transcurrido antes de que la

condición se haya cumplido, el sistema llamará al gestor de errores, siempre ycuando disponga de uno, con el código de error ERR_WAIT_MAXTIME. Si elsistema no dispone de ningún gestor de error, la ejecución del robot se detendrá.

[\TimeFlag] (Bandera Tiempo Excedido) Tipo de dato: bool

Es el parámetro de salida que contiene el valor TRUE cuando el tiempo máximode espera permitido ha transcurrido antes de que la condición se haya cumplido.En el caso en que este parámetro esté incluido en la instrucción, no se considerará como un error en el caso en que el tiempo máximo de espera haya transcurrido.Este argumento será ignorado si el argumento MaxTime no está incluido en lainstrucción.

Page 453: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 453/671

WaitDI   Instrucciones

2-WaitDI-450 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

En el caso en que el valor de la señal es correcto cuando la instrucción es ejecutada, elprograma sencillamente continuará con la instrucción siguiente.

En el caso en que el valor de la señal no es correcto, el robot entra en un estado deespera y cuando la señal adopta el valor correcto, el programa continuará. El cambio esdetectado mediante una interrupción, que proporciona una respuesta rápida.

Cuando el robot está esperando, el tiempo será supervisado, y en el caso en que excedael valor máximo de tiempo, el programa continuará siempre y cuando esté especificadoTimeFlag, o suscitará un error en el caso en que no lo esté. Si se especifica TimeFlag,se activará en TRUE cuando el tiempo haya sido excedido, de lo contrario, se activará en FALSE.

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 relacionadaDescrita en:

Espera hasta que se cumpla una condición Instrucciones - WaitUntil

Espera durante un tiempo especificado Instrucciones - WaitTime

Page 454: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 454/671

 Instrucciones   WaitDO

Tipos de Datos del Sistema y Rutinas 2-WaitDO-451

WaitDO Espera hasta la activación de una señalde salida digital

WaitDO (Wait Digital Output) sirve para esperar hasta que se active una señal de salidadigital.

Ejemplos

WaitDO do4, 1;

La ejecución del programa continuará sólo después de que la salida do4 hayasido activada.

WaitDO grip_status, 0;

La ejecución del programa continuará sólo después de que la salida grip_status haya sido reinicializada.

Argumentos

WaitDO Señal Valor [\MaxTime] [\TimeFlag]

Señal Tipo de dato: signaldo

Es el nombre de la señal.

Valor Tipo de dato: dionum

Es el valor deseado de la señal.

[\MaxTime] (Tiempo M á ximo) Tipo de dato: num

Es el intervalo máximo de tiempo de espera permitido, expresado en segundos.En el caso en que este intervalo de tiempo haya transcurrido antes de que la

condición se haya cumplido, el sistema llamará al gestor de errores, siempre ycuando disponga de uno, con el código de error ERR_WAIT_MAXTIME. Si elsistema no dispone de ningún gestor de error, la ejecución del robot se detendrá.

[\TimeFlag] (Bandera Tiempo Excedido) Tipo de dato: bool

Es el parámetro de salida que contiene el valor TRUE cuando el tiempo máximode espera permitido ha transcurrido antes de que la condición se haya cumplido.En el caso en que este parámetro esté incluido en la instrucción, no se considerará como un error en el caso en que el tiempo máximo de espera haya transcurrido.Este argumento será ignorado si el argumento MaxTime no está incluido en lainstrucción.

Page 455: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 455/671

WaitDO  Instrucciones

2-WaitDO-452 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

En el caso en que el valor de la señal es correcto cuando la instrucción es ejecutada, elprograma sencillamente continuará con la instrucción siguiente.

En el caso en que el valor de la señal no es correcto, el robot entra en un estado deespera y cuando la señal adopta el valor correcto, el programa continuará. El cambio esdetectado mediante una interrupción, que proporciona una respuesta rápida.

Cuando el robot está esperando, el tiempo será supervisado, y en el caso en que excedael valor máximo de tiempo, el programa continuará siempre y cuando esté especificadoTimeFlag, o suscitará un error en el caso en que no lo esté. Si se especifica TimeFlag,se activará en TRUE cuando el tiempo haya sido excedido, de lo contrario, se activará en FALSE.

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 relacionadaDescrita en:

Espera hasta que se cumpla una condición Instrucciones - WaitUntil

Espera durante un tiempo especificado Instrucciones - WaitTime

Page 456: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 456/671

 Instrucciones   VelSet

Tipos de Datos del Sistema y Rutinas 2-VelSet-453

VelSet Cambio de la velocidad programada

VelSet sirve para aumentar o disminuir la velocidad programada de todas las instruc-

ciones de posicionamiento siguientes. Esta instrucción puede utilizarse también paramaximizar la velocidad.

Ejemplo

VelSet 50, 800;

Todas las velocidades programadas serán disminuidas del 50% del valor especi-ficado en la instrucción. La velocidad del TCP no podrá, no obstante exceder los800 mm/s.

Argumentos

VelSet Ajuste Max

Ajuste Tipo de dato: num

Es la velocidad deseada expresada en un porcentaje de la velocidad programada.El 100% corresponde a la velocidad programada.

Max Tipo de dato: num

Es la velocidad máxima del TCP en mm/s.

Ejecución del programa

La velocidad programada de todas las instrucciones de posicionamiento siguientes, severán afectadas hasta que se ejecute una instrucción VelSet  nueva.

El argumento Ajuste afectará:

- A todos los componentes de velocidad (TCP, orientación, ejes externos linealesy rotativos) contenidos en speeddata.

- Al ajuste de la velocidad programada en la instrucción de posicionamiento (elargumento \V ).

- A los movimientos temporizados.

El argumento Ajuste no afectará:

- A la velocidad de soldadura contenida en welddata.

- A la velocidad de calentamiento y de llenado contenida en seamdata.

Page 457: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 457/671

VelSet  Instrucciones

2-VelSet-454 Tipos de Datos del Sistema y Rutinas

El argumento Max sólo afectará a la velocidad del TCP.

Los valores por defecto de Ajuste y Max son del 100% y de 5000 mm/s respectiva-mente. Estos valores se activan automáticamente

- a la puesta en marcha en frí o

- cuando se carga un programa nuevo

- cuando se ejecuta la primera instrucción en el programa.

Ejemplo

VelSet 50, 800;MoveL p1, v1000, z10, herram1;MoveL p2, v2000, z10, herram1;MoveL p3, v1000\T:=5, z10, herram1;

La velocidad es de 500 mm/s al punto p1 y de 800 mm/s al punto p2. Tardará 10segundos para ir de p2 a p3.

Limitaciones

La velocidad máxima no será tomada en cuenta cuando el tiempo esté especificado enla instrucción de posicionamiento.

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

Page 458: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 458/671

 Instrucciones   WHILE

Tipos de Datos del Sistema y Rutinas 2-WHILE-455

WHILE Repetición de una instrucción mientras...

WHILE  se utiliza cuando una serie de instrucciones deben ser repetidas mientras una

condición especí fica se vaya cumpliendo.

En el caso en que sea posible determinar por adelantado el número de repeticiones, sepodrá utilizar la instrucción FOR. 

Ejemplo

WHILE reg1 < reg2 DO...reg1 := reg1 +1;

ENDWHILE

Repite las instrucciones del bucle WHILE 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 WHILEpuedan ejecutarse.

Ejecución del programa

1. Calcula la condición. Si la condición no ha sido cumplida, el bucle WHILE finalizay la ejecución del programa continúa con la instrucción que sigue ENDWHILE.

2. Las instrucciones del bucle WHILE son ejecutadas.

3. Se repite el bucle WHILE empezando por el punto 1.

Sintaxis

(EBNF)

WHILE <expresión condicional> DO <lista instrucciones>

ENDWHILE 

Page 459: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 459/671

WHILE  Instrucciones

2-WHILE-456 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Expresiones Caracterí sticas Básicas - Expresiones

Page 460: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 460/671

 Instrucciones   Write

Tipos de Datos del Sistema y Rutinas 2-Write-457

Write Escritura en un archivo basado en caractereso en un canal serie

Write sirve para escribir en un archivo basado en caracteres o en un canal serie. El valorde algunos datos podrán ser introducidos como textos.

Ejemplos

Write archivo_event, "Ejecución iniciada";

El texto Ejecución iniciada será introducido en el archivo con el nombre de ref-erencia archivo_event .

Write archivo_event, "Nº de piezas producidas="\Num:=reg1;

El texto N º  de piezas producidas=5, por ejemplo, será introducido en el archivocon el nombre de referencia archivo_event (presuponiendo que el contenido dereg1 es 5).

Argumentos

Write Dispositivo E/S Texto [\Num] | [\Bool] | [\Pos] | [\Orient]

[\NoNewLine]

Dispositivo E/S Tipo de dato: iodev

El nombre (referencia) del archivo o del canal serie utilizado.

Texto Tipo de dato: string

El texto que se desea introducir.

[\Num] (Numé rico) Tipo de dato: num

El dato cuyos valores numéricos deberán ser introducidos después de la cadenade texto.

[\Bool] (Boolean) Tipo de dato: bool

El dato cuyos valores lógicos deberán ser introducidos después de la cadena detexto.

[\Pos] (Posición) Tipo de dato: pos

El dato cuya posición deberá ser introducida después de la cadena de texto.

Page 461: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 461/671

Write  Instrucciones

2-Write-458 Tipos de Datos del Sistema y Rutinas

[\Orient] (Orientación) Tipo de dato: orient 

El dato cuya orientación deberá ser introducida después de la cadena de texto.

[\NoNewLine] Tipo de dato: switch

Omite el sí mbolo de retorno de carro que normalmente indica el final del texto.

Ejecución del programa

La cadena de texto será introducida en un archivo o en un canal serie especí fico. En elcaso en que no se use el argumento \NoNewLine, se introducirá un sí mbolo de retornode carro (line-feed: LF).

En el caso en que se utilice uno de los argumentos \Num, \Bool, \Pos o \Orient, su valorserá primeramente convertido en una cadena de texto antes de ser añadido a la primeracadena. La conversión del valor en cadena de texto ocurre de la siguiente forma:

Argumentos Valor Cadena de texto

 \Num 23 "23"

 \Num 1.141367 "1.141367"

 \Bool VERDADERO "VERDADERO"

 \Pos [1817.3,905.17,879.11] "[1817.3,905.17,879.11]"

 \Orient [0.96593,0,0.25882,0] "[0.96593,0,0.25882,0]"

El valor es convertido en una cadena con el formato estándar en RAPID. Esto significaen principio 6 cifras significantes. Si la parte decimal es menor que 0,000005 o mayorque 0,999995, el número será redondeado a un número entero.

Ejemplo

VAR iodev impresora;.Open "sio1:", impresora\Write;WHILE DInput(stopprod)=0 DO

produce_part;Write impresora, "Piezas producidas="\Num:=reg1\NoNewLine;Write impresora, " "\NoNewLine;Write impresora, CTime();

ENDWHILEClose impresora;

Una lí nea que incluye el número de piezas producidas así  como la hora saldrá enla impresora al final de cada ciclo. La impresora deberá estar conectada al canalserie sio1:. El mensaje impreso tendrá un aspecto parecido al siguiente:

Piezas producidas=473 09:47:15

Page 462: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 462/671

 Instrucciones   Write

Tipos de Datos del Sistema y Rutinas 2-Write-459

Limitaciones

Los argumentos \Num, \Bool, \Pos y \Orient  son mutuamente exclusivos y por lo tantono podrán ser utilizados simultáneamente en la misma instrucción.

Esta instrucción sólo podrá utilizarse para archivos o canales serie que hayan sido abi-ertos para la escritura.

Gestión de errores

Si ocurre un error durante la escritura, la variable del sistema ERRNO pasará aERR_FILEACC. Este error podrá ser procesado posteriormente por el gestor deerrores.

Sintaxis

Write[Dispositivo de E/S’:=’] <variable (VAR) de iodev>’,’[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 > ]

[’ \ ’NoNewLine]’;’

Información relacionada

Descrita en:

Apertura de un archivo o canal serie Resumen RAPID - Comunicación

Page 463: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 463/671

Write  Instrucciones

2-Write-460 Tipos de Datos del Sistema y Rutinas

Page 464: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 464/671

 Instrucciones   WriteBin

Tipos de Datos del Sistema y Rutinas 2-WriteBin-461

WriteBin Escritura en un canal serie binario

WriteBin sirve para escribir un número de bytes en un canal serie binario.

Ejemplo

WriteBin canal2, buffer_text, 10;

10 caracteres de la lista buffer_text serán introducidos en el canal referido comocanal2.

Argumentos

WriteBin Dispositivo E/S Buffer NCar

Dispositivo E/S Tipo de dato: iodev

El nombre (referencia) del canal serie utilizado.

Buffer Tipo de dato: array denum

La lista (matriz) que contiene los números (caracteres) que se desean introducir.

NCar (N úmero de Caracteres) Tipo de dato: num

El número de caracteres que se desean introducir a partir del Buffer .

Ejecución del programa

La cantidad especificada de números (caracteres) de la lista será escrita en el canalserie.

Limitaciones

Esta instrucción sólo podrá utilizarse para los canales serie que hayan sido abiertospara la lectura y escritura binaria.

Gestión de errores

En el caso en que ocurra un error durante la escritura, la variable del sistema ERRNO

pasará a ERR_FILEACC. Este error podrá ser procesado posteriormente en el gestorde errores.

Page 465: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 465/671

WriteBin  Instrucciones

2-WriteBin-462 Tipos de Datos del Sistema y Rutinas

Ejemplo

VAR iodev canal;VAR num buffer_sal {20};

VAR num entrada;VAR num ncar;Open "sio1:", canal \ Bin;

buffer_sal {1} := 5; ( enq )WriteBin canal, buffer_sal, 1;entrada:= ReadBin (canal \ Time:= 0.1);

IF entrada = 6 THEN ( ack )buffer_sal{1} := 2; ( stx )buffer_sal{2} := 72; ( ’H’ )

buffer_sal{3} := 101; ( ’e’ )buffer_sal{4} := 108; ( ’l’ )buffer_sal{5} := 108; ( ’l’ )buffer_sal{6} := 111; ( ’o’ )buffer_sal{7} := 32; ( ’ ’ )buffer_sal{8} := StrToByte("w"\Char); ( ’w’ )buffer_sal{9} := StrToByte("o"\Char); ( ’o’ )buffer_sal{10} := StrToByte("r"\Char); ( ’r’ )buffer_sal{11} := StrToByte("l"\Char); ( ’l’ )buffer_sal{12} := StrToByte("d"\Char); ( ’d’ )buffer_sal{13} := 3; ( etx )WriteBin canal, buffer_sal, 13;

ENDIF

La cadena de texto Hello world (con sus caracteres de control asociados) será escrita en un canal serie. La función StrToByte se utiliza en los mismos casos paraconvertir una cadena en un dato byte (num).

Sintaxis

WriteBin

[Dispositivo E/S’:=’] <variable (VAR) de iodev>’,’[Buffer’:=’] <matriz {*} (IN) de num>’,’[NCar’:=’] <expresión (IN) de num>’;’

Page 466: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 466/671

 Instrucciones   WriteBin

Tipos de Datos del Sistema y Rutinas 2-WriteBin-463

Información relacionada

Descrita en:

Apertura (etc.) de canales serie Resumen RAPID - ComunicaciónConversión de una cadena en un dato byte Funciones - StrToByte

Datos byte Tipos de datos - byte

Page 467: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 467/671

WriteBin  Instrucciones

2-WriteBin-464 Tipos de Datos del Sistema y Rutinas

Page 468: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 468/671

 Instrucciones   WriteAnyBin

Tipos de Datos del Sistema y Rutinas 2-WriteAnyBin-465

WriteAnyBin Escribir datos en un canalserie o en un archivo binarios

WriteAnyBin (Write Any Binary) sirve para escribir cualquier tipo de datos en un canalserie o en un archivo binarios.

Ejemplo

VAR iodev channel2;VAR orient quat1 := [1, 0, 0, 0];...Open "sio1:", channel2 \Bin;WriteAnyBin channel2, quat1;

El dato orient  quat1 ha sido escrito en el canal referido con el nombre channel2.

Argumentos

WriteAnyBin IODevice Data

IODevice Tipo de dato: iodev

Es el nombre (referencia) del canal serie o archivo binarios para la operación deescritura.

Data Tipo de dato: ANYTYPE 

Es la VAR o PERS que contiene los datos que deben ser escritos.

Ejecución del programa

Tantos bytes como sea requerido para los datos especificados serán escritos en un canal

serie o archivo binarios especificados.

Limitaciones

Esta instrucción sólo podrá utilizarse para canales serie o archivos que hayan sido abi-ertos para la escritura en binario.

Los datos que van a ser escritos por esta instrucción deberán tener un tipo de dato devalor  atomic, string o record. Los tipos de datos semi-valor y sin valor no podrán serutilizados.

Los datos de matriz no podrán ser utilizados.

Page 469: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 469/671

WriteAnyBin  Instrucciones

2-WriteAnyBin-466 Tipos de Datos del Sistema y Rutinas

Gestión de errores

En el caso de producirse un error durante la escritura, la variable del sistema ERRNOse activará en ERR_FILEACC. Dicho error podrá entonces ser procesado por el gestor

de errores.

Ejemplo

VAR iodev channel;VAR num input;VAR robtarget cur_robt;

Open "sio1:", channel \ Bin;

! Send the control character enqWriteStrBin channel, "\05";! Wait for the control character ack input := ReadBin (channel \ Time:= 0.1);IF input = 6 THEN

! Send current robot positioncur_robt := CRobT(\Tool:= tool1\WObj:= wobj1);WriteAnyBin channel, cur_robt;

ENDIF

Cerrar el canal;

La posición actual del robot es escrita en un canal serie binario.

Sintaxis

WriteAnyBin[IODevice’:=’] <variable (VAR) de iodev>’,’[Data’:=’] <var o pers (INOUT) de ANYTYPE >’;’

Información relacionada

Descrita en:

Apertura (etc.) de canales serie o archivos Resumen RAPID - Comunicación

Lectura de datos desde un canal serie oarchivo binarios Funciones - ReadAnyBin

Page 470: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 470/671

 Instrucciones   WriteStrBin

Tipos de Datos del Sistema y Rutinas 2-WriteStrBin-467

WriteStrBin Escritura de una cadena en uncanal serie binario

WriteStrBin (Write String Binary) sirve para escribir una cadena en un canal serie bina-rio o en un archivo binario.

Ejemplo

WriteStrBin channel2, "Hello World\0A";

La cadena "Hello World\0A" está escrita en el canal que se conoce con el nombrede channel2. En este caso, la cadena se termina con una lí nea nueva \0A. Todoslos caracteres y valores hexadecimales escritos con WriteStrBin permaneceránincambiados por el sistema.

Argumentos

WriteStrBin DispositivoE/S Str

IODevice Tipo de dato: iodev

El nombre (referencia) del canal serie actual.

Str (Cadena) Tipo de dato: string

El texto que se va a escribir.

Ejecución del programa

La cadena de texto ha sido escrita en el canal serie o en el archivo especificado.

Limitaciones

Esta instrucción sólo podrá utilizarse para canales serie o archivos que han sido abier-tos para la lectura o escritura binaria.

Gestión de errores

Si ocurre un error durante la escritura, la variable del sistema ERRNO se activa enERR_FILEACC. Este error podrá entonces ser manipulado en el gestor de errores.

Page 471: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 471/671

WriteStrBin  Instrucciones

2-WriteStrBin-468 Tipos de Datos del Sistema y Rutinas

Ejemplo

VAR iodev channel;VAR num input;

Open "sio1:", channel \ Bin;

! Send the control character enqWriteStrBin channel, "\05";! Wait for the control character ack input := ReadBin (channel \ Time:= 0.1);IF input = 6 THEN

! Send a text starting with control character stx and ending with etxWriteStrBin channel, "\02Hello world\03";

ENDIF

Close channel;

La cadena de texto Hello world  (con los caracteres de control asociados en hexa-decimales) es escrita en un canal serie binario.

Sintaxis

WriteStrBin[DispositivoE/S’:=’] <variable (VAR) of iodev>’,’[Str’:=’] <expression (IN) of string>’;’

Información relacionada

Descrita en:

Apertura (etc.) de canales serie Resumen RAPID - Comunicación

Page 472: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 472/671

 Instrucciones   WaitTime

Tipos de Datos del Sistema y Rutinas 2-WaitTime-469

WaitTime Espera durante un tiempo especificado

WaitTime sirve para esperar durante un tiempo especí fico. Esta instrucción puede uti-

lizarse también para esperar hasta que el robot y los ejes externos se hayan inmovili-zado.

Ejemplo

WaitTime 0.5;

La ejecución del programa espera 0,5 segundos.

Argumentos

WaitTime [\InPos] Tiempo

 [\InPos] Tipo de dato: switch

En el caso en que se utilice este argumento, tanto el robot como los ejes externosdeberán haberse detenido antes de que el tiempo de espera empiece a contar.

Tiempo Tipo de dato: num

El tiempo, expresado en segundos, que la ejecución del programa debe esperar.

Ejecución del programa

La ejecución del programa se detiene temporalmente durante un tiempo especificado.Sin embargo, la manipulación de las interrupciones y otras funciones similares, siguenestando activas.

Ejemplo

WaitTime \InPos,0;

La ejecución del programa espera hasta que el robot y los ejes externos se hayanparado.

Page 473: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 473/671

WaitTime  Instrucciones

2-WaitTime-470 Tipos de Datos del Sistema y Rutinas

Limitaciones

En el caso en que se use el argumento \  Inpos, la instrucción de movimiento que precedea esta instrucción deberá terminar con un punto de paro para que en esta instrucción sea

posible realizar un rearranque después de un corte de potencia.

El argumento \Inpos no podrá utilizarse junto con SoftServo.

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 reinicializado una E/S

Page 474: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 474/671

 Instrucciones   WaitUntil 

Tipos de Datos del Sistema y Rutinas 2-WaitUntil-471

WaitUntil Esperar hasta el cumplimientode una condición

WaitUntil sirve para esperar hasta que se cumpla una condición lógica; por ejemplo, elsistema podrá esperar hasta que se haya activado una o varias entradas.

Ejemplo

WaitUntil di4 = 1;

La ejecución del programa continuará sólo después de que la entrada di4 hayasido 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 externosdeberán haberse detenido antes de que la condición empiece a ser evaluada.

Cond Tipo de dato: bool

Es la expresión lógica que se debe esperar.

[\MaxTime] Tipo de dato: num

Es el intervalo de tiempo de espera máximo permitido y expresado en segundos.En el caso en que este tiempo haya transcurrido antes de que se haya cumplidola condición, el sistema llamará el gestor de errores, siempre y cuando haya uno,con el código de error ERR_WAIT_MAXTIME. En el caso en que el sistema nodisponga de gestor de errores la ejecución del programa se detendrá.

[\TimeFlag]   Tipo de dato: bool

Es el parámetro de salida que contiene el valor TRUE en el caso en que el tiempode espera máximo permitido haya transcurrido antes de que se haya cumplido lacondición. Si este parámetro está incluido en la instrucción, el hecho de que eltiempo máximo haya transcurrido, no será considerado como un error. Este argu-mento será ignorado siempre que el argumento MaxTime no esté incluido en lainstrucción.

Page 475: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 475/671

WaitUntil   Instrucciones

2-WaitUntil-472 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

Si la condición programada no se cumple con la ejecución de la instrucción WaitUntil,la condición será comprobada de nuevo cada 100 ms.

Cuando el robot está esperando, el tiempo será supervisado, y en el caso en que excedael valor máximo de tiempo, el programa continuará siempre y cuando esté especificadoTimeFlag, o suscitará un error en el caso en que no lo esté. Si se especifica TimeFlag,se activará en TRUE si el tiempo ha sido excedido, de lo contrario, se activará enFALSE.

Ejemplos

VAR bool tempmax;WaitUntil DInput(ent_inicio) = 1 AND DInput (estado_pinza) = 1\MaxTime := 60

 \TimeFlag := tempmax;IF tempmax THEN

TPWrite "No se ha recibido orden de arranque en el tiempo especificado";ELSE

ciclo_sig;ENDIF

Si las dos condiciones de entrada no se han cumplido en 60 segundos, aparecerá un mensaje de error en el visualizador de la unidad de programación.

WaitUntil \Inpos, di4= 1;

La ejecución del programa esperará hasta que el robot se haya inmovilizado y quela entrada di4 se haya activado.

Limitaciones

En el caso en que se use el argumento \  Inpos, la instrucción de movimiento que precedeesta instrucción deberá terminar con un punto de paro para que en esta instrucción seaposible realizar un rearranque después de un corte de potencia.

Sintaxis

WaitUntil[’ \ ’InPos’,’][Cond ’:=’] <expresión (IN) de bool>[’ \ ’MaxTime ’:=’<expresión (IN) de num>][’ \ ’TimeFlag’:=’<variable (VAR) de bool>] ’;’

Page 476: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 476/671

 Instrucciones   WaitUntil 

Tipos de Datos del Sistema y Rutinas 2-WaitUntil-473

Información relacionada

Descrita en:

Esperar hasta que una entrada se Instrucciones - WaitDI haya activado/reinicializado

Esperar durante un tiempo especí fico Instrucciones - WaitTime

Expresiones Caracterí sticas Básicas - Expresiones

Page 477: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 477/671

WaitUntil   Instrucciones

2-WaitUntil-474 Tipos de Datos del Sistema y Rutinas

Page 478: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 478/671

 Instrucciones   WZBoxDef 

Tipos de Datos del Sistema y Rutinas 2-WZBoxDef-475

WZBoxDef Definición de una zona mundoen forma de caja rectangular

WZBoxDef (World Zone Box Definition) sirve para definir una zona mundo que tienela forma de una caja rectangular con todos sus laterales paralelos a los ejes del Sistemade Coordenadas Mundo.

Ejemplo

.

VAR shapedata volume;

CONST pos corner1:=[200,100,100];CONST pos corner2:=[600,400,400];...WZBoxDef \Inside, volume, corner1, corner2;

Define una caja rectangular con coordenadas paralelas a los ejes del sistema decoordenadas mundo, y está definida por las esquinas opuestas esquina1 yesquina2.

Argumentos

WZBoxDef [\Dentro] | [\Fuera] Forma PuntoBajo PuntoAlto

 \Dentro Tipo de dato: switch

Es la definición del volumen dentro de la caja.

 \Fuera Tipo de dato: switch

Es la definición del volumen fuera de la caja. (volumen inverso).

Uno de los argumentos \Dentro o \Fuera deberá ser especificado. 

Sistema de Coordenadas Mundo

Caja

X

Y

Z

esquina2

esquina1

Min. 10 mm

Page 479: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 479/671

WZBoxDef   Instrucciones

2-WZBoxDef-476 Tipos de Datos del Sistema y Rutinas

Forma Tipo de dato: shapedata

Es la variable para el almacenamiento del volumen definido (datos particularesdel sistema).

PuntoBajo Tipo de dato: pos

Es la posición (x,y,z) en mm que define una esquina inferior de la caja.

PuntoAlto Tipo de dato: pos

Es la posición (x,y,z) en mm que define la esquina diagonalmente opuestarespecto a la anterior.

Ejecución del programa

La definición de la caja es almacenada en la variable del tipo shapedata (argumentoForma), para un uso ulterior en las instrucciones WZLimSup o WZDOSet .

Limitaciones

Las posiciones PuntoBajo y PuntoAlto deben ser esquinas opuestas válidas (con difer-entes valores de coordenadas x, y, z).

Si se utiliza el robot para determinar el PuntoBajo o el PuntoAlto, el objeto de trabajowobj0 deberá estar activado (utilización del componente trans en robtarget, por ejem-plo, p1.trans como argumento).

Sintaxis

WZBoxDef [’ \ ’Dentro] | [’ \ ’Fuera] ’,’[Forma’:=’]<variable (VAR) de shapedata>’,’[PuntoBajo’:=’]<expresión (IN) de pos>’,’

[PuntoAlto’:=’]<expresión (IN) de pos>’;’

Page 480: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 480/671

 Instrucciones   WZBoxDef 

Tipos de Datos del Sistema y Rutinas 2-WZBoxDef-477

Información relacionada

Descrita en:

Zonas mundo Principios de Movimiento yde E/S - Zonas Mundo

Forma de las zonas mundo Tipos de datos - shapedata

Definición de la zona mundo en formade esfera Instrucciones - WZSphDef 

Definición de la zona mundo en formade cilindro Instrucciones - WZCylDef 

Activación de la supervisión del lí mitede la zona mundo Instrucciones - WZLimSup

Activación del conjunto de salidas digitalesde una zona mundo Instrucciones - WZDOSet 

Page 481: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 481/671

WZBoxDef   Instrucciones

2-WZBoxDef-478 Tipos de Datos del Sistema y Rutinas

Page 482: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 482/671

 Instrucciones   WZCylDef 

Tipos de Datos del Sistema y Rutinas 2-WZCylDef-479

WZCylDef Definición de una zona mundoen forma de cilindro

WZCylDef (World Zone Cylinder Definition) sirve para definir una zona mundo quetiene la forma de un cilindro con el eje del cilindro paralelo al eje-z del Sistema deCoordenadas Mundo.

Ejemplo

VAR shapedata volume;CONST pos C2:=[300,200,200];CONST num R2:=100;CONST num H2:=200;...WZCylDef \Inside, volume, C2, R2, H2;

Define un cilindro, con el centro del cí rculo inferior en C2, con un radio R2 y unaaltura H2.

Argumentos

WZCylDef (\Dentro) | (\Fuera) Forma PuntoCentral Radio Altura

 \Dentro Tipo de dato: switch

Definición del volumen dentro del cilindro.

 \Fuera Tipo de dato: switch

Definición del volumen fuera del cilindro (volumen inverso).

Uno de los argumentos \Dentro o \Fuera deberá ser especificado.

Sistema de coordenadas MundoX

Y

Z

R2

H2

C2

(min. 10 mm)

(min. 5 mm)

Page 483: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 483/671

WZCylDef   Instrucciones

2-WZCylDef-480 Tipos de Datos del Sistema y Rutinas

Forma Tipo de dato: shapedata

Variable para el almacenamiento del volumen definido (datos particulares delsistema).

PuntoCentral Tipo de dato: pos

Posición (x,y,z) en mm que define el centro de uno de los cí rculos del cilindro.

Radio Tipo de dato: num

El radio del cilindro en mm.

Altura Tipo de dato: num

La altura en mm del cilindro.Si es positiva (dirección +z), el argumentoPuntoCentral será el centro del cí rculoinferior del cilindro (como se indica en el ejemplo anterior).Si es negativa (dirección -z) el argumento PuntoCentral será el centro del cí rculosuperior del cilindro.

Ejecución del programa

La definición del cilindro es almacenada en la variable del tipo shapedata (argumentoForma), para un uso ulterior en las instrucciones WZLimSup o WZDOSet .

Limitaciones

Si se utiliza el robot para determinar el PuntoCentral, el objeto de trabajo wobj0 deberá estar activado (utilización del componente trans en robtarget, por ejemplo, p1.transcomo argumento).

Sintaxis

WZCylDef [’ \ ’Dentro] | [’ \ ’Fuera] ’,’[Forma’:=’]<variable (VAR) de shapedata>’,’[PuntoCentral’:=’]<expresión (IN) de pos>’,’[Radio’:=’]<expresión (IN) de num>’,’[Altura’:=’]<expresión (IN) de num>’;’

Page 484: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 484/671

 Instrucciones   WZCylDef 

Tipos de Datos del Sistema y Rutinas 2-WZCylDef-481

Información relacionada

Descrita en:

Zonas mundo Principios de movimiento yde E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Definición de la zona mundo en formade caja rectangular Instrucciones - WZSphDef 

Definición de la zona mundo en formade esfera Instrucciones - WZCylDef 

Activación de la supervisión lí mite dela zona mundo Instrucciones - WZLimSup

Activación de una zona mundo paraactivar una salida digital Instrucciones - WZDOSet 

Page 485: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 485/671

WZCylDef   Instrucciones

2-WZCylDef-482 Tipos de Datos del Sistema y Rutinas

Page 486: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 486/671

 Instrucciones   WZDisable

Tipos de Datos del Sistema y Rutinas 2-WZDisable-483

WZDisable Desactivación de la supervisiónde la zona mundo temporal

WZDisable (World Zone Disable) sirve para desactivar la supervisión de una zonamundo temporal, previamente definida bien sea para parar el movimiento o bien paraactivar una salida.

Ejemplo

VAR wztemporary wzone;...PROC ...

WZLimSup \Temp, wzone, volume;MoveL p_pick, v500, z40, tool1;WZDisable wzone;MoveL p_place, v200, z30, tool1;

ENDPROC

En su movimiento hacia p_pick , la posición del TCP del robot es comprobada afin de que no entre dentro del volumen especificado wzone. Esta supervisión nose lleva a cabo cuando el robot se mueve hacia la posición p_place.

Argumentos

WZDisable ZonaMundo

ZonaMundo Tipo de dato: wztemporary

Variable o persistente del tipo wztemporary, que contiene la identidad de la zonamundo que debe ser desactivada.

Ejecución del programa

La zona mundo temporal es desactivada. Esto significa que la supervisión del TCP delrobot relativa al volumen correspondiente, se encuentra temporalmente parada. Lasupervisión podrá ser reactivada mediante la instrucción WZEnable.

Limitaciones

Sólo se podrá desactivar una zona mundo temporal. Una zona mundo estacionaria está siempre activada.

Page 487: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 487/671

WZDisable  Instrucciones

2-WZDisable-484 Tipos de Datos del Sistema y Rutinas

Sintaxis

WZDisable[ZonaMundo’:=’]<variable o persistente (INOUT) de wztemporary>’;’

Información relacionada

Descrita en:

Zonas mundo Principios de movimiento yde E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Datos de zona mundo temporal Tipos de datos - wztemporary

Activación de la supervisión lí mite deuna zona mundo Instrucciones - WZLimSup

Activación de una zona mundo paraactivar una salida digital Instrucciones - WZDOSet 

Activación de una zona mundo Instrucciones - WZEnable

Borrado de una zona mundo Instrucciones - WZFree

Page 488: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 488/671

 Instrucciones   WZDOSet

Tipos de Datos del Sistema y Rutinas 2-WZDOSet-485

WZDOSet Activación de la zona mundopara activar una salida digital

WZDOSet (World Zone Digital Output Set) sirve para definir la acción y para activaruna zona mundo para la supervisión de los movimientos del robot.

Una vez que esta instrucción ha sido ejecutada y que el TCP del robot está dentro dela zona mundo definida o se está acercando a ella, la señal de salida digital se activará en el valor especí fico.

Ejemplo

VAR wztemporary service;

PROC zone_output()VAR shapedata volume;CONST pos p_service:=[500,500,700];...WZSphDef \Inside, volume, p_service, 50;WZDOSet \Temp, service \Inside, volume, do_service, 1;

ENDPROC

Una zona mundo temporal conocida con el nombre de service en la aplicación,ha sido definida. Cuando el TCP del robot está dentro de la esfera definida

durante la ejecución del programa o durante el movimiento manual, la señaldo_service será automáticamente activada.

Argumentos

WZDOSet (\Temp) | (\Stat) ZonaMundo (\Dentro) | (\Antes) FormaSeñal ActValor

 \Temp (Temporal) Tipo de dato: switch

La zona mundo a definir es una zona mundo temporal.

 \Stat ( Estacionaria) Tipo de dato: switch

La zona mundo a definir es una zona mundo fija.

Uno de los argumentos \Temp o \Stat  debe ser especificado.

Page 489: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 489/671

WZDOSet  Instrucciones

2-WZDOSet-486 Tipos de Datos del Sistema y Rutinas

ZonaMundo Tipo de dato: wztemporary

Variable o persistente que será actualizada con la identidad (valor numérico) dela zona mundo.

Al utilizar la posición \Temp, el tipo de dato debe ser wztemporary.Al utilizar la posición \Stat , el tipo de dato debe ser wzstationary.

 \Dentro Tipo de dato: switch

La señal de salida digital se activará cuando el TCP del robot esté dentro del volu-men definido.

 \Antes Tipo de dato: switch

La señal de salida digital se activará justo antes de que el TCP del robot alcanceel volumen definido (tan pronto como sea posible antes del volumen).

Uno de los argumentos \Dentro o \Fuera deberá ser especificado.

Forma Tipo de dato: shapedata

La variable utilizada para definir el volumen de la zona mundo.

Señal Tipo de dato: signaldo

El nombre de la señal de salida digital que será cambiada.

ActValor Tipo de dato: dionum

El valor deseado de la señal (0 o 1) cuando el TCP del robot está dentro del volu-men o justo antes de entrar dentro del volumen.

Cuando está fuera o justo fuera del volumen, la señal se activa en el valoropuesto.

Ejecución del programa

La zona mundo definida es activada. A partir de este momento, la posición del TCP delrobot es supervisada y la salida será activada cuando la posición del TCP del robot seencuentre dentro del volumen ( \Dentro) o se acerque al lí mite del volumen ( \Antes).

Page 490: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 490/671

 Instrucciones   WZDOSet

Tipos de Datos del Sistema y Rutinas 2-WZDOSet-487

Ejemplo

VAR wztemporary home;VAR wztemporary service;PERS wztemporary equip1:=[0];

PROC main()...! Definition of all temporary world zoneszone_output;...! equip1 in robot work areaWZEnable equip1;...! equip1 out of robot work area

WZDisable equip1;...! No use for equip1 any moreWZFree equip1;...

ENDPROC

PROC zone_output()VAR shapedata volume;CONST pos p_home:=[800,0,800];CONST pos p_service:=[800,800,800];CONST pos p_equip1:=[-800,-800,0];...WZSphDef \Inside, volume, p_home, 50;WZDOSet \Temp, home \Inside, volume, do_home, 1;WZSphDef \Inside, volume, p_service, 50;WZDOSet \Temp, service \Inside, volume, do_service, 1;WZCylDef \Inside, volume, p_equip1, 300, 1000;WZLimSup \Temp, equip1, volume;! equip1 not in robot work areaWZDisable equip1;

ENDPROC

Definición de las zonas mundo temporales home y service en la aplicación, queactivan las señales do_home y do_service, cuando el robot está dentro de laesfera home o service respectivamente durante la ejecución del programa odurante el movimiento manual.

También se realiza la definición de una zona mundo temporal equip1, que está activa solamente en la parte del programa robot cuando equip1 está dentro delárea de trabajo del robot. En este momento el robot se detiene antes de entrar enel volumen equip1, tanto durante la ejecución del programa como durante la eje-cución del programa y el movimiento manual. equip1 podrá ser inhabilitada ohabilitada desde otras tareas del programa mediante la utilización del valor de lavariable persistente equip1.

Page 491: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 491/671

WZDOSet  Instrucciones

2-WZDOSet-488 Tipos de Datos del Sistema y Rutinas

Limitaciones

Una zona mundo no puede ser definida de nuevo utilizando la misma variable en elargumento WorldZone.

Una zona mundo estacionaria no podrá ser desactivada, activada de nuevo o borrada enel programa RAPID.

Una zona mundo temporal podrá ser desactivada (WZDisable), activada de nuevo(WZEnable) o borrada (WZFree) en el programa RAPID.

Sintaxis

WZDOSet(’ \ ’Temp) | (’ \ ’Stat) ’,’[ZonaMundo’:=’]<variable o persistente (INOUT) de wztemporary>(’ \ ’Dentro) | (’ \ ’Antes) ’,’[Forma’:=’]<variable (VAR) de shapedata>’,’[Señal’:=’]<variable (VAR) de signaldo>’,’[ActValor’:=’]<expresión (IN) de dionum>’;’

Información relacionada

Descrita en:Zonas mundo Principios de movimiento y

de E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Zona mundo temporal Tipos de datos - wztemporary

Zona mundo estacionaria Tipos de datos - wzstationary

Definición de la zona mundo en formade caja rectangular Instrucciones - WZBoxDef 

Definición de la zona mundo en forma

de esfera Instrucciones - WZSphDef 

Definición de la zona mundo en formade cilindro Instrucciones - WZCylDef 

Activación de la supervisión lí mitede la zona mundo Instrucciones - WZLimSup

Page 492: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 492/671

 Instrucciones   WZEnable

Tipos de Datos del Sistema y Rutinas 2-WZEnable-489

WZEnable Activación de la supervisiónde una zona mundo temporal

WZEnable (World Zone Enable) sirve para volver a activar la supervisión de una zonamundo temporal, previamente definida bien sea para parar el movimiento o bien paraactivar una salida.

Ejemplo

VAR wztemporary wzone;...PROC ...

WZLimSup \Temp, wzone, volume;MoveL p_pick, v500, z40, tool1;WZDisable wzone;MoveL p_place, v200, z30, tool1;WZEnable wzone;MoveL p_home, v200, z30, tool1;

ENDPROC

En su movimiento hacia p_pick , la posición del TCP del robot es comprobada afin de que no entre dentro del volumen especificado wzone. Esta supervisión nose lleva a cabo cuando el robot se mueve hacia la posición p_place, pero es reac-tivada antes de ir a la posición p_home.

Argumentos

WZEnable ZonaMundo

ZonaMundo Tipo de dato: wztemporary

Variable o persistente del tipo wztemporary, que contiene la identidad de la zonamundo que debe ser desactivada.

Ejecución del programa

La zona mundo temporal es activada de nuevo.

Obsérvese que una zona mundo es automáticamente activada cuando es creada. Sólodeberá ser activada de nuevo cuando haya sido previamente desactivada mediante lainstrucción WZDisable.

Page 493: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 493/671

WZEnable  Instrucciones

2-WZEnable-490 Tipos de Datos del Sistema y Rutinas

Limitaciones

Sólo una zona mundo temporal puede ser desactivada y activada de nuevo. Una zonamundo estacionaria está siempre activada.

Sintaxis

WZEnable[ZonaMundo’:=’]<variable o persistente (INOUT) de wztemporary>’;’

Información relacionada

Descrita en:

Zonas mundo Principios de movimiento yde E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Datos de una zona mundo temporal Tipos de datos - wztemporary

Activación de la supervisión lí mitede la zona mundo Instrucciones - WZLimSup

Activación de una zona mundo paraactivar una salida digital Instrucciones - WZDOSet 

Desactivación de una zona mundo Instrucciones - WZDisable

Borrado de una zona mundo Instrucciones - WZFree

Page 494: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 494/671

 Instrucciones   WZFree

Tipos de Datos del Sistema y Rutinas 2-WZFree-491

WZFree Borrado de la supervisiónde la zona mundo temporal

WZFree (World Zone Free) sirve para borrar la definición de una zona mundo tempo-ral, previamente definida bien sea para parar el movimiento o bien para activar unasalida.

Ejemplo

VAR wztemporary wzone;...PROC ...

WZLimSup \Temp, wzone, volume;MoveL p_pick, v500, z40, tool1;WZDisable wzone;MoveL p_place, v200, z30, tool1;WZEnable wzone;MoveL p_home, v200, z30, tool1;WZFree wzone;

ENDPROC

En su movimiento hacia la posición p_pick , la posición del TCP del robot escomprobada a fin de no entrar dentro de un volumen especificado como wzone.Esta supervisión se lleva a cabo cuando el robot se mueve a la posición p_place,

pero es activada de nuevo antes de ir a la posición p_home. Cuando esta posiciónes alcanzada, la definición de la zona mundo es borrada.

Argumentos

WZFree ZonaMundo

ZonaMundo Tipo de dato: wztemporary

Variable o persistente del tipo wztemporary, que contiene la identidad de la zona

mundo que debe ser desactivada.

Ejecución del programa

La zona mundo temporal será en primer lugar desactivada y luego será borrada su defi-nición.

Una vez borrada, una zona mundo temporal no podrá ser activada de nuevo ni desac-tivada.

Page 495: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 495/671

WZFree  Instrucciones

2-WZFree-492 Tipos de Datos del Sistema y Rutinas

Limitaciones

Sólo una zona mundo temporal puede ser desactivada, activada de nuevo o borrada.Una zona mundo estacionaria está siempre activada.

Sintaxis

WZFree[ZonaMundo’:=’]<variable o persistente (INOUT) de wztemporary>’;’

Información relacionada

Descrita en:

Zonas mundo Principios de movimiento yde E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Datos de zona mundo temporal Tipos de datos - wztemporary

Activación de la supervisión lí mite deuna zona mundo Instrucciones - WZLimSup

Activación de una zona mundo paraactivar una salida digital Instrucciones - WZDOSet 

Desactivación de una zona mundo Instrucciones - WZDisable

Activación de unaa zona mundo Instrucciones - WZEnable

Page 496: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 496/671

 Instrucciones   WZLimSup

Tipos de Datos del Sistema y Rutinas 2-WZLimSup-493

WZLimSup Activación de la supervisióndel lí mite de la zona mundo

WZLimSup (World Zone Limit Supervision) sirve para definir la acción y para activaruna zona mundo para la supervisión del área de trabajo del robot.

Una vez que esta instrucción ha sido ejecutada y cuando el TCP del robot ha alcanzadola zona mundo definida, el movimiento es detenido tanto durante la ejecución del pro-grama como durante el movimiento manual.

Ejemplo

VAR wzstationary max_workarea;...PROC POWER_ON()

VAR shapedata volume;...WZBoxDef \Outside, volume, corner1, corner2;WZLimSup \Stat, max_workarea, volume;

ENDPROC

Definición y activación de la zona mundo estacionaria max_workarea, con laforma del área situada fuera de la caja rectangular (temporalmente almacenadaen volume) y la acción de supervisión del área de trabajo activada. El robot se

detiene produciendo un mensaje de error antes de entrar dentro del área fuera dela caja rectangular.

Argumentos

WZLimSup (\Temp) | (\Stat) ZonaMundo Forma

 \Temp (Temporal) Tipo de dato: switch

La zona mundo a definir es una zona mundo temporal.

 \Stat ( Estacionaria) Tipo de dato: switch

La zona mundo a definir es una zona mundo estacionaria.

Uno de los argumentos \Temp o \Stat  debe estar especificado.

ZonaMundo Tipo de dato: wztemporary

Variable o persistente que será actualizada con la identidad (valor numérico) dela zona mundo.

Al utilizar el argumento \Temp, el tipo de dato debe ser wztemporary.Al utilizar el argumento \Stat , el tipo de dato debe ser wzstationary.

Page 497: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 497/671

WZLimSup  Instrucciones

2-WZLimSup-494 Tipos de Datos del Sistema y Rutinas

Forma Tipo de dato: shapedata

La variable que define el volumen de la zona mundo.

Ejecución del programa

La zona mundo definida es activada. A partir de este momento la posición del TCP delrobot es supervisada. Si alcanza el área definida, el movimiento es detenido.

Ejemplo

VAR wzstationary box1_invers;VAR wzstationary box2;

PROC wzone_power_on()VAR shapedata volume;CONST pos box1_c1:=[500,-500,0];CONST pos box1_c2:=[-500,500,500];CONST pos box2_c1:=[500,-500,0];CONST pos box2_c2:=[200,-200,300];...WZBoxDef \Outside, volume, box1_c1, box1_c2;WZLimSup \Stat, box1_invers, volume;WZBoxDef \Inside, volume, box2_c1, box2_c2;

WZLimSup \Stat, box2, volume;ENDPROC

Limitación del área de trabajo del robot con las siguientes zonas mundo estacio-narias:

- Fuera del área de trabajo si está fuera de box1_invers

- Fuera del área de trabajo si está dentro de box2

Si esta rutina está conectada al evento de sistema POWER ON, estas zonasmundo siempre estarán activas en el sistema tanto para los movimientos del pro-

grama como para el movimiento manual.

Limitaciones

Una zona mundo no puede ser definida de nuevo utilizando la misma variable en elargumento WorldZone.

Una zona mundo estacionaria no podrá ser desactivada, activada de nuevo o borrada enel programa RAPID.

Una zona mundo temporal podrá ser desactivada (WZDisable), activada de nuevo(WZEnable) o borrada (WZFree) en el programa RAPID.

Page 498: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 498/671

 Instrucciones   WZLimSup

Tipos de Datos del Sistema y Rutinas 2-WZLimSup-495

Sintaxis

WZLimSup[’ \ ’Temp] | [’ \Stat]’,’[ZonaMundo’:=’]<variable o persistente (INOUT) de wztemporary>’ ,’[Forma’:=’] <variable (VAR) de shapedata>’;’

Información relacionada

Descrita en:

Zonas mundo Principios de movimiento yde E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Zona mundo temporal Tipos de datos - wztemporary

Zona mundo estacionaria Tipos de datos - wzstationary

Definición de la zona mundo en formade caja rectangular Instrucciones - WZBoxDef 

Definición de la zona mundo en formade esfera Instrucciones - WZSphDef 

Definición de la zona mundo en formade cilindro Instrucciones - WZCylDef 

Activación de una zona mundo paraactivar una salida digital Instrucciones - WZDOSet 

Page 499: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 499/671

WZLimSup  Instrucciones

2-WZLimSup-496 Tipos de Datos del Sistema y Rutinas

Page 500: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 500/671

 Instrucciones   WZSphDef 

Tipos de Datos del Sistema y Rutinas 2-WZSphDef-497

WZSphDef Definición de una zona mundoen forma de esfera

WZSphDef (World Zone Sphere Definition) sirve para definir una zona mundo quetiene la forma de una esfera.

Ejemplo

VAR shapedata volume;CONST pos C1:=[300,300,200];

CONST num R1:=200;...WZSphDef \Inside, volume, C1, R1;

Define una esfera que tiene el nombre de volume por su centro C1 y su radio R1.

Argumentos

WZSphDef (\Dentro) | (\Fuera) Forma PuntoCentral Radio

 \Dentro Tipo de dato: switch

Definición del volumen dentro de la esfera.

 \Fuera Tipo de dato: switch

Definición del volumen fuera de la esfera (volumen inverso).

Uno de los argumentos \Dentro o \Fuera debe ser especificado.

Forma Tipo de dato: shapedata

Variable para el almacenamiento del volumen definido (datos particulares delsistema).

Sistema de Coordenadas MundoX

Y

Z

C1

R1 (min. 5 mm)

Page 501: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 501/671

WZSphDef   Instrucciones

2-WZSphDef-498 Tipos de Datos del Sistema y Rutinas

PuntoCentral Tipo de dato: pos

Posición (x,y,z) en mm que define el centro de la esfera.

Radio Tipo de dato: num

El radio de la esfera en mm.

Ejecución del programa

La definición de la esfera es almacenada en la variable del tipo shapedata (argumentoShape), para un uso ulterior en las instrucciones WZLimSup o WZDOSet.

Limitaciones

Si el robot es utilizado para determinar el PuntoCentral, el objeto de trabajo wobj0 deberá estar activado (utilización del componente trans en robtarget  por ejemplo,p1.trans como argumento).

Sintaxis

WZSphDef (’ \ ’Dentro) | (’ \ ’Fuera)’,’[Forma’:=’]<variable (VAR) de shapedata>’,’[PuntoCentral’:=’]<expresión (IN) de pos>’,’[Radio’:=’]<expresión (IN) de num>’;’

Page 502: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 502/671

 Instrucciones   WZSphDef 

Tipos de Datos del Sistema y Rutinas 2-WZSphDef-499

Información relacionada

Descrita en:

Zonas mundo Principios de movimiento yde E/S - Zonas mundo

Forma de las zonas mundo Tipos de datos - shapedata

Definición de la zona mundo en formade caja rectangular Instrucciones - WZBoxDef 

Definición de la zona mundo en formade cilindro Instrucciones - WZCylDef 

Activación de la supervisión lí mite de lazona mundo Instrucciones - WZLimSup

Activación de una zona mundo para activaruna salida digital Instrucciones - WZDOSet 

Page 503: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 503/671

WZSphDef   Instrucciones

2-WZSphDef-500 Tipos de Datos del Sistema y Rutinas

Page 504: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 504/671

Funciones 

CONTENTS

Tipos de Datos del Sistema y Rutinas 3-501

Abs Obtención del valor absoluto

ACos Cálculo del valor del arco coseno

AOutput Lectura del valor de una señalde salida analógica

ASin Cálculo del valor del arco seno

ATan Cálculo del valor del arco tangente

ATan2 Cálculo del valor del arco tangente2

ByteToStr Conversión de un byteen un dato de cadena

CalcJointT Cálculo de los ángulosde las uniones a partir de robtarget

CalcRobT Cálculo de robtarget a partir de jointtarget

CDate Lectura de la fecha actualcomo una cadena

CJointT Lectura de los ángulos actuales de los ejes

ClkRead Lectura de un reloj utilizadopara el cronometraje

Cos Cálculo del valor del coseno

CPos Lectura de los datos de posición actuales (pos)

CRobT Lectura de los datos de la posición

actuales (robtarget)

CTime Lectura de la hora actualcomo una cadena

CTool Lectura de los datos de la herramienta utilizada

CWObj Lectura de los datos del objeto de trabajo actuales

DefDFrame Definición de una basede desplazamiento

DefFrame Definición de una base de referencia

Dim Obtención del tamaño de una matriz

Distance Distancia entre dos puntos

DotProd Producto escalar de dos vectores de pos

DOutput Lectura del valor de una señalde salida digital

EulerZYX Obtención de ángulos Euler apartir de una variable de orientación

Exp Cálculo del valor exponencial

FileTime Recuperación de información horariareferente a un archivo

GOutput Lectura del valor de un grupode señales de salida digital

Page 505: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 505/671

3-502 Tipos de Datos del Sistema y Rutinas

Funciones 

GetTime Lectura de la hora actualcomo un valor numérico

IsPers Es Persistente

IsVar Es Variable

MirPos Creación de la imagen espejode una posición

ModTime Obtención de información horariade la carga de un módulo

NOrient Normalización de la orientación

NumToStr Conversión de un valor numéricoen cadena

Offs Desplazamiento de una posición del robot

OpMode Lectura del modo de operación

OrientZYX Cálculo de una variable deorientación a partir de ángulos Euler

ORobT Eliminación de un desplazamientode programa de una posición

PoseInv Inversión de la posición

PoseMult Multiplicación de los datos de posición

PoseVect Aplicación de una transformación

a un vectorPow Cálculo de la potencia de un valor

Present Comprobación de la utilizaciónde un parámetro opcional

ReadBin Lectura de un byte a partir deun archivo o de un canal serie

ReadMotor Lectura de los ángulos del motor actuales

ReadNum Lectura de un número a partir de unarchivo o de un canal serie

ReadStr Lectura de una cadena a partir deun archivo o a partir de un canal serie

ReadStrBin Lectura de una cadena a partir de uncanal serie binario o a partir de un archivo

RelTool Ejecución de un desplazamiento relativoa la herramienta

Round Round es un valor numérico

RunMode Lectura del modo de funcionamiento

Sin Cálculo del valor del seno

Sqrt Cálculo del valor de la raí z cuadrada

StrFind Búsqueda de un carácter en una cadena

Page 506: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 506/671

Funciones

Tipos de Datos del Sistema y Rutinas 3--503

StrLen Obtención de la longitud de la cadena

StrMap Mapa de una cadena

StrMatch Búsqueda de una estructuraen una cadena

StrMemb Comprobar si un carácter pertenece a un conjunto

StrOrder Comprobar si las cadenas están ordenadas

StrPart Obtención de una parte de una cadena

StrToByte Conversión de una cadenaen un dato byte

StrToVal Conversión de una cadenaen un valor numérico

Tan Cálculo del valor de la tangente

TestAndSet Test de una variable y su activación

TestDI Comprobación de la activaciónde una entrada digital

Trunc Truncar un valor numérico

ValToStr Conversión de un valor en una cadena

VectMagn Magnitud de un vector de posición

Page 507: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 507/671

Funciones

3--504 Tipos de Datos del Sistema y Rutinas

Page 508: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 508/671

Funciones   Abs

Tipos de Datos del Sistema y Rutinas 3-Abs-505

Abs Obtención del valor absoluto

 Abs sirve para obtener el valor absoluto, es decir, el valor positivo de un dato numérico.

Ejemplo

reg1 := Abs(reg2);

 Reg1 tiene asignado el valor absoluto de reg2.

Valor de Retorno Tipo de dato: num

El valor absoluto, es decir, un valor numérico positivo.

ejemplo: Valor de entrada Valor de retorno

3 3

-3 3

-2.53 2.53

Argumentos

Abs (Entrada)

Entrada Tipo de dato: num

El valor de entrada.

Ejemplo

TPReadNum num_piezas, "¿Cuantas piezas se deben producir? ";num_piezas := Abs(num_piezas);

El sistema pide al usuario que introduzca el número de piezas que deben serprocesadas. Para garantizar que el valor sea mayor que cero, el valor proporcio-nado por el usuario será convertido en un valor positivo.

Page 509: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 509/671

 Abs Funciones

3-Abs-506 Tipos de Datos del Sistema y Rutinas

Sintaxis

Abs ’(’[ Entrada ’:=’ ] < expression (IN) of num > ’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 510: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 510/671

Funciones   ACos

Tipos de Datos del Sistema y Rutinas 3-ACos-507

ACos Cálculo del valor del arco coseno

 ACos (Arc Cosine) sirve para calcular el valor del arco coseno.

Ejemplo

VAR num angulo;VAR num valor;..angulo:= ACos(valor);

Valor de retorno Tipo de dato: num

El valor del arco coseno, expresado en grados y comprendido entre [0, 180].

Argumentos

ACos (Valor)

Valor Tipo de dato: num

El valor del argumento, comprendido entre [-1, 1].

Sintaxis

Acos’(’[Valor ’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 511: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 511/671

 ACos Funciones

3-ACos-508 Tipos de Datos del Sistema y Rutinas

Page 512: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 512/671

Funciones   AOutput

Tipos de Datos del Sistema y Rutinas 3-AOutput-509

AOutput Lectura del valor de una señalde salida analógica

 AOutput sirve para leer el valor actual de una señal de salida analógica.

Ejemplo

IF AOutput(ao4) > 5 THEN ...

Si el valor actual de la señal ao4 es mayor que 5, entonces ...

Valor de retorno Tipo de dato: num

El valor actual de la señal.

El valor actual es escalado (de acuerdo con los parámetros del sistema) antes de serleí do por el programa RAPID. Véase la Figura 34.

Figura 34 Diagrama indicando el escalado de los valores de señales analógicas.

Valor lógico en el

programa

Valor f í sico de la

señal de salida (V, mA, etc.)

MAX SEÑAL

MIN SEÑAL

MAX PROGRAMA

MIN PROGRAMA

Page 513: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 513/671

Page 514: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 514/671

Funciones   ASin

Tipos de Datos del Sistema y Rutinas 3-ASin-511

ASin Cálculo del valor del arco seno

 ASin (Arc Sine) sirve para calcular el valor del arco seno.

Ejemplo

VAR num angulo;VAR num valor;..angulo := ASin(valor);

Valor de retorno Tipo de dato: num

El valor del arco seno, expresado en grados, y comprendido entre [-90, 90].

Argumentos

ASin (Valor)

Valor Tipo de dato: num

El valor del argumento, comprendido entre [-1, 1].

Sintaxis

ASin’(’[Valor ’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 515: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 515/671

 ASin Funciones

3-ASin-512 Tipos de Datos del Sistema y Rutinas

Page 516: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 516/671

Funciones   ATan

Tipos de Datos del Sistema y Rutinas 3-ATan-513

ATan Cálculo del valor del arco tangente

 ATan (Arc Tangent) sirve para calcular el valor del arco tangente.

Ejemplo

VAR num angulo;VAR num valor;..angulo := ATan(valor);

Valor de retorno Tipo de dato: num

El valor del arco tangente, expresado en grados y comprendido entre [-90, 90].

Argumentos

ATan (Valor)

Valor Tipo de dato: num

El valor del argumento.

Sintaxis

ATan’(’[Valor ’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Arco tangente con un valor de retorno Funciones - ATan2comprendido entre [-180, 180]

Page 517: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 517/671

 ATan Funciones

3-ATan-514 Tipos de Datos del Sistema y Rutinas

Page 518: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 518/671

Funciones   ATan2

Tipos de Datos del Sistema y Rutinas 3-ATan2-515

ATan2 Cálculo del valor del arco tangente2

 ATan2 (Arc Tangent2) sirve para calcular el valor del arco tangente2.

Ejemplo

VAR num angulo;VAR num x_valor;VAR num y_valor;..angulo:= ATan2(y_valor, x_valor);

Valor de retorno Tipo de dato: num

El valor del arco de tangente, expresado en grados y comprendido entre [-180, 180].

El valor será igual a ATan(y/x), y estará comprendido entre [-180, 180], puesto que lafunción utiliza el signo de ambos argumentos para determinar el cuadrante del valor deretorno.

Argumentos

ATan2 (Y X)

Y Tipo de dato: num

El valor del argumento del numerador.

X Tipo de dato: num

El valor del argumento del denominador.

Sintaxis

ATan2’(’[Y ’:=’] <expresión (IN) de num> ’,’[X ’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Page 519: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 519/671

 Atan2 Funciones

3-Atan2-516 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - MatemáticasArco de tangente con sólo un argumento Funciones - ATan

Page 520: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 520/671

Funciones   ByteToStr

Tipos de Datos del Sistema y Rutinas 3-ByteToStr-517

ByteToStr Conversión de un byteen un dato de cadena

 ByteToStr (Byte To String) sirve para convertir un byte en un dato de cadena con unformato de dato de byte definido.

Ejemplo

VAR string con_data_buffer{5};VAR byte data1 := 122;

con_data_buffer{1} := ByteToStr(data1);

El contenido de un componente de matriz con_data_buffer{1} será "122"después de la función ByteToStr ... 

con_data_buffer{2} := ByteToStr(data1\Hex);

El contenido de un componente de matriz con_data_buffer{2} será "7A" despuésde la función ByteToStr ... 

con_data_buffer{3} := ByteToStr(data1\Okt);

El contenido de un componente de matriz con_data_buffer{3} será "172"después de la función ByteToStr ... 

con_data_buffer{4} := ByteToStr(data1\Bin);

El contenido de un componente de matriz con_data_buffer{4} será "01111010"después de la función ByteToStr ... 

con_data_buffer{5} := ByteToStr(data1\Char);

El contenido de un componente de matriz con_data_buffer{5} será "z" despuésde la función ByteToStr ... 

Valor de retorno Tipo de dato: string

El resultado de la operación de conversión con el siguiente formato:

Formato: Caracteres: Long.cadena: Alcance:Dec .....: ’0’ - ’9’ 1-3 "0" - "255"Hex .....: ’0’ - ’9’, ’A’ -’F’ 2 "00" - "FF"Oct ......: ’0’ - ’7’ 3 "000" - "377"Bin ......: ’0’ - ’1’ 8 "00000000" -

"11111111"Char ....: Cualquier carácter ASCII (*)1 Un carácter ASCII

(*) Si se trata de un carácter ASCII que no se puede escribir, el formato de retorno será un código de caracter RAPID (por ejemplo “ \07” para carácter de control BEL).

Page 521: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 521/671

 ByteToStr Funciones

3-ByteToStr-518 Tipos de Datos del Sistema y Rutinas

Argumentos

ByteToStr (BitData [\Hex] | [\Oct] | [\Bin] | [\Char])

BitData Tipo de dato: byte

El dato bit que se desea convertir.

Si se omite el argumento opcional switch, el dato será convertido en un formatodecimal (Dec).

[\Hex] (Hexadecimal) Tipo de dato: switch

El dato será convertido en un formato hexadecimal.

[\Oct] (Octal) Tipo de dato: switch

El dato será convertido en un formato octal.

[\Bin] (Binario) Tipo de dato: switch

El dato será convertido en un formato binario.

[\Char] (Character) Tipo de dato: switch

El dato será convertido en un formato de car ácter ASCII .

Limitaciones

Un tipo de dato byte podrá variar entre 0 y 255 decimal.

Sintaxis

ByteToStr’(’[BitData ’:=’] <expresión (IN) de byte>

[’ \ ’ Hex ] | [’ \ ’ Oct] | [’ \ ’ Bin] | [’ \ ’ Char]’)’ 

Una función con un valor de retorno del tipo de dato string.

Page 522: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 522/671

Funciones   Pow

Tipos de Datos del Sistema y Rutinas 3-Pow-519

Información relacionada

Descrita en:

Conversión de una cadena a un dato byte Instrucciones - StrToByteOtras funciones bit (byte) Resumen RAPID - Funciones bit 

Otras funciones de cadena Resumen RAPID - Funciones cadena 

Page 523: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 523/671

 Pow Funciones

3-Pow-520 Tipos de Datos del Sistema y Rutinas

Page 524: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 524/671

Funciones   CalcJointT 

Tipos de Datos del Sistema y Rutinas 3-CalcJointT-521

CalcJointT Cálculo de los ángulosde las uniones a partir de robtarget

CalcJointT (Calculate Joint Target) sirve para calcular los ángulos de las uniones delrobot y de los ejes externos a partir de un dato robtarget  especí fico.

El dato de entrada robtarget  deberá ser especificado en el mismo sistema de coordena-das que el especificado en el argumento para Tool, WObj y con las funciones dedesplazamiento del programa (ProgDisp) y el offset de los ejes externos ( EOffs) acti-vos en el momento de la ejecución.El dato retornado jointtarget será expresado en el sistema de coordenadas de cali-bración.

Ejemplo

VAR jointtarget jointpos1;CONST robtarget p1 := [...];

 jointpos1 := CalcJointT(p1, tool1 \WObj:=wobj1);

El valor jointtarget que corresponde al valor robtarget p1 es almacenado en jointpos1. La herramienta tool1 y el objeto de trabajo wobj1 son utilizados parael cálculo de los ángulos de las uniones jointpos1.

Valor de retorno Tipo de dato: jointtarget 

Los ángulos en grados de los ejes del robot en el lado del brazo.

Los valores de los ejes externos, expresados en mm. para los ejes lineales y en gradospara los ejes de rotación.

Los valores de retorno se refieren siempre a la posición de calibración.

Argumentos

CalcJointT ( Rob_target Tool [\WObj] )

Rob_target Tipo de dato: robtarget 

Es la posición del robot y de los ejes externos en el sistema de coordenadas másexterno, referido a la herramienta y al objeto de trabajo especificados, y con eldesplazamiento del programa (ProgDisp) y/o el offset de los ejes externos( EOffs) activos en el momento de la ejecución.

Page 525: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 525/671

CalcJointT  Funciones

3-CalcJointT-522 Tipos de Datos del Sistema y Rutinas

Herram Tipo de dato: tooldata

La herramienta utilizada para el cálculo de los ángulos de las uniones del robot.

[\WObj] (Objeto de Trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenada) al que se refiere la posición delrobot.

Si este argumento ha sido omitido, se usará el objeto de trabajo wobj0.Este argumento debe ser especificado si se usa una herramienta estacionaria, ejesexternos coordinados o un transportador.

Ejecución del programa

El jointtarget retornado es calculado a partir de la entrada robtarget .Para calcular los ángulos de las uniones del robot, se tendrá en cuenta los argumentosTool, WObj especificados (incluyendo la base de referencia coordenada del usuario) ycon ProgDisp activo en el momento de la ejecución.Para calcular la posición de los ejes externos, se tendrá en cuenta EOffs activo en eltiempo de ejecución.

El cálculo siempre selecciona la configuración del robot de acuerdo con los datos deconfiguración especificados en los datos de entrada robtarget . Las instrucciones ConfLy ConfJ  no afectan este principio de cálculo. En el caso de haber singularidad de lamuñeca, el eje 4 del robot será puesto en la posición 0 grados.

En el caso de haber algún desplazamiento de programa activado (ProgDisp) y/o offsetde ejes externos ( EOffs) en el momento del almacenamiento de robtarget , entonces elmismo desplazamiento de programa y/o el offset de ejes externos deberán estar activa-dos en el momento de la ejecución de CalcJointT .

Sintaxis

CalcJointT’(’[Rob_target ’:=’] <expresión (IN) de robtarget > ‘,’[Tool ’:=’ ] <persistente (PERS) de tooldata>[’ \ ’WObj ’:=’ <persistente (PERS) de wobjdata>] ’)’

Una función con un valor de retorno del tipo de dato jointtarget .

Page 526: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 526/671

Funciones   CalcJointT 

Tipos de Datos del Sistema y Rutinas 3-CalcJointT-523

Información relacionada

Descrita en:

Cálculo de robtarget a partir de jointtarget Funciones - CalcRobT Definición de la posición Tipos de Datos - robtarget 

Definición de la posición de las uniones Tipos de Datos - jointtarget 

Definición de las herramientas Tipos de Datos- tooldata

Definición de los objetos de trabajo Tipos de Datos - wobjdata

Sistemas de coordenadas Principios de movimiento y de E/S -Sistemas de Coordenadas

Sistema de coordenadas deldesplazamiento de programa Instrucciones - PDispOn

Sistema de coordenadas del offsetde los ejes externos Instrucciones - EOffsOn

Page 527: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 527/671

Page 528: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 528/671

Page 529: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 529/671

CDate Funciones

3-CDate-526 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrito en:

Instrucciones de hora Resumen RAPID - Sistema y HoraActivación del reloj del sistema Guí a del usuario - Par ámetros del Sis-

tema

Page 530: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 530/671

Funciones   CJointT 

Tipos de Datos del Sistema y Rutinas 3-CJointT-527

CJointT Lectura de los ángulos actuales de los ejes

CJointT (Current Joint Target) sirve para leer los ángulos actuales de los ejes del robot

y de los ejes externos.

Ejemplo

VAR jointtarget joints;

 joints := CJointT();

Los ángulos actuales de los ejes del robot y de los ejes externos están almacena-dos en joints.

Valor de retorno Tipo de dato: jointtarget 

Los ángulos actuales de los ejes del robot, del lado del brazo, expresados en grados.

Los valores actuales de los ejes externos, expresados en mm para los ejes lineales, y engrados para los ejes de rotación.

Los valores devueltos se refieren a la posición de calibración.

Sintaxis

CJointT’(’’)’

Una función con un valor de retorno del tipo de dato jointtarget .

Información relacionada

Descrita en:Definición del eje Tipos de Datos - jointtarget 

Lectura del ángulo actual del motor Funciones - ReadMotor 

Page 531: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 531/671

CJointT  Funciones

3-CJointT-528 Tipos de Datos del Sistema y Rutinas

Page 532: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 532/671

Funciones   ClkRead 

Tipos de Datos del Sistema y Rutinas 3-ClkRead-529

ClkRead Lectura de un reloj utilizadopara el cronometraje

ClkRead sirve para la lectura de un reloj que funciona como un cronómetro. 

Ejemplo

reg1:=ClkRead(reloj1);

El reloj reloj1 será leí do y la hora quedará almacenada en segundos en la variablereg1.

Valor de Retorno Tipo de dato: num

La hora, en segundos, almacenada en el reloj. Tiene una resolución de 0,010 segundos.

Argumento

ClkRead (Reloj)

Reloj Tipo de dato: clock 

El nombre del reloj que se desea leer.

Ejecución del programa

Un reloj podrá ser leí do cuando está parado o cuando está funcionando.

Una vez que se ha leí do el reloj, se podrá volver a leer, volver a arrancar, parar o ponera cero.

Si el reloj se desborda, la ejecución del programa se detiene y aparece un mensaje deerror.

Sintaxis

ClkRead ’(’[ Reloj ’:=’ ] < variable (VAR) of  clock  > ’)’ 

Una función con un valor de retorno del tipo num.

Page 533: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 533/671

ClkRead  Funciones

3-ClkRead-530 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrito en:

Instrucciones de reloj Resumen RAPID - Sistema y HoraSaturación del reloj Tipos de dato - clock 

Más ejemplos Instrucciones - ClkStart 

Page 534: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 534/671

Funciones   Cos

Tipos de Datos del Sistema y Rutinas 3-Cos-531

Cos Cálculo del valor del coseno

Cos (Cosine) sirve para calcular el valor del coseno a partir del valor de un ángulo.

Ejemplo

VAR num ángulo;VAR num valor;..valor := Cos(ángulo);

Valor de retorno Tipo de dato: num

El valor del coseno, comprendido entre [-1, 1] .

Argumentos

Cos (Angulo)

Angulo Tipo de dato: num

El valor del ángulo, expresado en grados.

Sintaxis

Cos’(’[Angulo ’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 535: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 535/671

Page 536: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 536/671

Funciones   CPos

Tipos de Datos del Sistema y Rutinas 3-CPos-533

CPos Lectura de los datos de posición actuales (pos)

CPos (Current Position) sirve para leer la posición actual del robot.

Esta función devuelve los valores x, y, z del TCP del robot como datos del tipo pos. Sise desea leer la posición completa del robot (robtarget ) se deberá, en vez de ello, uti-lizar la función CRobT.

Ejemplo

VAR pos pos1;

pos1 := CPos(\Tool:=tool1 \WObj:=wobj0);

La posición actual del TCP del robot será almacenada en la variable pos1. La her-ramienta tool1 y el objeto de trabajo wobj0 sirven para calcular la posición.

Valor de retorno Tipo de dato: pos

La posición actual ( pos) del robot con x, y, z en el sistema de coordenadas más externo,teniendo en cuenta el sistema de coordenadas ProgDisp activo, la herramienta y elobjeto de trabajo especificados.

Argumentos

CPos ([\Tool] [\WObj])

[\Tool] Tipo de dato: tooldata

La herramienta utilizada para el cálculo de la posición actual del robot.

En el caso en que se omita este argumento, el sistema utilizará la herramientaactiva actual.

[\WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) al que se refiere la posición actualdel robot retornada por la función.

En el caso en que se omita este argumento, el sistema utilizará el objeto de tra-bajo actual activado.

En una buena programación se deberá especificar siempre el argumento \Tool y \WObj. Entonces, la función siempre retorna la posición deseada, incluso si se ha acti-

vado manualmente alguna otra herramienta u objeto de trabajo.

Page 537: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 537/671

Funciones

3--534 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

Las coordenadas devueltas indican la posición del TCP en el sistema de coordenadasProgDisp.

Ejemplo

VAR pos pos2;VAR pos pos3;VAR pos pos4;

pos2 := CPos(\Tool:=grip3 \WObj:=fixture);..pos3 := CPos(\Tool:=grip3 \WObj:=fixture);pos4 := pos3-pos2;

La posición x, y, z del robot está tomada en dos lugares en el programa utilizandola función CPos. La herramienta grip3 y el objeto de trabajo fixture sirven paracalcular la posición. Las distancias x, y, z recorridas entre estas posiciones seránentonces calculadas y almacenadas en la variable pos  p4.

Sintaxis

CPos ’(’’)’[’ \ ’Tool ’:=’ <persistente (PERS) de tooldata>]

[’ \ ’WObj ’:=’ <persistente (PERS) de wobjdata>] ’)’

Una función con un valor de retorno del tipo de dato pos.

Información relacionada

Descrita en:

Definición de la posición Tipos de datos - pos

Definición de las herramientas Tipos de datos - tooldata

Definición de los objetos de trabajo Tipos de datos - wobjdata

Sistemas de coordenadas Principios de Movimiento y de E/S -Sistemas de Coordenadas

Lectura de robtarget utilizado Funciones - CRobT 

Page 538: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 538/671

Funciones   CRobT 

Tipos de Datos del Sistema y Rutinas 3-CRobT-535

CRobT Lectura de los datos de la posiciónactuales (robtarget)

CRobT (Current Robot Target) sirve para leer la posición actual del robot y de los ejesexternos.

Esta función devuelve un valor robtarget con la posición (x, y, z), la orientación (q1 ...q4), la configuración de los ejes del robot y la posición de los ejes externos. En el casoen que sólo se deba leer los valores x, y, z del TCP del robot ( pos), se deberá en vez deello, utilizar la función CPos.

Ejemplo

VAR robtarget p1;

p1 := CRobT(\Tool:=tool1 \WObj:=wobj0);

La posición actual del robot y de los ejes externos será almacenada en p1. La her-ramienta tool1 y el objeto de trabajo wobj0 sirven para calcular la posición.

Valor de retorno Tipo de dato: robtarget 

La posición actual del robot y de los ejes externos en el sistema de coordenadas másexterno, teniendo en cuenta el sistema de coordenadas ProgDisp/ExtOffs, la her-ramienta y el objeto de trabajo especificados.

Argumentos

CRobT ([\Tool] [\WObj])

[\Tool] Tipo de dato: tooldata

La herramienta utilizada para el cálculo de la posición actual del robot.

En el caso en que se omita este argumento, se utilizará la herramienta actual acti-vada.

[\WObj] (Objeto de Trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) al que se refiere la posición actualdel robot retornada por la función.

En el caso en que se omita este argumento, se utilizará el objeto de trabajo actualactivado.

En una buena programación se deberá siempre especificar el argumento \Tool y

Page 539: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 539/671

CRobT  Funciones

3-CRobT-536 Tipos de Datos del Sistema y Rutinas

 \WObj. Entonces, la función siempre retornará la posición deseada, incluso si se haactivado manualmente alguna otra herramienta u objeto de trabajo.

Ejecución del programa

Las coordenadas devueltas indican la posición del TCP en el sistema de coordenadasProgDisp. Los ejes externos están representados en el sistema de coordenadas ExtOffs.

Ejemplo

VAR robtarget p2;

p2 := ORobT( RobT(\Tool:=grip3 \WObj:=fixture) );

La posición actual en el sistema de coordenadas del objeto (sin ningún ProgDispni ExtOffs) del robot y de los ejes externos será almacenada en p2. La her-ramienta grip3 y el objeto de trabajo fixture sirven para calcular la posición.

Sintaxis

CRobT ’(’[’ \ ’Tool ’:=’ <persistente (PERS) de tooldata>]

[’ \ ’WObj ’:=’ <persistente (PERS) de wobjdata>] ’)’

Una función con un valor de retorno del tipo de dato robtarget .

Información relacionada

Descrita en:

Definición de la posición Tipos de datos - robtarget 

Definición de las herramientas Tipos de datos - tooldataDefinición de los objetos de trabajo Tipos de datos - wobjdata

Sistemas de coordenadas Principios de Movimiento y de E/S -Sistemas de Coordenadas

Sistema de coordenadas ExtOffs Instrucciones - EOffsOn

Lectura de la pos actual (sólo x, y, z) Funciones - CPos

Page 540: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 540/671

Funciones   CTime

Tipos de Datos del Sistema y Rutinas 3-CTime-537

CTime Lectura de la hora actualcomo una cadena

CTime sirve para leer la hora actual del sistema. 

Esta función sirve para hacer aparecer la hora actual en el visualizador de la unidad deprogramación o para introducir la hora actual en un archivo de texto.

Ejemplo

VAR string tiempo;

tiempo := CTime();

La hora actual será almacenada en la variable tiempo.

Valor de Retorno Tipo de dato: string

La hora actual en una cadena.

El formato estándar de la hora es "horas:minutos:segundos", por ejemplo: "18:20:46".

Ejemplo

tiempo := CTime();TPWrite “La hora actual es: “+tiempo;Write archivo_event, tiempo;

La hora actual será visualizada en la pantalla de la unidad de programación yquedará almacenada en un archivo de texto.

Sintaxis

CTime ’(’ ’)’ 

Una función con un valor de retorno del tipo string.

Page 541: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 541/671

CTime Funciones

3-CTime-538 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrito en:

Instrucciones de fecha y hora Resumen RAPID - Sistema y HoraActivación del reloj del sistema Parámetros del Sistema

Page 542: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 542/671

Funciones   CTool 

Tipos de Datos del Sistema y Rutinas 3-CTool-539

CTool Lectura de los datos de la herramienta utilizada

CTool (Current Tool) sirve para leer los datos de la herramienta utilizada.

Ejemplo

PERS tooldata temp_tool:= [ TRUE, [ [0, 0, 0], [1, 0, 0 ,0] ],[0.001, [0, 0, 0.001], [1, 0, 0, 0], 0, 0, 0] ];

temp_tool := CTool();

El valor de la herramienta utilizada es almacenado en la variable temp_tool.

Valor de retorno Tipo de dato: tooldata

Esta función retorna un valor tooldata manteniendo el valor de la herramienta uti-lizada, es decir, de la herramienta que se utilizó por última vez en una instrucción demovimiento.

El valor retornado representa la posición y la orientación del TCP en el sistema decoordenadas central de la muñeca, véase tooldata.

Sintaxis

CTool’(’’)’

Una función con un valor de retorno del tipo de dato tooldata.

Información relacionada

Descrita en:

Definición de las herramientas Tipos de datos - tooldata

Sistemas de coordenadas Principios de Movimiento y de E/S -Sistemas de Coordenadas

Page 543: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 543/671

CTool  Funciones

3-CTool-540 Tipos de Datos del Sistema y Rutinas

Page 544: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 544/671

Funciones   CWObj

Tipos de Datos del Sistema y Rutinas 3-CWObj-541

CWObj Lectura de los datos del objeto de trabajo actuales

CWObj (Current Work Object) sirve para leer los datos del objeto de trabajo actual.

Ejemplo

PERS wobjdata temp_wobj;

temp_wobj := CWObj();

El valor del objeto de trabajo utilizado es almacenado en la variable temp_wobj.

Valor de retorno Tipo de dato: wobjdata

Esta función retorna un valor wobjdata manteniendo el valor del objeto de trabajoactual, es decir el objeto de trabajo utilizado en último lugar en una instrucción de mov-imiento.

El valor devuelto representa la posición del objeto de trabajo y la orientación en elsistema de coordenadas mundo, véase wobjdata.

Sintaxis

CWObj’(’’)’

Una función con un valor de retorno del tipo de dato wobjdata.

Información relacionada

Descrita en:

Definición de los objetos de trabajo Tipos de datos - wobjdata

Sistemas de coordenadas Principios de movimiento y de E/S -Sistemas de Coordenadas

Page 545: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 545/671

CWObj Funciones

3-CWObj-542 Tipos de Datos del Sistema y Rutinas

Page 546: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 546/671

Funciones   DefDFrame

Tipos de Datos del Sistema y Rutinas 3-DefDFrame-543

DefDFrame Definición de una basede desplazamiento

 DefDFrame (Define Displacement Frame) sirve para calcular una base dedesplazamiento a partir de tres posiciones de origen y de tres posiciones desplazadas.

Ejemplo

Se han almacenado tres posiciones, p1 a p3, relativos a un objeto en una posición deorigen. Después de haber realizado el desplazamiento del objeto, las mismas posi-ciones son buscadas y almacenadas como p4 a p6 . A partir de estas seis posiciones, secalculará la base de desplazamiento. A continuación, la base calculada servirá paradesplazar todas las posiciones almacenadas en el programa.

CONST robtarget p1 := [...];CONST robtarget p2 := [...];CONST robtarget p3 := [...];VAR robtarget p4;VAR robtarget p5;VAR robtarget p6;VAR pose frame1;.!Buscar las posiciones nuevasSearchL sen1, p4, *, v50, herram1;

.SearchL sen1, p5, *, v50, herram1;.SearchL sen1, p6, *, v50, herram1;frame1 := DefDframe (p1, p2, p3, p4, p5, p6);.!activación del desplazamiento definido por base1PDispSet base1;

p1

p3

p2

p4

p6

p5

Page 547: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 547/671

 DefDFrame Funciones

3-DefDFrame-544 Tipos de Datos del Sistema y Rutinas

Valor de retorno Tipo de dato: pose

La base de desplazamiento.

Argumentos

DefDFrame (AntiguoP1 AntiguoP2 AntiguoP3 NuevoP1NuevoP2 NuevoP3)

AntiguoP1 Tipo de dato: robtarget 

La primera posición de origen.

AntiguoP2 Tipo de dato: robtarget 

La segunda posición de origen.

AntiguoP3 Tipo de dato: robtarget 

La tercera posición de origen.

NuevoP1 Tipo de dato: robtarget 

La primera posición desplazada. Esta posición deberá ser medida y determinadacon gran precisión.

NuevoP2 Tipo de dato: robtarget 

La segunda posición desplazada. Deberá observarse que esta posición podrá sermedida y determinada con menor precisión en una dirección, por ejemplo, estaposición deberá colocarse en una lí nea que describe una nueva dirección de p1 a

 p2.

NuevoP3 Tipo de dato: robtarget 

La tercera posición desplazada. Esta posición podrá ser medida y determinadacon menor precisión en dos direcciones, por ejemplo, deberá ser colocada en unplano que describe el plano nuevo para p1, p2 y p3.

Gestión de errores

En el caso en que el sistema sea incapaz de calcular la base de referencia debidoa una mala precisión de las posiciones, la variable del sistema ERRNO se activará en ERR_FRAME. Este error podrá ser entonces procesado en el gestor deerrores.

Page 548: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 548/671

Funciones   DefDFrame

Tipos de Datos del Sistema y Rutinas 3-DefDFrame-545

Sintaxis

DefDFrame’(’[AntiguoP1 ’:=’] <expresión (IN) de robtarget > ’,’[AntiguoP2 ’:=’] <expresión (IN) de robtarget > ’,’[AntiguoP3 ’:=’] <expresión (IN) de robtarget > ’,’[NuevoP1 ’:=’] <expresión (IN) de robtarget > ’,’[NuevoP2 ’:=’] <expresión (IN) de robtarget > ’,’[NuevoP3 ’:=’] <expresión (IN) de robtarget > ’)’

Una función con un valor de retorno del tipo de dato pose.

Información relacionada

Descrita en:

Activación de la base de desplazamiento Instrucciones - PDispSet 

Definición manual de la base de Guí a del Usuario - Calibracióndesplazamiento

Page 549: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 549/671

 DefDFrame Funciones

3-DefDFrame-546 Tipos de Datos del Sistema y Rutinas

Page 550: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 550/671

Funciones   DefFrame

Tipos de Datos del Sistema y Rutinas 3-DefFrame-547

DefFrame Definición de una base de referencia

 DefFrame (Define Frame) sirve para calcular una base de referencia, a partir de tres

posiciones que definen la base de referencia.

Ejemplo

Las tres posiciones, p1 a p3, relativas al sistema de coordenadas del objeto, son utiliza-das para definir el sistema de coordenadas nuevo, base1. La primera posición, p1,define el origen de base1, la segunda posición, p2, define la dirección del eje-x y la

tercera posición, p3, define la situación del plano xy-. La base de referencia base1 definida puede ser utilizada como base de desplazamiento, según se indica en el ejem-plo siguiente:

CONST robtarget p1 := [...];CONST robtarget p2 := [...];CONST robtarget p3 := [...];VAR pose base1;..base1:= DefFrame (p1, p2, p3);

..!activación del desplazamiento definido por base1PDispSet base1;

Valor de retorno Tipo de dato: pose

La base de referencia calculada.

El cálculo se refiere al sistema de coordenadas del objeto activado.

p1

p3

p2

x

z

y

base objeto

x

y

z

base1

Page 551: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 551/671

 DefFrame Funciones

3-DefFrame-548 Tipos de Datos del Sistema y Rutinas

Argumentos

DefFrame (NuevoP1 NuevoP2 NuevoP3 [ \ Origen])

NuevoP1 Tipo de dato: robtarget 

La primera posición, que definirá el origen de la nueva base de referencia.

NuevoP2 Tipo de dato: robtarget 

La segunda posición, que definirá la dirección del eje-x de la nueva base de ref-erencia.

NuevoP3 Tipo de dato: robtarget 

La tercera posición, que definirá el plano xy- de la nueva base de referencia. Laposición del punto 3 se encontrará en el lado positivo y, según se indica en la fig-ura de la página anterior.

[ \ Origen] Tipo de dato: num

Es el argumento opcional, que definirá como se colocará el origen de la base dereferencia. Origen = 1, significa que el origen está colocado en NuevoP1, esdecir, el mismo que cuando este argumento es omitido. Origen = 2, significa queel origen está colocado en NuevoP2, según se indica en la siguiente figura.

Origen = 3, significa que el origen está colocado en la lí nea que pasa porNuevoP1 y NuevoP2, y por consiguiente NuevoP3 estará colocado en el eje y-,según se indica en la siguiente figura.

NuevoP1

NuevoP3

NuevoP2

x

z

y

base objeto

x

yz

base1

Page 552: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 552/671

Funciones   DefFrame

Tipos de Datos del Sistema y Rutinas 3-DefFrame-549

Otros valores, o si se ha omitido el Origen, pondrán el punto de origen enNuevoP1.

Limitaciones

Las tres posiciones p1 - p3, que definen la base de referencia deberán definir un trián-gulo bien definido. El triángulo mejor definido es el triángulo equilátero.

Se considera que el triángulo no está bien formado si el ángulo θ es demasiadopequeño. El ángulo θ será demasiado pequeño si:

El triángulo p1, p2, p3 no deberá ser demasiado pequeño, es decir, que las posicionesno deben estar demasiado cerca eentre ellas. Las distancias entre las posiciones p1 - p2 y p1 - p3 no deberán ser inferiores a 0,1 mm.

Gestión de errores

En el caso en que la base de referencia no pueda ser calculada debido a las limitacionesanteriores, la variable del sistema ERRNO se activará en ERR_FRAME. Este errorpodrá ser entonces procesado en el gestor de errores.

NuevoP1

NuevoP3

NuevoP2

x

z

y

base objeto

x

y

z

base1

p2

p3

p1θ

Θcos 1 104–

–<

Page 553: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 553/671

 DefFrame Funciones

3-DefFrame-550 Tipos de Datos del Sistema y Rutinas

Sintaxis

DefFrame’(’[NuevoP1 ’:=’] <expresión (IN) de robtarget > ’,’[NuevoP2 ’:=’] <expresión (IN) de robtarget > ’,’[NuevoP3 ’:=’] <expresión (IN) de robtarget > ’)’[’ \ ’Origin ’:=’ <expresión (IN) de num> ]’)’

Una función con un valor de retorno del tipo de dato pose.

Información relacionada

Descrita en:Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Activación de la base de desplazamiento Instrucciones - PDispSet 

Page 554: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 554/671

Funciones   Dim

Tipos de Datos del Sistema y Rutinas 3-Dim-551

Dim Obtención del tamaño de una matriz

 Dim (Dimension) sirve para obtener el número de elementos de una matriz.

Ejemplo

PROC mulmat(VAR num array{*}, num factor)

FOR index FROM 1 TO Dim(array, 1) DOarray{index} := array{index} * factor;

ENDFOR

ENDPROC

Todos los elementos de una matriz num son multiplicados por un factor.Este procedimiento puede tomar cualquier matriz unidimensional del tipo dedato num como entrada.

Valor de Retorno Tipo de dato: num

El número de elementos de matriz de la dimensión especificada.

Argumentos

Dim (ParMat NumDim)

Parmat (Par ámetro matriz) Tipo de dato: Cualquiertipo

El nombre de la matriz.

NumDim (N úmero Dimensión) Tipo de dato: num

La dimensión de matriz deseada: 1 = unidimensional2 = bidimensional3 = tridimensional

Page 555: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 555/671

 Dim Funciones

3-Dim-552 Tipos de Datos del Sistema y Rutinas

Ejemplo

PROC sum_mat(VAR num array1{*,*,*}, num array2{*,*,*})

IF Dim(array1,1) <> Dim(array2,1) OR Dim(array1,2) <> Dim(array2,2) ORDim(array1,3) <> Dim(array2,3) THENTPWrite "El tamaño de las matrices no es el mismo";Stop;

ELSEFOR i1 FROM 1 TO Dim(array1, 1) DO

FOR i2 FROM 1 TO Dim(array1, 2) DOFOR i3 FROM 1 TO Dim(array1, 3) DO

array1{i1,i2,i3} := array1{i1,i2,i3} + array2{i1,i2,i3};ENDFOR

ENDFOR

ENDFORENDIFRETURN;

ENDPROC

Dos matrices han sido añadidas. Si el tamaño de las matrices difiere, el programase detendrá y aparecerá un mensaje de error.

Este procedimiento podrá utilizar cualquier matriz tridimensional del tipo de datonum como una entrada.

Sintaxis

Dim ’(’[ParMat’:=’] <referencia (REF) de cualquier tipo> ’,’[NumDim’:=’] <expresión (IN) de num> ’)’

Un parámetro REF requiere que el argumento correspondiente sea una constante, unavariable o un dato entero persistente. El argumento podrí a ser también un parámetro IN,un parámetro VAR o un parámetro entero PERS.

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Parámetros de matriz Caracterí sticas Básicas - Rutinas

Declaración de matriz Caracterí sticas Básicas - Datos

Page 556: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 556/671

Funciones   Distance

Tipos de Datos del Sistema y Rutinas 3-Distance-553

Distance Distancia entre dos puntos

 Distance sirve para calcular la distancia entre dos puntos en el espacio.

Ejemplo

VAR num dist;CONST pos p1 := [4,0,4];CONST pos p2 := [-4,4,4];...dist := Distance(p1, p2);

La distancia en el espacio entre los puntos p1 y p2 es calculado y almacenado enla variable dist .

Valor de retorno Tipo de dato: num

La distancia (siempre positiva) entre los puntos.

Argumentos

Distance (Punto1 Punto2)

Point1 Tipo de dato: pos

El primer punto descrito por el tipo de dato pos.

Point2 Tipo de dato: pos

El segundo punto descrito por el tipo de dato pos.

z

y

x

p1

p2

Page 557: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 557/671

 Distance Funciones

3-Distance-554 Tipos de Datos del Sistema y Rutinas

Ejecución del programa

Cálculo de la distancia entre los dos puntos según lo siguiente:

Sintaxis

Distancia’(’[Punto1 ’:=’] <expresión (IN) de pos> ’,’[Punto2 ’:=’] <expresión (IN) de pos>

’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrita en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Definición de pos Tipos de Datos - pos

z

y

x

x1,y1,z1

x2, y2, z2

 x1

 x2

–( )2

 y1

 y2

–( )2

 z1

 z2

–( )2

+ +    distancia =

Page 558: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 558/671

Funciones   DotProd 

Tipos de Datos del Sistema y Rutinas 3-DotProd-555

DotProd Producto escalar de dos vectores de pos

 DotProd (Dot Product) sirve para calcular el producto escalar de dos vectores de posi-

ción. El uso más corriente consiste en calcular la proyección de un vector sobre otro ocalcular el ángulo entre los dos vectores.

Ejemplo

El producto escalar de dos vectores A y B es escalar, es decir que es igual a los produc-tos de las magnitudes de A y B y el coseno del ángulo formado entre ellos.

El producto escalar:

• es menor o igual que el producto de sus magnitudes.

• puede ser un valor positivo o negativo, dependiendo de si el ángulo entre ellos esmenor o mayor que 90 grados.

• es igual al producto de la magnitud de un vector y la proyección del otro vector sobreel primero.

• es igual a cero cuando los vectores son perpendiculares entre ellos.

Los vectores son descritos mediante el tipo de dato pos y el producto escalar, por eltipo de dato num:

VAR num dotprod;VAR pos vector1;VAR pos vector2;..vector1 := [1,1,1];vector2 := [1,2,3];dotprod := DotProd(vector1, vector2);

A

B

θ AB

 B   θcos  AB  A

 A B⋅  A B   θ ABcos=

Page 559: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 559/671

 DotProd  Funciones

3-DotProd-556 Tipos de Datos del Sistema y Rutinas

Valor de retorno Tipo de dato: num

El valor del producto escalar de los dos vectores.

Argumentos

DotProd (Vector1 Vector2)

Vector1 Tipo de dato: pos

El primer vector descrito por el tipo de dato pos.

Vector2 Tipo de dato: pos

El segundo vector descrito por el tipo de dato pos.

Sintaxis

DotProd’(’[Vector1 ’:=’] <expresión (IN) de pos> ’,’[Vector2 ’:=’] <expresión (IN) de pos>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrita en:

Funciones e instrucciones matemáticas Resumen RAPID - Matemáticas

Page 560: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 560/671

Funciones   DOutput

Tipos de Datos del Sistema y Rutinas 3-DOutput-557

DOutput Lectura del valor de una señalde salida digital

 DOutput sirve para leer el valor actual de una señal de salida digital.

Ejemplo

IF DOutput(do2) = 1 THEN . . .

Si el valor actual de la señal do2 es igual a 1, entonces. . .

Valor de Retorno Tipo de dato: dionum

El valor actual de la señal (0 o 1).

Argumentos

DOutput (Señal)

Señal Tipo de dato: signaldo

El nombre de la señal que se desea leer.

Ejecución del programa

El valor leí do depende de la configuración de la señal. Si la señal ha sido invertida enlos parámetros del sistema, el valor retornado por esta función será el opuesto del valorverdadero del canal f í sico.

Ejemplo

IF DOutput(modo_auto) <> activa THEN . . .

Si el valor actual de la señal modo_auto es no activa, entonces ..., Observar quela señal deberá primero haber sido definida como una salida del sistema en losparámetros del sistema.

Page 561: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 561/671

 DOutput Funciones

3-DOutput-558 Tipos de Datos del Sistema y Rutinas

Sintaxis

DOutput ’(’[ Señal ’:=’ ] < variable (VAR) of signaldo > ’)’

Una función con un valor de retorno del tipo de dato dionum.

Información relacionada

Descrito en:

Instrucciones de Entrada/Salida Resumen RAPID -Señales de Entrada y Salida

Funciones de Entrada/Salida Principios de Movimiento y de E/S -en general Principios de E/S

Configuración de las E/S Parámetros del Sistema

Page 562: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 562/671

Funciones   EulerZYX 

Tipos de Datos del Sistema y Rutinas 3-EulerZYX-559

EulerZYX Obtención de ángulos Euler apartir de una variable de orientación

 EulerZYX (rotaciones Euler ZYX) sirve para obtener una componente de ángulo Eulera partir de una variable del tipo orientación.

Ejemplo

VAR num angulox;VAR num anguloy;VAR num anguloz;VAR pose object;.

.angulox := GetEuler(\X, object.rot);anguloy := GetEuler(\Y, object.rot);anguloz := GetEuler(\Z, object.rot);

Valor de retorno Tipo de dato: num

El ángulo Euler correspondiente, expresado en grados y comprendido entre [-180,180].

Argumentos

EulerZYX ([\X] | [\Y] | [\Z] Rotación)

Los argumentos \X, \Y y \Z son mutuamente exclusivos. En el caso en que ninguno deellos haya sido especificado, se generará un error de funcionamiento.

[\X] Tipo de dato: switch

Obtiene la rotación en torno al eje X.

[ \Y] Tipo de dato: switch

Obtiene la rotación en torno al ejeY.

[ \Z] Tipo de dato: switch

Obtiene la rotación en torno al eje Z.

Rotación Tipo de dato: orient 

La rotación en su representación de quaterniones.

Page 563: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 563/671

 EulerZYX  Funciones

3-EulerZYX-560 Tipos de Datos del Sistema y Rutinas

Sintaxis

EulerZYX’(’['\'X ’,’] | ['\'Y ’,’] | ['\'Z ’,’]Rotación ’:=’] <expresión (IN) de orient >’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 564: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 564/671

Funciones   Exp

Tipos de Datos del Sistema y Rutinas 3-Exp-561

Exp Cálculo del valor exponencial

 Exp (Exponential) sirve para calcular el valor exponencial, ex.

Ejemplo

VAR num x;VAR num valor;..valor:= Exp( x);

Valor de retorno Tipo de dato: num

El valor exponencial ex .

Argumentos

Exp (Exponente)

Exponente Tipo de dato: num

El valor del argumento exponente.

Sintaxis

Exp’(’[Exponente ’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 565: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 565/671

 Exp Funciones

3-Exp-562 Tipos de Datos del Sistema y Rutinas

Page 566: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 566/671

Funciones   FileTime

Tipos de Datos del Sistema y Rutinas 3-FileTime-563

FileTime Recuperación de información horariareferente a un archivo

FileTime sirve para recuperar información sobre la hora en que se ha realizado laúltima modificación, acceso o cambio de estado de un archivo. El tiempo es medido ensegundos a partir de la hora de Greenwich 00:00:00 GMT, del 1 de enero de 1970. Eltiempo es retornado como un tipo de dato numérico.

Ejemplo

Load "ram1disk:notmymod.mod";WHILE TRUE DO

! Call some routine in notmymodnotmymodrout;IF FileTime("ram1disk:notmymod.mod" \ModifyTime)

> ModTime("notmymod") THEN  UnLoad "ram1disk:notmymod.mod";  Load "ram1disk:notmymod.mod";ENDIF

ENDWHILE

Este programa vuelve a cargar un módulo si hay uno más reciente al origen. Uti-liza la función ModTime para recuperar información sobre la hora en que se rea-

lizó por última vez la carga del módulo especificado y para compararlo conFileTime\ModifyTime  al origen. Entonces, si el origen es más reciente, el pro-grama descargará y volverá a cargar el módulo de nuevo.

Valor de retorno Tipo de dato: num

El tiempo medido en segundos a partir de la hora de Greenwich 00:00:00 GMT, del 1de enero de 1970.

Argumentos

FileTime ( Path [\ModifyTime] | [\AccessTime] | [\StatCTime] )

Path Tipo de dato: string

El archivo especificado con una trayectoria relativa o total.

ModifyTime Tipo de dato: switch

La información sobre la hora en que se ha realizado la última modificación.

Page 567: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 567/671

 FileTime Funciones

3-FileTime-564 Tipos de Datos del Sistema y Rutinas

AccessTime Tipo de dato: switch

La información sobre la hora en que se ha realizado el último acceso (lectura, eje-cución o modificación).

StatCTime Tipo de dato: switch

La información sobre la hora en que se ha realizado el último cambio de estadodel archivo (calificación de acceso).

Ejecución del programa

Esta función retorna un valor numérico que especifica la hora en que se realizó la(el)última(o):

- Modificación

- Acceso

- Cambio de estado del archivo

del archivo especificado.

Ejemplo

A continuación se muestra un ejemplo completo que proporciona un servicio deinformación de alerta para un máximo de 10 archivos.

LOCAL RECORD falertstring filename;num ftime;

ENDRECORD

LOCAL VAR falert myfiles[10];LOCAL VAR num currentpos:=0;LOCAL VAR intnum timeint;

LOCAL TRAP mytrapVAR num pos:=1;WHILE pos <= currentpos DO

IF FileTime(myfiles{pos}.filename \ModifyTime) > myfiles{pos}.ftime THEN  TPWrite "The file "+myfiles{pos}.filename+" is changed";ENDIF

  pos := pos+1;ENDWHILE

ENDTRAP

PROC alertInit(num freq)currentpos:=0;CONNECT timeint WITH mytrap;ITimer freq,timeint;

Page 568: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 568/671

Funciones   FileTime

Tipos de Datos del Sistema y Rutinas 3-FileTime-565

ENDPROC

PROC alertFree()IDelete timeint;

ENDPROC

PROC alertNew(string filename)currentpos := currentpos+1;IF currentpos <= 10 THEN

myfiles{currentpos}.filename := filename;myfiles{currentpos}.ftime := FileTime (filename \ModifyTime);

ENDIFENDPROC

Gestión de errores

Si el archivo no existe, la variable del sistema ERRNO se activará en ERR_FILEACC.Este error podrá ser tratado en el gestor de errores.

Sintaxis

FileTime ’(’[ Path ’:=’ ] < expresión (IN) de string>

[ '\'ModifyTime] |[ '\'AccessTime] |[ '\'StatCTime] ’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrita en:

Ultima vez en que se cargó un módulo Funciones - ModTime

Page 569: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 569/671

 FileTime Funciones

3-FileTime-566 Tipos de Datos del Sistema y Rutinas

Page 570: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 570/671

Funciones   GetTime

Tipos de Datos del Sistema y Rutinas 3-GetTime-567

GetTime Lectura de la hora actualcomo un valor numérico

GetTime sirve para leer un componente especí fico de la hora actual del sistema comoun valor numérico.

GetTime podrá utilizarse para:

- hacer que el programa realice una operación a una hora especí fica,

- realizar ciertas actividades en un dí a de trabajo,

- impedir la realización de ciertas actividades durante el fin de semana,

- responder a errores de forma diferente según la hora del dí a.

Ejemplo

hora := GetTime( \ Hour);

La hora actual está almacenada en la variable hora.

Valor de Retorno Tipo de dato: num

Uno de los cuatro componentes de hora especificados a continuación.

Argumentos

GetTime ( [ \WDay] | [ \Hour] | [ \Min] | [ \Sec] )

[\WDay] Tipo de dato: switch

Retorna el dí a de la semana actual.Gama: de 1 a 7 (de lunes a domingo).

[\Hour] Tipo de dato: switch

Retorna la hora actual.Gama: de 0 a 23.

[\Min] Tipo de dato: switch

Retorna el minuto actual.Gama: de 0 a 59.

Page 571: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 571/671

GetTime Funciones

3-GetTime-568 Tipos de Datos del Sistema y Rutinas

[\Sec] Tipo de dato: switch

Retorna el segundo actual.Gama: de 0 a 59.

Se deberá especificar uno de los argumentos, de lo contrario la ejecución del programase detendrá y el sistema producirá un mensaje de error.

Ejemplo

dia_sem:= GetTime( \ WDay);hora := GetTime( \ Hour);IF dia_sem< 6 AND hora >6 AND hora < 16 THEN

producción;ELSE

mantenimiento;ENDIF

Si es un dí a de trabajo y que la hora está comprendida entre 7:00 y 15:59 el robotllevará a cabo el proceso de producción. A cualquier otra hora, el robot per-manecerá en el modo de mantenimiento.

Sintaxis

GetTime ’(’[’ \ ’ WDay ]| [ ’ \ ’ Hour ]| [ ’ \ ’ Min ]| [ ’ \ ’ Sec ] ’)’ 

Una función con un valor de retorno del tipo num.

Información relacionada

Descrito en:

Instrucciones de fecha y hora Resumen RAPID - Sistema y Hora

Activación del reloj del sistema Parámetros del Sistema

Page 572: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 572/671

Funciones   GOutput

Tipos de Datos del Sistema y Rutinas 3-GOutput-569

GOutput Lectura del valor de un grupode señales de salida digital

GOutput sirve para leer el valor actual de un grupo de señales de salida digital.

Ejemplo

IF GOutput(go2) = 5 THEN ...

Si el valor actual de la señal go2 es igual a 5, entonces ...

Valor de Retorno Tipo de dato: num

El valor actual de la señal (un número entero positivo).

Los valores de cada señal del grupo son leí dos e interpretados como un número binariosin signo. Este número binario será luego convertido en un número entero.

El valor devuelto se encuentra dentro de unos lí mites que dependen del número deseñales del grupo.

Nº de señales Valor de retorno Nº de señales Valor de retorno

1 0 - 1 9 0 - 5112 0 - 3 10 0 - 1023

3 0 - 7 11 0 - 2047

4 0 - 15 12 0 - 4095

5 0 - 31 13 0 - 8191

6 0 - 63 14 0 - 16383

7 0 - 127 15 0 - 32767

8 0 - 255 16 0 - 65535

Argumentos

GOutput (Señal)

Señal Tipo de dato: signalgo

El nombre del grupo de señales que se desea leer.

Page 573: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 573/671

Page 574: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 574/671

Funciones   IsPers

Tipos de Datos del Sistema y Rutinas 3-IsPers-571

IsPers Es Persistente

 IsPers sirve para comprobar si un dato de objeto es una variable persistente o no.

Ejemplo

PROC procedure1 (INOUT num parameter1)IF IsVar(parameter1) THEN

! referencia de llamada a una variable...

ELSEIF IsPers(parameter1) THEN! referencia de llamada a una variable persistente...

ELSE! No debe ocurrirEXIT;

ENDIFENDPROC

El procedimiento procedure1 ejecutará diferentes acciones dependiendo de si elparámetro utilizado parameter1 es una variable o una variable persistente.

Valor de retorno Tipo de dato: bool

TRUE en el caso en que el parámetro INOUT utilizado que se ha comprobado es unavariable persistente.FALSE en el caso en que el parámetro INOUT utilizado que se ha comprobado no esuna variable persistente.

Argumentos

IsPers (DatObj)

DatObj ( Dato Objeto) Tipo de dato: cualquiera

Es el nombre del parámetro INOUT formal.

Sintaxis

IsPers’(’[ DatObj ’:=’ ] < var o pers (INOUT) de cualquier tipo > ’)’

Una función con un valor de retorno del tipo de dato bool.

Page 575: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 575/671

 IsPers Funciones

3-IsPers-572 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Comprobar si es una variable Función - IsVar Tipos de parámetros (modos de acceso) Caracterí sticas RAPID - Rutinas

Page 576: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 576/671

Funciones   IsVar

Tipos de Datos del Sistema y Rutinas 3-IsVar-573

IsVar Es Variable

 IsVar sirve para comprobar si un dato de objeto es una variable o no.

Ejemplo

PROC procedure1 (INOUT num parameter1)IF IsVAR(parameter1) THEN

! referencia de llamada a una variable...

ELSEIF IsPers(parameter1) THEN! referencia de llamada a una variable persistente...

ELSE! No debe ocurrirEXIT;

ENDIFENDPROC

El procedimiento procedure1 ejecutará diferentes acciones dependiendo de si elparámetro utilizado parameter1 es una variable o una variable persistente.

Valor de retorno Tipo de dato: bool

TRUE en el caso en que el parámetro INOUT utilizado que se ha comprobado es unavariable.FALSE en el caso en que el parámetro INOUT utilizado que se ha comprobado no esuna variable.

Argumentos

IsVar (DatObj)

DatObj ( Dato Objeto) Tipo de dato: cualquiera

Es el nombre del parámetro INOUT formal.

Sintaxis

IsVar’(’[ DatObj ’:=’ ] < var o pers (INOUT) de cualquier tipo > ’)’

Una función con un valor de retorno del tipo de dato bool.

Page 577: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 577/671

 IsVar Funciones

3-IsVar-574 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Comprobar si es persistente Función - IsPers

Tipos de parámetros (modos de acceso) Caracterí sticas RAPID - Rutinas

Page 578: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 578/671

Funciones   MirPos

Tipos de Datos del Sistema y Rutinas 3-MirPos-575

MirPos Creación de la imagen espejode una posición

 MirPos (Mirror Position) sirve para crear una imagen espejo de la rotación y trans-lación de una posición.

Ejemplo

CONST robtarget p1;VAR robtarget p2;PERS wobjdata mirror;..p2 := MirPos(p1, mirror);

 p1 es un dato robtarget que almacena una posición del robot y la orientación dela herramienta. Se creará una imagen espejo de esta posición en el plano xy- dela base definida por mirror , relativa al sistema de coordenadas mundo. Elresultado es un dato robtarget nuevo, que está almacenado en p2.

Valor de retorno Tipo de dato: robtarget 

La posición nueva que es la posición espejo creada de la posición de entrada.

Argumentos

MirPos (Punto PlanoEspej [ \ WObj]  [ \ MirY])

Punto Tipo de dato: robtarget 

Es la posición de entrada del robot. La parte de orientación de esta posicióndefine la orientación utilizada del sistema de coordenadas de la herramienta.

PlanoEspej (Plano Espejo) Tipo de dato: wobjdata

Son los datos del objeto de trabajo que definen el plano espejo. El plano espejoes el plano xy- de la base del objeto definida en PlanoEspej. La situación de labase del objeto será definida respecto a la base del usuario, también definida enPlanoEspej, que, a su vez, será definida respecto a la base de coordenadasmundo.

[ \ WObj] (Objeto de Trabajo) Tipo de dato: wobjdata

Son los datos del objeto de trabajo que definen la base del objeto, y la base del

usuario, respecto a las cuales está definida la posición de entrada, Point . Si seomite este argumento, la posición será definida respecto al sistema de coordena-das mundo.

Page 579: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 579/671

 MirPos Funciones

3-MirPos-576 Tipos de Datos del Sistema y Rutinas

Nota Si la posición ha sido creada con un objeto de trabajo activado, se deberá referir a este objeto de trabajo en el argumento.

[ \ MirY] (Espejo Y) Tipo de dato: switch

Si se omite esto, que es la regla por defecto, se creará una imagen espejo de labase de la herramienta con respecto a los ejes x- y z-. Si se especifica este argu-mento, se creará una imagen espejo de la base de la herramienta con respecto alos ejes y- y z-.

Limitaciones

No se volverá a realizar un cálculo de la parte de configuración del robot relativa al datode entrada robtarget.

Sintaxis

MirPos’(’[ Punto’:=’ ] < expresión (IN) de robtarget >’,’[PlanoEspej ’:=’] <expresión (IN) de wobjdata> ’,’[’ \ ’WObj ’:=’ <expresión (IN) de wobjdata> ][’ \ ’MirY ]’)’

Una función con un valor de retorno del tipo de dato robtarget .

Información relacionada

Descrita en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 580: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 580/671

Funciones   ModTime

Tipos de Datos del Sistema y Rutinas 3-ModTime-577

ModTime Obtención de información horariade la carga de un módulo

 ModTime ( Module Time) sirve para obtener la información sobre la hora en que se rea-lizó la carga de un módulo especificado. El módulo es especificado por su nombre ydeberá estar en la memoria de tareas. El tiempo es medido en segundos a partir de lahora de Greenwich 00:00:00 GMT, del 1 de enero de 1970. La hora es retornada comoun tipo de dato num.

Ejemplo

MODULE mymod

VAR num mytime;

PROC printMyTime()mytime := ModTime("mymod");TPWrite "My time is "+NumToStr(mytime,0);

ENDPROC

Valor de retorno Tipo de dato: num

El tiempo medido en segundos a partir de la hora Greenwich 00:00:00 GMT, del 1 deenero de 1970.

Argumentos

ModTime ( Object )

Object Tipo de dato: string

El nombre del módulo.

Ejecución del programa

Esta función retorna un valor numérico que especifica la hora en que el módulo ha sidocargado.

Page 581: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 581/671

 ModTime Funciones

3-ModTime-578 Tipos de Datos del Sistema y Rutinas

Ejemplo

Este es un ejemplo completo que proporciona un servicio de actualización si hayun elemento nuevo.

MODULE updmodPROC callrout()

Load "ram1disk:mymod.mod";WHILE TRUE DO

! Call some routine in mymodmymodrout;IF FileTime("ram1disk:mymod.mod" \ModifyTime)

> ModTime("mymod") THENUnLoad "ram1disk:mymod.mod";

  Load "ram1disk:mymod.mod";

ENDIFENDWHILEENDPROC

ENDMODULE

Este programa vuelve a cargar un módulo en el caso en que haya uno más recienteen el origen. Utiliza la función ModTime para recuperar la información sobre lahora en que se realizó por última vez la carga del módulo especificado, y lo com-para con FileTime\ModifyTime  del origen. Entonces, si el origen es más reciente,el programa descargará y volverá a cargar de nuevo el módulo.

Sintaxis

ModTime ’(’[ Object ’:=’ ] < expresión (IN) de string>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionadaDescrita en:

Recuperar información horaria referente Funciones - FileTimea un archivo

Page 582: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 582/671

Funciones   NOrient

Tipos de Datos del Sistema y Rutinas 3-NOrient-579

NOrient Normalización de la orientación

 NOrient (Normalise Orientation) sirve para normalizar una orientación que no está 

normalizada (cuaternion).

Descripción

Una orientación debe ser normalizada, es decir que la suma de los cuadrados debe serigual a 1:

Si la orientación está ligeramente no normalizada, podrá ser normalizada.

El error de normalización es el valor absoluto de la suma de los cuadrados de los com-ponentes de la orientación.

Se considera que la orientación está ligeramente no normalizada cuando el error denormalización es mayor que 0,00001 y menor que 0,1. Si el error de normalización esmayor que 0,1 la orientación será inutilizable.

normerr > 0,1 Inutilizable

normerr > 0,00001 AND err <= 0,1 Ligeramente no normalizadanormerr <= 0,00001 Normalizada

Ejemplo

Tenemos una posición ligeramente no normalizada ( 0.707170, 0, 0, 0.707170 )

VAR orient unnormorient := [0.707170, 0, 0, 0.707170];VAR orient normorient;..normorient := NOrient(unnormorient);

La normalización de la orientación ( 0.707170, 0, 0, 0.707170 ) se convierte en (0.707107, 0, 0, 0.707107 ).

q12 q2

2 q32 q4

2+ + + 1=

 ABS q1

2q2

2q3

2q4

2+ + + 1–( ) normerr =

 ABS  0,7071702

02

02

0,7071702

+ + + 1–( ) 0,0000894=

0,0000894 0,00001 nonormalizada⇒>

Page 583: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 583/671

 NOrient Funciones

3-NOrient-580 Tipos de Datos del Sistema y Rutinas

Valor de retorno Tipo de dato: orient 

La orientación normalizada.

Argumentos

NOrient (Rotation)

Orient Tipo de dato: orient 

La orientación que debe ser normalizada.

Sintaxis

NOrient’(’[Rotation ’:=’] <expresión (IN) de orient >’)’

Una función con un valor de retorno del tipo de dato orient .

Información relacionada

Descrita en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 584: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 584/671

Funciones   NumToStr

Tipos de Datos del Sistema y Rutinas 3-NumToStr-581

NumToStr Conversión de un valor numéricoen cadena

 NumToStr (Numeric To String) sirve para convertir un valor numérico en un cadena.

Ejemplo

VAR string str;

str := NumToStr(0.38521,3);

La variable str  toma el valor "0.385".

reg1 := 0.38521

str := NumToStr(reg1, 2\Exp);

La variable str  toma el valor "3.85E-01".

Valor de retorno Tipo de dato: string

El valor numérico convertido en una cadena con el número especificado de decimales,indicando también el exponente si se requiere. El valor numérico será redondeado si esnecesario. La coma del decimal será suprimida si no se incluye ningún decimal.

Argumentos

NumToStr (Val Dec [\Exp])

Val (Valor ) Tipo de dato: num

Es el valor numérico que se desea convertir.

Dec ( Decimales) Tipo de dato: num

Es el número de decimales. El número de decimales no deberá ser negativo nimayor que la precisión disponible para los valores numéricos.

[\Exp] ( Exponente) Tipo de dato: switch

En el caso en que se utilice un exponente.

Page 585: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 585/671

 NumToStr Funciones

3-NumToStr-582 Tipos de Datos del Sistema y Rutinas

Sintaxis

NumToStr’(’[ Val ’:=’ ] <expresión (IN) de num> ’,’[ Dec ’:=’ ] <expresión (IN) de num>[ \Exp ]’)’

Una función con un valor de retorno del tipo de dato string.

Información relacionada

Descrita en:

Funciones de las cadenas Resumen RAPID - Funciones decadena

Definición de una cadena Tipos de Datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 586: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 586/671

Funciones   Offs

Tipos de Datos del Sistema y Rutinas 3-Offs-583

Offs Desplazamiento de una posición del robot

Offs sirve para añadir un offset a una posición del robot.

Ejemplos

MoveL Offs(p2, 0, 0, 10), v1000, z50, herram1;

El robot se moverá a un punto que se encuentra a 10 mm de la posición p2 (en ladirección z-).

p1 := Offs (p1, 5, 10, 15);

La posición del robot p1 será desplazada de 5 mm en la dirección x-, de 10 mmen la dirección y- y de 15 mm en la dirección z-.

Valor de Retorno Tipo de dato: robtarget 

El dato de la posición desplazada.

Argumentos

Offs (Punto OffsetX OffsetY OffsetZ)

Punto Tipo de dato: robtarget 

El dato de la posición que se desea desplazar.

OffsetX Tipo de dato: num

El desplazamiento en la dirección x.

OffsetY Tipo de dato: num

El desplazamiento en la dirección y.

OffsetZ Tipo de dato: num

El desplazamiento en la dirección z.

Page 587: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 587/671

Offs Funciones

3-Offs-584 Tipos de Datos del Sistema y Rutinas

Ejemplo

PROC pallet (num fila, num columna, num distancia, PERS tooldata herram,PERS wobjdata wobj)

VAR robtarget pospallet:=[[0, 0, 0], [1, 0, 0, 0], [0, 0, 0, 0],[9E9, 9E9, 9E9, 9E9, 9E9, 9E9]];

pospalett := Offs (pospalett, (fila-1)*distancia, (columna-1)*distancia, 0);MoveL pospalett, v100, fine, herram\WObj:=wobj;

ENDPROC

Se ha concebido una rutina para coger objetos de un pallet. Cada pallet ha sidodefinido como un objeto de trabajo (véase la Figura 35). La pieza que debe sercogida (lí nea y columna) y la distancia entre los objetos deberán proporcionarsecomo parámetros de entrada.Para aumentar el í ndice de lí neas y columnas, se deberá salir de la rutina.

Figura 35 La posición y la orientación de un pallet ser án especificadas definiendo unobjeto de trabajo.

Sintaxis

Offs ’(’[Punto ’:=’] <expresión (IN) de robtarget > ’,’

[OffsetX ’:=’] <expresión (IN) de num> ’,’[OffsetY ’:=’] <expresión (IN) de num> ’,’[OffsetZ ’:=’] <expresión (IN) de num> ’)’

Una función con un valor de retorno del tipo de dato robtarget .

Información relacionada

Descrito en:

Dato de posición Tipos de dato - robtarget 

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

O

eje Y-

eje X-

Columnas

Filas

Page 588: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 588/671

Funciones   OpMode

Tipos de Datos del Sistema y Rutinas 3-OpMode-585

OpMode Lectura del modo de operación

OpMode (Operating Mode) sirve para leer el modo de operación utilizado del sistema.

Ejemplo

TEST OpMode()CASE OP_AUTO:

...CASE OP_MAN_PROG:

...CASE OP_MAN_TEST:

...

DEFAULT:...

ENDTEST

Se ejecutarán diferentes secciones del programa, dependiendo del modo de operaciónutilizado.

Valor de retorno Tipo de dato: symnum

El modo de operación utilizado aparece indicado de la siguiente forma según se

observa en la tabla, a continuación.

Sintaxis

OpMode’(’ ’)’

Una función con un valor de retorno del tipo de dato symnum.

Información relacionada

Descrita en:

Diferentes modos de operación Puesta en Marcha - Panel de control

Lectura del modo de funcionamiento Funciones - RunMode

Valor de retorno Constante simbólica Comentario

0 OP_UNDEF Modo de operación no definido

1 OP_AUTO Modo de operación automático

2 OP_MAN_PROG Modo de operación manual

max. 250 mm/s

3 OP_MAN_TEST Modo de operación manual

Velocidad total, 100 %

Page 589: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 589/671

OpMode Funciones

3-OpMode-586 Tipos de Datos del Sistema y Rutinas

Page 590: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 590/671

Funciones   OrientZYX 

Tipos de Datos del Sistema y Rutinas 3-OrientZYX-587

OrientZYX Cálculo de una variable deorientación a partir de ángulos Euler

OrientZYX (Orient from Euler ZYX angles) sirve para calcular una variable de tipo ori-entación a partir de ángulos Euler.

Ejemplo

VAR num angulox;VAR num anguloy;VAR num anguloz;VAR pose object;.object.rot := OrientZYX(anguloz, anguloy, angulox)

Valor de retorno Tipo de dato: orient 

La orientación obtenida a partir de los ángulos Euler.

Las rotaciones se realizarán siguiendo el orden siguiente:-rotación en torno al eje z,-rotación en torno al eje y nuevo

-rotación en torno al eje x nuevo.

Argumentos

OrientZYX (ZAngulo YAngulo XAngulo)

ZAngulo Tipo de dato: num

La rotación, en grados, en torno al eje Z.

YAngulo Tipo de dato: num

La rotación, en grados, en torno al eje Y.

XAngulo Tipo de dato: num

La rotación, en grados, en torno al eje X.

Las rotaciones se realizarán siguiendo el orden siguiente:-rotación en torno al eje z,-rotación en torno al eje y nuevo-rotación en torno al eje x nuevo.

Page 591: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 591/671

OrientZYX  Funciones

3-OrientZYX-588 Tipos de Datos del Sistema y Rutinas

Sintaxis

OrientZYX’(’[ZAngulo ’:=’] <expresión (IN) de num> ’,’[YAngulo ’:=’] <expresión (IN) de num> ’,’[XAngulo ’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato orient .

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 592: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 592/671

Funciones   ORobT 

Tipos de Datos del Sistema y Rutinas 3-ORobT-589

ORobT Eliminación de un desplazamientode programa de una posición

ORobT (Object Robot Target) sirve para transformar una posición robot del sistema decoordenadas del desplazamiento de programa al sistema de coordenadas del objeto y/ o eliminar un offset de los ejes externos.

Ejemplo

VAR robtarget p10;VAR robtarget p11;

p10 := CRobT();p11 := ORobT(p10);

Las posiciones actuales del robot y de los ejes externos están almacenadas en p10 y p11. Los valores almacenados en p10 se refieren al sistema de coordenadasProgDisp/ExtOffs. Los valores almacenados en p11 se refieren al sistema decoordenadas del objeto y no tienen ningún offset de los ejes externos.

Valor de retorno Tipo de dato: robtarget 

El dato de posición transformado.

Argumentos

ORobT (PuntOri [\InPDisp] | [\InEOffs])

PuntOri(Punto Original) Tipo de dato: robtarget 

El punto original que deberá ser transformado.

[\InPDisp] (En Desplazamiento de Programa)Tipo de dato: switch

Devuelve la posición del TCP en el sistema de coordenadas ProgDisp, es decir,que elimina únicamente el offset de los ejes externos.

[\InEOffs] (En Offset Externo) Tipo de dato: switch

Devuelve los ejes externos en el sistema de coordenadas offset, es decir, queelimina únicamente el desplazamiento de programa del robot.

Page 593: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 593/671

ORobT  Funciones

3-ORobT-590 Tipos de Datos del Sistema y Rutinas

Ejemplos

p10 := ORobT(p10 \InEOffs );

La función ORobT eliminará todos los desplazamiento de programa activos,dejando la posición del TCP referido al sistema de coordenadas del objeto. Losejes externos permanecerán en el sistema de coordenadas offset.

p10 := ORobT(p10 \InPDisp );

La función ORobT eliminará todos los offset de los ejes externos. La posición delTCP permanecerá en el sistema de coordenadas ProgDisp.

Sintaxis

ORobT ’(’[ PuntOri’:=’ ] < expresión (IN) de robtarget >[’ \ ’InPDisp] | [’ \ ’InEOffs]’)’

Una función con un valor de retorno del tipo de dato robtarget .

Información relacionada

Descrita en:

Definición del desplazamiento del programa Instrucciones - PDispOn, PDispSet del robot

Definición de los offset de los ejes externos Instrucciones - EOffsOn, EOffsSet 

Sistemas de Coordenadas Principios de Movimiento - Sistemasde Coordenadas

Page 594: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 594/671

Funciones   PoseInv

Tipos de Datos del Sistema y Rutinas 3-PoseInv-591

PoseInv Inversión de la posición

PoseInv (Pose Invert) calcula la transformación inversa de una posición.

Ejemplo

Pose1 representa las coordenadas de la Base1 respecto a la Base0.La transformación que da como resultado las coordenadas de la Base0 respecto a laBase1 se obtiene realizando la transformación inversa:

VAR pose pose1;

VAR pose pose2;..pose2 := PoseInv(pose1);

Valor de retorno Tipo de dato: pose

El valor de la posición inversa.

Argumentos

PoseInv (Pose)

Pose Tipo de dato: pose

La posición que se desea invertir.

x0

y0

z0

Base0   x1

y 1

z 1

Base1

Pose1

Pose2

Page 595: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 595/671

 PoseInv Funciones

3-PoseInv-592 Tipos de Datos del Sistema y Rutinas

Sintaxis

PoseInv’(’[Pose ’:=’] <expresión (IN) de pose>

’)’

Una función con un valor de retorno del tipo de dato pose.

Información relacionada

Descrita en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 596: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 596/671

Funciones   PoseMult

Tipos de Datos del Sistema y Rutinas 3-PoseMult-593

PoseMult Multiplicación de los datos de posición

PoseMult (Pose Multiply) sirve para calcular el producto de dos transformaciones de

base. La forma más corriente consiste en calcular una estructura nueva como elresultado de un desplazamiento aplicado a una estructura de base.

Ejemplo

pose1 representa las coordenadas de la Base1 respecto a la Base0.

pose2 representa las coordenadas de la Base2 respecto a la Base1.

La transformación que produce la pose3, las coordenadas de la Base2 respecto a laBase0, se obtiene por el producto de las dos transformaciones:

VAR pose pose1;VAR pose pose2;VAR pose pose3;..pose3 := PoseMult(pose1, pose2);

Valor de retorno Tipo de dato: pose

El valor del producto de las dos posiciones.

x0

y0

z0

Base0  x 1

 y 1

 z 1

x2

y 2

z 2

Base1

Base2

pose1

pose2

pose3

Page 597: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 597/671

 PoseMult Funciones

3-PoseMult-594 Tipos de Datos del Sistema y Rutinas

Argumentos

PoseMult (Pose1 Pose2)

Pose1 Tipo de dato: pose

La primera posición.

Pose2 Tipo de dato: pose

La segunda posición.

Sintaxis

PoseMult’(’[Pose1 ’:=’] <expresión (IN) de pose> ’,’[Pose2 ’:=’] <expresión (IN) de pose>’)’

Una función con un valor de retorno del tipo de dato pose.

Información relacionada

Descrito en:Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 598: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 598/671

Funciones   PoseVect

Tipos de Datos del Sistema y Rutinas 3-PoseVect-595

PoseVect Aplicación de una transformacióna un vector

PoseVect (Pose Vector) sirve para calcular el producto de una posición y de un vector.Se utiliza generalmente para calcular un vector como resultado del efecto de undesplazamiento en un vector original.

Ejemplo

pose1 representa las coordenadas de la Base1 respecto a la Base0.pos1 es un vector respecto a la Base1.

El vector correspondiente respecto a la Base0 se obtendrá por el producto:

VAR pose pose1;VAR pos pos1;VAR pos pos2;..pos2:= PoseVect(pose1, pos1);

Valor de retorno Tipo de dato: pos

El valor del producto de la pose y de la pos original.

x0

y0

z0

Base0

 x 1

 y 1

 z 1

Base1pose1

pos1pos2

Page 599: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 599/671

 PoseVect Funciones

3-PoseVect-596 Tipos de Datos del Sistema y Rutinas

Argumentos

PoseVect (Pose Pos)

Pose Tipo de dato: pose

La transformación que se desea aplicar.

Pos Tipo de dato: pos

La pos que se desea transformar.

Sintaxis

PoseVect’(’[Pose ’:=’] <expresión (IN) de pose> ’,’[Pos ’:=’] <expresión (IN) de pos>’)’

Una función con un valor de retorno del tipo de dato pos.

Información relacionada

Descrito en:Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 600: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 600/671

Funciones   Pow

Tipos de Datos del Sistema y Rutinas 3-Pow-597

Pow Cálculo de la potencia de un valor

Pow (Power) sirve para calcular el valor exponencial en cualquier base.

Ejemplo

VAR num x;VAR num yVAR num reg1;.reg1:= Pow(x, y);

reg1 tiene asignado el valor xy.

Valor de retorno Tipo de dato: num

El valor de la base x elevado a la potencia del exponente y ( xy ).

Argumentos

Pow (Base Exponente)Base Tipo de dato: num

El valor del argumento de la base.

Exponente Tipo de dato: num

El valor del argumento del exponente.

LimitacionesLa ejecución de la función xy dará como resultado un error si:

. x < 0 y además "y" no es un número entero;

. x = 0 y además "y" 0.≤

Page 601: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 601/671

 Pow Funciones

3-Pow-598 Tipos de Datos del Sistema y Rutinas

Sintaxis

Pow’(’[Base ’:=’] <expresión (IN) de num> ’,’[Exponente ’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 602: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 602/671

Funciones   Present

Tipos de Datos del Sistema y Rutinas 3-Present-599

Present Comprobación de la utilizaciónde un parámetro opcional

Present sirve para comprobar si se ha utilizado un argumento opcional al llamar unarutina.

Un parámetro opcional puede no ser utilizado si no ha sido especificado al llamar larutina. Esta función puede usarse para comprobar si un parámetro ha sido especificado,a fin de evitar que se produzcan errores.

Ejemplo

PROC aliment (\switch on | \switch off)

IF Present (on) Set do1;IF Present (off) Reset do1;

ENDPROC

La salida do1, que controla una alimentación, será activada o desactivada depen-diendo del argumento utilizado al llamar la rutina.

Valor de Retorno Tipo de dato: bool

TRUE = El valor del parámetro ha sido definido al llamar la rutina.

FALSE = No ha sido definido ningún valor de parámetro.

Argumentos

Present (ParOpc)

ParOpc (Par ámetro opcional) Tipo de dato: Cualquiertipo

El nombre del parámetro opcional que se desea comprobar.

Page 603: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 603/671

 Present Funciones

3-Present-600 Tipos de Datos del Sistema y Rutinas

Ejemplo

PROC cola (\switch on, num flujocola, robtarget alpunto, speeddata velocidad,zonedata zona, PERS tooldata herram, \PERS wobjdata wobj)

IF Present (on) PulseDO activ_cola;SetAO señal_cola, flujocola;IF Present (wobj) THEN

MoveL alpunto, velocidad, zona, herram\WObj=wobj;ELSE

MoveL alpunto, velocidad, zona, herram;ENDIF

ENDPROC

Se ha concebido una rutina de aplicación de adhesivo. Si el argumento \on ha sidoespecificado al llamar la rutina, se generará un pulso en la señal activ_cola. Elrobot activará entonces una salida analógica señal_cola, que controla la pistolade aplicación de adhesivo, y se moverá a la posición final. Dado que el parámetrowobj es opcional, se utilizarán diferentes instrucciones MoveL dependiendo desi se usa este argumento o no.

Sintaxis

Present ’(’

[ParOpc’:=’] <referencia (REF) de cualquier tipo> ’)’Un parámetro REF requerirá en este caso, el nombre del parámetro opcional.

Una función con un valor de retorno del tipo de dato bool.

Información relacionada

Descrito en:

Parámetros de rutina Caracterí sticas Básicas - Rutinas

Page 604: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 604/671

Funciones   ReadBin

Tipos de Datos del Sistema y Rutinas 3-ReadBin-601

ReadBin Lectura de un byte a partir deun archivo o de un canal serie

 ReadBin (Read Binary) sirve para leer un byte (8 bits) a partir de un archivo o de uncanal serie.

Esta función se aplica tanto a los archivos o canales serie binarios como a los que estánbasados en caracteres.

Ejemplo

VAR num character;VAR iodev inchannel;...Open "sio1:", inchannel\Bin;character := ReadBin(inchannel);

Un byte será leí do a partir de un canal serie binario inchannel.

Valor de retorno Tipo de dato: num

Un byte (8 bits) es leí do a partir de un archivo o de un canal serie especí fico. Este byte

será convertido en el valor numérico positivo correspondiente y retornado como untipo de dato num. En el caso en que el archivo esté vací o (final del archivo), el sistemadevolverá el número -1.

Argumentos

ReadBin (DispositivoE/S [\Time])

DispositivoE/S Tipo de dato: iodev

Es el nombre (referencia) del archivo o del canal serie que será leí do.

[\Time] Tipo de dato: num

Es el tiempo máximo permitido para la operación de lectura (excedido) en seg-undos. En el caso en que este argumento no haya sido especificado, el tiempomáximo será fijado a 60 segundos.

En el caso en que este tiempo haya transcurrido antes de que se haya terminadola operación de lectura, el sistema llamará al gestor de errores con el código deerror ERR_DEV_MAXTIME. En el caso en que no haya ningún gestor deerrores, la ejecución del programa será detenida.

La función de tiempo excedido (timeout) es operativa también durante el paro

Page 605: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 605/671

 ReadBin Funciones

3-ReadBin-602 Tipos de Datos del Sistema y Rutinas

del programa y estará indicado en el programa RAPID al arranque del programa.

Ejecución del programa

La ejecución del programa espera hasta que un byte (8 bits) pueda ser leí do a partir deun archivo o de un canal serie.

Ejemplo

VAR num bindata;VAR iodev file;

Open “flp1:myfile.bin”, file \Read \Bin;bindata := ReadBin(file);WHILE bindata <> EOF_BIN DO

TPWrite ByteToStr(bindata\Char);bindata := ReadBin(file);

ENDWHILE

Se ha realizado la lectura del contenido de un archivo binario myfile.bin desde elprincipio hasta el final y han aparecido visualizados los datos binarios en launidad de programación, convertidos en caracteres (un caracter en cada lí nea).

Limitaciones

La función sólo podrá ser utilizada para los archivos y canales serie que hayan sido abi-ertos para la lectura ( \Read  para los archivos basados en caracteres, \Bin o \Append \Binpara los archivos binarios).

Gestión de errores

En caso de ocurrir un error durante la lectura, la variable del sistema ERRNO se acti-

vará en ERR_FILEACC. Este error podrá luego ser procesado en el gestor de errores.

Datos predefinidos

La constante EOF_BIN  podrá utilizarse para detener la lectura al final del archivo.

CONST num EOF_BIN := -1;

Page 606: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 606/671

Funciones   ReadBin

Tipos de Datos del Sistema y Rutinas 3-ReadBin-603

Sintaxis

ReadBin’(’[Dispositivo E/S ’:=’] <variable (VAR) de iodev>[’ \ ’Time’:=’ <expresión (IN) de num>]’)’

Un función con un valor de retorno del tipo num.

Información relacionada

Descrita en:

Apertura (etc.) de archivos o canales serie Resumen RAPID - Comunicación

Conversión de un byte en un dato de cadena Funciones - ByteToStr 

Page 607: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 607/671

 ReadBin Funciones

3-ReadBin-604 Tipos de Datos del Sistema y Rutinas

Page 608: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 608/671

Funciones   ReadMotor

Tipos de Datos del Sistema y Rutinas 3-ReadMotor-605

ReadMotor Lectura de los ángulos del motor actuales

 ReadMotor sirve para leer los ángulos utilizados de los diferentes motores del robot y

de los ejes externos. Esta función se usa fundamentalmente en el procedimiento de cal-ibración del robot.

Ejemplo

VAR num motor_angle2;

motor_angle2 := ReadMotor(2);

El ángulo del motor utilizado del segundo eje del robot será almacenado en

motor_angle2.

Valor de retorno Tipo de dato: num

El ángulo actual del motor expresado en radianes para un eje especificado del robot ode los ejes externos.

Argumentos

ReadMotor [\MecUnit ] Axis

UnitMec  (Unidad Mecánica) Tipo de dato: mecunit 

Es el nombre de la unidad mecánica para la que se debe leer un eje. En el casoen que se omita este argumento, se leerá el eje del robot.

Eje Tipo de dato: num

Es el número del eje que se debe leer (1 - 6).

Ejecución del programa

El ángulo del motor devuelto indica la posición actual, en radianes, del motor e inde-pendientemente de cualquier offset de calibración. El valor no se refiere a una posiciónfija del robot sino únicamente a la posición cero interna del resolver, es decir, normal-mente la posición cero del resolver más próxima de la posición de calibración (la difer-encia entre la posición cero del resolver y la posición de calibración es el valor offsetde la calibración). El valor representa el movimiento completo de cada eje, incluso sise trata de varias vueltas.

Page 609: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 609/671

 ReadMotor Funciones

3-ReadMotor-606 Tipos de Datos del Sistema y Rutinas

Ejemplo

VAR num motor_angle3;

motor_angle3 := ReadMotor( \ MecUnit:=robot, 3);

El ángulo actual del motor para el tercer eje del robot será almacenado enmotor_angle3.

Sintaxis

ReadMotor’(’[’ \ ’MecUnit ’:=’ < variable (VAR) de mecunit >’,’][Axis ’:=’ ] < expresión (IN) de num>

’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrita en:

Lectura del ángulo actual del eje Funciones - CJointT 

Page 610: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 610/671

Funciones   ReadNum

Tipos de Datos del Sistema y Rutinas 3-ReadNum-607

ReadNum Lectura de un número a partir de unarchivo o de un canal serie

 ReadNum (Read Numeric) sirve para leer un número a partir de un archivo de carac-teres o de un canal serie.

Ejemplo

VAR iodev enarchiv;.Open "flp1:archiv.doc", enarchiv\Read;reg1 := ReadNum(enarchiv);

 Reg1 tiene asignado un número leí do a partir del archivo archiv.doc del disquete.

Valor de retorno Tipo de dato: num

Es el valor numérico leí do a partir de un archivo o de un canal serie especí fico.Si el archivo está vací o (final de archivo), el número 9.999E36 será devuelto.

Argumentos

ReadNum (DispositivoE/S [\Delim] [\Time])

DispositivoE/S Tipo de dato: iodev

Es el nombre (referencia) del archivo o canal serie que se desea leer.

[\Delim] ( Delimitadores) Tipo de dato: string

Es una cadena que contiene los delimitadores a utilizar cuando se realiza el análi-sis de una lí nea en el archivo o en el canal serie. Por defecto (sin \Delim), el

archivo es leí do lí nea por lí nea y el carácter de salto de lí nea (\0A) es el únicodelimitador considerado. Cuando se usa el argumento \Delim, cualquier carácterdel argumento de la cadena especificada será considerado determinante en dichaparte de la lí nea.

Si se utiliza el argumento \  Delim, el sistema de control siempre añade el carácterde retorno de carro (\0D) y de salto de lí nea (\0A) a los delimitadores especifica-dos por el usuario.

Para especificar caracteres que no son alfanuméricos, se deberá usar \xx, dondexx constituye la representación hexadecimal del código ASCII del carácter(ejemplo: TAB está especificado por \09).

Page 611: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 611/671

 ReadNum Funciones

3-ReadNum-608 Tipos de Datos del Sistema y Rutinas

[\Time] Tipo de dato: num

Es el tiempo máximo permitido para la operación de lectura (excedido) en seg-undos. En el caso en que no se haya especificado este argumento, el tiempo máx-imo será fijado a 60 segundos.

En el caso en que este tiempo haya transcurrido antes de que la operación de lec-tura haya terminado, el sistema llamará al gestor de errores con el código de errorERR_DEV_MAXTIME. En el caso en que no haya ningún gestor de errores, laejecución será detenida.

La función (timeout) de tiempo excedido es operativa también durante el paro delprograma y estará indicada en el programa RAPID al arranque del programa.

Ejecución del programa

Empezando en la posición actual del archivo, la función lee y descarta cualquier delim-itador de encabezado. Los delimitadores sin el argumento \Delim son un carácter desalto de lí nea. Los delimitadores con el argumento \Delim son cualquier carácter espe-cificado en el argumento \Delim, además de los retornos de carro y saltos de lí nea.Luego, el sistema lee todo hasta e incluyendo el siguiente carácter delimitador (será descartado), pero no excederá los 80 caracteres. En el caso en que la lí nea exceda los80 caracteres, los caracteres restantes serán leí dos a la siguiente lectura.

La cadena que ha sido leí da será convertida posteriormente en un valor numérico; porejemplo, “234,4” será convertida en el valor numérico 234,4.

Ejemplo

reg1 := ReadNum(infile\Delim:="\09 ");IF reg1 > EOF_NUM THEN

TPWrite "The file is empty";...

Lee un número en una lí nea donde los números están separados por caracteresTAB ("\09") o ESPACIO (" ").

Antes de utilizar el número leí do a partir de un archivo, se realizará una compro-bación para asegurarse de que el archivo no está vací o.

Limitaciones

La función sólo podrá utilizarse para archivos basados en caracteres que hayan sidoabiertos para la lectura.

Page 612: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 612/671

Funciones   ReadNum

Tipos de Datos del Sistema y Rutinas 3-ReadNum-609

Gestión de errores

Si ocurre un error de acceso durante la lectura, la variable del sistema ERRNO se acti-vará en ERR_FILEACC.Si se realiza un intento de lectura de datos no numéricos, la variable del sistemaERRNO se activará en ERR_RCVDATA. Estos errores podrán ser procesados poste-riormente por el gestor de errores.

Datos predefinidos

La constante EOF_NUM  podrá utilizarse para detener la lectura al final del archivo.

CONST num EOF_NUM := 9.998E36;

Sintaxis

ReadNum ’(’[DispositivoE/S ’:=’] <variable (VAR) de iodev>’)’[‘ \ ’Delim’:=’<expresión (IN) de string>][’ \ ’Time ’:=’ <expresión (IN) de num>]’)’

Una función con un valor de retorno del tipo num.

Información relacionada

Descrita en:

Apertura (etc.) de archivos o canales serie Resumen RAPID - Comunicación

Page 613: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 613/671

 ReadNum Funciones

3-ReadNum-610 Tipos de Datos del Sistema y Rutinas

Page 614: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 614/671

Funciones   ReadStr

Tipos de Datos del Sistema y Rutinas 3-ReadStr-611

ReadStr Lectura de una cadena a partir deun archivo o a partir de un canal serie

 ReadStr (Read String) sirve para leer una cadena a partir de un archivo basado en car-acteres o a partir de un canal serie.

Ejemplo

VAR string text;VAR iodev infile;...Open "flp1:file.doc", infile\Read;text := ReadStr(infile);

Se ha asignado a Text  una cadena leí da a partir del archivo file.doc en el disquete.

Valor de retorno Tipo de dato: string

La cadena leí da a partir de un archivo o canal serie especí ficos.Si el archivo está vací o (final del archivo), se retornará la cadena "EOF”.

Argumentos

ReadStr (IODevice [\Delim] [\RemoveCR] [\DiscardHeaders]  [\Time])

IODevice Tipo de dato: iodev

Es el nombre (referencia) del archivo o canal serie que debe ser leí do.

[\Delim] ( Delimitadores) Tipo de dato: string

Una cadena que contiene los delimitadores a utilizar cuando se realiza el análisisde una lí nea en el archivo o canal serie. Por defecto el archivo es leí do lí nea porlí nea y el carácter de salto de lí nea (\0A) es el único delimitador considerado porla lectura. Cuando se usa el argumento \Delim, cualquier carácter del argumentode cadena especificado además de los caracteres de salto de lí nea por defectoserán considerados determinantes para dicha lí nea.

Para especificar los caracteres que no son alfanuméricos, se deberá usar \xx,donde xx constituye la representación hexadecimal del código ASCII delcarácter (ejemplo: TAB es especificado por \09).

Page 615: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 615/671

 ReadStr Funciones

3-ReadStr-612 Tipos de Datos del Sistema y Rutinas

[\RemoveCR] Tipo de dato: switch

Una opción utilizada para eliminar el carácter de retorno de carro cuando se leen

archivos de PC. En los archivos de PC, se especifica una lí nea nueva con unretorno de carro y un salto de lí nea (CRLF). Cuando se lee una lí nea de este tipoen estos archivos, el carácter de retorno de carro es leí do por defecto en la cadenade retorno. Cuando se usa este argumento, el carácter de retorno de carro será leí do a partir del archivo pero no estará incluido en la cadena de retorno.

[\DiscardHeaders] Tipo de dato: switch

Este argumento especifica si se saltan los delimitadores de encabezado (especifi-cados en \  Delim y en los saltos de lí nea por defecto) o no antes de transferir datosa la cadena de retorno. Por defecto, si el primer carácter de la posición del archivo

utilizado es un delimitador, éste será leí do pero no transferido a la cadena deretorno, el análisis de la lí nea será detenido y el retorno será una cadena vací a. Sise usa este argumento, todos los delimitadores incluidos en la lí nea serán leí dosa partir del archivo pero serán descartados y la cadena de retorno contendrá losdatos que empiezan en el primer carácter no-delimitador de la lí nea.

[\Time] Tipo de dato: num

El tiempo máximo empleado en la operación de lectura (tiempo excedido) expre-sado en segundos. En el caso en que este argumento no haya sido especificado,el tiempo máximo será fijado a 60 segundos.

En el caso en que este tiempo haya transcurrido antes de que haya acabado laoperación de lectura, el gestor de errores será llamado con el código de errorERR_DEV_MAXTIME. En el caso en que no haya gestor de errores, laejecución será detenida.

La función de tiempo excedido (timeout) será operativa también durante el parode programa y estará indicada en el programa RAPID al arranque del programa.

Ejecución del programa

Empezando en la posición actual del archivo, si se utiliza el argumento \DiscardHead-ers, la función lee y descarta todos los delimitadores de encabezado (caracteres de saltode lí nea y cualquier carácter especificado en el argumento \Delim). En cualquier caso,a continuación el sistema leerá todo hasta el siguiente carácter delimitador, pero noexcederá los 80 caracteres. Si la parte significativa excede los 80 caracteres, los demáscaracteres restantes serán leí dos a la siguiente lectura. El delimitador que ha detenidoel análisis es leí do a partir del archivo pero no será transferido a la cadena de retorno.En el caso en que el último carácter de la cadena sea un carácter de retorno de carro yse haya usado el argumento \RemoveCR, este carácter será eliminado de la cadena.

Page 616: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 616/671

Funciones   ReadStr

Tipos de Datos del Sistema y Rutinas 3-ReadStr-613

Ejemplo

text := ReadStr(infile);IF text = EOF THEN

TPWrite "The file is empty";...

Antes de utilizar la cadena leí da a partir del archivo, se realiza una comprobaciónpara asegurar que el archivo no está vací o.

Ejemplo

Considerando un archivo que contiene:<LF><SPACE><TAB>Hello<SPACE><SPACE>World<CR><LF>

text := ReadStr(infile);

el texto está formado por una cadena vací a: el primer carácter del archivo es eldelimitador por defecto <LF>.

text := ReadStr(infile\DiscardHeaders);

el texto contiene <SPACE><TAB>Hello<SPACE><SPACE>World<CR>: elprimer carácter del archivo, el delimitador por defecto <LF>, es descartado.

text := ReadStr(infile\RemoveCR\DiscardHeaders);

el texto contiene <SPACE><TAB>Hello<SPACE><SPACE>World: el primercarácter del archivo, el delimitador por defecto <LF>, es descartado; el carácterfinal de retorno de carro es eliminado.

text := ReadStr(infile\Delim:=”  \09” \RemoveCR\DiscardHeaders);

el texto contiene “Hello”: los primeros caracteres del archivo que coinciden conel delimitador por defecto <LF> o con el conjunto de caracteres definido por

 \Delim (espacio y tab) son descartados. Los datos serán entonces transferidoshasta el primer delimitador leí do desde el archivo pero no será transferido a la

cadena. Una nueva llamada del mismo enunciado retornará “World”.

Ejemplo

Considerando un archivo que contiene:<CR><LF>Hello<CR><LF>

text := ReadStr(infile);

el texto contiene el carácter <CR> (\0d): los caracteres <CR> y <LF> son leí dosdesde el archivo, pero sólo <CR> será transferido a la cadena. Una nueva lla-mada del mismo enunciado retornará “Hello\0d”.

Page 617: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 617/671

 ReadStr Funciones

3-ReadStr-614 Tipos de Datos del Sistema y Rutinas

text := ReadStr(infile\RemoveCR);

el texto contiene una cadena vací a: los caracteres <CR> y <LF> son leí dos apartir del archivo; <CR> es transferido pero eliminado de la cadena. Una nuevallamada del mismo enunciado retornará “Hello”.

text := ReadStr(infile\Delim:=” \0d”);

el texto contiene una cadena vací a: <CR> es leí do desde el archivo pero no estransferido a la cadena de retorno. Una nueva llamada del mismo enunciadoretornará de nuevo una cadena vací a: <LF> es leí do desde el archivo pero no estransferido a la cadena de retorno.

text := ReadStr(infile\Delim:=” \0d” \DiscardHeaders);

el texto contiene “Hello”. Una nueva llamada del mismo enunciado retornará 

“EOF” (final del archivo).

Limitaciones

La función sólo podrá usarse para archivos o canales serie que hayan sido abiertos parala lectura en un modo basado en caracteres.

Gestor de errores

Si ocurre un error durante la lectura, la variable del sistema ERRNO se activará enERR_FILEACC. Este error podrá entonces ser procesado en el gestor de errores.

Datos predefinidos

La constante EOF  podrá ser utilizada para comprobar si el archivo estaba vací o en elmomento de tratar de leer desde el archivo o de parar la lectura al final del archivo.

CONST string EOF := "EOF";

Sintaxis

ReadStr ’(’[IODevice ’:=’] <variable (VAR) de iodev>[‘ \ ’Delim’:=’<expresión (IN) de string>][‘ \ ’RemoveCR][‘ \ ’DiscardHeaders][’ \ ’Time’:=’ <expresión (IN) de num>]’)’

Una función con un valor de retorno del tipo string.

Page 618: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 618/671

Funciones   ReadStr

Tipos de Datos del Sistema y Rutinas 3-ReadStr-615

Información relacionada

Descrita en:

Apertura (etc.) de archivos o canales serie Resumen RAPID - Comunicación

Page 619: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 619/671

 ReadStr Funciones

3-ReadStr-616 Tipos de Datos del Sistema y Rutinas

Page 620: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 620/671

Funciones   RelTool 

Tipos de Datos del Sistema y Rutinas 3-RelTool-617

RelTool Ejecución de un desplazamiento relativoa la herramienta

 RelTool (Relative Tool) sirve para añadir a una posición del robot un desplazamientoy/o una rotación, expresados en el sistema de coordenadas de la herramienta.

Ejemplo

MoveL RelTool (p1, 0, 0, 100), v100, fine, herram1;

El robot se mueve a una posición que se encuentra a 100 mm del punto p1 en ladirección de la herramienta.

MoveL RelTool (p1, 0, 0, 0 \Rz:= 25), v100, fine, herram1;

La herramienta será girada 25o en torno al eje z-.

Valor de retorno Tipo de dato: robtarget 

La nueva posición con la adición de un desplazamiento y/o de una posible rotación,relativos a la herramienta utilizada.

Argumentos

RelTool (Punto Dx Dy Dz [ \ Rx]  [ \ Ry]  [ \ Rz])

Punto Tipo de dato: robtarget 

Es la posición de entrada del robot. La parte de orientación de esta posicióndefine la orientación utilizada del sistema de coordenadas de la herramienta.

Dx Tipo de dato: num

Es el desplazamiento expresado en mm en la dirección x del sistema decoordenadas de la herramienta.

Dy Tipo de dato: num

Es el desplazamiento expresado en mm en la dirección y del sistema decoordenadas de la herramienta.

Dz Tipo de dato: num

Es el desplazamiento expresado en mm en la dirección z del sistema de

coordenadas de la herramienta.

Page 621: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 621/671

 RelTool  Funciones

3-RelTool-618 Tipos de Datos del Sistema y Rutinas

[\Rx] Tipo de dato: num

Es la rotación expresada en grados en torno al eje x del sistema de coordenadasde la herramienta.

[\Ry] Tipo de dato: num

Es la rotación expresada en grados en torno al eje y del sistema de coordenadasde la herramienta.

[\Rz] Tipo de dato: num

Es la rotación expresada en grados en torno al eje z del sistema de coordenadasde la herramienta.

En el caso en que se hayan especificado dos o tres rotaciones al mismo tiempo, ello sellevará a cabo en primer lugar en torno al eje x, luego en torno al eje y nuevo, y luegoen torno al eje z nuevo.

Sintaxis

RelTool’(’[ Punto’:=’ ] < expresión (IN) de robtarget >’,’[Dx ’:=’] <expresión (IN) de num> ’,’[Dy ’:=’] <expresión (IN) de num> ’,’[Dz ’:=’] <expresión (IN) de num>

[’ \ ’Rx ’:=’ <expresión (IN) de num> ][’ \ ’Ry ’:=’ <expresión (IN) de num> ][’ \ ’Rz ’:=’ <expresión (IN) de num> ]’)’

Una función con un valor de retorno del tipo de dato robtarget .

Información relacionada

Descrita en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Instrucciones de posicionamiento Resumen RAPID - Movimiento

Page 622: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 622/671

Funciones   Round 

Tipos de Datos del Sistema y Rutinas 3-Round-619

Round Round es un valor numérico

 Round sirve para redondear un valor numérico a un número especificado de decimales

o a un valor entero.

Ejemplo

VAR num val;

val := Round(0,38521\Dec:=3);

La variable val toma el valor de 0,385.

val := Round(0,38521\Dec:=1);

La variable val toma el valor de 0,4.

val := Round(0,38521);

La variable val toma el valor de 0.

Valor de retorno Tipo de dato: num

Es el valor numérico redondeado al número especificado de decimales.

Argumentos

Round ( Val [\Dec])

Val (Valor ) Tipo de dato: num

Es el valor numérico que se desea redondear.

[\Dec] ( Decimales)  Tipo de dato: num

Es el número de decimales.

En el caso en que el número especificado de decimales sea 0 o si se omite el argu-mento, el valor será redondeado a un número entero.

El número de decimales no deberá ser negativo o mayor que la precisión dis-ponible para el valor numérico.

Page 623: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 623/671

 Round  Funciones

3-Round-620 Tipos de Datos del Sistema y Rutinas

Sintaxis

Round’(’[ Val ’:=’ ] <expresión (IN) de num>

[ \Dec ’:=’ <expresión (IN) de num> ]’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrita en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Forma de truncar un valor Funciones - Trunc

Page 624: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 624/671

Funciones   ReadStrBin

Tipos de Datos del Sistema y Rutinas 3-ReadStrBin-621

ReadStrBinLectura de una cadena a partir de uncanal serie binario o a partir de un archivo

 ReadStrBin (Read String Binary) sirve para leer una cadena a partir de un canal seriebinario o a partir de un archivo.

Ejemplo

VAR iodev channel2;VAR string text;...Open “sio1:”, channel2 \Bin;text := ReadStrBin (channel2, 10);

Se asigna a Text  una cadena de texto de 10 caracteres leí da a partir de un canalserie al que se refiere con channel2.

Valor de retorno Tipo de dato: string

La cadena de texto leí da a partir del canal serie o a partir del archivo especificado. Siel archivo está vací o (final del archivo), la cadena "EOF" será retornada.

Argumentos

ReadStrBin (IODevice NoOfChars [\Time])

IODevice Tipo de dato: iodev

Es el nombre (referencia) del canal serie binario o del archivo que va a ser leí do.

NoOfChars Tipo de dato: num

Es el número de caracteres que va a ser leí do a partir del canal serie binario o delarchivo.

[\Time] Tipo de dato: num

Es el tiempo máximo empleado para la operación de lectura (tiempo excedido)expresado en segundos. Si este argumento no ha sido especificado, el tiempomáximo será fijado a 60 segundos.

En el caso en que este tiempo haya transcurrido antes de que haya terminado laoperación de lectura, el gestor de errores será llamado con el código de errorERR_DEV_MAXTIME. En el caso de no haber ningún gestor de errores, la

ejecución será detenida.

Page 625: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 625/671

Page 626: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 626/671

Funciones   ReadStrBin

Tipos de Datos del Sistema y Rutinas 3-ReadStrBin-623

Una función con un valor de retorno del tipo string.

Información relacionada

Descrita en:

Apertura (etc.) de canales serie o archivos Resumen RAPID - Comunicación

Escribir cadenas binarias Instrucciones - WriteStrBin

Page 627: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 627/671

 ReadStrBin Funciones

3-ReadStrBin-624 Tipos de Datos del Sistema y Rutinas

Page 628: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 628/671

Funciones   RunMode

Tipos de Datos del Sistema y Rutinas 3-RunMode-625

RunMode Lectura del modo de funcionamiento

 RunMode (Running Mode) sirve para leer el modo de funcionamiento utilizado de la

tarea de programa.

Ejemplo

IF RunMode() = RUN_CONT_CYCLE THEN..ENDIF

La sección del programa será ejecutada únicamente mediante una ejecución continuao cí clica.

Valor de retorno Tipo de dato: symnum

El modo de funcionamiento utilizado se indica según se define en la tabla que se mues-tra a continuación.

Argumentos

RunMode ( [ \Main] )

[ \Main ] Tipo de dato: switch

Retorna el modo de funcionamiento utilizado para la tarea de programa main.Se utiliza en el sistema de multitarea para obtener el modo de funcionamientoutilizado por la tarea de programa main desde alguna otra tarea de programa.

Si se omite este argumento, el valor de retorno reproducirá siempre el modo defuncionamiento utilizado por la tarea de programa que ejecuta la función Run-

 Mode.

Valor de retorno Constante simbólica Comentario

0 RUN_UNDEF Modo de funcionamiento no definido

1 RUN_CONT_CYCLE Modo de funcionamiento cí clico o con-tinuo

2 RUN_INSTR_FWD Modo de funcionamiento instrucción

hacia adelante

3 RUN_INSTR_BWD Modo de funcionamiento instrucción

hacia atrás

4 RUN_SIM Modo de funcionamiento simulado

Page 629: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 629/671

Page 630: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 630/671

Funciones   Sin

Tipos de Datos del Sistema y Rutinas 3-Sin-627

Sin Cálculo del valor del seno

Sin (Sine) sirve para calcular el valor del seno a partir de un valor de un ángulo.

Ejemplo

VAR num angulo;VAR num valor;..valor:= Sin(angulo);

Valor de retorno Tipo de dato: num

El valor del seno, comprendido entre [-1, 1] .

Argumentos

Sin (Angulo)

Angulo Tipo de dato: num

El valor del ángulo, expresado en grados.

Sintaxis

Sin’(’[Angulo’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Page 631: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 631/671

Sin Funciones

3-Sin-628 Tipos de Datos del Sistema y Rutinas

Page 632: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 632/671

Funciones   Sqrt

Tipos de Datos del Sistema y Rutinas 3-Sqrt-629

Sqrt Cálculo del valor de la raí z cuadrada

Sqrt (Square root) sirve para calcular el valor de la raí z cuadrada.

Ejemplo

VAR num x_valor;VAR num y_valor;..y_valor := Sqrt( x_valor);

Valor de retorno Tipo de dato: num

El valor de la raí z cuadrada.

Argumentos

Sqrt (Valor)

Valor Tipo de dato: num

El valor del argumento para la raí z cuadrada ( ); tiene que ser .

Sintaxis

Sqrt’(’[Valor’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

0≥

Page 633: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 633/671

Sqrt Funciones

3-Sqrt-630 Tipos de Datos del Sistema y Rutinas

Page 634: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 634/671

Funciones   StrFind 

Tipos de Datos del Sistema y Rutinas 3-StrFind-631

StrFind Búsqueda de un carácter en una cadena

StrFind (String Find) sirve para realizar la búsqueda en una cadena de texto, empe-

zando en una posición especí fica, de un carácter que constituye un elemento de ungrupo especí fico de caracteres.

Ejemplo

VAR num found;

found := StrFind("Robotics",1,"aeiou");

La variable found  toma el valor 2.

found := StrFind("Robotics",1,"aeiou"\NotInSet);

La variable found  toma el valor 1.

found := StrFind("IRB 6400",1,STR_DIGIT);

La variable found  toma el valor 5.

found := StrFind("IRB 6400",1,STR_WHITE);

La variable found  toma el valor 4.

Valor de retorno Tipo de dato: num

La posición de carácter del primer carácter en o después de la posición especificada,que sea un elemento del grupo especificado. En el caso en que no hubiera dichocarácter, se devolverá la longitud de la cadena +1.

Argumentos

StrFind (Str ChPos Set [\NotInSet])

Str (Cadena) Tipo de dato: string

La cadena en la que hay que realizar la búsqueda.

ChPos (Posición del Car ácter ) Tipo de dato: num

Es el inicio de la búsqueda de la posición del carácter. Se generará un error deejecución si la posición se encuentra fuera de la cadena.

Page 635: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 635/671

StrFind  Funciones

3-StrFind-632 Tipos de Datos del Sistema y Rutinas

Set Tipo de dato: string

Es el grupo de caracteres que tiene ser analizado.

[\NotInSet] Tipo de dato: switch

Indica la búsqueda de un carácter que no se encuentra en el grupo de caracteres.

Sintaxis

StrFind’(’[ Str ’:=’ ] <expresión (IN) de string> ’,’[ ChPos ’:=’ ] <expresión (IN) de num> ’,’[ Set’:=’ ] <expresión (IN) de string>[ ’ \ ’ NotInSet ]

’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrita en:

Funciones de las cadenas Resumen RAPID - Funciones de cade-nas

Definición de una cadena Tipos de Datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 636: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 636/671

Funciones   StrLen

Tipos de Datos del Sistema y Rutinas 3-StrLen-633

StrLen Obtención de la longitud de la cadena

StrLen (String Length) sirve para encontrar la longitud actual de una cadena.

Ejemplo

VAR num len;

len := StrLen("Robotics");

La variable len toma el valor de 8.

Valor de retorno Tipo de dato: num

Es el número de caracteres dentro de la cadena (>=0).

Argumentos

StrLen (Str)

Str (Cadena) Tipo de dato: string

Es la cadena en la que hay que contar el número de caracteres.

Sintaxis

StrLen’(’[ Str ’:=’ ] <expresión (IN) de string>’)’

Una función con un valor de retorno del tipo de dato num.

Page 637: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 637/671

StrLen Funciones

3-StrLen-634 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Funciones de las cadenas Resumen RAPID - Funciones decadena

Definición de una cadena Tipos de Datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 638: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 638/671

Funciones   StrMap

Tipos de Datos del Sistema y Rutinas 3-StrMap-635

StrMap Mapa de una cadena

StrMap (String Mapping) sirve para crear una copia de una cadena en la que todos los

caracteres son trasladados de acuerdo con una disposición especí fica de mapa.

Ejemplo

VAR string str;

str := StrMap("Robotics","aeiou","AEIOU");

La variable str  toma el valor "RObOtIcs".

str := StrMap("Robotics",STR_LOWER, STR_UPPER);

La variable str  toma el valor "ROBOTICS".

Valor de retorno Tipo de dato: string

La cadena es creada por traslación de los caracteres de una cadena especí fica según loespecifican las cadenas "desde (from)" y "a (to)". Cada carácter de la cadena especifi-cada, que se encuentre en la cadena "desde (from)" será sustituido por el carácter en laposición correspondiente en la cadena "a (to)". Los caracteres para los que no se ha

definido ningún mapa serán copiados de forma idéntica en la cadena resultante.

Argumentos

StrMap ( Str FromMap ToMap)

Str (Cadena) Tipo de dato: string

La cadena que se desea trasladar.

FromMap Tipo de dato: string

Componente de í ndice de la cadena.

ToMap Tipo de dato: string

Componente de valor de la cadena.

Page 639: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 639/671

StrMap Funciones

3-StrMap-636 Tipos de Datos del Sistema y Rutinas

Sintaxis

StrMap’(’[ Str ’:=’ ] <expresión (IN) de string> ’,’[ FromMap’:=’ ] <expresión (IN) de string> ’,’[ ToMap’:=’ ] <expresión (IN) de string>’)’

Una función con un valor de retorno del tipo de dato string.

Información relacionada

Descrita en:

Funciones de las cadenas Resumen RAPID - Funciones decadena

Definición de una cadena Tipos de Datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 640: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 640/671

Funciones   StrMatch

Tipos de Datos del Sistema y Rutinas 3-StrMatch-637

StrMatch Búsqueda de una estructuraen una cadena

StrMatch (String Match) sirve para buscar una estructura especí fica dentro de unacadena, empezando desde una posición especí fica.

Ejemplo

VAR num found;

found := StrMatch("Robotics",1,"bo");

La variable found  toma el valor de 3.

Valor de retorno Tipo de dato: num

La posición del carácter de la primera subcadena, en la posición especificada o despuésde ella, que corresponda con la estructura de cadena especificada. En el caso en que nose encuentre ninguna subcadena, el sistema devolverá la longitud de cadena +1.

Argumentos

StrMatch (Str ChPos Pattern)

Str (Cadena) Tipo de dato: string

La cadena en la que hay que buscar.

ChPos (Posición del car ácter ) Tipo de dato: num

Inciar la búsqueda de la posición del carácter. Se producirá un error de ejecuciónsi la posición se encuentra fuera de la cadena.

Pattern Tipo de dato: string

Es la estructura de cadena que hay que buscar.

Page 641: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 641/671

StrMatch Funciones

3-StrMatch-638 Tipos de Datos del Sistema y Rutinas

Sintaxis

StrMatch’(’[ Str ’:=’ ] <expresión (IN) de string> ’,’[ ChPos ’:=’ ] <expresión (IN) de num> ’,’[ Pattern’:=’ ] <expresión (IN) de string>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrita en:

Funciones de las cadenas Resumen RAPID - Funciones decadena

Definición de una cadena Tipos de Datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 642: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 642/671

Funciones   StrMemb

Tipos de Datos del Sistema y Rutinas 3-StrMemb-639

StrMembComprobar si un carácter pertenece a un conjunto

StrMemb (String Member) sirve para comprobar si un carácter especí fico dentro de una

cadena pertenece a un conjunto especí fico de caracteres.

Ejemplo

VAR bool memb;

memb := StrMemb("Robotics",2,"aeiou");

La variable memb toma el valor TRUE, ya que ’o’ es un miembro del conjunto"aeiou".

memb := StrMemb("Robotics",3,"aeiou");

La variable memb toma el valor FALSE, ya que ’b’ no es un miembro del con- junto "aeiou".

memb := StrMemb("S-721 68 VÄSTERÅS",3,STR_DIGIT);

La variable memb toma el valor TRUE.

Valor de retorno Tipo de dato: bool

TRUE en el caso en que el carácter en la posición especificada de la cadena especí ficapertenece al conjunto especí fico de caracteres.

Argumentos

StrMemb (Str ChPos Set)

Str (Cadena) Tipo de dato: string

La cadena en la cual se debe realizar la comprobación.

ChPos (Posición del car ácter) Tipo de dato: num

La posición del carácter que debe ser comprobada. Se generará un error deejecución si la posición se encuentra fuera de la cadena.

Set Tipo de dato: string

Conjunto de caracteres que deben ser comprobados.

Page 643: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 643/671

StrMemb Funciones

3-StrMemb-640 Tipos de Datos del Sistema y Rutinas

Sintaxis

StrMemb’(’[ Str ’:=’ ] <expresión (IN) de string> ’,’[ ChPos ’:=’ ] <expresión (IN) de num> ’,’[ Set’:=’ ] <expresión (IN) de string>’)’

Una función con un valor de retorno del tipo de dato bool.

Información relacionada

Descrita en:

Funciones de las cadenas Resumen RAPID - Funciones decadena

Definición de una cadena Tipos de datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 644: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 644/671

Funciones   StrOrder

Tipos de Datos del Sistema y Rutinas 3-StrOrder-641

StrOrder Comprobar si las cadenas están ordenadas

StrOrder (String Order) sirve para comprobar el orden de dos cadenas de acuerdo con

una secuencia de orden de caracteres especí fica.

Ejemplo

VAR bool le;

le := StrOrder("FIRST","SECOND",STR_UPPER);

La variable le toma el valor TRUE, porque "FIRST" viene antes de"SECOND" en la secuencia de orden de caracteres STR_UPPER.

Valor de retorno Tipo de dato: bool

TRUE en el caso en que la primera cadena venga antes de la segunda cadena (Str1 <=Str2) cuando los caracteres están ordenados según se ha especificado.

Se considerará que los caracteres que no están incluidos en el orden definido, seguiránlos que están presentes.

Argumentos

StrOrder ( Str1 Str2 Order)

Str1 (Cadena 1) Tipo de dato: string

Es el primer valor de cadena.

Str2 (Cadena 2) Tipo de dato: string

Es el segundo valor de cadena.

Order Tipo de dato: string

Es la secuencia de caracteres que define el orden.

Page 645: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 645/671

StrOrder Funciones

3-StrOrder-642 Tipos de Datos del Sistema y Rutinas

Sintaxis

StrOrder’(’[ Str1 ’:=’ ] <expresión (IN) de string> ’,’[ Str2 ’:=’ ] <expresión (IN) de string> ’,’[ Order ’:=’ ] <expresión (IN) de string>’)’

Una función con un valor de retorno del tipo de dato bool.

Información relacionada

Descrita en:

Funciones de las cadensa Resumen RAPID - Funciones decadena

Definición de una cadena Tipos de Datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 646: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 646/671

Funciones   StrPart

Tipos de Datos del Sistema y Rutinas 3-StrPart-643

StrPart Obtención de una parte de una cadena

StrPart (String Part) sirve para tomar una parte de una cadena y considerarla como una

cadena nueva.

Ejemplo

VAR string part;

part := StrPart("Robotics",1,5);

La variable part  toma el valor "Robot".

Valor de retorno Tipo de dato: string

Es la subcadena de la cadena especificada, que tiene la longitud especí fica y que emp-ieza en la posición de carácter especificada.

Argumentos

StrPart (Str ChPos Len)

Str (Cadena) Tipo de dato: string

La cadena de la que se tomará una parte.

ChPos (Posición del car ácter ) Tipo de dato: num

Empieza la búsqueda de la posición del carácter. Se producirá un error deejecución si la posición se encuentra fuera de la cadena.

Len ( Longitud ) Tipo de dato: num

Es la longitud de la porción de la cadena. Se producirá un error de ejecucióncuando la longitud sea negativa o mayor que la longitud de la cadena, o si la sub-cadena se encuentra (parcialmente) fuera de la cadena.

Sintaxis

StrPart’(’[ Str ’:=’ ] <expresión (IN) de string> ’,’[ ChPos ’:=’ ] <expresión (IN) de num> ’,’[ Len’:=’ ] <expresión (IN) de num>

’)’

Page 647: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 647/671

StrPart Funciones

3-StrPart-644 Tipos de Datos del Sistema y Rutinas

Una función con un valor de retorno del tipo de dato string.

Información relacionada

Descrita en:

Funciones de las cadenas Resumen RAPID - Funciones decadena

Definición de una cadena Tipos de Datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 648: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 648/671

Funciones   StrToByte

Tipos de Datos del Sistema y Rutinas 3-StrToByte-645

StrToByte Conversión de una cadenaen un dato byte

StrToByte (String To Byte) sirve para convertir una cadena con un formato de dato bytedefinido en un dato byte.

Ejemplo

VAR string con_data_buffer{5} := ["10", "AE", "176", "00001010", "A"];VAR byte data_buffer{5};

data_buffer{1} := StrToByte(con_data_buffer{1});

El contenido del componente de matriz data_buffer{1} será de 10 decimalesdespués de la función StrToByte ... 

data_buffer{2} := StrToByte(con_data_buffer{2}\Hex);

El contenido del componente de matriz data_buffer{2} será de 174 decimalesdespués de la función StrToByte ... 

data_buffer{3} := StrToByte(con_data_buffer{3}\Okt);

El contenido del componente de matriz data_buffer{3} será de 126 decimalesdespués de la función StrToByte ... 

data_buffer{4} := StrToByte(con_data_buffer{4}\Bin);

El contenido del componente de matriz data_buffer{4} será de 10 decimalesdespués de la función StrToByte ... 

data_buffer{5} := StrToByte(con_data_buffer{5}\Char);

El contenido del componente de matriz data_buffer{5} será de 65 decimalesdespués de la función StrToByte ... 

Valor de retorno Tipo de dato: byte

El resultado de la operación de conversión representado en decimales.

Page 649: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 649/671

StrToByte Funciones

3-StrToByte-646 Tipos de Datos del Sistema y Rutinas

Argumentos

StrToByte (ConStr [\Hex] | [\Oct] | [\Bin] | [\Char])

ConStr (Convertir cadena) Tipo de dato: string

El dato de cadena que se desea convertir.

En el caso en que el argumento switch opcional sea omitido, la cadena que debeser convertida tiene un formato decimal (Dec).

[\Hex] (Hexadecimal) Tipo de dato: switch

La cadena que debe ser convertida tiene un formato hexadecimal.

[\Oct] (Octal) Tipo de dato: switch

La cadena que debe ser convertida tiene un formato octal.

[\Bin] (Binario) Tipo de dato: switch

La cadena que debe ser convertida tiene un formato binario.

[\Char] (Car ácter) Tipo de dato: switch

La cadena que debe ser convertida tiene un formato de carácter ASCII .

Limitaciones

Según el formato de la cadena que debe ser convertida, los siguientes datos decadena serán válidos:

Formato: Long.cadena: Alcance:Dec .....: ’0’ - ’9’  3 "0" - "255"Hex .....: ’0’ - ’9’, ’a’ -’f ’, ’A’ - ’F’ 2 "0" - "FF"Oct ......: ’0’ - ’7’ 3 "0" - "377"Bin ......: ’0’ - ’1’ 8 "0" - "11111111"

Char ....: Cualquier carácter ASCII (*) 1 Un carácter ASCII

(*) Los códigos de carácter RAPID (por ejemplo "\07" para el carácter de controlBEL) podrán ser utilizados como argumentos en ConStr .

Page 650: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 650/671

Page 651: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 651/671

 Pow Funciones

3-Pow-648 Tipos de Datos del Sistema y Rutinas

Page 652: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 652/671

Funciones   StrToVal 

Tipos de Datos del Sistema y Rutinas 3-StrToVal-649

StrToVal Conversión de una cadenaen un valor numérico

StrToVal (String To Value) sirve para convertir una cadena en un valor de cualquier tipode dato.

Ejemplo

VAR bool ok;VAR num nval;

ok := StrToVal("3.85",nval);

La variable ok  toma el valor TRUE y nval toma el valor de 3,85.

Valor de retorno Tipo de dato: bool

TRUE en el caso en que la conversión requerida haya sido satisfactoria, de lo contrario,será FALSE.

Argumentos

StrToVal ( Str Val )

Str (Cadena) Tipo de dato: string

Un valor de cadena que contiene datos literales con un formato que correspondeal tipo de dato utilizado en el argumento Val. El formato es válido como para losagregados literales en RAPID.

Val (Valor ) Tipo de dato: CUAL-QUIER TIPO

Es el nombre de la variable o del dato persistente de cualquier tipo para elalmacenamiento del resultado de la conversión. El dato permanecerá el mismoen el caso en que la conversión requerida haya fallado.

Page 653: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 653/671

StrToVal  Funciones

3-StrToVal-650 Tipos de Datos del Sistema y Rutinas

Ejemplo

VAR string 15 := “[600, 500, 225.3]”;VAR bool ok;

VAR pos pos15;

ok := StrToVal(str15,pos15);

La variable ok  adoptará el valor TRUE y la variable p15 adoptará el valor que está especificado en la cadena str15.

Sintaxis

StrToVal’(’[ Str ’:=’ ] <expresión (IN) de string> ’,’[ Val ’:=’ ] <var o pers (INOUT) de CUALQUIER TIPO>’)’

Una función con un valor de retorno del tipo de dato bool.

Información relacionada

Descrita en:

Funciones de las cadenas Resumen RAPID - Funciones decadena

Definición de una cadena Tipos de Datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 654: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 654/671

Funciones   Tan

Tipos de Datos del Sistema y Rutinas 3-Tan-651

Tan Cálculo del valor de la tangente

Tan (Tangente) sirve para calcular el valor de la tangente a partir de un valor de ángulo.

Ejemplo

VAR num angulo;VAR num valor;..valor := Tan(angulo);

Valor de retorno Tipo de dato: num

El valor de la tangente.

Argumentos

Tan (Angulo)

Angulo Tipo de dato: num

El valor del ángulo, expresado en grados.

Sintaxis

Tan’(’[Angulo ’:=’] <expresión (IN) de num>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrito en:

Instrucciones y funciones matemáticas Resumen RAPID - MatemáticasTangente del arco con valor de retornocomprendido entre [-180, 180] Funciones - ATan2

Page 655: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 655/671

Tan Funciones

3-Tan-652 Tipos de Datos del Sistema y Rutinas

Page 656: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 656/671

Funciones   TestDI 

Tipos de Datos del Sistema y Rutinas 3-TestDI-653

TestDI Comprobación de la activaciónde una entrada digital

TestDI sirve para comprobar si una entrada digital está activada.

Ejemplos

IF TestDI (di2) THEN . . .

Si el valor actual de la señal di2 es igual a 1, entonces . . .

IF NOT TestDI (di2) THEN . . .

Si el valor actual de la señal di2 es igual a 0, entonces . . .

WaitUntil TestDI(di1) AND TestDI(di2);

La ejecución del programa continua únicamente después de que las entradas di1 y di2 hayan sido activadas.

Valor de Retorno Tipo de dato: bool

TRUE = El valor actual de la señal es igual a 1.

FALSE = El valor actual de la señal es igual a 0.

Argumentos

TestDI (Señal)

Señal Tipo de dato: signaldi

El nombre de la señal que se desea comprobar.

Sintaxis

TestDI ’(’[ Señal ’:=’ ] < variable (VAR) of signaldi > ’)’

Una función con un valor de retorno del tipo de dato bool.

Page 657: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 657/671

TestDI  Funciones

3-TestDI-654 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrito en:

Lectura del valor de una señal Funciones - DInput de entrada digital

Instrucciones de Entrada/Salida Resumen RAPID -Señales de Entrada y Salida

Page 658: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 658/671

Funciones   TestAndSet

Tipos de Datos del Sistema y Rutinas 3-TestAndSet-655

TestAndSet Test de una variable y su activación

TestAndSet  se usa junto con un dato objeto normal del tipo bool, como un semáforo

binario, para recuperar el derecho exclusivo a áreas especí ficas de códigos RAPID o arecursos del sistema. La función puede usarse tanto entre diferentes tareas del pro-grama como en diferentes niveles de ejecución (Rutinas de Tratamiento de Interrup-ciones o Rutinas de evento) dentro de la misma tarea de programa.

Ejemplo de recursos que pueden necesitar una protección de acceso simultánea:

- Utilización de alguna rutina RAPID con problema de funcionamiento si se rea-liza una ejecución paralela.

- Utilización de la Unidad de Programación - Entradas y Salidas del Operador.

Ejemplo

Tarea MAIN del programa:

PERS bool tproutine_inuse := FALSE;....WaitUntil TestAndSet(tproutine_inuse);TPWrite "First line from MAIN";TPWrite "Second line from MAIN";TPWrite "Third line from MAIN";

tproutine_inuse := FALSE;

Tarea BACK1 del programa:

PERS bool tproutine_inuse := FALSE;.... .WaitUntil TestAndSet(tproutine_inuse);TPWrite "First line from BACK1";TPWrite "Second line from BACK1";TPWrite "Third line from BACK1";tproutine_inuse := FALSE;

Para evitar que se mezclen las lí neas, una de la tarea MAIN y otra de la tarea BACK1,la utilización de la función TestAndSet garantiza que las tres lí neas de cada tarea noestén separadas.

Así , si la tarea del programa MAIN utiliza el semáforo TestAndSet(tproutine_inuse)primero, entonces la tarea del programa BACK1 deberá esperar que la tarea de pro-grama MAIN haya dejado el semáforo.

Valor de retorno Tipo de dato: num

TRUE si el semáforo ha sido utilizado por mí , de lo contrario se indica FALSE.

Page 659: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 659/671

TestAndSet Funciones

3-TestAndSet-656 Tipos de Datos del Sistema y Rutinas

Argumentos

TestAndSet Objeto

Objeto Tipo de dato: bool

Es el dato objeto definido por el usuario que deberá utilizarse como semáforo. Eldato objeto puede ser una VAR o una PERS. Si se utiliza TestAndSet entre dife-rentes tareas del programa, el objeto deberá ser una PERS o una VAR instalada(objetos intertarea).

Ejecución del programa

Esta función comprobará en un sólo paso la variable definida por el usuario, la activará en el caso en que no esté activada, y retornará TRUE, de lo contrario, retornará FALSE.

IF Object = FALSE THENObject := TRUE;RETURN TRUE;

ELSERETURN FALSE;

ENDIF

Ejemplo

LOCAL VAR bool doit_inuse := FALSE;...PROC doit(...)

WaitUntil TestAndSet (doit_inuse);....doit_inuse := FALSE;

ENDPROC

Si se está usando un módulo que ha sido instalado de forma incorporada y que escompartido, se podrá utilizar una variable de módulo local para la protección de

acceso desde diferentes tareas de programa de forma simultánea.

Nota en este caso: Si la ejecución del programa es detenida en la rutina doit  yque se mueve el indicador de posición a main, la variable doit_inuse no será rei-nicializada. Para evitar esta reinicialización, la variable doit_inuse deberá colo-carse en FALSE en la rutina de evento START.

Sintaxis

TestAndSet ’(’[ Object ’:=’ ] < variable o persistente (INOUT) de bool> ’)’

Una función con un valor de retorno del tipo de dato bool.

Page 660: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 660/671

Funciones   TestAndSet

Tipos de Datos del Sistema y Rutinas 3-TestAndSet-657

Información relacionada

Descrita en:

Módulo incorporado y compartido Guí a del Usuario - Par ámetros delSistema

Objetos intertarea Manual RAPID Developer’s -Manual RAPID Kernel Reference -Objetos intertarea

Page 661: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 661/671

TestAndSet Funciones

3-TestAndSet-658 Tipos de Datos del Sistema y Rutinas

Page 662: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 662/671

Funciones   Trunc

Tipos de Datos del Sistema y Rutinas 3-Trunc-659

Trunc Truncar un valor numérico

Trunc (Truncate) sirve para truncar un valor numérico a un número especificado de

decimales o a un número entero.

Ejemplo

VAR num val;

val := Trunc(0,38521\Dec:=3);

La variable val toma el valor de 0,385.

reg1 := 0,38521

val := Trunc(reg1\Dec:=1);

La variable val toma el valor de 0,3.

val := Trunc(0,38521);

La variable val toma el valor de 0.

Valor de retorno Tipo de dato: num

El valor numérico truncado al número especificado de decimales.

Argumentos

Trunc ( Val [\Dec] )

Val (Valor ) Tipo de dato: num

El valor numérico que debe ser truncado.

[\Dec] ( Decimales) Tipo de dato: num

Es el número de decimales.

En el caso en que el número especificado de decimales sea 0 o si se omite el argu-mento, el valor será truncado a un valor entero.

El número de decimales no deberá ser negativo ni mayor que la precisión dis-ponible para los valores numéricos.

Page 663: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 663/671

Trunc Funciones

3-Trunc-660 Tipos de Datos del Sistema y Rutinas

Sintaxis

Trunc’(’[ Val ’:=’ ] <expresión (IN) de num>

[ \Dec ’:=’ <expresión (IN) de num> ]’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrita en:

Instrucciones y funciones matemáticas Resumen RAPID - Matemáticas

Redondear un valor Funciones - Round 

Page 664: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 664/671

Funciones   ValToStr

Tipos de Datos del Sistema y Rutinas 3-ValToStr-661

ValToStr Conversión de un valor en una cadena

ValToStr (Value To String) sirve para convertir un valor de cualquier tipo de dato en una

cadena.

Ejemplo

VAR string str;VAR pos p := [100,200,300];

str := ValToStr(1,234567);

La variable str  toma el valor de "1,234567".

str := ValToStr(TRUE);

La variable str  toma el valor de "TRUE".

str := ValToStr(p);

La variable str  toma el valor de "[100,200,300]".

Valor de retorno Tipo de dato: string

El valor es convertido en una cadena con el formato RAPID estándar. Ello significa enprincipio 6 cifras significantes. Si la parte decimal es menor que 0,000005 o mayor que0,999995, el número será redondeado a un número entero.

Se producirá un error de ejecución si la cadena resultante es demasiado larga.

Argumentos

ValToStr ( Val )

Val (Valor ) Tipo de dato: ANYTYPE 

Un valor de cualquier tipo de dato.

Sintaxis

ValToStr’(’[ Val ’:=’ ] <expresión (IN) de ANYTYPE >’)’

Una función con un valor de retorno del tipo de dato string.

Page 665: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 665/671

ValToStr Funciones

3-ValToStr-662 Tipos de Datos del Sistema y Rutinas

Información relacionada

Descrita en:

Funciones de las cadenas Resumen RAPID - Funciones decadena

Definición de una cadena Tipos de Datos - string

Valores de las cadenas Caracterí sticas Básicas - Elementos Básicos

Page 666: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 666/671

Funciones   VectMagn

Tipos de Datos del Sistema y Rutinas 3-VectMagn-663

VectMagn Magnitud de un vector de posición

VectMagn (Vector Magnitude) sirve para calcular la magnitud de un vector de posición

 pos.

Ejemplo

Un vector A puede ser reprentado como la suma de sus componentes en las tres direc-ciones ortogonales:

La magnitud de A es:

El vector está descrito por el tipo de dato pos y la magnitud por el tipo de dato num:

VAR num magnitude;VAR pos vector;

..vector := [1,1,1];magnitude := VectMagn(vector);

Valor de retorno Tipo de dato: num

La magnitud del vector (tipo de dato pos).

Az

 A x

 A y

 A z

y

x

 A A x x A y y A z z+ +=

 A A x

2 A y

2 A z

2+ +=

Page 667: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 667/671

VectMagn Funciones

3-VectMagn-664 Tipos de Datos del Sistema y Rutinas

Argumentos

VectMagn (Vector)

Vector Tipo de dato: pos

Es el vector descrito por el tipo de dato pos.

Sintaxis

VectMagn’(’[Vector ’:=’] <expresión (IN) de pos>’)’

Una función con un valor de retorno del tipo de dato num.

Información relacionada

Descrita en:

Funciones e instrucciones matemáticas Resumen RAPID - Matemáticas

Page 668: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 668/671

 

INDICE

Tipos de Datos del Sistema y Rutinas 4-665

A

Abs 505

AccSet 125

ACos 507

ActUnit 127

Adición 129

AliasIO 131

AOutput 509

archivo

cerrar 151, 335

escritura 457, 461

leer 601, 607

reiniciar 335arco coseno 507

arco tangente 513, 515

aritmética 123

asignación 123

ASin 511

ATan 513

ATan2 515

B

bool 5borrado del contenido del visualizador de la

unidad de programación. 387

Borrar 143

Break 135

byte 7

C

C_MOTSET 81

C_PROGDISP 81

cadena de texto 77

CallByVar 139

canal serie

abrir 301

archivo 461

cerrar 151

escritura 457

leer 601, 607

reiniciar 335

carga

activar carga útil 187

carga útil 31activar 187

CDate 525

Cerrar 151

circular movement 257, 273CJointT 521

ClkRead 529

ClkStart 147

ClkStop 149

clock 9

stop 149

Comentarios 153

Compact IF 195

condición 197

confdata 11

ConfJ 155ConfL 157

CONNECT 159

control de la configuración 155, 157

Cos 531

CPos 533

CRobT 535

cronómetro 9, 147

CTime 537

cuaternio 50

D

datos de carga 31

datos del sistema 81

DeactUnit 161

Decr 163

desplazamiento

posición 583

desplazamiento de programa

activar 311

desactivar 309

eliminar de la posición 589

Dim 551

dionum 17

disminución 163

disminución de la velocidad 453

DotProd 555, 579, 663

DOutput 557

E

ejes externos

activar 127desactivar 161

Page 669: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 669/671

 

4-666 Tipos de Datos del Sistema y Rutinas

EOffsOff 165

EOffsOn 167

EOffsSet 169

ERRNO 81

errnum 19ErrWrite 171

escribir

en la unidad de programación 399

espera

activación de una entrada digital 449

activación de una salida digital 451

esperar

cualquier condición 471

hasta que el robot esté en posición 469

un tiempo especí fico 469

etiqueta 247EulerZYX 559

EXIT 173

ExitCycle 175

Exp 561

exponential value 645

extjoint 23

F

fecha 525

fileabrir 301

load 337

read 611, 621

spystart 69, 105, 107, 211, 223

unload 445, 553

write 323, 465, 467

fino 109

FOR 179

Functions 183

G

GetTime 567

GOTO 185

GOutput 569

GripLoad 187

grupo de E/S 361, 569

H

hora 537, 567

I

IDelete 189

IDisable 191

IEnable 193

IF 195, 197

Incr 199

incremento 199

Interrupción

borrar 189

interrupción

a partir de una entrada digital 227

a partir de una salida digital 231

activación 245

conexión 159

desactivación 235habilitación 193

identidad 25

inhabilitación 191

temporizada 237

INTNO 81

intnum 25

InvertDO 201

IO unit

disable 203

enable 207

iodev 3, 27IODisable 203

IOEnable 207

ISignalDI 227

ISignalDO 231

ISleep 235

ITimer 237

IvarValue 241

IWatch 245

J

 joint movement 277, 293

 jointtarget 47

L

lectura

tecla de función 389

leer

archivo 601, 607

canal serie 601, 607

fecha actual 525grupo de salidas 569

Page 670: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 670/671

 

Tipos de Datos del Sistema y Rutinas 4-667

hora actual 537, 567

posición del robot utilizado 535

reloj 529

salida digital 557

linear movement 285, 297, 385llamada de un procedimiento nuevo 137

lmovimiento lineal 289

Load 249, 337

loadsession 37

M

manipulación de bits 7

matriz

obtener tamaño 551

mechanical unit 39

MechUnitLoad 253

mecunit 39

motsetdata 41

MoveC 267

MoveCDO 273

MoveCSync 257

MoveJ 281

MoveJDO 277

MoveJSync 293

MoveL 289, 385

MoveLDO 285MoveLSync 297

movement

circle 257, 273

 joint 277, 293

linear 285, 297, 385

movimiento

cí rculo 267

eje a eje 281

lineal 289

movimiento circular 267

movimiento eje a eje. 281

N

num 45

O

objetos de trabajo 99

Offs 583

offset 583

Open 301orient 49

OrientZYX 587

ORobT 589

P

Paro 377PathResol 305

PDispOff 309

PDispOn 311

pos 55

pose 57

PoseInv 591

PoseMult 593

posición del robot 53, 65

Pow 597

Presente 599

ProcCall 137

procedimiento nuevo

llamar 137

PulseDO 319

punto de paro 109

punto de paso 109

R

RAISE 321

raí z cuadrada 629

read

current joint angles 521

file 611, 621

serial channel 611, 621

ReadBin 601

ReadNum 607

ReadStr 611, 621

recuperación de errores

reintento 331, 435

reducción de la aceleración 125

Reiniciar 335reloj

arranque 147

leer 529

RelTool 515, 547, 585, 597, 625

Repetición 179

repetición 455

Reset 327

resolución de trayectoria

cambio 305

RestoPath 329

RETRY 331RETURN 333

Page 671: Datos Funciones Rutinas Castellano

8/14/2019 Datos Funciones Rutinas Castellano

http://slidepdf.com/reader/full/datos-funciones-rutinas-castellano 671/671

 

Rewind 335

robot joint position 47

robtarget 53, 65

S

salida analógica

activación 357

salida digital 557

activación 355, 359

pulso 319

reinicializar 327

salto 185

SearchC 341

SearchL 347

serial channel

file 323, 465, 467

read 611, 621

Set 355

SetAO 357

SetDO 359

SetGO 361

signalai 71

signalao 71

signaldi 71

signaldo 71

signalgi 71signalgo 71

Sin 627

SingArea 363

sistema de coordenadas del objeto 99

sistema de coordenadas del usuario 99

speeddata 73

SpyStart 69, 105, 107, 211, 223, 369

SpyStop 373

Sqrt 629

StartMove 375

StopMove 379

StorePath 381

string 77

Symnum 79

T

Tan 651

TEST 383

TestDI 653

tooldata 87

TPErase 387tpnum 93

TPReadFK 389

TPReadNum 393

TPShow 397

TPWrite 399

trayectoria esquina 109TriggC (Trig Circular) 401

triggdata 95

TriggEquip 407

TriggInt 413

TriggIO 419

TriggJ (Trigg Joint) 425

TriggL (Trigg Linear) 429

TRYNEXT 435

tunetype 97

U

unidad de accionamiento común 127, 161

unidad mecánica

activar 127

desactivar 161

UnLoad 445, 553

V

valor absoluto 505

valor del arco seno 511

valor exponencial 561, 597

valor lógico 5

valor numérico 45

velocidad 73

disminución 453

máx. 453

velocidad máxima 453

VelSet 453

W

WaitDI 449WaitDO 451

WaitTime 469

WaitUntil 471

WHILE 455

wobjdata 99

Write 457

write

on the teach pendant 397

WriteBin 461

WriteStrBin 323, 465, 467WZBoxDef 475