Sie sind auf Seite 1von 342

Manual de referencia de RAPID

BaseWare
Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z

RobotWare-OS 4.0
Manual de referencia de RAPID
3HAC 7778-1
La revisin A

BaseWare
Manual de referencia de RAPID la parte 2, Funciones ndice
y tipos de datos A-Z

Funciones A-Z

Tipos de datos A-Z

ndice alfabtico

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


La informacin de este manual puede cambiar sin previo aviso y no puede entenderse como un compromiso por
parte de ABB. ABB no se hace responsable de ningn error que pueda aparecer en este manual.

Excepto en los casos en que se indica expresamente en este manual, ninguna parte del mismo debe entenderse
como ninguna garanta por parte de ABB por las prdidas, lesiones, daos materiales, idoneidad para un fin
determinado ni garantas similares.

Se prohibe la reproduccin o la copia de este manual o cualquiera de sus partes si no se cuenta con una
autorizacin escrita de ABB. Ninguna parte de este manual debe ser entregada a terceros ni utilizada para fines
no autorizados. Cualquier incumplimiento de esta norma ser perseguida legalmente.

Usted puede obtener copias adicionales de este manual a travs de ABB, con el coste aplicable en el momento
de su solicitud.

2003 ABB Reservados todos los derechos.

ABB Automation Technology Products AB


Robotics
SE-721 68 Vsters
Suecia

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ndice

Abs - Obtiene el valor absoluto .................................................................................................. 1


ACos - Calcula el valor de arco coseno ..................................................................................... 3
AOutput - Lee el valor de una seal analgica de salida......................................................... 5
ASin - Calcula el valor del arco seno ......................................................................................... 7
ATan - Calcula el valor de arco tangente .................................................................................. 9
ATan2 - Calcula el valor de arco tangente 2 ........................................................................... 11
ByteToStr - Convierte un byte en un dato de cadena de caracteres ..................................... 13
CalcJointT - Calcula los ngulos de las ejes a partir del valor de robtarget ....................... 17
CalcRobT - Calcula el valor de robtarget a partir de jointtarget ........................................ 21
CalcRotAxisFrame - Calcular la base de coordenadas de un eje de rotacin ..................... 23
CDate - Lee la fecha actual como una cadena ........................................................................ 27
CJointT - Lee los ngulos actuales de los ejes ........................................................................ 29
ClkRead - Lee un reloj utilizado para la temporizacin ....................................................... 31
Cos - Calcula el valor del coseno.............................................................................................. 33
CPos - Lee los datos de posicin (pos) actuales ...................................................................... 35
CRobT - Lee los datos de posicin (robtarget) actuales ........................................................ 39
CSpeedOverride - Lee el ajuste de velocidad actual.............................................................. 41
CTime - Lee la hora actual en forma de una cadena ............................................................. 43
CTool - Lee los datos actuales de la herramienta................................................................... 45
CWObj - Lee los datos del objeto de trabajo actual .............................................................. 47
DefAccFrame - Define una base de coordenadas exacta ....................................................... 49
DefDFrame - Define una base de coordenadas de desplazamiento ...................................... 53
DefFrame - Define una base de coordenadas ......................................................................... 57
Dim - Obtiene las dimensiones de una matriz ........................................................................ 61
Distance - Distancia entre dos puntos...................................................................................... 63
DotProd - Producto escalar de dos vectores pos..................................................................... 65
DOutput - Lee el valor de una seal digital de salida ............................................................ 67
EulerZYX - Obtiene ngulos Euler a partir de una orientacin .......................................... 69
Exp - Calcula el valor exponencial .......................................................................................... 71
FileTime - Obtiene la informacin de hora de un archivo .................................................... 73
GetNextMechUnit - Obtener los nombres de las unidades mecnicas................................. 77
GetNextSym - Obtiene el siguiente smbolo coincidente ....................................................... 79
GetTaskName - Obtiene el nombre de la tarea actual ........................................................... 81
GetTime - Lee la hora actual como un valor numrico ......................................................... 83
GOutput - Lee el valor de un grupo de seales digitales de salida ....................................... 85
IsMechUnitActive - Indica si una unidad mecnica est activa ........................................... 87
IsPers - Determina si es una variable persistente................................................................... 89
IsSysID - Comprobar la identidad del sistema....................................................................... 91

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z I


ndice

IsVar - Determina si un dato es una variable ......................................................................... 93


MaxRobSpeed - Velocidad mxima del robot ........................................................................ 95
MirPos - Obtencin de la posicin espejo de una posicin.................................................... 97
ModTime - Obtener el tiempo de carga de un mdulo cargado ........................................... 99
NOrient - Normaliza la orientacin....................................................................................... 101
NumToStr - Convierte un valor numrico en una cadena de caracteres ........................... 103
Offs - Desplaza una posicin del robot .................................................................................. 105
OpMode - Lee el modo de funcionamiento ........................................................................... 107
OrientZYX - Genera una orientacin a partir de ngulos Euler ....................................... 109
ORobT - Elimina un desplazamiento de programa de una posicin...................................111
PoseInv - Invierte la pose........................................................................................................ 113
Pose - Tipo de dato:................................................................................................................. 115
PoseVect - Multiplicar una pose y un vector......................................................................... 117
Pow - Calcula el resultado de elevar un valor a una potencia ............................................ 119
Present - Comprueba si se est usando un parmetro opcional ......................................... 121
ReadBin - Lee un byte de un archivo o un canal serie......................................................... 123
ReadMotor - Lee los ngulos actuales de los motores ......................................................... 127
ReadNum - Lee un nmero de un archivo o un canal serie ................................................ 129
ReadStr - Lee una cadena de caracteres de un archivo o un canal serie ........................... 133
ReadStrBin - Lee una cadena de un canal serie o un archivo binario ............................... 139
RelTool - Hace un desplazamiento respecto de la herramienta .......................................... 143
RobOS - Comprueba si el programa se est ejecutando en RC o VC................................ 145
Round - Redondea un valor numrico .................................................................................. 147
RunMode - Obtiene el modo de ejecucin ............................................................................ 149
Sin - Calcula el valor del seno ................................................................................................ 151
Sqrt - Calcula la raz cuadrada.............................................................................................. 153
StrFind - Busca un carcter en una cadena de caracteres .................................................. 155
StrLen - Obtiene la longitud de una cadena ......................................................................... 157
StrMap - Mapea una cadena de caracteres........................................................................... 159
StrMatch - Busca un patrn dentro de una cadena de caracteres...................................... 161
StrMemb - Comprueba si un carcter pertenece a un conjunto ........................................ 163
StrOrder - Comprueba si dos cadenas de caracteres estn ordenadas .............................. 165
StrPart - Busca una parte de una cadena ............................................................................. 167
StrToByte - Convierte una cadena en un byte ...................................................................... 169
StrToVal - Convierte una cadena de caracteres en un valor ............................................... 173
Tan - Calcula el valor de tangente ......................................................................................... 175
TestAndSet - Comprueba una variable y la establece si no est establecida ..................... 177
TestDI - Comprobar si una entrada digital est activada ................................................... 181

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z II


ndice

TestSignRead - Obtiene el valor de una seal de test........................................................... 183


Trunc - Trunca un valor numrico ........................................................................................ 187
ValToStr - Convierte un valor en una cadena....................................................................... 189
VectMagn - Magnitud de un vector pos ................................................................................ 191
aiotrigg - Condicin de disparo con E/S analgica .............................................................. 193
bool - Valores lgicos............................................................................................................... 195
byte - Valores decimales de 0 a 255........................................................................................ 197
clock - Medicin de tiempo..................................................................................................... 199
confdata - Datos de configuracin del robot......................................................................... 201
dionum - Valores digitales 0 y 1 ............................................................................................. 209
errdomain - Dominio de error ............................................................................................... 211
errnum - Nmero de error ..................................................................................................... 213
errtype - Tipo de error............................................................................................................ 219
extjoint - Posicin de los ejes externos................................................................................... 221
intnum - Identidad de interrupcin....................................................................................... 223
iodev - Canales serie y archivos ............................................................................................. 225
jointtarget - Datos de posicin de eje..................................................................................... 227
loaddata - Datos de carga ....................................................................................................... 229
loadsession - Programar una sesin de carga ....................................................................... 235
mecunit - Unidad mecnica .................................................................................................... 237
motsetdata - Datos de parmetros de movimiento............................................................... 239
num - Valores numricos (registros)...................................................................................... 245
o_jointtarget - Datos originales de posiciones de ejes .......................................................... 247
o_robtarget - Datos de posicin originales............................................................................ 249
opnum - Operador de comparacin ...................................................................................... 253
orient - Orientacin................................................................................................................. 255
pos - Posiciones (slo X, Y y Z) .............................................................................................. 261
pose - Transformaciones de coordenadas ............................................................................. 263
progdisp - Desplazamiento de programa .............................................................................. 265
robjoint - Posicin de eje de los ejes del robot...................................................................... 267
robtarget - Datos de posicin ................................................................................................. 269
shapedata - Datos de forma de zonas mundo ....................................................................... 273
signalxx - Seales digitales y analgicas................................................................................ 275
speeddata - Datos de velocidad .............................................................................................. 277
stoppointdata - Datos de punto de paro ................................................................................ 281
string - Cadenas de caracteres ............................................................................................... 289
symnum - Nmero simblico.................................................................................................. 291
Datos de sistema ...................................................................................................................... 293

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z III


ndice

taskid - Identificacin de tareas ............................................................................................. 295


testsignal - Seal de test .......................................................................................................... 297
tooldata - Datos de herramientas........................................................................................... 299
tpnum - Nmero de ventana de la unidad de programacin .............................................. 305
triggdata - Eventos de posicionamiento - trigg..................................................................... 307
trapdata - Datos de interrupcin para la rutina TRAP actual ........................................... 309
tunetype - Tipo de ajuste de servo ......................................................................................... 311
wobjdata - Datos del objeto de trabajo ................................................................................. 313
wzstationary - Datos de zona mundo estacionaria ............................................................... 317
wztemporary - Datos de zona mundo temporal ................................................................... 319
zonedata - Datos de zonas....................................................................................................... 321

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z IV


Abs
Funcin

Abs - Obtiene el valor absoluto


Abs se utiliza para obtener el valor absoluto, es decir, un valor positivo a partir de un
dato numrico.

Ejemplo
reg1 := Abs(reg2);
Se asigna a Reg1 el valor absoluto de reg2.

Valor de retorno Tipo de dato: num


El valor absoluto, es decir, un valor numrico positivo.
Por ejemplo Valor de entrada Valor devuelto
3 3
-3 3
-2,53 2,53

entre s
Abs (Input)
Input Tipo de dato: num
El valor de entrada.

Ejemplo
TPReadNum no_of_parts, "Cuntas piezas hay que producir? ";
no_of_parts := Abs(no_of_parts);
Se pregunta al operador cuntas piezas deben producirse. Para garantizar que el
valor sea mayor que cero, se convierte en positivo el valor introducido por el
operador.

Sintaxis
Abs (
[ Input := ] < expresin (IN) of num > )
Una funcin con un valor de retorno del tipo de dato num.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 1


Abs
Funcin

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

2 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ACos
Funcin

ACos - Calcula el valor de arco coseno


ACos (arco coseno) se utiliza para calcular el valor de arco coseno.

Ejemplo
VAR num angle;
VAR num value;
.
.
angle := ACos(value);

Return value
ACos Tipo de dato: num

El valor del arco coseno, expresado en grados, en el rango [0, 180].

Argumentos
ACos (Value)
Value Tipo de dato: num

El valor del argumento en el rango [-1, 1].

Sintaxis
Acos(
[Value :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 3


ACos
Funcin

4 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


AOutput
Funcin

AOutput - Lee el valor de una seal analgica de salida


AOutput se utiliza para obtener el valor actual de una seal analgica de salida.

Ejemplo
IF AOutput(ao4) > 5 THEN ...

Si el valor actual de la seal ao4 es mayor que 5, ...

Valor de retornoTipo de dato: num


El valor actual de la seal.

Al valor actual se le aplica una escala (acorde con los parmetros del sistema) antes de
leerlo desde el programa de RAPID. Consulte la Figura 1.

Valor fsico de la seal


de salida (V, mA, etc.)

MX. DE SEAL

MX. DE PROGRAMA

Valor lgico en el
programa
MN. DE PROGRAMA

MN. DE SEAL

Figura 1 Diagrama de cmo se ajustan los valores de las seales analgicas a una
escala.

Argumentos
AOutput (Signal)
Signal Tipo de dato: signalao

El nombre de la salida analgica que debe leerse.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 5


AOutput
Funcin

Sintaxis
AOutput (
[ Signal := ] < variable (VAR) of signalao > )

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones de entrada y salida Resumen sobre RAPID -
Seales de entrada y salida
Funcionalidad general de las entradas Principios de movimiento y E/S -
y salidas Principios de E/S
Configuracin de E/S Gua del usuario -
Parmetros del sistema

6 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ASin
Funcin

ASin - Calcula el valor del arco seno


ASin (arco seno) se utiliza para calcular el calor de arco seno.

Ejemplo
VAR num angle;
VAR num value;
.
.
angle := ASin(value);

Valor de retorno Tipo de dato: num

El valor del arco seno, expresado en grados, en el rango [-90, 90].

Argumentos
ASin (Value)
Value Tipo de dato: num

El valor del argumento en el rango [-1, 1].

Sintaxis
ASin(
[Value :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 7


ASin
Funcin

8 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ATan
Funcin

ATan - Calcula el valor de arco tangente


ATan (arco tangente) se utiliza para calcular el valor de arco tangente.

Ejemplo
VAR num angle;
VAR num value;
.
.
angle := ATan(value);

Valor de retorno Tipo de dato: num

El valor del arco tangente, expresado en grados, en el rango [-90, 90].

Argumentos
ATan (Value)
Value Tipo de dato: num

El valor del argumento.

Sintaxis
ATan(
[Value :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas
Arco tangente con un valor de retorno en el Funciones - ATan2
rango [-180, 180]

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 9


ATan
Funcin

10 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ATan2
Funcin

ATan2 - Calcula el valor de arco tangente 2


ATan2 (arco tangente 2) se utiliza para calcular el valor del arco tangente 2.

Ejemplo
VAR num angle;
VAR num x_value;
VAR num y_value;
.
.
angle := ATan2(y_value, x_value);

Valor de retorno Tipo de dato: num

El valor del arco tangente, expresado en grados, en el rango [-180, 180].

El valor ser igual a ATan(y/x), pero en el rango [-180, 180], ya que la funcin utiliza
el signo de los dos argumentos para determinar el cuadrante del valor de retorno.

Argumentos
ATan2 (Y X)
Y Tipo de dato: num

El valor del argumento numerador.

X Tipo de dato: num

El valor del argumento denominador.

Sintaxis
ATan2(
[Y :=] <expresin (IN) de num> ,
[X :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 11


Atan2
Funcin

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas
Arco tangente con un solo argumento Funciones - ATan

12 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ByteToStr
Funcin

ByteToStr - Convierte un byte en un dato de cadena de


caracteres
ByteToStr (byte a cadena de caracteres) se utiliza para convertir un byte a un dato del
tipo string con un formato de datos de byte definido.

Ejemplo
VAR string con_data_buffer{5};
VAR byte data1 := 122;

con_data_buffer{1} := ByteToStr(data1);

El contenido del componente con_data_buffer{1} de la matriz ser 122


despus de la funcin ByteToStr.

con_data_buffer{2} := ByteToStr(data1\Hex);

El contenido del componente con_data_buffer{2} de la matriz ser 7A despus


de la funcin ByteToStr.

con_data_buffer{3} := ByteToStr(data1\Okt);

El contenido del componente con_data_buffer{3} de la matriz ser 172


despus de la funcin ByteToStr.

con_data_buffer{4} := ByteToStr(data1\Bin);

El contenido del componente con_data_buffer{4} de la matriz ser 01111010


despus de la funcin ByteToStr.

con_data_buffer{5} := ByteToStr(data1\Char);

El contenido del componente con_data_buffer{5} de la matriz ser z despus


de la funcin ByteToStr.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 13


ByteToStr
Funcin

Valor de retorno
ByteToStr Tipo de dato: string

El resultado de la operacin de conversin, con el formato siguiente:

Formato: Caracteres: Longitud de cad.: Rango:


Dec .....: 0 - 9 1-3 "0" - "255"
Hex .....: 0 - 9, A -F 2 "00" - "FF"
Okt ......: 0 - 7 3 "000" - "377"
Bin ......: 0 - 1 8 "00000000" - "11111111"
Char ....: Cualquier ASCII (*) 1 Un carcter ASCII

(*) Si es un carcter ASCII no imprimible, el formato de retorno ser el formato


de cdigo de carcter de RAPID (por ejemplo \07 para el carcter de control
BEL).

Argumentos
ByteToStr (BitData [\Hex] | [\Okt] | [\Bin] | [\Char])
BitData Tipo de dato: byte

Los datos de bits a convertir.

Si se omite el argumento modificador opcional, los datos se convierten al formato


decimal (Dec).

[\Hex] (Hexadecimal) Tipo de dato: switch

Los datos se convierten al formato hexadecimal.

[\Okt] (Octal) Tipo de dato: switch

Los datos se convierten al formato octal.

[\Bin] (Binario) Tipo de dato: switch

Los datos se convierten al formato binario.

[\Char] (Carcter) Tipo de dato: switch

Los datos se convierten al formato de carcter ASCII.

Limitaciones
El rango de los tipos de datos byte es de 0 a 255 en decimal.

14 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Pow
Funcin

Sintaxis
ByteToStr(
[BitData :=] <expresin (IN) de byte>
[\ Hex ] | [\ Okt] | [\ Bin] | [\ Char]
) ;

Una funcin con un valor de retorno del tipo de dato string.

Informacin relacionada
Descrito en:
Conversin de una cadena de caracteres Instrucciones - StrToByte
a datos de bits
Otras funciones de bits (bytes) Resumen sobre RAPID -
Funciones de bits
Otras funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 15


Pow
Funcin

16 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CalcJointT
Funcin

CalcJointT - Calcula los ngulos de las ejes a partir del valor


de robtarget
CalcJointT (calcular objetivo de ejes) se utiliza para calcular ngulos de los ejes del
robot y de los ejes externos a partir de datos robtarget especificados.

Los datos de entrada robtarget deben especificarse con el mismo sistema de


coordenadas que se especifique como argumento en Tool, en WObj, en el
desplazamiento de programa activo en el momento de la ejecucin (ProgDisp) y en el
offset de los ejes externos (EOffs). Los datos jointtarget devueltos se expresan en el
sistema de coordenadas de calibracin.

Ejemplo
VAR jointtarget jointpos1;
CONST robtarget p1 := [...];

jointpos1 := CalcJointT(p1, tool1 \WObj:=wobj1);

El valor de jointtarget que corresponde al valor de robtarget p1 se almacena en


jointpos1. La herramienta tool1 y el objeto de trabajo wobj1 se utilizan para
calcular los ngulos de los ejes jointpos1.

Valor de retornoTipo de dato: jointtarget


Los ngulos en grados de los ejes del robot en el lado del brazo.

Los valores de los ejes externos, en mm para los ejes lineales y en grados para los ejes
de rotacin.

Los valores devueltos estn siempre relacionados con la posicin de calibracin.

Argumentos
CalcJointT (Rob_target Tool [\WObj] )
Rob_target Tipo de dato: robtarget

La posicin del robot y de los ejes externos en el sistema de coordenadas ms


externo respecto de la herramienta y el objeto de trabajo especificados y respecto
del desplazamiento de programa activo en el momento de la ejecucin
(ProgDisp) y/o el offset de los ejes externos (EOffs).

Tool Tipo de dato: tooldata

La herramienta utilizada para el clculo de los ngulos de los ejes del robot.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 17


CalcJointT
Funcin

[\WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) con el que est relacionada la


posicin del robot.

Si se omite este argumento, se utiliza el objeto de trabajo wobj0.


Este argumento debe especificarse si se utiliza una herramienta estacionaria, ejes
externos coordinados o un transportador.

Ejecucin de programas
El valor jointtarget devuelto se calcula a partir del valor de entrada robtarget.
Para calcular los ngulos de los ejes del robot, se tienen en cuenta Tool, WObj (incluida
la base coordinada de coordenadas del usuario) y el ProgDisp activo en el momento de
la ejecucin. Para calcular la posicin de los ejes externos en el momento de la
ejecucin, se tiene en cuenta el EOffs activo.

El clculo selecciona siempre la configuracin del robot acorde con los datos de
configuracin especificados en los datos de entrada robtarget. Ni la instruccin ConfL
ni ConfJ afectan a este principio de clculo. Si se utiliza la singularidad de la mueca,
se cambia el eje 4 a 0 grados.

Si hay cualquier desplazamiento de programa activo (ProgDisp) y/o se almacena un


desplazamiento de eje externo (EOffs) en el momento de almacenar los datos robtarget,
es necesario que el mismo desplazamiento de programa y/o el mismo offset de eje
externo est activo cuando se ejecuta CalcJointT.

Gestin de errores
Si al menos uno de los ejes est fuera del rea de trabajo o se superan los lmites en al
menos un eje acoplado, la variable de sistema ERRNO cambia a ERR_ROBLIMIT y
la ejecucin contina en el gestor de errores.

A partir de ese momento, el gestor de errores puede controlar la situacin.

Sintaxis
CalcJointT(
[Rob_target :=] <expresin (IN) de robtarget> ,
[Tool := ] <variable persistente (PERS) de tooldata>
[\WObj := <variable persistente (PERS) de wobjdata>] )

Una funcin con un valor de retorno del tipo de dato jointtarget.

18 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CalcJointT
Funcin

Informacin relacionada
Descrito en:
Clculo de robtarget a partir de jointtarget Funciones - CalcRobT
Definicin de posicin Tipos de datos - robtarget
Definicin de posicin de los ejes Tipos de datos - jointtarget
Definicin de herramientas Tipos de datos - tooldata
Definicin de objetos de trabajo Tipos de datos - wobjdata
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas
Sistema de coordenadas de desplazamiento Instrucciones - PDispOn
de programa
Sistema de coordenadas de offset Instrucciones - EOffsOn
de ejes externos

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 19


CalcJointT
Funcin

20 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CalcRobT
Funcin

CalcRobT - Calcula el valor de robtarget a partir de jointtarget


CalcRobT (calcular objetivo de robot) se utiliza para calcular los datos de robtarget a
partir de datos jointtarget determinados.
Esta funcin devuelve un valor de robtarget con la posicin (x, y, z), la orientacin
(q1 ... q4), la configuracin de los ejes del robot y la posicin de los ejes externos.
Los datos de entrada de jointtarget deben especificarse en el sistema de coordenadas
de calibracin. Los datos robtarget devueltos se expresan en el sistema de coordenadas
ms externos y tienen en cuenta la herramienta especificada, el objeto de trabajo, el
desplazamiento de programa activo en el momento de la ejecucin (ProgDisp) y el
offset de los ejes externos (EOffs).

Ejemplo
VAR robtarget p1;
CONST jointtarget jointpos1 := [...];
p1 := CalcRobT(jointpos1, tool1 \WObj:=wobj1);
El valor de robtarget que corresponde al valor de jointtarget jointpos1 se
almacena en p1. La herramienta tool1 y el objeto de trabajo wobj1 se utilizan
para calcular la posicin p1.

Valor de retorno Tipo de dato: robtarget


La posicin de los ejes del robot y de los ejes externos se devuelve con el tipo de dato
robtarget y se expresa en el sistema de coordenadas ms externo, teniendo en cuenta
la herramienta especificada, el objeto de trabajo, el desplazamiento de programa activo
en el momento de la ejecucin (ProgDisp) y el offset de los ejes externos (EOffs).
Si no hay ningn ProgDisp activo, la posicin del robot se expresa en el sistema de
coordenadas del objeto.
Si no hay ningn EOffs activo, la posicin de los ejes externos se expresa en el sistema
de coordenadas de calibracin.

Argumentos
CalcRobT ( Joint_target Tool [\WObj] )
Joint_target Tipo de dato: jointtarget
La posicin de los ejes del robot y de los ejes externos, respecto del sistema de
coordenadas de calibracin.
Tool Tipo de dato: tooldata
La herramienta utilizada para el clculo de la posicin del robot.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 21


CalcRobT
Funcin

[\WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) con el que est relacionada la


posicin del robot devuelta por la funcin.

Si se omite este argumento, se utiliza el objeto de trabajo wobj0.


Este argumento debe especificarse si se utiliza una herramienta estacionaria, ejes
externos coordinados o un transportador.

Ejecucin de programas
El valor robtarget devuelto se calcula a partir del valor de entrada jointtarget.
Para calcular la posicin cartesiana del robot, se tienen en cuenta Tool, WObj (incluida
la base coordinada de coordenadas del usuario) y el ProgDisp activo en el momento de
la ejecucin. Para calcular la posicin de los ejes externos, se tiene en cuenta el EOffs
activo en el momento de la ejecucin.

Sintaxis
CalcRobT(
[Joint_target := ] <expresin (IN) de jointtarget> ,
[Tool := ] <variable persistente (PERS) de tooldata>
[\WObj := <variable persistente (PERS) de wobjdata>] )

Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrito en:
Clculo de jointtarget a partir de robtarget Funciones - CalcJointT
Definicin de posicin Tipos de datos - robtarget
Definicin de posicin de los ejes Tipos de datos - jointtarget
Definicin de herramientas Tipos de datos - tooldata
Definicin de objetos de trabajo Tipos de datos - wobjdata
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas
Sistema de coordenadas de desplazamiento Instrucciones - PDispOn
de programa
Sistema de coordenadas de offset Instrucciones - EOffsOn
de ejes externos

22 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CalcRotAxisFrame
Funcin

CalcRotAxisFrame - Calcular la base de coordenadas de


un eje de rotacin
CalcRotAxisFrame (calcular base de coordenadas de eje de rotacin) se utiliza para
calcular el sistema de coordenadas de usuario de una unidad mecnica basada en un eje
de rotacin.

Descripcin
La definicin de una base de coordenadas de usuario para un eje de rotacin externo
requiere que la mesa giratoria (o la estructura mecnica similar) del eje externo tenga
un punto de referencia marcado. Adems, es necesario calibrar la base de coordenadas
principal del robot y el TCP. El procedimiento de calibracin se basa en un conjunto
de posicionamiento del TCP del robot sobre el punto de referencia, mientras la mesa
giratoria gira hasta distintos ngulos. Consulte la Figura 2.

Eje de rotacin

Mesa giratoria accionada por


un solo eje externo
Posicin 2 l z
y

Posicin 3 Posicin 1
l l
x

l Punto de referencia
de la mesa giratoria
z Posicin 4

y Origen del sistema de


coordenadas del eje de
rotacin nico
Mundo x

Figura 2 Definicin de puntos de un eje de rotacin

El sistema de coordenadas de usuario del eje de rotacin tiene su origen en el centro de la


mesa giratoria. La direccin z coincide con el eje de rotacin y el eje x atraviesa el punto
de referencia. La Figura 2 muestra el sistema de coordenadas de usuario para dos
posicionamientos diferentes de la mesa giratoria (con la mesa giratoria vista desde arriba).
y
y

x
l

l
x

Rotacin de 0 grados Rotacin de +45 grados

Figura 3 El sistema de coordenadas de usuario con distintos ngulos de rotacin

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 23


CalcRotAxisFrame
Funcin

Ejemplo
CONST robtarget pos1 := [...];
CONST robtarget pos2 := [...];
CONST robtarget pos3 := [...];
CONST robtarget pos4 := [...];
VAR robtarget targetlist{10};
VAR num max_err := 0;
VAR num mean_err := 0;
VAR pose resFr:=[...];
PERS tooldata tMyTool:= [...];

! Instrucciones para crear y aplicar ModPos a las posiciones de pos1 a pos4 con el
! TCP orientado hacia la mesa giratoria.
MoveJ pos1, v10, fine, tMyTool;
MoveJ pos2, v10, fine, tMyTool;
MoveJ pos3, v10, fine, tMyTool;
MoveJ pos4, v10, fine, tMyTool;

! Aadir los objetivos a la matriz


targetlist{1}:= pos1;
targetlist{2}:= pos2;
targetlist{3}:= pos3;
targetlist{4}:= pos4;

resFr:=CalcRotAxisFrame(STN_1 , targetlist, 4, max_err, mean_err);

! Actualizar los parmetros de sistema.


IF (max_err < 1.0) AND (mean_err < 0.5) THEN
WriteCfgData "/MOC/SINGLE/STN_1", "base_frame_pos_x",resFr.trans.x;
WriteCfgData "/MOC/SINGLE/STN_1", "base_frame_pos_y",resFr.trans.y;
WriteCfgData "/MOC/SINGLE/STN_1", "base_frame_pos_z",resFr.trans.z;
WriteCfgData "/MOC/SINGLE/STN_1", "base_frame_orient_u1",resFr.rot.q1;
WriteCfgData "/MOC/SINGLE/STN_1", "base_frame_orient_u2",resFr.rot.q2;
WriteCfgData "/MOC/SINGLE/STN_1", "base_frame_orient_u3",resFr.rot.q3;
WriteCfgData "/MOC/SINGLE/STN_1", "base_frame_orient_u4",resFr.rot.q4;
TPReadFK reg1,"Se requiere un arranque en caliente para que se aplique la
calibracin."
,stEmpty,stEmpty,stEmpty, stEmpty,"OK";
WarmStart;
ENDIF

Se crean cuatro posiciones, de pos1 a pos4 y se les aplica ModPos de forma que
la herramienta del robot tMyTool apunte al mismo punto de referencia del eje
externo STN_1, pero con una rotacin de eje externo diferente. A continuacin,
los puntos se utilizan para calcular la base de coordenadas del eje externo, resFr,
respecto del sistema de coordenadas mundo. Por ltimo, se escribe la base de
coordenadas en el archivo de configuracin cuando se realiza un arranque en
caliente, para aplicar el cambio.

24 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CalcRotAxisFrame
Funcin

Return value
CalcRotAxisFrame Tipo de dato: pose

La base de coordenadas calculada.

Argumentos
CalcRotAxisFrame (MechUnit [\AxisNo] TargetList TargetsInList
MaxErr MeanErr)
MechUnit Tipo de dato: mecunit

El nombre de la unidad mecnica a calibrar.

[\AxisNo] Tipo de dato: num

Un argumento opcional que define el nmero de eje cuya base de coordenadas


debe determinarse. Si slo existe un eje de rotacin, ste recibe el valor 1. En el
caso de las unidades mecnicas con varios ejes, el nmero del eje debe indicarse
con este argumento.

TargetList Tipo de dato: robtarget

Una matriz de robtargets que contienen las posiciones definidas al apuntar la


mesa giratoria hacia fuera. El nmero mnimo de robtargets es 4 y el mximo
es 10.

TargetsInList Tipo de dato: num

Nmero de robtargets de la matriz.

MaxErr Tipo de dato: num

El error mximo estimado, en mm.

MeanErr Tipo de dato: num

El error medio estimado, en mm.

Gestin de errores
Si las posiciones no tienen la relacin requerida o no se especifican con una exactitud
suficiente, la variable de sistema ERRNO cambia a ERR_FRAME. A continuacin,
este error puede ser gestionado en el gestor de errores.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 25


CalcRotAxisFrame
Funcin

Sintaxis
CalcRotAxisFrame(
[MechUnit :=] <variable (VAR) de mecunit>
[\AxisNo := <expresin (IN) de num> ],
[TargetList :=] <matriz {*} (IN) de robtarget> ,
[TargetsInList :=] <expresin (IN) de num> ,
[MaxErr :=] <variable (VAR) de num> ,
[MeanErr :=] <variable (VAR) de num>)

Una funcin con un valor de retorno del tipo de dato pose.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

26 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CDate
Funcin

CDate - Lee la fecha actual como una cadena


CDate (fecha actual) se utiliza para leer la fecha actual del sistema.

Esta funcin puede usarse para mostrar la fecha actual al operador en la pantalla de la
unidad de programacin o para pegar la fecha actual en un archivo de texto en el que
se escribe desde el programa.

Ejemplo
VAR string date;

date := CDate();

La fecha actual se almacena en la variable date.

Valor de retorno Tipo de dato: string


La fecha actual en una cadena.

El formato de fecha estndar es ao-mes-da, por ejemplo 1998-01-29.

Ejemplo
date := CDate();
TPWrite La fecha actual es: +date;
Write logfile, date;

Se escribe la fecha actual en la pantalla de la unidad de programacin y dentro


de un archivo de texto.

Sintaxis
CDate ( )

Una funcin con un valor de retorno del tipo de dato string.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 27


CDate
Funcin

Informacin relacionada
Descrito en:
Instrucciones de tiempo Resumen sobre RAPID -
Sistema y tiempo
Cambio de hora del reloj del sistema Gua del usuario - Servicio tcnico

28 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CJointT
Funcin

CJointT - Lee los ngulos actuales de los ejes


CJointT (objetivo de ejes actual) se utiliza para leer los ngulos actuales de los ejes del
robot y los ejes externos.

Ejemplo
VAR jointtarget joints;

joints := CJointT();

Los ngulos actuales de los ejes del robot y los ejes externos de almacenan en
joints.

Valor de retorno Tipo de dato: jointtarget

Los ngulos actuales en grados de los ejes del robot en el lado del brazo.

Los valores actuales de los ejes externos, en mm para los ejes lineales y en grados para
los ejes de rotacin.

Los valores devueltos estn relacionados con la posicin de calibracin.

Sintaxis
CJointT()

Una funcin con un valor de retorno del tipo de dato jointtarget.

Informacin relacionada
Descrito en:
Definicin de ejes Tipos de datos - jointtarget
Lectura del ngulo actual del motor Funciones - ReadMotor

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 29


CJointT
Funcin

30 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ClkRead
Funcin

ClkRead - Lee un reloj utilizado para la temporizacin


ClkRead se utiliza para leer un reloj que funciona como un cronmetro para funciones
de temporizacin.

Ejemplo
reg1:=ClkRead(clock1);

Se lee el reloj clock1 y su tiempo en segundos se almacena en la variable reg1.

Valor de retorno Tipo de dato: num

El tiempo almacenado en el reloj, en segundos. Tiene una exactitud de 0,010 segundos.

Argumentos
ClkRead (Clock)
Clock Tipo de dato: clock

El nombre del reloj a leer.

Ejecucin de programas
El reloj puede leerse tanto cuando est parado como cuando est en marcha.

Despus de leer el reloj, es posible leerlo de nuevo, ponerlo otra vez en marcha, pararlo
o ponerlo a cero.

Gestin de errores
Si el reloj funciona de forma continuada durante 4.294.967 segundos (49 das,
17 horas, 2 minutos y 47 segundos), se desborda y la variable de sistema ERRNO
cambia a ERR_OVERFLOW.

El error puede ser gestionado en el gestor de errores.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 31


ClkRead
Funcin

Sintaxis
ClkRead (
[ Clock := ] < variable (VAR) de clock > )

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones de reloj Resumen sobre RAPID -
Sistema y tiempo
Desbordamiento de reloj Tipos de datos - clock
Ms ejemplos Instrucciones - ClkStart

32 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Cos
Funcin

Cos - Calcula el valor del coseno


Cos (coseno) se utiliza para calcular el valor de coseno de un valor de ngulo.

Ejemplo
VAR num angle;
VAR num value;
.
.
value := Cos(angle);

Valor de retorno Tipo de dato: num

El valor del coseno en el rango [-1, 1] .

Argumentos
Cos (Angle)
Angle Tipo de dato: num

El valor del ngulo, expresado en grados.

Sintaxis
Cos(
[Angle :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 33


Cos
Funcin

34 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CPos
Funcin

CPos - Lee los datos de posicin (pos) actuales


CPos (posicin actual) se utiliza para leer la posicin actual del robot.

Esta funcin devuelve los valores x, y, z del TCP del robot, en un dato del tipo pos.
Si es necesario leer la posicin completa del robot (robtarget), utilice en su lugar la
funcin CRobT.

Ejemplo
VAR pos pos1;

MoveL *, v500, fine \Inpos := inpos50, tool1;


pos1 := CPos(\Tool:=tool1 \WObj:=wobj0);

La posicin actual del TCP del robot se almacena en la variable pos1.


La herramienta tool1 y el objeto de trabajo wobj0 se utilizan para calcular la
posicin.

Recuerde que el robot est en reposo antes de que se lea y calcule la posicin.
Esto se consigue utilizando el punto de paro fine con la exactitud de posicin
inpos50 en la instruccin de movimiento anterior.

Valor de retorno Tipo de dato: pos

La posicin actual (pos) del robot con x, y, z en el sistema de coordenadas ms externo,


teniendo en cuenta la herramienta especificada, el objeto de trabajo y el sistema de
coordenadas ProgDisp activo.

Argumentos
CPos ([\Tool] [\WObj])
[\Tool] Tipo de dato: tooldata

La herramienta utilizada para el clculo de la posicin actual del robot.

Si se omite este argumento, se utiliza la herramienta activa actualmente.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 35


CPos
Funcin

[\WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) con el que est relacionada la


posicin actual del robot devuelta por la funcin.

Si se omite este argumento, se utiliza el objeto de trabajo activo actualmente.

Resulta muy conveniente especificar siempre los argumentos \Tool y \WObj durante la
programacin. De esta forma, la posicin devolver siempre la posicin deseada,
incluso si se ha activado manualmente otra herramienta u otro objeto de trabajo.

Ejecucin de programas
Las coordenadas devueltas representan la posicin del TCP en el sistema de
coordenadas ProgDisp.

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 posicin x, y, z del robot se captura en dos puntos dentro del programa,


mediante la funcin CPos. La herramienta grip3 y el objeto de trabajo fixture se
utilizan para calcular la posicin. A continuacin se calculan las distancias x, y,
z recorridas entre estas posiciones y se almacenan dichas distancias en la variable
de tipo pos pos4.

Sintaxis
CPos (
[\Tool := <variable persistente (PERS) de tooldata>]
[\WObj := <variable persistente (PERS) de wobjdata>] )

Una funcin con un valor de retorno del tipo de dato pos.

36 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CPos
Funcin

Informacin relacionada
Descrito en:
Definicin de posicin Tipos de datos - pos
Definicin de herramientas Tipos de datos - tooldata
Definicin de objetos de trabajo Tipos de datos - wobjdata
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas
Lectura del robtarget actual Funciones - CRobT

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 37


CPos
Funcin

38 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CRobT
Funcin

CRobT - Lee los datos de posicin (robtarget) actuales


CRobT (objetivo actual del robot) se utiliza para leer la posicin actual de los ejes del
robot y los ejes externos.

Esta funcin devuelve un valor de robtarget con la posicin (x, y, z), la orientacin
(q1 ... q4), la configuracin de los ejes del robot y la posicin de los ejes externos. Si
slo es necesario leer los valores x, y, z del TCP del robot (pos), utilice en su lugar la
funcin CPos.

Ejemplo
VAR robtarget p1;

MoveL *, v500, fine \Inpos := inpos50, tool1;


p1 := CRobT(\Tool:=tool1 \WObj:=wobj0);

La posicin actual de los ejes del robot y los ejes externos se almacena en p1.
La herramienta tool1 y el objeto de trabajo wobj0 se utilizan para calcular la
posicin.

Recuerde que el robot est en reposo antes de que se lea y calcule la posicin.
Esto se consigue utilizando el punto de paro fine con la exactitud de posicin
inpos50 en la instruccin de movimiento anterior.

Valor de retorno Tipo de dato: robtarget

La posicin actual de los ejes del robot y de los ejes externos en el sistema de
coordenadas ms externo, teniendo en cuenta la herramienta especificada, el objeto de
trabajo y el sistema de coordenadas ProgDisp/ExtOffs activo.

Argumentos
CRobT ([\Tool] [\WObj])
[\Tool] Tipo de dato: tooldata

La herramienta utilizada para el clculo de la posicin actual del robot.

Si se omite este argumento, se utiliza la herramienta activa actualmente.

[\WObj] (Objeto de trabajo) Tipo de dato: wobjdata

El objeto de trabajo (sistema de coordenadas) con el que est relacionada la


posicin actual del robot devuelta por la funcin.

Si se omite este argumento, se utiliza el objeto de trabajo activo actualmente.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 39


CRobT
Funcin

Resulta muy conveniente especificar siempre los argumentos \Tool y \WObj durante la
programacin. De esta forma, la posicin devolver siempre la posicin deseada,
incluso si se ha activado manualmente otra herramienta u otro objeto de trabajo.

Ejecucin de programas
Las coordenadas devueltas representan la posicin del TCP en el sistema de
coordenadas ProgDisp. Los ejes externos se representan en el sistema de coordenadas
ExtOffs.

Ejemplo
VAR robtarget p2;

p2 := ORobT( RobT(\Tool:=grip3 \WObj:=fixture) );

La posicin actual de los ejes del robot y de los ejes externos en el sistema de
coordenadas del objeto (sin ProgDisp ni ExtOffs) se almacena en p2. La
herramienta grip3 y el objeto de trabajo fixture se utilizan para calcular la
posicin.

Sintaxis
CRobT(
[\Tool := <variable persistente (PERS) de tooldata>]
[\WObj := <variable persistente (PERS) de wobjdata>] )

Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrito en:
Definicin de posicin Tipos de datos - robtarget
Definicin de herramientas Tipos de datos - tooldata
Definicin de objetos de trabajo Tipos de datos - wobjdata
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas
Sistema de coordenadas ExtOffs Instrucciones - EOffsOn
Lectura del pos actual (slo x, y, z) Funciones - CPos

40 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CSpeedOverride
Funcin

CSpeedOverride - Lee el ajuste de velocidad actual


CSpeedOverride se utiliza para leer el ajuste de velocidad definido por el operador
desde las ventanas de programa o produccin. El valor de retorno se muestra como un
porcentaje, en el que el 100% corresponde a la velocidad programada.

Importante: No debe confundirlo con el argumento Override de la instruccin de


RAPID VelSet.

Ejemplo
VAR num myspeed;

myspeed := CSpeedOverride();

El ajuste de velocidad actual se almacena en la variable myspeed.


Por ejemplo, si el valor es 100, equivale al 100%

Valor de retorno Tipo de dato: num

El valor del ajuste de velocidad, como porcentaje de la velocidad programada. Ser un


valor numrico en el rango de 0 a 100.

Sintaxis
CSpeedOverride()

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Cambio del ajuste de velocidad Gua del usuario Programacin y
testing de ciclos de produccin

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 41


CSpeedOverride
Funcin

42 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CTime
Funcin

CTime - Lee la hora actual en forma de una cadena


CTime se utiliza para leer la hora actual del sistema.
Esta funcin puede usarse para mostrar la hora actual al operador en la pantalla de la
unidad de programacin o para pegar la hora actual en un archivo de texto en el que se
escribe desde el programa.

Ejemplo
VAR string time;
time := CTime();
La hora actual se almacena en la variable time.

Valor de retorno Tipo de dato: string


La hora actual en una cadena.
El formato de hora estndar es horas:minutos:segundos, por ejemplo 18:20:46.

Ejemplo
time := CTime();
TPWrite La hora actual es: +time;
Write logfile, time;
Se escribe la hora actual en la pantalla de la unidad de programacin y dentro de
un archivo de texto.

Sintaxis
CTime ( )

Una funcin con un valor de retorno del tipo de dato string.

Informacin relacionada
Descrito en:
Instrucciones de hora y fecha Resumen sobre RAPID -
Sistema y tiempo
Cambio de hora del reloj del sistema Gua del usuario -
Parmetros del sistema

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 43


CTime
Funcin

44 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CTool
Funcin

CTool - Lee los datos actuales de la herramienta


CTool (herramienta actual) se utiliza para leer los datos de la herramienta actual.

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 actual se almacena en la variable temp_tool.

Valor de retorno Tipo de dato: tooldata

Esta funcin devuelve un valor de tipo tooldata que contiene el valor de la herramienta
actual, es decir, la ltima herramienta utilizada en una instruccin de movimiento.

El valor devuelto representa la posicin y la orientacin del TCP en el sistema de


coordenadas del centro de la mueca. Consulte tooldata.

Sintaxis
CTool()

Una funcin con un valor de retorno del tipo de dato tooldata.

Informacin relacionada
Descrito en:
Definicin de herramientas Tipos de datos - tooldata
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 45


CTool
Funcin

46 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


CWObj
Funcin

CWObj - Lee los datos del objeto de trabajo actual


CWObj (objeto de trabajo actual) se utiliza para leer los datos del objeto de trabajo
actual.

Ejemplo
PERS wobjdata temp_wobj;

temp_wobj := CWObj();

El valor del objeto de trabajo actual se almacena en la variable temp_wobj.

Valor de retorno Tipo de dato: wobjdata

Esta funcin devuelve un valor de tipo wobjdata que contiene el valor del objeto de
trabajo actual, es decir, el ltimo objeto de trabajo utilizado en una instruccin de
movimiento.

El valor devuelto representa la posicin y la orientacin del objeto de trabajo en el


sistema de coordenadas mundo. Consulte wobjdata.

Sintaxis
CWObj()

Una funcin con un valor de retorno del tipo de dato wobjdata.

Informacin relacionada
Descrito en:
Definicin de objetos de trabajo Tipos de datos - wobjdata
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 47


CWObj
Funcin

48 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


DefAccFrame
Funcin

DefAccFrame - Define una base de coordenadas exacta


DefAccFrame (definir base de coordenadas exacta) se utiliza para definir una base de
coordenadas de tres a diez posiciones originales y un nmero igual de posiciones
desplazadas.

Descripcin
Es posible definir una base de coordenadas cuando se conoce un conjunto de objetivos
en dos posiciones diferentes. Por tanto, se utilizan las mismas posiciones fsicas, pero
expresadas de forma diferente. Debe considerarse con dos enfoques diferentes:

I: Se expresan las mismas posiciones fsicas respecto de sistemas de coordenadas


diferentes. Por ejemplo, se obtienen varias posiciones de un plano de CAD, por
lo que las posiciones se expresan en el sistema de coordenadas local del CAD.
A continuacin, las mismas posiciones se expresan en el sistema de coordenadas
mundo del robot. A partir de estos dos conjuntos de posiciones, se calcula la base
de coordenadas existente entre el sistema de coordenadas de CAD y el sistema
de coordenadas mundo.

II: Existe un conjunto de posiciones relacionadas con un objeto en una posicin


original. Despus de un desplazamiento del objeto, se determinan de nuevo las
posiciones (buscadas con frecuencia). A partir de estos dos conjuntos de
posiciones (posiciones anteriores y nuevas posiciones) se calcula la base de
coordenadas de desplazamiento.

Basta con tres objetivos para definir una base de coordenadas, pero deben
utilizarse varios puntos para aumentar la exactitud.

Ejemplo

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 49


DefAccFrame
Funcin

CONST robtarget p1 := [...];


CONST robtarget p2 := [...];
CONST robtarget p3 := [...];
CONST robtarget p4 := [...];
CONST robtarget p5 := [...];

VAR robtarget p6 := [...];


VAR robtarget p7 := [...];
VAR robtarget p8 := [...];
VAR robtarget p9 := [...];
VAR robtarget p10 := [...];
VAR robtarget pWCS{5};
VAR robtarget pCAD{5};

VAR pose frame1;


VAR num max_err;
VAR num mean_err;

! Aadir las posiciones a las matrices robtarget


pCAD{1}:=p1;
....
pCAD{5}:=p5;

pWCS{1}:=p6;
....
pWCS{5}:=p10;

frame1 := DefAccFrame (pCAD, pWCS, 5, max_err, mean_err);

Se han almacenado cinco posiciones, de p1 a p5, relacionadas con un objeto.


Las mismas posiciones tambin se almacenan en relacin con el sistema de
coordenadas mundo, como de p6 a p10. A partir de estas 10 posiciones se calcula
la base de coordenadas frame1 existente entre el sistema de coordenadas del
objeto y el sistema de coordenadas mundo.

Valor de retorno
DefAccFrame Tipo de dato: pose

La base de coordenadas calculada.

50 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


DefAccFrame
Funcin

Argumentos
DefAccFrame (TargetListOne TargetListTwo TargetsInList
MaxErr MeanErr)
TargetListOne Tipo de dato: robtarget

Una matriz de robtargets que contienen las posiciones definidas en el primer


sistema de coordenadas. El nmero mnimo de robtargets es 3 y el mximo es 10.

TargetListTwo Tipo de dato: robtarget

Una matriz de robtargets que contienen las posiciones definidas en el segundo


sistema de coordenadas. El nmero mnimo de robtargets es 3 y el mximo es 10.

TargetsInList Tipo de dato: num

Nmero de robtargets de la matriz.

MaxErr Tipo de dato: num

El error mximo estimado, en mm.

MeanErr Tipo de dato: num

El error medio estimado, en mm.

Gestin de errores
Si las posiciones no tienen la relacin requerida o no se especifican con una exactitud
suficiente, la variable de sistema ERRNO cambia a ERR_FRAME. A continuacin,
este error puede ser gestionado en el gestor de errores.

Sintaxis
DefAccFrame(
[TargetListOne :=] <matriz {*} (IN) de robtarget> ,
[TargetListTwo :=] <matriz {*} (IN) de robtarget> ,
[TargetsInList :=] <expresin (IN) de num> ,
[MaxErr :=] <variable (VAR) de num> ,
[MeanErr :=] <variable (VAR) de num>)

Una funcin con un valor de retorno del tipo de dato pose.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 51


DefAccFrame
Funcin

Informacin relacionada
Descrito en:
Clculo de una base de coordenadas a partir Funciones - DefFrame
de tres posiciones
Clculo de una base de coordenadas de Funciones - DefDFrame
desplazamiento

52 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


DefDFrame
Funcin

DefDFrame - Define una base de coordenadas de


desplazamiento
DefDFrame (definir base de coordenadas de desplazamiento) se utiliza para calcular
una base de coordenadas de desplazamiento a partir de tres posiciones originales y tres
posiciones desplazadas.

Ejemplo
p3

p6

p5

p4
p1 p2 El nuevo plano

CONST robtarget p1 := [...];


CONST robtarget p2 := [...];
CONST robtarget p3 := [...];
VAR robtarget p4;
VAR robtarget p5;
VAR robtarget p6;
VAR pose frame1;
.
! Buscas las nuevas posiciones
SearchL sen1, p4, *, v50, tool1;
.
SearchL sen1, p5, *, v50, tool1;
.
SearchL sen1, p6, *, v50, tool1;
frame1 := DefDframe (p1, p2, p3, p4, p5, p6);
.
! Activacin del desplazamiento definido por frame1
PDispSet frame1;

Se han almacenado tres posiciones, de p1 a p3, relacionadas con un objeto en una


posicin original. Despus de un desplazamiento del objeto, se buscan tres
posiciones nuevas, que se almacenan como de p4 a p6. La base de coordenadas
de desplazamiento se calcula a partir de estas seis posiciones. A continuacin se
utiliza la base de coordenadas calculada para desplazar todas las posiciones
almacenadas en el programa.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 53


DefDFrame
Funcin

Valor de retorno Tipo de dato: pose

La base de coordenadas de desplazamiento.

Argumentos
DefDFrame (OldP1 OldP2 OldP3 NewP1 NewP2 NewP3)
OldP1 Tipo de dato: robtarget

La primera posicin original.

OldP2 Tipo de dato: robtarget

La segunda posicin original.

OldP3 Tipo de dato: robtarget

La tercera posicin original.

NewP1 Tipo de dato: robtarget

La primera posicin desplazada. La diferencia entre OldP1 y NewP1 define la


parte de traslacin de la base de coordenadas y debe medirse y determinarse con
una gran exactitud.

NewP2 Tipo de dato: robtarget

La segunda posicin desplazada. La lnea NewP1 ... NewP2 define la rotacin de


la lnea anterior OldP1 ... OldP2.

NewP3 Tipo de dato: robtarget

La tercera posicin desplazada. Esta posicin definir la rotacin del plano. Por
ejemplo, debe estar situada en el nuevo plano formado por NewP1, NewP2 y
NewP3.

Gestin de errores
Si no es posible calcular la base de coordenadas debido a la baja exactitud de las
posiciones, la variable de sistema ERRNO cambia a ERR_FRAME. A continuacin,
este error puede ser gestionado en el gestor de errores.

54 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


DefDFrame
Funcin

Sintaxis
DefDFrame(
[OldP1 :=] <expresin (IN) de robtarget> ,
[OldP2 :=] <expresin (IN) de robtarget> ,
[OldP3 :=] <expresin (IN) de robtarget> ,
[NewP1 :=] <expresin (IN) de robtarget> ,
[NewP2 :=] <expresin (IN) de robtarget> ,
[NewP3 :=] <expresin (IN) de robtarget> )

Una funcin con un valor de retorno del tipo de dato pose.

Informacin relacionada
Descrito en:
Activacin de una base de coordenadas Instrucciones - PDispSet
de desplazamiento
Definicin manual de la base de Gua del usuario - Calibracin
coordenadas de desplazamiento

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 55


DefDFrame
Funcin

56 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


DefFrame
Funcin

DefFrame - Define una base de coordenadas


DefFrame (definir base de coordenadas) se utiliza para calcular una base de coordena-
das a partir de tres posiciones que la definen.

Ejemplo

y
z p3
z

x
p2
y
frame1
p1
x
Base de coordenadas del objeto

Se utilizan tres posiciones, de p1a p3, en relacin con el sistema de coordenadas del
objeto, para definir el nuevo sistema de coordenadas, frame1. La primera posicin, p1,
define el origen de frame1. La segunda posicin, p2, define la direccin del eje x. La
tercera posicin, p3, define la ubicacin del plano xy. La base de coordenadas frame1
definida puede usarse como base de coordenadas de desplazamiento, como se muestra
en el ejemplo siguiente:

CONST robtarget p1 := [...];


CONST robtarget p2 := [...];
CONST robtarget p3 := [...];
VAR pose frame1;
.
.
frame1 := DefFrame (p1, p2, p3);
.
.
!Activacin del desplazamiento definido por frame1
PDispSet frame1;

Valor de retorno Tipo de dato: pose

La base de coordenadas calculada.

El clculo se realiza respecto del sistema de coordenadas del objeto activo.

Tipos de datos y rutinas de sistema de RAPID 57


DefFrame
Funcin

Argumentos
DefFrame (NewP1 NewP2 NewP3 [\Origin])
NewP1 Tipo de dato: robtarget

La primera posicin, que definir el origen de la nueva base de coordenadas.

NewP2 Tipo de dato: robtarget

La segunda posicin, que definir la direccin del eje x de la nueva base de


coordenadas.

NewP3 Tipo de dato: robtarget

La tercera posicin, que definir el plano xy de la nueva base de coordenadas.


La posicin del punto 3 estar en el lado y positivo, como se muestra en la figura
anterior.

[\Origin] Tipo de dato: num

Un argumento opcional que definir cmo se posiciona el origen de la base de


coordenadas. El valor Origin = 1 significa que el origen se sita en NewP1, es
decir, el mismo que si se omite este argumento. El valor Origin = 2 significa que
el origen se sita en NewP2. Consulte la figura siguiente.

z z y

Nuevo P3

x
y Nuevo P2

x frame1
Base de coordenadas del objeto Nuevo P1

El valor Origin = 3 significa que el origen se sita en la lnea que va desde NewP1 a
NewP2 y por tanto NewP3 se sita en el eje y. Consulte la figura siguiente.

58 Tipos de datos y rutinas de sistema de RAPID


DefFrame
Funcin

z y

z Nuevo P3

x
y Nuevo P2

x frame1
Base de coordenadas del objeto Nuevo P1

Cualquier otro valor, o la omisin de Origin, situar el origen en Nuevo P1.

Limitaciones
Las tres posiciones de p1 a p3, que definen la base de coordenadas deben formar un
tringulo bien definido. El tipo de tringulo mejor definido es aqul en el que todos los
lados tienen la misma longitud.

p2
p3


p1

Se considera que este ngulo no est bien definido si el ngulo es demasiado


pequeo. El ngulo es demasiado pequeo si se cumple la expresin siguiente:
4
cos <1 10

El tringulo p1, p2, p3 no debe ser demasiado pequeo, es decir, las posiciones no
deben estar demasiado cercanas entre s. Las distancias existentes entre p1 y p2 y entre
p1 y p3 no deben ser inferiores a 0,1 mm.

Gestin de errores
Si no es posible calcular la base de coordenadas a causa de las limitaciones menciona-
das, la variable de sistema ERRNO cambia a ERR_FRAME. A continuacin, este error
puede ser gestionado en el gestor de errores.

Tipos de datos y rutinas de sistema de RAPID 59


DefFrame
Funcin

Sintaxis
DefFrame(
[NewP1 :=] <expresin (IN) de robtarget> ,
[NewP2 :=] <expresin (IN) de robtarget> ,
[NewP3 :=] <expresin (IN) de robtarget>
[\Origin := <expresin (IN) de num> ])

Una funcin con un valor de retorno del tipo de dato pose.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas
Activacin de una base de coordenadas
de desplazamiento Instrucciones - PDispSet

60 Tipos de datos y rutinas de sistema de RAPID


Dim
Funcin

Dim - Obtiene las dimensiones de una matriz


Dim (dimensiones) se utiliza para obtener el nmero de elementos de una matriz.

Ejemplo
PROC arrmul(VAR num array{*}, num factor)

FOR index FROM 1 TO Dim(array, 1) DO


array{index} := array{index} * factor;
ENDFOR

ENDPROC

Se multiplican por un factor todos los elementos de una matriz de elementos de


tipo num. Este procedimiento acepta como entrada cualquier matriz de una sola
dimensin y compuesta de elementos de tipo num.

Valor de retorno Tipo de dato: num

El nmero de elementos de la matriz en la dimensin especificada.

Argumentos
Dim (ArrPar DimNo)
ArrPar (parmetro de matriz) Tipo de dato: cualquier tipo

El nombre de la matriz.

DimNo (nmero de dimensin) Tipo de dato: num

La dimensin deseada de la matriz:


1 = Primera dimensin
2 = Segunda dimensin
3 = Tercera dimensin

Ejemplo
PROC add_matrix(VAR num array1{*,*,*}, num array2{*,*,*})

IF Dim(array1,1) <> Dim(array2,1) OR Dim(array1,2) <> Dim(array2,2) OR


Dim(array1,3) <> Dim(array2,3) THEN
TPWrite "Las dos matrices son de distinto tamao";
Stop;

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 61


Dim
Funcin

ELSE
FOR i1 FROM 1 TO Dim(array1, 1) DO
FOR i2 FROM 1 TO Dim(array1, 2) DO
FOR i3 FROM 1 TO Dim(array1, 3) DO
array1{i1,i2,i3} := array1{i1,i2,i3} + array2{i1,i2,i3};
ENDFOR
ENDFOR
ENDFOR
ENDIF
RETURN;

ENDPROC

Se suman dos matrices. Si las matrices son de distinto tamao, el programa se


detiene y aparece un mensaje de error.
Este procedimiento acepta como entrada dos matrices tridimensionales y
compuestas de elementos de tipo num.

Sintaxis
Dim (
[ArrPar:=] <referencia (REF) de cualquier tipo> ,
[DimNo:=] <expresin (IN) de num> )

Los parmetros REF exigen que el argumento correspondiente sea una constante, una
variable o una variable persistente entera. El argumento tambin puede ser un
parmetro IN, un parmetro VAR o un parmetro PERS entero.

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Parmetros de matriz Caractersticas bsicas - Rutinas
Declaracin de matriz Caractersticas bsicas - Datos

62 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Distance
Funcin

Distance - Distancia entre dos puntos


Distance se utiliza para calcular la distancia entre dos puntos del espacio.

Ejemplo

y
p2

x
p1
z

VAR num dist;


CONST pos p1 := [4,0,4];
CONST pos p2 := [-4,4,4];
...
dist := Distance(p1, p2);

Se calcula la distancia en el espacio existente entre los puntos p1 y p2.


El resultado se asigna a la variable dist.

Valor de retorno Tipo de dato: num

La distancia (siempre positiva) entre los puntos.

Argumentos
Distance (Point1 Point2)
Point1 Tipo de dato: pos

El primer punto descrito con el tipo de dato pos.

Point2 Tipo de dato: pos

El segundo punto descrito con el tipo de dato pos.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 63


Distance
Funcin

Ejecucin de programas
Clculo de la distancia existente entre dos puntos:

y
x2, y2, z2

x
x1,y1,z1
z

2 2 2
Distancia = ( x 1 x 2 ) + ( y 1 y 2 ) + ( z 1 z 2 )

Sintaxis
Distance(
[Point1 :=] <expresin (IN) de pos> ,
[Point2 :=] <expresin (IN) de pos>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas
Definicin de una posicin con pos Tipos de datos - pos

64 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


DotProd
Funcin

DotProd - Producto escalar de dos vectores pos


DotProd (producto escalar) se utiliza para calcular el producto escalar de dos vectores
pos. La aplicacin tpica de esta funcin es calcular la proyeccin de un vector sobre
el otro o calcular el ngulo existente entre dos vectores.

Ejemplo
B

AB
A

B cos AB A

El producto escalar de los vectores A y B es un escalar que equivale al producto de las


magnitudes de A y B y al coseno del ngulo que forman.

A B = A B cos AB

El producto escalar:

Es menor o igual que el producto de las magnitudes.


Puede ser un valor positivo o negativo, en funcin de si el ngulo formado por los
vectores es superior o inferior a 90 grados.
Es igual al producto de la magnitud de un vector y la proteccin del segundo vector
sobre el primero.
Es cero si los vectores son perpendiculares entre s.

Los vectores se describen con el tipo de dato pos y el producto escalar se describe con
el tipo de dato num:

VAR num dotprod;


VAR pos vector1;
VAR pos vector2;
.
.
vector1 := [1,1,1];
vector2 := [1,2,3];
dotprod := DotProd(vector1, vector2);

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 65


DotProd
Funcin

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 con el tipo de dato pos.

Vector2 Tipo de dato: pos

El segundo vector descrito con el tipo de dato pos.

Sintaxis
DotProd(
[Vector1 :=] <expresin (IN) de pos> ,
[Vector2 :=] <expresin (IN) de pos>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

66 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


DOutput
Funcin

DOutput - Lee el valor de una seal digital de salida


DOutput se utiliza para leer el valor actual de una seal digital de salida.

Ejemplo
IF DOutput(do2) = 1 THEN . . .
Si el valor actual de la seal do2 es igual a 1, . . .

Valor de retorno Tipo de dato: dionum


El valor actual de la seal (0 1).

Argumentos
DOutput (Signal)
Signal Tipo de dato: signaldo
El nombre de la seal a leer.

Ejecucin de programas
El valor ledo depende de la configuracin de la seal. Si la seal est invertida en los
parmetros de sistema, el valor devuelto por esta funcin es lo opuesto al valor real del
canal fsico.

Ejemplo
IF DOutput(auto_on) <> active THEN . . .
Si el valor actual de la seal de sistema auto_on no est activa, ... Es decir, si el
robot se encuentra en el modo de funcionamiento manual, ... Recuerde que la
seal debe estar definida previamente como salida de sistema en los parmetros
de sistema.

Sintaxis
DOutput (
[ Signal := ] < variable (VAR) de signaldo > )
Una funcin con un valor de retorno del tipo de dato dionum.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 67


DOutput
Funcin

Informacin relacionada
Descrito en:
Instrucciones de entrada y salida Resumen sobre RAPID -
Seales de entrada y salida
Funcionalidad general de las entradas Principios de movimiento y E/S -
y salidas Principios de E/S
Configuracin de E/S Gua del usuario - Parmetros del
sistema

68 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


EulerZYX
Funcin

EulerZYX - Obtiene ngulos Euler a partir de una


orientacin
EulerZYX (rotaciones ZYX Euler) se utiliza para obtener un componente de ngulo
Euler a partir de una variable de tipo orient.

Ejemplo
VAR num anglex;
VAR num angley;
VAR num anglez;
VAR pose object;
.
.
anglex := EulerZYX(\X, object.rot);
angley := EulerZYX(\Y, object.rot);
anglez := EulerZYX(\Z, object.rot);

Valor de retorno Tipo de dato: num

El ngulo Euler correspondiente, expresado en grados, en el rango [-180, 180].

Argumentos
EulerZYX ([\X] | [\Y] | [\Z] Rotation)
Los argumentos \X, \Y y \Z son excluyentes entre s. Si no se especifica ninguno de
estos argumentos, se genera un error en tiempo de ejecucin.

[\X] Tipo de dato: switch

Obtiene la rotacin alrededor del eje X.

[\Y] Tipo de dato: switch

Obtiene la rotacin alrededor del eje Y.

[\Z] Tipo de dato: switch

Obtiene la rotacin alrededor del eje Z.

Rotation Tipo de dato: orient

La rotacin representada en forma de cuaternio.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 69


EulerZYX
Funcin

Sintaxis
EulerZYX(
['\'X ,] | ['\'Y ,] | ['\'Z ,]
[Rotation :=] <expresin (IN) de orient>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

70 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Exp
Funcin

Exp - Calcula el valor exponencial


Exp (exponencial) se utiliza para calcular el valor exponencial, ex.

Ejemplo
VAR num x;
VAR num value;
.
.
value:= Exp( x);

Valor de retorno Tipo de dato: num

El valor exponencial, ex .

Argumentos
Exp (Exponent)
Exponent Tipo de dato: num

El valor del argumento de exponente.

Sintaxis
Exp(
[Exponent :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 71


Exp
Funcin

72 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


FileTime
Funcin

FileTime - Obtiene la informacin de hora de un archivo


FileTime se utiliza para obtener la ltima hora de modificacin, acceso o cambio de
estado de un archivo. El tiempo se indica en segundos a partir de las 00:00:00 horas,
hora de Greenwich, del 1 de enero de 1970. La hora se devuelve como un valor de
tipo num.

Ejemplo
Load "HOME:/notmymod.mod";
WHILE TRUE DO
! Llamar a una rutina de notmymod
notmymodrout;
IF FileTime("HOME:/notmymod.mod" \ModifyTime)
> ModTime("notmymod") THEN
UnLoad "HOME:notmymod.mod";
Load "HOME:notmymod.mod";
ENDIF
ENDWHILE

Este programa recarga un mdulo si hay un mdulo ms reciente en el origen.


Utiliza ModTime para obtener el ltimo tiempo de carga del mdulo especificado
y para compararlo con los valores de FileTime\ModifyTime del origen.
A continuacin, si el origen es ms reciente, el programa descarga y carga de
nuevo el mdulo.

Valor de retorno Tipo de dato: num

El tiempo, medido en segundos, desde las 00:00:00 horas, horario de Greenwich,


del 1 de enero de 1970.

Argumentos
FileTime ( Path [\ModifyTime] | [\AccessTime] | [\StatCTime] )
Path Tipo de dato: string

El archivo especificado con una ruta completa o relativa.

ModifyTime Tipo de dato: switch

ltima hora de modificacin.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 73


FileTime
Funcin

AccessTime Tipo de dato: switch

Hora del ltimo acceso (lectura, ejecucin o modificacin).

StatCTime Tipo de dato: switch

Hora del ltimo cambio de estado (cualificacin de acceso) del archivo.

Ejecucin de programas
Esta funcin devuelve un valor numrico que especifica el tiempo desde la ltima
operacin de:

- Modificacin
- Acceso
- Cambio de estado

del archivo especificado.

Ejemplo
A continuacin aparece un ejemplo completo en el que se implementa un servicio de
alerta para un mximo de 10 archivos.

LOCAL RECORD falert


string filename;
num ftime;
ENDRECORD

LOCAL VAR falert myfiles[10];


LOCAL VAR num currentpos:=0;
LOCAL VAR intnum timeint;

LOCAL TRAP mytrap


VAR num pos:=1;
WHILE pos <= currentpos DO
IF FileTime(myfiles{pos}.filename \ModifyTime) > myfiles{pos}.ftime THEN
TPWrite "El archivo "+myfiles{pos}.filename+" ha cambiado.";
ENDIF
pos := pos+1;
ENDWHILE
ENDTRAP

PROC alertInit(num freq)


currentpos:=0;
CONNECT timeint WITH mytrap;
ITimer freq,timeint;

74 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


FileTime
Funcin

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);
ENDIF
ENDPROC

Gestin de errores
Si el archivo no existe, la variable de sistema ERRNO cambia a ERR_FILEACC.
A continuacin, este error puede ser gestionado en el gestor de errores.

Sintaxis
FileTime (
[ Path := ] < expresin (IN) de string>
[ '\'ModifyTime] |
[ '\'AccessTime] |
[ '\'StatCTime] )

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
ltima vez que se ha cargado un mdulo Funciones - ModTime

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 75


FileTime
Funcin

76 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


GetNextMechUnit
Funcin

GetNextMechUnit - Obtener los nombres de las unidades


mecnicas
GetNextMechUnit se utiliza para obtener los nombres de las unidades mecnicas del
sistema de robot.

Ejemplos
VAR num listno := 0;
VAR string name := "";

TPWrite "Lista de unidades mecnicas:";


WHILE GetNextMechUnit(listno, name) DO
TPWrite name;
! listno := listno + 1Es realizado por GetNextMechUnit
ENDWHILE

Se muestran en la unidad de programacin los nombres de todas las unidades


mecnicas disponibles en el sistema.

Valor de retorno Tipo de dato: bool

TRUE si se encuentra alguna unidad mecnica. De lo contrario, FALSE.

Argumentos
GetNextMechUnit ( ListNumber UnitName )
ListNumber Tipo de dato: num

Este parmetro especifica qu elementos de la lista de unidades mecnicas se


desea obtener. En el momento del retorno, la variable aumenta siempre su valor
en uno para facilitar el acceso a la siguiente unidad de la lista.
La primera unidad mecnica de la lista tiene el nmero de ndice 0.

UnitName Tipo de dato: string

El nombre de la unidad mecnica.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 77


GetNextMechUnit
Funcin

Ejemplo
VAR num listno := 4;
VAR string name := "";
VAR bool found := FALSE;

found := GetNextMechUnit (listno, name);

Si found es TRUE, el nombre de la unidad mecnica 4 estar en la variable name,


de lo contrario name slo contiene una cadena de caracteres vaca.

Sintaxis
GetNextMechUnit (
[ ListNumber:= ] < variable (VAR) de num> ,
[ UnitName:= ] < variable (VAR) de string> )

Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrito en:
Unidad mecnica Tipos de datos - mecunit
Activacin y desactivacin de Instrucciones - ActUnit, DeactUnit
unidades mecnicas
Configuracin de unidades mecnicas Gua del usuario -
Parmetros del sistema
Caractersticas de los tipos de datos sin valor Caractersticas bsicas - Tipos de datos

78 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


GetNextSym
Funcin

GetNextSym - Obtiene el siguiente smbolo coincidente


GetNextSym (obtener el smbolo siguiente) se utiliza junto con SetDataSearch para
obtener objetos de datos del sistema.

Ejemplo
VAR datapos block;
VAR string name;
VAR bool truevar:=TRUE;
...
SetDataSearch bool \Object:=^my \InMod:=mymod\LocalSym;
WHILE GetNextSym(name,block) DO
SetDataVal name\Block:=block,truevar;
ENDWHILE

Esta sesin cambia a TRUE todos los objetos de datos locales de tipo bool cuyo
nombre comience con my en el mdulo mymod.

Valor de retorno Tipo de dato: bool

TRUE si se ha obtenido un nuevo objeto. El nombre del objeto y el bloque que contiene
se devuelven a travs de los argumentos.

FALSE si no se han encontrado ms objetos coincidentes.

Argumentos
GetNextSym Object Block [\Recursive]
Object Tipo de dato: string

Una variable (VAR o PERS) para almacenar el nombre del objeto de datos que
se obtendr.

Block Tipo de dato: datapos

El bloque que contiene el objeto.

[\Recursive] Tipo de dato: switch

Este modificador obliga a que la bsqueda a entrar en el bloque subyacente. Por


ejemplo, si la sesin ha comenzado en el nivel de tarea, tambin buscar en los
mdulos y las rutinas que se encuentran por debajo de la tarea.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 79


GetNextSym
Funcin

Sintaxis
GetNextSym
[ Object := ] < variable o variable persistente (INOUT) de string > ,
[ Block :=] <variable (VAR) de datapos>
[\Recursive ] ;

Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrito en:
Definicin de un conjunto de smbolos Instrucciones - SetDataSearch
en una sesin de bsqueda
Obtencin del valor de un objeto de datos Instrucciones - GetDataVal
Asignacin del valor de un objeto de datos Instrucciones - SetDataVal
Asignacin del valor de varios Instrucciones - SetAllDataVal
objetos de datos
El tipo de datos relacionado datapos Tipos de datos - datapos

80 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


GetTaskName
Funcin

GetTaskName - Obtiene el nombre de la tarea actual


GetTaskName se utiliza para obtener la identidad de la tarea de programa actual, con
su nombre y su nmero.

Ejemplo
VAR string mytaskname;
VAR num mytaskno;

mytaskname:=GetTaskName(\TaskNo:=mytaskno);

El nombre de la tarea actual se almacena en la variable mytaskname. La identidad


numrica de la tarea se almacena en mytaskno.

Valor de retorno Tipo de dato: string

El nombre de la tarea en la que se ejecuta la funcin.

Argumentos
GetTaskName ( [\TaskNo] )
[\TaskNo] Tipo de dato: num

La identidad de la tarea, representada como un valor numrico. Los nmeros


devueltos estarn en el rango de 1 a 10, en el cual 1 es la identidad de la tarea
principal.

Sintaxis
GetTaskName(
[ \TaskNo := ] < variable (VAR) de num > )

Una funcin con un valor de retorno del tipo de dato string.

Informacin relacionada
Descrito en:
Multitarea Resumen sobre RAPID -
Multitarea, Caractersticas bsicas.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 81


GetTaskName
Funcin

82 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


GetTime
Funcin

GetTime - Lee la hora actual como un valor numrico


GetTime se utiliza para leer un componente concreto del sistema actual como un
valor numrico.
Puede usar GetTime para:
- Hacer que el programa realice una accin a una hora determinada
- Realizar determinadas actividades en un da laborable
- No realizar determinadas actividades durante el fin de semana
- Responder de una forma distinta ante los errores en funcin de la hora del da

Ejemplo
hour := GetTime(\Hour);
La hora actual se almacena en la variable hour.

Valor de retorno Tipo de dato: num


Uno de los cuatro componentes de hora especificados a continuacin.

Argumentos
GetTime ( [\WDay] | [\Hour] | [\Min] | [\Sec] )
[\WDay] Tipo de dato: switch
Devuelve el da de la semana.
Rango: de 1 a 7 (de lunes a domingo).
[\Hour] Tipo de dato: switch
Devuelve la hora actual.
Rango: de 0 a 23.
[\Min] Tipo de dato: switch
Devuelve el minuto actual.
Rango: de 0 a 59.
[\Sec] Tipo de dato: switch
Devuelve el segundo actual.
Rango: de 0 a 59.
Es necesario especificar al menos uno de los argumentos. De lo contrario, la ejecucin
del programa se detiene y se genera un mensaje de error.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 83


GetTime
Funcin

Ejemplo
weekday := GetTime(\WDay);
hour := GetTime(\Hour);
IF weekday < 6 AND hour >6 AND hour < 16 THEN
production;
ELSE
maintenance;
ENDIF

Si el da actual es un da laborable y la hora est entre las 7 y las 15:49 horas, el


robot realiza tareas de produccin. En cualquier otro momento, el robot se
encuentra en el modo de mantenimiento.

Sintaxis
GetTime (
[\ WDay ]
| [ \ Hour ]
| [ \ Min ]
| [ \ Sec ] )

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones de hora y fecha Resumen sobre RAPID -
Sistema y tiempo
Cambio de hora del reloj del sistema Gua del usuario -
Parmetros del sistema

84 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


GOutput
Funcin

GOutput - Lee el valor de un grupo de seales digitales de


salida
GOutput se utiliza para leer el valor actual de un grupo de seales digitales de salida.

Ejemplo
IF GOutput(go2) = 5 THEN ...

Si el valor actual de la seal go2 es igual a 5, ...

Valor de retorno Tipo de dato: num

El valor actual de la seal (un entero positivo).

Se leen los valores de las distintas seales del grupo, que se interpretan como nmeros
binarios sin signo. Estos nmeros binarios se convierten a continuacin a enteros.

El valor devuelto se encuentra dentro de un rango que depende del nmero de seales
del grupo.

N de seales Valor devuelto N de seales Valor devuelto


1 0-1 9 0 - 511
2 0-3 10 0- 1.023
3 0-7 11 0 - 2.047
4 0 - 15 12 0 - 4.095
5 0 - 31 13 0 - 8.191
6 0 - 63 14 0 - 16.383
7 0 - 127 15 0 - 32.767
8 0 - 255 16 0 - 65.535

Argumentos
GOutput (Signal)
Signal Tipo de dato: signalgo

El nombre del grupo de seales a leer.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 85


GOutput
Funcin

Sintaxis
GOutput (
[ Signal := ] < variable (VAR) de signalgo > )

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones de entrada y salida Resumen sobre RAPID -
Seales de entrada y salida
Funcionalidad general de las entradas y salidasPrincipios de movimiento y E/S -
Principios de E/S
Configuracin de E/S Gua del usuario -
Parmetros del sistema

86 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


IsMechUnitActive
Funcin

IsMechUnitActive - Indica si una unidad mecnica est activa


IsMechUnitActive (est activa la unidad mecnica) se utiliza para comprobar si una
unidad mecnica est activada.

Ejemplo
IF IsMechUnitActive(SpotWeldGun) CloseGun SpotWeldGun;

Si la unidad mecnica SpotWeldGun est activada, se llama a la rutina CloseGun,


que se utiliza para cerrar la pistola.

Valor de retorno Tipo de dato: bool

La funcin devuelve lo siguiente:

- TRUE si la unidad mecnica est activada

- FALSE si la unidad mecnica est desactivada

Argumentos
IsMechUnitActive ( MechUnit )

MechUnit (unidad mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica.

Sintaxis
IsMechUnitActive (
[MechUnit := ] < variable (VAR) de mecunit>
)

Una funcin con un valor de retorno del tipo de dato bool.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 87


IsMechUnitActive
Funcin

Informacin relacionada
Descrito en:
Activacin de unidades mecnicas Instrucciones - ActUnit
Desactivacin de unidades mecnicas Instrucciones - DeactUnit
Unidades mecnicas Tipos de datos - mecunit

88 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


IsPers
Funcin

IsPers - Determina si es una variable persistente


IsPers se utiliza para comprobar si un objeto de datos es una variable persistente o no.

Ejemplo
PROC procedure1 (INOUT num parameter1)
IF IsVar(parameter1) THEN
! Para esta llamada, hacer referencia a una variable
...
ELSEIF IsPers(parameter1) THEN
! Para esta llamada, hacer referencia a una variable persistente
...
ELSE
! No debe ocurrir
EXIT;
ENDIF
ENDPROC

El procedimiento procedure1 toma caminos diferentes en funcin de si el


parmetro recibido parameter1 es una variable o una variable persistente.

Valor de retorno Tipo de dato: bool

TRUE si el parmetro INOUT comprobado es una variable persistente.


FALSE si el parmetro INOUT comprobado no es una variable persistente.

Argumentos
IsPers (DatObj)
DatObj (objeto de datos) Tipo de dato: cualquier tipo

El nombre formal del parmetro INOUT.

Sintaxis
IsPers(
[ DatObj := ] < variable o variable persistente (INOUT) de cualquier tipo > )

Una funcin con un valor de retorno del tipo de dato bool.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 89


IsPers
Funcin

Informacin relacionada
Descrito en:
Comprobacin de si un dato es una variable Funcin - IsVar
Tipos de parmetros (modos de acceso) Caractersticas de RAPID - Rutinas

90 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


IsSysId
Funcin

IsSysID - Comprobar la identidad del sistema


IsSysId (identidad de sistema) puede usarse para comprobar la identidad del sistema.

Ejemplo
IF NOT IsSysId("6400-1234") THEN
ErrWrite "Fallo de identidad del sistema","Identidad del
sistema errnea para este programa";
EXIT;
ENDIF

El programa se ha diseado para un sistema de robot en concreto y no puede usarse con


ningn otro.

Valor de retorno Tipo de dato: bool

TRUE = La identidad del sistema es la misma que la especificada en la comprobacin.

FALSE = La identidad del sistema es distinta de la especificada en la comprobacin.

Argumentos
IsSysId (SystemId)
SystemId Tipo de dato: string

La identidad del sistema.

Sintaxis
IsSysId (
[ SystemId:= ] < expresin (IN) de string> )

Una funcin con un valor de retorno del tipo de dato bool.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 91


IsSysId
Funcin

92 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


IsVar
Funcin

IsVar - Determina si un dato es una variable


IsVar se utiliza para comprobar si un objeto de datos es una variable.

Ejemplo
PROC procedure1 (INOUT num parameter1)
IF IsVAR(parameter1) THEN
! Para esta llamada, hacer referencia a una variable
...
ELSEIF IsPers(parameter1) THEN
! Para esta llamada, hacer referencia a una variable persistente
...
ELSE
! No debe ocurrir
EXIT;
ENDIF
ENDPROC

El procedimiento procedure1 toma caminos diferentes en funcin de si el


parmetro recibido parameter1 es una variable o una variable persistente.

Valor de retorno Tipo de dato: bool

TRUE si el parmetro INOUT comprobado es una variable.


FALSE si el parmetro INOUT comprobado no es una variable.

Argumentos
IsVar (DatObj)
DatObj (objeto de datos) Tipo de dato: cualquier tipo

El nombre formal del parmetro INOUT.

Sintaxis
IsVar(
[ DatObj := ] < variable o variable persistente (INOUT) de cualquier tipo > )

Una funcin con un valor de retorno del tipo de dato bool.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 93


IsVar
Funcin

Informacin relacionada
Descrito en:
Comprobacin de si un dato es Funcin - IsPers
una variable persistente
Tipos de parmetros (modos de acceso) Caractersticas de RAPID - Rutinas

94 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


MaxRobSpeed
Funcin

MaxRobSpeed - Velocidad mxima del robot


MaxRobSpeed (velocidad mxima del robot) devuelve la velocidad mxima del TCP
del tipo de robot utilizado.

Ejemplo
TPWrite Velocidad mxima del TCP en mm/seg de este robot =
\Num:=MaxRobSpeed();

Se escribe el mensaje Velocidad mxima del TCP en mm/seg de este robot =


5000 en la unidad de programacin.

Valor de retorno Tipo de dato: num

Devuelve la velocidad mxima del TCP en mm/seg para el tipo de robot utilizado y los
valores normales prcticos para el TCP.

Si utiliza valores de TCP extremadamente altos en la base de coordenadas de la


herramienta, cree sus propios datos de velocidad con una velocidad de TCP mayor que
la que devuelve MaxRobSpeed.

Sintaxis
MaxRobSpeed ( )

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Definicin de velocidad Tipos de datos - speeddata
Definicin de la velocidad mxima Instrucciones - VelSet

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 95


MaxRobSpeed
Funcin

96 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


MirPos
Funcin

MirPos - Obtencin de la posicin espejo de una posicin


MirPos (obtener la posicin espejo de una posicin) se utiliza para obtener los valores
espejo de las partes de traslacin y rotacin de una posicin.

Ejemplo
CONST robtarget p1;
VAR robtarget p2;
PERS wobjdata mirror;
.
.
p2 := MirPos(p1, mirror);

p1 es un valor de tipo robtarget que contiene una posicin del robot y una
orientacin de la herramienta. La informacin espejo se obtiene en el plano xy
de la base de coordenadas definido por mirror, respecto del sistema de
coordenadas mundo. El resultado es un nuevo dato de tipo robtarget, que se
almacena en p2.

Valor de retorno Tipo de dato: robtarget

La nueva posicin, que es la posicin espejo de la posicin de entrada.

Argumentos
MirPos (Point MirPlane [\WObj] [\MirY])
Point Tipo de dato: robtarget

La posicin de entrada del robot. La parte de orientacin de esta posicin define


la orientacin actual del sistema de coordenadas de la herramienta.

MirPlane (plano espejo) Tipo de dato: wobjdata

Los datos del objeto de trabajo que definen el plano espejo. El plano espejo es el
plano xy de la base de coordenadas del objeto definida en MirPlane. La
ubicacin de la base de coordenadas del objeto se define respecto de la base de
coordenadas del usuario, tambin definida en MirPlane, que a su vez se define
respecto de la base de coordenadas mundo.

[\WObj] (objeto de trabajo) Tipo de dato: wobjdata

Se definen los datos del objeto de trabajo que definen la base de coordenadas del
objeto y la base de coordenadas del usuario respecto de la posicin de entrada,
Point. Si no se utiliza el argumento, la posicin se define respecto del sistema de
coordenadas mundo.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 97


MirPos
Funcin

Nota: Si la posicin se crea con un objeto de trabajo activado, es necesario hacer


referencia al objeto en el argumento.

[\MirY] (posicin espejo Y) Tipo de dato: switch

Si se omite este modificador, que es la regla predeterminada, se obtiene una


imagen espejo de la base de coordenadas de la herramienta en cuanto al eje x y
al eje z. Si se utiliza este modificador, se obtiene una imagen espejo de la base de
coordenadas de la herramienta en cuanto al eje y y al eje z.

Limitaciones
No se realiza ningn reclculo de la parte de configuracin del robot que se incluye en
los datos de entrada robtarget.

Sintaxis
MirPos(
[ Point := ] < expresin (IN) de robtarget>,
[MirPlane :=] <expresin (IN) de wobjdata> ,
[\WObj := <expresin (IN) de wobjdata> ]
[\MirY ])

Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

98 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ModTime
Funcin

ModTime - Obtener el tiempo de carga de un mdulo cargado


ModTime (hora de mdulo) se utiliza para obtener la hora de carga de un mdulo
determinado. El mdulo se especifica con su nombre y debe encontrarse en la memoria
de tareas. La hora se indica en segundos a partir de las 00:00:00 horas, hora de
Greenwich, del 1 de enero de 1970. La hora se devuelve como un valor de tipo num.

Ejemplo
MODULE mymod
VAR num mytime;
PROC printMyTime()
mytime := ModTime("mymod");
TPWrite "Mi hora es "+NumToStr(mytime,0);
ENDPROC

Valor de retorno Tipo de dato: num

El tiempo, medido en segundos, desde las 00:00:00 horas, horario de Greenwich, del
1 de enero de 1970.

Argumentos
ModTime ( Object )
Object Tipo de dato: string

El nombre del mdulo.

Ejecucin de programas
Esta funcin devuelve un valor numrico que especifica la hora en la que se carg el
mdulo.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 99


ModTime
Funcin

Ejemplo
A continuacin aparece un ejemplo completo en el que se implementa un servicio de
actualizacin si es ms reciente.

MODULE updmod
PROC callrout()
Load "HOME:/mymod.mod";
WHILE TRUE DO
! Llamar a una rutina de mymod
mymodrout;
IF FileTime("HOME:/mymod.mod" \ModifyTime)
> ModTime("mymod") THEN
UnLoad "HOME:/mymod.mod";
Load "HOME:/mymod.mod";
ENDIF
ENDWHILE
ENDPROC
ENDMODULE

Este programa recarga un mdulo si hay un mdulo ms reciente en el origen. Utiliza


ModTime para obtener el ltimo tiempo de carga del mdulo especificado y para
compararlo con los valores de FileTime\ModifyTime del origen. A continuacin, si el
origen es ms reciente, el programa descarga y carga de nuevo el mdulo.

Sintaxis
ModTime (
[ Object := ] < expresin (IN) de string>)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Obtener informacin de tiempo Funciones - FileTime
sobre un archivo

100 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


NOrient
Funcin

NOrient - Normaliza la orientacin


NOrient (normalizar orientacin) se utiliza para normalizar una orientacin no
normalizada (cuaternio).

Descripcin
La orientacin debe estar normalizada, es decir, la suma de los cuadrados debe ser
igual a 1:
q 12 + q 22 + q 32 + q 42 = 1

Si la orientacin est ligeramente desnormalizada, es posible normalizarla.


El error de normalizacin es el valor absoluto de la suma de los cuadrados de los
componentes de orientacin. Se considera que la orientacin est ligeramente
desnormalizada si el error de normalizacin es superior a 0,00001 e inferior a 0,1.
Si el error de normalizacin es superior a 0,1, no puede utilizarse la orientacin.

2 2 2 2
ABS ( q 1 + q 2 + q 3 + q 4 1 ) = normerr

normerr > 0,1 No utilizable


normerr > 0,00001 AND err <= 0,1 Ligeramente desnormalizada
normerr <= 0,00001 Normalizada

Ejemplo
Tenemos una posicin ligeramente desnormalizada (0,707170, 0, 0, 0,707170).

2 2 2 2
ABS ( 0,707170 + 0 + 0 + 0,707170 1 ) = 0,0000894

0,0000894 > 0,00001 unnormalized

VAR orient unnormorient := [0.707170, 0, 0, 0.707170];


VAR orient normorient;
.
.
normorient := NOrient(unnormorient);
La normalizacin de la orientacin (0,707170, 0, 0, 0,707170) se convierte en
(0,707107, 0, 0, 0,707107).

Valor de retorno Tipo de dato: orient


La orientacin normalizada.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 101


NOrient
Funcin

Argumentos
NOrient (Rotation)
Orient Tipo de dato: orient

La orientacin que debe ser normalizada.

Sintaxis
NOrient(
[Rotation :=] <expresin (IN) de orient>
)

Una funcin con un valor de retorno del tipo de dato orient.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

102 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


NumToStr
Funcin

NumToStr - Convierte un valor numrico en una cadena de


caracteres
NumToStr (nmero a cadena de caracteres) se utiliza para convertir un valor numrico
en una cadena.

Ejemplo
VAR string str;

str := NumToStr(0.38521,3);

Se asigna a la variable str el valor "0.385".

reg1 := 0.38521

str := NumToStr(reg1, 2\Exp);

Se asigna a la variable str el valor "3.85E-01".

Valor de retorno Tipo de dato: string

El valor numrico, convertido en una cadena con el nmero especificado de decimales,


en notacin cientfica si as se solicita. Si es necesario, el valor numrico se redondea.
Si no se incluye ningn decimal, se suprime el punto decimal.

Argumentos
NumToStr (Val Dec [\Exp])
Val (valor) Tipo de dato: num

El valor numrico a convertir.

Dec (decimales) Tipo de dato: num

Nmero de decimales. El nmero de decimales no deben ser negativo ni mayor


que la precisin disponible para los valores numricos.

[\Exp] (exponente) Tipo de dato: switch

Se solicita que se use la notacin cientfica.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 103


NumToStr
Funcin

Sintaxis
NumToStr(
[ Val := ] <expresin (IN) de num> ,
[ Dec := ] <expresin (IN) de num>
[ \Exp ]
)

Una funcin con un valor de retorno del tipo de dato string.

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

104 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Offs
Funcin

Offs - Desplaza una posicin del robot


Offs se utiliza para aadir un offset a una posicin del robot.

Ejemplos
MoveL Offs(p2, 0, 0, 10), v1000, z50, tool1;

Se mueve el robot a un punto que se encuentra a 10 mm de la posicin p2 (en la


direccin z).

p1 := Offs (p1, 5, 10, 15);

Se desplaza la posicin del robot p1 5 mm en la direccin x, 10 mm en la


direccin y y 15 mm en la direccin z.

Valor de retorno Tipo de dato: robtarget

Los datos de la posicin desplazada.

Argumentos
Offs (Point XOffset YOffset ZOffset)
Point Tipo de dato: robtarget

Los datos de posicin del desplazamiento.

XOffset Tipo de dato: num

El desplazamiento en la direccin x.

YOffset Tipo de dato: num

El desplazamiento en la direccin y.

ZOffset Tipo de dato: num

El desplazamiento en la direccin z.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 105


Offs
Funcin

Ejemplo
PROC pallet (num row, num column, num distance, PERS tooldata tool,
PERS wobjdata wobj)

VAR robtarget palletpos:=[[0, 0, 0], [1, 0, 0, 0], [0, 0, 0, 0],


[9E9, 9E9, 9E9, 9E9, 9E9, 9E9]];

palettpos := Offs (palettpos, (row-1)*distance, (column-1)*distance, 0);


MoveL palettpos, v100, fine, tool\WObj:=wobj;

ENDPROC

Se crea una rutina para tomar piezas de un pal. Cada pal se define como un
objeto de trabajo (consulte la Figura 4). La pieza que debe tomarse (fila y
columna) y la distancia existente entre las partes se indican como parmetros de
entrada. El aumento del ndice de fila y columna se realiza fuera de la rutina.

Columnas
Eje Y
O O O O O O O O O O
O O O O O O O O O O
Filas O O O O O O O O O O
O O O O O O O O O O
Eje X
O O O O O O O O O O

Figura 4 La posicin y la orientacin del pal se especifican mediante la definicin de un


objeto de trabajo.

Sintaxis
Offs (
[ Point := ] < expresin (IN) de robtarget>,
[XOffset :=] <expresin (IN) de num> ,
[YOffset :=] <expresin (IN) de num> ,
[ZOffset :=] <expresin (IN) de num> )

Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrito en:
Datos de posicin Tipos de datos - robtarget

106 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


OpMode
Funcin

OpMode - Lee el modo de funcionamiento


OpMode (modo de funcionamiento) se utiliza para leer el modo de funcionamiento
actual del sistema.

Ejemplo
TEST OpMode()
CASE OP_AUTO:
...
CASE OP_MAN_PROG:
...
CASE OP_MAN_TEST:
...
DEFAULT:
...
ENDTEST

Se ejecutan secciones distintas del programa en funcin del modo de funcionamiento


actual.

Valor de retorno Tipo de dato: symnum

El modo de funcionamiento actual, con uno de los valores definidos en la tabla


siguiente.

Valor de Constante
Comentario
retorno simblica

0 OP_UNDEF Modo de funcionamiento no definido


1 OP_AUTO Modo de funcionamiento automtico
2 OP_MAN_PROG Modo de funcionamiento manual a 250 mm/seg
como mximo
3 OP_MAN_TEST Modo de funcionamiento manual a mxima
velocidad, 100 %

Sintaxis
OpMode( )

Una funcin con un valor de retorno del tipo de dato symnum.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 107


OpMode
Funcin

Informacin relacionada
Descrito en:
Distintos modos de funcionamiento Gua del usuario - Starting up
Lectura del modo de ejecucin Funciones - RunMode

108 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


OrientZYX
Funcin

OrientZYX - Genera una orientacin a partir de ngulos


Euler
OrientZYX (orientacin a partir de ngulos Euler ZYX) se utiliza para genera una
variable de tipo orient a partir de ngulos Euler.

Ejemplo
VAR num anglex;
VAR num angley;
VAR num anglez;
VAR pose object;
.
object.rot := OrientZYX(anglez, angley, anglex)

Valor de retorno Tipo de dato: orient

La orientacin obtenida a partir de ngulos Euler.

Las rotaciones se realizan en el orden siguiente:


- Rotacin alrededor del eje z
- Rotacin alrededor del nuevo eje y
- Rotacin alrededor del nuevo eje x

Argumentos
OrientZYX (ZAngle YAngle XAngle)
ZAngle Tipo de dato: num

La rotacin, en grados, alrededor del eje Z.

YAngle Tipo de dato: num

La rotacin, en grados, alrededor del eje Y.

XAngle Tipo de dato: num

La rotacin, en grados, alrededor del eje X.

Las rotaciones se realizan en el orden siguiente:


- Rotacin alrededor del eje z
- Rotacin alrededor del nuevo eje y
- Rotacin alrededor del nuevo eje x

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 109


OrientZYX
Funcin

Sintaxis
OrientZYX(
[ZAngle :=] <expresin (IN) de num> ,
[YAngle :=] <expresin (IN) de num> ,
[XAngle :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato orient.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

110 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ORobT
Funcin

ORobT - Elimina un desplazamiento de programa de una


posicin
ORobT (objetivo de objeto de robot) se utiliza para transformar una posicin del
sistema de coordenadas de 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);

Se almacenan en p10 y p11 las posiciones actuales de los ejes del robot y de los
ejes externos. Los valores almacenados en p10 dependen del sistema de
coordenadas ProgDisp/ExtOffs. Los valores almacenados en p11 dependen del
sistema de coordenadas del objeto sin ningn offset en los ejes externos.

Valor de retorno Tipo de dato: robtarget

Los datos de posicin transformados.

Argumentos
ORobT (OrgPoint [\InPDisp] | [\InEOffs])
OrgPoint (punto original) Tipo de dato: robtarget

El punto original que debe transformarse.

[\InPDisp] (desplazamiento de programa) Tipo de dato: switch

Devuelve la posicin del TCP en el sistema de coordenadas ProgDisp, es decir,


slo elimina el offset de los ejes externos.

[\InEOffs] (offset externo) Tipo de dato: switch

Devuelve los ejes externos en el sistema de coordenadas del offset, es decir, slo
elimina el desplazamiento de programa del robot.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 111


ORobT
Funcin

Ejemplos
p10 := ORobT(p10 \InEOffs );

La funcin ORobT eliminar cualquier desplazamiento de programa que est


activo, dejando la posicin del TCP respecto del sistema de coordenadas del
objeto. Los ejes externos permanecen en el sistema de coordenadas del offset.

p10 := ORobT(p10 \InPDisp );

La funcin ORobT eliminar cualquier offset de los ejes externos. La posicin


del TCP permanece en el sistema de coordenadas ProgDisp.

Sintaxis
ORobT (
[ OrgPoint := ] < expresin (IN) de robtarget>
[\InPDisp] | [\InEOffs])

Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrito en:
Definicin de desplazamientos de Instrucciones - PDispOn, PDispSet
programa para el robot
Definicin de offsets para los ejes externos Instrucciones - EOffsOn, EOffsSet
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas

112 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


PoseInv
Funcin

PoseInv - Invierte la pose


PoseInv (inversin de pose) calcula la transformacin inversa de una pose.

Ejemplo
z1
Pose1

z0 Frame1

y1
x1
Frame0
y0 Pose2
x0

Pose1 representa las coordenadas de Frame1 respecto de Frame0.


La transformacin que indica las coordenadas de Frame0 respecto de Frame1 se
obtiene mediante la transformacin inversa:

VAR pose pose1;


VAR pose pose2;
.
.
pose2 := PoseInv(pose1);

Valor de retornoTipo de dato: pose


El valor de la pose inversa.

Argumentos
PoseInv (Pose)
Pose Tipo de dato: pose

La pose a invertir.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 113


PoseInv
Funcin

Sintaxis
PoseInv(
[Pose :=] <expresin (IN) de pose>
)

Una funcin con un valor de retorno del tipo de dato pose.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

114 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


PoseMult
Funcin

Pose - Tipo de dato:


PoseMult (multiplicacin de pose) se utiliza para calcular el producto de dos
transformaciones de base de coordenadas. Una aplicacin tpica es calcular una nueva
base de coordenadas como resultado de un desplazamiento que acta sobre una base
de coordenadas original.

Ejemplo

z1

pose1 y1 z2
z0 pose2
Frame1

x1 Frame2
Frame0
y0 y2
pose3 x2
x0

Pose1 representa las coordenadas de Frame1 respecto de Frame0.


Pose2 representa las coordenadas de Frame2 respecto de Frame1.

La transformacin que genera pose3, las coordenadas de Frame2 respecto de Frame0,


se obtienen mediante el producto de 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 dos poses.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 115


PoseMult
Funcin

Argumentos
PoseMult (Pose1 Pose2)
Pose1 Tipo de dato: pose

La primera pose.

Pose2 Tipo de dato: pose

La segunda pose.

Sintaxis
PoseMult(
[Pose1 :=] <expresin (IN) de pose> ,
[Pose2 :=] <expresin (IN) de pose>
)

Una funcin con un valor de retorno del tipo de dato pose.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

116 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


PoseVect
Funcin

PoseVect - Multiplicar una pose y un vector


PoseVect (vector de pose) se utiliza para calcular el producto de una pose y un vector.
Se suele utilizar para calcular un vector como resultado del efecto de un
desplazamiento o de un vector original.

Ejemplo

pos1
pos2 z1
z0

pose1 y1
Frame1
Frame0
y0 x1
x0

Pose1 representa las coordenadas de Frame1 respecto de Frame0.


pos1 es un vector respecto de Frame1.

El vector correspondiente respecto de Frame0 se obtiene mediante 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 el valor pos original.

Argumentos
PoseVect (Pose Pos)
Pose Tipo de dato: pose

La transformacin a aplicar.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 117


PoseVect
Funcin

Pos Tipo de dato: pos

El valor pos a transformar.

Sintaxis
PoseVect(
[Pose :=] <expresin (IN) de pose> ,
[Pos :=] <expresin (IN) de pos>
)

Una funcin con un valor de retorno del tipo de dato pos.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

118 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Pow
Funcin

Pow - Calcula el resultado de elevar un valor a una potencia


Pow (potencia) se utiliza para calcular el valor exponencial en cualquier base.

Ejemplo
VAR num x;
VAR num y
VAR num reg1;
.
reg1:= Pow(x, y);
Se asigna a reg1 el valor xy.

Valor de retorno Tipo de dato: num


El valor de la base x elevado a la potencia y (xy).

Argumentos
Pow (Base Exponent)
Base Tipo de dato: num
El valor del argumento usado como base.
Exponent Tipo de dato: num
El valor del argumento de exponente.

Limitaciones
La ejecucin de la funcin xy genera un error en los casos siguientes:
. Si x < 0 e y no es un entero
. Si x = 0 e y < 0.

Sintaxis
Pow(
[Base :=] <expresin (IN) de num> ,
[Exponent :=] <expresin (IN) de num>
)
Una funcin con un valor de retorno del tipo de dato num.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 119


Pow
Funcin

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

120 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Present
Funcin

Present - Comprueba si se est usando un parmetro opcional


Present se utiliza para comprobar si se ha utilizado un argumento opcional al llamar a
una rutina.

Los parmetros opcionales no pueden usarse si no se especificaron al llamar a la rutina.


Esta funcin puede usarse para comprobar si se ha especificado un parmetro, con la
finalidad de evitar la aparicin de errores.

Ejemplo
PROC feeder (\switch on | \switch off)

IF Present (on) Set do1;


IF Present (off) Reset do1;

ENDPROC

La salida do1, que controla un transportador, se activa o desactiva en funcin del


argumento utilizado al llamar a la rutina.

Valor de retorno Tipo de dato: bool

TRUE = Se ha definido el valor de parmetro o el modificador al llamar a la rutina.

FALSE = No se ha definido el valor del parmetro o el modificador.

Argumentos
Present (OptPar)
OptPar (parmetro opcional) Tipo de dato: cualquier tipo

El nombre del parmetro opcional cuya presencia se desea comprobar.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 121


Present
Funcin

Ejemplo
PROC glue (\switch on, num glueflow, robtarget topoint, speeddata speed,
zonedata zone, PERS tooldata tool, \PERS wobjdata wobj)

IF Present (on) PulseDO glue_on;


SetAO gluesignal, glueflow;
IF Present (wobj) THEN
MoveL topoint, speed, zone, tool \WObj=wobj;
ELSE
MoveL topoint, speed, zone, tool;
ENDIF

ENDPROC

Se crea una rutina de aplicacin de adhesivo Si se especifica el argumento \on al


llamar a la rutina, se genera un pulso en la seal glue_on. A continuacin, el robot
activa la seal analgica de salida gluesignal, que controla la pistola de adhesivo
y la mueve hasta la posicin final. Dado que el parmetro wobj es opcional, se
utilizan instrucciones MoveL diferentes en funcin de si se utiliza o no este
argumento.

Sintaxis
Present (
[OptPar:=] <referencia (REF) de cualquier tipo> )

En este caso, el parmetro REF requiere el nombre del parmetro opcional.

Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrito en:
Parmetros de rutinas Caractersticas bsicas - Rutinas

122 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadBin
Funcin Advanced functions (Funciones avanzadas)

ReadBin - Lee un byte de un archivo o un canal serie


ReadBin (leer binario) se utiliza para leer un byte (8 bits) de un archivo o un canal
serie.

Esta funcin es compatible con archivos o canales serie de tipo binario y alfanumrico.

Ejemplo
VAR num character;
VAR iodev inchannel;
...
Open "com2:", inchannel\Bin;
character := ReadBin(inchannel);

Se lee un byte del canal serie binario inchannel.

Valor de retorno Tipo de dato: num

Un byte (8 bits) se lee de un archivo o un canal serie especificado. Este byte se


convierte en el valor numrico positivo correspondiente y se devuelve con el tipo de
dato num. Si un archivo est vaco (se ha alcanzado el fin del archivo), se devuelve el
nmero -1.

Argumentos
ReadBin (IODevice [\Time])
IODevice Tipo de dato: iodev

El nombre (la referencia) del archivo o del canal serie que debe leerse.

[\Time] Tipo de dato: num

El tiempo mximo para la operacin de lectura (tiempo lmite) en segundos.


Si no se especifica este argumento, el tiempo mximo es de 60 segundos.

Si se agota este tiempo antes de que se complete la operacin de lectura, se llama


al gestor de errores con el cdigo de error ERR_DEV_MAXTIME. Si no hay
ningn gestor de errores, se detiene la ejecucin.

La funcin de tiempo lmite se utiliza tambin durante un paro de programa y se


observar en el programa de RAPID al poner en marcha el programa.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 123


ReadBin
Advanced functions (Funciones avanzadas) Funcin

Ejecucin de programas
La ejecucin del programa espera hasta que se pueda leer un byte (8 bits) del archivo o
del canal serie.

Ejemplo
VAR num bindata;
VAR iodev file;

Open HOME:/myfile.bin, file \Read \Bin;


bindata := ReadBin(file);
WHILE bindata <> EOF_BIN DO
TPWrite ByteToStr(bindata\Char);
bindata := ReadBin(file);
ENDWHILE

Se lee el contenido del archivo binario myfile.bin desde el principio hasta el fin y
se muestran los datos binarios recibidos (un carcter cada vez) en la unidad de
programacin, tras convertirlos en caracteres.

Limitaciones
Esta funcin slo puede usarse con archivos y canales serie que hayan sido abiertos con
un acceso de lectura (\Read en el caso de los archivos alfanumricos, \Bin o \Append
\Bin en el caso de los archivos binarios).

Gestin de errores
Si se produce un error durante la lectura, la variable de sistema ERRNO cambia a
ERR_FILEACC.

Si se agota el tiempo lmite antes de que se complete la operacin de lectura, la variable


de sistema ERRNO cambia a ERR_DEV_MAXTIME.

A continuacin, estos errores pueden ser gestionados en el gestor de errores.

Datos predefinidos
La constante EOF_BIN puede usarse para detener la lectura al final del archivo.

CONST num EOF_BIN := -1;

124 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadBin
Funcin Advanced functions (Funciones avanzadas)

Sintaxis
ReadBin(
[IODevice :=] <variable (VAR) de iodev>
[\Time:= <expresin (IN) de num>])

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Apertura y otras operaciones con archivos Resumen sobre RAPID -
o canales serie Comunicacin
Conversin de un byte en una cadena Instrucciones - ByteToStr
de caracteres

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 125


ReadBin
Advanced functions (Funciones avanzadas) Funcin

126 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadMotor
Funcin

ReadMotor - Lee los ngulos actuales de los motores


ReadMotor se utiliza para leer los ngulos actuales de los distintos motores de los ejes
del robot y de los ejes externos. La aplicacin principal de esta funcin es la realizacin
de procedimientos de calibracin del robot.

Ejemplo
VAR num motor_angle2;

motor_angle2 := ReadMotor(2);

El ngulo actual del motor del segundo eje del robot se almacena en
motor_angle2.

Valor de retorno Tipo de dato: num

El ngulo actual del motor del eje indicado en radianes, ya sea un eje del robot o un eje
externo.

Argumentos
ReadMotor [\MecUnit ] Axis

MecUnit (unidad mecnica) Tipo de dato: mecunit

El nombre de la unidad mecnica cuyos valores de eje se desea comprobar. Si se


omite este argumento, se obtiene el valor de un eje del robot (recuerde que en esta
versin slo se admite un robot en este argumento).

Axis Tipo de dato: num

El nmero del eje cuyo valor se desea obtener (de 1 a 6).

Ejecucin de programas
El ngulo de motor devuelto representa la posicin actual del motor en radianes y es
independiente de cualquier offset de calibracin. El valor no depende de ninguna
posicin fija del robot, slo de la posicin cero interna del resolver, es decir,
normalmente la posicin cero del resolver ms cercana a la posicin de calibracin (la
diferencia existente entre la posicin cero del resolver y la posicin de calibracin es
el valor del offset de calibracin). Este valor representa el movimiento completo de
cada eje, si bien puede ser de varios giros.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 127


ReadMotor
Funcin

Ejemplo
VAR num motor_angle3;

motor_angle3 := ReadMotor(\MecUnit:=robot, 3);

El ngulo de motor actual del tercer eje del robot se almacena en motor_angle3.

Sintaxis
ReadMotor(
[\MecUnit := < variable (VAR) de mecunit>,]
[Axis := ] < expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Lectura del ngulo actual del eje Funciones - CJointT

128 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadNum
Funcin Advanced functions (Funciones avanzadas)

ReadNum - Lee un nmero de un archivo o un canal serie


ReadNum (leer nmero) se utiliza para leer un nmero de un archivo o un canal serie
alfanumrico.

Ejemplo
VAR iodev infile;
...
Open "HOME:/file.doc", infile\Read;
reg1 := ReadNum(infile);

Se asigna a Reg1 un nmero ledo del archivo file.doc.

Valor de retorno Tipo de dato: num

El valor numrico ledo de un archivo o un canal serie especificado.


Si el archivo est vaco (se ha alcanzado el fin del archivo), se devuelve el nmero
9,999E36.

Argumentos
ReadNum (IODevice [\Delim] [\Time])
IODevice Tipo de dato: iodev

El nombre (la referencia) del archivo o del canal serie que debe leerse.

[\Delim] (delimitadores) Tipo de dato: string

Una cadena que contiene los delimitadores que deben utilizarse para interpretar
las lneas del archivo o del canal serie. De forma predeterminada (sin \Delim), el
archivo se lee una lnea cada vez y el nico delimitador que se tiene en cuenta es
el carcter de salto de lnea (\0A). Cuando se utiliza el argumento \Delim,
cualquier carcter del argumento de cadena especificado se utilizar para
determinar qu parte de la lnea es significativa.

Cuando se utiliza el argumento \Delim, el sistema de control aade siempre los


caracteres de retorno de carro (\0D) y salto de lnea (\0A) a los delimitadores
especificados por el usuario.

Para especificar caracteres no alfanumricos, utilice \xx, donde xx es la


representacin hexadecimal del cdigo ASCII del carcter (por ejemplo: TAB se
especifica con \09).

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 129


ReadNum
Advanced functions (Funciones avanzadas) Funcin

[\Time] Tipo de dato: num

El tiempo mximo para la operacin de lectura (tiempo lmite) en segundos. Si


no se especifica este argumento, el tiempo mximo es de 60 segundos.

Si se agota este tiempo antes de que se complete la operacin de lectura, se llama


al gestor de errores con el cdigo de error ERR_DEV_MAXTIME. Si no hay
ningn gestor de errores, se detiene la ejecucin.

La funcin de tiempo lmite se utiliza tambin durante un paro de programa y se


observar en el programa de RAPID al poner en marcha el programa.

Ejecucin de programas
A partir de la posicin actual del archivo, la funcin lee y desecha cualquier delimitador
de encabezado. Un delimitador de encabezado que se usa sin el argumento \Delim es el
carcter de salto de lnea. Los delimitadores de encabezado con el argumento \Delim
son cualquier carcter del argumento \Delim ms los caracteres de retorno de carro y
salto de lnea. Por tanto, se lee todo lo que se encuentre hasta el siguiente carcter
delimitador e incluyndolo (el delimitador se desecha posteriormente), pero no ms de
80 caracteres. Si la parte significativa tiene ms de 80 caracteres, el resto de los
caracteres se leen en la siguiente operacin de lectura.

A continuacin, la cadena leda se convierte en un valor numrico. Por ejemplo,


234.4 se convierte en el valor numrico 234,4.

Ejemplo
reg1 := ReadNum(infile\Delim:="\09 ");
IF reg1 > EOF_NUM THEN
TPWrite "El archivo est vaco";
...

Lee un nmero en una lnea en la que los nmeros estn separados por caracteres
de tabulador (\09) o espacios ( ).
Antes de usar el nmero ledo del archivo, se realiza una comprobacin para
asegurarse de que el archivo no est vaco.

Limitaciones
La funcin slo puede usarse con archivos alfanumricos que hayan sido abiertos para
lectura.

130 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadNum
Funcin Advanced functions (Funciones avanzadas)

Gestin de errores
Si se produce un error de acceso durante la lectura, la variable de sistema ERRNO
cambia a ERR_FILEACC.

Si se intenta leer un dato no numrico, la variable de sistema ERRNO cambia a


ERR_RCVDATA.

Si se agota el tiempo lmite antes de que se complete la operacin de lectura, la variable


de sistema ERRNO cambia a ERR_DEV_MAXTIME.

A continuacin, estos errores pueden ser gestionados en el gestor de errores.

Datos predefinidos
La constante EOF_NUM puede usarse para detener la lectura al final del archivo.

CONST num EOF_NUM := 9.998E36;

Sintaxis
ReadNum (
[IODevice :=]<variable (VAR) de iodev>
[\Delim:=<expresin (IN) de string>]
[\Time:=<expresin (IN) de num>])

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Apertura y otras operaciones con Resumen sobre RAPID -
archivos o canales serie Comunicacin

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 131


ReadNum
Advanced functions (Funciones avanzadas) Funcin

132 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadStr
Funcin Advanced functions (Funciones avanzadas)

ReadStr - Lee una cadena de caracteres de un archivo o un


canal serie
ReadStr (leer cadena) se utiliza para leer una cadena de un archivo o un canal serie
alfanumrico.

Ejemplo
VAR string text;
VAR iodev infile;
...
Open "HOME:/file.doc", infile\Read;
text := ReadStr(infile);

Se asigna a Text una cadena de caracteres leda del archivo file.doc.

Valor de retorno Tipo de dato: string

La cadena de caracteres leda del archivo o canal serie especificado.


Si el archivo est vaco (se ha alcanzado el fin del archivo), se devuelve la cadena de
caracteres EOF.

Argumentos
ReadStr (IODevice [\Delim] [\RemoveCR] [\DiscardHeaders]
[\Time])
IODevice Tipo de dato: iodev

El nombre (la referencia) del archivo o del canal serie que debe leerse.

[\Delim] (delimitadores) Tipo de dato: string

Una cadena que contiene los delimitadores que deben utilizarse para interpretar
las lneas del archivo o del canal serie. De forma predeterminada, el archivo se
lee una lnea cada vez y el nico delimitador que se tiene en cuenta es el carcter
de salto de lnea (\0A). Cuando se utiliza el argumento \Delim, cualquier carcter
del argumento de cadena especificado, adems del carcter predeterminado de
salto de lnea, se utilizar para determinar qu parte de la lnea es significativa.

Para especificar caracteres no alfanumricos, utilice \xx, donde xx es la


representacin hexadecimal del cdigo ASCII del carcter (por ejemplo: TAB se
especifica con \09).

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 133


ReadStr
Advanced functions (Funciones avanzadas) Funcin

[\RemoveCR] Tipo de dato: switch

Un modificador utilizado para eliminar el retorno de carro final al leer archivos


de PC. En los archivos de PC, los cambios de lnea se especifican mediante un
retorno de carro y un salto de lnea (CRLF). Al leer una lnea en este tipo de
archivos, el carcter de retorno de carro se lee de forma predeterminada en la
cadena de retorno. Cuando se utiliza este argumento, el carcter de retorno de
carro se lee del archivo pero no se incluye en la cadena de caracteres devuelta.

[\DiscardHeaders] Tipo de dato: switch

Este argumento especifica si los delimitadores de encabezado (especificados en


\Delim ms el salto de lnea predeterminado) deben ser omitidos o no antes de
transferir los datos a la cadena de caracteres de retorno. De forma
predeterminada, si el primer carcter de la posicin actual del archivo es un
delimitador, se lee pero no se transfiere a la cadena de caracteres de retorno, se
detiene la interpretacin de la lnea y el valor devuelto ser una cadena de
caracteres vaca. Si se utiliza este argumento, todos los delimitadores incluidos
en la lnea se leern del archivo pero se desechan. La cadena de caracteres
devuelta contendr los datos a partir del primer carcter de la lnea que no sea un
delimitador.

[\Time] Tipo de dato: num

El tiempo mximo para la operacin de lectura (tiempo lmite) en segundos. Si


no se especifica este argumento, el tiempo mximo es de 60 segundos.

Si se agota este tiempo antes de que se complete la operacin de lectura, se llama


al gestor de errores con el cdigo de error ERR_DEV_MAXTIME. Si no hay
ningn gestor de errores, se detiene la ejecucin.

La funcin de tiempo lmite se utiliza tambin durante un paro de programa y se


observar en el programa de RAPID al poner en marcha el programa.

Ejecucin de programas
A partir de la posicin actual del archivo, si se utiliza el argumento \DiscardHeaders,
la funcin lee y desecha cualquier delimitador de encabezado (caracteres de salto de
lnea y cualquier carcter especificado en el argumento \Delim). En todos los casos, lee
todo hasta el siguiente carcter delimitador, pero no ms de 80 caracteres. Si la parte
significativa tiene ms de 80 caracteres, el resto de los caracteres se leen en la siguiente
operacin de lectura. El delimitador que causa la detencin de la interpretacin se lee
del archivo pero no se transfiere a la cadena devuelta. Si el ltimo carcter de la cadena
es un carcter de retorno de carro y se utiliza el argumento \RemoveCR, este carcter se
elimina de la cadena.

134 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadStr
Funcin Advanced functions (Funciones avanzadas)

Ejemplo 1
text := ReadStr(infile);
IF text = EOF THEN
TPWrite "El archivo est vaco";
...

Antes de usar la cadena de caracteres leda del archivo, se realiza una


comprobacin para asegurarse de que el archivo no est vaco.

Ejemplo 2
Por ejemplo, veamos un archivo que contiene:
<LF><ESPACIO><TAB>Hola<SPACE><ESPACIO>Mundo<CR><LF>

text := ReadStr(infile);

El texto ser una cadena vaca: el primer carcter del archivo es el delimitador
predeterminado <LF>.

text := ReadStr(infile\DiscardHeaders);

El texto contendr
<ESPACIO><TAB>Hola<ESPACIO><SPACE>Mundo<CR>: el primer
carcter del archivo, el delimitador predeterminado <LF>, se desecha.

text := ReadStr(infile\RemoveCR\DiscardHeaders);

El texto contendr <ESPACIO><TAB>Hola<ESPACIO><SPACE>Mundo: el


primer carcter del archivo, el delimitador predeterminado <LF>, se desecha. El
carcter de retorno de carro final se elimina.

text := ReadStr(infile\Delim:= \09\RemoveCR\DiscardHeaders);

El texto contendr Hola: los primeros caracteres del archivo que coincidan con
el delimitador predeterminado <LF> o con el conjunto de caracteres definido por
\Delim (espacio y tabulador) se desechan. Se transfieren los datos existentes
hasta el primer delimitador ledo del archivo, aunque ste ltimo no se transfiere
a la cadena. Una nueva ejecucin de la misma sentencia devuelve Mundo.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 135


ReadStr
Advanced functions (Funciones avanzadas) Funcin

Ejemplo 3
Por ejemplo, veamos un archivo que contiene:
<CR><LF>Hola<CR><LF>

text := ReadStr(infile);

El texto contendr el carcter <CR> (\0d): los caracteres <CR> y <LF> se leen
del archivo, pero slo se transfiere <CR> a la cadena. Una nueva ejecucin de la
misma sentencia devuelve Hola\0d.

text := ReadStr(infile\RemoveCR);

El texto ser una cadena vaca: los caracteres <CR> y <LF> se leen del archivo,
<CR> se transfiere pero se elimina de la cadena. Una nueva ejecucin de la
misma sentencia devuelve Hola.

text := ReadStr(infile\Delim:=\0d);

El texto ser una cadena vaca: <CR> se lee del archivo pero no se transfiere a la
cadena devuelta. Una nueva ejecucin de la misma instruccin devuelve de
nuevo una cadena vaca: <LF> se lee del archivo pero no se transfiere a la cadena
devuelta.

text := ReadStr(infile\Delim:=\0d\DiscardHeaders);

El texto contendr Hola: una nueva ejecucin de la misma instruccin


devuelve EOF (final del archivo).

Limitaciones
La funcin slo puede usarse con archivos o canales serie que se han abierto para
lectura en modo alfanumrico.

Gestin de errores
Si se produce un error durante la lectura, la variable de sistema ERRNO cambia a
ERR_FILEACC.

Si se agota el tiempo lmite antes de que se complete la operacin de lectura, la variable


de sistema ERRNO cambia a ERR_DEV_MAXTIME.

A continuacin, estos errores pueden ser gestionados en el gestor de errores.

136 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadStr
Funcin Advanced functions (Funciones avanzadas)

Datos predefinidos
La constante EOF puede usarse para comprobar si el archivo estaba vaco al intentar
leer del archivo o para detener la lectura al final del archivo.

CONST string EOF := "EOF";

Sintaxis
ReadStr (
[IODevice :=] <variable (VAR) de iodev>
[\Delim:=<expresin (IN) de string>]
[\RemoveCR]
[\DiscardHeaders]
[\Time:= <expresin (IN) de num>])

Una funcin con un valor de retorno del tipo de dato string.

Informacin relacionada
Descrito en:
Apertura y otras operaciones con Resumen sobre RAPID -
archivos o canales serie Comunicacin

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 137


ReadStr
Advanced functions (Funciones avanzadas) Funcin

138 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadStrBin
Funcin Advanced functions (Funciones avanzadas)

ReadStrBin - Lee una cadena de un canal serie o un archivo


binario
ReadStrBin (leer cadena de caracteres de binario) se utiliza para leer una cadena de
un canal serie o un archivo binario.

Ejemplo
VAR iodev channel2;
VAR string text;
...
Open com2:, channel2 \Bin;
text := ReadStrBin (channel2, 10);

Se asigna a Text una cadena de texto de 10 caracteres leda del canal serie al que
se hace referencia con channel2.

Valor de retorno Tipo de dato: string

La cadena de texto leda del canal serie o el archivo especificado. Si el archivo est
vaco (se ha alcanzado el fin del archivo), se devuelve la cadena de caracteres EOF.

Argumentos
ReadStrBin (IODevice NoOfChars [\Time])
IODevice Tipo de dato: iodev

El nombre (la referencia) del canal serie o el archivo binario del que se desea leer.

NoOfChars Tipo de dato: num

El nmero de caracteres a leer del canal serie o del archivo binario.

[\Time] Tipo de dato: num

El tiempo mximo para la operacin de lectura (tiempo lmite) en segundos.


Si no se especifica este argumento, el tiempo mximo es de 60 segundos.

Si se agota este tiempo antes de que se complete la operacin de lectura, se llama


al gestor de errores con el cdigo de error ERR_DEV_MAXTIME. Si no hay
ningn gestor de errores, se detiene la ejecucin.

La funcin de tiempo lmite se utiliza tambin durante un paro de programa y se


observar en el programa de RAPID al poner en marcha el programa.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 139


ReadStrBin
Advanced functions (Funciones avanzadas) Funcin

Ejecucin de programas
La funcin lee el nmero especificado de caracteres del canal serie o del archivo
binario.

Ejemplo
text := ReadStrBin(infile,20);
IF text = EOF THEN
TPWrite "El archivo est vaco";
Antes de usar la cadena de caracteres leda del archivo, se realiza una
comprobacin para asegurarse de que el archivo no est vaco.

Limitaciones
La funcin slo puede usarse con canales serie o archivos que hayan sido abiertos para
lectura en modo binario.

Gestin de errores
Si se produce un error durante la lectura, la variable de sistema ERRNO cambia a
ERR_FILEACC.
Si se agota el tiempo lmite antes de que se complete la operacin de lectura, la variable
de sistema ERRNO cambia a ERR_DEV_MAXTIME.
A continuacin, estos errores pueden ser gestionados en el gestor de errores.

Datos predefinidos
La constante EOF puede usarse para comprobar si el archivo estaba vaco al intentar
leer del archivo o para detener la lectura al final del archivo.
CONST string EOF := "EOF";

Sintaxis
ReadStrBin (
[IODevice :=] <variable (VAR) de iodev>,
[NoOfChars :=] <expresin (IN) de num>
[\Time:= <expresin (IN) de num>])
Una funcin con un valor de retorno del tipo de dato string.

140 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ReadStrBin
Funcin Advanced functions (Funciones avanzadas)

Informacin relacionada
Descrito en:
Apertura y otras operaciones con Resumen sobre RAPID -
canales serie o archivos Comunicacin
Escritura de cadenas binarias Instrucciones - WriteStrBin

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 141


ReadStrBin
Advanced functions (Funciones avanzadas) Funcin

142 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


RelTool
Funcin

RelTool - Hace un desplazamiento respecto de la herramienta


RelTool (herramienta relativa) se utiliza para aadir un desplazamiento y/o una
rotacin, expresada en el sistema de coordenadas del objeto, a una posicin del robot.

Ejemplo
MoveL RelTool (p1, 0, 0, 100), v100, fine, tool1;

Se mueve el robot a una posicin que se encuentra a 100 mm de p1 en la


direccin de la herramienta.

MoveL RelTool (p1, 0, 0, 0 \Rz:= 25), v100, fine, tool1;

Se gira la herramienta 25o alrededor de su eje z.

Valor de retorno Tipo de dato: robtarget

La nueva posicin, con la adicin de un desplazamiento y/o una rotacin, si la hay,


respecto de la herramienta activa.

Argumentos
RelTool (Point Dx Dy Dz [\Rx] [\Ry] [\Rz])
Point Tipo de dato: robtarget

La posicin de entrada del robot. La parte de orientacin de esta posicin define


la orientacin actual del sistema de coordenadas de la herramienta.

Dx Tipo de dato: num

El desplazamiento en mm en la direccin x del sistema de coordenadas de la


herramienta.

Dy Tipo de dato: num

El desplazamiento en mm en la direccin y del sistema de coordenadas de la


herramienta.

Dz Tipo de dato: num

El desplazamiento en mm en la direccin z del sistema de coordenadas de la


herramienta.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 143


RelTool
Funcin

[\Rx] Tipo de dato: num

La rotacin en grados alrededor del eje x del sistema de coordenadas de la


herramienta.

[\Ry] Tipo de dato: num

La rotacin en grados alrededor del eje y del sistema de coordenadas de la


herramienta.

[\Rz] Tipo de dato: num

La rotacin en grados alrededor del eje z del sistema de coordenadas de la


herramienta.

En el caso de que se especifiquen dos o tres rotaciones al mismo tiempo, stas se


realizan primero alrededor del eje x, a continuacin alrededor del nuevo eje y, y a
continuacin alrededor del nuevo eje z.

Sintaxis
RelTool(
[ Point := ] < expresin (IN) de robtarget>,
[Dx :=] <expresin (IN) de num> ,
[Dy :=] <expresin (IN) de num> ,
[Dz :=] <expresin (IN) de num>
[\Rx := <expresin (IN) de num> ]
[\Ry := <expresin (IN) de num> ]
[\Rz := <expresin (IN) de num> ])

Una funcin con un valor de retorno del tipo de dato robtarget.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas
Instrucciones de posicionamiento Resumen sobre RAPID - Movimiento

144 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


RobOS
Funcin

RobOS - Comprueba si el programa se est ejecutando en


RC o VC
RobOS (sistema operativo del robot) puede usarse para comprobar si la ejecucin se
est realizando en el controlador de robot RC o en el controlador virtual VC (por
ejemplo RobotStudio, ProgramMaker, QuickTeach).

Ejemplo
IF RobOS() THEN
! Sentencias de ejecucin para RC
ELSE
! Sentencias de ejecucin para VC
ENDIF

Valor de retorno Tipo de dato: bool

TRUE si la ejecucin se est realizando en el controlador de robot. De lo contrario,


FALSE.

Sintaxis
RobOS ()

Una funcin con un valor de retorno del tipo de dato bool.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 145


RobOS
Funcin

146 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Round
Funcin

Round - Redondea un valor numrico


Round se utiliza para redondear un valor numrico con un nmero determinado de
decimales o a un valor entero.

Ejemplo
VAR num val;

val := Round(0.38521\Dec:=3);

Se asigna a la variable val el valor 0,385.

val := Round(0.38521\Dec:=1);

Se asigna a la variable val el valor 0,4.

val := Round(0.38521);

Se asigna a la variable val el valor 0.

Valor de retorno Tipo de dato: num

El valor numrico redondeado con el nmero especificado de decimales.

Argumentos
Round ( Val [\Dec])
Val (valor) Tipo de dato: num

El valor numrico a redondear.

[\Dec] (decimales) Tipo de dato: num

Nmero de decimales.

Si el nmero de decimales especificado es 0 o se omite el argumento, el valor se


redondea a un entero.

El nmero de decimales no debe ser negativo ni mayor que la precisin


disponible para los valores numricos.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 147


Round
Funcin

Sintaxis
Round(
[ Val := ] <expresin (IN) de num>
[ \Dec := <expresin (IN) de num> ]
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas
Truncacin de un valor Funciones - Trunc

148 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


RunMode
Funcin

RunMode - Obtiene el modo de ejecucin


RunMode (modo de ejecucin) se utiliza para leer el modo de ejecucin actual de la
tarea de programa.

Ejemplo
IF RunMode() = RUN_CONT_CYCLE THEN
..
ENDIF

La seccin de programa slo se ejecuta para un funcionamiento continuado o cclico.

Valor de retorno Tipo de dato: symnum

El modo de ejecucin actual, con uno de los valores definidos en la tabla siguiente.

Valor de
Constante simblica Comentario
retorno

0 RUN_UNDEF Modo de ejecucin no definido


1 RUN_CONT_CYCLE Modo de ejecucin continuo o en modo ciclo
2 RUN_INSTR_FWD Modo de ejecucin de avance de instrucciones
3 RUN_INSTR_BWD Modo de ejecucin hacia atrs
4 RUN_SIM Modo de ejecucin simulado
5 RUN_STEP_MOVE Instrucciones de movimiento en ejecucin hacia
delante, instrucciones lgicas en modo de
ejecucin continuo

Argumentos
RunMode ( [ \Main] )
[ \Main ] Tipo de dato: switch

Devuelve el modo de ejecucin actual de la tarea de programa main.


Se utiliza en sistemas multitarea para obtener el modo de ejecucin actual de la
tarea de programa main desde otra tarea de programa.

Si se omite el argumento, el valor de retorno siempre refleja el modo de


ejecucin opuesto de la tarea de programa que ejecuta la funcin RunMode.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 149


RunMode
Funcin

Sintaxis
RunMode ( [\Main] )

Una funcin con un valor de retorno del tipo de dato symnum.

Informacin relacionada
Descrito en:
Lectura del modo de funcionamiento Funciones - OpMode

150 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Sin
Funcin

Sin - Calcula el valor del seno


Sin (seno) se utiliza para calcular el valor de seno de un valor de ngulo.

Ejemplo
VAR num angle;
VAR num value;
.
.
value := Sin(angle);

Valor de retorno Tipo de dato: num

El valor del seno en el rango [-1, 1].

Argumentos
Sin (Angle)
Angle Tipo de dato: num

El valor del ngulo, expresado en grados.

Sintaxis
Sin(
[Angle :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 151


Sin
Funcin

152 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Sqrt
Funcin

Sqrt - Calcula la raz cuadrada


Sqrt (raz cuadrada) se utiliza para calcular la raz cuadrada.

Ejemplo
VAR num x_value;
VAR num y_value;
.
.
y_value := Sqrt( x_value);

Valor de retorno Tipo de dato: num

El valor de la raz cuadrada.

Argumentos
Sqrt (Value)
Value Tipo de dato: num

El valor del argumento de la raz cuadrada ( ); debe ser 0.

Sintaxis
Sqrt(
[Value :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 153


Sqrt
Funcin

154 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrFind
Funcin

StrFind - Busca un carcter en una cadena de caracteres


StrFind (bsqueda en cadena) se utiliza para buscar en una cadena, a partir de una
posicin especificada, un carcter que se encuentra dentro de un conjunto determinado
de caracteres.

Ejemplo
VAR num found;

found := StrFind("Robotics",1,"aeiou");

Se asigna a la variable found el valor 2.

found := StrFind("Robotics",1,"aeiou"\NotInSet);

Se asigna a la variable found el valor 1.

found := StrFind("IRB 6400",1,STR_DIGIT);

Se asigna a la variable found el valor 5.

found := StrFind("IRB 6400",1,STR_WHITE);

Se asigna a la variable found el valor 4.

Valor de retorno Tipo de dato: num

La posicin de carcter del primer carcter, ya sea en o despus de la posicin


especificada, que pertenece al conjunto especificado. Si no se encuentra ninguno de los
caracteres especificados, se devuelve la longitud de la cadena de caracteres +1.

Argumentos
StrFind (Str ChPos Set [\NotInSet])
Str (cadena de caracteres) Tipo de dato: string

La cadena en la que se desea buscar.

ChPos (posicin de carcter) Tipo de dato: num

La posicin del carcter inicial. Si la posicin est fuera de la cadena de


caracteres, se genera un error de tiempo de ejecucin.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 155


StrFind
Funcin

Set Tipo de dato: string

El conjunto de caracteres que se desea comprobar.

[\NotInSet] Tipo de dato: switch

Buscar un carcter que no se encuentra en el conjunto de caracteres.

Sintaxis
StrFind(
[ Str := ] <expresin (IN) de string> ,
[ ChPos := ] <expresin (IN) de num> ,
[ Set:= ] <expresin (IN) de string>
[\NotInSet ]
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

156 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrLen
Funcin

StrLen - Obtiene la longitud de una cadena


StrLen (longitud de cadena) se utiliza para obtener la longitud actual de la cadena.

Ejemplo
VAR num len;

len := StrLen("Robotics");

Se asigna a la variable len el valor 8.

Valor de retorno Tipo de dato: num

El nmero de caracteres de la cadena (>=0).

Argumentos
StrLen (Str)
Str (cadena de caracteres) Tipo de dato: string

La cadena de caracteres cuyo nmero de caracteres se desea contar.

Sintaxis
StrLen(
[ Str := ] <expresin (IN) de string>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 157


StrLen
Funcin

158 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrMap
Funcin

StrMap - Mapea una cadena de caracteres


StrMap (mapeo de cadena de caracteres) se utiliza para crear una copia de una cadena
en la que todos los caracteres se convierten acorde con una especificacin de mapeo
especificada.

Ejemplo
VAR string str;

str := StrMap("Robotics","aeiou","AEIOU");

Se asigna a la variable str el valor "RObOtIcs".

str := StrMap("Robotics",STR_LOWER, STR_UPPER);

Se asigna a la variable str el valor "ROBOTICS".

Valor de retorno Tipo de dato: string

La cadena de caracteres creada mediante la conversin de los caracteres de la cadena


especificada, de la forma indicada por las cadenas de origen y destino. Cada carcter
de la cadena especificada que se encuentre en la cadena de origen se reemplaza con el
carcter de la posicin correspondiente de la cadena de destino. Los caracteres para los
que no se haya especificado ningn mapeo se copian sin cambios a la cadena
resultante.

Argumentos
StrMap ( Str FromMap ToMap)
Str (cadena de caracteres) Tipo de dato: string

La cadena a convertir.

FromMap Tipo de dato: string

Parte de ndice del mapeo.

ToMap Tipo de dato: string

Parte de valor del mapeo.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 159


StrMap
Funcin

Sintaxis
StrMap(
[ Str := ] <expresin (IN) de string> ,
[ FromMap:= ] <expresin (IN) de string> ,
[ ToMap:= ] <expresin (IN) de string>
)

Una funcin con un valor de retorno del tipo de dato string.

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

160 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrMatch
Funcin

StrMatch - Busca un patrn dentro de una cadena de caracteres


StrMatch (correlacin de cadenas) se utiliza para buscar un patrn determinado dentro
de otra cadena, a partir de una posicin especificada.

Ejemplo
VAR num found;

found := StrMatch("Robotics",1,"bo");

Se asigna a la variable found el valor 3.

Valor de retorno Tipo de dato: num

La posicin de carcter de la primera subcadena, en o despus de la posicin


especificada, que es igual a la cadena de patrn especificada. Si no se encuentra la
subcadena, se devuelve la longitud de la cadena + 1.

Argumentos
StrMatch (Str ChPos Pattern)
Str (cadena de caracteres) Tipo de dato: string

La cadena en la que se desea buscar.

ChPos (posicin de carcter) Tipo de dato: num

La posicin del carcter inicial. Si la posicin est fuera de la cadena de


caracteres, se genera un error de tiempo de ejecucin.

Pattern Tipo de dato: string

La cadena de caracteres de patrn que se desea buscar.

Sintaxis
StrMatch(
[ Str := ] <expresin (IN) de string> ,
[ ChPos := ] <expresin (IN) de num> ,
[ Pattern:= ] <expresin (IN) de string>
)

Una funcin con un valor de retorno del tipo de dato num.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 161


StrMatch
Funcin

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

162 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrMemb
Funcin

StrMemb - Comprueba si un carcter pertenece a un conjunto


StrMemb (miembro de cadena de caracteres) se utiliza para comprobar si un carcter
concreto de una cadena pertenece a un conjunto determinado de caracteres.

Ejemplo
VAR bool memb;

memb := StrMemb("Robotics",2,"aeiou");

Se asigna a la variable memb el valor TRUE, ya que o forma parte del conjunto
aeiou.

memb := StrMemb("Robotics",3,"aeiou");

Se asigna a la variable memb el valor FALSE, ya que b no forma parte del


conjunto aeiou.

memb := StrMemb("S-721 68 VSTERS",3,STR_DIGIT);

Se asigna a la variable memb el valor TRUE.

Valor de retorno Tipo de dato: bool

TRUE si el carcter de la posicin especificada de la cadena especificada se encuentra


dentro del conjunto de caracteres especificado.

Argumentos
StrMemb (Str ChPos Set)
Str (cadena de caracteres) Tipo de dato: string

La cadena que se desea comprobar.

ChPos (posicin de carcter) Tipo de dato: num

La posicin del carcter que se desea comprobar. Si la posicin est fuera de la


cadena de caracteres, se genera un error de tiempo de ejecucin.

Set Tipo de dato: string

El conjunto de caracteres que se desea comprobar.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 163


StrMemb
Funcin

Sintaxis
StrMemb(
[ Str := ] <expresin (IN) de string> ,
[ ChPos := ] <expresin (IN) de num> ,
[ Set:= ] <expresin (IN) de string>
)

Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

164 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrOrder
Funcin

StrOrder - Comprueba si dos cadenas de caracteres estn


ordenadas
StrOrder (orden de cadenas de caracteres) se utiliza para comprobar si dos cadenas
estn en orden acorde con una secuencia de clasificacin de caracteres especificada.

Ejemplo
VAR bool le;

le := StrOrder("FIRST","SECOND",STR_UPPER);

Se asigna a la variable le el valor TRUE, porque "FIRST" va antes de


"SECOND" en la secuencia de clasificacin de caracteres STR_UPPER.

Valor de retorno Tipo de dato: bool

TRUE si la primera cadena va antes de la segunda cadena (Str1 <= Str2) cuando se
utiliza la clasificacin de caracteres especificada.

Se supone que los caracteres que no estn incluidos en el orden definido siguen a los
caracteres presentes.

Argumentos
StrOrder ( Str1 Str2 Order)
Str1 (cadena 1) Tipo de dato: string

El primer valor de cadena.

Str2 (cadena 2) Tipo de dato: string

El segundo valor de cadena.

Order Tipo de dato: string

Una secuencia de caracteres que define el orden.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 165


StrOrder
Funcin

Sintaxis
StrOrder(
[ Str1 := ] <expresin (IN) de string> ,
[ Str2 := ] <expresin (IN) de string> ,
[ Order := ] <expresin (IN) de string>
)

Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

166 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrPart
Funcin

StrPart - Busca una parte de una cadena


StrPart (parte de una cadena) se utiliza para encontrar una parte de una cadena y
obtenerla como una cadena nueva.

Ejemplo
VAR string part;

part := StrPart("Robotics",1,5);
Se asigna a la variable part el valor "Robot".

Valor de retorno Tipo de dato: string


La subcadena de la cadena especificada, que tiene la longitud especificada y comienza
en la posicin de carcter especificada.

Argumentos
StrPart (Str ChPos Len)
Str (cadena de caracteres) Tipo de dato: string
La cadena en la que se desea buscar una parte.
ChPos (posicin de carcter) Tipo de dato: num
La posicin del carcter inicial. Si la posicin est fuera de la cadena de
caracteres, se genera un error de tiempo de ejecucin.
Len (longitud) Tipo de dato: num
La longitud de la cadena parcial. Si la longitud es negativa o es superior a la
longitud de la cadena, o si la subcadena est (parcialmente) fuera de la cadena,
se genera un error de tiempo de ejecucin.

Sintaxis
StrPart(
[ Str := ] <expresin (IN) de string> ,
[ ChPos := ] <expresin (IN) de num> ,
[ Len:= ] <expresin (IN) de num>
)
Una funcin con un valor de retorno del tipo de dato string.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 167


StrPart
Funcin

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

168 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrToByte
Funcin

StrToByte - Convierte una cadena en un byte


StrToByte (cadena de caracteres a byte) se utiliza para convertir un dato del tipo string
con un formato de dato de byte en un dato del tipo 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 10 en representacin


decimal despus de la funcin StrToByte....

data_buffer{2} := StrToByte(con_data_buffer{2}\Hex);

El contenido del componente de matriz data_buffer{2} ser 174 en


representacin decimal despus de la funcin StrToByte....

data_buffer{3} := StrToByte(con_data_buffer{3}\Okt);

El contenido del componente de matriz data_buffer{3} ser 126 en


representacin decimal despus de la funcin StrToByte....

data_buffer{4} := StrToByte(con_data_buffer{4}\Bin);

El contenido del componente de matriz data_buffer{4} ser 10 en representacin


decimal despus de la funcin StrToByte....

data_buffer{5} := StrToByte(con_data_buffer{5}\Char);

El contenido del componente de matriz data_buffer{5} ser 65 en representacin


decimal despus de la funcin StrToByte....

Valor de retorno Tipo de dato: byte

El resultado de la operacin de conversin en representacin decimal.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 169


StrToByte
Funcin

Argumentos
StrToByte (ConStr [\Hex] | [\Okt] | [\Bin] | [\Char])
ConStr (cadena a convertir) Tipo de dato: string

Los datos de cadena a convertir.

Si se omite el argumento modificador opcional, la cadena de caracteres se convierten


al formato decimal (Dec).

[\Hex] (Hexadecimal) Tipo de dato: switch

La cadena de caracteres se convierte al formato hexadecimal.

[\Okt] (Octal) Tipo de dato: switch

La cadena de caracteres se convierte al formato octal.

[\Bin] (Binario) Tipo de dato: switch

La cadena de caracteres se convierte al formato binario.

[\Char] (Carcter) Tipo de dato: switch

La cadena de caracteres se convierte al formato de carcter ASCII.

Limitaciones
En funcin del formato de la cadena que se desea convertir, se aplica el dato de
cadena siguiente:

Formato: Longitud de Rango:


la cadena:
Dec .....: 0 - 9 3 "0" - "255"
Hex .....: 0 - 9, a -f, A - F 2 "0" - "FF"
Okt ......: 0 - 7 3 "0" - "377"
Bin ......: 0 - 1 8 "0" - "11111111"
Char ....: Cualquier carcter ASCII 1 Un carcter ASCII

Es posible utilizar cdigos de carcter de RAPID (por ejemplo \07 para el


carcter de control BEL) como argumentos de ConStr.

170 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrToByte
Funcin

Sintaxis
StrToByte(
[ConStr :=] <expresin (IN) de string>
[\ Hex ] | [\ Okt] | [\ Bin] | [\ Char]
) ;

Una funcin con un valor de retorno del tipo de dato byte.

Informacin relacionada
Descrito en:
Conversin de un byte en una Instrucciones - ByteToStr
cadena de caracteres
Otras funciones de bits (bytes) Resumen sobre RAPID -
Funciones de bits
Otras funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 171


StrToByte
Funcin

172 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


StrToVal
Funcin

StrToVal - Convierte una cadena de caracteres en un valor


StrToVal (de cadena de caracteres a valor) se utiliza para convertir una cadena en un
valor de cualquier tipo de dato.

Ejemplo
VAR bool ok;
VAR num nval;

ok := StrToVal("3.85",nval);

Se asigna a la variable ok el valor TRUE y se asigna a nval el valor 3,85.

Valor de retorno Tipo de dato: bool

TRUE si la conversin solicitada tiene xito y FALSE si no es as.

Argumentos
StrToVal ( Str Val )
Str (cadena de caracteres) Tipo de dato: string

Un valor de cadena que contiene datos literales con un formato que corresponde
al tipo de dato utilizado en el argumento Val. El formato vlido es el de los
agregados literales de RAPID.

Val (valor) Tipo de dato: ANYTYPE

El nombre de la variable o de la variable persistente de cualquier tipo para el


almacenamiento del resultado de la conversin. Los datos permanecen sin
cambios si la conversin solicitada no tiene xito.

Ejemplo
VAR string 15 := [600, 500, 225.3];
VAR bool ok;
VAR pos pos15;

ok := StrToVal(str15,pos15);

Se asigna a la variable ok el valor TRUE y se asigna a la variable p15 el valor


especificado en la cadena str15.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 173


StrToVal
Funcin

Sintaxis
StrToVal(
[ Str := ] <expresin (IN) de string> ,
[ Val := ] <variable o variable persistente (INOUT) de ANYTYPE>
)

Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

174 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Tan
Funcin

Tan - Calcula el valor de tangente


Tan (tangente) se utiliza para calcular el valor de tangente desde un valor de ngulo.

Ejemplo
VAR num angle;
VAR num value;
.
.
value := Tan(angle);

Valor de retorno Tipo de dato: num

El valor de la tangente.

Argumentos
Tan (Angle)
Angle Tipo de dato: num

El valor del ngulo, expresado en grados.

Sintaxis
Tan(
[Angle :=] <expresin (IN) de num>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas
Arco tangente con un valor devuelto Funciones - ATan2
en el rango [-180, 180]

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 175


Tan
Funcin

176 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


TestAndSet
Funcin

TestAndSet - Comprueba una variable y la establece si no est


establecida
TestAndSet puede usarse junto con un objeto de datos normal del tipo bool, como
semforo binario, para obtener el derecho exclusivo de acceso a reas concretas del
cdigo de RAPID o a recursos del sistema. Esta funcin podra utilizarse tanto entre
tareas de programa diferentes y niveles de ejecucin diferentes (rutinas TRAP o de
eventos) como dentro de una misma tarea de programa.

A continuacin se enumeran algunos de los recursos que pueden necesitar proteccin


de acceso al mismo tiempo:

- Uso de algunas rutinas de RAPID que presentan problemas de funcionamiento


cuando se ejecutan en paralelo
- Uso de la unidad de programacin para indicaciones e interaccin con el
operador

Ejemplo
MAIN program task:
PERS bool tproutine_inuse := FALSE;
....
WaitUntil TestAndSet(tproutine_inuse);
TPWrite Primera lnea de MAIN;
TPWrite Segunda lnea de MAIN;
TPWrite Tercera lnea de MAIN;
tproutine_inuse := FALSE;

BACK1 program task:


PERS bool tproutine_inuse := FALSE;
.....
WaitUntil TestAndSet(tproutine_inuse);
TPWrite Primera lnea de BACK1;
TPWrite Segunda lnea de BACK1;
TPWrite Tercera lnea de BACK1;
tproutine_inuse := FALSE;

Para evitar mezclar las lneas, una de MAIN y una de BACK1, el uso de la funcin
TestAndSet garantiza que las tres lneas de cada tarea no se separen.

Si la tarea de programa MAIN activa el semforo TestAndSet(tproutine_inuse) en


primer lugar, la tarea de programa BACK1 debe esperar hasta que la tarea de programa
MAIN libere el semforo.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 177


TestAndSet
Funcin

Valor de retorno Tipo de dato: num

TRUE si el semforo ha sido activado por la tarea actual (la tarea que ejecuta la funcin
TestAndSet). De lo contrario, FALSE.

Argumentos
TestAndSet Object
Object Tipo de dato: bool

Objeto de datos definido por el usuario para usarlo como semforo.- El objeto de
datos puede ser de tipo VAR o PERS. Si se utilizan funciones TestAndSet entre
tareas de programa diferentes, el objeto debe ser de tipo PERS o de tipo VAR
instalado (objetos compartidos entre tareas).

Ejecucin de programas
Esta funcin comprueba en un paso indivisible si el usuario ha establecido el valor de
la variable y, si no es as, lo establece y devuelve TRUE. De lo contrario, devuelve
FALSE.

IF Object = FALSE THEN


Object := TRUE;
RETURN TRUE;
ELSE
RETURN FALSE;
ENDIF

Ejemplo
LOCAL VAR bool doit_inuse := FALSE;
...
PROC doit(...)
WaitUntil TestAndSet (doit_inuse);
....
doit_inuse := FALSE;
ENDPROC

Si se instala, incorpora y comparte un mdulo, es posible utilizar una variable de


mdulo local para la proteccin del acceso desde distintas tareas de programa al
mismo tiempo.

Recuerde que en este caso: si la ejecucin del programa se detiene en la rutina


doit y el puntero de programa se traslada a main, la variable doit_inuse no se
restablecer. Para evitarlo, devuelva la variable doit_inuse a FALSE en la rutina
de evento START.

178 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


TestAndSet
Funcin

Sintaxis
TestAndSet (
[ Object := ] < variable o variable persistente (INOUT) de bool> )

Una funcin con un valor de retorno del tipo de dato bool.

Informacin relacionada
Descrito en:
Mdulo incorporado y compartido Gua del usuario -
Parmetros del sistema
Objetos compartidos entre tareas Manual del programador de RAPID -
Manual de referencia del kernel de RAPID - Objetos compartidos entre tareas

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 179


TestAndSet
Funcin

180 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


TestDI
Funcin

TestDI - Comprobar si una entrada digital est activada


TestDI se usa para comprobar si una entrada digital est activada.

Ejemplos

IF TestDI (di2) THEN . . .

Si el valor actual de la seal di2 es 1, . . .

IF NOT TestDI (di2) THEN . . .

Si el valor actual de la seal di2 es 0, . . .

WaitUntil TestDI(di1) AND TestDI(di2);

La ejecucin del programa contina slo cuando tanto la entrada di1 como la
entrada di2 estn activadas.

Valor de retorno Tipo de dato: bool

TRUE = El valor actual de la seal es 1.

FALSE = El valor actual de la seal es 0.

Argumentos
TestDI (Signal)
Signal Tipo de dato: signaldi

El nombre de la seal a comprobar.

Sintaxis
TestDI (
[ Signal := ] < variable (VAR) de signaldi > )

Una funcin con un valor de retorno del tipo de dato bool.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 181


TestDI
Funcin

Informacin relacionada
Descrito en:
Lectura del valor de una seal Funciones - DInput
digital de entrada
Instrucciones de entrada y salida Resumen sobre RAPID -
Seales de entrada y salida

182 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


TestSignRead
Funcin

TestSignRead - Obtiene el valor de una seal de test


TestSignRead se utiliza para leer el valor actual de una seal de test.

Esta funcin devuelve el valor momentneo o el valor medio de los ltimos muestreos,
en funcin de la especificacin de canal utilizada en la instruccin TestSignDefine.

Ejemplo
CONST num speed_channel;
VAR num speed_value;
...
TestSignDefine speed_channel, speed, orbit, 1, 0;
...
! Durante algunos movimientos con el eje 1 de la unidad mecnica
speed_value := TestSignRead(speed_channel);
...
TestSignReset;

Se asigna a speed_value el valor medio de los ltimos 8 muestreos generados


cada 0,5 mseg de la seal de test speed en el canal speed_channel.
El canal speed_channel mide la velocidad del eje 1 en la unidad mecnica orbit.

Valor de retorno Tipo de dato: num

El valor numrico en unidades SI del lado de motor del canal especificado, acorde con
la definicin de la instruccin TestSignDefine.

Argumentos
TestSignRead (Channel)
Channel Tipo de dato: num

El nmero de canal, de 1 a 12, de la seal de test a leer.


Este mismo nmero debe usarse en la instruccin de definicin TestSignDefine.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 183


TestSignRead
Funcin

Ejecucin de programas
Devuelve el valor momentneo o el valor medio de los ltimos muestreos, en funcin
de la especificacin de canal utilizada en la instruccin TestSignDefine.

Para ms informacin sobre las seales de test predefinidas con unidades SI vlidas
para los ejes de manipuladores externos, consulte el tipo de dato testsignal.

Ejemplo
CONST num torque_channel;
VAR num torque_value;
VAR intnum timer_int;
CONST jointtarget psync := [...];
...
CONNECT timer_int WITH TorqueTrap;
ITimer \Single, 0.05, timer_int;
TestSignDefine torque_channel, torque_ref, IRBP_K, 2, 0.001;
...
MoveAbsJ psync \NoEOffs, v5, fine, tool0;
...
IDelete timer_int;
TestSignReset;

TRAP TorqueTrap
IF (TestSignRead(torque_channel) > 6) THEN
TPWrite Pos de par = + ValToStr(CJointT());
Stop;
EXIT;
ELSE
IDelete timer_int;
CONNECT timer_int WITH TorqueTrap;
ITimer \Single, 0.05, timer_int;
ENDIF
ENDTRAP

La posicin del eje, cuando la referencia de par del eje 2 del manipulador IRBP_K
es por primera vez mayor que 6 Nm en el lado de motor durante el movimiento
lento hasta la posicin psync, se muestra en la ventana Operador de la unidad de
programacin.

Sintaxis
TestSignRead(
[ Channel :=] <expresin (IN) de num>)

Una funcin con un valor de retorno del tipo de dato num.

184 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


TestSignRead
Funcin

Informacin relacionada
Descrito en:
Definicin de una seal de test Instrucciones - TestSignDefine
Puesta a cero de seales de test Instrucciones - TestSignReset

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 185


TestSignRead
Funcin

186 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


Trunc
Funcin

Trunc - Trunca un valor numrico


Trunc (truncar) se utiliza para truncar un valor numrico hasta un nmero especificado
de decimales o a un valor entero.

Ejemplo
VAR num val;

val := Trunc(0.38521\Dec:=3);

Se asigna a la variable val el valor 0.385.

reg1 := 0.38521

val := Trunc(reg1\Dec:=1);

Se asigna a la variable val el valor 0.3.

val := Trunc(0.38521);

Se asigna a la variable val el valor 0.

Valor de retorno Tipo de dato: num

El valor numrico truncado con el nmero especificado de decimales.

Argumentos
Trunc ( Val [\Dec] )
Val (valor) Tipo de dato: num

El valor numrico a truncar.

[\Dec] (decimales) Tipo de dato: num

Nmero de decimales.

Si el nmero de decimales especificado es 0 o se omite el argumento, el valor se


trunca a un entero.

El nmero de decimales no debe ser negativo ni mayor que la precisin


disponible para los valores numricos.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 187


Trunc
Funcin

Sintaxis
Trunc(
[ Val := ] <expresin (IN) de num>
[ \Dec := <expresin (IN) de num> ]
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas
Redondeo de un valor Funciones - Round

188 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ValToStr
Funcin

ValToStr - Convierte un valor en una cadena


ValToStr (valor a cadena) se utiliza 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);

Se asigna a la variable str el valor "1.23457".

str := ValToStr(TRUE);

Se asigna a la variable str el valor "TRUE".

str := ValToStr(p);

Se asigna a la variable str el valor "[100,200,300]".

Valor de retorno Tipo de dato: string

El valor se convierte en una cadena con un formato estndar de RAPID. Esto significa
en principio 6 dgitos significativos. Si la parte decimal es menor que 0,000005 o
mayor que 0,999995, el nmero se redondea a un entero.

Si la cadena resultante es demasiado larga, se genera un error de tiempo de ejecucin.

Argumentos
ValToStr ( Val )
Val (valor) Tipo de dato: ANYTYPE

Un valor de cualquier tipo de dato.

Sintaxis
ValToStr(
[ Val := ] <expresin (IN) de ANYTYPE>
)

Una funcin con un valor de retorno del tipo de dato string.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 189


ValToStr
Funcin

Informacin relacionada
Descrito en:
Funciones de cadenas de caracteres Resumen sobre RAPID -
Funciones de cadenas de caracteres
Definicin de cadenas Tipos de datos - string
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

190 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


VectMagn
Funcin

VectMagn - Magnitud de un vector pos


VectMagn (magnitud de vector) se utiliza para calcular la magnitud de un vector pos.

Ejemplo
z A

Az

y
Ay

x
Ax

Un vector A puede escribirse como la suma de sus componentes en las tres direcciones
ortogonales:

A = Ax x + Ay y + Az z

La magnitud de A es:
2 2 2
A = Ax + Ay + Az

El vector se describe mediante el tipo de dato pos y la magnitud mediante 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).

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 191


VectMagn
Funcin

Argumentos
VectMagn (Vector)
Vector Tipo de dato: pos

El vector descrito mediante el tipo de dato pos.

Sintaxis
VectMagn(
[Vector :=] <expresin (IN) de pos>
)

Una funcin con un valor de retorno del tipo de dato num.

Informacin relacionada
Descrito en:
Instrucciones y funciones matemticas Resumen sobre RAPID - Matemticas

192 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


aiotrigg
Tipo de dato Advanced functions (Funciones avanzadas)

aiotrigg - Condicin de disparo con E/S analgica


aiotrigg (disparador de E/S analgica) se utiliza para definir la condicin que genera
una interrupcin para una seal de entrada o salida analgica.

Descripcin
Los datos de tipo aiotrigg definen la forma en que se usarn un umbral mximo y un
umbral mnimo para determinar si el valor lgico de una seal analgica cumple las
condiciones para generar una interrupcin.

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

Solicita una interrupcin que debe producirse la primera vez que el valor lgico
de la seal analgica de entrada ai1 se encuentre entre 0,5 y 1,5. En este caso, se
realiza una llamada a la rutina TRAP iroutine1.

Datos predefinidos
Se han predefinido las constantes simblicas siguientes del tipo de dato aiotrigg. Puede
usarlas para especificar una condiciones para las instrucciones ISignalAI y ISignalAO.

Valor Constante simblica Comentario

1 AIO_ABOVE_HIGH La seal genera interrupciones si se encuentra por encima del valor


mximo especificado

2 AIO_BELOW_HIGH La seal genera interrupciones si se encuentra por debajo del valor


mximo especificado

3 AIO_ABOVE_LOW La seal genera interrupciones si se encuentra por encima del valor


mnimo especificado

4 AIO_BELOW_LOW La seal genera interrupciones si se encuentra por debajo del valor


mnimo especificado

5 AIO_BETWEEN La seal genera interrupciones si se encuentra entre los valores


mnimo y mximo especificados

6 AIO_OUTSIDE La seal genera interrupciones si se encuentra por debajo del valor


mnimo especificado o por encima del valor mximo especificado

7 AIO_ALWAYS La seal siempre genera interrupciones

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 193


aiotrigg
Advanced functions (Funciones avanzadas) Tipo de dato

Caractersticas
aiotrigg es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Informacin relacionada
Descrito en:
Interrupcin a partir de una seal analgica Instrucciones - ISignalAI
de entrada
Interrupcin a partir de una seal analgica Instrucciones - ISignalAO
de salida
Tipos de datos en general, tipos de datos Caractersticas bsicas - Tipos de datos
de alias

194 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


bool
Tipo de dato

bool - Valores lgicos


Bool se utiliza con valores lgicos (verdadero/falso).

Descripcin
El valor de un dato de tipo bool puede ser TRUE (verdadero) o FALSE (falso).

Ejemplos
flag1 := TRUE;

Se asigna al flag el valor TRUE (verdadero).

VAR bool highvalue;


VAR num reg1;
.
highvalue := reg1 > 100;

Se asigna a highvalue el valor TRUE si reg1 es mayor que 100. De lo contrario,


se le asigna FALSE.

IF highvalue Set do1;

La seal do1 se activa si highvalue es TRUE.

highvalue := reg1 > 100;


mediumvalue := reg1 > 20 AND NOT highvalue;

Se asigna a mediumvalue el valor TRUE si reg1 se encuentra entre 20 y 100.

Informacin relacionada
Descrito en:
Expresiones lgicas Caractersticas bsicas - Expresiones
Operaciones con valores lgicos Caractersticas bsicas - Expresiones

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 195


bool
Tipo de dato

196 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


byte
Tipo de dato

byte - Valores decimales de 0 a 255


Byte se utiliza con valores decimales (de 0 a 255), acorde con el rango que permite
un byte.

Este tipo de dato se utiliza junto con instrucciones y funciones dedicadas a la


manipulacin de bits y la conversin.

Descripcin
Los datos de tipo byte representan valores de byte decimales.

Ejemplos
CONST num parity_bit := 8;

VAR byte data1 := 130;

Definicin de una variable data1 con el valor decimal 130.

BitClear data1, parity_bit;

El bit nmero 8 (parity_bit) de la variable data1 cambia a 0, con lo que el


contenido de la variable data1 cambia de 130 a 2 (en su valor decimal).

Gestin de errores
Si un argumento de tipo byte tiene un valor que queda fuera del rango de 0 a 255, se
genera un error al ejecutar el programa.

Caractersticas
Byte es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Informacin relacionada
Descrito en:
Tipos de datos de alias Caractersticas bsicas - Tipos de datos
Funciones de bits Resumen sobre RAPID - Funciones de bits

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 197


byte
Tipo de dato

198 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


clock
Tipo de dato

clock - Medicin de tiempo


Clock se utiliza para medir tiempo. Una variable clock funciona como un cronmetro
que se usa para temporizaciones.

Descripcin
Los datos de tipo clock almacenan una medicin de tiempo en segundos y tienen una
exactitud de 0,01 segundos.

Ejemplo
VAR clock clock1;

ClkReset clock1;

Se declara y pone a cero el reloj clock1. Antes de usar ClkReset, ClkStart, ClkStop y
ClkRead, es necesario declarar una variable de tipo clock en el programa.

Limitaciones
El tiempo mximo que puede almacenar una variable de tipo clock es de
aproximadamente 49 das (4.294.967 segundos). Las instrucciones ClkStart, ClkStop y
ClkRead informan de los desbordamientos del reloj en el caso poco probable de que se
produzcan.

Las variables clock deben declararse como variables VAR, no como variables
persistentes.

Caractersticas
Clock es un tipo de dato sin valor y no puede usarse en operaciones basadas en valores.

Informacin relacionada
Descrito en:
Resumen de las instrucciones de hora y fecha Resumen sobre RAPID - Sistema y
tiempo
Caractersticas de los tipos sin valor Caractersticas bsicas - Tipos de datos

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 199


clock
Tipo de dato

200 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


confdata
Tipo de dato

confdata - Datos de configuracin del robot


Confdata se utiliza para definir las configuraciones de ejes del robot.

Descripcin
Todas las posiciones del robot se definen y almacenan mediante coordenadas
rectangulares. A la hora de calcular las posiciones correspondientes de los ejes, existen
con frecuencia dos o ms soluciones posibles. Esto significa que el robot puede alcanzar
la misma posicin, es decir, situar la herramienta en la misma posicin y con la misma
orientacin, a partir de distintas posiciones o configuraciones de los ejes del robot.

Algunos tipos de robots utilizan mtodos numricos iterativos para determinar las
posiciones de los ejes. En estos casos, los parmetros de configuracin puede usarse
para definir valores de eje iniciales adecuados que puede usar el proceso iterativo.

Para denotar de forma inequvoca una de estas configuraciones posibles, la


configuracin del robot se especifica mediante cuatro valores de eje. En el caso de un
eje de rotacin, el valor define el cuadrante actual para el eje del robot. Los cuadrantes
tienen los nmeros 0, 1, 2, etc. (tambin pueden tener un nmero negativo). El nmero
de cuadrante est conectado al ngulo actual del eje. Para cada eje, el cuadrante 0 es el
primer cuarto de revolucin, de 0 a 90, en sentido positivo a partir de la posicin cero.
El cuadrante 1 es el siguiente cuarto de revolucin, de 90 a 180, y as en adelante. El
cuadrante -1 es el cuarto de revolucin de 0 a (-90), etc. (consulte la Figura 5).

-4 3
-1 0

-3 -2 1 2

Figura 5 Los cuadrantes de configuracin para el eje 6.

En el caso de un eje lineal, el valor define el intervalo en metros del eje del robot. Para
cada eje, el valor 0 significa una posicin entre 0 y 1 metro y 1 significa una posicin
entre 1 y 2 metros. En el caso de los valores negativos, -1 significa una posicin entre
-1 y 0 metros, etc. (consulte la Figura 6).

-3,0 -2,0 -1,0 0,0 1,0 2,0 3,0 x (m)

-3 -2 -1 0 1 2 Valor de configuracin

Figura 6 Valores de configuracin para un eje lineal.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 201


confdata
Tipo de dato

Datos de configuracin del robot IRB140


Existen tres singularidades dentro del rango de trabajo del robot (consulte Principios
de movimiento y E/S - Singularidades).

cf1 es el nmero de cuadrante del eje 1.

cf4 es el nmero de cuadrante del eje 4.

cf6 es el nmero de cuadrante del eje 6.

cfx se utiliza para seleccionar una de las ocho configuraciones posibles del robot,
numeradas de 0 a 7. En la tabla siguiente se indican estas configuraciones en cuanto a
cmo se posiciona el robot respecto de las tres singularidades.

Centro de mueca Centro de mueca


cfx ngulo del eje 5
respecto del eje 1 respecto del brazo interior

0 Delante de Delante de Positivo

1 Delante de Delante de Negativo

2 Delante de Detrs Positivo

3 Delante de Detrs Negativo

4 Detrs Delante de Positivo

5 Detrs Delante de Negativo

6 Detrs Detrs Positivo

7 Detrs Detrs Negativo

En las imgenes siguientes se muestran ejemplos de cmo se consiguen la misma


posicin y la misma orientacin de la herramienta con las ocho configuraciones
siguientes:

Eje 1 Brazo inferior Eje 1 Brazo inferior

ABB
ABB
beta -beta

Centro de la mueca Centro de la mueca

cfx = 0 cfx = 1
Figura 7 Ejemplo de las configuraciones de robot 0 y 1. Observe los distintos signos del
ngulo del eje 5.

202 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


confdata
Tipo de dato

Eje 1 Eje 1

beta -beta

ABB

ABB
Centro de Centro de
la mueca la mueca

Brazo inferior Brazo inferior

cfx = 2 cfx = 3
Figura 8 Ejemplo de las configuraciones de robot 2 y 3. Observe los distintos signos del
ngulo del eje 5.

Eje 1 Centro de la mueca Eje 1 Centro de la mueca

beta -beta
AB
B
AB

Brazo inferior Brazo inferior

cfx = 4 cfx = 5
Figura 9 Ejemplo de las configuraciones de robot 4 y 5. Observe los distintos signos del
ngulo del eje 5.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 203


confdata
Tipo de dato

Eje 1 Brazo inferior Eje 1 Brazo inferior

ABB
beta ABB -beta

Centro de la mueca Centro de la mueca

cfx = 6 cfx = 7
Figura 10 Ejemplo de las configuraciones de robot 6 y 7. Observe los distintos signos del
ngulo del eje 5.

Datos de configuracin del robot IRB340


Slo se utiliza el parmetro de configuracin cf4.

Datos de configuracin de los robots IRB540, 640


Slo se utiliza el parmetro de configuracin cf6.

Datos de configuracin de los robots IRB1400, 2400, 3400, 4400, 6400


Slo se utilizan los parmetros de configuracin cf1, cf4 y cf6.

Datos de configuracin del robot IRB5400


Se utilizan los cuatro parmetros de configuracin. Se utilizan cf1, cf4, cf6 para los ejes
1, 4 y 6 respectivamente y cfx para el eje 5.

204 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


confdata
Tipo de dato

Datos de configuracin de los robots IRB5404, 5406


Estos robots tienen dos ejes de rotacin (brazos 1 y 2) y un eje lineal (brazo 3).

cf1 se utiliza para el eje de rotacin 1

cfx se utiliza para el eje de rotacin 2

No se utilizan cf4 ni cf6

Datos de configuracin de los robots IRB5413, 5414, 5423


Estos robots tienen dos ejes lineales (brazos 1 y 2) y uno o dos ejes de rotacin
(brazos 4 y 5) (el brazo 3 est bloqueado).

cf1 se utiliza para el eje lineal 1

cfx se utiliza para el eje lineal 2

cf4 se utiliza para el eje de rotacin 4

cf6 no se utiliza

Datos de configuracin del robot IRB840


Este robot tiene tres ejes lineales (brazos 1, 2 y 3) y un eje de rotacin (brazo 4).

cf1 se utiliza para el eje lineal 1

cfx se utiliza para el eje lineal 2

cf4 se utiliza para el eje de rotacin 4

cf6 no se utiliza

Debido a que la estructura del robot es principalmente lineal, el uso de un valor


correcto de los parmetros de configuracin c1 y cx tiene menos importancia.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 205


confdata
Tipo de dato

Componentes
cf1 Tipo de dato: num
Eje de rotacin:
El cuadrante actual del eje 1, expresado como un nmero entero positivo o
negativo.
Eje lineal:
El intervalo actual en metros del eje 1, expresado como un nmero entero
positivo o negativo.
cf4 Tipo de dato: num
Eje de rotacin:
El cuadrante actual del eje 4, expresado como un nmero entero positivo o
negativo.
Eje lineal:
El intervalo actual en metros del eje 4, expresado como un nmero entero
positivo o negativo.
cf6 Tipo de dato: num
Eje de rotacin:
El cuadrante actual del eje 6, expresado como un nmero entero positivo o
negativo.
Eje lineal:
El intervalo actual en metros del eje 6, expresado como un nmero entero
positivo o negativo.
cfx Tipo de dato: num
Eje de rotacin:
En el robot IRB140, la configuracin actual del robot, expresada como un entero
de 0 a 7.
En el caso del robot IRB5400, el cuadrante actual del eje 5, expresado como un
nmero entero positivo o negativo.
En otros robots, el cuadrante actual del eje 2, expresado como un nmero entero
positivo o negativo.
Eje lineal:
El intervalo actual en metros del eje 2, expresado como un nmero entero
positivo o negativo.

206 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


confdata
Tipo de dato

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

Se define la configuracin de robot conf15 con los valores siguientes:

- La configuracin del eje 1 del robot es el cuadrante 1, es decir, de 90 a 180o.


- La configuracin del eje 4 del robot es el cuadrante -1, es decir, de 0 a -90o).
- La configuracin del eje 6 del robot es el cuadrante 0, es decir, de 0 a 90o.
- La configuracin del eje 5 del robot es el cuadrante 0, es decir, de 0 a 90o.

Estructura
< dataobject of confdata >
< cf1 of num >
< cf4 of num >
< cf6 of num >
< cfx of num >

Informacin relacionada
Descrito en:
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas
Gestin de datos de configuracin Principios de movimiento y E/S -
Configuracin del robot

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 207


confdata
Tipo de dato

208 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


dionum
Tipo de dato

dionum - Valores digitales 0 y 1


Dionum (valor numrico de entrada/salida digital) se utiliza para almacenar valores
digitales (0 1).

Este tipo de dato se utiliza junto con instrucciones y funciones dedicadas a la gestin
de seales digitales de entrada o salida.

Descripcin
Los datos del tipo dionum representan los valores digitales 0 1.

Ejemplos
CONST dionum close := 1;

Definicin de la constante close con el valor 1.

SetDO grip1, close;

La seal grip1 cambia al valor close, es decir 1.

Datos predefinidos
Las constantes high, low y edge estn predefinidas en el mdulo de sistema user.sys:

CONST dionum low:=0;

CONST dionum high:=1;

CONST dionum edge:=2;

Las constantes low y high se han diseado para instrucciones de E/S.

Edge puede usarse junto con las instrucciones de interrupciones ISignalDI y


ISignalDO.

Caractersticas
Dionum es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 209


dionum
Tipo de dato

Informacin relacionada
Descrito en:
Resumen de instrucciones de entrada y salida Resumen sobre RAPID - Seales de
entrada y salida
Configuracin de E/S Gua del usuario - Parmetros del
sistema
Tipos de datos de alias Caractersticas bsicas - Tipos de datos

210 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


errdomain
Tipo de dato Advanced functions (Funciones avanzadas)

errdomain - Dominio de error


errdomain (dominio de error) se utiliza para especificar un dominio de error.

Descripcin
Los datos de tipo errdomain representan el dominio en el que se ha registrado un error,
una advertencia o un cambio de estado. Consulte Gua del usuario - Gestin de errores,
Mensajes del sistema y de error para obtener ms informacin.

Ejemplo
VAR errdomain err_domain;
VAR num err_number;
VAR errtype err_type;
VAR trapdata err_data;
...
TRAP trap_err
GetTrapData err_data;
ReadErrData err_data, err_domain, err_number, err_type;
ENDTRAP

Cuando se detecta un error con la rutina TRAP trap_err, el dominio, el nmero


y el tipo del error se almacenan en las variables adecuadas.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 211


errdomain
Advanced functions (Funciones avanzadas) Tipo de dato

Datos predefinidos
Puede usar las constantes predefinidas siguientes para especificar un dominio de error.
Tabla 1 Dominios de error predefinidos

Nombre Dominio del error Valor

COMMON_ERR Todos los dominios de error y de 0


cambios de estado

OP_STATE Cambio de estado operativo 1

SYSTEM_ERR Errores de sistema 2

HARDWARE_ERR Errores de hardware 3

PROGRAM_ERR Errores de programa 4

MOTION_ERR Errores de movimiento 5

OPERATOR_ERROR Errores de operador 6

IO_COM_ERR Errores de E/S y comunicacin 7

USER_DEF_ERR Errores definidos por el usuario 8


(elevados por RAPID)

OPTION_PROD_ERR Errores de los productos opcionales 9

ARCWELD_ERR Errores de la aplicacin ArcWelding 11

SPOTWELD_ERR Errores de la aplicacin SpotWelding 12

PAINT_ERR Errores de la aplicacin Paint 13

PICKWARE_ERR Errores de la aplicacin Pickware 14

Caractersticas
errdomain es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Informacin relacionada
Descrito en:
Peticin de una interrupcin en Instrucciones - IError
caso de error
Nmeros de errores Gua del usuario - Mensajes del sistema y de error
Tipos de datos de alias Caractersticas bsicas - Tipos de datos

212 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


errnum
Tipo de dato

errnum - Nmero de error


Errnum se utiliza para describir todos los errores recuperables (no fatales) que se
producen durante la ejecucin del programa, como por ejemplo, la divisin por cero.

Descripcin
Si el robot detecta un error durante la ejecucin del programa, es posible resolverlo con
el gestor de errores de la rutina. Algunos ejemplos de estos errores es la existencia de
valores demasiado altos y la divisin por cero. Por tanto, se asignan valores diferentes
a la variable de sistema ERRNO, del tipo type errnum, en funcin de la naturaleza de
un error. El gestor de errores puede ser capaz de corregir un error leyendo el contenido
de esta variable, tras lo cual la ejecucin del programa puede continuar de la forma
adecuada.

Los errores tambin pueden crearse desde el propio programa mediante la instruccin
RAISE. Este tipo concreto de error puede detectarse en el gestor de errores mediante
la especificacin de un nmero de error (de 0 a 90 o reservado mediante la instruccin
BookErrNo) como argumento de RAISE.

Ejemplos
reg1 := reg2 / reg3;
.
ERROR
IF ERRNO = ERR_DIVZERO THEN
reg3 := 1;
RETRY;
ENDIF

Si reg3 = 0, el robot detecta un error cuando se realiza la divisin. Sin embargo,


es posible detectar y corregir el error mediante la asignacin del valor 1 a reg3.
A continuacin, puede realizarse de nuevo la divisin y proseguir con la
ejecucin del programa.

CONST errnum machine_error := 1;


.
IF di1=0 RAISE machine_error;
.
ERROR
IF ERRNO=machine_error RAISE;

Se produce un error en una mquina (lo cual se detecta a travs de la seal de


entrada di1). Se salta al gestor de errores de la rutina que, a su vez, llama al gestor
de errores de la rutina desde la que se llam a la rutina actual, que es
posiblemente el lugar en el que se puede resolver el error. La constante
machine_error se utiliza para informar al gestor de errores de qu tipo exacto de
error se trata.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 213


errnum
Tipo de dato

Datos predefinidos
Puede usar la variable de sistema ERRNO para obtener el ltimo error que se ha
producido. Existen varias constantes predefinidas que puede usar para determinar qu
tipo de error se ha producido.
Nombre Causa del error
ERR_ACC_TOO_LOW Se ha especificado una aceleracin o deceleracin
demasiado baja en las instrucciones PathAccLim o
WorldAccLim
ERR_ALRDYCNT La variable de interrupcin ya est vinculada a una
rutina TRAP
ERR_ALRDY_MOVING El robot ya est en movimiento cuando se ejecuta
una instruccin StartMove
ERR_AO_LIM El valor de la seal analgica ScaleLag est fuera
de lmites en TriggIO, TriggEquip o TriggSpeed
ERR_ARGDUPCND Existe ms de un argumento condicional para el
mismo parmetro
ERR_ARGNAME El argumento es una expresin, no presente o de
modificador al ejecutar ArgName
ERR_ARGNOTPER El argumento no es una referencia a una variable
persistente
ERR_ARGNOTVAR El argumento no es una referencia a una variable
ERR_AXIS_ACT El eje no est activo
ERR_AXIS_IND El eje no es independiente
ERR_AXIS_MOVING El eje est en movimiento
ERR_AXIS_PAR El eje indicado como parmetro de las
instrucciones TestSign y SetCurrRef no es correcto
ERR_BWDLIMIT Lmite de StepBwdPath
ERR_CALLIO_INTER Una peticin IOEnable o IODisable es
interrumpida por otra peticin a la misma unidad
ERR_CALLPROC Error en una llamada a un procedimiento (no es
un procedimiento) en tiempo de ejecucin (con
enlazamiento en tiempo de ejecucin)
ERR_CFG_ILLTYPE Error de coincidencia de tipos en ReadCfgData,
WriteCfgData
ERR_CFG_LIMIT Lmite de datos - WriteCfgData
ERR_CFG_NOTFND No encontrado - ReadCfgData, WriteCfgData
ERR_CNTNOTVAR El objetivo de CONNECT no es una referencia a
una variable
ERR_CNV_NOT_ACT El transportador no est activado
ERR_CNV_CONNECT La instruccin WaitWobj ya est activada
ERR_CNV_DROPPED El objeto esperado por la instruccin WaitWobj se
ha cado

214 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


errnum
Tipo de dato

ERR_DEV_MAXTIME Se alcanz el tiempo lmite al ejecutar una instruccin


ReadBin, ReadNum o ReadStr
ERR_DIPLAG_LIM Valor de DipLag demasiado grande en la instruccin
TriggSpeed conectada al valor actual de TriggL/
TriggC/TriggJ
ERR_DIVZERO Divisin por cero
ERR_EXCRTYMAX Se ha superado el nmero mximo de reintentos
ERR_EXECPHR Se ha intentado ejecutar una instruccin con un
marcador de sustitucin
ERR_FILEACC El acceso a un archivo se realiza de forma incorrecta
ERR_FILEEXIST Un archivo ya existe
ERR_FILEOPEN No es posible abrir un archivo
ERR_FILNOTFND Archivo no encontrado
ERR_FNCNORET No hay ningn valor de retorno
ERR_FRAME Imposible calcular una nueva base de coordenadas
ERR_ILLDIM Dimensiones de matriz incorrectas
ERR_ILLQUAT Se ha intentado utilizar una vlvula de orientacin
(cuaternio) no vlida
ERR_ILLRAISE Nmero de error de RAISE fuera de rango
ERR_INOMAX No hay ms nmeros de interrupcin disponibles
ERR_IODISABLE Se alcanz el tiempo lmite al ejecutar IODisable
ERR_IODN_TIMEOUT Se alcanz el tiempo lmite al ejecutar IODNGetAttr
o IODNSetAttr
ERR_IOENABLE Se alcanz el tiempo lmite al ejecutar IOEnable
ERR_IOERROR Error de E/S al ejecutar la instruccin Save
ERR_LOADED El mdulo de programa ya est cargado
ERR_LOADID_FATAL Slo para uso interno de LoadId
ERR_LOADID_RETRY Slo para uso interno de LoadId
ERR_LOADNO_INUSE La sesin de carga se est utilizando en StartLoad
ERR_LOADNO_NOUSE La sesin de carga no se est utilizando en
CancelLoad
ERR_MAXINTVAL El valor entero es demasiado grande
ERR_MODULE Nombre de mdulo incorrecto en la instruccin Save
ERR_MSG_PENDING La unidad est ocupada
ERR_NAME_INVALID El nombre de la unidad no existe o no se permite la
desactivacin de la unidad
ERR_NEGARG No se permiten argumentos negativos
ERR_NOTARR El dato no es una matriz
ERR_NOTEQDIM La dimensin de la matriz utilizada al llamar a la
rutina no coincide con sus parmetros
ERR_NOTINTVAL No es un valor entero
Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 215
errnum
Tipo de dato

ERR_NOTPRES Se utiliza un parmetro, a pesar de que no se utiliz el


argumento correspondiente en la llamada a la rutina
ERR_OUTOFBND El ndice de la matriz est fuera de los lmites
permitidos
ERR_OVERFLOW Desbordamiento de reloj
ERR_PATH Falta la ruta de destino en la instruccin Save
ERR_PATHDIST Distancia de recuperacin excesiva para la instruccin
StartMove
ERR_PID_MOVESTOP Slo para uso interno de LoadId
ERR_PID_RAISE_PP Error en ParIdRobValid o ParIdPosValid
ERR_RANYBIN_CHK Error de suma de comprobacin detectado en la
transferencia de datos con la instruccin ReadAnyBin
ERR_RANYBIN_EOF Se ha detectado el final del archivo antes de que la
instruccin ReadAnyBin lea todos los caracteres
previstos
ERR_RCVDATA Se ha intentado leer un dato no numrico con
ReadNum
ERR_REFUNKDAT Referencia a un objeto de datos completo desconocido
ERR_REFUNKFUN Referencia a una funcin desconocida
ERR_REFUNKPRC Referencia a un procedimiento desconocido en el
momento del linkado o en tiempo de ejecucin
(enlazamiento en tiempo de ejecucin)
ERR_REFUNKTRP Referencia a una rutina TRAP desconocida
ERR_ROBLIMIT El eje est fuera del rea de trabajo o ha excedido los
lmites de al menos un eje acoplado
ERR_SC_WRITE Error de envo a un ordenador externo
ERR_SIGSUPSEARCH La seal ya tiene un valor positivo al comienzo del
proceso de bsqueda
ERR_STRTOOLNG Cadena demasiado larga
ERR_SYM_ACCESS Error de acceso de lectura o escritura del smbolo
ERR_TP_DIBREAK Una instruccin TPRead fue interrumpida por una
entrada digital
ERR_TP_MAXTIME Se alcanz el tiempo lmite al ejecutar una instruccin
TPRead
ERR_UNIT_PAR El parmetro Mech_unit de TestSign y SetCurrRef es
incorrecto
ERR_UNKINO Nmero de interrupcin desconocido
ERR_UNKPROC Referencia incorrecta a la sesin de carga de una
instruccin WaitLoad
ERR_UNLOAD Error de descarga en una instruccin UnLoad o
WaitLoad
ERR_WAIT_MAXTIME Se alcanz el tiempo lmite al ejecutar una instruccin
WaitDI o WaitUntil
ERR_WHLSEARCH No hay ningn paro de bsqueda
216 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z
errnum
Tipo de dato

Caractersticas
Errnum es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Informacin relacionada
Descrito en:
Recuperacin en caso de error Resumen sobre RAPID - Recuperacin
datos de alias en caso de error
Caractersticas bsicas - Recuperacin en
caso de error
Tipos de datos en general, tipos de Caractersticas bsicas - Tipos de datos

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 217


errnum
Tipo de dato

218 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


errtype
Tipo de dato Advanced functions (Funciones avanzadas)

errtype - Tipo de error


errtype (error type) se utiliza para especificar un tipo de error (su gravedad).

Descripcin
Los datos de tipo errtype representan el tipo (cambio de estado, advertencia, error) de
un mensaje de error. Consulte Gua del usuario - Gestin de errores, Mensajes del
sistema y de error para obtener ms informacin.

Ejemplo
VAR errdomain err_domain;
VAR num err_number;
VAR errtype err_type;
VAR trapdata err_data;
...
TRAP trap_err
GetTrapData err_data;
ReadErrData err_data, err_domain, err_number, err_type;
ENDTRAP

Cuando se detecta un error con la rutina TRAP trap_err, el dominio, el nmero


y el tipo del error se almacenan en las variables adecuadas.

Datos predefinidos
Puede usar las constantes predefinidas siguientes para especificar un tipo de error.
Tabla 2 Tipos de error predefinidos

Nombre Tipo de error Valor

TYPE_ALL Cualquier tipo de error (cambio de 0


estado, advertencia, error)

TYPE_STATE Cambio de estado (mensaje operativo) 1

TYPE_WARN Advertencia (por ejemplo un error 2


recuperable de RAPID)

TYPE_ERR Error 3

Caractersticas
errtype es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 219


errtype
Advanced functions (Funciones avanzadas) Tipo de dato

Informacin relacionada
Descrito en:
Peticin de una interrupcin en caso de error Instrucciones - IError
Nmeros de errores Gua del usuario - Mensajes del
sistema y de error
Tipos de datos de alias Caractersticas bsicas - Tipos de datos

220 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


extjoint
Tipo de dato

extjoint - Posicin de los ejes externos


Extjoint se utiliza para definir las posiciones de eje de los ejes externos, los
posicionadores o los manipuladores de piezas de trabajo.

Descripcin
El robot puede controlar hasta seis ejes externos adems de los seis ejes internos, es
decir, un total de doce ejes. Los seis ejes externos tienen una denominacin de tipo
lgico: a, b, c, d, e, f. Estos ejes lgicos pueden conectarse a un eje fsico y, en este
caso, la conexin se define en los parmetros de sistema.

Se utilizan datos de tipo extjoint para almacenar los valores de las posiciones de cada
uno de los ejes lgicos del a al f.

Para cada eje lgico conectado a un eje fsico, la posicin se define de la forma
siguiente:

- Para los ejes de rotacin: la posicin se define como la rotacin en grados de la


posicin de calibracin.
- Para los ejes lineales: la posicin se define como la distancia en mm existente
respecto de la posicin de calibracin.

Si un eje lgico no est conectado a uno fsico, se utiliza el valor 9E9 como valor de
posicin, para indicar que el eje no est conectado. En el momento de la ejecucin, se
comprueban los datos de posicin de los distintos ejes y se comprueba si est
conectado el eje correspondiente. Si el valor de posicin almacenado no cumple con la
conexin actual del eje, se aplica lo siguiente:

- Si la posicin no est definida en los datos de posicin (su valor es 9E9), el


valor no se tendr en cuenta si el eje est conectado pero no activado. Sin
embargo, si el eje est activado, se genera un error.
- Si la posicin est definida en los datos de posicin, a pesar de que el eje no
est conectado, el valor no se tendr en cuenta.

Si se utiliza un offset del eje externo (instruccin EOffsOn o EOffsSet), las posiciones
se especifican en el sistema de coordenadas ExtOffs.

Componentes
eax_a (eje externo a) Tipo de dato: num

La posicin del eje externo lgico a, expresada en grados o mm (en funcin


del tipo de eje).

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 221


extjoint
Tipo de dato

eax_b (eje externo b) Tipo de dato: num

La posicin del eje externo lgico b, expresada en grados o mm (en funcin del
tipo de eje).

...

eax_f (eje externo f) Tipo de dato: num

La posicin del eje externo lgico f, expresada en grados o mm (en funcin del
tipo de eje).

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

La posicin de un posicionador externo axpos10, se define de la forma siguiente:

- Se cambia a 11 la posicin del eje externo lgico a, expresada en grados o mm


(en funcin del tipo de eje).
- Se cambia a 12,3 la posicin del eje externo lgico b, expresada en grados o
mm (en funcin del tipo de eje).
- Los ejes del c al f permanecen sin definir.

Estructura
< dataobject of extjoint >
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num >

Informacin relacionada
Descrito en:
Datos de posicin Tipos de datos - robtarget
Sistema de coordenadas ExtOffs Instrucciones - EOffsOn

222 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


intnum
Tipo de dato

intnum - Identidad de interrupcin


Intnum (nmero de interrupcin) se utiliza para identificar a una interrupcin.

Descripcin
Cuando se conecta una variable de tipo intnum a una rutina TRAP, recibe un valor
especfico que identifica a la interrupcin. A continuacin, la variable se utiliza en
todas las operaciones realizadas con la interrupcin, por ejemplo, al pedir o desactivar
una interrupcin.
Es posible conectar ms de una identidad de interrupcin a una misma rutina TRAP.
Por tanto, la variable de sistema INTNO puede usarse en las rutinas TRAP para
determinar el tipo de interrupcin que tiene lugar.

Ejemplos
VAR intnum feeder_error;
.
CONNECT feeder_error WITH correct_feeder;
ISignalDI di1, 1, feeder_error;
Se genera una interrupcin cuando la entrada di1 cambia de valor a 1.
Cuando esto ocurre, se hace una llamada a la rutina TRAP correct_feeder.
VAR intnum feeder1_error;
VAR intnum feeder2_error;
.
PROC init_interrupt();
.
CONNECT feeder1_error WITH correct_feeder;
ISignalDI di1, 1, feeder1_error;
CONNECT feeder2_error WITH correct_feeder;
ISignalDI di2, 1, feeder2_error;
.
ENDPROC
.
TRAP correct_feeder
IF INTNO=feeder1_error THEN
.
ELSE
.
ENDIF
.
ENDTRAP
Se genera una interrupcin cuando una de las entradas, di1 o di2, cambia de valor
a 1. En este caso, se realiza una llamada a la rutina TRAP correct_feeder. La
variable de sistema INTNO se utiliza en la rutina TRAP para determinar qu tipo
de interrupcin se ha producido.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 223


intnum
Tipo de dato

Limitaciones
El nmero mximo de variables activas del tipo intnum que pueden existir en un
momento determinado (entre CONNECT y IDelete) est limitado a 40. El nmero
mximo de interrupciones que puede albergar la cola de ejecucin de rutinas TRAP en
un momento determinado est limitado a 30.

Caractersticas
Intnum es un tipo de dato de alias de num y por tanto hereda sus propiedades.

Informacin relacionada
Descrito en:
Resumen de interrupciones Resumen sobre RAPID -
Interrupciones
Tipos de datos de alias Caractersticas bsicas - Tipos de datos

224 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


iodev
Tipo de dato

iodev - Canales serie y archivos


Iodev (dispositivo de E/S) se utiliza para canales serie, como impresoras y archivos.

Descripcin
Los datos de tipo iodev contienen una referencia a un archivo o a un canal serie. Pueden
conectarse a la unidad fsica mediante la instruccin Open y utilizarse a continuacin
para operaciones de lectura y escritura.

Ejemplo
VAR iodev file;
.
Open HOME:/LOGDIR/INFILE.DOC, file\Read;
input := ReadNum(file);

Se abre el archivo INFILE.DOC para lectura. Al leer del archivo, se utiliza file
como referencia en lugar del nombre del archivo.

Caractersticas
Iodev es un tipo de dato sin valor.

Informacin relacionada
Descrito en:
Comunicacin a travs de canales serie Resumen sobre RAPID -
Comunicacin
Configuracin de canales serie Gua del usuario - Parmetros del
sistema
Caractersticas de los tipos de datos sin valor Caractersticas bsicas - Tipos de
datos

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 225


iodev
Tipo de dato

226 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


jointtarget
Tipo de dato

jointtarget - Datos de posicin de eje


Jointtarget se utiliza para definir la posicin a la que se movern los ejes del robot y
los ejes externos al ejecutar una instruccin MoveAbsJ.

Descripcin
Jointtarget define las posiciones individuales de los distintos ejes, tanto de los del
robot como de los externos.

Componentes
robax (ejes del robot) Tipo de dato: robjoint

Posiciones de eje de los ejes del robot, en grados.

La posicin del eje se define como la rotacin en grados del eje (brazo)
correspondiente en sentido positivo o negativo a partir de la posicin de
calibracin del eje.

extax (ejes externos) Tipo de dato: extjoint

La posicin de los ejes externos.

La posicin se define de la forma siguiente para cada eje independiente


(eax_a, eax_b ... eax_f):

- Para los ejes de rotacin, la posicin se define como la rotacin en grados de la


posicin de calibracin.
- Para los ejes lineales, la posicin se define como la distancia en mm existente
respecto de la posicin de calibracin.

Los ejes externos eax_a ... son ejes lgicos. La relacin existente entre el nmero
lgico del eje y el nmero fsico del eje se define en los parmetros del sistema.

El valor 9E9 se utiliza para definir los ejes que no estn conectados. Si los ejes
definidos en los datos de posicin son distintos de los ejes que estn conectados
realmente en el momento de la ejecucin del programa, ocurre lo siguiente:

- Si la posicin no est definida en los datos de posicin (su valor es 9E9), el


valor no se tendr en cuenta si el eje est conectado pero no activado. Sin
embargo, si el eje est activado, se genera un error.
- Si la posicin est definida en los datos de posicin, a pesar de que el eje no
est conectado, el valor no se tendr en cuenta.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 227


jointtarget
Tipo de dato

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

En el caso del sistema IRB2400, la posicin de calibracin normal se define en


calib_pos con el tipo de dato jointtarget. La posicin 0 (grados o mm) de
calibracin normal se define tambin para el eje externo lgico a. Los ejes
externos del b al f permanecen sin definir.

Estructura
< dataobject of jointtarget >
< robax of robjoint >
< rax_1 of num >
< rax_2 of num >
< rax_3 of num >
< rax_4 of num >
< rax_5 of num >
< rax_6 of num >
< extax of extjoint >
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num >

Informacin relacionada
Descrito en:
Movimiento a una posicin de eje Instrucciones - MoveAbsJ
Instrucciones de posicionamiento Resumen sobre RAPID - Movimiento
Configuracin de los ejes externos Gua del usuario - Parmetros del
sistema

228 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


loaddata
Tipo de dato

loaddata - Datos de carga


Loaddata se utiliza para describir las cargas fijadas a la interfaz mecnica del robot
(la brida de montaje del robot).

Los datos de carga suelen definir la carga til (la carga de la pinza se define con la
instruccin GripLoad) del robot, es decir, la carga sostenida por la pinza del robot.
La carga de la herramienta se especifica en los datos de la herramienta (tooldata) que
incluyen los datos de carga.

Descripcin
Se utilizan cargas especificadas para configurar un modelo de la dinmica del robot,
de forma que sus movimientos puedan controlarse de la mejor forma posible.

Es importante definir siempre la carga real de la herramienta y, si se usa, tambin la


carga til del robot. Una definicin incorrecta de los datos de carga puede dar lugar a
la sobrecarga de la estructura mecnica del robot.

Cuando se especifican datos de carga incorrectos, este hecho suele tener las
consecuencias siguientes:

- Si el valor de los datos de carga especificados es mayor que el valor de la carga real:
-> El robot no funcionar a su capacidad mxima
-> Peor exactitud de la trayectoria, con riesgo de sobrepasar posiciones
-> Riesgo de sobrecarga de la estructura mecnica
- Si el valor de los datos de carga especificados es menor que el valor de la carga real:
-> Peor exactitud de la trayectoria, con riesgo de sobrepasar posiciones
-> Riesgo de sobrecarga de la estructura mecnica

La carga til se conecta y desconecta mediante la instruccin GripLoad.

Componentes
mass Tipo de dato: num

El peso de la carga en kilos.

cog (centro de gravedad) Tipo de dato: pos

El centro de gravedad de la carga de una herramienta, expresado con el sistema


de coordenadas de la mueca. Si se utiliza una herramienta estacionaria, se trata
del centro de gravedad de la herramienta que sostiene el objeto de trabajo.

El centro de gravedad de la carga til, expresado con el sistema de coordenadas


de la herramienta. Si se utiliza una herramienta estacionaria, se utiliza el sistema
de coordenadas del objeto.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 229


loaddata
Tipo de dato

aom (ejes de momento) Tipo de dato: orient

Carga de la herramienta (consulte la Figura 11)

La orientacin del sistema de coordenadas definido por los ejes de inercia de la


carga de la herramienta. Expresado en el sistema de coordenadas de la mueca
como cuaternios (q1, q2, q3, q4). Si se utiliza una herramienta estacionaria, se
trata de los ejes de inercia de la herramienta que sostiene el objeto de trabajo.

La orientacin del sistema de coordenadas de la herramienta debe coincidir con


la orientacin del sistema de coordenadas de la mueca. Siempre debe tener los
valores 1, 0, 0, 0.

Carga til (consulte las Figuras 1 y 2)

La orientacin del sistema de coordenadas definido por los ejes de inercia de la


carga til. Expresado en el sistema de coordenadas de la herramienta como
cuaternios (q1, q2, q3, q4). Si se utiliza una herramienta estacionaria, se utiliza el
sistema de coordenadas del objeto.

La orientacin del sistema de coordenadas de la carga til debe coincidir con la


orientacin del sistema de coordenadas de la mueca. Siempre debe tener los
valores 1, 0, 0, 0.

A causa de esta limitacin, el mejor mtodo es definir la orientacin del sistema


de coordenadas de la herramienta (base de coordenadas de la herramienta) para
que coincida con la orientacin del sistema de coordenadas de la mueca.

Sistema de coordenadas de la carga de la herramienta


Y
Z IY El sistema de coordenadas de la mueca
Ejes de inercia de la carga de la herramienta
IZ
Y
Z
IX
X Sistema de coordenadas de la herramienta
TCP X

IY

IZ
Sistema de coordenadas de la carga til
Ejes de inercia de la carga til
IX

Figura 11 Restriccin de la orientacin de los sistemas de coordenadas de la carga de la


herramienta y de la carga til.

230 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


loaddata
Tipo de dato

Sistema de coordenadas de la mueca

Z Pinza
Sistema de coordenadas
Y de la herramienta
Z
Sistema de coordenadas
Y de la carga til
X
Z
Ejes de inercia de
la carga til
X
Carga til

X El centro de gravedad de la carga til


Figura 12 El centro de gravedad y los 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 coordenadas


de la carga de la herramienta o de la carga til, en kgm2.

La definicin correcta de los momentos de inercia permitir una utilizacin


ptima del planificador de trayectorias y un mejor control de los ejes. Esto puede
resultar especialmente importante a la hora de manejar grandes planchas de
metal, etc. Todos los momentos de inercia de la inercia ix, iy e iz igual a 0 kgm2
implican una masa puntual.

Normalmente, slo es necesario definir momentos de inercia cuando la distancia


existente entre la brida de montaje y el centro de gravedad es menor que el
tamao de la carga (consulte la Figura 13).

Carga til
Distancia
x
Dimensiones

Figura 13 Normalmente, es necesario definir el momento de inercia cuando la distancia


es menor que el tamao de la carga.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 231


loaddata
Tipo de dato

iy (inercia y) Tipo de dato: num

El momento de inercia de la carga alrededor del eje y, expresado en kgm2.

Para obtener ms informacin, consulte ix.

iz (inercia z) Tipo de dato: num

El momento de inercia de la carga alrededor del eje z, expresado en kgm2.

Para obtener ms informacin, consulte ix.

Ejemplos
PERS loaddata piece1 := [ 5, [50, 0, 50], [1, 0, 0, 0], 0, 0, 0];

La carga til de la Figura 11 se describe con los valores siguientes:

- Peso 5 kg.
- El centro de gravedad es x = 50, y = 0 y z = 50 mm en el sistema de coordenadas
de la herramienta.
- La carga til es una masa puntual.

Set gripper;
WaitTime 0.3;
GripLoad piece1;

Conexin de la carga til, piece1, especificada en el momento en que el robot


sujeta la carga piece1.

Reset gripper;
WaitTime 0.3;
GripLoad load0;

Desconexin de la carga til, especificada en el momento en que el robot suelta


una carga til.

Limitaciones
La carga til slo debe definirse mediante variables persistentes (PERS) y no desde
dentro de una rutina. De esta forma, los valores se guardan al almacenar el programa
en un disquete y se recuperan al cargarlo.

Los argumentos de datos de carga de la instruccin GripLoad deben ser slo del tipo
persistente completo (ni elementos de matriz ni componentes de registro).

232 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


loaddata
Tipo de dato

Datos predefinidos
La carga load0 define una carga til, el peso de la cual es igual a 0 kg, es decir, ninguna
carga. Esta carga se utiliza como argumento en la instruccin GripLoad para
desconectar una carga til.

La carga load0 est siempre disponible desde el programa, pero no puede ser
modificada (est almacenada en el mdulo de sistema BASE).

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

Estructura
< dataobject of loaddata >
< mass of num >
< cog of pos >
< x of num >
< y of num >
< z of num >
< aom of orient >
< q1 of num >
< q2 of num >
< q3 of num >
< q4 of num >
< ix of num >
< iy of num >
< iz of num >

Informacin relacionada
Descrito en:
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas
Definicin de cargas de herramienta Tipos de datos - tooldata
Activacin de una carga til Instrucciones - GripLoad

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 233


loaddata
Tipo de dato

234 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


loadsession
Tipo de dato

loadsession - Programar una sesin de carga


Loadsession se utiliza para definir distintas sesiones de carga de mdulos de programa
de RAPID.

Descripcin
Los datos de tipo loadsession se utilizan en las instrucciones StartLoad y WaitLoad
para identificar la sesin de carga. Loadsession slo contiene una referencia a la sesin
de carga.

Caractersticas
Loadsession es un tipo de dato sin valor y no puede utilizarse en las operaciones
basadas en valores.

Informacin relacionada
Descrito en:
Carga de mdulos de programa durante Instrucciones - StartLoad, WaitLoad
la ejecucin
Caractersticas de los tipos de datos sin valor Caractersticas bsicas -
Tipos de datos

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 235


loadsession
Tipo de dato

236 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


mecunit
Tipo de dato

mecunit - Unidad mecnica


Mecunit se utiliza para definir las distintas unidades mecnicas que pueden controlarse
y utilizarse desde el robot y el programa.

Los nombres de las unidades mecnicas se definen en los parmetros del sistema y, por
tanto, no debe definirlos en el programa.

Descripcin
Los datos del tipo mecunit slo contienen una referencia a la unidad mecnica.

Limitaciones
No debe definir los datos de tipo mecunit en el programa. Sin embargo, s es posible
utilizarlos como parmetros al declarar una rutina.

Datos predefinidos
Las unidades mecnicas definidas en los parmetros del sistema estn siempre
disponibles desde el programa (datos instalados).

Caractersticas
Mecunit es un tipo de dato sin valor. Esto significa que los datos de este tipo no son
compatibles con operaciones basadas en valores.

Informacin relacionada
Descrito en:
Activacin y desactivacin de unidades mecnicas Instrucciones -
ActUnit, DeactUnit
Configuracin de unidades mecnicas Gua del usuario -
Parmetros del sistema
Caractersticas de los tipos de datos sin valor Caractersticas bsicas -
Tipos de datos

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 237


mecunit
Tipo de dato

238 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


motsetdata
Tipo de dato

motsetdata - Datos de parmetros de movimiento


Motsetdata se utiliza para definir un conjunto de parmetros de movimiento que
afectan a todas las instrucciones de posicionamiento del programa:

- Velocidad mxima y ajuste de velocidad


- Datos de aceleracin
- Comportamiento cerca de puntos singulares
- Gestin de distintas configuraciones de robot
- Ajuste de la resolucin de las trayectorias
- Supervisin del movimiento
- Limitacin de la aceleracin y deceleracin
- Reorientacin de la herramienta durante trayectorias circulares

Normalmente, no es necesario utilizar este tipo de dato ya que estos parmetros slo
pueden cambiarse mediante las instrucciones VelSet, AccSet, SingArea, ConfJ, ConfL,
PathResol, MotionSup, PathAccLim, CirPathMode y WorldAccLim.

Los valores actuales de estos parmetros de movimiento estn disponibles a travs de


la variable de sistema C_MOTSET.

Descripcin
Los parmetros de movimiento actuales (almacenados en la variable de sistema
C_MOTSET) afectan a todos los movimientos.

Componentes
vel.oride Tipo de dato: veldata/num

Velocidad como porcentaje de la velocidad programada.

vel.max Tipo de dato: veldata/num

Velocidad mxima en mm/seg.

acc.acc Tipo de dato: accdata/num

Aceleracin y deceleracin como porcentaje de los valores normales.

acc.ramp Tipo de dato: accdata/num

La proporcin en que la aceleracin y deceleracin aumentan como porcentaje


de los valores normales.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 239


motsetdata
Tipo de dato

sing.wrist Tipo de dato: singdata/bool

La orientacin hasta la cual se permite que la herramienta se desve levemente,


para prevenir una singularidad de mueca.

sing.arm Tipo de dato: singdata/bool

La orientacin hasta la cual se permite que la herramienta se desve levemente,


para prevenir una singularidad de brazo (no implementada).

sing.base Tipo de dato: singdata/bool

La orientacin de la que no debe desviarse la herramienta.

conf.jsup Tipo de dato: confsupdata/bool

La supervisin de la configuracin de los ejes est activa durante el movimiento


de los ejes.

conf.lsup Tipo de dato: confsupdata/bool

La supervisin de la configuracin de los ejes est activa durante el movimiento


lineal y circular.

conf.ax1 Tipo de dato: confsupdata/num

Desviacin mxima permitida en grados para el eje 1 (no se utiliza en esta versin).

conf.ax4 Tipo de dato: confsupdata/num

Desviacin mxima permitida en grados para el eje 4 (no se utiliza en esta versin).

conf.ax6 Tipo de dato: confsupdata/num

Desviacin mxima permitida en grados para el eje 6 (no se utiliza en esta versin).

pathresol Tipo de dato: num

El ajuste actual como porcentaje de la resolucin de trayectoria configurada.

motionsup Tipo de dato: bool

Conmutar el estado de la funcin de supervisin de movimientos de RAPID


(TRUE = Activada y FALSE = Desactivada).

tunevalue Tipo de dato: num

Ajuste actual de RAPID como porcentaje del valor de ajuste configurado para la
funcin de supervisin de movimientos.

acclim Tipo de dato: bool

Limitacin de aceleracin de la herramienta a lo largo de la trayectoria.


(TRUE = Con limitacin y FALSE = Sin limitacin).

240 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


motsetdata
Tipo de dato

accmax Tipo de dato: num

Limitacin de aceleracin del TCP en m s 2 . Si acclim tiene el valor FALSE, el


valor es siempre -1.

decellim Tipo de dato: bool

Limitacin de deceleracin de la herramienta a lo largo de la trayectoria.


(TRUE = Con limitacin y FALSE = Sin limitacin).

decelmax Tipo de dato: num

Limitacin de deceleracin del TCP en m s 2 . Si decellim tiene el valor FALSE,


el valor es siempre -1.

cirpathreori Tipo de dato: num

Reorientacin de la herramienta durante trayectorias circulares:


0 = Mtodo estndar con interpolacin en la base de coordenadas de la
trayectoria
1 = Mtodo modificado con interpolacin en la base de coordenadas del objeto
2 = Mtodo modificado con orientacin programada de la herramienta en
CirPoint

worldacclim Tipo de dato: bool

Limitacin de aceleracin en el sistema de coordenadas mundo.


(TRUE = Con limitacin y FALSE = Sin limitacin).

worldaccmax Tipo de dato: num

Limitacin de aceleracin en el sistema de coordenadas mundo en m s 2 .


Si worldacclim tiene el valor FALSE, el valor es siempre -1.

Limitaciones
Slo y slo uno de los componentes sing.wrist, sing.arm o sing.base puede tener un
valor igual a TRUE.

Ejemplo
IF C_MOTSET.vel.oride > 50 THEN
...
ELSE
...
ENDIF

Se ejecutan partes distintas del programa en funcin del ajuste de velocidad


actual.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 241


motsetdata
Tipo de dato

Datos predefinidos
C_MOTSET describe los parmetros de movimiento actuales del robot y est siempre
disponible desde el programa (datos instalados). Por otro lado, C_MOTSET slo puede
modificarse mediante un conjunto de instrucciones, no mediante asignacin.

Los valores predeterminados siguientes para los parmetros de movimiento se


establecen:

- En los arranques en fro


- Cuando se carga un nuevo programa
- Cuando se inicia la ejecucin 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 , -> resolucin de la trayectoria
TRUE, -> motionsup
100, -> tunevalue
FALSE, -> acclim
-1, -> accmax
FALSE, -> decellim
-1, -> decelmax
0, -> cirpathreori
FALSE, -> worldacclim
-1]; -> worldaccmax

242 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


motsetdata
Tipo de dato

Estructura
<dataobject of motsetdata>
<vel of veldata > -> Afectado por la instruccin VelSet
< oride of num >
< max of num >
<acc of accdata > -> Afectado por la instruccin AccSet
< acc of num >
< ramp of num >
<sing of singdata > -> Afectado por la instruccin SingArea
< wrist of bool >
< arm of bool >
< base of bool >
<conf of confsupdata > -> Afectado por las instrucciones ConfJ y
ConfL
< jsup of bool >
<lsup of bool >
< ax1 of num >
< ax4 of num >
< ax6 of num >
<pathresol of num> -> Afectado por la instruccin PathResol
<motionsup of bool> -> Afectado por la instruccin MotionSup
<tunevalue of num> -> Afectado por la instruccin MotionSup
<acclim of bool> -> Afectado por la instruccin PathAccLim
<accmax of num> -> Afectado por la instruccin PathAccLim
<decellim of bool> -> Afectado por la instruccin PathAccLim
<decelmax of num> -> Afectado por la instruccin PathAccLim
<cirpathreori of num> -> Afectado por la instruccin CirPathMode
<worldacclim of bool> -> Afectado por la instruccin WorldAccLim
<worldaccmax of num> -> Afectado por la instruccin WorldAccLim

Informacin relacionada
Descrito en:

Instrucciones para el establecimiento de Resumen sobre RAPID -


parmetros de movimiento Parmetros de movimiento

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 243


motsetdata
Tipo de dato

244 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


num
Tipo de dato

num - Valores numricos (registros)


Num se utiliza con valores numricos, como por ejemplo, contadores.

Descripcin
El valor del tipo de dato num puede ser:

- Un entero, por ejemplo -5


- Un nmero con decimales, por ejemplo 3,45

Tambin puede escribirse de forma exponencial, por ejemplo 2E3 (= 2*103 = 2.000),
2,5E-2 (= 0,025).

Los enteros entre -8388607 y +8388608 se almacenan siempre como enteros exactos.

Los nmeros con decimales son slo nmeros aproximados y, por tanto, no deben
utilizarse en comparaciones de tipo igual a ni distinto de. En el caso de las divisiones
y las operaciones que utilizan nmeros con decimales, el resultado tambin ser un
nmero con decimales, es decir, no un entero exacto.

Por ejemplo a := 10;


b := 5;
IF a/b=2 THEN Dado que el resultado de a/b no es un entero,
esta condicin no tiene por qu cumplirse.
...

Ejemplo
VAR num reg1;
.
reg1 := 3;

Se asigna a reg1 el valor 3.

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

Divisin entera en la que se asigna a a un entero (=3) y a b el resto (=1).

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 245


num
Tipo de dato

Datos predefinidos
La constante pi () ya est definida en el mdulo de sistema BASE.

CONST num pi := 3.1415926;

Las constantes EOF_BIN y EOF_NUM ya estn definidas en el sistema.

CONST num EOF_BIN := -1;

CONST num EOF_NUM := 9.998E36;

Informacin relacionada
Descrito en:
Expresiones numricas Caractersticas bsicas - Expresiones
Operaciones con valores numricos Caractersticas bsicas - Expresiones

246 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


o_jointtarget
Tipo de dato

o_jointtarget - Datos originales de posiciones de ejes


o_jointtarget (objetivo original de ejes) se utiliza en combinacin con la funcin
Absolute Limit Modpos. Cuando se utiliza esta funcin para modificar una posicin, la
posicin original se almacena como datos del tipo o_jointtarget.

Descripcin
Si la funcin Absolute Limit Modpos se activa y se modifica una posicin con nombre
en una instruccin de movimiento mediante la funcin Modpos, se guarda la posicin
programada original.
Ejemplo de 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 despus de ModPos. En este caso, el punto jpos40 se corrige a
2 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 queda guardado en o_jpos40 (con el tipo de dato
o_jointtarget) y el punto modificado se guarda en jpos40 (con el tipo de dato
jointtarget).
Al guardar el punto programado original, el robot puede comprobar que los valores
Modpos posteriores obtenidos para el punto en cuestin estn dentro de los lmites
respecto del punto programado original.
La convencin de asignacin de nombres a los valores corregidos hace que un punto
programado original denominado xxxxx se guarde con el nombre o_xxxxx al utilizar
Absolute Limit Modpos.

Componentes
robax (ejes del robot) Tipo de dato: robjoint
Posiciones de eje de los ejes del robot, en grados.
extax (ejes externos) Tipo de dato: extjoint
La posicin de los ejes externos.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 247


o_jointtarget
Tipo de dato

Estructura
< dataobject of o_jointtarget >
< robax of robjoint>
< rax_1 of num >
< rax_2 of num >
< rax_3 of num >
< rax_4 of num >
< rax_5 of num >
< rax_6 of num >
< extax of extjoint >
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num >

Informacin relacionada
Descrito en:
Datos de posicin Tipos de datos - Jointtarget
Configuracin de Limit Modpos Gua del usuario -
Parmetros del sistema

248 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


o_robtarget
Tipo de dato

o_robtarget - Datos de posicin originales


o_robtarget (objetivo original del robot) se utiliza en combinacin con la funcin
Absolute Limit Modpo. Cuando se utiliza esta funcin para modificar una posicin, la
posicin original se almacena como datos del tipo o_robtarget.

Descripcin
Si la funcin Absolute Limit Modpos se activa y se modifica una posicin con nombre
en una instruccin de movimiento mediante la funcin Modpos, se guarda la posicin
programada original.

Ejemplo de 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 despus de ModPos. En l, el punto p50 se corrige a 502 en la


direccin 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 queda guardado en o_p50 (con el tipo de dato


o_robtarget) y el punto modificado se guarda en p50 (con el tipo de dato robtarget).

Al guardar el punto programado original, el robot puede comprobar que los valores
Modpos posteriores obtenidos para el punto en cuestin estn dentro de los lmites
respecto del punto programado original.

La convencin de asignacin de nombres a los valores corregidos hace que un punto


programado original denominado xxxxx se guarde con el nombre o_xxxxx al utilizar
Absolute Limit Modpos.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 249


o_robtarget
Tipo de dato

Componentes
trans (traslacin) Tipo de dato: pos

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

rot (rotacin) Tipo de dato: orient

La orientacin de la herramienta, expresada en forma de un cuaternio


(q1, q2, q3 y q4).

robconf (configuracin del robot) Tipo de dato: confdata

La configuracin de ejes del robot (cf1, cf4, cf6 y cfx).

extax (ejes externos) Tipo de dato: extjoint

La posicin de los ejes externos.

Estructura
< dataobject of o_robtarget >
< 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 >
< robconf of confdata >
< cf1 of num >
< cf4 of num >
< cf6 of num >
< cfx of num >
< extax of extjoint >
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num >

250 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


o_robtarget
Tipo de dato

Informacin relacionada
Descrito en:
Datos de posicin Tipos de datos - Robtarget
Configuracin de Limit Modpos Gua del usuario -
Parmetros del sistema

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 251


o_robtarget
Tipo de dato

252 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


opnum
Tipo de dato

opnum - Operador de comparacin


opnum se utiliza para representar un operador de comparacin en argumentos
entregados a las funciones o instrucciones de RAPID.

Descripcin
La constante opnum se ha diseado para definir el tipo de comparacin al comprobar
valores en las instrucciones genricas.

Ejemplo
TriggCheckIO checkgrip, 100, airok, EQ, 1, intno1;

Datos predefinidos
Se han predefinido las constantes simblicas siguientes para el tipo de dato opnum.
Puede usarlas para definir el tipo de comparacin utilizado, por ejemplo en la
instruccin TriggCheckIO.

Valor Constante simblica Comentario

1 LT Menor que
2 LTEQ Menor que o igual a
3 EQ Igual a
4 NOTEQ Distinto de
5 GTEQ Mayor que o igual a
6 GT Mayor que

Caractersticas
opnum es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Informacin relacionada
Descrito en:
Tipos de datos en general, tipos de Caractersticas bsicas - Tipos de datos
datos de alias

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 253


opnum
Tipo de dato

254 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


orient
Tipo de dato

orient - Orientacin
Orient se utiliza para orientaciones (por ejemplo la orientacin de una herramienta) y
rotaciones (por ejemplo la rotacin de un sistema de coordenadas).

Descripcin
La orientacin se describe en forma de un cuaternio compuesto por cuatro elementos:
q1, q2, q3 y q4. Para obtener ms informacin acerca de cmo calcular estos
elementos, consulte la informacin siguiente.

Componentes
q1 Tipo de dato: num

Cuaternio 1.

q2 Tipo de dato: num

Cuaternio 2.

q3 Tipo de dato: num

Cuaternio 3.

q4 Tipo de dato: num

Cuaternio 4.

Ejemplo
VAR orient orient1;
.
orient1 := [1, 0, 0, 0];

Se asigna a la orientacin orient1 el valor q1=1, q2-q4=0. Esto equivale a


ninguna rotacin.

Limitaciones
La orientacin debe estar normalizada, es decir, la suma de los cuadrados debe ser
igual a 1:
q 12 + q 22 + q 32 + q 42 = 1

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 255


orient
Tipo de dato

Qu es un cuaternio?
La orientacin de un sistema de coordenadas (por ejemplo el de una herramienta) puede
describirse mediante una matriz de rotacin que describe la direccin de los ejes del
sistema de coordenadas respecto de un sistema de referencia (consulte la Figura 14).

z
z

x
y Sistema de
Sistema de coordenadas
coordenadas girado
x de referencia
y
Figura 14 La rotacin de un sistema de coordenadas se describe mediante un cuaternio.

Los ejes del sistema de coordenadas girado (x, y, z) son vectores que pueden expresarse
en el sistema de coordenadas de referencia de la forma siguiente:

x = (x1, x2, x3)


y = (y1, y2, y3)
z = (z1, z2, z3)

Esto significa que el componente x del vector x del sistema de coordenadas de


referencia ser x1, el componente y ser x2, etc.

Estos tres vectores pueden reunirse en una matriz, una matriz de rotacin, en la que
cada uno de los vectores compone una de las columnas:

x1 y1 z1
x2 y2 z2
x3 y3 z3

Un cuaternio es slo una forma ms concisa de referirse a esta matriz de rotacin. Los
cuaternios se calculan partiendo de los elementos de la matriz de rotacin:

256 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


orient
Tipo de dato

x1 + y2 + z3 + 1
q1 = -----------------------------------------
2
x1 y2 z3 + 1
q2 = ----------------------------------------
2
sign q2 = sign (y3-z2)
y2 x1 z3 + 1
q3 = ----------------------------------------
2
sign q3 = sign (z1-x3)
z3 x1 y2 + 1
q4 = ----------------------------------------
2
sign q4 = sign (x2-y1)

Ejemplo 1

Una herramienta se orienta de forma que su eje Z apunta directamente hacia delante
(en la misma direccin que el eje X del sistema de coordenadas de la base). El eje Y
de la herramienta se corresponde con el eje Y del sistema de coordenadas de la base
(consulte la Figura 15). Cmo se define la orientacin de la herramienta en los datos
de posicin (robtarget)?.

La orientacin de la herramienta en una posicin programada suele estar relacionada


con el sistema de coordenadas del objeto de trabajo utilizado. En este ejemplo no se
utiliza ningn objeto de trabajo y el sistema de coordenadas de la base es igual al
sistema de coordenadas mundo. Por tanto, la orientacin est relacionada con el
sistema de coordenadas de la base.

X
Figura 15 La direccin de una herramienta acorde con el ejemplo 1.

En este caso, los ejes estarn relacionados de la forma siguiente:

- x = -z = (0, 0, -1)
- y = y = (0, 1, 0)
- z = x = (1, 0, 0) 0 0 1
0 1 0
Esto corresponde a la matriz de rotacin siguiente:
1 0 0

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 257


orient
Tipo de dato

La matriz de rotacin proporciona el cuaternio correspondiente:

0+1+0+1 2
q1 = ----------------------------------- = ------- = 0,707
2 2

010+1
q2 = ---------------------------------- = 0
2

100+1 2
q3 = ---------------------------------- = ------- = 0,707
2 2
sign q3 = sign (1+1) = +

001+1
q4 = ---------------------------------- = 0
2

Ejemplo 2

La direccin de la herramienta gira 30o alrededor de los ejes X y Z respecto del


sistema de coordenadas de la mueca (consulte la Figura 15). Cmo se define la
orientacin de la herramienta en los datos de la herramienta?.

X Z
X

Figura 16 La direccin de una herramienta acorde con el ejemplo 2.

En este caso, los ejes estarn relacionados de la forma siguiente:

- x = (cos30o, 0, -sin30o)
- x = (0, 1, 0)
- x = (sin30o, 0, cos30o)
cos 30 0 sin 30
Esto corresponde a la matriz de rotacin siguiente: 0 1 0
sin 30 0 cos 30

258 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


orient
Tipo de dato

La matriz de rotacin proporciona el cuaternio correspondiente:

cos 30 + 1 + cos 30 + 1
q1 = ---------------------------------------------------------------- = 0,965926
2

cos 30 1 cos 30 + 1
q2 = ---------------------------------------------------------------- = 0
2

1 cos 30 cos 30 + 1
q3 = ---------------------------------------------------------------- = 0,258819 sign q3 = sign (sin30o+sin30o) = +
2

cos 30 cos 30 1 + 1
q4 = ---------------------------------------------------------------- = 0
2

Estructura
<dataobject of orient>
<q1 of num>
<q2 of num>
<q3 of num>
<q4 of num>

Informacin relacionada
Descrito en:
Operaciones con orientaciones Caractersticas bsicas - Expresiones

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 259


orient
Tipo de dato

260 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


pos
Tipo de dato

pos - Posiciones (slo X, Y y Z)


Pos se utiliza para posiciones (slo para X, Y y Z).

El tipo de dato robtarget se utiliza con las posiciones del robot, incluida la orientacin
de la herramienta y la configuracin de los ejes.

Descripcin
Los datos de tipo pos describen las coordenadas de una posicin: X, Y y Z.

Componentes
x Tipo de dato: num

El valor X de la posicin.

y Tipo de dato: num

El valor Y de la posicin.

z Tipo de dato: num

El valor Z de la posicin.

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

Se asigna a la posicin pos1 el valor: X=500 mm, Y=0 mm, Z=940 mm.

pos1.x := pos1.x + 50;

Se traslada la posicin de pos1 50 mm en la direccin X.

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

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 261


pos
Tipo de dato

Informacin relacionada
Descrito en:
Operaciones con posiciones Caractersticas bsicas - Expresiones
Posicin del robot incluida su orientacin Tipos de datos - robtarget

262 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


pose
Tipo de dato

pose - Transformaciones de coordenadas


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

Descripcin
Los datos de tipo pose describen cmo se desplaza y gira un sistema de coordenadas
alrededor de otro sistema de coordenadas. Por ejemplo, estos datos pueden describir
cmo est situado y orientado el sistema de coordenadas de la herramienta respecto del
sistema de coordenadas de la mueca.

Componentes
trans (traslacin) Tipo de dato: pos

El desplazamiento de posicin (x, y, z) del sistema de coordenadas.

rot (rotacin) Tipo de dato: orient

La rotacin del sistema de coordenadas.

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

Se asigna a la transformacin de coordenadas frame1 un valor que corresponde


a un desplazamiento en su posicin, donde X=50 mm, Y=0 mm, Z=40 mm. Sin
embargo, no hay ninguna rotacin.

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

Informacin relacionada
Descrito en:
Qu es un cuaternio? Tipos de datos - orient

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 263


pose
Tipo de dato

264 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


progdisp
Tipo de dato

progdisp - Desplazamiento de programa


Progdisp se utiliza para almacenar el desplazamiento de programa actual de los ejes
del robot y los ejes externos.
Normalmente, no es necesario utilizar este tipo de dato ya que slo puede cambiarse
mediante las instrucciones PDispSet, PDispOn, PDispOff, EOffsSet, EOffsOn y
EOffsOff. Slo se utiliza para almacenar temporalmente el valor actual para un uso
posterior.

Descripcin
Los valores actuales del desplazamiento de programa estn disponibles a travs de la
variable de sistema C_PROGDISP.
Para obtener ms informacin, consulte las instrucciones PDispSet, PDispOn,
EOffsSet y EOffsOn.

Componentes
pdisp (desplazamiento de programa) Tipo de dato: pose
El desplazamiento de programa del robot, expresado mediante una traslacin y
una orientacin. La traslacin se expresa 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 se expresa
en mm. Si es de rotacin, el valor se expresa en grados.

Ejemplo
VAR progdisp progdisp1;
.
SearchL sen1, psearch, p10, v100, tool1;
PDispOn \ExeP:=psearch, *, tool1;
EOffsOn \ExeP:=psearch, *;
.
progdisp1:=C_PROGDISP;
PDispOff;
EOffsOff;
.
PDispSet progdisp1.pdisp;
EOffsSet progdisp1.eoffs;
En primer lugar, se activa un desplazamiento de programa desde una posicin
buscada. A continuacin, se desactiva temporalmente almacenando el valor en
la variable progdisp1 y se reactiva posteriormente mediante las instrucciones
PDispSet y EOffsSet.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 265


progdisp
Tipo de dato

Datos predefinidos
La variable de sistema C_PROGDISP describe el desplazamiento de programa actual
de los ejes del robot y los ejes externos y est siempre disponible desde el programa
(datos instalados). Por otro lado, C_PROGDISP slo puede modificarse mediante un
conjunto de instrucciones, no mediante asignacin.

Estructura
< dataobject of progdisp >
<pdisp 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 >
< eoffs of extjoint >
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num >

Informacin relacionada
Descrito en:

Instrucciones para la definicin de Resumen sobre RAPID -


desplazamientos de programa Parmetros de movimiento

Sistemas de coordenadas Principios de movimiento y E/S -


Sistemas de coordenadas

266 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


robjoint
Tipo de dato

robjoint - Posicin de eje de los ejes del robot


Robjoint se utiliza para definir la posicin en grados de los ejes del robot.

Descripcin
Los datos de tipo robjoint se utilizan para almacenar posiciones de eje en grados para
los ejes de robot del 1 al 6. La posicin de un eje se define como la rotacin en grados
del eje (brazo) correspondiente, en sentido positivo o negativo respecto de la posicin
de calibracin del eje.

Componentes
rax_1 (eje 1 del robot) Tipo de dato: num

La posicin del eje 1 del robot, en grados, respecto de la posicin de calibracin.

...

rax_6 (eje 6 del robot) Tipo de dato: num

La posicin del eje 6 del robot, en grados, respecto de la posicin de calibracin.

Estructura
< dataobject of robjoint >
< rax_1 of num >
< rax_2 of num >
< rax_3 of num >
< rax_4 of num >
< rax_5 of num >
< rax_6 of num >

Informacin relacionada
Descrito en:
Datos de posicin de ejes Tipos de datos - jointtarget
Movimiento a una posicin de eje Instrucciones - MoveAbsJ

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 267


robjoint
Tipo de dato

268 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


robtarget
Tipo de dato

robtarget - Datos de posicin


Robtarget (objetivo de robot) se utiliza para definir la posicin del robot y de los ejes
externos.

Descripcin
Los datos de posicin se utilizan en las instrucciones de posicionamiento para indicar
la posicin hacia la que deben desplazarse los ejes del robot y los ejes externos.

Debido a que el robot puede alcanzar una misma posicin con mtodos diferentes,
tambin se especifica la configuracin de los ejes. De esta forma, se definen los valores
de los ejes si por algn motivo resultan ambiguas, por ejemplo en los casos siguientes:

- Si el robot se encuentra en una posicin avanzada o retrasada


- Si el eje 4 est orientado hacia abajo o hacia arriba
- Si el eje 6 se encuentra en una revolucin negativa o positiva

La posicin se define partiendo del sistema de coordenadas del objeto de trabajo,


incluidos los posibles desplazamientos de programa. Si la posicin se programa
con un objeto de trabajo distinto del utilizado en la instruccin, el robot no se
mover de la forma esperada. Asegrese de usar el mismo objeto de trabajo que
el utilizado al programar las instrucciones de posicionamiento. Un uso incorrecto
puede causar accidentes o daos en el robot o en otros equipos.

Componentes
trans (traslacin) Tipo de dato: pos

La posicin (x, y, z) del punto central de la herramienta, expresado en mm.

La posicin se especifica respecto del sistema de coordenadas del objeto actual,


incluido el desplazamiento de programa. Si no se ha especificado ningn objeto
de trabajo, se utiliza el sistema de coordenadas mundo.

rot (rotacin) Tipo de dato: orient

La orientacin de la herramienta, expresada en forma de un cuaternio


(q1, q2, q3 y q4).

La orientacin se especifica respecto del sistema de coordenadas del objeto


actual, incluido el desplazamiento de programa. Si no se ha especificado ningn
objeto de trabajo, se utiliza el sistema de coordenadas mundo.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 269


robtarget
Tipo de dato

robconf (configuracin del robot) Tipo de dato: confdata

La configuracin de ejes del robot (cf1, cf4, cf6 y cfx). Esto se define en forma
del cuarto de revolucin actual de los ejes 1, 4 y 6. El primer cuarto de revolucin
positivo, de 0 a 90 o, se define como 0. El componente cfx slo se utiliza en el
modelo de robot IRB5400.

Para obtener ms informacin, consulte el tipo de dato confdata.

extax (ejes externos) Tipo de dato: extjoint

La posicin de los ejes externos.

La posicin se define de la forma siguiente para cada eje independiente


(eax_a, eax_b ... eax_f):

- Para los ejes de rotacin, la posicin se define como la rotacin en grados de la


posicin de calibracin.
- Para los ejes lineales, la posicin se define como la distancia en mm existente
respecto de la posicin de calibracin.

Los ejes externos eax_a ... son ejes lgicos. La relacin existente entre el nmero
lgico del eje y el nmero fsico del eje se define en los parmetros del sistema.

El valor 9E9 se utiliza para definir los ejes que no estn conectados. Si los ejes
definidos en los datos de posicin son distintos de los ejes que estn conectados
realmente en el momento de la ejecucin del programa, ocurre lo siguiente:

- Si la posicin no est definida en los datos de posicin (su valor es 9E9), el valor
no se tendr en cuenta si el eje est conectado pero no activado. Sin embargo,
si el eje est activado, se genera un error.
- Si la posicin est definida en los datos de posicin, a pesar de que el eje no est
conectado, el valor no se tiene en cuenta.

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

Se define la posicin p15 de la forma siguiente:

- La posicin del robot: x = 600, y = 500 y z = 225,3 mm en el sistema de


coordenadas de objeto.
- La orientacin de la herramienta en la misma direccin que el sistema de
coordenadas del objeto.
- La configuracin de ejes del robot es la siguiente: ejes 1 y 4 en la posicin de
90 a 180o, eje 6 en la posicin de 0 a 90o.
- La posicin de los ejes externos lgicos a y b, expresada en grados o mm
(en funcin del tipo de eje). Los ejes de c a f permanecen sin definir.

270 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


robtarget
Tipo de dato

VAR robtarget p20;


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

Se establece la posicin p20 en la misma posicin que la posicin actual del robot,
mediante una llamada a la funcin CRobT. A continuacin, se mueve la posicin
10 mm en la direccin x.

Limitaciones
Cuando se utiliza la funcin de edicin configurable Absolute Limit Modpos, el
nmero de caracteres del nombre del dato del tipo robtarget est limitado a 14
(en otros casos es de 16).

Estructura
< dataobject of robtarget >
< 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 >
< robconf of confdata >
< cf1 of num >
< cf4 of num >
< cf6 of num >
< cfx of num >
< extax of extjoint >
< eax_a of num >
< eax_b of num >
< eax_c of num >
< eax_d of num >
< eax_e of num >
< eax_f of num >

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 271


robtarget
Tipo de dato

Informacin relacionada
Descrito en:
Instrucciones de posicionamiento Resumen sobre RAPID - Movimiento
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas
Gestin de datos de configuracin Principios de movimiento y E/S -
Configuracin del robot
Configuracin de los ejes externos Gua del usuario -
Parmetros del sistema
Qu es un cuaternio? Tipos de datos - Orient

272 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


shapedata
Tipo de dato Advanced functions (Funciones avanzadas)

shapedata - Datos de forma de zonas mundo


shapedata se utiliza para describir la geometra de una zona mundo.

Descripcin
Es posible definir zonas mundo con 4 formas geomtricas diferentes.

- Un prisma cuyos lados son paralelos al sistema de coordenadas mundo y que


se definen mediante una instruccin WZBoxDef
- Una esfera, definida mediante una instruccin WZSphDef
- Un cilindro paralelo al eje z del sistema de coordenadas mundo y definido
mediante una instruccin WZCylDef
- Un rea de espacio de ejes para los ejes del robot y/o los externos, definidos por
la instruccin WZHomeJointDef o WZLimJointDef

La geometra de una zona mundo se define mediante una de las instrucciones indicadas
anteriormente y la accin de una zona mundo definida mediante la instruccin
WZLimSup o WZDOSet.

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

Una transportador se define como un prisma y se activa la supervisin de esta


rea. Se define un poste como un cilindro y se activa la supervisin de la zona.
Si el robot alcanza una de estas reas, se detiene el movimiento.

Caractersticas
shapedata es un tipo de dato sin valor.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 273


shapedata
Advanced functions (Funciones avanzadas) Tipo de dato

Informacin relacionada
Descrito en:
Zonas mundo Principios de movimiento y E/S -
Zonas mundo
Forma de las zonas mundo Tipos de datos - shapedata
Definicin de zonas mundo en forma de prisma Instrucciones - WZBoxDef
Definicin de zonas mundo esfricas Instrucciones - WZSphDef
Definicin de zonas mundo cilndricas Instrucciones - WZCylDef
Definicin de una zona mundo para las Instruccin - WZHomeJointDef
posiciones iniciales de los ejes
Definicin de una zona mundo para las Instruccin - WZLimJointDef
posiciones lmite de los ejes
Activacin de la supervisin de lmites de Instrucciones - WZLimSup
las zonas mundo
Activacin de salidas digitales basadas Instrucciones - WZDOSet
en zonas mundo

274 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


signalxx
Tipo de dato

signalxx - Seales digitales y analgicas


Los tipos de datos denominados como signalxx se utilizan con las seales digitales y
analgicas de entrada y salida.

Los nombres de las seales se definen en los parmetros del sistema y, por tanto, no es
necesario definirlos en el programa.

Descripcin
Tipo de dato Finalidad
signalai Seales analgicas de entrada
signalao Seales analgicas de salida
signaldi Seales digitales de entrada
signaldo Seales digitales de salida
signalgi Grupos de seales digitales de entrada
signalgo Grupos de seales digitales de salida

Las variables del tipo signalxo slo contienen una referencia a la seal. El valor se
establece mediante una instruccin, por ejemplo DOutput.

Las variables del tipo signalxi contienen una referencia a una seal, as como la
posibilidad de obtener directamente el valor desde el programa, si se utiliza en un
contexto de valor.

El valor de una seal de entrada puede leerse directamente desde el programa, como
en los ejemplos siguientes:

! Entrada digital
IF di1 = 1 THEN ...

! Entrada de grupo digital


IF gi1 = 5 THEN ...

! Entrada analgica
IF ai1 > 5.2 THEN ...

Limitaciones
No debe definir los datos de tipo signalxx en el programa. Sin embargo, si se llega a
hacer, aparecer un mensaje de error tan pronto como se ejecute una instruccin o una
funcin que haga referencia a esta seal. Sin embargo, s es posible utilizarlos como
parmetros al declarar una rutina.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 275


signalxx
Tipo de dato

Datos predefinidos
Las seales definidas en los parmetros del sistema estn siempre disponibles desde el
programa mediante las variables de seal predefinidas (datos instalados). Sin embargo,
debe tener en cuenta que si se define otro dato con el mismo nombre, se pierde la
posibilidad de usar la seal.

Caractersticas
Signalxo es un tipo de dato sin valor. Por tanto, los datos de este tipo no son
compatibles con operaciones basadas en valores.

Signalxi es un tipo de datos de semivalor.

Informacin relacionada
Descrito en:
Resumen de instrucciones de entrada y salida Resumen sobre RAPID -
Seales de entrada y salida
Funcionalidad general de las entradas y salidas Principios de movimiento y E/S -
Principios de E/S
Configuracin de E/S Gua del usuario -
Parmetros del sistema
Caractersticas de los tipos de datos sin valor Caractersticas bsicas -
Tipos de datos

276 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


speeddata
Tipo de dato

speeddata - Datos de velocidad


Speeddata se utiliza para especificar la velocidad a la que deben moverse los ejes, tanto
los del robot como los ejes externos.

Descripcin
Los datos de velocidad se utilizan para definir las velocidades siguientes:

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


- Velocidad de reorientacin de la herramienta
- Velocidad a la que se mueven los ejes lineales o de rotacin.

Cuando se combinan varios tipos de movimiento, una de las velocidades suele limitar
todos los movimientos. La velocidad de los dems movimientos se reduce de forma
que todos los movimientos terminen de ejecutarse al mismo tiempo.

La velocidad tambin est limitada por el rendimiento del robot. Este rendimiento es
distinto segn el tipo de robot y la trayectoria del movimiento.

Componentes
v_tcp (velocidad del TCP) Tipo de dato: num

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

Si se utiliza una herramienta estacionaria o ejes externos coordinados, la


velocidad se especifica respecto del objeto de trabajo.

v_ori (velocidad de la orientacin) Tipo de dato: num

La velocidad de reorientacin alrededor del TCP, expresada en grados/seg.

Si se utiliza una herramienta estacionaria o ejes externos coordinados, la


velocidad se especifica respecto del objeto de trabajo.

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

La velocidad de los ejes externos lineales, en mm/seg.

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

La velocidad de los ejes externos de rotacin, en grados/seg.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 277


speeddata
Tipo de dato

Ejemplo
VAR speeddata vmedium := [ 1000, 30, 200, 15 ];

Se definen los datos de velocidad vmedium con las velocidades siguientes:

- 1.000 mm/seg para el TCP.


- 30 grados/seg para la reorientacin de la herramienta.
- 200 mm/seg para los ejes externos lineales.
- 15 grados/seg para los ejes externos de rotacin.

vmedium.v_tcp := 900;

Se cambia la velocidad del TCP a 900 mm/seg.

278 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


speeddata
Tipo de dato

Datos predefinidos
Existen varios datos de velocidad ya definidos en el mdulo de sistema BASE.

Nombre Velocidad del TCP Orientacin Eje ext. lineal Eje ext. rotacin
v5 5 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v10 10 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v20 20 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v30 30 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v40 40 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v50 50 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v60 60 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v80 80 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v100 100 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v150 150 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v200 200 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v300 300 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v400 400 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v500 500 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v600 600 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v800 800 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v1000 1.000 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v1500 1.500 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v2000 2.000 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v2500 2.500 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v3000 3.000 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v4000 4.000 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v5000 5.000 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v6000 6.000 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
v7000 7.000 mm/seg 500o/seg 5.000 mm/seg 1.000o/seg
vmax *) 500o/seg 5000 mm/seg 1.000o/seg

*) Velocidad del TCP mxima para el tipo de robot utilizado y los valores normales
prcticos para el TCP.
La funcin MaxRobSpeed de RAPID devuelve el mismo valor.
Si utiliza valores de TCP extremadamente altos en la base de coordenadas de la
herramienta, cree sus propios datos de velocidad con una velocidad de TCP mayor que
la que devuelve MaxRobSpeed.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 279


speeddata
Tipo de dato

Estructura
< dataobject of speeddata >
< v_tcp of num >
< v_ori of num >
< v_leax of num >
< v_reax of num >

Informacin relacionada
Descrito en:
Instrucciones de posicionamiento Resumen sobre RAPID -
Movimiento
Movimiento y velocidad en general Principios de movimiento y E/S -
Posicionamiento durante la
ejecucin del programa
Definicin de la velocidad mxima Instrucciones - VelSet
Velocidad mxima del TCP para el robot actual Funcin - MaxRobSpeed
Configuracin de los ejes externos Gua del usuario -
Parmetros del sistema
Rendimiento de los movimientos Especificaciones del producto

280 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


stoppointdata
Tipo de dato

stoppointdata - Datos de punto de paro


Stoppointdata se utiliza para especificar cmo debe terminar una posicin, es decir, a
qu distancia de la posicin programada deben encontrarse los ejes antes de iniciar un
movimiento hasta la posicin siguiente.

Descripcin
Una posicin puede terminar en forma de un punto de paso o un punto de paro.
El punto de paso significa que la posicin programada no llega a alcanzarse nunca.
La instruccin especifica una zona para el movimiento, definiendo una trayectoria de
esquina. En lugar de dirigirse hacia la posicin programada, la direccin del
movimiento toma la forma de una trayectoria de esquina antes de alcanzar la posicin.
Consulte Tipos de datos - zonedata.
Un punto de paro significa que los ejes del robot y los ejes externos deben alcanzar la
posicin especificada antes de que continen con el movimiento siguiente. Se
considera que el robot ha alcanzado un punto de paro cuando se satisfacen los criterios
de convergencia del punto. Los criterios de convergencia son la velocidad y la
posicin. Tambin es posible especificar criterios de temporizacin. Para el punto de
parada fine, consulte tambin el tipo de dato zonedata.
Es posible definir tres tipos de puntos de paro mediante stoppointdata.
- El tipo de punto de paro en posicin se define como un porcentaje de los
criterios de convergencia (posicin y velocidad) para el punto de paro fine
predefinido. El tipo en posicin tambin utiliza un tiempo mnimo y un
tiempo mximo. El robot espera el cumplimiento de los criterios de posicin y
velocidad, durante al menos el tiempo mnimo y como mucho el tiempo
mximo.
- En los puntos de paro de tiempo de paro, se espera siempre el tiempo
especificado sin dejar el punto de paro.
- Los puntos de paro de tiempo de seguimiento son puntos de paro de un tipo
especial que se utilizan para coordinar los movimientos del robot con un
transportador.
Los datos de tipo stoppointdata tambin determinan cmo deben sincronizarse los
movimientos con la ejecucin de RAPID. Si el movimiento se sincroniza, la ejecucin
de RAPID espera a un evento de tipo en posicin cuando el robot est en posicin.
Si el movimiento no est sincronizado, la ejecucin de RAPID recibe un evento de
precaptura casi medio segundo antes de que el robot fsico alcance la posicin
programada. Cuando el programa ejecutado recibe un evento en posicin o
precaptura, contina con la instruccin siguiente. Cuando llega el evento
precaptura, el robot sigue teniendo un margen de maniobra amplio. Cuando llega el
evento en posicin, el robot est cerca de la posicin programada. Observe que con
los tipos tiempo de paro y tiempo de seguimiento, la instruccin siguiente empieza
a ejecutarse al mismo tiempo que empieza la cuenta atrs del tiempo de parada y del
tiempo de seguimiento, respectivamente. Sin embargo, para el tipo en posicin, la
siguiente instruccin se inicia cuando se cumplen los criterios de convergencia.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 281


stoppointdata
Tipo de dato

Si utiliza instrucciones de movimiento con el argumento \Conc, no se realiza ninguna


sincronizacin, de modo que la instruccin de movimiento real estar preparada
inmediatamente.

Velocidad Velocidad del robot

En posicin
Velocidad de referencia

Tiempo
Retraso constante Tiempo mn./mx.
Tiempo de paro
Tiempo de seguimiento

Figura 17 Terminacin de un punto de paro

La figura anterior representa la terminacin de los puntos de paro. La velocidad del


robot no reduce la velocidad lineal. El servo del robot siempre va por delante del robot
fsico. Esto se representa como el retraso constante en la figura anterior. El retraso
constante es de aproximadamente 0,1 segundos. Los elementos de temporizacin de
stoppointdata utilizan como disparador una velocidad de referencia. La medicin de
tiempo comienza cuando la velocidad de referencia es cero. Por tanto, el tiempo de los
elementos de temporizacin siempre incluyen el retraso constante. La consecuencia es
que no tiene sentido utilizar valores inferiores al retraso constante.

Componentes
type (tipo del punto de paro) Tipo de paro: stoppoint
Define el tipo del punto de paro.
1 (inpos) El movimiento termina como un tipo de punto de parada
en posicin.
Activa el elemento inpos de stoppointdata.
No se utilizan los datos de zona de la instruccin, sino fine o z0.
2 (stoptime) El movimiento termina con un tipo de punto de paro de
tiempo de paro.
Activa el elemento stoptime de stoppointdata.
No se utilizan los datos de zona de la instruccin, sino fine o z0.
3 (followtime) El movimiento termina con un tipo de tiempo exacto de
seguimiento del transportador. Los datos de zona de la instruccin se utilizan
cuando el robot abandona el transportador.
Activa el elemento followtime de stoppointdata.

282 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


stoppointdata
Tipo de dato

El tipo de dato stoppoint es un tipo de dato de alias de num. Se utiliza para elegir el
tipo de punto de paro y qu elementos de datos de stoppointdata deben utilizarse.
Sus constantes predefinidas son:

Valor Constante simblica Comentario

1 inpos Nmero de tipo en posicin


2 stoptime Nmero de tipo de tiempo de paro
3 fllwtime Nmero de tipo de tiempo de seguimiento

progsynch (sincronizacin de programa) Tipo de dato: bool

Sincronizacin con la ejecucin del programa de RAPID.

- TRUE -> El movimiento est sincronizado con la ejecucin de RAPID.


El programa no empieza a ejecutar la instruccin siguiente hasta que se ha
alcanzado el punto de paro.
- FALSE -> El movimiento no est sincronizado con la ejecucin de RAPID.
El programa empieza a ejecutar la instruccin siguiente antes de alcanzar el
punto de paro.

Si utiliza instrucciones de movimiento con el argumento \Conc, no se realiza


ninguna sincronizacin de forma independiente de los datos de progsynch, de
modo que la instruccin de movimiento real estar siempre preparada
inmediatamente.

inpos.position (condicin de posicin del TCP) Tipo de dato: num

La condicin de posicin (el radio) del TCP en porcentaje de un punto de paro


fine normal.

inpos.speed (condicin de velocidad del TCP) Tipo de dato: num

La condicin de velocidad del TCP en porcentaje de un punto de paro fine


normal.

inpos.mintime (tiempo de espera mnimo) Tipo de dato: num

El tiempo de espera mnimo, en segundos, antes de alcanzar la posicin. Se


utiliza para hacer que el robot espere en el punto al menos el tiempo especificado.
El valor mximo es de 20,0 segundos.

inpos.maxtime (tiempo de espera mximo) Tipo de dato: num

El tiempo mximo, en segundos, que se espera a que se cumplan los criterios de


convergencia. Se utilizan para garantizar que el robot no se quede parado en el
punto si se han establecido condiciones de velocidad y posicin demasiado
estrictas. El valor mximo es de 20,0 segundos.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 283


stoppointdata
Tipo de dato

stoptime (tiempo de paro) Tipo de dato: num

El tiempo, en segundos, que el TCP permanece parado en la posicin antes de


empezar el movimiento siguiente. El valor mximo es de 20,0 segundos.

followtime (tiempo de seguimiento) Tipo de dato: num

El tiempo, en segundos, que el TCP sigue al transportador.

signal Tipo de dato: string

Reservado para un uso futuro.

relation Tipo de dato: opnum

Reservado para un uso futuro.

checkvalue Tipo de dato: num

Reservado para un uso futuro.

Ejemplos

Inpos

VAR stoppointdata my_inpos := [ inpos, TRUE, [ 25, 40, 0.1, 5], 0, 0, , 0, 0];
MoveL *, v1000, z0 \Inpos:=my_inpos, grip4;

Se definen los datos del punto de paro my_inpos con las caractersticas
siguientes:

- El punto de paro es de tipo en posicin, inpos.


- El punto de paro estar sincronizado con la ejecucin del programa de RAPID,
TRUE.
- El criterio de distancia del punto de paro es del 25% de la distancia definida para
el punto de paro fine, 25.
- El criterio de velocidad del punto de paro es del 40% de la velocidad definida
para el punto de paro fine, 40.
- El tiempo mnimo que se espera a la convergencia es 0,1 seg, 0.1.
- El tiempo mximo que se espera a la convergencia es 5 seg, 5.

El robot se mueve hacia la posicin programada hasta que se cumple uno de los
criterios de posicin o velocidad.

my_inpos.inpos.position := 40;
MoveL *, v1000, z0 \Inpos:=my_inpos, grip4;

Se ajusta el criterio de distancia del punto de paro al 40%.

284 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


stoppointdata
Tipo de dato

Stoptime

VAR stoppointdata my_stoptime := [ stoptime, FALSE, [ 0, 0, 0, 0], 1.45, 0, , 0, 0];


MoveL *, v1000, z0\Inpos:=my_stoptime, grip4;

Se definen los datos del punto de paro my_stoptime con las caractersticas
siguientes:

- El punto de paro es de tipo de tiempo de espera, stoptime.


- El punto de paro no estar sincronizado con la ejecucin del programa de
RAPID, FALSE.
- El tiempo de espera en posicin es de 1,45 seg.

El robot se mueve hacia la posicin programada hasta que llega el evento de


precaptura. Se ejecuta la siguiente instruccin de RAPID. Si es una instruccin
de movimiento, el robot se detiene durante 1,45 segundos antes de empezar el
movimiento siguiente.

my_stoptime.stoptime := 6.66;
MoveL *, v1000, z0 \Inpos:=my_stoptime, grip4;

Se selecciona un tiempo de paro del punto de paro de 6,66 segundos. Si la


siguiente instruccin de RAPID es una instruccin de movimiento, el robot se
detiene durante 6,66 seg.

Followtime

VAR stoppointdata my_followtime := [ fllwtime, TRUE, [ 0, 0, 0, 0], 0, 0.5, , 0, 0];


MoveL *, v1000, z10 \Inpos:=my_followtime, grip6;

Se definen los datos del punto de paro my_followtime con las caractersticas
siguientes:

- El punto de paro es de tipo de tiempo de seguimiento, fllwtime.


- El punto de paro estar sincronizado con la ejecucin del programa de RAPID,
TRUE.
- El tiempo de seguimiento del punto de paro es de 0,5 seg, 0.5.

El robot sigue al transportador durante 0,5 seg antes de dejarlo, con una zona de
10 mm, z10.

my_followtime.followtime := 0.4;

Se ajusta el tiempo de seguimiento del punto de paro a 0,4 seg.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 285


stoppointdata
Tipo de dato

Datos predefinidos
Existen varios datos de punto de paro ya definidos en el mdulo de sistema BASE.

Puntos de paro en posicin

Nombre Progsynch Position Speed Mintime Maxtime Stoptime Followtime


inpos20 TRUE 20% 20% 0 seg 20 seg - -
inpos50 TRUE 50% 50% 0 seg 20 seg - -
inpos100 TRUE 100% 100% 0 seg 20 seg - -
(inpos100 tiene los mismos criterios de convergencia que el punto de paro fine)

Puntos de paro de tiempo de paro

Nombre Progsynch Position Speed Mintime Maxtime Stoptime Followtime


stoptime0_5 FALSE - - - - 0,5 seg -
stoptime1_0 FALSE - - - - 1,0 seg -
stoptime1_5 FALSE - - - - 1,5 seg -

Puntos de paro de tiempo de seguimiento

Nombre Progsynch Position Speed Mintime Maxtime Stoptime Followtime


fllwtime0_5 TRUE - - - - - 0,5 seg
fllwtime1_0 TRUE - - - - - 1,0 seg
fllwtime1_5 TRUE - - - - - 1,5 seg

Estructura
< dataobject of stoppointdata >
< type of stoppoint>
< progsynch of bool >
< inpos of inposdata >
< position of num >
< speed of num >
< mintime of num >
< maxtime of num >
< stoptime of num >
< followtime of num >
< signal of string >
< relation of opnum >
< checkvalue of num >

286 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


stoppointdata
Tipo de dato

Informacin relacionada
Descrito en:
Instrucciones de posicionamiento Resumen sobre RAPID - Movimiento
Movimiento y trayectorias en general Principios de movimiento y E/S -
Posicionamiento durante la ejecucin
del programa
Configuracin de los ejes externos Gua del usuario -
Parmetros del sistema
Puntos de paso Tipos de datos - zonedata

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 287


stoppointdata
Tipo de dato

288 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


string
Tipo de dato

string - Cadenas de caracteres


String se utiliza con cadenas de caracteres.

Descripcin
Las cadenas de caracteres estn compuestas por varios caracteres (un mximo de 80)
encerrados entre comillas (),

Por ejemplo: Esto es una cadena de caracteres.

Si desea incluir comillas dentro de la cadena de caracteres, debe escribirlas dos veces.

Por ejemplo: Esta cadena contiene unas comillas.

Si desea incluir una barra invertida dentro de la cadena de caracteres, debe escribirla
dos veces.

Por ejemplo: "Esta cadena de caracteres contiene un carcter de barra invertida \\".

Ejemplo
VAR string text;
.
text := Comienzo de soldadura de tubo 1;
TPWrite text;

El texto Comienzo de soldadura de tubo 1 se escribe en la unidad de


programacin.

Limitaciones
Una cadena puede tener de 0 a 80 caracteres, incluidas las comillas o las barras
invertidas que se utilicen.

Las cadenas de caracteres pueden contener cualquiera de los caracteres especificados


en la norma ISO 8859-1, adems de caracteres de control (caracteres ajenos al estndar
ISO 8859-1 y con cdigos numricos de 0 a 255).

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 289


string
Tipo de dato

Datos predefinidos
El sistema dispone de varias constantes de cadena de caracteres predefinidas, que
pueden usarse junto con las funciones para cadenas de caracteres.
Nombre Conjunto de caracteres
STR_DIGIT <dgito> ::=
0|1|2|3|4|5|6|7|8|9
STR_UPPER <letra mayscula> ::=
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 minscula> ::=
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 <carcter en blanco> ::=
1) Letra eth islandesa
2) Letra Y con acento agudo
3) Letra thorn islandesa
Las constantes siguientes ya estn definidas en el mdulo de sistema BASE:
CONST string diskhome := HOME:;
! Para programas antiguos del sistema S4C
CONST string ram1disk := HOME:;
CONST string disktemp := TEMP:;
CONST string flp1 := flp1:;
CONST string stEmpty := ;

Informacin relacionada
Descrito en:
Operaciones con cadenas de caracteres Caractersticas bsicas - Expresiones
Valores de cadena de caracteres Caractersticas bsicas -
Elementos bsicos

290 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


symnum
Tipo de dato

symnum - Nmero simblico


Symnum se utiliza para representar un entero con una constante simblica.

Descripcin
Las constantes de symnum se han diseado para usarlas al comprobar el valor de
retorno de las funciones OpMode y RunMode. Consulte el ejemplo siguiente.

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

Datos predefinidos
Se han definido las constantes simblicas siguientes del tipo de dato symnum. Puede
usarlas a la hora de comprobar valores de retorno de las funciones OpMode y RunMode

Valor Constante simblica Comentario


0 RUN_UNDEF Modo de ejecucin no definido
1 RUN_CONT_CYCLE Modo de ejecucin continuo o en modo ciclo
2 RUN_INSTR_FWD Modo de ejecucin de avance de instrucciones
3 RUN_INSTR_BWD Modo de ejecucin hacia atrs
4 RUN_SIM Modo de ejecucin simulado

Valor Constante simblica Comentario

0 OP_UNDEF Modo de funcionamiento no definido


1 OP_AUTO Modo de funcionamiento automtico
2 OP_MAN_PROG Modo de funcionamiento manual a 250 mm/seg
como mximo
3 OP_MAN_TEST Modo de funcionamiento manual a mxima
velocidad, 100%

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 291


symnum
Tipo de dato

Caractersticas
Symnum es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Informacin relacionada
Descrito en:
Tipos de datos en general, tipos de Caractersticas bsicas - Tipos de datos
datos de alias

292 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


System Data
Tipo de dato

Datos de sistema
Los datos de sistema son los datos internos del robot que pueden utilizarse y leerse
desde el programa. Pueden usarse para leer el estado actual, por ejemplo, la velocidad
mxima actual.

La tabla siguiente contiene una lista con todos los datos de sistema.

Nombre Descripcin Tipo de dato Cambiado por Ms informacin

C_MOTSET Parmetros actuales de motsetdata Instrucciones Tipos de datos - motsetdata


movimiento, es decir: - VelSet Instrucciones - VelSet
- Velocidad mxima y ajuste de - AccSet Instrucciones - AccSet
velocidad - SingArea Instrucciones - SingArea
- Aceleracin mxima - ConfL,ConfJ Instrucciones - ConfL,
- Movimiento cerca de puntos - PathResol ConfJ
singulares - MotionSup Instrucciones - PathResol
- Monitorizacin de la - PathAccLim Instrucciones - MotionSup
configuracin de ejes - CirPathReori Instrucciones - PathAccLim
- Resolucin de la trayectoria Instrucciones -
- Supervisin de movimientos CirPathReori
con valor de ajuste
- Reduccin de la aceleracin y
deceleracin del TCP a lo largo
de la trayectoria de movimiento
- Modificacin de la orientacin
de la herramienta durante la
interpolacin circular

C_PROGDISP Desplazamiento de programa progdisp Instrucciones Tipos de datos - progdisp


actual para los ejes del robot y - PDispSet Instrucciones - PDispSet
los ejes externos. - PDispOn Instrucciones - PDispOn
- PDispOff Instrucciones - PDispOff
- EOffsSet Instrucciones - EOffsSet
- EOffsOn Instrucciones - EOffsOn
- EOffsOff Instrucciones - EOffsOff

ERRNO El ltimo error que ha tenido errnum El robot Tipos de datos - errnum
lugar. Resumen sobre RAPID -
Recuperacin en caso de
error

INTNO La ltima interrupcin que ha intnum El robot Tipos de datos - intnum


tenido lugar. Resumen sobre RAPID -
Interrupciones

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 293


System Data
Tipo de dato

294 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


taskid
Tipo de dato

taskid - Identificacin de tareas


Taskid se utiliza para identificar tareas de programa disponibles en el sistema.

Los nombres de las tareas de programa se definen en los parmetros del sistema y,
por tanto, no es necesario definirlos en el programa.

Descripcin
Los datos del tipo taskid slo contienen una referencia a la tarea de programa.

Limitaciones
No debe definir los datos de tipo taskid en el programa. Sin embargo, s es posible
utilizarlos como parmetros al declarar una rutina.

Datos predefinidos
Las tareas de programa definidas en los parmetros del sistema estn siempre
disponibles desde el programa (datos instalados).

Existen variables predefinidas con el tipo de dato taskid para todas las tareas de
programa del sistema. La identificacin de la variable ser nombre_tarea+ID.
Por ejemplo, para la tarea MAIN la identificacin de la tarea es MAINId, para TSK1
es TSK1Id, etc.

Caractersticas
Taskid es un tipo de dato sin valor. Esto significa que los datos de este tipo no son
compatibles con operaciones basadas en valores.

Informacin relacionada
Descrito en:
Guardado de mdulos de programa Instrucciones - Save
Configuracin de tareas de programa Gua del usuario -
Parmetros del sistema
Caractersticas de los tipos de datos sin valor Caractersticas bsicas - Tipos de datos

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 295


taskid
Tipo de dato

296 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


testsignal
Tipo de dato

testsignal - Seal de test


El tipo de dato testsignal se utiliza cuando se realiza un test del sistema de movimiento
del robot.

Descripcin
El sistema de robot cuenta con varias seales de test predefinidas. El tipo de dato
testsignal puede usarse para simplificar la programacin de la instruccin
TestSignDefine.

Ejemplos
TestSignDefine 2, speed, Orbit, 2, 0;

speed es una constante del tipo de dato testsignal.

Datos predefinidos
El sistema tiene predefinidas las seales de test siguientes para los ejes del
manipulador externo.
Todos los datos se indican en unidades SI y se miden en el lado del motor del eje.

CONST testsignal speed := 6; ! rad/seg


CONST testsignal torque_ref := 9; ! Nm
CONST testsignal resolver_angle := 1; ! rad
CONST testsignal speed_ref := 4; ! rad/seg
CONST testsignal dig_input1 := 102; !01
CONST testsignal dig_input2 := 103; !01

Caractersticas
Testsignal es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Informacin relacionada
Descrito en:
Definicin de una seal de test Instrucciones - TestSignDefine
Lectura de una seal de test Funciones - TestSignRead
Puesta a cero de seales de test Instrucciones - TestSignReset

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 297


testsignal
Tipo de dato

298 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


tooldata
Tipo de dato

tooldata - Datos de herramientas


Tooldata se utiliza para describir las caractersticas de una herramienta, por ejemplo,
una pistola de soldadura o una pinza.

Si la herramienta est fija en el espacio (una herramienta estacionaria), los datos


comunes de la herramienta se definen para la herramienta y para la pinza que sostiene
el objeto de trabajo.

Descripcin
Los datos de la herramienta afectan de las formas siguientes a los movimientos del
robot:

- El punto central de la herramienta (TCP) se refiere a un punto que seguir la


trayectoria especificada y el rendimiento de velocidad deseado. Si se reorienta
la herramienta o se utilizan los ejes externos coordinados, slo este punto
seguir la trayectoria deseada a la velocidad programada.
- Si se utiliza una herramienta estacionaria, la velocidad y la trayectoria
programadas sern las del objeto de trabajo.
- Las posiciones programadas se refieren a la posicin del TCP actual y la
orientacin en relacin con el sistema de coordenadas de la herramienta. Esto
significa que si por ejemplo, se reemplaza una herramienta porque est daada,
sigue siendo posible utilizar el programa anterior con slo redefinir el sistema
de coordenadas de la herramienta.

Los datos de la herramienta tambin se usan en los movimientos del robot para:

- Definir el TCP que no debe moverse cuando se reorienta el robot.


- Definir el sistema de coordenadas de la herramienta para facilitar el
acercamiento o la rotacin de las direcciones de la herramienta.

Es importante definir siempre la carga real de la herramienta y, si se usa, tambin la


carga til del robot.

Una definicin incorrecta de los datos de carga puede dar lugar a la sobrecarga
de la estructura mecnica del robot.

Cuando se especifican datos de carga incorrectos para la herramienta, este hecho suele
tener las consecuencias siguientes:

- Si el valor de la carga especificada es mayor que el valor de la carga real:


-> El robot no funcionar a su capacidad mxima
-> Peor exactitud de la trayectoria, con riesgo de sobrepasar posiciones
- Si el valor de la carga especificada es menor que el valor de la carga real:
-> Peor exactitud de la trayectoria, con riesgo de sobrepasar posiciones
-> Riesgo de sobrecarga de la estructura mecnica

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 299


tooldata
Tipo de dato

Componentes
robhold (el robot sostiene el objeto) Tipo de dato: bool

Define si el robot es el que est sosteniendo la herramienta:

- TRUE-> El robot sostiene la herramienta.


- FALSE -> El robot no sostiene la herramienta, sino que se trata de una
herramienta estacionaria.

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

El sistema de coordenadas de la herramienta, es decir:

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


de la mueca (consulte la Figura 1).
- La orientacin del sistema de coordenadas de la herramienta, expresado en el
sistema de coordenadas de la mueca en forma de un cuaternio (q1, q2, q3 y q4)
(consulte la Figura 1).

Si se utiliza una herramienta estacionaria, la definicin se hace respecto del


sistema de coordenadas mundo.

Si no se especifica la direccin de la herramienta, el sistema de coordenadas de


la herramienta y el sistema de coordenadas de la mueca coincidirn.

Orificio de control
El sistema de coordenadas de la mueca
Y
Z

El sistema de coordenadas de la herramienta

TCP
Y
X
X
Z
Figura 18 Definicin del sistema de coordenadas de la herramienta.

300 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


tooldata
Tipo de dato

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

La carga de la herramienta, es decir:

- El peso de la herramienta en kilos.


- El centro de gravedad de la herramienta (x, y, z) en mm, expresada en el sistema
de coordenadas de la mueca.
- La orientacin del sistema de coordenadas de la carga de la herramienta,
expresado en el sistema de coordenadas de la mueca. Define los ejes de inercia
de la herramienta.
La orientacin del sistema de coordenadas de la herramienta debe coincidir con
la orientacin del sistema de coordenadas de la mueca. Siempre debe tener
los valores 1, 0, 0, 0.
- Los momentos de inercia de la herramienta respecto de su centro de masa
alrededor de los ejes coordinados de la carga de la herramienta, en kgm2.
Si todos los componentes de inercia estn definidos con el valor 0 kgm2, la
herramienta se gestiona como una masa puntual.

El sistema de coordenadas de la mueca


Y IY Sistema de coordenadas de la carga de
la herramienta
Z
Ejes de inercia de la carga de la herramienta
IZ

TCP
IX Y
X Sistema de coordenadas de
X la herramienta
Z

Figura 19 Definiciones de los parmetros de carga de la herramienta

Para obtener ms informacin (por ejemplo el sistema de coordenadas para la


herramienta estacionaria o posibles restricciones), consulte el tipo de dato
loaddata.

Si se utiliza una herramienta estacionaria, es necesario definir la carga de la pinza


que sostiene el objeto de trabajo.

Recuerde que slo debe especificar la carga de la herramienta. La carga til


manejada por la pinza se conecta y desconecta mediante la instruccin
GripLoad.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 301


tooldata
Tipo de dato

Ejemplos
PERS tooldata gripper := [ 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 18 se describe utilizando los valores siguientes:

- El robot sostiene la herramienta.


- El TCP est situado en un punto a 223,1 mm en lnea recta del eje 6 y a 97,4 mm
a lo largo del eje X del sistema de coordenadas de la mueca.
- Las direcciones X y Z de la herramienta se giran 45o en relacin con el sistema
de coordenadas de la mueca.
- La herramienta pesa 5 kg.
- El centro de gravedad est situado en un punto a 75 mm en lnea recta del eje 6
y a 23 mm a lo largo del eje X del sistema de coordenadas de la mueca.
- Es posible considerar la carga como una masa puntual, es decir, sin ningn
momento de inercia.

gripper.tframe.trans.z := 225.2;

Se ajusta el TCP de la herramienta, gripper, a 225,2 en la direccin Z.

Limitaciones
Los datos de la herramienta deben definirse como variables persistentes (PERS) y no
deben definirse desde dentro de una rutina. De esta forma, los valores se guardan al
almacenar el programa en un disquete y se recuperan al cargarlo.

Los argumentos de datos de herramienta de cualquier instruccin de movimiento deben


ser slo del tipo persistente completo (ni elementos de matriz ni componentes de
registro).

Datos predefinidos
La herramienta tool0 define el sistema de coordenadas de la mueca, cuyo origen es el
centro de la brida de montaje. Tool0 est siempre disponible desde el programa, pero
no puede ser modificada en ningn momento (est almacenada en el mdulo de
sistema 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] ];

302 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


tooldata
Tipo de dato

Estructura
< dataobject of tooldata >
< robhold of bool >
< tframe 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 >
< tload of loaddata >
< mass of num >
< cog of pos >
< x of num >
< y of num >
< z of num >
< aom of orient >
< q1 of num >
< q2 of num >
< q3 of num >
< q4 of num >
< ix of num >
< iy of num >
< iz of num >

Informacin relacionada
Descrito en:
Instrucciones de posicionamiento Resumen sobre RAPID - Movimiento
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas
Definicin de una carga til Instrucciones - Gripload
Definicin de carga Tipos de datos - Datos de carga

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 303


tooldata
Tipo de dato

304 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


tpnum
Tipo de dato

tpnum - Nmero de ventana de la unidad de programacin


tpnum se utiliza para representar la ventana de la unidad de programacin con una
constante simblica.

Descripcin
Las constantes tpnum se han diseado para su uso con la instruccin TPShow. Consulte
el ejemplo siguiente.

Ejemplo
TPShow TP_PROGRAM;

Despus de la ejecucin de esta instruccin, si el sistema se encuentra en el modo


AUTO, estar activa la ventana de produccin; si est en el modo MAN, estar
activa la ventana de programa.

Datos predefinidos
Se han predefinido las constantes simblicas siguientes para el tipo de dato tpnum.
Puede usarlas con la instruccin TPShow.

Valor Constante simblica Comentario

1 TP_PROGRAM AUTO: Ventana de produccin


MAN: Ventana de programa
2 TP_LATEST ltima ventana usada en la unidad de programacin
3 TP_SCREENVIEWER Ventana Visor de ventanas, si la opcin est activada

Caractersticas
tpnum es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 305


tpnum
Tipo de dato

Informacin relacionada
Descrito en:
Tipos de datos en general, tipos de Caractersticas bsicas - Tipos de datos
datos de alias
Comunicacin a travs de la unidad de Resumen sobre RAPID -
programacin Comunicacin
Cambio de ventana en la unidad de Instrucciones - TPShow
programacin

306 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


triggdata
Tipo de dato

triggdata - Eventos de posicionamiento - trigg


Triggdata se utiliza para almacenar datos acerca de un evento de posicionamiento
durante un movimiento del robot.

Un evento de posicionamiento puede tener la forma de un parmetro en una seal de


salida o puede significar la ejecucin de una rutina de interrupcin en una posicin
especfica a lo largo de la trayectoria de movimiento del robot.

Descripcin
Para definir las condiciones de las mediciones respectivas de un evento de
posicionamiento, se utilizan variables del tipo triggdata. Los datos contenidos en la
variable se forman en el programa mediante una instruccin TriggIO o TriggInt y se
utilizan desde una instruccin TriggL, TriggC o TriggJ.

Ejemplo
VAR triggdata gunoff;

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

TriggL p1, v500, gunoff, fine, gun1;

La seal digital de salida gun cambia al valor off cuando el TCP se encuentra en
una posicin a 5 mm del punto p1.

Caractersticas
Triggdata es un tipo de dato sin valor.

Informacin relacionada
Descrito en:
Definicin de disparos Instrucciones - TriggIO, TriggInt
Utilizacin de disparos Instrucciones - TriggL, TriggC,
TriggJ
Caractersticas de los tipos de datos sin valor Caractersticas bsicas - Tipos de datos

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 307


triggdata
Tipo de dato

308 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


trapdata
Tipo de dato Advanced functions (Funciones avanzadas)

trapdata - Datos de interrupcin para la rutina TRAP actual


trapdata (datos de TRAP) se utiliza para contener los datos de interrupcin que
provocan la ejecucin de la rutina TRAP actual.

Debe utilizarse en las rutinas TRAP generadas por la instruccin IError, antes del uso
de la instruccin ReadErrData.

Descripcin
Los datos del tipo trapdata representan informacin interna relacionada con la
interrupcin que provoc la ejecucin de la rutina TRAP actual. Su contenido depende
del tipo de interrupcin.

Ejemplo
VAR errdomain err_domain;
VAR num err_number;
VAR errtype err_type;
VAR trapdata err_data;
.
TRAP trap_err
GetTrapData err_data;
ReadErrData err_data, err_domain, err_number, err_type;
ENDTRAP

Cuando se detecta un error con la rutina TRAP trap_err, el dominio, el nmero


y el tipo del error se almacenan en las variables adecuadas sin valor, del tipo
trapdata.

Caractersticas
trapdata es un tipo de dato sin valor.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 309


trapdata
Advanced functions (Funciones avanzadas) Tipo de dato

Informacin relacionada
Descrito en:
Resumen de interrupciones Resumen sobre RAPID -
Interrupciones
Ms informacin sobre la gestin de interrupciones Caractersticas bsicas -
Interrupciones
Tipos de datos sin valor Caractersticas bsicas -
Tipos de datos
Peticin de una interrupcin en caso de error Instrucciones - IError
Obtencin de datos de interrupcin para la rutina Instrucciones - GetTrapData
TRAP actual
Obtencin de informacin sobre un error Instrucciones - ReadErrData

310 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


tunetype
Tipo de dato

tunetype - Tipo de ajuste de servo


Tunetype se utiliza para representar un entero con una constante simblica.

Descripcin
Las constantes tunetype se han diseado para su uso como argumento de la instruccin
TuneServo. Consulte el ejemplo siguiente.

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

Datos predefinidos
Se han definido las constantes simblicas siguientes para el tipo de dato tunetype.
Puede usarlas como argumento de la instruccin TuneServo.

Valor Constante simblica Comentario

0 TUNE_DF Reduce el riesgo de sobrepasar posiciones


1 TUNE_KP Afecta a la ganancia del control de posicin
2 TUNE_KV Afecta a la ganancia del control de velocidad
3 TUNE_TI Afecta al tiempo de integracin del control de
velocidad
4 TUNE_FRIC_LEV Afecta al nivel de compensacin de friccin
5 TUNE_FRIC_RAMP Afecta a la pendiente de compensacin de friccin
6 TUNE_DG Reduce el riesgo de sobrepasar posiciones
7 TUNE_DH Reduce las vibraciones con cargas pesadas
8 TUNE_DI Reduce los errores de trayectoria
9 TUNE_DK Slo para uso interno de ABB
10 TUNE_DL Slo para uso interno de ABB

Caractersticas
Tunetype es un tipo de dato de alias de num y por tanto hereda sus caractersticas.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 311


tunetype
Tipo de dato

Informacin relacionada
Descrito en:
Tipos de datos en general, tipos de Caractersticas bsicas - Tipos de datos
datos de alias
Uso del tipo de dato tunetype Instrucciones - TuneServo

312 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


wobjdata
Tipo de dato

wobjdata - Datos del objeto de trabajo


Wobjdata se utiliza para describir el objeto de trabajo que el robot est soldando,
procesando, moviendo por s solo, etc.

Descripcin
Si los objetos de trabajo estn definidos en una instruccin de posicionamiento, la
posicin se basar en las coordenadas del objeto de trabajo. Las ventajas de hacerlo son
las siguientes:
- Si se introducen manualmente los datos de posicin, por ejemplo, mediante la
programacin fuera de lnea, suele ser posible tomar los valores de un plano.
- Los programas pueden reutilizarse rpidamente despus de cualquier cambio
en la instalacin del robot. Por ejemplo, si se cambia de posicin un til, slo
es necesario redefinir el sistema de coordenadas del usuario.
- Tambin es posible compensar las variaciones en la forma en que el objeto de
trabajo est fijado. Sin embargo, para estos fines se requerir algn tipo de
sensor para posicionar el objeto de trabajo.
Si se utiliza una herramienta estacionaria o ejes externos coordinados, es necesario
definir el objeto de trabajo, ya que en este caso la trayectoria y la velocidad estaran
relacionadas con el objeto de trabajo en lugar del TCP.
Los datos del objeto de trabajo pueden usarse tambin para los movimientos.
- El robot puede desplazarse en las direcciones del objeto de trabajo.
- La posicin actual mostrada se basa en el sistema de coordenadas del objeto de
trabajo.

Componentes
robhold (el robot sostiene el objeto) Tipo de dato: bool
Define si el robot es el que est sosteniendo el objeto de trabajo:
- TRUE -> El robot sostiene el objeto de trabajo, es decir, se est utilizando una
herramienta estacionaria.
- FALSE -> El robot no est sosteniendo el objeto de trabajo, es decir, el robot
est sosteniendo la herramienta.
ufprog (base de coordenadas del Tipo de dato: bool
usuario programada)
Define si se est utilizando un sistema fijo de coordenadas del usuario:
- TRUE -> Sistema fijo de coordenadas del usuario.
- FALSE -> Sistema mvil de coordenadas del usuario, es decir, se utilizan ejes
externos coordinados.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 313


wobjdata
Tipo de dato

ufmec (unidad mecnica como Data type: string


base de coordenadas)
La unidad mecnica con la que se coordinan los movimientos del robot. Slo se
especifican en el caso de los sistemas mviles de coordenadas del usuario (ufprog
es FALSE).
Se especifican con el nombre que se define en los parmetros de sistema, por
ejemplo orbit_a.
uframe (base de coordenadas del usuario) Tipo de dato: pose
El sistema de coordenadas del usuario, es decir, la posicin de la superficie o del
til de trabajo actual (consulte la Figura 20):
- La posicin del origen del sistema de coordenadas (x, y, z) en mm.
- La rotacin del sistema de coordenadas, expresada como un cuaternio
(q1, q2, q3, q4).
Si el robot es el que sostiene la herramienta, el sistema de coordenadas del
usuario se define en el sistema de coordenadas mundo (en el sistema de
coordenadas de la mueca si se utiliza una herramienta estacionaria).
Si se utilizan ejes externos coordinados (ufprog es FALSE), el sistema de
coordenadas del usuario se define en los parmetros de sistema.
oframe (base de coordenadas del objeto) Tipo de dato: pose
El sistema de coordenadas del objeto, es decir, la posicin del objeto de trabajo
actual (consulte la Figura 20):
- La posicin del origen del sistema de coordenadas (x, y, z) en mm.
- La rotacin del sistema de coordenadas, expresada como un cuaternio
(q1, q2, q3, q4).
El sistema de coordenadas del objeto se define en el sistema de coordenadas
del usuario.

Coordenadas de la herramienta
Y
TCP
X

Z Z
Z Coordenadas del usuario
Y Z Coordenadas del objeto

Z X Y
Coordenadas de la base Y X

Y X

X
Coordenadas mundo
Figura 20 Los distintos sistemas de coordenadas del objeto (si el robot es el que sostiene
la herramienta).

314 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


wobjdata
Tipo de dato

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

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

- El robot no sostiene el objeto de trabajo.


- Se utiliza el sistema fijo de coordenadas del usuario.
- El sistema de coordenadas del usuario no se gira y las coordenadas de su origen
son x= 300, y = 600 y z = 200 mm en el sistema de coordenadas mundo.
- El sistema de coordenadas del objeto no se gira y las coordenadas de su origen
son x= 0, y = 200 y z = 30 mm en el sistema de coordenadas del usuario.

wobj2.oframe.trans.z := 38.3;

- Se ajusta la posicin del objeto de trabajo wobj2 a 38,3 mm en la direccin z.

Limitaciones
Los datos del objeto de trabajo deben definirse como variables persistentes (PERS) y
no deben definirse desde dentro de una rutina. De esta forma, los valores se guardan al
almacenar el programa en un disquete y se recuperan al cargarlo.

Los argumentos de datos de objeto de trabajo de cualquier instruccin de movimiento


deben ser slo del tipo persistente completo (ni elementos de matriz ni componentes
de registro).

Datos predefinidos
Los datos de objeto de trabajo wobj0 se definen de forma que el sistema de
coordenadas del objeto coincida con el sistema de coordenadas mundo. El robot no
sostiene el objeto de trabajo.

Wobj0 est siempre disponible desde el programa, pero no puede ser modificada en
ningn momento (est almacenada en el mdulo de sistema BASE).

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

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 315


wobjdata
Tipo de dato

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 >

Informacin relacionada
Descrito en:
Instrucciones de posicionamiento Resumen sobre RAPID - Movimiento
Sistemas de coordenadas Principios de movimiento y E/S -
Sistemas de coordenadas
Ejes externos coordinados Principios de movimiento y E/S -
Sistemas de coordenadas
Calibracin de los ejes externos coordinados Gua del usuario -
Parmetros del sistema

316 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


wzstationary
Tipo de dato Advanced functions (Funciones avanzadas)

wzstationary - Datos de zona mundo estacionaria


wzstationary (zona mundo estacionaria) se utilizan para definir una zona mundo
estacionaria y slo pueden usarse en rutinas de evento conectadas al evento POWER
ON.

Las zonas mundo se supervisan durante los movimientos del robot, tanto durante la
ejecucin del programa como durante los movimientos. Si el TCP del robot alcanza la
zona mundo o si los ejes del robot o los ejes externos alcanzan la zona mundo, el
movimiento se detiene o se activa o desactiva una seal digital de salida.

Descripcin
Las zonas mundo wzstationary se definen y activan mediante una instruccin
WZLimSup o WZDOSet.

WZLimSup o WZDOSet asignan un valor numrico a variables o variables persistentes


con el tipo de dato estacionario. El valor identifica una zona mundo.

Siempre hay una zona mundo estacionaria, que slo se elimina en los arranques en
caliente (al apagar y encender de nuevo el interruptor o al cambiar los parmetros del
sistema). No es posible desactivar, activar ni eliminar una zona mundo estacionaria a
travs de instrucciones de RAPID.

Las zonas mundo estacionarias deben estar activadas desde la puesta en marcha y
deben estar definidas en la rutina de evento POWER ON o en una tarea semiesttica.

Ejemplo
VAR wzstationary conveyor;
...
PROC ...
VAR shapedata volume;
...
WZBoxDef \Inside, volume, p_corner1, p_corner2;
WZLimSup \Stat, conveyor, volume;
ENDPROC

Un transportador se define como un prisma de ngulos rectos (el volumen que


queda debajo de la cinta). Si el robot alcanza este volumen, se detiene el
movimiento.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 317


wzstationary
Advanced functions (Funciones avanzadas) Tipo de dato

Limitaciones
Los datos wzstationary deben definirse como variables (VAR) o variables persistentes
(PERS). Pueden ser globales en la tarea o locales dentro del mdulo, pero no locales
dentro de una rutina.

Los argumentos de tipo wzstationary deben ser slo datos completos (ni elementos de
matriz ni componentes de registro).

Los valores de inicializacin de los datos del tipo wzstationary no se utilizan en el


sistema de control. Cuando sea necesario utilizar una variable persistente en un sistema
multitarea, cambie el valor inicial a 0 en las dos tareas.
Por ejemplo: PERS wzstationary share_workarea := [0];

Ejemplo
Para ver un ejemplo completo, consulte la instruccin WZLimSup.

Caractersticas
wzstationary es un tipo de dato de alias de wztemporary y hereda sus caractersticas.

Informacin relacionada
Descrito en:
Zonas mundo Principios de movimiento y E/S -
Zonas mundo
Forma de las zonas mundo Tipos de datos - shapedata
Zona mundo temporal Tipos de datos - wztemporary
Activacin de la supervisin de lmites de Instrucciones - WZLimSup
las zonas mundo
Activacin de salidas digitales basadas Instrucciones - WZDOSet
en zonas mundo

318 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


wztemporary
Tipo de dato

wztemporary - Datos de zona mundo temporal


wztemporary (zona mundo temporal) se utiliza para identificar una zona mundo
temporal y puede usarse en cualquier parte del programa RAPID para la tarea MAIN.

Las zonas mundo se supervisan durante los movimientos del robot, tanto durante la
ejecucin del programa como durante los movimientos. Si el TCP del robot alcanza la
zona mundo o si los ejes del robot o los ejes externos alcanzan la zona mundo, el
movimiento se detiene o se activa o desactiva una seal digital de salida.

Descripcin
Las zonas mundo wztemporary se definen y activan mediante una instruccin
WZLimSup o WZDOSet.

WZLimSup o WZDOSet asignan un valor numrico a variables o variables persistentes


con el tipo de dato wztemporary. El valor identifica una zona mundo.

Una vez definidas y activadas, las zonas mundo temporales pueden desactivarse con
WZDisable, activarse de nuevo con WZEnable y eliminarse con WZFree.

Todas las zonas mundo temporales de la tarea MAIN se eliminan automticamente y


todos los objetos de datos del tipo wztemporary de la tarea MAIN cambian a 0 en los
casos siguientes:

- Cuando se carga un nuevo programa en la tarea MAIN


- Cuando se inicia la ejecucin 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

Se define una variable de tipo con el nombre roll, con forma de cilindro. Si el
robot alcanza este volumen, se detiene el movimiento.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 319


wztemporary
Tipo de dato

Limitaciones
Los datos wztemporary deben definirse como variables (VAR) o variables persistentes
(PERS). Pueden ser globales en la tarea o locales dentro del mdulo, pero no locales
dentro de una rutina.

Los argumentos de tipo wztemporary deben ser slo datos completos (ni elementos de
matriz ni componentes de registro).

Las zonas mundo temporales slo deben definirse (WZLimSup o WZDOSet) y liberarse
(WZFree) desde la tarea MAIN. Las definiciones de zonas mundo temporales en
segundo plano afectaran a la ejecucin del programa en la tarea MAIN. Las
instrucciones WZDisable y WZEnable pueden usarse en la tarea en segundo plano.
Cuando sea necesario utilizar una variable persistente en un sistema multitarea, cambie
el valor inicial a 0 en las dos tareas.
Por ejemplo: PERS wztemporary share_workarea := [0];

Ejemplo
Para ver un ejemplo completo, consulte la instruccin WZDOSet.

Estructura
<dataobject of wztemporary>
<wz of num>

Informacin relacionada
Descrito en:
Zonas mundo Principios de movimiento y E/S -
Zonas mundo
Forma de las zonas mundo Tipos de datos - shapedata
Zona mundo estacionaria Tipos de datos - wzstationary
Activacin de la supervisin de lmites de Instrucciones - WZLimSup
las zonas mundo
Activacin de salidas digitales basadas Instrucciones - WZDOSet
en zonas mundo
Desactivacin de zonas mundo Instrucciones - WZDisable
Activacin de zonas mundo Instrucciones - WZEnable
Eliminacin de zonas mundo Instrucciones - WZFree

320 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


zonedata
Tipo de dato

zonedata - Datos de zonas


Zonedata se utiliza para especificar cmo debe terminar una posicin, es decir, a qu
distancia de la posicin programada deben encontrarse los ejes antes de iniciar un
movimiento hasta la posicin siguiente.

Descripcin
Una posicin puede terminar en forma de un punto de paso o un punto de paro.

Un punto de paro significa que los ejes del robot y los ejes externos deben alcanzar la
posicin especificada (detenindose) antes de que la ejecucin del programa contine
en la instruccin siguiente. Tambin es posible definir puntos de paro distintos del tipo
predefinido fine. Los criterios de paro que indican si se considera que el robot ha
alcanzado el punto, pueden manipularse mediante stoppointdata.

El punto de paso significa que la posicin programada no llega a alcanzarse nunca.


En su lugar, la direccin del movimiento cambia antes de que se alcance la posicin.
Es posible definir dos zonas (rangos) diferentes para cada posicin:

- La zona para la trayectoria del TCP


- La zona extendida para la reorientacin de la herramienta y para los ejes
externos

La zona para Posicin


la trayectoria del TCP programada

Comienzo de la reorientacin
hacia la posicin siguiente
Inicio de la trayectoria de esquina del TCP
La zona extendida

Figura 21 Las zonas de un punto de paso.

Las zonas funcionan de la misma forma durante el movimiento de los ejes, pero el
tamao de la zona puede ser algo distinto del programado.

El tamao de la zona no puede ser mayor que la mitad de la distancia existente hasta
la posicin ms cercana (hacia delante o hacia atrs). Si se especifica una zona ms
grande, el robot la reduce automticamente.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 321


zonedata
Tipo de dato

La zona para la trayectoria del TCP


Se genera una trayectoria de esquina (parbola) tan pronto como se alcanza el
borde de la zona (consulte la Figura 21).

La zona de reorientacin de la herramienta


La reorientacin comienza tan pronto como el TCP alcanza la zona extendida. La
herramienta se reorienta de forma que la orientacin en el momento de salir de la
zona sea la misma que habra tenido en la misma posicin si se hubieran
programado puntos de paro. La reorientacin ser ms suave si se aumenta el
tamao de la zona. Adems, existe menos riesgo de tener que reducir la velocidad
para realizar la reorientacin.

Figura 22 Se programan tres posiciones, la ltima de ellas con una orientacin distinta
para la herramienta.

Figura 23 Si todas las posiciones fueran puntos de paro, la ejecucin del programa
tendra el aspecto siguiente.

Tamao de la zona
Figura 24 Si el punto intermedio fuera un punto de paso, la ejecucin del programa
tendra el aspecto siguiente.

La zona para los ejes externos


Los ejes externos comienzan a moverse hacia la prxima posicin tan pronto
como el TCP alcanza la zona extendida. De esta forma, un eje lento puede
empezar su aceleracin antes y funcionar de una forma ms uniforme.

Zona reducida
Con reorientaciones grandes de la herramienta o movimientos grandes de los ejes
externos, la zona extendida e incluso la zona del TCP pueden ser reducidas por
el robot. La zona se define como el tamao relativo ms pequeo de la zona,
basado en los componentes de la misma (consulte la pgina siguiente) y en el
movimiento programado.

322 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


zonedata
Tipo de dato

MoveL con movimientos de 200 mm 90 mm


de la herramienta, reorientacin de 25o pzone_ori 60 mm
de la herramienta con una zona z60 pzone_tcp
P1 P2
Los tamaos relativos de la zona son
pzone_tcp
________________________ = 60/200 = 30%
longitud del movimiento P1 - P2 9o
pzone_ori zone_ori
________________________ = 90/200 = 45%
longitud del movimiento P1 - P2
zone_ori
________________________
ngulo de la reorientacin P1 - P2 = 9o/25o = 36%

Figura 25 Ejemplo de zona reducida para la reorientacin de la herramienta al 36% del


movimiento previsto para zone_ori.

MoveL con movimientos de 200 mm 90 mm 60 mm


de la herramienta, reorientacin de 60o pzone_ori pzone_tcp 9o
de la herramienta con una zona z60 zone_ori

P1 P2

Los tamaos relativos de la zona son


pzone_tcp
________________________ = 60/200 = 30%
longitud del movimiento P1 - P2
zone_ori
________________________ = 9o/60o = 15%
ngulo de la reorientacin P1 - P2

Figura 26 Ejemplo de zona reducida para la reorientacin de la herramienta y la


trayectoria del TCP, al 15% del movimiento previsto para zone_ori.

Cuando los ejes externos estn activos, afectan a los tamaos relativos de la zona
acorde con las frmulas siguientes:

pzone_eax
________________________
longitud del movimiento P1 - P2

zone_leax
________________________
longitud del movimiento mx. lineal de ejes externos P1 - P2

zone_reax
________________________
ngulo de reorientacin mx. de eje externo de rotacin P1 - P2

NOTA: Si la zona del TCP se reduce a causa de zone_ori, zone_leax o zone_reax, el


planificador de trayectorias activa un modo que puede manejar el caso de que no se
produzca ningn movimiento del TCP. Si se ha producido un movimiento del TCP con
este modo activado, no se compensa la velocidad para la curvatura de la trayectoria en
una zona de esquina. Por ejemplo, esto provoca una reduccin de velocidad del 30%
en las esquinas de 90 grados. Si esto le supone un problema, aumente el componente
de la zona que est causando esta limitacin.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 323


zonedata
Tipo de dato

Componentes
finep (punto fino) Tipo de dato: bool

Define si el movimiento debe terminar como un punto de paro (punto fino) o


como punto de paso.

- TRUE -> El movimiento termina como un punto de paro.


Los dems componentes de los datos de la zona no se utilizan.
- FALSE -> El movimiento termina como un punto de paso.

pzone_tcp (zona de trayectoria, TCP) Tipo de dato: num

El tamao (el radio) de la zona del TCP en mm.

La zona extendida se define como el tamao relativo ms pequeo de la zona, basado


en los componentes siguientes y en el movimiento programado.

pzone_ori (zona de trayectoria, orientacin) Tipo de dato: num

El tamao de la zona (el radio) para la reorientacin de la herramienta. El tamao


se define como la distancia en mm del TCP respecto del punto programado.

El tamao debe ser mayor que el valor correspondiente de pzone_tcp.


Si se especifica un valor menor, el tamao aumenta automticamente para que
sea igual que el pzone_tcp.

pzone_eax (zona de trayectoria, ejes externos) Tipo de dato: num

El tamao de la zona (el radio) para los ejes externos. El tamao se define como
la distancia en mm del TCP respecto del punto programado.

El tamao debe ser mayor que el valor correspondiente de pzone_tcp.


Si se especifica un valor menor, el tamao aumenta automticamente para que
sea igual que el pzone_tcp.

zone_ori (zona, orientacin) Tipo de dato: num

El tamao de la zona para la reorientacin de la herramienta, en grados. Si el


robot est sosteniendo el objeto de trabajo, esto implica un ngulo de rotacin
para el objeto de trabajo.

zone_leax (zona, ejes externos lineales) Tipo de dato: num

El tamao de zona para los ejes externos lineales, en mm.

zone_reax (zona, ejes externos de rotacin) Tipo de dato: num

El tamao de zona para los ejes externos de rotacin, en grados.

324 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


zonedata
Tipo de dato

Ejemplos
VAR zonedata path := [ FALSE, 25, 40, 40, 10, 35, 5 ];

Se definen los datos de zona path con las caractersticas siguientes:

- El tamao de la zona para la trayectoria del TCP es de 25 mm.


- El tamao de la zona para la reorientacin de la herramienta es de 40 mm
(movimiento del TCP).
- El tamao de la zona para los ejes externos es de 40 mm (movimiento del TCP).

Si el TCP est detenido, se produce una gran reorientacin o existe un gran


movimiento de los ejes externos respecto de la zona, se aplica lo siguiente:

- El tamao de la zona para la reorientacin de la herramienta es de 10 grados.


- El tamao de la zona para los ejes externos lineales es de 35 mm.
- El tamao de la zona para los ejes externos de rotacin es de 5 grados.

path.pzone_tcp := 40;

Se ajusta el tamao de la zona para la trayectoria del TCP a 40 mm.

Datos predefinidos
Existen varios datos de zona ya definidos en el mdulo de sistema BASE.

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 325


zonedata
Tipo de dato

Puntos de paro

Nombre
fine 0 mm

Puntos de paso

Movimiento del TCP Reorientacin de la herramienta

Nombre Trayect. TCP Orient. Eje ext. Orient. Eje lineal Eje rotac.
z0 0,3 mm 0,3 mm 0,3 mm 0,03 o 0,3 mm 0,03 o
z1 1 mm 1 mm 1 mm 0,1 o 1 mm 0,1 o
z5 5 mm 8 mm 8 mm 0,8 o 8 mm 0,8 o
z10 10 mm 15 mm 15 mm 1,5 o 15 mm 1,5 o
z15 15 mm 23 mm 23 mm 2,3 o 23 mm 2,3 o
z20 20 mm 30 mm 30 mm 3,0 o 30 mm 3,0 o
z30 30 mm 45 mm 45 mm 4,5 o 45 mm 4,5 o
z40 40 mm 60 mm 60 mm 6,0 o 60 mm 6,0 o
z50 50 mm 75 mm 75 mm 7,5 o 75 mm 7,5 o
z60 60 mm 90 mm 90 mm 9,0 o 90 mm 9,0 o
z80 80 mm 120 mm 120 mm 12 o 120 mm 12 o
z100 100 mm 150 mm 150 mm 15 o 150 mm 15 o
z150 150 mm 225 mm 225 mm 23 o 225 mm 23 o
z200 200 mm 300 mm 300 mm 30 o 300 mm 30 o

Estructura
< data object of zonedata >
< finep of bool >
< pzone_tcp of num >
< pzone_ori of num >
< pzone_eax of num >
< zone_ori of num >
< zone_leax of num >
< zone_reax of num >

326 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


zonedata
Tipo de dato

Informacin relacionada
Descrito en:
Instrucciones de posicionamiento Resumen sobre RAPID - Movimiento
Movimiento y trayectorias en general Principios de movimiento y E/S -
Posicionamiento durante la ejecucin
del programa
Configuracin de los ejes externos Gua del usuario -
Parmetros del sistema
Otros puntos de paro Tipos de datos - stoppointdata

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 327


zonedata
Tipo de dato

328 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ndice alfabtico

A desplazamiento
direccin de la herramienta 143
Abs 1 desplazamiento de programa
ACos 3 eliminar de posicin 111
AOutput 5 desplazar
archivo posicin 105
descargar 63 Dim 61
leer 123, 129, 133, 139 dionum 209
arco coseno 3 DotProd 65, 101, 191
arco seno 7 DOutput 67
arco tangente 9, 11
ASin 7 E
ATan 9
ATan2 11 errdomain 211
ERRNO 293
B errnum 213, 297
errtype 219
base de coordenadas 57 EulerZYX 69
base de coordenadas de desplazamiento 53, 57 Exp 71
bool 195 extjoint 221
byte 197
F
C
fecha 27
C_MOTSET 293 fine 281
C_PROGDISP 293 fino 321
cadena de texto 289
canal serie G
leer 123, 129, 133, 139
carga til 229 GetNextSym 79
CDate 27 GetTime 83
CJointT 17, 29 GOutput 5, 85
ClkRead 31 grupo de E/S 5, 85
clock 199 H
leer 31
confdata 201 hora 43, 83
Cos 33
CPos 35 I
CRobT 21, 39
interrupcin
cronmetro 199
identidad 223
CTime 43
INTNO 293
CTool 45
intnum 223
cuaternio 256
iodev 193, 225
CWobj 47
IsPers 89
D IsSysId 91
IsVar 93
datos de sistema 293
DefDFrame 53 L
DefFrame 23, 57
leer

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 329


ngulos actuales de ejes 17, 29 PoseMult 115
archivo 123, 129, 133, 139 posicin del robot 249, 269
canal serie 123, 129, 133, 139 posicin espejo 97
clock 31 Pow 119
datos de la herramienta actual 45 Present 121
fecha actual 27 punto de parada 281
grupo de salidas 5, 85 punto de paro 321
hora actual 43, 83 punto de paso 281, 321
objeto de trabajo actual 47
posicin actual del robot 21, 39 R
salida digital 67 raz cuadrada 153
loaddata 229 ReadBin 123
loadsession 235 ReadMotor 127
M ReadNum 129
ReadStr 133, 139
manipulacin de bits 197 RelTool 11, 57, 107, 119, 143, 149
matriz RobOS 145
obtener el tamao 61 robtarget 249, 269
MaxRobSpeed 95 Round 147
MechUnitLoad 295 RunMode 149
mecunit 237
MirPos 97 S
modo de ejecucin salida digital 67
leer 149 SetDataSearch 79
modo de funcionamiento shapedata 273
leer 107 signalai 275
motsetdata 239 signalao 275
N signaldi 275
signaldo 275
num 245 signalgi 275
NumToStr 103 signalgo 275
Sin 151
O sistema de coordenadas de objeto 313
sistema de coordenadas del usuario 313
o_jointtarget 247
speeddata 277
objeto de trabajo 313
Sqrt 153
Offs 105
StrFind 155
offset 105
string 289
OpMode 107
StrLen 157
opnum 253
StrMap 159
orient 255
StrMatch 161
OrientZYX 109
StrMemb 163
ORobT 111
StrOrder 165
P StrPart 167
StrToByte 169
pos 261 StrToVal 173
pose 263 symnum 291
PoseInv 113

330 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z


ndice alfabtico

Tan 175
TestDI 181
TextTabFreeToUse 81
tooldata 299
tpnum 305
trapdata 309
trayectoria de esquina 281, 321
triggdata 307
Trunc 187
tunetype 311

unidad mecnica 237


UnLoad 63
V

valor absoluto 1
valor exponencial 13, 71, 119
valor lgico 195
valor numrico 245
ValToStr 189
velocidad 277

wobjdata 313
wzstationary 317
wztemporary 319

zonedata 281, 321

Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z 331


332 Manual de referencia de RAPID la parte 2, Funciones y tipos de datos A-Z
3HAC 7778-1, La revisin A -sp

a
ABB Automation Technology Products AB
Robotics
S-721 68 VSTERS
SWEDEN
Telephone: +46 (0) 21 344000
Telefax: +46 (0) 21 132592

Das könnte Ihnen auch gefallen