You are on page 1of 657

3HAC 5770-1 Para BaseWare OS 3.

Tipos e Sistema de Dados

DataTypes do Sistema e Rotinas

Instrues

Funes

ndice

As informaes contidas neste documento esto sujeitas a alteraes sem aviso prvio e no devero ser interpretadas como um compromisso da ABB Robotics AB. A ABB Robotics AB no assume qualquer responsabilidade por eventuais erros que possam surgir neste documento. Em nenum caso dever a ABB Robotics AB ser responsabilizada por danos casuais ou de consequncia que surjam a partir da utilizao deste documento, ou do software e hardware aqui descritos. Este documento ou parte dele no poder ser copiado ou reproduzido sem permisso, por escrito, da ABB Products AB e no poder ser cedido a uma terceira parte, nem ser utilizado para qualquer propsito no autorizado. A transgresso ser motivo de processo. Cpias adicionais deste documento podero ser obtidas a partir da ABB Robotics AB com seu pagamento vista.

ABB Robotics AB Nmero do artigo: 3HAC 5770-1 Emisso: Para BaseWare OS 3.2 ABB Robotics AB S-721 68 Vsters Sucia

Tipos de dados
CONTENTS

aiotrigg bool byte clock confdata dionum errnum extjoint intnum iodev jointtarget load data loadsession mecunit motsetdata num orient o_jointtarget o_robtarget pos pose progdisp robjoint robtarget shapedata signalxx speeddata string symnum taskid testsignal tooldata tpnum triggdata tunetype wobjdata

Condio de disparo de E/S analgica Valores lgicos Valores decimais 0 - 255 Medio de tempo Dados de configurao do rob Valores digitais 0 - 1 Numerao de erros Posio dos eixos externos Identificao de interrupo Canais seriais e arquivos Dado de posio do eixo Dado de carga Sesso de carregamento do programa Unidade Mecnica Dados de ajustes de movimento Valores numricos (registradores) Orientao Dados de posio de eixo original Dado da posio original Posies (somente X, Y e Z) Transformaes de coordenadas Deslocamento do programa Posio joint dos eixos do rob Dado de posio Dados da forma da zona global Sinais digitais e analgicos Dado de velocidade Strings Nmero simblico Identificao de tarefa Sinal de teste Dados da ferramenta Nmero da janela da Unidade de programao Eventos de posicionamento - trigg Servo tune type Dado do objeto de trabalho

Data Types do Sistema e Rotinas

1-1

Tipos de dados

wzstationary wztemporary zonedata

Dados da zona global estacionria Dados da zona global temporria Dados de zona

1-2

Data Types do Sistema e Rotinas

Tipos de dados

aiotrigg

aiotriggCondio de disparo de E/S analgica


aiotrigg (Disparo de E/S analgica) usado para definir a condio na qual gerar uma interrupo para um sinal de entrada ou sada analgico.

Descrio
Os dados do tipo aiotrigg definem a maneira como um limiar baixo e um limiar alto sero usados para determinar se o valor lgico de um sinal analgico satisfaz uma condio para gerar uma interrupo.

Exemplo
VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalAI \Single, ai1, AIO_BETWEEN, 1.5, 0.5, 0, sig1int; Determina que uma interrupo ocorra na primeira vez que o valor lgico do sinal de entrada analgica ai1 estiver entre 0,5 e 1,5. Em seguida, feita uma chamada rotina de interceptao iroutine1.

Dados predefinidos
As seguintes constantes simblicas do tipo de dados aiotrigg so predefinidas, podendo ser usadas ao especificar uma condio para as instrues ISignalAI e ISignalAO.

Valor 1

Constante simblica AIO_ABOVE_HIGH

Comentrio O sinal ir gerar interrupes caso esteja acima do valor alto especificado O sinal ir gerar interrupes caso esteja abaixo do valor alto especificado O sinal ir gerar interrupes caso esteja acima do valor baixo especificado O sinal ir gerar interrupes caso esteja abaixo do valor baixo especificado O sinal ir gerar interrupes caso esteja entre os valores baixo e alto especificados O sinal ir gerar interrupes caso esteja abaixo do valor baixo especificado ou acima do valor alto especificado O sinal ir sempre gerar interrupes

AIO_BELOW_HIGH

AIO_ABOVE_LOW

AIO_BELOW_LOW

AIO_BETWEEN

AIO_OUTSIDE

AIO_ALWAYS

Data Types do Sistema e Rotinas

1-aiotrigg-3

aiotrigg

Tipos de dados

Caractersticas
aiotrigg um tipo de dados pseudnimo de num e, conseqentemente, herda suas caractersticas.

Informaes relacionadas
Descrito em: Interrupo de um sinal de entrada analgico Instrues - ISignalAI Interrupo de um sinal de sada analgico Tipos de dados em geral, tipos de dados pseudnimos Instrues - ISignalAO Caractersticas bsicas Tipos de dados

1-aiotrigg-4

Data Types do Sistema e Rotinas

Tipos de dados

bool

bool

Valores lgicos
Bool usado para valores lgicos (true/false).

Descrio
O valor do dado tipo booleano pode ser tanto TRUE quanto FALSE.

Exemplos
flag1 := TRUE; flag associado ao valor TRUE. VAR bool highvalue; VAR num reg1; . highvalue := reg1 > 100; highvalue associado ao valor TRUE se reg1 for maior que 100; seno, FALSE ser associado. IF highvalue Set do1; O sinal do1 setado se highvalue TRUE. highvalue := reg1 > 100; mediumvalue := reg1 > 20 AND NOT highvalue; mediumvalue associado ao valor TRUE se reg1 est entre 20 e 100.

Informao relacionada
Descrito em: Expresses lgicas Operaes usando valores lgicos Caractersticas Bsicas - Expresses Caractersticas Bsicas - Expresses

Data Types do Sistema e Rotinas

1-bool-5

bool

Tipos de dados

1-bool-6

Data Types do Sistema e Rotinas

Tipos de dados

byte

byte

Valores decimais 0 - 255


Byte usado para valores decimais (0 - 255) conforme a faixa de um byte. Este tipo de dado usado em conjunto com instrues e funes que manuseiam as manipulaes de bits e convertem caractersticas.

Descrio
Os dados de tipo byte representam um valor de byte decimal.

Exemplos
CONST num parity_bit := 8; VAR byte data1 := 130; Definio de uma varivel data1 com um valor decimal 130. BitClear data1, parity_bit; Nmero de bit 8 (parity_bit) na varivel data1 ser fixado em 0, ex. o contedo da varivel data1 ser trocado de 130 para 2 (representao decimal).

Manuseio de erro
Se um argumento do tipo byte tiver um valor que no esteja na faixa entre 0 e 255, replicado um erro no programa de execuo.

Caractersticas
Byte um tipo de dado pseudnimo para num, que herda as suas caractersticas.

Informaes relacionadas
Descritas em: Tipos de dados pseudnimo Funes bit Caractersticas Bsicas- Tipos de Dados Sumrio RAPID - Funes Bit

Data Types do Sistema e Rotinas

1-byte-7

byte

Tipos de dados

1-byte-8

Data Types do Sistema e Rotinas

Tipos de dados

clock

clock

Medio de tempo
Clock usado para medio de tempo. Um clock funciona como um relgio usado para cronometrar.

Descrio
Dado do tipo clock armazena uma medio de tempo em segundos e tem uma resoluo de 0.01 segundos.

Exemplo
VAR clock clock1; ClkReset clock1; O clock, clock1, declarado e resetado. Antes de usar ClkReset, ClkStart, ClkStop e ClkRead, voc deve declarar uma varivel do tipo clock no seu programa.

Limitaes
O tempo mximo que pode ser armazenado em uma varivel clock aproximadamente 49 dias (4,294,967 segundos). As instrues ClkStart, ClkStop e ClkRead registram overflows em um evento que possa ocorrer. Um clock deve ser declarado como uma varivel tipo VAR, e no como uma varivel tipo persistente.

Caractersticas
Clock um tipo de dado non-value e no pode ser usado em operaes de valores orientados.

Informao relacionada
Descrito em: Sumrio do Tempo e Instrues de Dado Caractersticas de tipos de dados non-value Sumrio RAPID - Sistema & Tempo Caractersticas Bsicas - Tipos de dados (Data types)

Data Types do Sistema e Rotinas

1-clock-9

clock

Tipos de dados

1-clock-10

Data Types do Sistema e Rotinas

Tipos de dados

confdata

confdata

Dados de configurao do rob

Confdata usado para definir configuraes dos eixos do rob.

Descrio
Todas posies do rob so definidas e armazenadas usando coordenadas retangulares. Enquanto calcula as posies correspondentes dos eixos, normalmente existiro duas ou mais solues possveis. Isto significa que o rob est apto a executar a mesma posio, isto , a ferramenta est na mesma posio e com a mesma orientao, em diferentes posies ou configuraes dos eixos do rob. Alguns tipos de rob usam mtodos numricos iterativos para determinar as posies dos eixos do rob. Nesses casos, os parmetros de configurao podem ser usados para definir bons valores iniciais para as junes, para serem usados pelo procedimento iterativo. Para uma indicao no ambgua dessas possveis configuraes, a configurao do rob especificada usando quatro valores de eixos. Para um eixo rotativo, esses valores definem o quadrante atual do eixo do rob. Os quadrantes so numerados 0, 1, 2, etc. (eles tambm podem ser negativos). O nmero do quadrante conectado ao ngulo atual dos eixos. Para cada eixo, quadrante 0 a revoluo do primeiro quarto, 0-90, em uma direo positiva da posio zero; quadrante 1 a prxima revoluo, 90-180, etc. Quadrante -1 a revoluo 0 - (-90), etc. (veja Figura 1).

-4

-1

-3

-2

Figura 1 Os quadrantes de configurao do eixo 6.

Para um eixo linear, o valor define um intervalo mtrico para o eixo do rob. Para cada eixo, o valor 0 significa uma posio entre 0 e 1 metro, 1 significa uma posio entre 1 e 2 metros. Para valores negativos, -1 significa uma posio entre -1 e 0 metro, etc. (veja a Figura 2).

Manual de Referncia Rpida

7-confdata-11

confdata

Tipos de dados

-3

-2

-1

3 x (m)

-3

-2

-1

Valor de configurao

Figura 2 Valores de configurao para um eixo linear

Dados de configurao do rob para IRB540, 640


usado somente o parmetro de configurao cf6.

Dados de configurao do rob para IRB1400, 2400, 3400, 4400, 6400


So usados somente os trs parmetros de configurao cf1, cf4 e cf6.

Dados de configurao do rob para IRB5400


So usados todos os quatro parametros de configurao. cf1, cf4, cf6 para os eixos 1, 4 e 6 respectivamente e cfx para o eixo 5.

Dados de configurao do rob para 6400C


O IRB 6400 requer uma forma ligeiramente diferente para designar sem ambiguidade a configurao de um rob. A diferena est na interpretao do confdata cf1. cf1 usado para selecionar uma das duas configuraes possveis dos eixos principais (eixos 1, 2 e 3): - cf1 = 0 a configurao para a frente - cf1 = 1 a configurao para trs. A Figura 3 mostra um exemplo de uma configurao para a frente e de uma configurao para trs dando a mesma posio e orientao.

7-confdata-12

Manual de Referncia Rpida

Tipos de dados

confdata

PARA A FRENTE, cf1 = 0

PARA TRS, cf1 = 1.

Figura 3 A mesma posio e orientao com duas configuraes de eixos principais diferentes.

A configurao para a frente a parte frontal da rea de trabalho do rob com o brao apontado para a frente. A configurao para trs a pea de servio da rea de trabalho com o brao apontado para trs.

Dados de configurao do rob para IRB5404, 5406


Os robs possuem dois eixos de rotao (braos 1 e 2) e um eixo linear (brao 3). cf1 usado para o eixo rotativo 1 cfx usado para o eixo rotativo 2 cf4 e cf6 no so usados

Dados de configurao do rob para IRB5413, 5414, 5423


Os robs possuem dois eixos lineares (braos 1 e 2) e um ou dois eixos rotativos (braos 4 e 5) (Brao 3 travado) cf1 usado para o eixo linear 1 cfx usado para o eixo linear 2 cf4 usado para o eixo rotativo 4 cf6 no usado

Manual de Referncia Rpida

7-confdata-13

confdata

Tipos de dados

Dados de configurao do rob para IRB840


O rob possui trs eixos lineares (braos 1, 2 e 3) e um eixo rotativo (brao 4) cf1 usado para o eixo linear 1 cfx usado para o eixo linear 2 cf4 usado para o eixo rotativo 4 cf6 no usado Devido estrutura basicamente linear do rob, a definio correta dos parmetros de configurao c1, cx de pouca importncia.

Componentes
cf1 Eixo rotativo: O quadrante atual do eixo 1, expresso como valor positivo ou negativo. Eixo linear: O intervalo mtrico atual do eixo 1, expresso como valor positivo ou negativo. cf4 Eixo rotativo: O quadrante atual do eixo 4, expresso como valor positivo ou negativo. Eixo linear: O intervalo mtrico atual do eixo 4, expresso como valor positivo ou negativo. cf6 Eixo rotativo: O quadrante atual do eixo 6, expresso como valor positivo ou negativo. Eixo linear: O intervalo mtrico atual do eixo 6, expresso como valor positivo ou negativo. cfx Eixo rotativo: Tipo de dado: num Tipo de dado: num Tipo de dado: num Tipo de dado: num

7-confdata-14

Manual de Referncia Rpida

Tipos de dados

confdata

O quadrante atual do eixo 5 para o rob IRB5400, expresso como valor positivo ou negativo. Para outros robs, usando o quadrante atual do eixo 2, expresso como valor positivo ou negativo. Eixo linear: O intervalo mtrico atual do eixo 2, expresso como valor positivo ou negativo.

Exemplo
VAR confdata conf15 := [1, -1, 0, 0] Uma configurao do rob conf15 definida como abaixo: - A configurao do eixo 1 o quadrante 1, por exemplo, 90-180o. - A configurao do eixo 4 o quadrante -1, por exemplo, 0-(-90o). - A configurao do eixo 6 o quadrante 0, por exemplo, 0 - 90o. - A configurao do eixo 5 o quadrante 0, por exemplo, 0 - 90o

Estrutura
< dataobject of confdata > < cf1 of num > < cf4 of num > < cf6 of num > < cfx of num >

Informao relacionada
Descrito em: Sistemas de coordenadas Tratamento de dados de configurao Movimento e Princpios de E/S - Sistemas de Coordenadas Movimento e Princpios de E/S - Configurao do Rob

Manual de Referncia Rpida

7-confdata-15

confdata

Tipos de dados

7-confdata-16

Manual de Referncia Rpida

Tipos de dados

dionum

dionum

Valores digitais 0 - 1

Dionum (digital input output numeric) usado para valores digitais (0 ou 1). Este tipo de dado usado em conjunto com instrues e funes que tratem de sinais de entradas ou sadas digitais.

Descrio
Dado do tipo dionum representa um valor digital 0 ou 1.

Exemplos
CONST dionum close := 1; Definio de uma constante close com valor igual a 1. SetDO grip1, close; O sinal grip1 setado para close, isto , 1.

Tratamento de erros
Se um argumento do tipo dionum tiver um valor que no seja 0 ou 1, um erro ser indicado na execuo do programa.

Caractersticas
Dionum suposto um tipo de dado num e conseqentemente tem suas caractersticas.

Informao relacionada
Descrito em: Sumrio de instrues entrada/sada Configurao de E/S Tipos de dados suposto Sumrio RAPID Sinais de Entrada e Sada Guia do Usurio Paramtros do Sistema Caractersticas Bsicas - Tipos de dados

Data Types do Sistema e Rotinas

1-dionum-17

dionum

Tipos de dados

1-dionum-18

Data Types do Sistema e Rotinas

Tipos de dados

errnum

errnum

Numerao de erros

Errnum usado para descrever todos os erros recuperveis (no fatais) que ocorram durante a execuo do programa, como uma diviso por zero.

Descrio
Se o rob detecta um erro durante a execuo do programa, este pode ser processado por um tratamento de erros da rotina. Exemplos de erros so valores muito altos divididos por zero. A varivel do sistema ERRNO, de tipo errnum, associada a diferentes valores dependendo da natureza do erro. O tratamento de erros talvez esteja apto a corrigir um erro lendo esta varivel e ento a execuo do programa pode continuar de maneira correta. Um erro pode tambm ser criado no programa usando a instruo RAISE. Este tipo de erro particular pode ser detetado no tratamento de erros especificando um nmero de erro (entre 1 e 90 ou escolhido com a instruo BookErrNo) como um argumento de RAISE.

Exemplos
reg1 := reg2 / reg3; . ERROR IF ERRNO = ERR_DIVZERO THEN reg3 := 1; RETRY; ENDIF Se reg3 = 0, o rob detecta um erro quando for fazer a diviso. Este erro, entretanto, pode ser detectado e corrigido associando reg3 ao valor 1. Seguindo isto, a diviso pode ser executada novamente e a execuo do programa pode continuar. CONST errnum machine_error := 1; . IF di1=0 RAISE machine_error; . ERROR IF ERRNO=machine_error RAISE; Um erro ocorre em uma mquina (detectado pelo significado do sinal de entrada di1). Um salto dado para o tratamento de erros na rotina, a qual chama o tratamento de erros de uma rotina de chamada onde o erro talvez possa ser corrigido. A constante, machine_error, usada para fazer com que o tratamento de erros saiba exatamente qual tipo de erro tenha ocorrido.

Data Types do Sistema e Rotinas

1-errnum-19

errnum

Tipos de dados

Dados pr-definidos
A varivel do sistema ERRNO pode ser usada para ler a ltima mensagem de erro que ocorreu. Um nmero de constantes pr-definidas pode ser usado para determinar o tipo de erro que tenha ocorrido. Nome ERR_ALRDYCNT ERR_ARGDUPCND ERR_ARGNAME ERR_ARGNOTPER ERR_ARGNOTVAR ERR_AXIS_ACT ERR_AXIS_IND ERR_AXIS_MOVING ERR_AXIS_PAR ERR_CALLIO_INTER ERR_CALLPROC ERR_CNTNOTVAR ERR_CNV_NOT_ACT ERR_CNV_CONNECT ERR_CNV_DROPPED ERR_DEV_MAXTIME ERR_DIVZERO ERR_EXCRTYMAX ERR_EXECPHR ERR_FILEACC ERR_FILEOPEN ERR_FILNOTFND ERR_FNCNORET ERR_FRAME ERR_ILLDIM ERR_ILLQUAT ERR_ILLRAISE Causa do erro A varivel de interrupo j est ligada rotina TRAP Mais que um argumento condicional presente para o mesmo parmetro O argumento uma expresso, no presente ou do tipo interruptor quando executando ArgName O argumento no uma referncia persistente O argumento no uma referncia varivel O eixo no est ativo O eixo no est independente O eixo est em movimento O eixo do parmetro na instruo TesSign eSetCurrRef est errado. Se um pedido IOEnable ou IODisable interrompido por outro pedido mesma unidade Erro de chamado de procedimento (noprocedimento) no tempo de execuo (ligao tardia) CONNECT target no uma referncia varivel O portador no est ativado. A instruo WaitWobj j est ativa. O objeto que a instruo WaitWobj estava aguardando foi largado. Limite de tempo quando executando instrues ReadBin, ReadNum ou ReadStr Diviso por zero Nmero mximo de tentativas executadas Uma tentativa foi feita para executar uma instruo usando um placeholder Um arquivo acessado incorretamente Um arquivo no pode ser aberto Arquivo no encontrado Valor sem retorno Impossvel calcular novo frame Dimenso incorreta Tentativa de usar orientao ilegal (quaternion) Nmero de erro no RAISE fora da rea

1-errnum-20

Data Types do Sistema e Rotinas

Tipos de dados
ERR_INOMAX ERR_IODISABLE ERR_IOENABLE ERR_IOERROR ERR_LOADED ERR_LOADID_FATAL ERR_LOADID_RETRY ERR_MAXINTVAL ERR_MODULE ERR_NAME_INVALID ERR_NEGARG ERR_NOTARR ERR_NOTEQDIM ERR_NOTINTVAL ERR_NOTPRES ERR_OUTOFBND ERR_PATH ERR_PATHDIST ERR_PID_MOVESTOP ERR_PID_RAISE_PP ERR_RANYBIN_EOF ERR_RCVDATA ERR_REFUNKDAT ERR_REFUNKFUN ERR_REFUNKPRC

errnum
No existem mais nmeros de interrupo disponveis Limite de tempo quando executando IODisable Limite de tempo quando executando IOEnable Erro de E/S da instruo Save O mdulo do programa j est carregado Somente uso interno em LoadId Somente uso interno em LoadId O valor inteiro muito grande Nome de mdulo incorreto na instruo Save Se o nome da unidade no existe ou a unidade no tem permisso para ser desativada Argumento negativo no permitido Dado no um caracter A dimenso do caracter usada ao chamar a rotina no coincide com seus parmetros No um valor inteiro Um parmetro usado, apesar do fato que o argumento correspondente no foi usado na rotina de chamado O ndice do caracter est fora dos limites permitidos Caminho de destino ausente na instruo Save Distncia de recuperao muito longa para a instruo StartMove Somente uso interno em LoadId Erro a partir de ParIdRobValid ou ParIdPosValid Fim de arquivo detectado antes de todos os bytes serem lidos na instruo ReadAnyBin Foi feita uma tentativa para ler um dado no numrico com ReadNum Referncia a dados inteiros desconhecidos Referncia a uma funo desconhecida Referncia a um procedimento desconhecido no tempo de ligao ou no tempo de execuo (ligao tardia) Referncia a um desvio desconhecido Erro durante comunicao com computador externo O sinal j um valor positivo no incio do processo de busca Parmetro Step em SetCurrRef est errado O string muito longo Erro de acesso do smbolo de leitura/escrita Uma instruo TPRead foi interrompida por uma entrada digital Limite de tempo quando executando uma instruo TPRead

ERR_REFUNKTRP ERR_SC_WRITE ERR_SIGSUPSEARCH ERR_STEP_PAR ERR_STRTOOLNG ERR_SYM_ACCESS ERR_TP_DIBREAK ERR_TP_MAXTIME

Data Types do Sistema e Rotinas

1-errnum-21

errnum
ERR_UNIT_PAR ERR_UNKINO ERR_UNKPROC ERR_UNLOAD ERR_WAIT_MAXTIME ERR_WHLSEARCH

Tipos de dados
Unidade de parmetro Mech_ em TestSign e SetCurrRef est errado Desconhecido nmero de interrupo Referncia incorreta sesso de carregamento na instruo WaitLoad Erro de descarga na instruo UnLoad ou WaitLoad Limite de tempo quando executando uma instruo WaitDI ou WaitUntil Sem parada de busca

Caractersticas
Errnum um tipo de dado suposto num e consequentemente tem as suas caractersticas.

Informao relacionada
Descrito em: Recuperao de erros Sumrio RAPID - Recuperao de Erros Caractersticas Bsicas - Recuperao de Erros Caractersticas Bsicas - Tipos de dados

Tipos de dados em geral, supostos

1-errnum-22

Data Types do Sistema e Rotinas

Tipos de dados

extjoint

extjoint

Posio dos eixos externos

Extjoint usado para definir as posies de eixo dos eixos externos, posicionadores ou peas de trabalho dos robs.

Descrio
O rob pode controlar at seis eixos externos em adio aos seis eixos internos, isto um total de doze eixos. Os seis eixos externos so nomeados logicamente: a, b, c, d, e, f. Cada eixo lgico pode ser conectado a um eixo fsico e, neste caso, a conexo definida nos parmetros do sistema. Dado do tipo extjoint usado para manter valores de posio de cada eixo lgico a - f. Para cada eixo lgico conectado um eixo fsico, a posio definida como abaixo: - Para eixo rotacional a posio definida como a rotao em graus em relao posio de calibrao. - Para eixo linear A posio definida como a distncia em mm em relao posio de calibrao. Se um eixo lgico no conectado a um fsico, o valor 9E9 usado como um valor positivo, indicando que o eixo no est conectado. Durante o tempo de execuo, o dado de posio para cada eixo verificado e este verificado se o eixo correspondente est conectado ou no. Se o valor da posio armazenada no condiz com a conexo atual do eixo, aplica-se o seguinte: - Se a posio no est definida no dado de posio (valor 9E9), o valor ser ignorado se o eixo est conectado e no ativado. Mas se o eixo est ativado, isto ir resultar em um erro. - Se a posio est definida no dado de posio, embora o eixo no esteja conectado, o valor ser ignorado. Se um offset de um eixo externo usado (instruo EOffsOn ou EOffsSet), as posies so especificadas no sistema de coordenadas ExtOffs.

Componentes
eax_a (eixo externo a) Tipo de dado: num

A posio do eixo externo lgico a, expresso em graus ou mm (dependendo do tipo de eixo). eax_b (eixo externo b) Tipo de dado: num

A posio do eixo externo lgico b, expresso em graus ou mm (dependendo do tipo de eixo). Data Types do Sistema e Rotinas 1-extjoint-23

extjoint
... eax_f (eixo externo f)

Tipos de dados

Tipo de dado: num

A posio do eixo externo lgico f, expresso em graus ou mm (dependendo do tipo de eixo).

Exemplo
VAR extjoint axpos10 := [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ; A posio do posicionador externo, axpos10, definida como abaixo: - A posio do eixo externo lgico a setada para 11, expresso em graus ou mm (dependendo do tipo de eixo). - A posio do eixo externo lgico b setada para 12.3, expresso em graus ou mm (dependendo do tipo de eixo). - Eixos c ao f no so definidos.

Estrutura
< 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 >

Informao relacionada
Descrito em: Dados de posicionamento Sistema de coordenadas ExtOffs Tipo de dados - robtarget Instrues - EOffsOn

1-extjoint-24

Data Types do Sistema e Rotinas

Tipos de dados

intnum

intnum

Identificao de interrupo
Intnum (interrupt numeric) usado para identificar uma interrupo.

Descrio
Quando uma varivel do tipo intnum conectada uma rotina trap, para ela dada um valor especfico identificando a interrupo. Esta varivel ento usada em todas as partes com a interrupo, como quando ordenando ou desabilitando uma interrupo. Mais de uma identificao de interrupo podem ser conectadas mesma rotina trap. A varivel do sistema INTNO pode tambm ser associada uma rotina trap para determinar o tipo de interrupo que ocorre.

Exemplos
VAR intnum feeder_error; . CONNECT feeder_error WITH correct_feeder; ISignalDI di1, 1, feeder_error; Uma interrupo gerada quando a entrada di1 setada para 1. Quando isto acontece, um chamado feito para a rotina trap correct_feeder.

Data Types do Sistema e Rotinas

1-intnum-25

intnum
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

Tipos de dados

Uma interrupo gerada quando tanto a entrada di1 ou di2 setada 1. Um chamado ento feito para a rotina trap correct_feeder. A varivel do sistema INTNO usada na rotina trap para encontrar qual o tipo de interrupo que tenha ocorrido.

Limitaes
O nmero mximo de variveis ativas do tipo intnum sempre (entre CONNECT e IDelete) limitado a 40. O nmero mximo de interrupes, na fila de execuo da rotina TRAP sempre limitado a 30.

Caractersticas
Intnum um tipo de dado suposto num e ento tem suas caractersticas.

Informao relacionada
Descrito em: Sumrio de interrupes Tipos de dados, supostos Sumrio RAPID - Interrupes Caractersticas BsicasTipos de dados

1-intnum-26

Data Types do Sistema e Rotinas

Tipos de dados

iodev

iodev

Canais seriais e arquivos


Iodev (I/O device) usado para canais seriais, como uma impressora e arquivos.

Descrio
Dado do tipo iodev contm uma referncia para um arquivo ou canal serial. Isto pode ser ligado a uma unidade fsica atravs da instruo Open e ento usado para leitura ou escrita.

Exemplo
VAR iodev file; . Open "flp1:LOGDIR/INFILE.DOC", file\Read; input := ReadNum(file); O arquivo INFILE.DOC aberto para leitura. Enquanto recebemos leitura do arquivo, file usado como uma referncia em vez do nome do arquivo.

Caractersticas
Iodev um tipo de dado non-value.

Informao relacionada
Descrito em: Comunicao via canais seriais Configurao de canais seriais Caractersticas dos tipos de dado non-value Sumrio RAPID - Comunicao Guia do Usurio - Parmetros do Sistema Caractersticas Bsicas - Tipos de dados

Data Types do Sistema e Rotinas

1-iodev-27

iodev

Tipos de dados

1-iodev-28

Data Types do Sistema e Rotinas

Tipos de dados

jointtarget

jointtarget

Dado de posio do eixo

Jointtarget usado para definir a posio que o rob e os eixos externos iro se mover com a instruo MoveAbsJ.

Descrio
Jointtarget define cada posio individual dos eixos, tanto para o rob, como para os eixos externos.

Componentes
robax (eixos do rob) Tipo de dado: robjoint

Posio de eixo dos eixos do rob em graus. Posio de eixo definida como uma rotao em graus dos eixos respectivos (brao) em uma direo positiva ou negativa da posio de calibrao dos eixos. extax (eixos externos) A posio dos eixos externos. A posio definida como abaixo para cada eixo individual (eax_a, eax_b ... eax_f): - Para eixo rotacional, a posio definida como a rotao em graus em relao a posio de calibrao. - Para eixo linear, a posio definida como a distncia em mm em relao a posio de calibrao. Eixos externos eax_a ... so eixos lgicos. Como o nmero de eixo lgico e o nmero de eixo fsico esto relacionados, estes so definidos nos parmetros do sistema. O valor 9E9 definido para eixos que no esto conectados. Se o eixo definido no dado de posio difere do eixo ao qual est conectado na execuo do programa, aplica-se o seguinte: - Se a posio no est definida no dado de posio (valor 9E9) o valor ser ignorado, se o eixo est conectado e no ativado. Mas se o eixo estiver ativo ir resultar em erro. - Se a posio est definida no dado de posio ainda que o eixo no esteja conectado, o valor ignorado. Tipo de dado: extjoint

Data Types do Sistema e Rotinas

1-jointtarget-29

jointtarget

Tipos de dados

Exemplos
CONST jointtarget calib_pos := [ [ 0, 0, 0, 0, 0, 0], [ 0, 9E9, 9E9, 9E9, 9E9, 9E9] ]; A posio de calibrao normal para IRB2400 definida no calib_pos atravs do dado tipo jointtarget. A posio normal de calibrao 0 (graus ou mm) tambm definida para o eixo externo lgico a. Os eixos externos b ao f no esto definidos.

Estrutura
< 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 >

Informao relacionada
Descrito em: Mover para posio de eixo Instrues de posicionamento Configurao de eixos externos Instrues - MoveAbsJ Sumrio RAPID - Movimento Guia do Usurio - Parmetros do Sistema

1-jointtarget-30

Data Types do Sistema e Rotinas

Tipos de dados

loaddata

load data Dado de carga


Loaddata usado para descrever cargas acopladas interface mecnica do rob (montada no flange do rob). Dado de carga normalmente define a carga sustentada (gripload definida pela instruo Grip Load) pelo rob, isto , a carga presa a garra do rob. A carga da ferramenta especificada no dado de ferramenta (tooldata) o qual inclue o dado de carga.

Descrio
Cargas especificadas so usadas para definir um modelo de dinmica do rob para que os movimentos possam ser controlados da melhor maneira possvel. muito importante definir sempre a carga real da ferramenta e a carga sustentada do rob, quando utilizado. Definies incorretas de dados de carga podem resultar em sobrecarga da estrutura mecnica do rob. Se um dado de carga incorreto especificado, isto frequentemente tem as seguintes consequncias: - Se o dado de carga especificado maior que o valor real da carga; -> O rob no utilizar sua capacidade mxima -> Diminuio da preciso de trajeto incluindo riscos de overshooting. - Se o dado de carga especificado menor que o valor real da carga; -> Diminuio da preciso de trajeto incluindo riscos de overshooting -> Risco de sobrecarga da estrutura mecnica A carga sustentada conectada e desconectada usando a instruo GripLoad.

Componentes
mass O peso da carga em kg. cog (centro de gravidade) Tipo de dado: pos Tipo de dado: num

O centro de gravidade da carga til (x, y, z) em mm, expressa no sistema de coordenadas da ferramenta. Se uma ferramenta estacionria usada, significa o centro de gravidade da ferramenta segurando o objeto de trabalho.

Data Types do Sistema e Rotinas

1-loaddata-31

loaddata
aom (momento dos eixos)

Tipos de dados
Tipo de dado: orient

Carga da ferramenta (consulte a figura 1) A orientao do sistema de coordenadas definida pelos eixos de inrcia da carga til. Expressa no sistema de coordenadas da ferramenta como um quatrnion (q1, q2, q3, q4). Se uma ferramenta estacionria usada, significa os eixos de inrcia para a ferramenta segurando o objeto de trabalho. A orientao do sistema de coordenadas da carga da ferramenta precisa coincidir com a orientao do sistema de coordenadas do punho. Ela deve ser sempre definida como 1, 0, 0, 0. Carga til (consulte as figuras 1 e 2) A orientao do sistema de coordenadas definido pelos eixos de inrcia da carga til. Expressa no sistema de coordenadas da ferramenta como um quatrnion (q1, q2, q3, q4). O sistema de coordenadas do objeto se uma ferramenta estacionria for usada. A orientao do sistema de coordenadas da carga til precisa coincidir com a orientao do sistema de coordenadas do punho. Ela deve ser sempre definida como 1, 0, 0, 0. Devido a essa limitao, a melhor maneira definir a orientao do sistema de coordenadas da ferramenta (estrutura da ferramenta) para coincidir com o sistema de coordenadas do punho.

Sistema de coordenadas de punho Y Z IY Sist. de coordenadas de carga da ferramenta Eixos de inrcia de carga da ferramenta IZ Y Z X IX TCP X IY IZ Sist. coordenadas carga tilEixos de inrcia carga til IX
Figura 4 Restrio na orientao no sistema de coordenadas de carga da ferramenta e carga til.

Sist. de coordenadas da ferramenta

1-loaddata-32

Data Types do Sistema e Rotinas

Tipos de dados

loaddata

Sistema de coordenadas de punho Y Z Y Y X Garra Sist.de coordenadas de ferramenta Z Sistema de coordenadas Z de carga sustentada Eixos de inrcia de carga sustentada Carga sustentada X Centro de gravidade carga sustentada

Figura 5 Centro de gravidade e eixos de inrcia da carga sustentada. ix (inrcia x) Tipo de dados: num

O momento de inrcia da carga perto de seu eixo-x relativo ao seu centro de massa, em kgm2. A definio correcta dos momentos de inrcia permitir o uso timo do planejador de trajeto e controle de eixos. Isto pode ser de especial importncia quando se tratar de grandes folhas de metal, etc. Todos os momentos de inrcia ix, iy e iz iguais a 0 kgm2 implicam um ponto. Geralmente, os momentos de inrcia somente devero ser definidos quando a distncia da flange de montagem ao centro de gravidade menor do que a dimenso da carga (ver Figura 6).

carga til distncia x dimenso

Figura 6 O momento de inrica deve ser geralmente definido quando a distncia menor do que a dimenso de carga.

iy

(inrcia y)

Tipo de dados: num

O momento de inrcia da carga perto de seu eixo-y, expressa em kgm2.

Data Types do Sistema e Rotinas

1-loaddata-33

loaddata
Para mais informaes, veja ix. iz (inrcia z)

Tipos de dados

Tipo de dados: num

O momento de inrcia da carga perto de seu eixo-z, expressa em kgm2. Para mais informaes, veja ix.

Exemplos
PERS loaddata piece1 := [ 5, [50, 0, 50], [1, 0, 0, 0], 0, 0, 0]; A carga sustentada na Figura 1 descrita usando os valores seguintes: - Peso 5 kg. - O centro de gravidade x = 50, y = 0 e z = 50 mm no sistema de coordenadas de ferramenta. - A carga sustentada uma carga em um ponto. Set gripper; WaitTime 0.3; GripLoad piece1; Conexo da carga sustentada, piece1, especificada ao mesmo tempo como a garra do rob e a carga da piece1. Reset gripper; WaitTime 0.3; GripLoad load0; Desconexo de uma carga sustentada, especificada ao mesmo tempo como a liberao do rob da carga sustentada.

Limitaes
A carga sustentada deve somente ser definida como uma varivel persistente (PERS) e no em uma rotina. Valores atuais so ento salvos quando armazenar o programa no disquete e recuperados quando carregar o programa. Argumentos de dado tipo carga na instruo GripLoad deve somente ser uma persistente inteira (no elemento de caracter ou componente de registro).

Dado pr-definido
A carga load0 define uma carga sustentada, cujo peso igual a 0 kg, isto , sem carga. Esta carga usada como um argumento na instruo GripLoad para desconectar uma carga sustentada.

1-loaddata-34

Data Types do Sistema e Rotinas

Tipos de dados

loaddata

A carga load0 pode sempre ser acessada do programa, mas no pode ser alterada (ela armazenada no mdulo do sistema BASE). PERS loaddata load0 := [ 0, [0, 0, 0], [1, 0, 0, 0],0, 0 ,0 ];

Estrutura
< 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 >

Informao relacionada
Descrito em: Sistemas de coordenadas Definio de cargas da ferramenta Ativao de carga sustentada Movimento e Princpios de E/S Sistemas de coordenadas Tipos de dados - tooldata Instrues - GripLoad

Data Types do Sistema e Rotinas

1-loaddata-35

loaddata

Tipos de dados

1-loaddata-36

Data Types do Sistema e Rotinas

Tipos de dados

loadsession

loadsession Sesso de carregamento do programa


Loadsession usado para definir sesses de carregamento diferentes de mdulos de programa do RAPID.

Descrio
Dados do tipo loadsession so usados nas instrues StartLoad e WaitLoad para identificar a sesso de carregamento. Loadsession contm apenas uma referncia sesso de carregamento.

Caractersticas
Loadsession um tipo de dados non-value, no podendo ser usado em operaes orientadas para valor.

Informaes relacionadas
Descrito em: Carregando mdulos de programa durante a execuo Caractersticas de tipos de dados non-value Instrues - StartLoad, WaitLoad Caractersticas bsicas - Tipos de dados

Data Types do Sistema e Rotinas

1-loadsession-37

loadsession

Tipos de dados

1-loadsession-38

Data Types do Sistema e Rotinas

Tipos de dados

mecunit

mecunit

Unidade Mecnica

Mecunit usado para definir as diferentes unidades mecnicas as quais podem ser controladas e acessadas pelo rob e pelos programas. Os nomes das unidades mecnicas so definidos nos parmetros do sistema e, conseqentemente, no devem ser definidas no programa.

Descrio
Dado do tipo mecunit somente contm uma referncia para unidade mecnica.

Limitaes
Dado do tipo mecunit no deve ser definido no programa. O tipo de dado, por outro lado, pode ser usado como um parmetro quando declarando uma rotina.

Dado pr-definido
As unidades mecnicas definidas nos parmetros do sistema podem sempre ser acessadas pelo programa (dados instalados).

Caractersticas
Mecunit um tipo de dado non-value. Isto significa que dados deste tipo no permitem operaes de orientao de valores.

Informao relacionada
Descrito em: Ativao/Desativao de unidades mecnicas Instrues - ActUnit, DeactUnit Configurao de unidades mecnicas Caractersticas de tipos de dados non-value Guia do Usurio - Parmetros do Sistema Caractersticas Bsicas - Tipos de dados

Data Types do Sistema e Rotinas

1-mecunit-39

mecunit

Tipos de dados

1-mecunit-40

Data Types do Sistema e Rotinas

Tipos de dados

motsetdata

motsetdata

Dados de ajustes de movimento

Motsetdata usado para definir um nmero de ajustes de deslocamento que afeta todas instrues de posicionamento no programa: - Velocidade mxima e sobreposio de velocidade - Dados de acelerao - Comportamento ao redor de pontos de singularidade - Gerenciamento de diferentes configuraes do rob - Cancelamento da resoluo do caminho - Superviso de movimentao Este tipo de dados normalmente no usado j que essas configuraes s podem ser definidas usando as instrues VelSet, AccSet, SingArea, ConfJ, ConfL, PathResol e MotionSup. Os valores atuais destes ajustes de movimento podem ser acessados usando a varivel do sistema C_MOTSET.

Descrio
Os ajustes de movimento atuais (armazenados na varivel do sistema C_MOTSET) afetam todos os movimentos.

Componentes
vel.oride Tipo de dado: veldata/num

Velocidade uma porcentagem da velocidade programada. vel.max Velocidade mxima em mm/s. acc.acc Tipo de dado:accdata/num Tipo de dado: veldata/num

Acelerao e desacelerao como uma porcentagem dos valores normais. acc.ramp Tipo de dado:accdata/num

A relao na qual a acelerao e desacelerao incrementam como uma porcentagem dos valores normais.

Data Types do Sistema e Rotinas

1-motsetdata-41

motsetdata
sing.wrist

Tipos de dados
Tipo de dado: singdata/bool

Desvio permitido da orientao da ferramenta a fim de evitar a singularidade do punho. sing.arm Tipo de dado: singdata/bool

Desvio permitido da orientao da ferramenta a fim de evitar a singularidade do brao (no implementado). sing.base Desvio permitido da orientao da ferramenta. conf.jsup Tipo de dado: confsupdata/bool Tipo de dado: singdata/bool

Superviso da configurao do eixo ativada durante a movimentao do eixo. conf.lsup Tipo de dado: confsupdata/bool

Superviso da configurao do eixo ativada durante movimentao linear e circular. conf.ax1 Tipo de dado: confsupdata/num

Desvio mximo permitido em graus para o eixo 1 (no usado nesta verso). conf.ax4 Tipo de dado: confsupdata/num

Desvio mximo permitido em graus para o eixo 4 (no usado nesta verso). conf.ax6 Tipo de dado: confsupdata/num

Desvio mximo permitido em graus para o eixo 6 (no usado nesta verso). pathresol Tipo de dados: num

Sobreposio atual em porcentagem da resoluo de trajecto configurada. motionsup Tipo de dados: bool

Estado RAPID refletido (TRUE = Ativado e FALSE = Desativado) da funo de superviso de movimentao. tunevalue Tipo de dados: num

Sobreposio RAPID corrente em percentagem do valor de afinao (tunevalue) para a funo de superviso de deslocamento

Limitaes
Um e somente um dos componentes sing.wrist, sing.arm ou sing.base talvez tenha o

1-motsetdata-42

Data Types do Sistema e Rotinas

Tipos de dados
valor igual a TRUE.

motsetdata

Exemplo
IF C_MOTSET.vel.oride > 50 THEN ... ELSE ... ENDIF Partes diferentes do programa so executadas dependendo da sobreposio da velocidade atual.

Dado predefinido
C_MOTSET descreve ajustes de movimentos atuais do rob e pode sempre ser acessado do programa (dado instalado). C_MOTSET, por outro lado, pode somente ser alterado usando um nmero de instrues, no por associao. Os valores default para parmetros de movimentos setados so: - para partida a frio - quando um novo programa carregado - quando executar um programa do incio. PERS motsetdata C_MOTSET := [ [ 100, 500 ], [ 100, 100 ], [ FALSE, FALSE, TRUE ], [ TRUE, TRUE, 30, 45, 90], [100 ], [TRUE ], [100 ] ]; -> veldata -> accdata -> singdata -> confsupdata -> path resolution -> motionsup -> tunevalue

Data Types do Sistema e Rotinas

1-motsetdata-43

motsetdata

Tipos de dados

Estrutura
<dataobject of motsetdata> <vel of veldata > < oride of num > < max of num > <acc of accdata > < acc of num > < ramp of num > <sing of singdata > < wrist of bool > < arm of bool > < base of bool > <conf of confsupdata > < jsup of bool > <lsup of bool > < ax1 of num > < ax4 of num > < ax6 of num > <pathresol of num> <motionsup of bool> <tunevalue of num> -> Afetado pela instruo VelSet -> Afetado pela instruo AccSet -> Afetado pela instruo SingArea

-> Afetado pelas instrues ConfJ e ConfL

-> Afetado pela instruo PathResol -> Afetada pela instruo MotionSup -> Afetada pela instruo TuneValue

Informaes relacionadas
Descritas em: Instrues de parmetros de movimento Sumrio RAPID Ajustes de Movimentao

1-motsetdata-44

Data Types do Sistema e Rotinas

Tipos de dados

num

num

Valores numricos (registradores)


Num usado para valores numricos; exemplo: contadores.

Descrio
O valor de um tipo de dado numrico pode ser - um valor inteiro; ex. -5, - um nmero decimal; ex. 3.45. Este tambm pode ser escrito como uma exponencial; ex.2E3 (= 2*103 = 2000), 2.5E2 (= 0.025). Inteiros entre -8388607 e +8388608 so sempre armazenados como inteiros exatos. Nmeros decimais so somente nmeros aproximados e no devem ser, portanto, usados como comparaes is equal to ou is not equal to. Em casos de divises, e operaes usando nmeros decimais, o resultado tambm ser um nmero decimal; isto , no um inteiro exato. Ex. a := 10; b := 5; IF a/b=2 THEN ...

Como o resulatdo de a/b no um inteiro, esta condio no satisfeita necessariamente.

Exemplo
VAR num reg1; . reg1 := 3; reg1 associado ao valor 3. a := 10 DIV 3; b := 10 MOD 3; Diviso inteira onde a associado um inteiro (=3) e b associado ao restante (=1).

Dado pr-definido
A constante pi () est sempre definida no mdulo do sistema BASE. CONST num pi := 3.1415926; Data Types do Sistema e Rotinas 1-num-45

num

Tipos de dados
As constantes EOF_BIN e EOF_NUM j esto definidas no sistema. CONST num EOF_BIN := -1; CONST num EOF_NUM := 9.998E36

Informaes relacionadas
Descritas em: Expresses numricas Operaes usando valores numricos Caractersticas Bsicas - Expresses Caractersticas Bsicas - Expresses

1-num-46

Data Types do Sistema e Rotinas

Tipos de dados

o_jointtarget

o_jointtarget Dados de posio de eixo original


o_jointtarget (original joint target) usado em combinao com a funo Absolute Limit Modpos. Quando esta funo usada para modificar uma posio, a posio original armazenada como um dado do tipo o_jointtarget.

Descrio
Se a funo Absolute Limit Modpos ativada e uma posio nomeada em uma instruo de movimento modificada com a funo Modpos, ento a posio original programada salva. Exemplo de um programa antes do Modpos: CONST jointtarget jpos40 := [[0, 0, 0, 0, 0, 0], [0, 9E9, 9E9, 9E9, 9E9, 9E9]];

... MoveAbsJ jpos40, v1000, z50, tool1; O mesmo programa depois do ModPos no qual o ponto jpos40 corrigido para 2 graus para o eixo do rob 1: 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; O ponto original programado agora est salvo no o_jpos40 (como um dado tipo o_jointtarget) e o ponto modificado salvo no jpos40 (como um dado tipo jointtarget). Salvando o ponto original programado, o rob pode monitorar que a distncia Modpos do ponto em questo est dentro dos limites aceitveis do ponto original programado. O nome convencional fixado significa que um ponto original programado com o nome xxxxx pode ser salvo com o nome o_xxxxx usando Absolute Limit Modpos.

Componentes
robax (eixos do rob) Tipo de dado: robjoint

Posies dos eixos dos eixos dos robs em graus. extax (eixos externos) A posio dos eixos externos. Tipo de dado: extjoint

Data Types do Sistema e Rotinas

1-o_jointtarget-47

o_jointtarget

Tipos de dados

Estrutura
< 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 >

Informao relacionada
Descrito em: Posio do dado Configurao do Limite Modpos tema Tipos de Dados - Jointtarget Guia do Usurio - Parmetros do Sis-

1-o_jointtarget-48

Data Types do Sistema e Rotinas

Tipos de dados

orient

orient

Orientao
Orient usado para orientaes (como a orientao de uma ferramenta) e rotaes (como rotao de um sistema de coordenadas).

Descrio
A orientao descrita em forma de um quaternion que consiste de quatro elementos: q1, q2, q3 e q4. Para maiores informaes de como estes so calculados, veja abaixo.

Componentes
q1 Quaternion 1. q2 Quaternion 2. q3 Quaternion 3. q4 Quaternion 4. Tipo de dado: num Tipo de dado: num Tipo de dado: num Tipo de dado: num

Exemplo
VAR orient orient1; . orient1 := [1, 0, 0, 0]; A orientao orient1 associada ao valor q1=1, q2-q4=0; isto correspodente no rotao.

Limitaes
A orientao deve ser normalizada; isto , a soma dos quadrados deve ser igual a 1.
2 2 2 2 q 1 + q 2 + q3 + q4 = 1

Data Types do Sistema e Rotinas

1-orient-49

orient
O que um Quaternion?

Tipos de dados

A orientao de um sistema de coordenadas (como a de uma ferramenta) pode ser descrita como uma matriz rotacional que descreve a direo dos eixos de um sistema de coordenadas em relao a um sistema referencial (veja Figura 1). z z x
Sistema de coordenadas referencial

Sistema de coordenadas rotacionadas

Figure 7 A rotao de um sistema de coordenadas descrito por um Quaternion.

Os sistemas de coordenadas de eixos rotacionais (x, y, z) so vetores os quais podem ser expressos em um sistema de coordenadas referencial como abaixo: x = (x1, x2, x3) y = (y1, y2, y3) z = (z1, z2, z3) Isto significa que a componente x do vetor x no sistema de coordenadas referencial ser x1, a componente y ser x2, etc. Estes trs vetores podem ser colocados juntos na matriz, uma matriz rotacional, onde cada um dos vetores forma uma das colunas:

x1 y1 x2 y2

z1 z2

x3 y3 z3
Um quaternion somente um caminho mais simples para descrever esta matriz rotacional; os quaternions so calculados baseados nos elementos da matriz rotacional:
x1 + y2 + z3 + 1 q1 = ---------------------------------------2 x 1 y2 z3 + 1 q2 = ---------------------------------------2 y 2 x1 z3 + 1 q3 = ---------------------------------------2 z3 x 1 y2 + 1 q4 = ---------------------------------------2

sinal q2 = sinal (y3-z2) sinal q3 = sinal (z1-x3) sinal q4 = sinal (x2-y1)

1-orient-50

Data Types do Sistema e Rotinas

Tipos de dados
Exemplo 1

orient

Uma ferramenta orientada para que seu eixo Z esteja alinhado (na mesma direo com o eixo X do sistema de coordenadas de base). O eixo Yda ferramenta corresponde ao eixo Y do sistema de coordenadas (veja Figura 2). Como a orientao da ferramenta definida no dado de posicionamento (robtarget)? A orientao da ferramenta em uma posio programada normalmente relacionada ao sistema de coordenadas do objeto de trabalho usado. Neste exemplo, nenhum objeto de trabalho usado e o sistema de coordenadas de base igual ao sistema de coordenadas global. Ento, a orientao relacionada ao sistema de coordenadas de base.

Z X Z

X
Figure 8 A direo de uma ferramenta de acordo com o exemplo 1.

Os eixos tero as seguintes relaes: x = -z = (0, 0, -1) y = y = (0, 1, 0) z = x = (1, 0, 0) Os quais correspondem a seguinte matriz rotacional:
0 0 1 0 1 0 1 0 0

A matriz rotacional resulta em um quaternion correspondente:


0+1+0+1 2 q1 = ---------------------------------- = ------ = 0,707 2 2 010+1 q2 = --------------------------------- = 0 2 100+1 2 q3 = --------------------------------- = ------ = 0,707 2 2 001+1 q4 = --------------------------------- = 0 2

sinal q3 = sinal (1+1) = +

Exemplo 2 A direo da ferramenta rotacionada em 30osobre os eixos X e Z em relao ao sistema de coordenadas de punho (veja Figura 2). Como a orientao da ferramenta definida no dado de ferramenta (tooldata)?

Data Types do Sistema e Rotinas

1-orient-51

orient

Tipos de dados

Z Z X

Figure 9 A direo da ferramenta de acordo com o exemplo 2.

Os eixos tero as seguintes relaes: x = (cos30o, 0, -sen30o) y = (0, 1, 0) z = (sen30o, 0, cos30o) Os quais correspondem a seguinte matriz rotacional:
cos 30 0 sen30 0 1 0 sen30 0 cos 30

A matriz rotacional resulta em um quaternion correspondente:


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 2 cos 30 cos 30 1 + 1 q4 = --------------------------------------------------------------- = 0 2

sinal q3 = sinal (sen30o+sen30o) = +

Estrutura
<dataobject of orient> <q1 of num> <q2 of num> <q3 of num> <q4 of num>

Informao relacionada
Descrito em: Operaes em orientaes Caractersticas Bsicas - Expresses

1-orient-52

Data Types do Sistema e Rotinas

Tipos de dados

o_robtarget

o_robtarget

Dado da posio original

o_robtarget (original robot target) usado em combinao com a funo Absolute Limit Modpos. Quando esta funo usada para modificar uma posio, a posio original armazenada como um dado do tipo o_robtarget.

Descrio
Se a funo Absolute Limit Modpos ativada e uma posio nomeada em uma instruo de movimento modificada com a funo Modpos, ento a posio original programada salva. Exemplo de um programa antes do 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; O mesmo programa depois do ModPos no qual o ponto p50 corrigido para 502 na direo de x: := [[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; O ponto original programado agora est salvo no o_p50 (como um dado tipo o_robtarget) e o ponto modificado salvo no p50 (como um dado tipo robtarget). Salvando o ponto original programado, o rob pode monitorar que a distncia Modpos do ponto em questo est dentro dos limites aceitveis do ponto original programado. O nome convencional fixado significa que um ponto original programado com o nome xxxxx pode ser salvo com o nome o_xxxxx usando Absolute Limit Modpos. CONST robtarget p50

Componentes
trans (translao) Tipo de dado: pos

A posio (x, y e z) do ponto central da ferramenta expressa em mm. rot (rotao) Tipo de dado: orient

A orientao da ferramenta, expressa na forma de um quaternion (q1, q2, q3 e

Data Types do Sistema e Rotinas

1-o_robtarget-53

o_robtarget
q4). robconf (configurao do rob)

Tipos de dados

Tipo de dado: confdata

A configurao do eixo do rob (cf1, cf4, cf6 e cfx). extax (eixos externos) A posio dos eixos externos. Tipo de dado: extjoint

Estrutura
< 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 >

Informao relacionada
Descrito em: Dado de posio Configurao do Limite Modpos Tipos de dados - Robtarget Guia do Usurio - Parmetros do Sistema

1-o_robtarget-54

Data Types do Sistema e Rotinas

Tipos de dados

pos

pos

Posies (somente X, Y e Z)
Pos usado para posies (somente X, Y e Z). O tipo de dado robtarget usado para posio do rob incluindo a orientao da ferramenta e a configurao dos eixos.

Descrio
Dado do tipo pos descreve as coordenadas de uma posio: X, Y e Z.

Componentes
x O valor X da posio. y O valor Y da posio. z O valor Z da posio. Tipo de dado: num Tipo de dado: num Tipo de dado: num

Exemplos
VAR pos pos1; . pos1 := [500, 0, 940]; A posio pos1 associada ao valor: X=500 mm, Y=0 mm, Z=940 mm. pos1.x := pos1.x + 50; A posio pos1 deslocada 50 mm na direo X.

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

Data Types do Sistema e Rotinas

1-pos-55

pos

Tipos de dados

Informao relacionada
Descrito em: Operaes com posies Posio do rob incluindo orientao Caractersticas Bsicas - Expresses Tipos de dados - robtarget

1-pos-56

Data Types do Sistema e Rotinas

Tipos de dados

pose

pose

Transformaes de coordenadas
Pose usado para trocar de um sistema de coordenadas para outro.

Descrio
Dado do tipo pose descreve como um sistema de coordenadas deslocado e rotacionado com relao a outro sistema de coordenadas. O dado pode, por exemplo, descrever como o sistema de coordenadas de ferramenta localizado e orientado em relao ao sistema de coordenadas de punho.

Componentes
trans (translao) Tipo de dado: pos

O deslocamento na posio (x, y e z) do sistema de coordenadas. rot (rotao) A rotao do sistema de coordenadas. Tipo de dado: orient

Exemplo
VAR pose frame1; . frame1.trans := [50, 0, 40]; frame1.rot := [1, 0, 0, 0]; A transformao da coordenada frame1 associada a um valor que que corresponde a um deslocamento de posio, onde X=50 mm, Y=0 mm, Z=40 mm; entretanto, no existe rotao.

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

Informao relacionada
Descrito em: O que um Quaternion? Data Types do Sistema e Rotinas Tipos de dados - orient 1-pose-57

pose

Tipos de dados

1-pose-58

Data Types do Sistema e Rotinas

Tipos de dados

progdisp

progdisp

Deslocamento do programa

Progdisp usado para armazenar o deslocamento do programa atual do rob e eixos externos. Este tipo de dado normalmente no tem que ser usado desde que o dado seja setado usando instrues PDispSet, PDispOn, PDispOff, EOffsSet, EOffsOn e EOffsOff. Ele s usado para armazenar temporariamente o valor atual para ser usado mais tarde.

Descrio
Os valores atuais do deslocamento do programa podem ser acessados usando a varivel do sistema C_PROGDISP. Para maiores informaes, veja as instrues PDispSet, PDispOn, EOffsSet e EOffsOn.

Componentes
pdisp (deslocamento do programa) Tipo de dado: pose

O deslocamento do programa pelo rob, expresso usando uma translao e rotao. A translao expressa em mm. eoffs (offset externo) Tipo de dado: extjoint

O offset para cada eixo externo. Se o eixo linear, o valor expresso em mm; se ele rotacional, o valor expresso em graus.

Exemplo
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; Primeiro, um deslocamento de programa ativado por uma posio encontrada. Ento, esta temporariamente desativada armazenando o valor na varivel progdisp1 e, mais tarde, reativada usando as instrues PDispSet e EOffsSet. Data Types do Sistema e Rotinas 1-progdisp-59

progdisp

Tipos de dados

Dado pr-definido
A varivel do sistema C_PROGDISP descreve o deslocamento do programa atual do rob e eixos externos, e pode sempre ser acessada atravs do programa (dado instalado). C_PROGDISP, por outro lado, pode somente ser alterado usando um nmero de instrues, no por associao.

Estrutura
< 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 >

Informao relacionada
Descrito em: Instrues definindo deslocamento do programa Sumrio RAPID Ajustes de Movimento Sistemas de coordenadas Movimento e Princpios de E/S Sistemas de Coordenadas

1-progdisp-60

Data Types do Sistema e Rotinas

Tipos de dados

robjoint

robjoint

Posio joint dos eixos do rob

Robjoint usado para definir a posio de eixo em graus dos eixos do rob.

Descrio
Dado do tipo robjoint usado para armazenar as posies de eixo em grau dos eixos do rob 1 a 6. Posio de eixo definida como a rotao em graus para um eixo respectivo (brao) em uma direo positiva ou negativa da posio de calibrao do eixo.

Componentes
rax_1 (eixo 1 do rob) Tipo de dado: num

A posio do eixo 1 em graus em relao a posio de calibrao. ... rax_6 (eixo 6 do rob) Tipo de dado: num

A posio do eixo 6 em graus em relao a posio de calibrao.

Estrutura
< 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 >

Informao relacionada
Descrito em: Dado de posio joint Mover para posio joint Tipos de dados - jointtarget Instrues - MoveAbsJ

Data Types do Sistema e Rotinas

1-robjoint-61

robjoint

Tipos de dados

1-robjoint-62

Data Types do Sistema e Rotinas

Tipos de dados

robtarget

robtarget

Dado de posio

Robtarget (robot target) usado para definir a posio do rob e eixos externos.

Descrio
Dado de posio usado para definir a posio em uma instruo de posicionamento para qual o rob e eixos externos iro se mover. Como o rob est apto a executar a mesma posio de diversas maneiras, a configurao do eixo tambm especificada. Esta define os valores do eixo se estes esto em um caminho ambguo, por exemplo: - se o rob est uma posio para frente ou para trs, - se o eixo 4 aponta para baixo ou para cima, - se o eixo 6 tem uma revoluo negativa ou positiva. A posio definida baseada no sistema de coordenadas do objeto de trabalho, incluindo qualquer deslocamento de programa. Se a posio programada com outro objeto de trabalho diferente do usado na instruo, o rob no ir se mover da maneira esperada. Tenha certeza de usar o mesmo objeto de trabalho usado nas instrues de posicionamento do programa. O uso incorreto pode ferir algum ou danificar o rob ou outro equipamento.

Componentes
trans (translao) Tipo de dado: pos

A posio (x, y e z) do ponto central da ferramenta expresso em mm. A posio especificada em relao ao sistema de coordenadas do objeto atual, incluindo o deslocamento do programa. Se nenhum objeto de trabalho especificado, este ser o sistema de coordenadas global. rot (rotao) Tipo de dado: orient

A orientao da ferramenta, expressa em forma de um quaternion (q1, q2, q3 e q4). A orientao especificada em relao ao sistema de coordenadas do objeto atual, incluindo o deslocamento do programa. Se nenhum objeto de trabalho especificado, este ser o sistema de coordenadas global. robconf (configurao do rob) Tipo de dado: confdata

A configurao do eixo do rob (cf1, cf4, cf6 e cfx). Esta definida em forma de um quadrante de revoluo atual do eixo 1, eixo 4 e eixo 6. O primeiro quadrante

Data Types do Sistema e Rotinas

1-robtarget-63

robtarget

Tipos de dados
positivo de revoluo 0-90 o definido como 0. A componente cfx usada somente no modelo de rob IRB5400. Para maiores informaes, veja tipo de dado confdata.

extax

(eixos externos) A posio dos eixos externos.

Tipo de dado: extjoint

A posio definida para cada eixo individual (eax_a, eax_b ... eax_f) como abaixo: - Para eixos rotacionais, a posio definida como uma rotao em graus em relao a posio de calibrao. - Para eixos lineares, a posio definida como a distncia em mm em relao a posio de calibrao. Eixos externos eax_a ... so eixos lgicos. O nmero do eixo lgico e o nmero do eixo fsico esto relacionados, isto definido nos parmetros do sistema. O valor 9E9 definido para eixos que no esto conectados. Se o eixo definido no dado de posio difere do eixo que est atualmente conectado na execuo do programa, se aplica o seguinte: - Se a posio no est definida no dado de posio (valor 9E9), o valor ser ignorado, se o eixo estivar conectado e no ativado. Mas se o eixo est ativado, isto resultar em um erro. - Se a posio definida em um dado de posio embora o eixo no esteja conectado, o valor ignorado.

Exemplos
CONST robtarget p15 := [ [600, 500, 225.3], [1, 0, 0, 0], [1, 1, 0, 0], [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ]; Uma posio p15 definida como abaixo: - A posio do rob: x = 600, y = 500 e z = 225.3 mm no sistema de coordenadas de objeto. - A orientao da ferramenta na mesma direo como no sistema de coordenadas de objeto. - A configurao do eixo do rob: eixo 1 e 4 na posio 90-180o, eixo 6 na posio 0-90o. - A posio dos eixos externos lgicos, a e b, expressos em graus ou mm (dependendo do tipo de eixo). Eixos c f no so definidos.

1-robtarget-64

Data Types do Sistema e Rotinas

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

robtarget

A posio p20 setada para a mesma posio que a posio atual do rob chamando a funo CRobT. A posio ento movida 10 mm na direo x.

Limitaes
Quando usar a funo de edio configurvel Absolute Limit Modpos, o nmero de caracteres no nome do dado tipo robtarget, limitado em 14 (em outros casos 16).

Estrutura
< 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 >

Data Types do Sistema e Rotinas

1-robtarget-65

robtarget

Tipos de dados

Informao relacionada
Descrito no: Instrues de posicionamento Sistemas de coordenadas Tratamento de dado de configurao Configurao de eixos externos O que um Quaternion? Sumrio RAPID - Movimento Movimento e Princpio de E/S - Sistemas de Coordenadas Movimento e Princpio de E/S Configurao do Rob Guia do Usurio - Parmetros do Sistema Tipos de dados - Orient

1-robtarget-66

Data Types do Sistema e Rotinas

Tipos de dados

shapedata

shapedata

Dados da forma da zona global

shapedata usado para descrever a geometria de uma zona global.

Descrio
As zonas globais podem ser definidas em trs formas geomtricas diferentes: - uma caixa quadrada com todos os lados paralelos ao sistema de coordenadas global e definida por uma instruo WZBoxDef - uma esfera definida por uma instruo WZSphDef - um cilindro paralelo ao eixo z do sistema de coordenadas global e definido por uma instruo WZCylDef A geometria de uma zona global definida por uma das instrues anteriores e a ao de uma zona global definida pela instruo WZLimSup ou WZDOSet.

Exemplo
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 Um conveyor definido com uma caixa e a superviso desta rea ativada. Um pole definido como um cilindro e a superviso desta zona tambm ativada. Se o rob entrar em uma destas reas, a movimentao pra.

Caractersticas
shapedata um tipo de dados sem valor.

Data Types do Sistema e Rotinas

1-shapedata-67

shapedata

Tipos de dados

Informaes relacionadas
Descritas em: Zonas globais Definir zona global em forma de caixa Definir zona global em forma de esfera Definir zona global em forma de cilindro Ativando conjunto de sada digital de zona global Deslocamento e Principios E/S Zonas Globais Instrues - WZBoxDef Instrues - WZSphDef Instrues - WZCylDef Instrues - WZDOSet

Ativando superviso de limite de zona global Instrues - WZLimSup

1-shapedata-68

Data Types do Sistema e Rotinas

Tipos de dados

signalxx

signalxx

Sinais digitais e analgicos

Tipos de sinal com signalxx so usados para sinais de entradas e sadas digitais e analgicas. Os nomes dos sinais so definidos nos parmetros do sistema e no so, consequentemente, definidos no programa.

Descrio
Tipo de dado signalai signalao signaldi signaldo signalgi signalgo Usado para sinais de entradas analgicas sinais de sadas analgicas sinais de entradas digitais sinais de sadas digitais grupos de sinais de entradas digitais grupos de sinais de sadas digitais

Variveis do tipo signalxo contm somente uma referncia ao sinal. O valor definido usando uma instruo, ex. DOutput. Variveis do tipo signalxi contm uma referncia a um sinal, bem como a possibilidade de reaver o valor diretamente no programa, caso seja usado em contexto de valor. O valor do sinal de entrada pode ser lido diretamente no programa, como no ex.: ! Digital input IF di1 = 1 THEN ... ! Digital group input IF gi1 = 5 THEN ... ! Analog input IF ai1 > 5.2 THEN ...

Limitaes
Dado do tipo signalxx normalmente no definido no programa. Entretanto, se isto ocorrer, uma mensagem de erro ser mostrada logo que uma instruo ou funo que se refira a este sinal seja executada. O tipo de dado pode, por outro lado, ser usado como um parmetro quando uma rotina declarada.

Dado pr-definido
Os sinais definidos nos parmetros do sistema podem sempre ser acessados por um Data Types do Sistema e Rotinas 1-signalxx-69

signalxx

Tipos de dados
programa usando variveis de sinais pr-definidos (dado instalado). Isto deve entretanto ser verificado pois se outro dado com o mesmo nome definido, estes sinais no podero ser usados.

Caractersticas
Signalxo um tipo de dado non-value. Logo, dados deste tipo no permitem operaes com valores orientados. Signalxi um tipo de dado semi-value.

Informao relacionada
Descrito em: Sumrio de instrues de entrada/sada Funcionalidade de Entrada/Sada em geral Configurao de E/S Caractersticas de tipos de dados non-value Sumrio RAPID Sinais de Entradas e Sadas Movimento e Principios E/S Princpios de E/S Guia do Usurio - Parmetros do Sistema Caractersticas Bsicas - Tipos de dados

1-signalxx-70

Data Types do Sistema e Rotinas

Tipos de dados

speeddata

speeddata

Dado de velocidade

Speeddata usado para especificar a velocidade que o rob e eixos externos so movimentados.

Descrio
Dado de velocidade define a velocidade: - do movimento do centro da ferramenta, - da reorientao da ferramenta, - do movimento dos eixos externos rotacional ou linearmente. Quando diferentes tipos de movimentos so combinados, uma das velocidades frequentemente limita os movimentos. A velocidade dos outros movimentos sero reduzidas de maneira que todos os movimentos sejam finalizados ao mesmo tempo. A velocidade tambm reduzida pela performace do rob. Isto difere, dependendo do tipo do rob e do trajeto do movimento.

Componentes
v_tcp (velocidade do tcp) Tipo de dado: num

A velocidade do ponto central da ferramenta (TCP) em mm/s. Se uma ferramenta estacionria ou eixos externos coordenados so usados, a velocidade especificada em relao ao objeto de trabalho. v_ori (velocidade de orientao) Tipo de dado: num

A velocidade de reorientao em relao ao TCP expresso em graus/s. Se uma ferramenta estacionria ou eixos externos coordenados so usados, a velocidade especificada em relao ao objeto de trabalho. v_leax (vel. de eixos externos lineares) Tipo de dado: num

A velocidade dos eixos externos lineares em mm/s. v_reax (vel. de eixos externos rotacionais) Tipo de dado: num

A velocidade dos eixos externos rotacionais em graus/s.

Data Types do Sistema e Rotinas

1-speeddata-71

speeddata

Tipos de dados

Exemplo
VAR speeddata vmedium := [ 1000, 30, 200, 15 ]; O dado de velocidade vmedium definido com as seguintes velocidades: - 1000 mm/s para o TCP. - 30 graus/s para reorientao da ferramenta. - 200 mm/s para eixos externos lineares. - 15 graus/s para eixos externos rotacionais. vmedium.v_tcp := 900; A velocidade do TCP alterada para 900 mm/s.

Dado pr-definido
Um nmero de dados de velocidade j esto definidos no mdulo do sistema BASE. Nome v5 v10 v20 v30 v40 v50 v60 v80 v100 v150 v200 v300 v400 v500 v600 v800 v1000 v1500 v2000 v2500 v3000 v4000 v5000 vmax v6000 v7000 Veloc.TCP 5 mm/s 10 mm/s 20 mm/s 30 mm/s 40 mm/s 50 mm/s 60 mm/s 80 mm/s 100 mm/s 150 mm/s 200 mm/s 300 mm/s 400 mm/s 500 mm/s 600 mm/s 800 mm/s 1000 mm/s 1500 mm/s 2000 mm/s 2500 mm/s 3000 mm/s 4000 mm/s 5000 mm/s 5000 mm/s 6000 mm/s 7000 mm/s Orientao 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s 500o/s o/s 500 Eixo ext. linear Eixo ext. rotacional 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 5000 mm/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s 1000o/s

1-speeddata-72

Data Types do Sistema e Rotinas

Tipos de dados

speeddata

Estrutura
< dataobject of speeddata > < v_tcp of num > < v_ori of num > < v_leax of num > < v_reax of num >

Informao relacionada
Descrito em: Instrues de posicionamento Movimento/Velocidade em geral Sumrio RAPID - Movimento Movimento e Princpios de E/S - Posicionamento na Execuo do Programa Instrues - VelSet Guia do Usurio - Parmetros do Sistema Especificao do Produto

Definindo velocidade mxima Configurao dos eixos externos Performace de movimento

Data Types do Sistema e Rotinas

1-speeddata-73

speeddata

Tipos de dados

1-speeddata-74

Data Types do Sistema e Rotinas

Tipos de dados

string

string

Strings
String usado para caracteres em string (*string;text string)

Descrio
Um string de caracteres consiste em um certo nmero de caracteres (um mximo de 80) cercados por aspas ("). p.ex "Este um caracter string".

Se as aspas fizerem parte do string, devero ser escritas duas vezes, p.ex "Este string contm um ""carcter".

Exemplo
VAR string text; . text := "start welding pipe 1"; TPWrite text; O texto start welding pipe 1 est escrito na unidade de programao.

Limites
Um string poder ter de 0 a 80 caracteres; inclusive as aspas extras. Um string poder conter qualquer dos caracteres especificados pela ISO 8859-1 assim como caracteres de controle (no caracteres ISO 8859-1 com um cdigo numrico entre 0 e 255).

Data Types do Sistema e Rotinas

1-string-75

string

Tipos de dados

Dados predefinidos
Um nmero de constantes predefinidas est disponvel no sistema, e podero ser usadas juntamente com as funes string. Nome STR_DIGIT STR_UPPER Conjunto de caracteres <dgito> ::= 0|1|2|3|4|5|6|7|8|9 <letra maiscula> ::= 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) <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) | | <caracter em branco> ::=

STR_LOWER

STR_WHITE

1) Letra "eth" islandesa. 2) Letra "Y" com acento agudo. 3) Letra "thorn" islandesa. As constantes flp1, ram1disk e stEmpty j esto definidas no mdulo BASE do sistema. CONST string flp1 :="flp1:" CONST string ram1disk :="ram1disk:" CONST string stEMPTY :="";

Informaes relacionadas
Descritas em: Operaes usando strings Valores de string Caractersticas Bsicas - Expresses Caractersticas bsicas-Elementos Bsicos

1-string-76

Data Types do Sistema e Rotinas

Tipos de dados

symnum

symnum

Nmero simblico

Symnum usado para representar um inteiro com uma constante simblica.

Descrio
Uma constante symnum criada para ser usada quando verificamos o retorno do valor das funes OpMode e RunMode. Veja exemplo abaixo.

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

Dado pr-definido
As seguintes constantes simblicas do tipo de dado symnum so pr-definidas e podem ser usadas quando verificamos retorno de valores pelas funes OpMode e RunMode.
Valor 0 1 2 3 4 Constante simblica RUN_UNDEF RUN_CONT_CYCLE RUN_INSTR_FWD RUN_INSTR_BWD RUN_SIM Comentrio Modo de execuo indefinido Modo de execuo contnuo ou ciclo Modo de execuo instruo p/ frente Modo de execuo instruo p/ trs Modo de execuo simulado

Valor 0 1 2

Constante simblica OP_UNDEF OP_AUTO OP_MAN_PROG

Comentrio Modo de operao indefinido Modo de operao automtico Modo de operao manual mx. 250 mm/s Modo de operao manual velocidade plena, 100%

OP_MAN_TEST

Data Types do Sistema e Rotinas

1-symnum-77

symnum

Tipos de dados

Caractersticas
Symnum um tipo de dado suposto do tipo num e consequentemente tem sua caractersticas.

Informao relacionada
Descrito em: Tipos de dados em geral Caractersticas Bsicas - Tipos de dados

1-symnum-78

Data Types do Sistema e Rotinas

Tipos de dados

Dado do sistema

Dado do sistema
Dado do sistema um dado interno do rob que pode ser acessado e lido pelo programa. Ele pode ser usado para ler um estado atual, por exemplo, a velocidade mxima atual. A tabela seguinte contm uma lista de todos os dados do sistema.
Nome C_MOTSET Descrio Ajustes do deslocamento atual, isto : - Velocidade mx. e sobreposio - acelerao mxima - movimento entre pontos singulares - monitorando a configurao do eixo - resoluo do caminho - superviso da movimentao com valor de afinao Deslocamento do programa atual do rob e eixos externos. Tipo de Dado motsetdata Alterado Instrues - VelSet - AccSet - SingArea - ConfL,ConfJ - PathResol - MotionSup Ver tambm Tipos de dados - motsetdata Instrues - VelSet Instrues - AccSet Instrues - SingArea Instrues - ConfL, ConfJ Instrues - PathResol Instrues - MotionSup

C_PROGDISP

progdisp

Instrues - PDispSet - PDispOn - PDispOff - EOffsSet - EOffsOn - EOffsOff O rob

Tipos de dados - progdisp Instrues - PDispSet Instrues - PDispOn Instrues - PDispOff Instrues - EOffsSet Instrues - EOffsOn Instrues - EOffsOff Tipos de dados - errnum Sumrio RAPID Reconhecimento de Erros Tipos de dados - intnum Sumrio RAPID -Interrupes

ERRNO

O ltimo erro que ocorreu

errnum

INTNO

A ltima interrupo que ocorreu

intnum

O rob

Data Types do Sistema e Rotinas

1-Dado do sistema-79

Dado do sistema

Tipos de dados

1-Dado do sistema-80

Data Types do Sistema e Rotinas

Tipos de dados

taskid

taskid

Identificao de tarefa
Taskid usado para identificar tarefas de programa disponveis no sistema. Os nomes das tarefas de programa so definidos nos parmetros de sistema e, conseqentemente, no devem ser definidos no programa.

Descrio
Dados do tipo taskid contm somente uma referncia tarefa de programa.

Limitaes
Dados do tipo taskid no devem ser definidos no programa. Por outro lado, o tipo de dados pode ser usado como um parmetro na declarao de uma rotina.

Dados predefinidos
As tarefas de programa definidas nos parmetros de sistema podem sempre ser acessadas a partir do programa (dados instalados). Para todas as tarefas de programa do sistema, variveis predefinidas do tipo de dados taskid estaro disponveis. A identidade da varivel ser "nome da tarefa"+"Id", ex. para a tarefa MAIN, a identidade da varivel ser MAINId, TSK1 - TSK1Id etc.

Caractersticas
Taskid um tipo de dados non-value. Isso significa que dados desse tipo no permitem operaes orientadas para valor.

Informaes relacionadas
Descrito em: Salvando mdulos de programa Configurao de tarefas de programa Caractersticas de tipos de dados non-value Instruo - Save Guia do Usurio - Parmetros do sistema Caractersticas bsicas - Tipos de dados

Data Types do Sistema e Rotinas

1-taskid-81

taskid

Tipos de dados

1-taskid-82

Data Types do Sistema e Rotinas

Tipos de dados

errnum

testsignal

Sinal de teste

O tipo de dados testsignal utilizado quando o teste do sistema do rob executado.

Descrio
Vrios sinais de teste predefinidos esto disponveis no sistema do rob. O tipo de dados testsignal est disponvel para simplificar a programao de instrues relativas a manuteno e testes.

Exemplos
TestSign 2, revolution_counter, Orbit, 2, 1, 0; revolution_counter uma constante do tipo de dados testsignal.

Dados predefinidos
Vrias constantes predefinidas para os vrios sinais de teste do sistema do rob so carregadas no sistema quando da inicializao. O manual de servio descreve de maneira mais completa os sinais de teste.

Caractersticas
Testsignal um tipo de dados pseudnimo para num e, conseqentemente, herda suas caractersticas.

Informaes relacionadas
Descrito em: Tipos de dados em geral, tipos de dados pseudnimos Caractersticas bsicas Tipos de dados

Data Types do Sistema e Rotinas

1-errnum-83

errnum

Tipos de dados

1-errnum-84

Data Types do Sistema e Rotinas

Tipos de dados

tooldata

tooldata

Dados da ferramenta

Tooldata utilizado para descrever as caractersticas de uma ferramenta, por ex., uma ponta de soldagem ou uma pina. Se a ferramenta estiver fixa no espao (ferramenta estacionria), dados de ferramenta comuns sero definidos para essa ferramenta e para a pina que segura o objeto de trabalho.

Descrio
Os dados da ferramenta afeta os movimentos do rob das seguintes formas: - O ponto central da ferramenta (TCP) refere-se ao ponto que ir satisfazer o desempenho de velocidade e o caminho especificado. Se a ferramenta for reorientada ou se eixos externos forem usados, somente esse ponto seguir o caminho desejado na velocidade programada. - Se uma ferramenta estacionria for usada, a velocidade e o caminho programados estaro relacionados ao objeto de trabalho. - As posies programadas referem-se posio do TCP atual e a orientao em relao ao sistema de coordenadas da ferramenta. Isso significa que se, por exemplo, uma ferramenta for trocada por estar danificada, o programa antigo ainda poder ser usado se o sistema de coordenadas for redefinido. Os dados de ferramenta tambm so usados ao mover o rob para: - Definir o TCP que no deve ser movido quando a ferramenta reorientada. - Definir o sistema de coordenadas para facilitar a movimentao ou rotao nas direes da ferramenta. importante sempre definir a carga de ferramenta atual e, quando utilizada, a carga til do rob tambm. Definies incorretas de dados da carga podem resultar em sobrecarga da estrutura mecnica do rob. Quando dados de ferramenta incorretos so especificados, isso pode acarretar as seguintes conseqncias: - Se o valor da carga especificada for maior que o valor real da carga; -> O rob no ser utilizado em sua capacidade mxima -> A preciso da trajetria ser afetada, incluindo um risco de overshooting - Se o valor da carga especificada for inferior ao valor real da carga; -> A preciso da trajetria ser afetada, incluindo um risco de overshooting -> Risco de sobrecarga da estrutura mecnica

Manual de Referncia do RAPID

7-tooldata-85

tooldata

Tipos de dados

Componentes
robhold (rob segurar) Tipo de dados: bool

Define se o rob est segurando a ferramenta: - TRUE - FALSE tframe -> O rob est segurando a ferramenta. -> O rob no est segurando a ferramenta, por ex., uma ferramenta estacionria. (estrutura da ferramenta) Tipo de dados: pose

O sistema de coordenadas da ferramenta, ou seja: - A posio do TCP (x, y e z), em mm, expressa no sistema de coordenadas do punho (veja a figura 1). - A orientao do sistema de coordenadas da ferramenta, expressa no sistema de coordenadas do punho como um quatrnio (q1, q2, q3 e q4) (veja a figura 1). Se uma ferramenta estacionria for utilizada, a definio ser feita em relao ao sistema de coordenadas global. Se a direo da ferramenta no for especificada, o sistema de coordenadas da ferramenta e o sistema de coordenadas do punho iro coincidir.

O orifcio de controle

O sistema de coordenadas do punho Y Z O sistema de coordenadas da ferramenta TCP X Y X Z

Figura 10 Definio do sistema de coordenadas da ferramenta.

7-tooldata-86

Manual de Referncia do RAPID

Tipos de dados
tload (carga da ferramenta) A carga da ferramenta, ou seja: - O peso da ferramenta, em kg.

tooldata
Tipo de dados: loaddata

- O centro de gravidade da ferramenta (x, y e z), em mm, expresso no sistema de coordenadas do punho. - A orientao do sistema de coordenada da carga da ferramenta, expressa no sistema de coordenada do punho, defininindo os eixos de inrcia da ferramenta. A orientao do sistema de coordenadas da carga da ferramenta deve coincidir com a orientao do sistema de coordenadas do punho. Deve ser sempre definida como 1, 0, 0, 0. - Os momentos de inrcia da ferramenta em relao ao seu centro de massa emtorno dos eixos coordenados da carga da ferramenta, em kgm2. Se todos os componentes inerciais forem definidos como tendo 0 kgm2, a ferramenta ser tratado como um ponto de massa.

O sistema de coordenadas do punho IY Y Sistema de coordenadas da carga da ferrame Eixos inerciaisde carga da ferramenta Z IZ TCP Y X Z Sistema de coordenadas da ferrame

IX

Figura 11 Definies de parmetros de carga da ferramenta

Para obter maiores informaes (como o sistema de coordenadas para ferramenta estacionria ou restries), consulte o tipo de dados loaddata. Se uma ferramenta estacionria for usada, a carga da pina ao segurar o objeto de trabalho dever ser definida. Observe que somente a carga da ferramenta deve ser especificada. A carga til manuseada por uma pina conectada e desconectada por meio da instruo GripLoad.

Manual de Referncia do RAPID

7-tooldata-87

tooldata

Tipos de dados

Exemplos
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]]; A ferramenta da Figura 10 descrita utilizando-se os seguintes valores: - O rob est segurando a ferramenta. - O TCP est situado em um ponto 223,1 mm diretamente para fora do eixo 6 e 97,4 mm ao longo do eixo X do sistema de coordenadas do punho. - As direes X e Z da ferramenta so giradas 45o em relao ao sistema de coordenadas do punho. - A ferramenta pesa 5 kg. - O centro de gravidade encontra-se a um ponto situado 75 mm diretamente para fora do eixo 6 e 23 mm ao longo do eixo X do sistema de coordenadas do punho. - A carga pode ser considerada um ponto de massa, ou seja, sem nenhum momento de inrcia. gripper.tframe.trans.z := 225.2; O TCP da ferramenta, gripper, ajustado como 225,2 na direo z.

Limitaes
Os dados da ferramenta devem ser definidos como uma varivel persistente (PERS) e no devem ser definidos dentro de uma rotina. Em seguida, os valores atuais sero salvos quando o programa for armazenado em disquete, sendo recuperados no carregamento. Argumentos do tipo de dados de ferramenta em qualquer instruo de movimento devem ser somente um persistente por inteiro (e no um elemento de matriz ou componente de registro).

Dados predefinidos
A ferramenta tool0 define o sistema de coordenadas do punho, sendo a origem o centro do flange de montagem. Tool0 pode sempre ser acessada a partir do programa, mas nunca pode ser alterada (ela armazenada no 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] ];

7-tooldata-88

Manual de Referncia do RAPID

Tipos de dados

tooldata

Estrutura
< dataobject de tooldata > < robhold de bool > < tframe de pose > < trans de pos > < x de num > < y de num > < z de num > < rot de orient > < q1 de num > < q2 de num > < q3 de num > < q4 de num > < tload de loaddata > < mass de num > < cog de pos > < x de num > < y de num > < z de num > < aom de orient > < q1 de num > < q2 de num > < q3 de num > < q4 de num > < ix de num > < iy de num > < iz de num >

Informaes relacionadas
Descrito em: Instrues de posicionamento Sistema de coordenadas Definio de cara til Definio de carga Resumo do RAPID - Movimento Princpios de movimento e E/S Sistemas de coordenadas Instrues - Gripload Tipos de dados - Dados de carga

Manual de Referncia do RAPID

7-tooldata-89

tooldata
REVISION PAGE
Document Registration number: MAN93046.URD
REVISADO POR Autor Projeto Assunto Outros Documentao do Usurio Qualidade: Manual do Usurio Teste: Manual do Usurio Fact: Manual de Usurio Final: Manual do Usurio KCF KCx DEP NOME Sven-Erik Johansson Hkan Brantmark Hkan Brantmark DATA

Tipos de dados

ASSINATURA

KCx

MT KCR KC KCF MT

Mats Kllman Mats Myhr

940308 940303

F Runge HB, SEJ

940215 940214

REVISION
REV. PAGE (P) CHAPT (C) All All A1 w1.1 A2 A3 A4 w4.1 w4.2 w4.3 w4.4 DESCRIPTION DATE DEPT./SIGN. 921207 KCF/SEJ

0.40

First release, Approved by Review I (Protocol ROL92067.MIN) KC/HB,TB, KCF/L, O, MT/MK Review2 (Protocol ROL92071.MIN) KCR/MM,SEL,JES, KCF/PE,ALL,SJ User documentation. Approved by KC/HB, KCF/SEJ Acc. ROL93057.RPT and ROL93061.RPT User documentation. Approved by KC/HB, KCF/SEJ English M94, minor changes Limitations/Only entire PERS Correction of tool0 definition Restriction for tload Improvement limitation aom

920217 MT/MK 930509 KCF/SEJ 930618 MT/MK 930903 MT/MK 940308 MT/MK 950127 KCF/SE 960204 KCF/SEJJ 960225 KC/SEJ,JES 981201 KSG/SEJO

7-tooldata-90

Manual de Referncia do RAPID

Tipos de dados

tpnum

tpnum Nmero da janela da Unidade de programao


tpnum se usa para representar o nmero da janela da Unidade de programao com uma constante simblica.

Descrio
Uma constante tpnum se destina a ser usada na instruo TPShow. Veja o exemplo abaixo.

Exemplo
TPShow TP_PROGRAM; A Production Window fica ativa se o sistema est no modo AUTO e a Program Window fica ativa se o sistema est no modo MAN, aps a execuo desta instruo.

Dados predefinidos
As seguintes constantes simblicas do tipo de dados tpnum esto predefinidas e podem ser usadas na instruo TPShow:
Valor 1 Constante simblica TP_PROGRAM Comentrio AUTO: Production Window MAN: Program Window ltima janela da Unidade de programao usada Janela do Visualizador de tela, se essa opo estiver ativa

TP_LATEST

TP_SCREENVIEWER

Caractersticas
tpnum um pseudnimo de num e conseqentemente herda suas caractersticas.

Data Types do Sistema e Rotinas

1-tpnum-91

tpnum

Tipos de dados

Informaes relacionadas
Descrito em: Tipos de dados em geral, pseudnimos Comunicao usando a unid. programao Troca de janela na unidade de programao Caractersticas bsicas - Data Types Resumo RAPID - Communication Instrues - TPShow

1-tpnum-92

Data Types do Sistema e Rotinas

Tipos de dados

triggdata

triggdata

Eventos de posicionamento - trigg

Triggdata usado para armazenar dado sobre um evento de posicionamento durante a movimentao do rob. Um evento de posicionamento pode ter a forma de setar um sinal de sada ou executar uma rotina de interrupo numa posio especfica ao longo do trajeto de movimentao do rob.

Descrio
Para definir as condies de uma respectiva medio de um evento de posicionamento, variveis do tipo triggdata so usadas. Os contedos dos dados da varivel so formados em um programa usando as instrues TriggIO ou TriggInt, e so usadas junto com as instrues TriggL, TriggC ou TriggJ.

Exemplo
VAR triggdata gunoff; TriggIO gunoff, 5 \DOp:=gun, off; TriggL p1, v500, gunoff, fine, gun1; O sinal de sada digital gun setado para o valor off quando o TCP est a 5mm antes do ponto p1.

Caractersticas
Triggdata um tipo de dado non-value.

Informao relacionada
Descrito em: Definio dos triggs Utilizao dos triggs Caractersticas de tipos de dados non-value Instrues - TriggIO, TriggInt Instrues - TriggL, TriggC, TriggJ Caractersticas Bsicas - Tipos de dados

Data Types do Sistema e Rotinas

1-triggdata-93

triggdata

Tipos de dados

1-triggdata-94

Data Types do Sistema e Rotinas

Tipos de dados

tunetype

tunetype

Servo tune type

Tunetype usado para representar um inteiro com uma constante simblica.

Descrio
Uma constante tunetype destina-se a ser usada como um argumento para a instruo TuneServo. Veja o exemplo abaixo.

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

Dados predefinidos
As constantes simblicas seguintes do tipo de dado tunetype so predefinidas e podem ser usadas como um argumento para a instruo TuneServo.

Valor 0 1 2 TUNE_DF TUNE_KP TUNE_KV

Constante simblica

Comentrio Reduz overshoots Afeta o ganho do controle de posio Afeta o ganho do controle de velocidade Afeta o tempo de integrao do controle de velocidade Afeta o nvel de compensao do atrito Afeta a rampa de compensao do atrito Reduz overshoots Reduz vibraes com cargas pesadas Reduz erros de caminho Reservado para uso futuro

TUNE_TI

4 5

TUNE_FRIC_LEV TUNE_FRIC_RAMP

6 7 8 9

TUNE_DG TUNE_DH TUNE_DI TUNE_DK

Caractersticas
Tunetype um tipo de dados igual para num e, conseqentemente, herda suas caractersticas.

Data Types do Sistema e Rotinas

1-tunetype-95

tunetype

Tipos de dados

Informaes relacionadas
Descrito em: Tipo de dados em geral, tipo de dados iguais Uso do tipo de dados tunetype Caractersticas Bsicas - Tipos de Dados Instrues - TuneServo

1-tunetype-96

Data Types do Sistema e Rotinas

Tipos de dados

wobjdata

wobjdata

Dado do objeto de trabalho

Wobjdata usado para descrever o objeto de trabalho que o rob solda, processa, movimenta, etc.

Descrio
Se objetos de trabalho so definidos em uma instruo de posicionamento, a posio ser baseada em coordenadas do objeto de trabalho. As vantagens disto so as seguintes: - Se o dado de posicionamento colocado manualmente, como em uma programao off-line, os valores podem freqentemente ser tirados de um desenho. - Programas podem ser reutilizados rapidamente seguindo alteraes na instalao do rob. Se, por exemplo, a fixao movida, somente o sistema de coordenadas do usurio deve ser redefinido. - Variaes de como o objeto de trabalho anexado podem ser compensadas. Para isto, entretanto, algum tipo de sensor ser necessrio para posicionar o objeto de trabalho. Se uma ferramenta estacionria ou eixos externos coordenados so usados o objeto de trabalho deve ser definido, desde que o trajeto e a velocidade estejam relacionados ao objeto de trabalho ao invs do TCP. Dado do objeto de trabalho pode tambm ser usado para movimentao: - O rob pode ser movimentado nas direes do objeto de trabalho. - A posio atual apresentada baseada no sistema de coordenadas do objeto de trabalho.

Componentes
robhold (robot hold) Tipo de dado: bool

Define se o rob est segurando ou no o objeto de trabalho: - TRUE - FALSE -> O rob est segurando o objeto de trabalho, isto , usando uma ferramenta estacionria. -> O rob no est segurando o objeto de trabalho, isto , a ferramenta est fixada no rob.

Data Types do Sistema e Rotinas

1-wobjdata-97

wobjdata
ufprog

Tipos de dados
(base do usurio programada) Tipo de dado: bool

Define se um sistema de coordenadas fixado pelo usurio usado ou no: - TRUE - FALSE ufmec -> Sistema de coordenadas fixado pelo usurio. -> Sistema de coordenadas do usurio mvel, isto , eixos externos coordenados so usados. (un. mecnica da base do usurio) Tipo de dado: string

A unidade mecnica com a qual o rob se movimenta so coordenadas. Somente especificado no caso de sistema de coordenadas do usurio mvel (ufprog FALSE). Especificado com o nome que definido nos parmetros do sistema, exemplo: "orbit_a". uframe (base do usurio) Tipo de dado: pose

O sistema de coordenadas do usurio, isto , a posio da superfcie de trabalho ou fixao atual (veja Figura 1): - A posio de origem do sistema de coordenadas (x, y e z) em mm. - A rotao do sistema de coordenadas, expressa como um quaternion (q1, q2, q3, q4). Se a ferramenta est fixada no rob, o sistema de coordenadas do usurio definido no sistema de coordenadas global (no sistema de coordenadas do punho se uma ferramenta estacionria for usada). Quando os eixos externos coordenados so usados (ufprog FALSE), o sistema de coordenadas do usurio definido nos parmetros do sistema. oframe (base do objeto) Tipo de dado: pose

O sistema de coordenadas do objeto, isto , a posio do objeto de trabalho atual (veja Figura 1): - A posio de origem do sistema de coordenadas (x, y e z) em mm. - A rotao do sistema de coordenadas, expressa como um quaternion (q1, q2, q3, q4). O sistema de coordenadas do objeto definido no sistema de coordenadas do usurio.

1-wobjdata-98

Data Types do Sistema e Rotinas

Tipos de dados

wobjdata

X Z

Coordenadas de ferramenta Y TCP Z Y Coordenadas do usurio Z X Z Ccoord. do objeto Y Y X

Coordenadas de base

Y X Coordenadas global

Figure 12 Os vrios sistemas de coordenadas do rob (quando a ferramenta est fixada no rob).

Exemplo
PERS wobjdata wobj2 :=[ FALSE, TRUE, "", [ [300, 600, 200], [1, 0, 0 ,0] ], [ [0, 200, 30], [1, 0, 0 ,0] ] ]; O objeto de trabalho na Figura 1 descrito usando os seguintes valores: - O rob no est segurando o objeto de trabalho. - O sistema de coordenadas fixado pelo usurio usado. - O sistema de coordenadas do usurio no rotacionado e as coordenadas da sua origem so x = 300, y = 600 e z = 200 mm no sistema de coordenadas global. - O sistema de coordenadas do objeto no rotacionado e as coordenadas da sua origem so x = 0, y = 200 e z = 30 mm no sistema de coordenadas do usurio. wobj2.oframe.trans.z := 38.3; - A posio do objeto de trabalho wobj2 ajustada 38.3 mm na direo z.

Limitaes
O dado do objeto de trabalho deve ser definido como uma varivel persistente (PERS) e no deve ser definido em uma rotina. Os valores atuais so ento salvos quando o programa armazenado no disquete e so recuperados quando o programa carregado. Argumentos do tipo de dado objeto de trabalho em qualquer instruo de movimento deve sempre ser uma persistente inteira (no um elemento matricial ou componente de registro).

Data Types do Sistema e Rotinas

1-wobjdata-99

wobjdata

Tipos de dados

Dado pr-definido
O dado de objeto de trabalho wobj0 definido como uma maneira do sistema de coordenadas do objeto coincidir com o sistema de coordenadas global. O rob no segura o objeto de trabalho. Wobj0 pode sempre ser acessado pelo programa, mas nunca pode ser alterado (ele est armazenado no mdulo de sistema BASE). PERS wobjdata wobj0 := [ FALSE, TRUE, "", [ [0, 0, 0], [1, 0, 0 ,0] ], [ [0, 0, 0], [1, 0, 0 ,0] ] ];

Estrutura
< 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 >

Informao relacionada
Descrito em: Instrues de posicionamento Sistemas de coordenadas Eixos externos coordenados Sumrio RAPID - Movimento Movimento e Princpios de E/S - Sistemas de Coordenadas Movimento e Princpios de E/S - Sistemas de Coordenadas

1-wobjdata-100

Data Types do Sistema e Rotinas

Tipos de dados
Calibrao de eixos externos coordenados

wobjdata
Guia do Usurio - Parmetros do Sistema

Data Types do Sistema e Rotinas

1-wobjdata-101

wobjdata

Tipos de dados

1-wobjdata-102

Data Types do Sistema e Rotinas

Tipos de dados

wzstationary

wzstationary

Dados da zona global estacionria

wzstationary (zona global estacionria) usada para identificar uma zona global estacionria e somente pode ser usada em uma rotina de eventos conectada ao evento POWER ON. Uma zona global supervisionada enquanto o rob se movimenta, tanto durante a execuo do programa como durante a movimentao. Se o TCP do rob atingir esta zona global, o movimento pra ou um sinal de sada digital ajustado ou reposto.

Descrio
Uma zona global wzstationary definida e ativada por uma instruo WZLimSup ou WZDOSet. WZLimSup ou WZDOSet d um valor numrico varivel ou dado persistente do tipo de dados stationary. O valor identifica a zona global. Uma zona global estacionria est sempre ativa e eliminada somente na partida a quente (desligue e ligue o sistema ou mude os parmetros do sistema). No possvel desativar, ativar ou eliminar uma zona global estacionria atravs das instrues RAPID. As zonas globais estacionrias devero ser ativadas desde a ligao e devero ser definidas em uma rotina de eventos POWER ON ou em uma tarefa semiesttica.

Exemplo
VAR wzstationary conveyor; ... PROC POWER_ON() VAR shapedata volume; ... WZBoxDef \Inside, volume, p_corner1, p_corner2; WZLimSup \Stat, conveyor, volume; ENDPROC Um conveyor definido como uma caixa quadrada (o volume abaixo da correia). Se o rob atingir este volume, o movimento parado.

Limitaes
Um dado wzstationary pode somente ser definido como uma varivel (VAR) ou como um dado persistente (PERS). Ele pode ser global na tarefa ou local dentro de um mdulo, mas no local dentro de uma rotina.

Data Types do Sistema e Rotinas

1-wzstationary-103

wzstationary

Tipos de dados

Os argumentos do tipo wzstationary devem ser somente dados inteiros (no elementos de matriz ou componentes de registro). O valor init para o tipo de dados wzstationary no usado pelo sistema. Quando usando uma varivel persistente em um sistema multitarefas, ajuste o valor init para 0 em ambas as tarefas, ex. PERS wzstationary share_workarea: = [0];

Caractersticas
wzstationary dado do tipo pseudnimo de wztemporary e herda as suas caractersticas.

Informaes relacionadas
Descritas em: Zonas Globais Forma da zona global Zona global temporria Ativando espao de trabalho restrito Ativando sada relativa a uma zona Principios de Deslocamento e E/S Zonas Globais Tipos de Dados - shapedata. Tipos de dados - wztemporary Instrues - WZLimSup Instrues - WZDOSet

1-wzstationary-104

Data Types do Sistema e Rotinas

Tipos de dados

wztemporary

wztemporary

Dados da zona global temporria

wztemporary (zona global temporria) usada para identificar uma zona global temporria e pode ser usada em qualquer parte do programa RAPID para a tarefa MAIN. Uma zona global supervisionada enquanto o rob se movimenta durante a execuo do programa e a movimentao. Se o TCP do rob entrar nesta zona global, o movimento parado e um sinal de sada digital ajustado ou reposto.

Descrio
Uma zona global wztemporary definida e ativada por uma instruo WZLimSup ou WZDOSet. WZLimSup ou WZDOSet d um valor numrico varivel ou dado persistente do tipo wztemporary. O valor identifica a zona global. Uma vez definida e ativada, uma zona global temporria pode ser desativada por WZDisable, ativada novamente por WZEnable e eliminada por WZFree. Todas as zonas globais temporrias do sistema so automaticamente eliminadas e todos os objetos de dados do tipo wztemporary na tarefa MAIN so ajustados para 0: - quando um novo programa carregado na tarefa MAIN - ao iniciar a execuo do programa a partir do incio da tarefa MAIN

Exemplo
VAR wztemporary roll; ... PROC ... VAR shapedata volume; CONST pos t_center := [1000, 1000, 1000]; ... WZCylDef \Inside, volume, p_center, 400, 1000; WZLimSup \Temp, roll, volume; ENDPROC Uma varivel wztemporary, roll, definida como um cilindro. Se o rob atingir esse volume, o movimento ser interrompido.

Limitaes
Um dado wztemporary pode ser definido como uma varivel (VAR) ou como um dado persistente (PERS). Ele pode ser global na tarefa ou local dentro do mdulo, mas no local dentro de uma rotina.

Manual de Referncia do RAPID

7-wztemporary-105

wztemporary

Tipos de dados

Os argumentos do tipo wztemporary devem somente ser dados inteiros (no elementos de matriz ou componentes de registro). Uma zona global temporria s pode ser definida (WZLimSup ou WZDOSet) e liberada (WZFree) na tarefa MAIN. Definies de zonais globais temporrias no fundo poderiam afetar a execuo do programa na tarefa MAIN. As instrues WZDisable e WZEnable podem ser usadas na tarefa de segundo plano. Ao usar uma varivel persistente em um sistema multitarefa, ajuste o valor init para 0, ex. PERS wztemporary share_workarea := [0];

Estrutura
<dataobject of wztemporary> <wz of num>

Informaes relacionadas
Descritas em: Zonas Globais Forma da zona global Zona global estacionria Ativar superviso de limites de zona global Ativando sada relativa a uma zona Desativar zona global Eliminar zona global Principios de Deslocamento e E/S Zonas Globais Tipos de Dados - shapedata Tipos de dados - wzstationary Instrues - WZLimSup Instrues - WZDOSet Instrues - WZDisable Instrues - WZFree

7-wztemporary-106

Manual de Referncia do RAPID

Tipos de dados

zonedata

zonedata

Dados de zona

Zonedata usado para especificar como uma posio ser finalizada, isto , quo prximo da posio programada o eixo dever estar antes de mover-se em direo a prxima posio.

Descrio
Uma posio pode ser finalizada em forma de um ponto parado ou de um ponto de passagem. Um ponto parado significa que o rob e eixos externos devem chegar na posio especificada (ficar parado) antes da execuo do programa continuar com a prxima instruo. Um ponto de passagem significa que a posio programada nunca atingida.Em vez disso, a direo de movimento alterada antes da posio ser atingida.Podem ser definidas duas zonas (graus) diferentes para cada posio: - A zona para o trajeto do TCP. - A zona expandida para reorientao da ferramenta e para os eixos externos .

Zona da trajetria TCP

Posio programada

Incio de reorientao em direo posio seguinte Incio do trajeto de escanteio TCP Zona expandida
Figura 13 As zonas de um ponto de passagem.

As zonas funcionam da mesma maneira durante o movimento do eixo, mas a dimenso da zona pode diferir um pouco da que foi programada. A dimenso da zona no pode ser superior a metade da distncia at posio mais prxima (para a frente ou para trs). Se for especificada uma zona com uma dimenso maior, esta automaticamente reduzida pelo rob

Data Types do Sistema e Rotinas

1-zonedata-107

zonedata
A zona para o trajeto do TCP

Tipos de dados

Um trajeto circular (parbola) criado assim que a borda da zona seja alcanada (veja Figura 13). A zona para reorientao da ferramenta A reorientao comea logo que o TPC atinge a zona expandida. A ferramenta reorientada de forma a que a orientao seja a mesma que sai da zona como se estivesse na mesma posio quando os pontos de parada foram programados.A reorientao ser mais uniforme se a dimenso da zona for aumentada, e h menos risco de ter que reduzir a velocidade para executar a reorientao.

Figura 14a Trs posies so programadas, a ltima com uma orientao de ferramenta diferente.

Figura 14b Se todas as posies so pontos de parada, a execuo do programa ser como esta.

Tamanho da zona Figura 14c Se a posio mediana for um ponto de passagem, a execuo do programa ser como esta.

A zona para eixos externos Eixos externos iniciam o movimento em direo prxima posio logo que o TCP alcance a zona para eixos externos. Desta forma, um eixo mais lento pode iniciar a acelerao um estgio mais cedo e ento executar igualmente. Zona reduzida Com reorientaes maiores da ferramenta ou com maiores movimentos dos eixos externos, a zona expandida e mesmo a zona TPC podem ser reduzidas pelo rob. A zona ser definida como a dimenso relativa mais pequena da zona com base

1-zonedata-108

Data Types do Sistema e Rotinas

Tipos de dados

zonedata

nos componentes da zona (veja a pgina seguinte) e o movimento programado.


90 mm MoveL com 200 mm movimentos pzone_ori o da ferramenta, 25 de reorientao P1 da ferramenta e com a zona z60 As dimenses relativas da zona so pzone_tcp ________________________ = 60/200 = 30% comprimento do movimento P1 - P2 pzone_ori ________________________ = 90/200 = 45% comprimento do movimento P1 - P2 zone_ori ________________________ = 9o/25o = 36% ngulo de reorientao P1 - P2 60 mm pzone_tcp P2

9o zone_ori

Figura 15 Exemplo de zona reduzida para reorientao da ferramenta para 36% do movimento devido a zone_ori.

MoveL com 200 mm movimentos 90 mm 60 mm 9o da ferramenta, 60o de reorientao pzone_ori pzone_tcp zone_ori da ferramenta e da zona z60 P1 As dimenses relativas da zona so pzone_tcp ________________________ = 60/200 = 30% comprimento do movimento P1 - P2 zone_ori ________________________ = 9o/60o = 15% ngulo de reorientao P1 - P2 Figura 16 Exemplo de zona reduzida para reorientao da ferramenta e da trajetria do TCP para 15% do movimento devido a zone_ori. P2

Quando eixos externos esto ativos, eles afetam os tamanhos relativos da zona conforme as frmulas abaixo:

pzone_eax ________________________ comprimento do movimento P1 - P2 zone_leax ________________________ comprimento do movimento mx. linear do eixo ext. P1 - P2 zone_reax ________________________ ngulo de reorientao mx. do eico externo rotativo P1 - P2

NOTA: Se a zona do TCP for reduzida devido a zone_ori, zone_leax ou zone_reax, o planejador de trajetria entrar em um modo que possa gerenciar o caso de nenhum movimento do TCP. Se houver um movimento do TCP quando estiver nesse modo, a velocidade no ser compensada pela curvatura da trajetria em uma zona de canto. Isso causar, por exemplo, uma reduo de velocidade de 30% em um canto de 90 graus. Se isso for um problema, aumente o componente de zona de limitao. Data Types do Sistema e Rotinas 1-zonedata-109

zonedata

Tipos de dados

Componentes
finep (ponto fino) Tipo de dado: bool

Define se o movimento deve terminar como um ponto de parada (ponto fino) ou como um ponto de passagem. TRUE -> O movimento finaliza como um ponto parado. As componentes restantes no so usadas. FALSE -> O movimento finaliza como um ponto de passagem. (zona do trajeto do TCP) Tipo de dado: num

pzone_tcp

O tamanho (o raio) da zona em mm. A zona expandida ser definida como a dimenso relativa mais pequena da zona com base nos seguintes componentes e no movimento programado. pzone_ori (zona do trajeto de orientao) Tipo de dado: num

O tamanho da zona (o raio) para a reorientao da ferramenta. O tamanho definido como a distncia do TCP em relao ao ponto programado em mm. A dimenso deve ser maior do que o valor correspondente para pzone_tpc.Se for especificado um valor mais baixo, a dimenso automaticamente aumentada para ficar igual a pzone_tcp. pzone_eax (zona do trajeto dos eixos externos) Tipo de dado: num

O tamanho da zona (o raio) para eixos externos. O tamanho definido como a distncia do TCP em relao ao ponto programado em mm. A dimenso deve ser maior do que o valor correspondente para pzone_tcp. Se for especificado um valor mais baixo, a dimenso automaticamente aumentada para ficar igual a pzone_tcp. zone_ori ( zona da orientao) Tipo de dado: num

O tamanho da zona para a reorientao da ferramenta em graus. Se o rob est segurando o objeto de trabalho, isto significa o ngulo de rotao do objeto de trabalho. zone_leax ( zona p/eixos externos lineares) Tipo de dado: num

O tamanho da zona para eixos externos lineares em mm. zone_reax ( zona p/eixos externos rotacionais) Tipo de dado: num

O tamanho da zona para eixos externos rotacionais em graus.

1-zonedata-110

Data Types do Sistema e Rotinas

Tipos de dados

zonedata

Exemplos
VAR zonedata path := [ FALSE, 25, 40, 40, 10, 35, 5 ]; O dado de zona path definido com as seguintes caractersticas: - O tamanho da zona para o trajeto do TCP 25 mm. - O tamanho da zona para reorientao da ferramenta 40 mm (movimento do TCP). - O tamanho da zona para eixos externos 40 mm (movimento do TCP). Se o TCP ainda se mantiver imvel, ou se houver uma grande reorientao, ou se houver um movimento muito grande dos eixos externos em relao zona, nesse caso aplica-se o seguinte: - O tamanho da zona para reorientao da ferramenta 10 graus. - O tamanho da zona de eixos externos lineares 35 mm. - O tamanho da zona de eixos externos rotacionais 5 graus. path.pzone_tcp := 40; O tamanho da zona do trajeto do TCP ajustado para 40 mm.

Dados predefinidos
Um nmero de dados de zona j esto definidos no mdulo do sistema BASE. Pontos de parada Nome fine 0 mm

Pontos de passagem Movimento TCP Nome Roerientao da ferramenta

Trajeto TCPOrientao Eixos ext. Orientao Eixos linearesEixos rota-

Data Types do Sistema e Rotinas

1-zonedata-111

zonedata
tivos z1 z5 z10 z15 z20 z30 z40 z50 z60 z80 z100 z150 z200 1 mm 5 mm 10 mm 15 mm 20 mm 30 mm 40 mm 50 mm 60 mm 80 mm 100 mm 150 mm 200 mm 1 mm 8 mm 15 mm 23 mm 30 mm 45 mm 60 mm 75 mm 90 mm 120 mm 150 mm 225 mm 300 mm 1 mm 8 mm 15 mm 23 mm 30 mm 45 mm 60 mm 75 mm 90 mm 120 mm 150 mm 225 mm 300 mm 0.1 o 0.8 o 1.5 o 2.3 o 3.0 o 4.5 o 6.0 o 7.5 o 9.0 o 12 o 15 o 23 o 30 o

Tipos de dados

1 mm 8 mm 15 mm 23 mm 30 mm 45 mm 60 mm 75 mm 90 mm 120 mm 150 mm 225 mm 300 mm

0.1 o 0.8 o 1.5 o 2.3 o 3.0o 4.5 o 6.0 o 7.5 o 9.0 o 12 o 15 o 23 o 30 o

Estrutura
< 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 >

Informao relacionada
Descrito em: Instrues de posicionamento Movimentos/Trajetos em geral Configurao dos eixos externos Sumrio RAPID - Movimento Movimento e Princpios de E/S - Posicionamento na Execuo do Programa Guia do Usurio - Parmetros do Sistema

1-zonedata-112

Data Types do Sistema e Rotinas

Instrues

NDICE
:= AccSet ActUnit Add AliasIO Break ProcCall CallByVar Clear ClearIOBuff ClkReset ClkStart ClkStop Close Comment ConfJ ConfL CONNECT DeactUnit Decr EOffsOff EOffsOn EOffsSet ErrWrite EXIT ExitCycle FOR GetSysData GOTO GripLoad IDelete IDisable IEnable Compact IF IF Designa um valor Reduz a acelerao Ativa uma unidade mecnica Adiciona um valor numrico Define sinal de E/S com pseudnimo Parada na execuo do programa Chama uma nova rotina Chamar um procedimento com uma varivel Apaga um valor Limpar buffer de entrada de um canal serial Zera o cronmetro Liga o cronmetro Parar o cronmetro Fecha um arquivo ou um canal serial Comentrio Controla a config. durante movimento eixo a eixo Monitora a configurao durante movimento linear Conecta uma interrupo a uma rotina trap Desativa uma unidade mecnica Decremento de 1 Desativa o offset para eixos externos Ativa o offset para eixos externos Ativa o offset para eixos externos usando um valor Escreve uma Mensagem de Erro Termina a execuo do programa Interromper ciclo atual e iniciar seguinte Repete por um certo nmero de vezes Dados do sistema Get Vai para uma nova instruo Define a carga do rob Cancela uma interrupo Desabilita interrupes Habilita interrupes Se uma condio alcanada, ento... (uma instruo) Se uma condio satisfeita, ento ...; do contrrio ...

Data Types do Sistema e Rotinas

2-113

Instructions

Incr InvertDO IODisable IOEnable ISignalAI ISignalAO ISignalDI ISignalDO ISleep ITimer IVarValue IWatch label Load MechUnitLoad

Incrementa de 1 Inverte o valor de um sinal de sada digital Desativar unidade de E/S Ativar unidade de E/S Interrupes de sinal de entrada analgico Interrupes do sinal de sada analgica Ordena interrupes de um sinal de entrada digital Interrupes de um sinal de sada digital Desativa uma interrupo Ordena uma interrupo com tempo determinado Ordena uma varivel de valor de interrupo Ativa uma interrupo Nome da linha Carregar o mdulo de um programa durante a execuo Define uma carga para uma unidade mecnica MoveAbsJ Move o rob para posio absoluta de juno MoveC Move o rob circularmente MoveJ Move o rob com movimento eixo a eixo MoveL Move o rob linearmente MoveCDO Move circularmente o rob e ajusta a sada digital no canto MoveJDO Move o rob por movimento de eixo e ajusta a sada digital no canto MoveLDO Move o rob linearmente e ajusta a sada digital no canto MoveCSync Movimenta circularmente o rob e executa um procedimento RAPID MoveJSync Move o rob por movimento de eixo e executa um procedimento RAPID MoveL Sync Move linearmente o rob e executa um procedimento RAPID Open Abre um arquivo ou canal serial PathResol Sobrepor a resoluo do caminho PDispOff Desativa deslocamento de programa PDispOn Ativa deslocamento de programa PDispSet Ativa deslocamento de programa usando um valor PulseDO Gera um pulso de um sinal de sada digital RAISE Chama um tratamento de erro

2-114

Data Types do Sistema e Rotinas

Instructions

ReadAnyBin Reset RestoPath RETRY RETURN Rewind Save SearchC SearchL Set SetAO SetDO SetGO SingArea SpyStart SpyStop SoftAct SoftDeact StartLoad StartMove Stop StopMove StorePath TEST TestSign TPErase TPReadFK TPReadNum TPShow TPWrite TriggC TriggEquip TriggInt

Ler dados de um arquivo ou canal serial binrio Desliga um sinal de sada digital Retoma a trajetria aps uma interrupo Reinicia seguindo um erro Termina a execuo de uma rotina Rebobinar a posio do arquivo Salvar um mdulo de programa Pesquisa circularmente usando o rob Pesquisa linearmente usando o rob Liga um sinal de sada digital Muda o valor de um sinal de sada analgico Muda o valor de um sinal de sada digital Muda o valor de um grupo de sinais de sada digital Define interpolao em torno de pontos singulares Iniciar gravao de dados em tempo de execuo Interromper gravao de dados em tempo de execuo Ativa o servo soft Desativa o servo soft Carregar um mdulo de programa durante a execuo Reinicia o movimento do rob Parar a execuo do programa Pra o movimento do rob Salva a trajetria quando ocorre uma interrupo Dependendo do valor de uma expresso ... Sada dos sinais de teste Apaga texto impresso na unidade de programao L teclas de funo L um nmero da unidade de programao Trocar janela na unidade de programao Escreve na unidade de programao Movimento circular do rob com eventos Define uma posio-tempo fixo por um evento de E/S Define uma posio relacionada interrupo

Data Types do Sistema e Rotinas

2-115

Instructions

TriggIO TriggJ TriggL TRYNEXT TuneReset TuneServo UnLoad WaitDI WaitDO WaitLoad VelSet WHILE Write WriteAnyBin WriteBin WriteStrBin WaitTime WaitUntil WZBoxDef WZCylDef WZDisable WZDOSet WZEnable WZFree WZLimSup WZSphDef

Define uma posio fixada por um evento de E/S Movimentos dos eixos do rob com eventos Movimentos lineares do rob com eventos Pula uma instruo que causou um erro Desliga o ajuste de servo Ajuste de Servo Descarregar um mdulo de um programa durante a execuo Espera um sinal de entrada digital Espera at que um sinal de sada digital seja ligado Conecta o mdulo carregado tarefa Muda a velocidade programada Repetir enquanto ... Escreve em um arquivo tipo texto ou canal serial Escreve dados em um canal serial ou arquivo binrio Escreve para um canal serial binrio Escrever uma string para um canal serial binrio Espera um tempo determinado Espera uma condio ser satisfeita Definir uma zona global em forma de caixa Definir uma zona global em forma de cilindro Desativar a superviso da zona global temporria Ativar a zona global para ajustar a sada digital Ativar superviso da zona global temporria Eliminar superviso da zona global temporria Ativar superviso do limite da zona global Definir uma zona global em forma de esfera

2-116

Data Types do Sistema e Rotinas

Instrues

:=

:=

Designa um valor
A instruo := usada para designar um novo valor ao dado. Este valor pode ser desde um valor constante at uma expresso aritmtica, ex. reg1+5*reg3.

Exemplos
reg1 := 5; Para reg1 designado o valor 5. reg1 := reg2 - reg3; Para reg1 designado o valor do clculo reg2-reg3. counter := counter + 1; counter aumentado em um.

Argumentos Data := Value


Data Um novo valor designado ao dado. Value O valor desejado. DataType:Same as Data DataType: All

Exemplos
tool1.tframe.trans.x := tool1.tframe.trans.x + 20; O TCP para tool1 deslocado 20 mm na direo-X. pallet{5,8} := Abs(value); A um elemento na matriz pallet designado um valor igual ao valor absoluto da varivel value.

Data Types do Sistema e Rotinas

2-:=-117

:=

Instrues

Limitaes
O dado (o dado o qual o dado deve ser mudado) no deve ser - uma constante - um tipo de dado sem valor. O dado e o valor devem ter tipos de dado similares (o mesmo).

Sintaxe
(EBNF) <designao de destino> := <expresso> ; <designao de destino> ::= <varivel> | <persistente> | <parmetro> | <VAR>

Informaes relacionadas
Descrito em: Expresses DataType sem valor Designando um valor inicial ao dado Designando manualmente um valor ao dado Caractersticas Bsicas- Expresses Caractersticas Bsicas - Tipo de dados Caractersticas Bsicas - Dados Programando e Testando

2-:=-118

Data Types do Sistema e Rotinas

Instrues

AccSet

AccSet

Reduz a acelerao
AccSet usado quando manipula-se cargas frgeis. Permite aceleraes e desaceleraes lentas, que resulta em suaves movimentos do rob.

Exemplos
AccSet 50, 100; A acelerao limitada em 50% do valor normal. AccSet 100, 50; A rampa de acelerao limitada em 50% do valor normal.

Argumentos AccSet
Acc

Acc Ramp
DataType: num

Acelerao e desacelerao como uma porcentagem do valor normal. 100% corresponde a acelerao mxima. Valor mximo: 100%. Valor de entrada < 20% d 20% de acelerao mxima. Ramp DataType: num

A taxa de acelerao e desacelerao aumenta como uma porcentagem do valor normal (veja Figure 17). Solavancos podem ser restringidos por reduo deste valor. 100% corresponde a taxa mxima. Valor mximo: 100%. Valor de entrada < 10% d 10% de taxa mxima.

Data Types do Sistema e Rotinas

2-AccSet-119

AccSet

Instrues

Acelerao

Tempo AccSet 100, 100, i.e.acelerao normal Acelerao Acelerao

Tempo AccSet 30, 100 AccSet 100, 30 Figure 17 Reduzindo a acelerao resulta em movimentos suaves.

Tempo

Execuo do programa
A acelerao aplicada ao rob e para eixos externos, at que uma nova instruo AccSet seja executada. O valor default (100%) so automaticamente fixados - numa partida a frio - quando um novo programa carregado - quando comea a execuo do programa desde o incio.

Sintaxe
AccSet [ Acc := ] < expresso (IN) do num > , [ Ramp := ] < expresso (IN) do num > ;

Informaes relacionadas
Descrito em: Instrues de posicionamento Sumrio RAPID - Movimento

2-AccSet-120

Data Types do Sistema e Rotinas

Instrues

ActUnit

ActUnit

Ativa uma unidade mecnica

ActUnit usada para ativar uma unidade mecnica. Pode ser usada para determinar qual unidade a ser ativada quando, por exemplo, unidades de drive comuns so usadas.

Exemplo
ActUnit orbit_a; Ativao do orbit_a da unidade mecnica.

Argumentos ActUnit MecUnit


MecUnit (Unidade Mecnica) DataType: mecunit

O nome da unidade mecnica a ser ativada.

Execuo do programa
Quando o rob e eixos externos tiverem que chegar ao mesmo tempo, a unidade mecnica especificada ativada. Isto significa que controlada e monitorada pelo rob. Se vrias unidades mecnicas compartilham uma unidade de drive comum, a ativao de uma dessas unidades tambm ir conectar aquela unidade unidade de drive comum.

Limitaes
A instruo ActUnit no pode ser usada em - um programa de sequncia StorePath ... RestoPath - uma rotina RESTART A instruo de movimento anterior a essa instruo deve ser concluda com um ponto de parada, a fim de fazer um reincio dessa instruo se houver uma falha de energia.

Data Types do Sistema e Rotinas

2-ActUnit-121

ActUnit

Instrues

Sintaxe
ActUnit [MecUnit := ] < varivel (VAR) do mecunit> ;

Informaes relacionadas
Descrito em: Desativando unidades mecnicas Unidades mecnicas Outros exemplos Instrues - DeactUnit DataTypes - mecunit Instrues - DeactUnit

2-ActUnit-122

Data Types do Sistema e Rotinas

Instrues

Add

Add

Adiciona um valor numrico


Add usado para adicionar ou subtrair um valor de uma varivel numrica ou de uma persistente.

Exemplos
Add reg1, 3; 3 adicionado em reg1, i.e. reg1:=reg1+3. Add reg1, -reg2; O valor de reg2 subtrado de reg1, i.e. reg1:=reg1-reg2.

Argumentos Add
Name O nome da varivel ou persistente a ser mudada. AddValue O valor a ser adicionado. DataType: num

Name AddValue
DataType: num

Sintaxe
Add [ Name := ] < var ou pers (INOUT) do num > , [ AddValue := ] < expresso (IN) do num > ;

Informaes relacionadas
Descrito em: Incrementa uma varivel em 1 Decrementa uma varivel em 1 Alterando dado usando uma expresso arbitrria, ex. multiplicao Instrues - Incr Instrues - Decr Instrues - :=

Data Types do Sistema e Rotinas

2-Add-123

Add

Instrues

2-Add-124

Data Types do Sistema e Rotinas

Instrues

AliasIO

AliasIO

Define sinal de E/S com pseudnimo

AliasIO usado para definir um sinal de qualquer tipo com um pseudnimo ou para usar sinais em mdulos de tarefa internos. Os sinais com pseudnimos podem ser usados em programas genricos predefinidos, sem qualquer modificao do programa antes de executar em diferentes instalaes de rob. A instruo AliasIO deve ser executada antes de qualquer uso do sinal real. Consulte o exemplo 1 abaixo para mdulos carregados e o exemplo 2 abaixo para mdulos internos.

Exemplo 1
VAR signaldo alias_do; PROC prog_start() AliasIO config_do, alias_do; ENDPROC A rotina prog_start conectada ao evento START nos parmetros do sistema. O sinal de sada digital alias_do definido pelo programa conectado ao sinal de sada digital config_do configurado no incio do programa (comea o programa pelo incio).

Argumentos AliasIO FromSignal ToSignal


FromSignal Mdulos carregados: O nome identificador de sinal conforme o sinal de configurao (tipo de dados signalxx) do qual o descritor de sinal copiado. O sinal deve ser definido na configurao de E/S. Mdulos internos: Uma referncia (CONST, VAR, PERS ou parmetro destes) contendo o nome do sinal (tipo de dados string) a partir do qual o descritor de sinal, aps a pesquisa no sistema, copiado. O sinal deve ser definido na configurao de E/S. ToSignal Tipo de dados: signalxx Tipo de dados: signalxx ou string

O identificador de sinal conforme o programa (tipo de dados signalxx) para o

Data Types do Sistema e Rotinas

2-AliasIO-125

AliasIO

Instrues
qual o descritor de sinal copiado. O sinal deve ser declarado no programa RAPID. O mesmo tipo de dados deve ser usado (ou find) para os argumentos FromSignal e ToSignal , devendo ser do tipo signalxx (signalai, signalao, signaldi, signaldo, signalgi ou signalgo).

Execuo do programa
O valor descritor de sinal copiado do sinal fornecido no argumento FromSignal para o sinal fornecido no argumento ToSignal.

Exemplo 2
VAR signaldi alias_di; PROC prog_start() CONST string config_string := "config_di"; AliasIO config_string, alias_di; ENDPROC A rotina prog_start conectada ao evento START nos parmetros do sistema. O sinal de sada digital alias_di, definido pelo programa, conectado ao sinal de sada digital configurado config_di (via constante config_string) no incio do programa (comea o programa pelo incio).

Limitao
Ao iniciar o programa, o sinal de pseudnimo no pode ser usado at que a instruo AliasIO seja executada. A instruo AliasIO deve ser colocada na - rotina de evento executada no incio do programa (evento START) ou - na parte do programa executada aps cada incio de programa (antes do uso do sinal) A instruo AliasIO no est disponvel para programao a partir da Unidade de programao (somente a partir do Criador de programas). A opo Funes do desenvolvedor necessria.

2-AliasIO-126

Data Types do Sistema e Rotinas

Instrues

AliasIO

Sintaxe
AliasIO [ FromSignal := ] < reference (REF) of anytype> , [ ToSignal := ] < variable (VAR) of anytype> ;

Informaes relacionadas
Descrito em: Instrues de entrada/sada Funcionalidade de entrada/sada em geral Configurao de E/S Definindo rotinas de evento Mdulos de tarefa carregados/internos Resumo RAPID Sinais de entrada e sada Princpios de E/S e movimentao Princpios de E/S Guia do Usurio Parmetros do Sistema Guia do Usurio Parmetros do Sistema Guia do Usurio Parmetros do Sistema

Data Types do Sistema e Rotinas

2-AliasIO-127

AliasIO

Instrues

2-AliasIO-128

Data Types do Sistema e Rotinas

Instrues

Break

Break

Parada na execuo do programa


Break usado para fazer uma parada imediata na execuo do programa para efeito de anlise (de bug) do programa RAPID.

Exemplo
.. Break; ... Para a execuo do programa e possvel analisar variveis, valores etc. para efeitos de anlise (de bug).

Execuo do programa
A instruo pra a execuo do programa imediatamente, sem esperar que o rob e os eixos externos alcancem seus pontos de destino programados para movimentos sendo feitos ao mesmo tempo. A execuo do programa pode, ento, ser reiniciada a partir da prxima instruo. Se houver uma instruo Break em alguma rotina de evento, a rotina ser executada desde o incio do prximo evento.

Sintaxe
Break;

Informaes relacionadas
Descrito em: Parando ao do programa Parando aps um erro fatal Acabando a execuo do programa Somente parando movimentos do rob Instrues - Stop Instrues - Exit Instrues - Exit Instrues - StopMove

Data Types do Sistema e Rotinas

2-Break-129

Break

Instrues

2-Break-130

Data Types do Sistema e Rotinas

Instrues

ProcCall

ProcCall

Chama uma nova rotina

Uma chamada de rotina usada para transferir a execuo do programa para outra rotina. Quando a rotina foi completamente executada, a execuo do programa continua com a instruo seguinte a chamada da rotina. possvel enviar um nmero de argumentos para a nova rotina. Estes controlam o comportamento da rotina e torna possvel que a mesma rotina seja usada para diversas tarefas.

Exemplos
weldpipe 1; Chama a rotina weldpipe1. errormessage; Set do1; . PROC errormessage() TPWrite "ERROR"; ENDPROC A rotina errormessage chamada. Quando esta rotina est pronta, a execuo do programa retorna para a instruo seguinte do chamado da rotina, Set do1.

Argumentos Procedure
Procedure O nome da rotina a ser chamada. Argument DataType: De acordo com a declarao do procedimento

{ Argument }
Identificador

Os argumentos da rotina (de acordo com os parmetros da rotina).

Exemplo
weldpipe2 10, lowspeed; Chama a rotina weldpipe2, incluindo dois argumentos.

Data Types do Sistema e Rotinas

2-ProcCall-131

ProcCall
weldpipe3 10 \speed:=20;

Instrues

Chama a rotina weldpipe3, incluindo argumento obrigatrio e um opcional.

Limitaes
Os argumentos da rotina devem estar de acordo com seus parmetros: - Todos os argumentos obrigatrios devem ser includos. - Eles devem ser colocados na mesma ordem. - Eles devem ser do mesmo tipo de dado. - Eles devem ser do tipo correto com relao ao modo de acesso (entrada, varivel ou persistente). Uma rotina pode chamar outra rotina que, por sua vez, chama outra rotina, etc. Uma rotina tambm pode chamar a si mesma, i.e. uma chamada recursiva. O nmero de nveis de rotina permitido depende do nmero de parmetros, mas normalmente permitido mais que 10 nveis.

Sintaxe
(EBNF) <procedure> [ <argument list> ] ; <procedure> ::= <identifier>

Informaes relacionadas
Descrito em: Argumentos, parmetros Mais exemplos Caractersticas Bsicas - Rotinas Exemplos de programas

2-ProcCall-132

Data Types do Sistema e Rotinas

Instrues

CallByVar

CallByVarChamar um procedimento com uma varivel


CallByVar (Chamar com varivel) pode ser usada para chamar procedimentos com nomes especifcos, isto . proc_name1, proc_name2, proc_name3 ... proc_namex atravs de uma varivel.

Exemplo
reg1 := 2; CallByVar proc, reg1; O procedimento proc2 chamado.

Argumentos CallByVar Name Number


Name Data type: string

A primeira parte do nome do procedimento, isto proc_name. Number Data type: num

O valor nmerico para o nmero do procedimento. Este valro convertido para uma string e d a 2(segunda) parte do nome do procedimento, isto , 1.O valor deve ser um inteiro positivo.

Exemplo
Seleo esttica de chamada do procedimento TEST reg1 CASE 1: lf_door door_loc; CASE 2: rf_door door_loc; CASE 3: lr_door door_loc; CASE 4: rr_door door_loc; DEFAULT: EXIT; ENDTEST Dependendo do valor de registro reg1 is 1, 2, 3 ou 4, procedimentos diferentes so chamados que performam o tipo de trabalho apropriado para a porta sele-

Data Types do Sistema e Rotinas

2-CallByVar-133

CallByVar
cionada . A localizao da porta no argumento door_loc.

Instrues

Seleo dinmica de chamada do procedimento com sintaxe RAPID reg1 := 2; %proc+NumToStr(reg1,0)% door_loc; O procedimento proc2 chamado com o argumento door_loc. Limitao: Todos os procedimentos tm que ter um nome especifico, isto , proc1, proc2, proc3. Seleo dinmica de chamada de procedimento com CallByVar reg1 := 2; CallByVar proc,reg1; O procedimento proc2 chamado. Limitao: Todos os procedimentos tm que ter um nome especifico, proc1, proc2, proc3, e no pode ser usado nenhum argumento.

Limitaes
Apenas pode ser utilizado para chamar procedimentos sem parmetros. A execuo de CallByVar demora um pouco mais de tempo do que a execuo de uma chamada de procedimento normal.

Tratamento de erros
Em caso de referncia a um procedimento desconhecido, a varivel ERRNO do sistema ajustada para ERR_REFUNKPRC. Em caso de erro de chamada de procedimento (no procedimento), a varivel ERRNO do sistema ajustada para ERR_CALLPROC. Estes erros poem ser manipulados pelo manipulador de erros.

Sintaxe
CallByVar [Name :=] <expression (IN) of string>, [Number :=] <expression (IN) of num>;

2-CallByVar-134

Data Types do Sistema e Rotinas

Instrues

CallByVar

Informao relacionada
Descrito em: Procedimentos de chamada Caractersticas Bsicas- Rotinas Guia do Usurio- A Linguagem de Programao RAPID

Data Types do Sistema e Rotinas

2-CallByVar-135

CallByVar

Instrues

2-CallByVar-136

Data Types do Sistema e Rotinas

Instrues

Clear

Clear

Apaga um valor
Clear usado para apagar uma varivel numrica ou persistente, i.e. fica igual a 0.

Exemplo
Clear reg1; Reg1 apagado, i.e. reg1:=0.

Argumentos Clear
Name O nome da varivel ou persistente a ser apagada.

Name
DataType: num

Sintaxe
Clear [ Name := ] < var ou pers (INOUT) do num > ;

Informaes relacionadas
Descrito em: Incremento a varivel em1 Decremento a varivel em1 Instrues - Incr Instrues - Decr

Data Types do Sistema e Rotinas

2-Clear-137

Clear

Instrues

2-Clear-138

Data Types do Sistema e Rotinas

Instrues

ClkReset

ClkReset

Zera o cronmetro

ClkReset usado para zerar o relgio que funciona como cronmetro. Esta funo pode ser usada antes de usar o relgio para ter certeza que ele est no 0.

Exemplo
ClkReset clock1; O relgio clock1 zerado.

Argumentos ClkReset
Clock O nome do relgio que zerado.

Clock
DataType: clock

Execuo do programa
Quando o relgio zerado, ele colocado em 0. Se o relgio est marcando, ele poder ser parado e ento zerado.

Sintaxe
ClkReset [ Clock := ] < varivel (VAR) do clock > ;

Informaes relacionadas
Descrito em: Outras instrues do relgio Sumrio RAPID - Sistema & Hora

Data Types do Sistema e Rotinas

2-ClkReset-139

ClkReset

Instrues

2-ClkReset-140

Data Types do Sistema e Rotinas

Instrues

ClkStart

ClkStart

Liga o cronmetro

ClkStart usado para ligar o cronmetro.

Exemplo
ClkStart clock1; O relgio clock1 ligado.

Argumentos ClkStart
Clock O nome do relgio a ser ligado.

Clock
DataType: clock

Execuo do programa
Quando o relgio ligado, ele ir contar os segundos at que seja parado. O relgio continua a contar quando o programa que o iniciou parado. Entretanto, o evento que voc deseja marcar o tempo pode no ser vlido. Por exemplo, se o programa estava medindo o tempo de espera para um sinal de entrada, o sinal pode ter sido recebido quando o programa estava parado. Neste caso, o programa no ser capaz de "ver"o evento que ocorreu enquanto o programa estava parado. O relgio continua a contar quando o rob desligado, enquanto a bateria back-up retiver o programa que contm a varivel relgio. Se o relgio est marcando ele pode ser lido, parado ou zerado.

Exemplo
VAR clock clock2; ClkReset clock2; ClkStart clock2; WaitUntil DInput(di1) = 1; ClkStop clock2; time:=ClkRead(clock2); O tempo de espera para di1 tornar-se 1 marcado.

Data Types do Sistema e Rotinas

2-ClkStart-141

ClkStart

Instrues

Sintaxe
ClkStart [ Clock := ] < varivel (VAR) do clock > ;

Informaes relacionadas
Descrito em: Outras informaes do relgio Sumrio RAPID - Sistema & Hora

2-ClkStart-142

Data Types do Sistema e Rotinas

Instrues

ClkStop

ClkStop

Parar o cronmetro

ClkStop usado para parar o cronmetro.

Exemplo
ClkStop clock1; O relgio clock1 parado.

Argumentos ClkStop
Clock O nome do relgio a ser parado.

Clock
DataType: clock

Execuo do programa
Quando o relgio parado, ele pra de contar o tempo. Se um relgio parado, ele pode ser lido, reiniciado ou zerado.

Sintaxe
ClkStop [ Clock := ] < varivel (VAR) do clock > ;

Informaes relacionadas
Descrito em: Outras informaes do relgio Mais exemplos Sumrio RAPID - Sistema & Hora Instrues - ClkStart

Data Types do Sistema e Rotinas

2-ClkStop-143

ClkStop

Instrues

2-ClkStop-144

Data Types do Sistema e Rotinas

Instrues

Close

Close

Fecha um arquivo ou um canal serial


Close usado para fechar um arquivo ou um canal serial.

Exemplo
Close channel2; O canal serial referido por channel2 fechado.

Argumentos Close
IODevice

IODevice
DataType: iodev

O nome (referncia) do arquivo ou canal serial a ser fechado.

Execuo do programa
O arquivo ou canal serial especificado fechado e deve ser reaberto antes de ler ou escrever. Se ele j estava fechado, a instruo ignorada.

Sintaxe
Close [IODevice :=] <varivel (VAR) do iodev>;

Informaes relacionadas
Descrito em: Abrindo um arquivo ou canal serial Sumrio RAPID - Comunicao

Data Types do Sistema e Rotinas

2-Close-145

Close

Instrues

2-Close-146

Data Types do Sistema e Rotinas

Instrues

ClearIOBuff

ClearIOBuff

Limpar buffer de entrada de um canal serial

ClearIOBuff (Limpar Buffer de E/S) usado para limpar o buffer de entrada de um canal serial. Todos os caracteres; do canal serial de entrada que passam pelo buffer so descartados.

Exemplo
VAR iodev channel2; ... Open "sio1:", channel2 \Bin; ClearIOBuff channel2; O buffer de entrada do canal serial referido por channel2 limpo.

Argumentos ClearIOBuff
IODevice

IODevice
Tipo de dados: iodev

O nome (referncia) do canal serial cujo buffer de entrada deve ser limpo.

Execuo do programa
Todos os caracteres do canal serial de entrada que passam pelo buffer so descartados. As prximas instrues de leitura esperam nova entrada do canal.

Limitaes
Essa instruo s pode ser usada em canais seriais.

Sintaxe
ClearIOBuff [IODevice :=] <variable (VAR) of iodev>;

Data Types do Sistema e Rotinas

2-ClearIOBuff-147

ClearIOBuff

Instrues

Informaes relacionadas
Descrito em: Abertura de um canal serial Resumo RAPID - Comunicao

2-ClearIOBuff-148

Data Types do Sistema e Rotinas

Instrues

comment

Comment

Comentrio

Comment usado somente para tornar o programa mais fcil de entender. No tem efeito na execuo do programa.

Exemplo
! Vai para a posio acima do palete MoveL p100, v500, z20, tool1; inserido um comentrio no programa para torn-lo mais fcil de entender.

Argumentos ! Comment
Comment Nenhum texto. Text string

Execuo do programa
Nada acontece quando voc executa esta funo.

Sintaxe
(EBNF) ! {<character>} <newline>

Informaes relacionadas
Descrito em: Caracteres permitidos em um comentrio Comentrios com dado e declarao de rotina Caractersticas BsicasElementos bsicos Caractersticas BsicasElementos bsicos

Data Types do Sistema e Rotinas

2-comment-149

comment

Instrues

2-comment-150

Data Types do Sistema e Rotinas

Instrues

ConfJ

ConfJ

Controla a config. durante movimento eixo a eixo


ConfJ (Configuration Joint) usado para especificar se a configurao do rob deve ou no ser controlada durante movimento eixo a eixo. Se no controlada, o rob pode algumas vezes utilizar uma configurao diferente daquela o qual foi programado. Com Conf\Off o rob no pode conectar a configurao de eixos principais - o rob ir procurar uma soluo com a mesma configurao dos eixos principais como fosse a atual. Move-se para a configurao de punho mais prxima para os eixos 4 e 6.

Exemplos
ConfJ \Off; MoveJ *, v1000, fine, tool1; O rob se move para a posio e a orientao programadas. Se esta posio pode ser alcanada de diferentes maneiras, com diferentes configuraes de eixo, a posio possvel mais prxima escolhida. ConfJ \On; MoveJ *, v1000, fine, tool1; O rob se move para a posio, orientao e configurao de eixo programado. Se isto no possvel, a execuo do programa para.

Argumentos ConfJ \On [\On] | [\Off]


DataType: switch O rob sempre se move para a configurao de eixo programada. Se isto no for possvel utilizando a posio e orientao programada, a execuo do programa pra. O rob IRB5400 se mmove para a configurao de eixo programada ou para uma configurao de eixo perto da programada. A execuo do programa no pra se for impossvel atingir a configurao de eixo programada.

\Off

DataType: switch O rob sempre se move para a configurao de eixo mais prxima.

Execuo do programa
Se o argumento \On (ou nenhum argumento) escolhido, o rob sempre se mover

Data Types do Sistema e Rotinas

2-ConfJ-151

ConfJ

Instrues
para a configurao de eixo programada. Se isto no possvel utilizando a posio e orientao programada, a execuo do programa para antes de iniciar movimento. Se o argumento \Off escolhido, o rob sempre se move para a configurao de eixo mais prxima. Esta pode ser diferente da programada se a configurao foi especificada manualmente de forma errada, ou se um deslocamento de um programa foi rea-lizado. O controle ativado por default. Este automaticamente colocado em - uma partida a frio - quando um novo programa carregado - quando comea a execuo do programa desde o incio.

Sintaxe
ConfJ [ \ On] | [ \ Off] ;

Informaes relacionadas
Descrito em: Manipulao com configuraes diferentes Princpios de Movimento Configurao do rob

Configurao do rob durante movimento linear Instrues - ConfL

2-ConfJ-152

Data Types do Sistema e Rotinas

Instrues

ConfL

ConfL

Monitora a configurao durante movimento linear


ConfL (Configuration Linear) usado para especificar se a configurao do rob deve ou no ser monitorada durante movimento linear ou circular. Se ele no monitorado, a configurao no tempo de execuo pode diferir daqueles do tempo programado. Isto pode resultar em movimentos inesperados do rob quando o modo mudado para movimento do punho. NOTA: A monitorao da configurao no usada no rob IRB5400.

Exemplos
ConfL \On; MoveL *, v1000, fine, tool1; A execuo do programa pra quando a configurao programada no possvel de ser alcanada a partir da posio atual. SingArea \Wrist; Confl \On; MoveL *, v1000, fine, tool1; O rob se move para a posio, orientao e configurao de eixo de punho programadas. Se isto no possvel, a execuo do programa pra. ConfL \Off; MoveL *, v1000, fine, tool1; Nenhuma mensagem de erro mostrada no display quando a configurao programada no a mesma que a configurao estipulada pela execuo do programa.

Argumentos ConfL \On


A configurao do rob monitorada.

[\On] | [\Off]
DataType: switch

\Off
A configurao do rob no monitorada.

DataType: switch

Data Types do Sistema e Rotinas

2-ConfL-153

ConfL

Instrues

Execuo do programa
Durante movimento linear ou circular, o rob sempre se move para a posio e orientao programada que tem a configurao de eixo mais prxima possvel. Se o argumento \On (ou nenhum argumento) escolhido, ento o rob checa se a configurao de eixo de punho programada pode ser alcanada pela atual posio. Se ela no pode ser alcanada, a execuo do programa pra. Entretanto, possvel reiniciar o programa novamente, mas os eixos do punho continuaro com configurao errada. Num ponto de parada, o rob checa que as configuraes alcanadas de todos os eixos, e no somente dos eixos do punho. Se SingArea\Wrist tambm usado, o rob sempre se move para a configurao dos eixos do punho programada e num ponto de parada ficando a configurao dos eixos para serem checadas. Se o argumento \Off escolhido, no h monitoramento. Monitoramento ativado default. Esta automaticamente colocado em - uma partida a frio - quando um novo programa carregado - quando comea a execuo de um programa desde o incio.

Sintaxe
ConfL [ \ On] | [ \ Off] ;

Informaes relacionadas
Descrito em: Manipulao com configuraes diferentes Configurao do rob durante movimento eixo a eixo Movimentos e Princpios E/SConfigurao do rob Instrues - ConfJ

2-ConfL-154

Data Types do Sistema e Rotinas

Instrues

CONNECT

CONNECT

Conecta uma interrupo a uma rotina trap

CONNECT usado para achar a identificao de uma interrupo e conect-la a rotina trap. A interrupo definida ordenando um evento de interrupo e especificando sua identificao. Assim, quando tal evento ocorrer, a rotina trap automaticamente executada.

Exemplo
VAR intnum feeder_low; CONNECT feeder_low WITH feeder_empty; ISignalDI di1, 1 , feeder_low; Uma interrupo identificada feeder_low criada na qual conectada a uma rotina trap feeder_empty. A interrupo definida como entrada di1 est em nvel lgico alto. Em outras palavras, quando este sinal torna-se alto (igual a um), uma rotina trap feeder_empty executada.

Argumentos CONNECT Interrupt WITH Trap routine


Interrupt DataType: intnum

A varivel que deve ser designada na interrupo identificada. Esta no deve ser declarada dentro de uma rotina (dado de rotina). Trap routine O nome da rotina trap . Identifier

Execuo de programa
A varivel designada a uma interrupo identificada na qual pode ento ser usada quando ordena ou desabilita interrupes. Esta identificao tambm conectada para especificar uma rotina trap. Note que um evento pode ser manipulado, uma interrupo tambm deve ser ordenada, por exemplo, o evento especificado.

Limitaes
Uma interrupo (identidade de interrupo) no pode ser conectada mais de uma vez

Data Types do Sistema e Rotinas

2-CONNECT-155

CONNECT

Instrues

na rotina trap. Interrupes diferentes, entretanto, pode ser conectada mesma rotina trap. Quando uma interrupo tinha sido conectada a uma rotina trap, ela no pode ser reconectada ou transferida a uma outra rotina; ela deve primeiro ser apagada usando a instruo IDelete.

Tratamento de erros
Se a varivel de interrupo j est ligada rotina TRAP, a varivel do sistema ERRNO ajustada para ERR_ALRDYCNT. Se a varivel de interrupo no for uma varivel de referncia, a varivel do sistema ERRNO ajustada para ERR_CNTNOTVAR. Se no se encontrarem disponveis mais nmeros de interrupo, a varivel do sistema ERRNO ajustada para ERR_INOMAX. Estes erros podem ser manuseados no tratamento de ERROS.

Sintaxe
(EBNF) CONNECT <destino da conexo> WITH <trap>; <destino da conexo> ::= <varivel> | <parmetro> | <VAR> <trap> ::= <identidade>

Informaes relacionadas
Descrito em: Sumrio de interrupes Mais informaes sobre interrupes Sumrio RAPID - Interrupes Caractersticas bsicas- Interrupes

2-CONNECT-156

Data Types do Sistema e Rotinas

Instrues

DeactUnit

DeactUnit

Desativa uma unidade mecnica

DeactUnit usada para desativar uma unidade mecnica. Tambm pode ser usada para determinar qual unidade deve ser ativada quando, por exemplo, unidades de drive comum so usadas.

Exemplos
DeactUnit orbit_a; Desativao da unidade mecnica orbit_a. MoveL p10, v100, fine, tool1; DeactUnit track_motion; MoveL p20, v100, z10, tool1; MoveL p30, v100, fine, tool1; ActUnit track_motion; MoveL p40, v100, z10, tool1; A unidade track_motion ser estacionrio quando o rob se move para p20 e p30. Depois disso, ambos o rob e o track_motion se movero para p40. MoveL p10, v100, fine, tool1; DeactUnit orbit1; ActUnit orbit2; MoveL p20, v100, z10, tool1; A unidade orbit1 desativada e a orbit2 ativada.

Argumentos DeactUnit MecUnit


MecUnit (Unidade Mecnica) DataType: mecunit

O nome da unidade mecnica que deve ser desativada.

Execuo do programa
Quando o rob e eixos externos tiverem que chegar ao mesmo tempo, a unidade mecnica especificada desativada. Isto significa que ela no ser controlada nem monitorada at ser reativada. Se vrias unidades mecnicas compartilham uma unidade de drive, a desativao de uma das unidades mecnicas tambm ser desconectada da unidade de drive comum.

Data Types do Sistema e Rotinas

2-DeactUnit-157

DeactUnit

Instrues

Limitaes
A instruo DeactUnit no pode ser usada - na sequncia do programa StorePath ... RestoPath - na rotina RESTART - quando um dos eixos na unidade mecnica est no modo independente. A instruo de movimento anterior a esta instruo, deve ser terminada com um ponto de parada, a fim de fazer um reincio dessa instruo se houver uma falha de energia.

Sintaxe
DeactUnit [MecUnit := ] < varivel (VAR) do mecunit> ;

Informaes relacionadas
Descrito em: Ativando unidades mecnicas Unidades mecnicas Instrues - ActUnit DataTypes- mecunit

2-DeactUnit-158

Data Types do Sistema e Rotinas

Instrues

Decr

Decr

Decremento de 1
Decr usado para subtrair 1 de uma varivel numrica ou persistente.

Exemplo
Decr reg1; 1 subtrado de reg1, i.e. reg1:=reg1-1.

Argumentos Decr
Name O nome da varivel ou persistente a ser subtrada.

Name
DataType: num

Exemplo
TPReadNum no_of_parts, "Quantas partes devem ser produzidas? "; WHILE no_of_parts>0 DO produce_part; Decr no_of_parts; ENDWHILE perguntado ao operador para entrar com o nmero de partes a serem produzidas. A varivel no_of_parts usada para contar o nmero que ainda deve ser produ-zido.

Sintaxe
Decr [ Name := ] < var ou pers (INOUT) do num > ;

Data Types do Sistema e Rotinas

2-Decr-159

Decr

Instrues

Informaes relacionadas
Descrito em: Incrementa a varivel em 1 Subtraindo qualquer valor de uma varivel Alterando dados usando uma expresso arbitrria, por exemplo, multiplicao Instrues - Incr Instrues - Add Instrues - :=

2-Decr-160

Data Types do Sistema e Rotinas

Instrues

EOffsOff

EOffsOff

Desativa o offset para eixos externos

EOffsOff (External Offset Off) usado para desativar o offset para eixos externos. O offset para eixos externos ativado pela instruo EOffsSet ou EOffsOn e se aplica a todos os movimentos at que algum outro offset para eixos externos seja ativado ou at que o offset para eixos externos seja desativado.

Exemplos
EOffsOff; Desativao do offset para eixos externos. MoveL p10, v500, z10, tool1; EOffsOn \ExeP:=p10, p11; MoveL p20, v500, z10, tool1; MoveL p30, v500, z10, tool1; EOffsOff; MoveL p40, v500, z10, tool1; O offset definido como uma diferena entre a posio de cada eixo no p10 e p11. Este deslocamento afeta o movimento para p20 e p30,mas no para p40.

Execuo do programa
Offsets para eixos externos ativos so desligados.

Sintaxe
EOffsOff ;

Informaes relacionadas
Descrito em: Definio de offset usando duas posies Definio de offset usando valores Desativao do deslocamento do rob Instrues - EOffsOn Instrues - EOffsSet Instrues - PDispOff

Data Types do Sistema e Rotinas

2-EOffsOff-161

EOffsOff

Instrues

2-EOffsOff-162

Data Types do Sistema e Rotinas

Instrues

EOffsOn

EOffsOn

Ativa o offset para eixos externos

EOffsOn (External Offset On) usado para definir e ativar o offset para eixos externos usando duas posies.

Exemplos
MoveL p10, v500, z10, tool1; EOffsOn \ExeP:=p10, p20; Ativao do offset para eixos externos. Isto calculado para cada eixo baseado na diferena entre as posies p10 e p20. MoveL p10, v500, fine, tool1; EOffsOn *; Ativao do offset para eixos externos. Desde que o ponto de parada foi usado na instruo anterior, o argumento \ExeP no tem que ser usado. O deslocamento calculado com base na diferena entre a posio atual de cada eixo e o ponto programado (*) gravado na instruo.

Argumentos EOffsOn [ \ExeP ] ProgPoint [\ExeP ]


(Executed Point) DataType: robtarget

A nova posio dos eixos no momento da execuo do programa. Se este argumento omitido, usada a atual posio dos eixos no momento da execuo do programa.

ProgPoint

(Programmed Point)

DataType: robtarget

A posio original dos eixos no momento da programao.

Execuo do programa
O offset calculado como uma diferena entre ExeP e ProgPoint para cada eixo externo separadamente. Se ExeP no foi especificado, a atual posio dos eixos no momento da execuo do programa usada no lugar. Desde que a atual posio dos eixos usada, os eixos no devero se mover quando EOffsOn executado. Este offset ento usado para deslocar a posio dos eixos externos em uma posio de instruo subsequente e permanece ativo at outro offset ser ativado (a instruo

Data Types do Sistema e Rotinas

2-EOffsOn-163

EOffsOn

Instrues

EOffsSet ou EOffsOn) ou at que o offset para eixos externos seja desativado (a instruo EOffsOff). Somente um offset para cada eixo externo individual pode ser ativado por vez. Por outro lado, vrios EOffsOn podem ser programados um aps o outro e, se isto ocorre, os diferentes offsets sero adicionados. O offset do eixo externo automaticamente fixado para - uma partida a frio - quando um novo programa carregado - quando comea execuo do programa desde o incio.

Exemplo
SearchL sen1, psearch, p10, v100, tool1; PDispOn \ExeP:=psearch, *, tool1; EOffsOn \ExeP:=psearch, *; Uma busca realizada na qual a posio procurada do rob e do eixo externo gravada na posio psearch. Qualquer movimento realizado aps isto parte desta posio usando um programa de deslocamento do rob e do eixo externo. Isto calculado baseado em diferenas entre a posio procurada e o ponto programado (*) gravado na instruo.

Sintaxe
EOffsOn [ \ ExeP := < expresso (IN) do robtarget > ,] [ ProgPoint := ] < expresso (IN) do robtarget > ;

Informaes relacionadas
Descrito em: Desativao do offset para eixos externos Definio de offset usando valores Deslocamento dos movimentos do rob Sistemas de Coordenadas Instrues - EOffsOff Instrues - EOffsSet Instrues - PDispOn Princpios de Movimento Sistemas de Coordenadas

2-EOffsOn-164

Data Types do Sistema e Rotinas

Instrues

EOffsSet

EOffsSet Ativa o offset para eixos externos usando um valor


EOffsSet (External Offset Set) usado para definir e ativar o offset para eixos externos usando valores.

Exemplo
VAR extjoint eax_a_p100 := [100, 0, 0, 0, 0, 0]; . EOffsSet eax_a_p100; Ativao do offset eax_a_p100 para eixo externo, significando (fornecido que o eixo externo a linear) que: - O sistema de coordenada ExtOffs est deslocado 100 mm do eixo lgico a (veja Figura 1). - Contanto que este offset seja ativado, todas as posies estaro deslocadas 100 mm na direo do eixo x.
.

100 Sistema de Coordenada Normal 0 Sistema de Coordenada ExtOffs 0


Figure 18 Deslocamento de um eixo externo.

+X

+X

Argumentos EOffsSet EAxOffs


EAxOffs (External Axes Offset) DataType: extjoint

O offset para eixo externo definido como tipo de dado extjoint, expresso em: - mm para eixos lineares - graus para rotao dos eixos

Data Types do Sistema e Rotinas

2-EOffsSet-165

EOffsSet

Instrues

Execuo do programa
O offset para eixo externo ativado quando a instruo EOffsSet ativada e permanece ativo at outro offset ser ativado (a instruo EOffsSet ou EOffsOn) ou at o offset para eixos externos ser desativado (o EOffsOff). Somente um offset para eixo externo pode ser ativado por vez. Offsets no podem ser adicionados um ao outro usando EOffsSet. O offset para eixos externos automaticamente fixado para - uma partida a frio - quando um novo programa carregado - quando comea a execuo do programa desde o incio.

Sintaxe
EOffsSet [ EAxOffs := ] < expresso (IN) do extjoint> ;

Informaes relacionadas
Descrito em: Desativao do offset para eixos externos Definio do offset usando duas posies Deslocamento dos movimentos do rob Definio de dado do tipo extjoint Sistemas de Coordenadas Instrues - EOffsOff Instrues - EOffsSet Instrues - PDispOn DataType - extjoint Princpios de Movimento Sistemas de Coordenadas

2-EOffsSet-166

Data Types do Sistema e Rotinas

Instrues

ErrWrite

ErrWrite

Escreve uma Mensagem de Erro

ErrWrite (Error Write) usada para mostrar uma mensagem de erro na unidade de programao e escrev-la na lista de mensagem do rob.

Exemplo
ErrWrite PLC error , Erro fatal no PLC \RL2:=Call service; Stop; ; Stop; Uma mensagem gravada na lista do rob. A mensagem tambm mostrada no display da unidade de programao. ErrWrite \ W, Search error, No acertou na primeira busca; RAISE try_search_again; A mensagem gravada somente na lista do rob. A execuo do programa ento continua.

Argumentos ErrWrite [ \W ] Header Reason [ \RL2] [ \RL3] [ \RL4]


[ \W ] (Warning) DataType: switch

D um aviso que gravado somente na lista de mensagem de erro do rob (no mostra diretamente no display da unidade de programao). Header Ttulo da mensagem de erro (mx. 24 caracteres). Reason Razo do erro (linha 1 de no mx. 40 caracteres). [ \RL2] (Reason Line 2) DataType: string DataType: string DataType: string

Razo do erro (linha 2 de no mx. 40 caracteres). [ \RL3] (Reason Line 3) DataType: string

Razo do erro (linha 3 de no mx. 40 caracteres). [ \RL4] (Reason Line 4) DataType: string

Data Types do Sistema e Rotinas

2-ErrWrite-167

ErrWrite
Razo do erro (linha 4 de no mx. 40 caracteres).

Instrues

Execuo do programa
Uma mensagem de erro (mx. 5 linhas) mostrada no display da unidade de programao e escrita na lista de mensagem do rob. ErrWrite sempre gera o programa erro no. 80001 ou no caso de aviso (argumento \W) gera no. 80002.

Limitaes
Comprimento total do string (Cabealho+Razo+\RL2+\RL3+\RL4) limitado a 145 caracteres.

Sintaxe
ErrWrite [ \ W , ] [ Header := ] < expresso (IN) do string> , [ Reason := ] < expresso (IN) do string> [ \ RL2 := < expresso (IN) do string> ] [ \ RL3 := < expresso (IN) do string> ] [ \ RL4 := < expresso (IN) do string> ] ;

Informaes relacionadas
Descrito em: Mostra a mensagem somente no display da unidade de programao Lista de mensagem Instrues - TPWrite Servio

2-ErrWrite-168

Data Types do Sistema e Rotinas

Instrues

EXIT

EXIT

Termina a execuo do programa


EXIT usado para terminar a execuo do programa. Reincio do programa ser ento bloqueado, i.e. o programa somente pode ser reiniciado pela primeira instruo da rotina principal (se o ponto de partida no foi movido manualmente). A instruo EXIT deve ser usada quando ocorre um erro fatal ou quando a execuo do programa parada permanentemente. A instruo Stop usada para parar temporariamente a execuo do programa.

Exemplo
ErrWrite "Erro fatal","Estado ilegal"; EXIT; A execuo do programa pra e no pode ser reiniciada daquela posio do programa.

Sintaxe
EXIT ;

Informaes relacionadas
Descrito em: Parando a execuo do programa temporariamente Instrues - Stop

Data Types do Sistema e Rotinas

2-EXIT-169

EXIT

Instrues

2-EXIT-170

Data Types do Sistema e Rotinas

Instrues

ExitCycle

ExitCycle Interromper ciclo atual e iniciar seguinte


ExitCycle usado para interromper o ciclo atual e mover o PP novamente para a primeira instruo da rotina principal. Se a execuo estiver em modo contnuo, ela comear executando o ciclo seguinte. Se estiver em modo cclico, ser interrompida na primeira instruo da rotina principal.

Exemplo
VAR num cyclecount:=0; VAR intnum error_intno; PROC main() IF cyclecount = 0 THEN CONNECT error_intno WITH error_trap; ISignalDI di_error,1,error_intno; ENDIF cyclecount:=cyclecount+1; ! start to do something intelligent .... ENDPROC TRAP error_trap TPWrite ERROR, I will start on the next item; ExitCycle; ENDTRAP Isto iniciar o ciclo seguiunte se o sinal di_error for definido.

Execuo do programa
A execuo de ExitCycle na tarefa de programa MAIN produz os seguintes resultados na tarefa MAIN: - Interrupo dos movimentos do rob em andamento - Todos os caminhos de rob no executados, em todos os nveis de caminho, (em ambos os nveis normal e StorePath) so limpos - Todas as instrues iniciadas mas no concludas, em todos os nveis de execuo (em ambos os nveis normal e TRAP) so interrompidas - O ponteiro de programa movido para a primeira instruo da rotina principal - A execuo do programa continua no prximo ciclo

A execuo de ExitCycle em alguma outra tarefa de programa (alm de MAIN) produz Manual de Referncia do RAPID 8-ExitCycle-171

ExitCycle
os seguintes resultados na tarefa real:

Instrues

- Todas as instrues iniciadas mas no concludas, em todos os nveis de execuo (em ambos os nveis normal e TRAP) so interrompidas - O ponteiro de programa movido para a primeira instruo da rotina principal - A execuo do programa continua com o prximo ciclo ExitCycle no afeta nenhuma das outras coisas modais no programa e no sistema, como: - Os valores reais de variveis ou dados persistentes - Quaisquer configuraes de movimento tais como seqncia de StorePathRestoPath, zonas gobais, etc. - Diretrios, arquivos abertos, etc. - Interrupes definidas, etc.

Sintaxe
ExitCycle;

Informaes relacionadas
Descrito em: Parar aps erro fatal Terminar execuo do programa Parar para aes do programa Terminar execuo de uma rotina Instrues - EXIT Instrues - EXIT Instrues - Stop Instrues - RETURN

8-ExitCycle-172

Manual de Referncia do RAPID

Instrues

ExitCycle

Manual de Referncia do RAPID

8-ExitCycle-173

ExitCycle

Instrues

8-ExitCycle-174

Manual de Referncia do RAPID

Instrues

FOR

FOR

Repete por um certo nmero de vezes


FOR usado quando uma ou vrias instrues so repetidas um nmero de vezes. Se as instrues so repetidas contanto que uma dada condio encontrada, a instruo WHILE usada.

Exemplo
FOR i FROM 1 TO 10 DO routine1; ENDFOR Repete a rotina 10 vezes.

Argumentos FOR Loop counter FROM Start value TO End value [STEP Step value] DO ... ENDFOR
Loop counter Identificador

O nome do dado que conter o valor do atual loop counter. O dado declarado automaticamente e o nome no deve portanto ser o mesmo nome de qualquer dado que j existe. Start value O valor inicial desejado do loop counter. (usualmente valores inteiros) End value O valor final desejado do loop counter. (usualmente valores inteiros) Step value DataType: Num DataType: Num DataType: Num

O valor pelo qual o loop counter incrementado (ou decrementado) para cada loop. (usualmente valores inteiros) Se este valor no especificado, o passo deste valor ser automaticamente fixado em 1 (ou -1 se o valor inicial for maior que o valor final).

Data Types do Sistema e Rotinas

2-FOR-175

FOR

Instrues

Exemplo
FOR i FROM 10 TO 2 STEP -1 DO a{i} := a{i-1}; ENDFOR Os valores de uma forma geral, so ajustados ascendentes para que um{10}:=a{9}, a{9}:=a{8} etc.

Execuo do programa
1. As expresses para o incio, fim e passo destes valores so calculados. 2. Ao loop counter atribuido o valor inicial. 3. O valor do loop counter checado para ver se este valor est entre o valor inicial e final, ou se ele igual ao valor inicial ou final. Se o valor do loop counter estiver fora destes limites, o loop FOR pra, e a execuo do programa continua com a instruo ENDFOR. 4. As instrues no loop FOR so executadas. 5. O loop counter incrementado (ou decrementado) de acordo com o passo deste valor. 6. O loop FOR repetido, iniciando do ponto 3.

Limitaes
O loop counter (do DataType num) pode somente ser acessado de dentro do loop FOR e consequentemente mascarar outro dado e rotina que tem o mesmo nome. Ele pode somente ser lido (no atualizado) na instruo de loop FOR. Valores decimais para incio, final e passo destes valores, sem combinao com exata condio de finalizao para o loop FOR, no pode ser usado (se indefinidos ou no o ltimo loop rodado).

Sintaxe
(EBNF) FOR <loop varivel> FROM <expresso> TO <expresso> [ STEP <expresso> ] DO <lista de instruo> ENDFOR <loop varivel> ::= <identificador>

2-FOR-176

Data Types do Sistema e Rotinas

Instrues

FOR

Informaes relacionadas
Descrito em: Expresses Identificadores Caractersticas Bsicas - Expresses Caractersticas Bsicas Elementos bsicos

Data Types do Sistema e Rotinas

2-FOR-177

FOR

Instrues

2-FOR-178

Data Types do Sistema e Rotinas

Instrues

GetSysData

GetSysData

Dados do sistema Get

GetSysData busca o valor e o nome do smbolo opcional, para os dados do sistema atual do tipo de dados especificado. Com esta instruo ser possvel buscar dados e o nome da Ferramenta (Tool) ou Objeto deTrabalho (Work Obkect) ativos no momento.

Exemplo
PERS tooldata curtoolvalue := [TRUE, [[0, 0, 0], [1, 0, 0, 0]], [0, [0, 0, 0], [1, 0, 0, 0], 0, 0, 0]]; VAR string curtoolname; GetSysData curtoolvalue; Copia o valor do dado da ferramenta ativa atual para a varivel persistente curtoolvalue. GetSysData curtoolvalue \ObjectName := curtoolname; Copia tambm o nome da ferramenta ativa atual para a varivel curtoolname.

Argumentos GetSysData
DestObject

DestObject [\ ObjectName ]
Tipo de dados: anytype

Persistente para armazenamento dos valores dos dados do sistema ativo atual. O tipo de dados deste argumento tambm especifica o tipo de dados do sistema a buscar ( Ferramenta ou Objeto de Trabalho). [\ObjectName] Tipo de dados: string

Argumento de opo (varivel ou persistente) para tambm buscar o nome do dado do sistema ativo atual.

Execuo do programa
Quando executar a instruo GetSysData o valor do dado atual guardado no persistente especificado no argumento DestObject. Se for usado o argumento \ObjectName, o nome do dado atual guardado na varivel especificada ou persistente no argumento ObjectName.

Data Types do Sistema e Rotinas

2-GetSysData-179

GetSysData

Instrues

Os dados do sistema atual para Ferramenta ou Objeto de Trabalho so ativados pela execuo de qualquer instruo de movimento ou podero ser ajustados manualmente na janela de deslocamento lento (jog).

Sintaxe
GetSysData [ DestObject:=] < persistente(PERS) of anytype> [\ObjectName:= < expresso (INOUT) of string> ] ;

Informaes relacionadas
Descritas em: Definio de ferramentas Definio de objetos de trabalho Tipos de Dados- tooldata Tipos de Dados- wobjdata

2-GetSysData-180

Data Types do Sistema e Rotinas

Instrues

GOTO

GOTO

Vai para uma nova instruo


GOTO usado para transferir a execuo do programa para outra linha (um label) dentro da mesma rotina.

Exemplos
GOTO next; . next: Execuo do programa continua com a instruo next. reg1 := 1; next: . reg1 := reg1 + 1; IF reg1<=5 GOTO next; O loop do programa next executado por cinco vezes. IF reg1>100 GOTO highvalue; lowvalue: . GOTO ready; highvalue: . ready: Se reg1 maior que 100, o loop de programa highvalue executado; de outra forma o loop lowvalue executado.

Argumentos GOTO
Label

Label
Identificador

O identificador de onde a execuo do programa ir continuar.

Limitaes
S possvel para transferir a execuo do programa para um label dentro da mesma rotina. S possvel para transferir a execuo do programa para um label dentro de uma

Data Types do Sistema e Rotinas

2-GOTO-181

GOTO

Instrues
instruo IF ou TEST, se a instruo GOTO tambm for localizada dentro do mesmo ramo daquela instruo. S possvel para transferir a execuo do programa para um label dentro de uma instruo FOR ou WHILE, se a instruo GOTO tambm for localizada dentro daquela instruo.

Sintaxe
(EBNF) GOTO <identificador>;

Informaes relacionadas
Descrito em: Identificador Outras instrues que trocam o fluxo do programa Instrues - label Sumrio RAPID Controlando o fluxo do programa

2-GOTO-182

Data Types do Sistema e Rotinas

Instrues

GripLoad

GripLoad

Define a carga do rob

GripLoad usado para definir a carga a qual o rob segura em sua garra.

Descrio
muito importante definir sempre a carga real da ferramenta e a carga sustentada do rob, quando utilizado. Definies incorretas de dados de carga podem resultar em sobrecarga da estrutura mecnica do rob. Se um dado de carga incorreto especificado, isto frequentemente tem as seguintes consequncias: - Se o dado de carga especificado maior que o valor real da carga; -> O rob no utilizar sua capacidade mxima -> Diminuio da preciso de trajeto incluindo riscos de overshooting. Se o dado de carga especificado menor que o valor real da carga; -> Diminuio da preciso de trajeto incluindo riscos de overshooting -> Risco de sobrecarga da estrutura mecnica

Exemplos
GripLoad piece1; A garra do rob segura a carga chamada piece1. GripLoad load0; A garra do rob libera todas as cargas.

Argumentos GripLoad
Load O dado de carga que descreve a carga atual.

Load
DataType: loaddata

Execuo do programa
A carga especificada afeta a performance do rob.

Data Types do Sistema e Rotinas

2-GripLoad-183

GripLoad
A carga padro, 0 kg, automaticamente definida - num arranque a frio - quando um novo programa carregado - quando comea a execuo do programa desde o incio.

Instrues

Sintaxe
GripLoad [ Load := ] < persistente (PERS) do loaddata > ;

Informaes relacionadas
Descrito em: Definio do dado de carga Definio da carga da ferramenta DataTypes - loaddata DataTypes - tooldata

2-GripLoad-184

Data Types do Sistema e Rotinas

Instrues

IDelete

IDelete

Cancela uma interrupo


IDelete (Interrupt Delete) usado para cancelar (deletar) uma interrupo. Se uma interrupo somente desabilitada temporariamente, a instruo ISleep ou IDisable deve ser usada.

Exemplo
IDelete feeder_low; A interrupo feeder_low cancelada.

Argumentos IDelete
Interrupt A identificao da interrupo.

Interrupt
DataType: intnum

Execuo do programa
A definio da interrupo completamente apagada. Para defin-la novamente, ela primeiro deve ser reconectada a uma rotina trap. A instruo deve ser precedida por um ponto de parada. Caso contrrio a interrupo ser desativada antes que o ponto final seja alcanado. Interrupes no tem que ser apagadas; isto feito automaticamente quando - um novo programa carregado - comea o programa desde o incio - o ponteiro do programa movido para o incio da rotina

Sintaxe
IDelete [ Interrupt := ] < varivel (VAR) do intnum > ;

Data Types do Sistema e Rotinas

2-IDelete-185

IDelete

Instrues

Informaes relacionadas
Descrito em: Sumrio de interrupes Desabilita temporariamente uma interrupo Sumrio RAPID - Interrupes Instrues - ISleep

Desabilita temporariamente todas interrupes Instrues - IDisable

2-IDelete-186

Data Types do Sistema e Rotinas

Instrues

IDisable

IDisable

Desabilita interrupes

IDisable (Interrupt Disable) usada para desabilitar todas as interrupes temporariamente. Ela pode, por exemplo, ser usada particularmente numa parte sensvel do programa onde nenhuma interrupo permitida atuar no caso de distrbio na execuo normal do programa.

Exemplo
IDisable; FOR i FROM 1 TO 100 DO character[i]:=ReadBin(sensor); ENDFOR IEnable; Nenhuma interrupo enquanto o canal serial estiver sendo lido.

Execuo do programa
Interrupes que ocorrem durante o tempo em que a instruo IDisable est ligada, so colocadas numa pilha. Quando as interrupes forem permitidas novamente, a(s) interrupo(es) do programa ento comeam, imediatamente a serem geradas, executadas na sequncia first in - first out da pilha.

Sintaxe
IDisable;

Informaes relacionadas
Descrito em: Sumrio de interrupes Permitindo interrupces Sumrio RAPID - Interrupes Instrues - IEnable

Data Types do Sistema e Rotinas

2-IDisable-187

IDisable

Instrues

2-IDisable-188

Data Types do Sistema e Rotinas

Instrues

IEnable

IEnable

Habilita interrupes

IEnable (Interrupt Enable) usado para habilitar interrupes durante execuo do programa.

Exemplo
IDisable; FOR i FROM 1 TO 100 DO character[i]:=ReadBin(sensor); ENDFOR IEnable; Nenhuma interrupo permitida enquanto o canal serial estiver sendo lido. Quando terminar de ler, as interrupes so novamente permitidas.

Execuo do programa
Interrupes que ocorrem durante o tempo em que a instruo IDisable est ligada, so colocadas em uma fila. Quando interrupes so permitidas uma vez ou mais (IEnable), a interrupo(s) do programa ento imediatamente comea gerando, a execuo da sequncia first in - first out primeiro a entrar primeiro a sair. A execuo do programa ento continua no programa usual e interrupes que ocorram aps isto, estaro de acordo logo que, elas ocorram. Interrupes so sempre permitidas quando um programa comeado desde o incio. Interrupes desabilitadas pela instruo ISleep no so afetadas pela instruo IEnable.

Sintaxe
IEnable;

Informaes relacionadas
Descrito em: Sumrio de interrupes No permitindo interrupes Sumrio RAPID - Interrupes Instrues - IDisable

Data Types do Sistema e Rotinas

2-IEnable-189

IEnable

Instrues

2-IEnable-190

Data Types do Sistema e Rotinas

Instrues

Compact IF

Compact IF instruo)

Se uma condio alcanada, ento... (uma

Compact IF usada somente quando uma nica instruo executada se a dada condio alcanada. Quando instrues diferentes so executadas, dependendo se a condio especificada alcanada ou no, a instruo IF usada.

Exemplos
IF reg1 > 5 GOTO next; Se reg1 maior que 5, a execuo do programa continua para o label next. IF counter > 10 Set do1; O sinal do1 ligado se counter > 10.

Argumentos IF Condition ...


DataType: bool

Condition

A condio que deve ser satisfeita para que a instruo seja executada.

Sintaxe
(EBNF) IF <expresso condicional> ( <instruo> | <SMT>) ;

Informaes relacionadas
Descrito em: Condies (expresses lgicas) IF com vrias instrues Caractersticas Bsicas - Expresses Instrues - If

Data Types do Sistema e Rotinas

2-Compact IF-191

Compact IF

Instrues

2-Compact IF-192

Data Types do Sistema e Rotinas

Instrues

IF

IF

Se uma condio satisfeita, ento ...; do contrrio ...


IF usado quando instrues diferentes so usadas dependendo se a condio alcanada ou no.

Exemplos
IF reg1 > 5 THEN Set do1; Set do2; ENDIF Os sinais do1 e do2 so ligados somente se reg1 maior que 5. IF reg1 > 5 THEN Set do1; Set do2; ELSE Reset do1; Reset do2; ENDIF Os sinais do1 e do2 so ligados ou desligados dependendo se reg1 maior que 5 ou no.

Argumentos IF Condition THEN ... {ELSEIF Condition THEN ...} [ELSE ...] ENDIF
Condition DataType: bool

A condio deve ser satisfeita pelas instrues entre THEN e ELSE/ELSEIF para ser executada.

Exemplo
IF counter > 100 THEN counter := 100; ELSEIF counter < 0 THEN counter := 0; ELSE counter := counter + 1;

Data Types do Sistema e Rotinas

2-IF-193

IF
ENDIF

Instrues

Counter incrementado em 1. Entretanto, se o valor do counter est fora do limite 0-100, designado ao counter o valor limite correspondente.

Execuo do programa
As condies so testadas, em ordem sequencial, at que uma delas seja satisfeita. A execuo do programa continua com as instrues associadas quela condio. Se nenhuma das condies for satisfeita, a execuo do programa continua com as instrues seguindo ELSE. Se mais de uma condio for alcanada, somente as instrues relacionadas com a primeira daquelas condies so executadas.

Sintaxe
(EBNF) IF <expresso condicional> THEN < lista de instrues> {ELSEIF <expresso condicional> THEN < lista de instrues> | <EIF>} [ELSE < lista de instrues>] ENDIF

Informaes relacionadas
Descrito em: Condies (expresses lgicas) Caractersticas Bsicas- Expresses

2-IF-194

Data Types do Sistema e Rotinas

Instrues

Incr

Incr

Incrementa de 1
Incr usado para somar 1 a uma varivel numrica ou persistente.

Exemplo
Incr reg1; 1 adicionado a reg1, i.e. reg1:=reg1+1.

Argumentos Incr
Name O nome da varivel ou persistente a ser mudada.

Name
DataType: num

Exemplo
WHILE stop_production=0 DO produce_part; Incr no_of_parts; TPWrite "No of produced parts= "\Num:=no_of_parts; ENDWHILE O nmero de partes produzidas atualizado na unidade de programao a cada ciclo. A produo continua contanto que o sinal stop_production no seja ligado.

Sintaxe
Incr [ Name := ] < var ou pers (INOUT) do num > ;

Informaes relacionadas
Descrito em: Decrementando uma varivel em 1 Adicionando qualquer valor a uma varivel Alterando dado usando uma expresso arbitrria, por exemplo, multiplicao Instrues - Decr Instrues - Add Instrues - :=

Data Types do Sistema e Rotinas

2-Incr-195

Incr

Instrues

2-Incr-196

Data Types do Sistema e Rotinas

Instrues

InvertDO

InvertDO

Inverte o valor de um sinal de sada digital

InvertDO (Invert Digital Output) inverte o valor de um sinal de sada digital (0 -> 1 e 1 -> 0).

Exemplo
InvertDO do15; O atual valor do sinal do15 invertido.

Argumentos InvertDO
Signal O nome do sinal a ser invertido.

Signal
DataType: signaldo

Execuo do programa
O atual valor do sinal invertido (veja Figure 19).
:

1 Nvel do sinal 0 Execuo da instruo InvertDO Execuo da instruo InvertDO 1 Nvel do sinal 0
Figure 19 Inverso de um sinal de sada digital.

Sintaxe
InvertDO [ Signal := ] < varivel (VAR) do signaldo > ;

Data Types do Sistema e Rotinas

2-InvertDO-197

InvertDO

Instrues

Informaes relacionadas
Descrito em: Instrues de Entrada/Sada Funcionalidade geral Entrada/Sada Configurao da E/S Sumrio RAPID Sinais de Entrada e Sada Movimento e Princpios de E/S Princpios de E/S Parmetros do Sistema

2-InvertDO-198

Data Types do Sistema e Rotinas

Instrues

IODisable

IODisable

Desativar unidade de E/S

IODisable usada para desativar uma unidade E/S durante a execuo do programa (somente no sistema S4C). As unidades de E/S so ativadas automaticamente aps a inicializao, se elas estiverem definidas nos parmetros do sistema. Quando necessrio por qualquer razo, as unidades de E/S podem ser desativadas ou ativadas durante a execuo do programa.

Exemplo
IODisable cell1, 5; Desativar a unidade de E/S com o nome cell1.Aguarde mx. 5 s.

Argumentos IODisable
UnitName

UnitName MaxTime
Tipo de dados: string

O nome da unidade de E/S a ser desativada (com o mesmo nome como foi configurada). MaxTime Tipo de dados: nm

O perodo mximo de tempo de espera, expresso em segundos. Se este tempo acabar antes da unidade de E/S ter acabado os passos de desativar, o tratamento de erros, se existir um, ser chamado com o cdigo de erro ERR_IODISABLE. Se no existir nenhum tratamento de erros, a execuo ser parada. Para desativar uma unidade de E/S demora cerca de 2-5 s.

Execuo do programa
A unidade de E/S especificada inicia os passos de desativar. A instruo fica pronta quando os passos de desativar tiverem acabado. Se MaxTime acabar antes da unidade de /S ter terminado os passos de desativar, um erro recupervel ser gerado. Depois de desativar uma unidade de E/S, qualquer ajuste de sadas nesta unidade resultar em um erro.

Data Types do Sistema e Rotinas

2-IODisable-199

IODisable

Instrues

Exemplo
PROC go_home() VAR num recover_flag :=0; ... ! Start to disable I/O unit cell1 recover_flag := 1; IODisable cell1, 0; ! Move to home position MoveJ home, v1000,fine,tool1; ! Wait until disable of I/O unit cell1 is ready recover_flag := 2; IODisable cell1, 5; ... ERROR IF ERRNO = ERR_IODISABLE THEN IF recover_flag = 1 THEN TRYNEXT; ELSEIF recover_flag = 2 THEN RETRY; ENDIF ELSEIF ERRNO = ERR_EXCRTYMAX THEN ErrWrite Erro IODisable, Not possible to disable I/O unit cell; Stop; ENDIF ENDPROC Para poupar o tempo de ciclo, a cell1 da unidade de E/S desativada durante o movimento do rob para a posio home. Com o rob na posio home, um teste feito para estabelecer se cell1 da unidade de E/S est totalmente desativada. Aps o nmero mx. de novas tentativas (5 com um tempo de espera de 5 s), a execuo do rob parar com uma mensagem de erro. O mesmo princpio pode ser usado com IOEnable (isto poupar mais tempos de ciclo comparado com IODisable).

Sintaxe
IODisable [ UnitName := ] < expresso (IN) de string> , [ MaxTime := ] < expresso (IN) de num > ;

2-IODisable-200

Data Types do Sistema e Rotinas

Instrues

IODisable

Informaes relacionadas
Descrito em: Ativando uma unidade de E/S Instrues de Entrada/Sada Funcionalidade de Entrada/Sada em geral Configurao de E/S Instrues - IOEnable Sumrio RAPID Sinais de Entrada e Sada Princpios de movimentao e E/S I/O Principles Guia do Usurio - Parmetros do sistema

Data Types do Sistema e Rotinas

2-IODisable-201

IODisable

Instrues

2-IODisable-202

Data Types do Sistema e Rotinas

Instrues

IOEnable

IOEnable

Ativar unidade de E/S

IOEnable usado para ativar uma unidade de E/S durante a execuo do programa (somente no sistema S4C). As unidades de E/S so automaticamente ativadas aps a inicializao, se elas estiverem definidas nos parmetros do sistema. Quando necessrio por qualquer razo, as unidades de E/S podem ser desativadas ou ativadas durante a execuo do programa.

Exemplos
IOEnable cell1, 5; Ativar a unidade de E/S com o nome cell1. Aguarde mx. 5 s.

Argumentos IOEnable
UnitName

UnitName MaxTime
Tipo de dados: string

O nome da unidade de E/S a ser desativada (com mesmo nome como configurado). MaxTime Tipo de dados: num

O perodo mximo de tempo de espera permitido, expresso em segundos. Se este tempo acabar antes da unidade de E/S ter terminado os passos de desativar, o tratamento de erros, se existir um, ser chamado com o cdigo de erro ERR_IOENABLE. Se no existir um tratamento de erros, a execuo ser parada. Para ativar uma unidade de E/S demora cerca de 2-5 s.

Execuo do programa
A unidade de E/S especificada inicia os passos de ativar. A instruo est pronta quando os passos de ativar terminarem. Se MaxTime acabar antes da unidade de E/S ter terminados os passos de ativar, um erro recupervel ser gerado. Aps uma seqencia de IODisable - IOEnable, todas as sadas para a unidade de E/S corrente sero ajustadas para os valores antigos (antes de IODisable).

Data Types do Sistema e Rotinas

2-IOEnable-203

IOEnable

Instrues

Exemplo
IOEnable pode tambm ser usado para checar se alguma unidade de E/S est desconectada por alguma razo. VAR num max_retry:=0; ... IOEnable cell1, 0; SetDO cell1_sig3, 1; ... ERROR IF ERRNO = ERR_IOENABLE THEN IF max_retry < 5 THEN WaitTime 1; max_retry := max_retry + 1; RETRY; ELSE RAISE; ENDIF ENDIF Antes de usar sinais em cell1 da unidade de E/S, um teste feito, se tentando ativar a unidade de E/S com um excesso de tempo aps 0 seg. Se o teste falhar, feito um jump para o tratamento de erros. No tratamento de erros, a execuo do programa aguarda 1 seg. e uma nova tentativa feita. Aps 5 novas tentativas, o erro ERR_IOENABLE propagado para o chamador desta rotina.

Sintaxe
IOEnable [ UnitName := ] < expresso (IN) de string> , [ MaxTime := ] < expresso (IN) de num > ;

2-IOEnable-204

Data Types do Sistema e Rotinas

Instrues

IOEnable

Informaes relacionadas
Descrito em: Mais exemplos Disativando uma unidade de E/S Instrues de Entrada/Sada Funcionalidade de Entrada/Sada em geral Configurao de E/S Instrues - IODisable Instrues - IODisable Sumrio RAPID Sinais de Entrada e Sada Princpios de movimentao e de E/S Princpios de E/S Guia do Usurio - Parmetros do sistema

Data Types do Sistema e Rotinas

2-IOEnable-205

IOEnable

Instrues

2-IOEnable-206

Data Types do Sistema e Rotinas

Instrues

ISignalAI

ISignalAI Interrupes de sinal de entrada analgico


ISignalAI (entrada analgica de sinal de interrupo) usada para ordenar e ativar interrupes oriundas de um sinal de entrada analgico.

Exemplo
VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalAI \Single, ai1, AIO_BETWEEN, 1.5, 0.5, 0, sig1int; Ordena uma interrupo para ocorrer na primeira vez que o valor lgico do sinal de entrada analgica ai1 estiver entre 0,5 e 1,5. Em seguida, uma chamada feita rotina de interceptao iroutine1. ISignalAI ai1, AIO_BETWEEN, 1.5, 0.5, 0.1, sig1int; Ordena uma interrupo para ocorrer toda vez que o valor lgico do sinal de entrada analgica ai1 estiver entre 0,5 e 1,5 e a diferena absoluta de sinal comparada com o valor de referncia armazenado for maior que 0,1. ISignalAI ai1, AIO_OUTSIDE, 1.5, 0.5, 0.1, sig1int; Ordena uma interrupo para ocorrer toda vez que o valor lgico do sinal de entrada analgica ai1 for inferior a 0,5 ou superior a 1,5 e a diferena absoluta de sinal comparada com o valor de referncia armazenado for maior que 0,1.

Argumentos ISignalAI [\Single] Signal Condition HighValue LowValue DeltaValue [\DPos] | [\DNeg] Interrupt [\Single]
Tipo de dados: switch

Especifica se a interrupo deve ocorrer uma vez ou ciclicamente. Se o argumento Single estiver definido, a interrupo ocorrer, no mximo, uma vez. Se o argumento for omitido, haver uma interrupo toda vez que sua condio for satisfeita.

Signal
O nome do sinal que dever gerar as interrupes.

Tipo de dados: signalai

Data Types do Sistema e Rotinas

2-ISignalAI-207

ISignalAI
Condition

Instrues
Tipo de dados: aiotrigg

Especifica como HighValue e LowValue definem a condio a ser satisfeita: - AIO_ABOVE_HIGH: - AIO_BELOW_HIGH: - AIO_ABOVE_LOW: - AIO_BELOW_LOW: - AIO_BETWEEN: - AIO_OUTSIDE: - AIO_ALWAYS: valor lgico do sinal acima de HighValue valor lgico do sinal abaixo de HighValue valor lgico do sinal acima de LowValue valor lgico do sinal abaixo de LowValue valor lgico do sinal entre LowValue e HighValue valor lgico do sinal acima de HighValue ou abaixo de LowValue independente de HighValue e LowValue Tipo de dados: num

HighValue
Valor lgico alto para definir a condio.

LowValue
Valor lgico baixo para definir a condio.

Tipo de dados: num

DeltaValue

Tipo de dados: num

Define a diferena mnima de sinal lgico para que uma nova interrupo seja gerada. O valor de sinal real comparado com o valor de referncia armazenado deve ser maior que o DeltaValue especificado para que uma nova interrupo seja gerada.

[\DPos]

Tipo de dados: switch

Especifica que somente diferenas de sinal lgico positivas produziro novas interrupes.

[\DNeg]

Tipo de dados: switch

Especifica que somente diferenas de sinal lgico negativas produziro novas interrupes. Se nenhum dos argumentos \DPos e \DNeg for usado, ambas as diferenas positivas e negativas iro gerar interrupes.

Interrupt

Tipo de dados: intnum

A identificao da interrupo. Essa interrupo deve ter sido conectada anteriormente a uma rotina de interceptao atravs da instruo CONNECT.

2-ISignalAI-208

Data Types do Sistema e Rotinas

Instrues

ISignalAI

Execuo do programa
Quando o sinal satisfaz as condies especificadas (tanto Condition quanto DeltaValue), uma chamada feita rotina de interceptao correspondente. Quando isso tiver sido executado, a execuo do programa continuar de onde a interrupo ocorreu. Condies para gerao da interrupo Para que uma interrupo seja ordenada, toda vez que o sinal amostrado, o valor do sinal lido, salvo e, posteriormente, utilizado como valor de referncia para a condio DeltaValue. No tempo de subscrio da interrupo, se for especificado DeltaValue = 0 e aps o tempo de subscrio da interrupo, toda vez que o sinal for amostrado, seu valor comparado com HighValue e LowValue, conforme Condition e considerando DeltaValue, para gerar ou no uma interrupo. Se o novo valor lido satisfizer o HighValue e o LowValue especificados, (Condition), mas sua diferena quando comparado com o ltimo valor de referncia armazenado for menor ou igual ao argumento DeltaValue, nenhuma interrupo ocorrer. Nenhuma interrupo ocorrer tambm se o sinal de diferena no estiver na direo especificada (argumento \DPos ou \DNeg). O valor de referncia armazenado para a condio DeltaValue atualizado com o novo valor lido para uso posterior em qualquer amostra se as seguintes condies forem satisfeitas: - Argumento Condition com HighValue e LowValue (dentro dos limites) - Argumento DeltaValue (alterao de sinal suficiente em qualquer direo, independente da opo \DPos ou \DNeg especificada) O valor de referncia s atualizado no momento da amostragem, e no no tempo de subscrio da interrupo. Uma inteiro tambm gerada na amostragem para atualizao do valor de referncia se a direo da diferena do sinal estiver de acordo com o argumento especificado (qualquer direo, \DPos ou \DNeg). Se a opo \Single for utilizada, somente uma interrupo ser gerada. Se a opo \Single no for usada (interrupo cclica), a cada amostragem do valor do sinal, um novo teste das condies especificadas ser feito (tanto Condition quanto DeltaValue), comparando o valor de sinal real e o ltimo valor de referncia armazenado, para gerar ou no uma interrupo.

Data Types do Sistema e Rotinas

2-ISignalAI-209

ISignalAI

Instrues

Condio para gerao de interrupo no momento de subscrio da interrupo Amostrar antes da subscrio da interrupo RefValue := CurrentValue Interrupo Falso subscrio

CurrentValue testado em relao a Condition, HighValue e LowValue Verdadeiro

Falso DeltaValue = 0 Verdadeiro Interrupo gerada

Continuar

2-ISignalAI-210

Data Types do Sistema e Rotinas

Instrues

ISignalAI

Condio para gerao de interrupo a cada amostragem, aps a subscrio da interrupo Nova amostra Falso CurrentValue verificado em relao a Condition, HighValue e LowValue Verdadeiro Verdadeiro No h DPos ou DNeg especificado e ABS(CurrentValue - RefValue) > DeltaValue Falso

DPos especificado e (CurrentValue - RefValue) > DeltaValue

Verdadeiro

Falso DNeg especificado e (RefValue - CurrentValue) > DeltaValue Falso RefValue := CurrentValue Verdadeiro

ABS(CurrentValue - RefValue) > DeltaValue Falso

Interrupo gerada

Verdadeiro RefValue := CurrentValue

Continuar

Data Types do Sistema e Rotinas

2-ISignalAI-211

ISignalAI
Exemplo 1 de gerao de interrupo

Instrues

Valor lgico do sinal

HighValue

Valor do sinal LowValue

1 2 3 4 5 6 7 8 9 Tempo para ordem de subscrio da interrupo Armazenamento do valor de referncia

10

11

12

Amostras

Supondo que a interrupo seja ordenada entre as amostras 0 e 1, a instruo seguinte dar os seguintes resultados: ISignalAI ai1, AIO_BETWEEN, 6.1, 2,2, 1.0, sig1int; A amostra 1 ir gerar uma interrupo porque o valor do sinal est entre HighValue e LowValue e a diferena de sinal comparada com a amostra 0 maior que DeltaValue. A amostra 2 ir gerar uma interrupo porque o valor do sinal est entre HighValue e LowValue e a diferena de sinal comparada com a amostra 1 maior que DeltaValue. As amostras 3, 4 e 5 no iro gerar interrupo alguma porque a diferena de sinal menor que DeltaValue. A amostra 6 ir gerar uma interrupo. As amostras de 7 a 10 no iro gerar interrupes porque o sinal est acima de HighValue A amostra 11 no ir gerar interrupo porque a diferena de sinal comparada com a amostra 6 igual a DeltaValue. A amostra 12 no ir gerar interrupo alguma porque a diferena de sinal comparada com a amostra 6 inferior a DeltaValue.

2-ISignalAI-212

Data Types do Sistema e Rotinas

Instrues
Exemplo 2 de gerao de interrupo

ISignalAI

Valor lgico do sinal

HighValue

Valor do sinal LowValue

1 2 3 4 5 6 7 8 9 Tempo para ordem de subscrio da interrupo Armazenamento do valor de referncia

10

11

12

Amostras

Supondo que a interrupo seja ordenada entre as amostras 0 e 1, a instruo seguinte dar os seguintes resultados: ISignalAI ai1, AIO_BETWEEN, 6.1, 2,2, 1.0 \DPos, sig1int; Um novo valor de referncia armazenado nas amostras 1 e 2 porque o sinal est dentro dos limites e a diferena absoluta de sinal entre o valor real e o ltimo valor de referncia armazenado maior que 1,0. Nenhuma interrupo ser gerada porque as alteraes de sinal esto em direo negativa. A amostra 6 ir gerar uma interrupo porque o valor do sinal est entre HighValue e LowValue e a diferena de sinal na direo positiva comparada com a amostra 2 maior que DeltaValue.

Data Types do Sistema e Rotinas

2-ISignalAI-213

ISignalAI
Exemplo 3 de gerao de interrupo

Instrues

Valor lgico do sinal

HighValue

Valor do sinal LowValue

1 2 3 4 5 6 7 8 9 Tempo para ordem de subscrio da interrupo Armazenamento do valor de referncia

10

11

12

Amostras

Supondo que a interrupo seja ordenada entre as amostras 0 e 1, a instruo seguinte dar os seguintes resultados: ISignalAI \Single, ai1, AIO_OUTSIDE, 6.1, 2,2, 1.0 \DPos, sig1int; Um novo valor de referncia armazenado na amostra 7 porque o sinal est dentro dos limites e a diferena absoluta de sinal entre o valor real e o ltimo valor de referncia armazenado maior que 1,0. A amostra 8 ir gerar uma interrupo porque o valor do sinal est acima de HighValue e a diferena de sinal na direo positiva comparada com a amostra 7 maior que DeltaValue.

2-ISignalAI-214

Data Types do Sistema e Rotinas

Instrues
Exemplo 4 de gerao de interrupo

ISignalAI

Valor lgico do sinal

HighValue

Valor do sinal LowValue

1 2 3 4 5 6 7 8 9 Tempo para ordem de subscrio da interrupo Armazenamento do valor de referncia

10

11

12

Amostras

Supondo que a interrupo seja ordenada entre as amostras 0 e 1, a instruo seguinte dar os seguintes resultados: ISignalAI ai1, AIO_ALWAYS, 6.1, 2,2, 1.0 \DPos, sig1int; Um novo valor de referncia armazenado nas amostras 1 e 2 porque o sinal est dentro dos limites e a diferena absoluta de sinal entre o valor real e o ltimo valor de referncia armazenado maior que 1,0. A amostra 6 ir gerar uma interrupo porque a diferena de sinal na direo positiva comparada com a amostra 2 maior que DeltaValue. As amostras 7 e 8 iro gerar uma interrupo porque a diferena de sinal na direo positiva comparada com a amostra anterior maior que DeltaValue. Um novo valor de referncia armazenado nas amostras 11 e 12 porque o sinal est dentro dos limites e a diferena absoluta de sinal entre o valor real e o ltimo valor de referncia armazenado maior que 1,0.

Data Types do Sistema e Rotinas

2-ISignalAI-215

ISignalAI

Instrues

Tratamento de erros
Na subscrio de interrupo em um sinal de entrada analgico, uma interrupo ser feita para cada alterao no valor analgico que satisfaa a condio especificada ao ordenar a subscrio da interrupo. Se o valor analgico estiver ruidoso, vrias interrupes podero ser geradas, mesmo que somente um ou dois bits no valor analgico tenham sido alterados. Para evitar interrupes devidas a pequenas alteraes no valor de entrada analgica, defina DeltaValue com um nvel maior que 0 para que nenhuma interrupo seja gerada at que uma alterao no valor analgico seja maior que o DeltaValue especificado.

Limitaes
Os argumentos HighValue e LowValue devem estar na faixa entre valor lgico mximo e valor lgico mnimo definida para o sinal. HighValue deve estar acima de LowValue. DeltaValue deve ser 0 ou positivo. As limitaes para a identificao da interrupo so as mesmas que para ISignalDI.

Sintaxe
ISignalAI [ \Single,] [ Signal:= ]<varivel (VAR) de signalai>, [ Condition:= ]<expresso (IN) de aiotrigg>, [ HighValue:= ]<expresso (IN) de num>, [ LowValue:= ]<expresso (IN) de num>, [ DeltaValue:= ]<expresso (IN) de num> [ \DPos] | [ \DNeg] , [ Interrupt:= ]<varivel (VAR) de intnum>;

2-ISignalAI-216

Data Types do Sistema e Rotinas

Instrues

ISignalAI

Informaes relacionadas
Descrito em: Resumo de interrupes Definio de constantes Interrupo oriunda de sinal de entrada analgica Interrupo oriunda de sinal de sada digital Mais informaes sobre gerenciamento de interrupes Mais exemplos Parmetros de sistema relacionados (filtro) Resumo do RAPID - Interrupes Tipos de dados - aiotrigg Instrues - ISignalAO

Interrupo oriunda de sinal de entrada digital Instrues - ISignalDI Instrues - ISignalDO Caractersticas bsicas - Interrupes Tipos de dados - intnum Parmetros do sistema - Sinais de ES

Data Types do Sistema e Rotinas

2-ISignalAI-217

ISignalAI

Instrues

2-ISignalAI-218

Data Types do Sistema e Rotinas

Instrues

ISignalAO

ISignalAO Interrupes do sinal de sada analgica


ISignalAO (sada analgica do sinal de interrupo) usado para ordenar e ativar interrupes a partir de um sinal de sada analgica.

Exemplo
VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalAO \Single, ao1, AIO_BETWEEN, 1.5, 0.5, 0, sig1int; Ordena uma interrupo para ocorrer na primeira vez que o valor lgico do sinal de sada analgica ao1 estiver entre 0,5 e 1,5. Em seguida, uma chamada feita rotina de interceptao iroutine1. ISignalAO ao1, AIO_BETWEEN, 1.5, 0.5, 0.1, sig1int; Ordena uma interrupo para ocorrer toda vez que o valor lgico do sinal de sada analgica ao1 estiver entre 0,5 e 1,5 e a diferena absoluta de sinal comparada com o valor de referncia armazenado anteriormente for maior que 0,1. ISignalAO ao1, AIO_OUTSIDE, 1.5, 0.5, 0.1, sig1int; Ordena uma interrupo para ocorrer toda vez que o valor lgico do sinal de sada analgica ao1 estiver abaixo de 0,5 ou acima de 1,5 e a diferena absoluta de sinal comparada com o valor de referncia armazenado anteriormente for maior que 0,1.

Argumentos ISignalAO [\Single] Signal Condition HighValue LowValue DeltaValue [\DPos] | [\DNeg] Interrupt [\Single]
Tipo de dados: switch

Especifica se a interrupo deve ocorrer uma vez ou ciclicamente. Se o argumento Single estiver definido, a interrupo ocorrer somente uma vez. Se o argumento for omitido, haver uma interrupo toda vez que sua condio for satisfeita.

Signal
O nome do sinal que deve gerar interrupes.

Tipo de dados: signalao

Data Types do Sistema e Rotinas

2-ISignalAO-219

ISignalAO
Condition

Instrues
Tipo de dados: aiotrigg

Especifica como HighValue e LowValue definem a condio a ser satisfeita: - AIO_ABOVE_HIGH: - AIO_BELOW_HIGH: - AIO_ABOVE_LOW: - AIO_BELOW_LOW: - AIO_BETWEEN: - AIO_OUTSIDE: - AIO_ALWAYS: o valor lgico do sinal est acima de HighValue o valor lgico do sinal est abaixo de HighValue o valor lgico do sinal est acima de LowValue o valor lgico do sinal est abaixo de LowValue o valor lgico do sinal est entre LowValue e HighValue o valor lgico do sinal est acima de HighValue ou abaixo de LowValue independente de HighValue e LowValue Tipo de dados: num

HighValue
Valor lgico alto para definir a condio.

LowValue
Valor lgico baixo para definir a condio.

Tipo de dados: num

DeltaValue

Tipo de dados: num

Define a diferena de sinal lgico mnima para a gerao de uma nova interrupo. O valor real do sinal comparado com o valor de referncia armazenado anteriormente deve ser maior que o DeltaValue especificado para que uma nova interrupo seja gerada.

[\DPos]

Tipo de dados: switch

Especifica que somente diferenas de sinal lgico positivas produziro novas interrupes.

[\DNeg]

Tipo de dados: switch

Especifica que somente diferenas de sinal negativas produziro novas interrupes. Se nenhum dos argumentos \DPos e \DNeg for usado, ambas as diferenas positivas e negativas iro gerar novas interrupes.

Interrupt

Tipo de dados: intnum

A Identificao da interrupo. Essa interrupo deve ter sido conectada anteriormente a uma rotina de interceptao atravs da instruo CONNECT.

2-ISignalAO-220

Data Types do Sistema e Rotinas

Instrues

ISignalAO

Execuo do programa
Consulte as instrues ISignalAI para obter informaes sobre: - Execuo do programa - Condio para gerao de interrupes - Mais exemplos Os mesmos princpios de ISignalAOso vlidos para ISignalAI.

Limitaes
Os argumentos HighValue e LowValue devem estar na faixa entre valor lgico mximo e valor lgico mnimo definida para o sinal. HighValue precisa estar acima de LowValue. DeltaValue precisa ser 0 ou positivo. As limitaes para a identidade da interrupo so as mesmas que para ISignalDO.

Sintaxe
ISignalAO [ \Single,] [ Signal:= ]<varivel (VAR) de signalao>, [ Condition:= ]<expresso (IN) de aiotrigg>, [ HighValue:= ]<expresso (IN) de num>, [ LowValue:= ]<expresso (IN) de num>, [ DeltaValue:= ]<expresso (IN) de num> [ \DPos] | [ \DNeg] , [ Interrupt:= ]<varivel (VAR) de intnum>;

Data Types do Sistema e Rotinas

2-ISignalAO-221

ISignalAO

Instrues

Informaes relacionadas
Descrito em: Resumo de interrupes Definio de constantes Resumo do RAPID - Interrupes Tipos de dados - aiotrigg

Interrupo oriunda de sinal de entrada analgicaInstrues - ISignalAI Interrupo oriunda de sinal de entrada digital Instrues - ISignalDI Interrupo oriunda de sinal de sada digital Instrues - ISignalDO Mais informaes sobre gerenciamento de interrupesCaractersticas bsicas - Interrupes Mais exemplos Parmetros do sistema relacionados (filtro) Tipos de dados - intnum Parmetros do sistema - Sinais de ES

2-ISignalAO-222

Data Types do Sistema e Rotinas

Instrues

ISignalDI

ISignalDI Ordena interrupes de um sinal de entrada digital


ISignalDI (Interrupt Signal Digital In) usado para ordenar e habilitar interrupes de um sinal de entrada digital. Os sinais de sistema tambm podem produzir interrupes.

Exemplos
VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDI di1,1,sig1int; Ordena uma interrupo que ocorre toda vez que o sinal de entrada digital di1 colocada em 1. Um chamado feito rotina trap iroutine1. ISignalDI di1,0,sig1int; Ordena uma interrupo que ocorre toda vez que o sinal de entrada digital di1 colocado em 0. ISignalDI \Single, di1,1,sig1int; Ordena uma interrupo que ocorre somente na primeira vez que o sinal de entrada digital di1 colocado em 1.

Argumentos ISignalDI
[ \Single ]

[ \Single ] Signal TriggValue Interrupt


DataType: switch

Especifica se a interrupo ocorre somente uma vez ou ciclicamente. Se o argumento Single ligado, a interrupo ocorre uma vez. Se o argumento omitido, a interrupo ir ocorrer toda vez que a condio satisfeita. Signal O nome do sinal que gera as interrupes. TriggValue DataType: dionum DataType: signaldi

O valor no qual o sinal deve ser alterado para ocorrer uma interrupo. O valor especificado como 0 ou 1 ou como um valor simblico (por ex. high/ low). O sinal disparado na transio para 0 ou 1.

Manual de Referncia do RAPID

8-ISignalDI-223

ISignalDI

Instrues
TriggValue 2 ou o valor simblico edge pode ser usado para gerao de interrupes em ambos os flancos positivo ( 0 -> 1) e negativo (1 -> 0).

Interrupt

DataType: intnum

A identidade da interrupo. Este deve ter sido previamente conectado a uma rotina trap por meio da instruo CONNECT.

Execuo do programa
Quando o sinal assume o valor especificado, uma chamada feita para a correspondente rotina trap. Quando isto executado, a execuo do programa continua de onde a interrupo ocorreu. Se o sinal muda para o valor especificado antes que a interrupo seja ordenada, no ocorre interrupo (veja Figura 20).
:

1 Nvel do sinal 0 Ordem de interrupo Ordem de interrupo 1 Nvel do sinal 0 Interrupo ocorre

Interrupo ocorre

Figura 20 Interrupo de um sinal de entrada digital no nvel de sinal 1.

Limitaes
A mesma varivel para identidade de interrupo no pode ser usada mais de uma vez, sem antes ser apagada. Interrupes devem portanto serem manipuladas como mostra em uma das alternativas abaixo. PROC main ( ) VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDI di1, 1, sig1int; WHILE TRUE DO : : ENDWHILE ENDPROC Toda ativao de interrupes feita no incio do programa. Estas instrues so

2-ISignalDI-224

Data Types do Sistema e Rotinas

Instrues
ento deixadas fora do fluxograma principal do programa. PROC main ( ) VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDI di1, 1, sig1int; : : IDelete sig1int; ENDPROC

ISignalDI

A interrupo eliminada no final do programa e, em seguida, reativada. de notar que, neste caso, a interrupo fica inativo durante um curto perodo de tempo.

Sintaxe
ISignalDI [ \ Single,] [ Signal := ] < varivel (VAR) do signaldi > , [ TriggValue := ] < expresso (IN) do dionum >, [ Interrupt := ] < varivel (VAR) do intnum > ;

Informao relacionada
Descrito em: Sumrio de interrupes Interrupo de um sinal de sada Mais informaes em interrupes dirigidas Mais exemplos Sumrio RAPID - Interrupes Instrues - ISignalDO Caractersticas Bsicas- Interrupes DataTypes - intnum

Manual de Referncia do RAPID

8-ISignalDI-225

ISignalDI

Instrues

2-ISignalDI-226

Data Types do Sistema e Rotinas

Instrues

ISignalDO

ISignalDOInterrupes de um sinal de sada digital


ISignalDO (Interrupt Signal Digital Out) usado para ordenar e habilitar interrupes de um sinal de sada digital. Sinais do sistema tambm podem gerar interrupes.

Exemplos
VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDO do1,1,sig1int; Ordena uma interrupo que ocorre toda vez que o sinal de sada digital do1 colocada em 1. Um chamado feito rotina trap iroutine1. ISignalDO do1,0,sig1int; Ordena uma interrupo que ocorre toda vez que o sinal de sada digital do1 colocado em 0. ISignalDO\Single, do1,1,sig1int; Ordena uma interrupo que ocorre somente na primeira vez que o sinal de sada digital do1 colocado em 1.

Argumentos ISignalDO
[ \Single ]

[ \Single ] Signal TriggValue Interrupt


Data type: switch

Especifica se a interrupo ocorre somente uma vez ou ciclicamente. Se o argumento Single ligado, a interrupo ocorre uma vez. Se o argumento omitido, a interrupo ir ocorrer toda vez que a condio satisfeita. Signal O nome do sinal que gera as interrupes. TriggValue Data type: dionum Data type: signaldo

O valor no qual o sinal deve ser alterado para ocorrer uma interrupo. O valor especificado como 0 ou 1 ou como um valor simblico (ex. high/low). O sinal disparado na transio para 0 ou 1.

Manual de Referncia do RAPID

8-ISignalDO-227

ISignalDO

Instrues
TriggValue 2 ou o valor simblico edge pode ser usado para gerao de interrupes em ambos os flancos positivo ( 0 -> 1) e negativo (1 -> 0).

Interrupt

Data type: intnum

A identidade da interrupo. Este deve ter sido previamente conectado a uma rotina trap por meio da instruo CONNECT.

Execuo do programa
Quando o sinal assume o valor especificado (0 ou 1), uma chamada feita para a rotina de interceptao correspondente. Quando isto executado, a execuo do programa continua de onde a interrupo ocorreu. Se o sinal muda para o valor especificado antes que a interrupo seja ordenada, no ocorre interrupo (veja Figura 21).
:

1 Nvel do sinal 0 Ordem de interrupo Ordem de interrupo 1 Nvel do sinal 0 Interrupo ocorre

Interrupo ocorre

Figura 21 Interrupo de um sinal de entrada digital no nvel de sinal 1.

Limitaes
A mesma varivel para identidade de interrupo no pode ser usada mais de uma vez, sem antes ser apagada. Interrupes devem portanto serem manipuladas como mostra em uma das alternativas abaixo. PROC main ( ) VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDO do1, 1, sig1int; WHILE TRUE DO : : ENDWHILE ENDPROC Toda ativao de interrupes feita no incio do programa. Estas instrues so 8-ISignalDO-228 Manual de Referncia do RAPID

Instrues
ento deixadas fora do fluxograma principal do programa. PROC main ( ) VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDO do1, 1, sig1int; : : IDelete sig1int; ENDPROC

ISignalDO

A interrupo apagada no final do programa, e ento reativada. Neste caso, poder ser notado que a interrupo est inativa por um curto perodo.

Sintaxe
ISignalDO [ \ Single,] [ Signal := ] < variable (VAR) of signaldo > , [ TriggValue := ] < expression (IN) of dionum >, [ Interrupt := ] < variable (VAR) of intnum > ;

Informao relacionada
Descrito em: Sumrio de interrupes Interrupo de um sinal de entrada Mais informaes em interrupes dirigidas Mais exemplos Sumrio RAPID - Interrupes Instrues - ISignalDI Caractersticas Bsicas- Interrupes DataTypes - intnum

Manual de Referncia do RAPID

8-ISignalDO-229

ISignalDO

Instrues

8-ISignalDO-230

Manual de Referncia do RAPID

Instrues

ISleep

ISleep

Desativa uma interrupo


ISleep (Interrupt Sleep) usado para desativar uma interrupo individual temporariamente. Durante o tempo de desativao, quaisquer interrupes geradas do tipo especificado sero descartadas sem a execuo de qualquer rotina de interceptao.

Exemplo
ISleep sig1int; A interrupo sig1int desativada.

Argumentos ISleep
Interrupt

Interrupt
DataType: intnum

A varivel (identificao da interrupo) da interrupo.

Execuo do programa
Quaisquer interrupes geradas do tipo especificado sero descartadas sem a execuo de qualquer rotina de interceptao, at que a interrupo seja reativada atravs da instruo IWatch. Interrupes geradas enquanto ISleep est ativa so ignoradas.

Exemplo
VAR intnum timeint; CONNECT timeint WITH check_serialch; ITimer 60, timeint; . ISleep timeint; WriteBin ch1, buffer, 30; IWatch timeint; . TRAP check_serialch WriteBin ch1, buffer, 1; IF ReadBin(ch1\Time:=5) < 0 THEN TPWrite The serial communication is broken; EXIT; ENDIF

Manual de Referncia do RAPID

8-ISleep-231

ISleep
ENDTRAP

Instrues

Comunicao atravs do canal serial ch1 monitorada por meio de interrupes que so geradas a cada 60 segundos. A rotina trap checa se a comunicao est funcionando. Entretanto, quando a comunicao est em progresso, estas interrupes no so permitidas.

Manipulando erro
No so permitidas interrupes que no tenham sido ordenadas ou ativadas. Se o nmero da interrupo for desconhecido, a varivel do sistema ERRNO ser ajustada para ERR_UNKINO (veja "Data types - errnum"). O erro pode ento ser manuseado no tratamento de erros.

Sintaxe
ISleep [ Interrupt := ] < varivel (VAR) do intnum > ;

Informaes relacionadas
Descrito em: Sumrio de interrupes Habilitando uma interrupo Desabilitando todas as interrupes Cancelando uma interrupo Sumrio RAPID - Interrupes Instrues - IWatch Instrues - IDisable Instrues - IDelete

8-ISleep-232

Manual de Referncia do RAPID

Instrues

ITimer

ITimer Ordena uma interrupo com tempo determinado


ITimer (Interrupt Timer) usado para ordenar e habilitar uma interrupo com tempo determinado. Esta instruo pode ser usada, por exemplo, para checar a posio do equipamento perifrico uma vez a cada minuto.

Exemplos
VAR intnum timeint; CONNECT timeint WITH iroutine1; ITimer 60, timeint; Ordena uma interrupo que ocorre ciclicamente a cada 60 segundos. Uma chamada feita uma rotina trap iroutine1. ITimer \Single, 60, timeint; Ordena uma interrupo que ocorre uma vez depois de 60 segundos.

Argumentos ITimer
[ \Single ]

[ \Single ] Time Interrupt


DataType: switch

Especifica se a interrupo ocorre uma vez ou ciclicamente. Se o argumento Single ligado, a interrupo ocorre somente uma vez. Se o argumento omitido, a interrupo ir ocorrer cada vez no tempo especificado. Time DataType: num O tempo que deve passar antes que a interrupo ocorra. O valor especificado em segundos. Se Single ligado, este tempo no pode ser menor que 0.05segundos. O tempo correspondente para interrupes cclicas 0.25 seconds. Interrupt DataType: intnum

A varivel (identidade de interrupo) da interrupo. Esta deve ter sido previamente conectada a uma rotina trap por meio da instruo CONNECT.

Execuo do programa
A rotina trap correspondente automaticamente chamada no dado tempo seguindo a Data Types do Sistema e Rotinas 2-ITimer-233

ITimer

Instrues
ordem de interrupo. Quando isto executado, a execuo do programa continua de onde a interrupo ocorreu. Se uma interrupo ocorre ciclicamente, uma nova contagem do tempo iniciada quando a interrupo ocorre.

Exemplo
VAR intnum timeint; CONNECT timeint WITH check_serialch; ITimer 60, timeint; . TRAP check_serialch WriteBin ch1, buffer, 1; IF ReadBin(ch1\Time:=5) < 0 THEN TPWrite A comunicao serial est rompida; EXIT; ENDIF ENDTRAP Comunicao atravs do canal serial ch1 por meio de interrupes que so geradas a cada 60 segundos. A rotina trap checa se a comunicao est funcionando. Se ela no est, a execuo do programa interrompida e uma mensagem de erro aparece.

Limitaes
A mesma varivel para identidade de interrupo no pode ser usada mais de uma vez, sem ser primeiramente apagada. Veja Instrues - ISignalDI.

Sintaxe
ITimer [ \Single ,] [ Time := ] < expresso (IN) do num >, [ Interrupt := ] < varivel (VAR) do intnum > ;

Informaes relacionadas
Descrito em: Sumrio de interrupes Mais informaes em interrupes dirigidas Sumrio RAPID - Interrupes Caractersticas Bsicas- Interrupes

2-ITimer-234

Data Types do Sistema e Rotinas

Instrues

ITimer

IVarValue Ordena uma varivel de valor de interrupo


IVarVal(Varivel de Valor de Interrupo) usado para ordenar e habilitar uma interrupo quando o valor de uma varivel acedida via o interface de sensor serial tiver sido alterada. Esta instruo pode ser usada, por exemplo, para volumes de costura ou valores de intervalo de um detetor de costuras.

Exemplos
LOCAL PERS num adtVlt{25}:=[1,1.2,1.4,1.6,1.8,2,2.16667,2.33333,2.5,...]; LOCAL PERS num adptWfd{25}:=[2,2.2,2.4,2.6,2.8,3,3.16667,3.33333,3.5,...]; LOCAL PERS num adptSpd{25}:=10,12,14,16,18,20,21.6667,23.3333,25[,...]; LOCAL CONST num GAP_VARIABLE_NO:=11; PERS num gap_value; VAR intnum IntAdap; PROC main() ! Setup the interrupt. The trap routine AdapTrp will be called ! when the gapvariable with number GAP_VARIABLE_NO in ! the sensor interface has been changed. The new value will be available ! in the PERS gp_value variable. CONNECT IntAdap WITH AdapTrp; IVarValue GAP_VARIABLE_NO, gap_value, IntAdap; ! Start welding ArcL\On,*,v100,adaptSm,adaptWd,adaptWv,z10,tool\j\Track:=track; ArcL\On,*,v100,adaptSm,adaptWd,adaptWv,z10,tool\j\Track:=track; ENDPROC TRAP AdapTrap VAR num ArrInd; !Scale the raw gap value received ArrInd:=ArrIndx(gap_value); ! Update active welddata PERS variable adaptWd with ! new data from the arrays of predefined parameter arrays. ! The scale gapvalue is used as index in the voltag, wirefeed and speed arrays. adaptWd.weld_voltage:=adptVlt{ArrInd}; adaptWd.weld_wirefeed:=adptWfd{ArrInd}; adaptWd.weld_speed:=adptSpd{ArrInd}; !Request a refresh of AW parameters using the new data inadaptWd ArcRefresh; ENDTRAP

Data Types do Sistema e Rotinas

2-ITimer-235

ITimer

Instrues

Argumentos IVarValue
VarNo O nmero da varivel a ser supervisionada. Value Tipo de dados: num

VarNo Value, Interrupt


Tipo de dados: num

Uma varivel PERS que ir conter o novo valor de Varno. Interrupt Tipo de dados: intnum

A varivel (identidade de interrupo) da interrupo. Isto dever ter sido conectada a um sinal de Trig por meio da instruo CONNECT.

Execuo do programa
O sinal de Trig correspondente automaticamente chamado em um determinado tempo a seguir ordem de interrupo. Quando isto tiver sido executado, a execuo do programa continua a partir de onde ocorreu a interrupo.

Limitaes
A mesma varivel para a identidade de interrupo no pode ser usada mais de cinco vezes, sem primeiro ser eliminada.

Sintaxe
IVarValue [ VarNo := ] < expression (IN) of num >, [ Value := ] < persistent(PERS) of num >, [ Interrupt := ] < variable (VAR) of intnum > ;

Informao relacionada
Descrita em: Sumrio de interrupts Mais informaes sobre o gerenciamento de interrupts Sumrio RAPID - Interrupts Caractersticas bsicas - Interrupts

2-ITimer-236

Data Types do Sistema e Rotinas

Instrues

IWatch

IWatch

Ativa uma interrupo

IWatch (Interrupt Watch) usada para ativar uma interrupo que foi anteriormente ordenada, mas que tinha sido desativada com ISleep.

Exemplo
IWatch sig1int; A interrupo sig1int que anteriormente estava desativada, ativada.

Argumentos IWatch
Interrupt Varivel (identificao) da interrupo.

Interrupt
DataType: intnum

Execuo do programa
Reativa mais uma vez as interrupes do tipo especificado. Contudo, as interrupes geradas enquanto a instruo ISleep estava em vigor so ignoradas.

Exemplo
VAR intnum sig1int; CONNECT sig1int WITH iroutine1; ISignalDI di1,1,sig1int; . ISleep sig1int; weldpart1; IWatch sig1int; Durante a execuo da rotina weldpart1, nenhuma interrupo permitida pelo sinal di1.

Manipulando erro
No so permitidas interrupes que no tenham sido ordenadas. Se o nmero da interrupo for desconhecido, a varivel do sistema ERRNO ser ajustada para ERR_UNKINO (veja "Data types - ernum"). O erro pode ser manuseado no tratamento de erros. Manual de Referncia do RAPID 8-IWatch-237

IWatch

Instrues

Sintaxe
IWatch [ Interrupt := ] < varivel (VAR) do intnum > ;

Informaes relacionadas
Descrito em: Sumrio de interrupes Desativando uma interrupo Sumrio RAPID - Interrupes Instrues - ISleep

2-IWatch-238

Data Types do Sistema e Rotinas

Instrues

label

label

Nome da linha
Label usado para nomear uma linha do programa. Usando a instruo GOTO , este nome tambm pode ser usado para mover a execuo do programa.

Exemplo
GOTO next; . next: A execuo do programa continua com a instruo em seguida de next.

Argumentos Label:
Label O nome que se deseja dar linha. Identificador

Execuo do programa
Nada acontece quando voc executa esta instruo.

Limitaes
O label no pode ser o mesmo que - qualquer outro label dentro da mesma rotina, - o nome de qualquer dado dentro da mesma rotina. Um rtulo oculta um dado global e rotinas com o mesmo nome dentro da rotina nela localizada .

Sintaxe
(EBNF) <identificador>:

Data Types do Sistema e Rotinas

2-label-239

label

Instrues

Informaes relacionadas
Descrito em: Identificadores Movendo exec. do programa para um label Caractersticas BsicasElementos bsicos Instrues - GOTO

2-label-240

Data Types do Sistema e Rotinas

Instrues

Load

Load Carregar o mdulo de um programa durante a execuo


Load usado para carregar um mdulo de um programa na memria durante a execuo. O mdulo do programa carregado ser adicionado aos mdulos j existentes na memria do programa. Um mdulo de sistema ou de programa pode ser carregado em modo esttico (padro) ou dinmico: Modo esttico
Tabela 1 Como operaes diferentes afetam mdulos de sistema ou de programa carregados estaticamente
Definir PP como principal a partir do TP Mdulo de programa Mdulo de sistema No afetado No afetado Abrir novo programa RAPID No carregado No afetado

Modo dinmico
Tabela 2 Como operaes diferentes afetam mdulos de sistema ou de programa carregados dinamicamente
Definir PP como principal a partir do TP Mdulo de programa Mdulo de sistema No carregado No carregado Abrir novo programa RAPID No carregado No carregado

Os mdulos carregados, tanto esttica quanto dinamicamente, podem ser descarregados pela instruo UnLoad.

Exemplo
Carregar ram1disk \File:="PART_A.MOD"; Carrega o mdulo do programa PART_A.MOD de ram1disk na memria do programa. (ram1disk uma constante string pr-definida "ram1disk:"). Carrega mdulo de programa em modo dinmico.

Data Types do Sistema e Rotinas

2-Load-241

Load

Instrues

Argumentos Load [\Dynamic] FilePath [\File] [\Dynamic]


Data type: switch

A opo ativa o carregamento de um mdulo de programa em modo dinmico. Caso contrrio, o carregamento ocorre em modo esttico.

FilePath

Data type: string

A trajetria do arquivo e o nome do arquivo que vai ser carregado na memria do programa. O nome do arquivo ser excludo quando o argumento \File for usado.

[\File]

Data type: string

Quando o nome do arquivo no se encontra includo no argumento FilePath, o mesmo ter de ser definido junto com este argumento.

Execuo do programa
A execuo do programa espera que o mdulo do programa acabe o carregamento antes de passar instruo seguinte. De modo a obter uma boa estrutura do programa, que seja de fcil compreenso e manuteno, o carregamento e o descarregamento dos mdulos do programa devero ser executados a partir do mdulo principal que est sempre presente na memria do programa durante a execuo. Depois de ter sido carregado, o mdulo do programa ser conectado e inicializado. A inicializao do mdulo carregado ajusta todas as variveis no nvel do mdulo para os seus valores iniciais. As referncias por resolver sero aceites se o parmetro Tasks do sistema estiver ligado (BindRef = NO). Contudo, quando o programa inicializado, a funo Program/File/Check do programa da unidade de programao no verificar as referncias no resolvidas se o parmetro BindRef = NO. Aparecer um parmetro run time error na execuo de uma referncia por resolver

Exemplos
Load \Dynamic, "ram1disk:DOORDIR/DOOR1.MOD"; Carregue o mdulo do programa DOOR1.MOD de ram1disk no diretrio DOORDIR na memria do programa. O mdulo de programa carregado em modo dinmico. Load \Dynamic, "ram1disk:" \File:="DOORDIR/DOOR1.MOD"; O mesmo de cima mas com outra sintaxe.

2-Load-242

Data Types do Sistema e Rotinas

Instrues
Load "ram1disk:" \File:="DOORDIR/DOOR1.MOD";

Load

O mesmo que os dois exemplos acima, mas o mdulo carregado em modo esttico.

Limitaes
No permitido carregar um mdulo de programa que contenha uma rotina principal. As rotinas TRAP, os passos os sistema E/S e outras tarefas do programa no podem ser executadas durante o carregamento. Evite usar um disquete flexvel para carregamento uma vez que a leitura de um disquete flexvel demora muito tempo. Uma parada do programa durante a execuo da instruo Load resulta numa parada de proteo com os motores desligados e a mensagem de erro 2005 Stop order timeout ser mostrada na unidade de programao.

Tratamento de erros
Se um arquivo nas instrues Load no for encontrado, nesse caso a varivel do sistema ERRNO ajustada para ERR_FILNOTFND. Se o mdulo j est carregado na memria do programa ento a varivel do sistema ERRNO ajustada para ERR_LOADED (veja Data types - errnum). Os erros acima mencionados podem ser manuseados no tratamento de erros.

Sintaxe
Load [\Dynamic ,] [FilePath:=]<expression (IN) of string> [\File:= <expression (IN) of string>];

Data Types do Sistema e Rotinas

2-Load-243

Load

Instrues

Informaes relacionadas
Descrito em: Descarregar um mdulo do programa Carregar um mdulo de programa em paralelo com a execuo de um outro programa Aceitar referncias por resolver Instrues - UnLoad Instrues - StartLoad-WaitLoad

Parmetros do Sistema- Controller Parmetros do Sistema - Tasks Parmetros do Sistema - BindRef

2-Load-244

Data Types do Sistema e Rotinas

Instrues

MechUnitLoad

MechUnitLoad

Define uma carga para uma unidade mecnica

MechUnitLoad usado para definir uma carga para uma unidade mecnica externa. (A carga para o rob definida com a instruo GripLoad) Essa instruo deve ser usada para todas as unidades mecnicas com modelo dinmico em servo para obter o melhor desempenho em movimentao. A instruo MechUnitLoad deve sempre ser executada aps a execuo da instruo ActUnit.

Exemplo
IRBP_L eixo 1

Figure 22 Uma unidade mecnica chamada IRBP_L, do tipo IRBP L

ActUnit IRBP_L; MechUnitLoad IRBP_L, 1, load0; Ativa a unidade mecnica IRBP_L e define a carga load0 (correspondente a nenhuma carga), montada no eixo 1. ActUnit IRBP_L; MechUnitLoad IRBP_L, 1, fixture1; Ativa a unidade mecnica IRBP_L e define a carga fixture1, correspondente ao arranjo de fixao fixture1 montado no eixo 1. ActUnit IRBP_L; MechUnitLoad IRBP_L, 1, workpiece1; Ativa a unidade mecnica IRBP_L e define a carga workpiece1 correspondente ao arranjo de fixao montado e pea de trabalho chamada workpiece1 no eixo 1.

Data Types do Sistema e Rotinas

2-MechUnitLoad-245

MechUnitLoad

Instrues

Argumentos MechUnitLoad MechUnit AxisNo Load


MechUnit (Unidade mecnica) Tipo de dados: mecunit

O nome da unidade mecnica. AxisNo (Nmero do eixo) Tipo de dados: num

O nmero do eixo dentro da unidade mecnica que segura a carga. Load Tipo de dados: loaddata Os dados de carga que descrevem a carga atual a ser definida.

Execuo do programa
Aps a execuo de MechUnitLoad, quando os eixos externos e do rob se estabilizam, a carga especificada definida para o eixo e a unidade mecnica especificados. Isso significa que a carga controlada e monitorada pelo sistema de controle. A carga padro na partida a frio para um determinado tipo de unidade mecnica a carga mxima predefinida para esse tipo de unidade mecnica. Quando alguma outra carga usada, a carga real para o eixo e a unidade mecnica deve ser redefinida com essa instruo. Deve ser sempre feito aps a ativao da unidade mecnica. A carga definida permanece depois de uma reiniciao por falha de energia. A carga definida tambm permanece depois de uma reiniciao do programa aps a ativao manual de algumas outras unidades mecnicas da janela de movimentao. X Fixao Sistema de coordenadas de atuao final para a unidade mecnica Z Pea de trabalho O centro de gravidade para a carga (fixao + pea de trabalho) Unidade mecnica
Figure 23 Carga montada no atuador de extremidade de uma unidade mecnica.

2-MechUnitLoad-246

Data Types do Sistema e Rotinas

Instrues

MechUnitLoad

Exemplo

IRBP_K

eixo 2 eixo 1 eixo 3

Figure 24 Uma unidade mecnica chamada IRBP_K do tipo IRBP K com trs eixos.

MoveL homeside1, v1000, fine, gun1; ... ActUnit IRBP_K; A unidade mecnica IRBP_K inteira ativada. MechUnitLoad IRBP_K, 2, workpiece1; Define a carga workpiece1 na unidade mecnica IRBP_K, eixo 2. MechUnitLoad IRBP_K, 3, workpiece2; Define a carga workpiece2 na unidade mecnica IRBP_K, eixo 3. MoveL homeside2, v1000, fine, gun1 Os eixos da unidade mecnica IRBP_K so movidos para a posio de comutao homeside2 com a carga montada em ambos os eixos 2 e 3.

Limitaes
A instruo de movimento anterior a essa instruo deve ser terminada com um ponto de parada para tornar uma reiniciao dessa instruo possvel aps uma falha de energia.

Data Types do Sistema e Rotinas

2-MechUnitLoad-247

MechUnitLoad

Instrues

Sintaxe
MechUnitLoad [MechUnit := ] < variable (VAR) of mecunit> , [AxisNo := ] <expression (IN) of num , [ Load := ] < persistent (PERS) of loaddata > ;

Informaes relacionadas
Descrito em: Identificao de carga para unidades mecnicas externas Unidades mecnicas Definio de dados de carga Definio de carga para o rob LoadID&CollDetect - Programa muloadid.prg Tipos de dados - mecunit Tipos de dados - loaddata Instrues - GripLoad Tipos de dados - tooldata

2-MechUnitLoad-248

Data Types do Sistema e Rotinas

Instrues

MoveCSync

MoveCSync

Movimenta circularmente o rob e executa um procedimento RAPID

MoveCSync (Move Circular Synchronously) usada para mover o ponto central da ferramenta (TCP), circularmente a um dado destino. O procedimento RAPID especificado ser executado a meio do trajeto de canto no ponto de destino. Durante o movimento, a orientao permanece normalmente inalterada em relao ao crculo.

Exemplos
MoveCSync p1, p2, v500, z30, tool2, proc1; O TCP da ferramenta, tool2, movido em crculo para a posio p2, com o dado de velocidade v500 e dado de zona z30. O crculo estar definido a partir da posio inicial, do ponto do crculo p1 e do ponto de destino p2. O procedimento proc1 ser executado no meio do trajeto de canto em p2.

Argumentos MoveCSync
CirPoint

CirPoint ToPoint Speed [ \T ] Zone Tool [\WObj ] ProcName


Tipos de dados: robtarget

O ponto do crculo do rob. uma posio no crculo entre o ponto inicial e o ponto de destino. Para obter alta preciso, dever estar situado a meio trajeto entre os pontos inicial e de destino. Se estiver muito prximo do ponto inicial ou do ponto de destino, o rob poder dar uma advertncia. O ponto do crculo definido como uma posio indicada ou armazenada diretamente na instruo (marcada com um * na instruo). A posio dos eixos externos no ser usada. ToPoint Tipos de dados: robtarget

O ponto de destino do rob e eixos externos. definido como uma posio indicada ou armazenada diretamente na instruo (marcada com um * na instruo). Speed Tipos de dados: speeddata

Os dados de velocidade que se aplicam aos movimentos. Os dados de velocidade definem a velocidade do TCP, a reorientao da ferramenta e dos eixos externos. [ \T ] (Time) Tipos de dados: num

Este argumento usado para especificar o tempo total em segundos durante o qual se movem o rob e os eixos externos. Ser depois substitudo pelos dados da velocidade correspondente.

Data Types do Sistema e Rotinas

2-MoveCSync-249

MoveCSync
Zone

Instrues
Tipos de dados: zonedata Dados de zona para o movimento. Os dados de zona descrevem o tamanho do trajeto de canto.

Tool

Tipos de dados: tooldata A ferramenta usada quando o rob se move. O TCP o ponto que deslocado para o ponto de destino especificado.

[ \WObj]

(Objeto de Trabalho)

Tipos de dados: wobjdata

O objeto de trabalho (sistema de coordenadas do objeto) para o qual relacionada a posio do rob na instruo. Este argumento poder ser omitido, e se o for, a posio ser relacionada com o sistema de coordenadas globais. Se, de outra maneira, for usado um TCP estacionrio ou eixos de coordenadas externas, este argumento dever ser especificado. ProcName (Nome de Procedimento) Tipos de Dados: string

Indica o procedimento RAPID a ser executado a meio do trajeto de canto no ponto de destino.

Execuo do programa
Para maiores informaes sobre movimentos circulares, ver a instruo MoveC. O procedimento RAPID especificado ser executado quando o TCP alcanar o meio do trajeto de canto no ponto de destino da instruo MoveCSync conforme Figura 1:

MoveCSync p2, p3, v1000, z30, tool2, my_proc; Quando TCP estiver aqui, my_proc ser executado p1 Zona p3 p2 p4

Figura 25 Execuo de procedimento RAPID definido pelo usurio a meio do trajeto de canto.

2-MoveCSync-250

Data Types do Sistema e Rotinas

Instrues

MoveCSync

Para pontos de parada recomendamos usar a seqncia de programao normal com MoveC + outras instrues RAPID em seqncia. Execuo de procedimentos RAPID especificados em modos de execuo diferentes: Modo de execuo: Contnuo ou cclico Em escada frente Em escada atrs Execuo de procedimento RAPID: Conforme esta descrio No ponto de parada De forma alguma

Limitaes
Limitaes gerais conforme instruo MoveC. Comutao do modo de execuo, aps a parada do programa de contnuo ou em ciclo para em escada frente ou atrs, resulta em erro. Este erro comunica ao usurio, que a comutao de modo poder resultar em execuo falhada do procedimento RAPID em fila sobre o trajeto. Este erro poder ser evitado se o programa for parado com StopInstr antes da comutao de modo. A instruo MoveCSync no poder ser usada no nvel TRAP . O procedimento RAPID especificado no poder ser testado com a execuo em escada.

Sintaxe
MoveCSync [ CirPoint := ] < expresso (IN) de robtarget > , [ ToPoint := ] < expresso (IN) de robtarget > , [ Speed := ] < expresso (IN) de speeddata > [ \ T := < expresso (IN) de num > ] , [ Zone := ] < expresso (IN) de zonedata > , [ Tool := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] , [ ProcName := ] < expresso (IN) de string > ] ;

Data Types do Sistema e Rotinas

2-MoveCSync-251

MoveCSync

Instrues

Informaes relacionadas
Descritas em: Outras instrues de posicionamento Definio de velocidade Definio de dados de zona Definio de ferramentas Definio de objetos de trabalho Movimentao em geral Sistemas de coordenadas Sumrio RAPID - Motion Tipos de dados - speeddata Tipos de dados - zonedata Tipos de dados - tooldata Tipos de dados - wobjdata Movimentao e Princpios E/S Movimentao e Princpios E/S Sistemas de Coordenadas

2-MoveCSync-252

Data Types do Sistema e Rotinas

Instrues

MoveAbsJ

MoveAbsJ Move o rob para posio absoluta de juno


MoveAbsJ (Move Absolute Joint) usado para mover o rob para uma posio absoluta, definida nas posies dos eixos. Esta instruo somente precisa ser usada quando: - o ponto de parada um nico ponto - para posies ambguas no IRB 6400C, ex. para movimentos com a ferramenta sobre o rob. A posio final do rob, durante o movimento com MoveAbsJ, no afetado pela ferramenta e objeto de trabalho nem pelo deslocamento de programa. Entretanto, o rob usa aqueles dados para calcular a carga, velocidade TCP, e o trajeto de canto. As mesmas ferramentas podem ser usadas como instrues de movimentos adjacentes. O rob e eixos externos so movidos para a posio de destino ao longo de uma trajetria no linear. Todos os eixos alcanam a posio de destino ao mesmo tempo.

Exemplos
MoveAbsJ p50, v1000, z50, tool2; O rob com a ferramenta tool2, movido ao longo de um trajeto no -linear para uma posio de eixo absoluta, p50, com dado de velocidade v1000 e dado de zona z50. MoveAbsJ *, v1000\T:=5, fine, grip3; O rob com a ferramenta grip3, movido ao longo de um trajeto no-linear para um ponto de parada que guardado como uma posio de eixo absoluta na instruo (marcada com um *). O movimento completo dura 5 s.

Argumentos MoveAbsJ
[ \Conc ]

[ \Conc ] ToJointPos [\NoEOffs] Speed [ \V ] | [ \T ] Zone [ \Z ] Tool [ \WObj ]


(Concurrent) DataType: switch

Instrues subsequentes so executadas enquanto o rob est em movimento. O argumento usado para encurtar o tempo do ciclo quando, por exemplo, comunicando com equipamento externo, se a sincronizao no necessria. Usando o argumento \Conc, o nmero de instrues de movimento sucessivas limitado em 5. Numa seo do programa que inclui StorePath-RestoPath, instrues de movimento com o argumento \Conc no so permitidas. Se este argumento for omitido e o ToPoint no for um ponto de parada, a Manual de Referncia do RAPID 8-MoveAbsJ-253

MoveAbsJ

Instrues
instruo subsequente ser executada algum tempo antes do rob ter atingido a zona programada.

ToJointPos

(To Joint Position)

DataType: jointtarget

O destino da posio absoluta eixo a eixo do rob e eixos externos. definido como uma posio nomeada ou guardado diretamente na instruo (marcada com um * na instruo). [ \NoEOffs ] (No External Offsets) Data type: switch

Se o argumento NoEOffs estiver definido, o movimento com MoveAbsJ no ser afetado por deslocamentos ativos para eixos externos. Speed DataType: speeddata

O dado de velocidade que aplica-se aos movimentos. O dado de velocidade define a velocidade do ponto central da ferramenta, a reorientao da ferramenta e eixos externos. [ \V ] (Velocity) DataType: num

Este argumento usado para especificar a velocidade do TCP em mm/s diretamente na instruo. Ele ento substitudo pela velocidade correspondente especificada no dado de velocidade. [ \T ] (Time) DataType: num

Este argumento usado para especificar o tempo total em segundos enquanto o rob se move. Ele ento substitudo pelo correspondente dado de velocidade. Zone DataType: zonedata Dados de zona para o movimento. Os dados de zona descrevem a dimenso do escanteio produzida. [ \Z ] (Zone) DataType: num

Este argumento usado para especificar a preciso da posio do TCP do rob diretamente na instruo. A extenso do trajeto de canto dada em mm, que substitudo pela zona correspondente especificada no dado de zona. Tool A ferramenta em uso durante o movimento. A posio do TCP e da carga na ferramenta so definidas no dado de ferramenta. A posio do TCP usada para decidir a velocidade e o trajeto de canto para o movimento. [ \WObj] (Work Object) DataType: wobjdata DataType: tooldata

O objeto de trabalho usado durante o movimento.

8-MoveAbsJ-254

Manual de Referncia do RAPID

Instrues

MoveAbsJ
Este argumento pode ser omitido se a ferramenta sustentada pelo rob. Entretanto, se o rob segura o objeto de trabalho, i.e. a ferramenta estacionria ou com coordenadas de eixos externos, ento o argumento deve ser especificado. No caso de uma ferramenta estacionria ou coordenada de eixos externos, o dado usado pelo sistema para decidir a velocidade e o trajeto de canto para o movimento, definido no objeto de trabalho.

Execuo do programa
Um movimento com MoveAbsJ no afetado pelo reposicionamento do programa ativo e, quando executado com a opo \NoEOffs, no h deslocamento para eixos externos. Sem a opo \NoEOffs, os eixos externos no alvo de destino so afetados pelo deslocamento ativo para eixos externos. A ferramenta movida para o destino da posio absoluta da junocom interpolao dos ngulos do eixo. Isto significa que cada eixo movido com velocidade constante de eixo e que todos os eixos alcanam o destino da posio absoluta eixo a eixo ao mesmo tempo, que resulta em uma trajetria no linear. Generalizando, o TCP movido numa velocidade programada aproximada. A ferramenta reorientada e os eixos externos so movidos ao mesmo tempo que o TCP se move. Se a velocidade programada para reorientao ou para eixos externos no pode ser atingida, a velocidade do TCP ser reduzida. Um trajeto de canto gerado normalmente quando o movimento transferido para a prxima seo da trajetria. Se o ponto de parada especificado num dado de zona, a execuo do programa somente continua quando o rob e eixos externos alcanam a apropriada posio absoluta eixo a eixo.

Exemplos
MoveAbsJ *, v2000\V:=2200, z40 \Z:=45, grip3; A ferramenta, grip3, movida ao longo de uma trajetria no-linear para a posio absoluta eixo a eixo carregado na instruo. O movimento realizado com dado fixado em v2000 e z40, a velocidade e tamanho da zona do TCP so 2200 mm/s e 45 mm respectivamente. MoveAbsJ \Conc, *, v2000, z40, grip3; A ferramenta, grip3, movido ao longo de uma trajetria no-linear para a posio absoluta eixo a eixo carregado na instruo. Instrues lgicas subsequentes so executadas enquanto o rob se move. MoveAbsJ \Conc, * \NoEOffs, v2000, z40, grip3; Mesmo movimento que acima, mas o movimento no afetado por deslocamentos ativos para eixos externos. Manual de Referncia do RAPID 8-MoveAbsJ-255

MoveAbsJ
GripLoad obj_mass; MoveAbsJ start, v2000, z40, grip3 \WObj:= obj;

Instrues

O rob move o objeto de trabalho obj em relao a uma ferramenta fixada grip3 ao longo de uma trajetria no-linear para uma posio absoluta de eixo start.

Tratamento de erros
Quando rodando um programa, uma checagem feita para que os argumentos Tool e \WObj no contenham dados contraditrios com relao a ferramenta mvel ou estacionria respectivamente.

Limitaes
Para que seja possvel rodar o programa para trs com a instruo MoveAbsJ envolvida, e evitando problemas com pontos singulares ou reas ambguas, essencial que as instrues subsequentes preencham certos requisitos, como o que segue (veja Figure 1).

Ponto singular

MoveAbsJ

MoveJ

rea ambgua

MoveAbsJ MoveAbsJ

Qualquer movim.

Figure 1 Limitao para rodar programa para trs com MoveAbsJ.

8-MoveAbsJ-256

Manual de Referncia do RAPID

Instrues

MoveAbsJ

Sintaxe
MoveAbsJ [ \ Conc , ] [ ToJointPos := ] < expression (IN) of jointtarget > [ \ NoEoffs ] , [ Speed := ] < expression (IN) of speeddata > [ \ V := < expression (IN) of num > ] | [ \ T := < expression (IN) of num > ] , [Zone := ] < expression (IN) of zonedata > [ \ Z := < expression (IN) of num > ] , [ Tool := ] < persistent (PERS) of tooldata > [ \ WObj := < persistent (PERS) of wobjdata > ] ;

Informaes relacionadas
Descrito em: Outras instrues de posicionamento Definio de jointtarget Defino de velocidade Defino de dado de zona Definio de ferramentas Definio de objetos de trabalho Movimentao em geral Execuo de programa concomitante Sumrio RAPID - Movimentao DataTypes - jointtarget DataTypes - speeddata DataTypes - zonedata DataTypes - tooldata DataTypes - wobjdata Movimento e Princpios E/S Movimento e Prncipios E/S Sincronizao usando instrues lgicas

Manual de Referncia do RAPID

8-MoveAbsJ-257

MoveAbsJ

Instrues

8-MoveAbsJ-258

Manual de Referncia do RAPID

Instrues

MoveC

MoveC

Move o rob circularmente


MoveC usado para mover o ponto central da ferramenta (TCP) circularmente para um certo destino. Durante o movimento, a orientao normalmente permanece relativo ao crculo.

Exemplos
MoveC p1, p2, v500, z30, tool2; O TCP da ferramenta, tool2, movida circularmente para a posio p2, com dado de velocidade v500 e dado de zona z30. O crculo definido pela posio de incio, o ponto do crculo p1 e o ponto de destino p2. MoveC *, *, v500 \T:=5, fine, grip3; O TCP da ferramenta, grip3, movido circularmente para um ponto fino guardado na instruo (marcado pelo segundo *). O ponto do crculo tambm guardado na instruo (marcado pelo primeiro *). O movimento completo leva 5 segundos. MoveL p1, v500, fine, tool1; MoveC p2, p3, v500, z20, tool1; MoveC p4, p1, v500, fine, tool1; Um crculo completo realizado se as posies so as mesmas que as mostradas na Figura 2. p1

p4

p2

p3
Figura 2 Um crculo completo realizado por duas instrues MoveC .

Argumentos MoveC
[ \Conc ]

[ \Conc ] CirPoint ToPoint Speed [ \V ] | [ \T ] Zone [ \Z] Tool [ \WObj ] [ \Corr ]


(Concurrent) DataType: switch

Instrues subsequentes so executadas imediatamente. Este argumento usado

Data Types do Sistema e Rotinas

2-MoveC-259

MoveC

Instrues
para encurtar o tempo do ciclo quando, por exemplo, comunicando com equipamento externo, se a sincronizao no necessria. Usando o argumento \Conc, o nmero de instrues de movimento sucessivas limitado em 5. Numa seo do programa que inclui StorePath-RestoPath, instrues de movimento com o argumento \Conc no so permitidas. Se este argumento omitido e ToPoint no um ponto de parada, a instruo subsequente somente executada depois do rob ter alcanado a zona programada especificada. CirPoint DataType: robtarget

O ponto do crculo do rob. O ponto do crculo uma posio no crculo entre o ponto de partida e o ponto de destino. Para obter a melhor exatido, ele deve ser colocado a meio caminho entre os pontos de partida e de destino. Se ele colocado muito prximo de um desse pontos, o rob pode dar uma advertncia. O ponto do crculo definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo). A posio de eixos externos no so usados. ToPoint DataType: robtarget

O ponto de destino do rob e eixos externos. Ele definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo). Speed DataType: speeddata

O dado de velocidade que se aplica aos movimentos. O dado de velocidade define a velocidade do TCP, a reorientao da ferramenta e eixos externos. [ \V ] (Velocity) DataType: num

Este argumento usado para especificar a velocidade do TCP em mm/s diretamente na instruo. Ele ento substitudo pela velocidade correspondente especificada no dado de velocidade. [ \T ] (Time) DataType: num

Este argumento usado para especificar o tempo total em segundos enquanto o rob e eixos externos se movem. Ele ento substitudo pelo correspondente dado de velocidade. Zone DataType: zonedata Dados de zona para o movimento. Os dados de zona descrevem a dimenso do trajeto de escanteio produzida. [ \Z ] (Zone) DataType: num

Este argumento usado para especificar a exatido da posio do TCP do rob diretamente na instruo. A extenso do trajeto de canto dada em mm, que substitudo pela zona correspondente especificada no dado de zona. 2-MoveC-260 Data Types do Sistema e Rotinas

Instrues
Tool

MoveC
DataType: tooldata A ferramenta em uso quando o rob se move. O ponto central de ferramenta o ponto que movido para o ponto de destino especificado.

[ \WObj]

(Work Object)

DataType: wobjdata

O objeto de trabalho (sistema de coordenada de objeto) o qual a posio do rob na instruo relacionada. Este argumento pode ser omitido, e se isso ocorre a posio relacionada com o sistema de coordenada mundial. Se, por outro lado, o TCP estacionrio ou coordenadas de eixos externos so usadas, este argumento deve ser especificado na sequncia para o crculo relativo a um objeto de trabalho a ser executado. [ \Corr] (Correction) Data type: switch

Dados de correo escritos em uma entrada de correes pela instruo CorrWrite sero acrescentados no trajeto e na posio de destino, se este argumento estiver presente.

Execuo do programa
O rob e unidades externas so movidas para o ponto de destino como segue: O TCP da ferramenta movido circularmente a uma velocidade constante programada. A ferramenta reorientada a uma velocidade constante, desde a orientao do ponto de partida at orientao do ponto de destino. A reorientao realizada relativa a uma trajetria circular. Assim, se a orientao relativa a trajetria a mesma nos pontos de partida e de destino, a orientao relativa permanece inalterada durante o movimento (veja Figura 3).

CirPoint Orientao ferramenta Ponto de partida

ToPoint

Figura 3 Orientao da ferramenta durante movimento circular.

Data Types do Sistema e Rotinas

2-MoveC-261

MoveC

Instrues

- A orientao no ponto do crculo no crtica; ela somente usada para distinguir entre duas direes possveis de reorientao. A exatido de reorientao ao longo da trajetria depende somente da orientao nos pontos de partida e de destino. - Coordenada de eixos externos so executadas numa velocidade constante para que elas cheguem ao ponto de destino ao mesmo tempo que os eixos do rob. A posio na posio de crculo no usada. Se no possvel atingir a velocidade programada para a reorientao ou para eixos externos, a velocidade do TCP ser reduzida. O trajeto de canto normalmente gerado quando o movimento transferido para a prxima seo da trajetria. Se o ponto de parada especificado no dado de zona, a execuo do programa somente continua quando o rob e eixos externos alcanam a posio apropriada.

Exemplos
MoveC *, *, v500 \V:=550, z40 \Z:=45, grip3; O TCP da ferramenta, grip3, movido circularmente para uma posio guardada na instruo. O movimento realizado com dado fixado em v500 e z40; a velocidade e tamanho da zona do TCP so 550 mm/s e 45 mm respectivamente. MoveC \Conc, *, *, v500, z40, grip3; O TCP da ferramenta, grip3, movido circularmente para uma posio guardada na instruo. O ponto do crculo tambm guardado na instruo. Instrues lgicas subsequentes so executadas enquanto o rob se move. MoveC cir1, p15, v500, z40, grip3 \WObj:=fixture; O TCP da ferramenta, grip3, movido circularmente para uma posio, p15, via o ponto do crculo cir1. Estas posies esto especificadas no sistema de coordenada de objeto para fixture.

Limitaes
Uma mudana no modo de execuo do programa de frente para trs ou vice versa, enquanto o rob est parado numa trajetria circular, no permitido e ir resultar numa mensagem de erro. A instruo MoveC (ou qualquer outra instruo incluindo o movimento circular) nunca deve ser inicializada desde o incio com o TCP entre o ponto circular e o ponto final. Caso contrrio, o rob no seguir o trajeto programado (posicionamento em redor do trajeto circular noutra direo em comparao com a que est programada).

2-MoveC-262

Data Types do Sistema e Rotinas

Instrues

MoveC

Certifique-se de que o rob possa alcanar o ponto do crculo durante a execuo do programa e divida o segmento do crculo se necessrio.

Sintaxe
MoveC [ \ Conc , ] [ CirPoint := ] < expresso (IN) do robtarget > , [ ToPoint := ] < expresso (IN) do robtarget > , [ Speed := ] < expresso (IN) do speeddata > [ \ V := < expresso (IN) do num > ] | [ \ T := < expresso (IN) do num > ] , [Zone := ] < expresso (IN) do zonedata > [ \ Z := < expresso (IN) do num > ] , [ Tool := ] < persistente (PERS) do tooldata > [ \ WObj := < persistente (PERS) do wobjdata > ] [ \ Corr ];

Informaes relacionadas
Descrito em: Outras instrues de posicionamento Definio de velocidade Definio de dado de zona Definio de ferramenta Definio de objeto de trabalho Escrever em uma entrada de correes Movimentao em geral Sistemas de coordenadas Execuo do programa concomitante Sumrio RAPID - Movimentao DataTypes - speeddata DataTypes - zonedata DataTypes - tooldata DataTypes - wobjdata Instrues - CorrWrite Movimento e Princpios E/S Movimento e Princpios E/S Sistemas de Coordenadas Movimento e Princpios E/S Sincronizao Usando Instrues Lgicas

Data Types do Sistema e Rotinas

2-MoveC-263

MoveC

Instrues

2-MoveC-264

Data Types do Sistema e Rotinas

Instrues

MoveCDO

MoveCDO

Move circularmente o rob e ajusta a sada digital no canto

MoveCDO (Move Circular Digital Output) usada para mover, em crculo, o ponto central da ferramenta (TCP) para um dado destino. A sada digital especificada ser ajustada/rearmada no meio do trajeto de canto no ponto de destino. Durante o movimento, a orientao permanece normalmente inalterada em relao ao crculo .

Exemplos
MoveCDO p1, p2, v500, z30, tool2, do1,1; O TCP da ferramenta, tool2, movimentado em crculo para a posio p2, com os dados de velocidade v500 e dados de zona z30. O crculo definido a partir da posio de partida, o ponto do crculo p1 e do ponto de destino p2. A sada do1 ajustada no meio do trajeto do canto em p2.

Argumentos MoveCDO
CirPoint

CirPoint ToPoint Speed [ \T ] Zone Tool [\WObj ] Signal Value


Tipos de dados: robtarget

O ponto do crculo do rob. O ponto do crculo do rob uma posio sobre o crculo entre o ponto inicial e o ponto de destino. Para obter a melhor preciso, dever ficar a meio trajeto entre os pontos inicial e de destino. Se ficar situado muito prximo do ponto inicial ou ponto de destino, o rob poder emitir uma advertncia. O ponto do crculo definido como uma posio indicada ou guardada diretamente na instruo (marcada com um * na instruo). A posio dos eixos externos no usada. ToPoint Tipos de dados: robtarget

O ponto de destino do rob e eixos externos. definido como uma posio indicada ou guardada diretamente na instruo (marcada com um * na instruo). Speed Tipos de dados: speeddata

Os dados de velocidade aplicados aos movimentos. Os dados de velocidade definem a velocidade do TCP, a reorientao da ferramenta e dos eixos externos. [ \T ] (Tempo) Tipos de dados: num

Este argumento usado para especificar o tempo total, em segundos, durante o qual o rob e os eixos externos se movem. depois substitudo pelos dados de velocidade correspondentes.

Data Types do Sistema e Rotinas

2-MoveCDO-265

MoveCDO
Zone

Instrues
Data type: zonedata Dados da zona para movimento. Os dados da zona descrevem o tamanho do trajeto de canto gerado.

Tool

Tipos de dados: tooldata A ferramenta em uso quando o rob se movimenta. O ponto central da ferramenta o ponto que se move para o ponto de destino especificado.

[ \WObj]

(Objeto de trabalho)

Tipos de dados: wobjdata

O objeto de trabalho (sistema de coordenadas do objeto) para o qual a posio do rob na instruo est relacionada. Este argumento poder ser omitido, e se o for, a posio estar relacionada com o sistema de coordenadas globais. Se, de outro modo, for usado um TCP estacionrio ou eixos externos coordenados, este argumento dever ser especificado em relao a um crculo, para o objeto de trabalho ser executado. Signal O nome do sinal digital de sada a ser mudado. Value O valor desejado do sinal (0 ou 1). Tipos de dados: dionum Tipos de dados: signaldo

Execuo do programa
Ver a instruo MoveC para mais informaoes sobre o movimento circular. O sinal de sada digital ajustado/rearmado ao meio do trajeto de canto para os pontos flutuantes conforme Figura 1.
.

CirPoint Ponto inicial Ajuste/Rearme do sinal ToPoint Zona


Figura 4 Ajuste/Rearme do sinal de sada digital no trajeto de canto com MoveCDO.

Prximo ponto

Para os pontos de parada recomenda-se usar a seqncia de programao normal com MoveC + SetDO. Mas se usar ponto de parada na instruo MoveCDO, o sinal de sada digital ser ajustado/rearmado quando o rob alcanar o ponto de parada.

2-MoveCDO-266

Data Types do Sistema e Rotinas

Instrues

MoveCDO

O sinal de E/S ser ajustado/rearmado no modo execuo, continuamente, para a frente em escada, mas para trs no poder ser em escada.

Limitaes
Limitaes gerais conforme instruo MoveC.

Sintaxe
MoveCDO [ CirPoint := ] < expresso (IN) de robtarget > , [ ToPoint := ] < expresso (IN) de robtarget > , [ Speed := ] < expresso (IN) de speeddata > [ \ T := < expresso (IN) de num > ] , [ Zone := ] < expresso (IN) de zonedata > , [ Tool := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] , [ Signal := ] < varivel (VAR) de signaldo>] , [ Value := ] < expresso (IN) de dionum > ] ;

Informaes relacionadas
Descritas em: Outras instrues de posicionamento Definio de velocidade Definio de dados da zona Definio de ferramentas Definia de objetos de trabalho Movimentao em geral Sistemas de coordenadas Movimentos com ajustes E/S Sumrio RAPID - Motion Tipos de Dados- speeddata Tipos de Dados- zonedata Tipos de Dados- tooldata Tipos de Dados- wobjdata Movimentao e Princpios E/S Movimentao e Princpios E/SSistemas de Coordenadas Movimentao e Princpios E/S- Sincronizao Usando Instrues Lgicas

Data Types do Sistema e Rotinas

2-MoveCDO-267

MoveCDO

Instrues

2-MoveCDO-268

Data Types do Sistema e Rotinas

Instrues

MoveJDO

MoveJDO

Move o rob por movimento de eixo e ajusta a sada digital no canto

MoveJDO (Move Joint Digital Output) usada para mover rapidamente o rob de um ponto a outro quando este movimento no tiver que ser em linha reta. O sinal de sada digital especificado ajustado/rearmado ao meio do trajeto de canto. O rob e os eixos externos deslocam-se para a posio de destino ao longo de um caminho no linear. Todos os eixos alcanam a posio de destino ao mesmo tempo.

Exemplos
MoveJDO p1, vmax, z30, tool2, do1, 1; O ponto central da ferramenta (TCP), tool2, move-se ao longo de um trajeto no linear para a posio, p1, com dados de velocidade vmax e dados de zona z30. A sada do1 definida ao meio do trajeto de canto em p1.

Argumentos MoveJDO ToPoint Speed [ \T ] Zone Tool [ \WObj ] Signal Value


ToPoint Tipos de dados: robtarget

O ponto de destino do rob e os eixos externos. definido como uma posio indicada e guardada diretamente na instruo (marcada com um * na instruo). Speed Tipos dados: speeddata

Os dados de velocidade aplicam-se a movimentos. Os dados de velocidade definem a velocidade do TCP, a reorientao da ferramenta e eixos externos . [ \T ] (Tempo) Tipos de dados: num

Este argumento usado para especificar o tempo total, em segundos, durante o qual o rob se move. substitudo depois pelos dados de velocidade correspondentes. Zone Tipos de dados: zonedata Dados de zona para o movimento. Os dados de zona descrevem o tamanho do trajeto de canto gerado. Tool Tipos de dados: tooldata A ferramenta em uso quando o rob se mover. O ponto central da ferramenta o ponto deslocado para o ponto de destino especificado.

Data Types do Sistema e Rotinas

2-MoveJDO-269

MoveJDO
[ \WObj] (Objeto de trabalho)

Instrues
Tipos de dados: wobjdata

O objeto de trabalho (sistema de coordenadas) para o qual a posio do rob est relacionado na instruo. Este argumento poder ser omitido, e se o for, a posio ser relacionada com o sistema de coordenadas globais. Se, de outro modo, forem usados eixos externos coordenados ou TCP estacionrio, este argumento dever ser especificado. Signal O nome do sinal de sada digital a ser alterado. Value O valor desejado de sinal (0 ou 1). Tipos de dados: dionum Tipos de dados: signaldo

Execuo de programa
Ver a instruo MoveJ para maiores informaes sobre o movimento de eixo. O sinal de sada digital ajustado/rearmado ao meio do trajeto de canto para pontos flutuantes conforme Figura 1.

p3

Ajusta o sinal do1 para 1 MoveJDO p2, v1000, z30, tool2, do1, 1; p1 p2 Zona

Figura 5 Ajuste/Rearme do sinal de sada digital no trajeto de canto com MoveJDO.

Para pontos de parada recomenda-se usar a seqncia de programao normal com MoveJ + SetDO. Mas se usar o ponto de parada na instruo MoveJDO, o sinal de sada digital ser ajustado/rearmado quando o rob alcanar o ponto de parada. O sinal especificado E/S ajustado/rearmado no modo execuo de forma contnua e para a frente em escada, mas nunca para trs em escada.

2-MoveJDO-270

Data Types do Sistema e Rotinas

Instrues
Sintaxe
MoveJDO [ ToPoint := ] < expresso (IN) of robtarget > , [ Speed := ] < expresso (IN) of speeddata > [ \ T := < expresso (IN) of num > ] , [ Zone := ] < expresso (IN) de zonedata > , [ Tool := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] , [ Signal := ] < varivel (VAR) de signaldo>] , [ Value := ] < expresso (IN) de dionum > ] ;

MoveJDO

Informaes relacionadas
Descritas em: Outras instrues de posicionamento Velocidade de definio Definio de dados de zona Definio de ferramentas Definio de objetos de trabalho Movimentao em geral Sistemas de coordenadas Movimentos com ajustes E/S Sumrio RAPID - Motion Tipos de Dados- speeddata Tipos de Dados- zonedata Tipos de Dados- tooldata Tipos de Dados- wobjdata Movimentao e Princpios E/S Movimentao e Princpios E/SSistemas de Coordenads Movimentao e Princpios E/S- Sincronismo Usando Instrues Lgicas

Data Types do Sistema e Rotinas

2-MoveJDO-271

MoveJDO

Instrues

2-MoveJDO-272

Data Types do Sistema e Rotinas

Instrues

MoveJ

MoveJ

Move o rob com movimento eixo a eixo


MoveJ usado para mover o rob rapidamente de um ponto a outro quando o movimento no tem que ser em linha reta. O rob e eixos externos movem-se ao ponto de destino ao longo de uma trajetria no linear. Todos os eixos alcanam o ponto de destino ao mesmo tempo.

Exemplos
MoveJ p1, vmax, z30, tool2; O ponto central da ferramenta (TCP) da ferramenta, tool2, movido ao longo de uma trajetria no linear para a posio, p1, com dado de velocidade vmax e dado de zona z30. MoveJ *, vmax \T:=5, fine, grip3; O TCP da ferramenta, grip3, movido ao longo de uma trajetria no linear para o ponto de parada guardado na instruo (marcado com um *). O movimento completo leva 5 segundos.

Argumentos MoveJ
[ \Conc ]

[ \Conc ] ToPoint Speed [ \V ] | [ \T ] Zone [ \Z ] Tool [ \WObj ]


(Concurrent) DataType: switch

Instrues subsequentes so executadas enquanto o rob est se movendo. Este argumento usado para encurtar o tempo do ciclo quando, por exemplo, comunicando com equipamento externo, se a sincronizao no for necessria. Usando o argumento \Conc, o nmero de instrues de movimento sucessivas limitado em 5. Numa seo do programa que inclui StorePath-RestoPath, instrues de movimento com o argumento \Conc no so permitidas. Se este argumento for omitido e a ToPoint, no for um ponto de parada, a instruo subsequente ser executada algum tempo antes do rob ter alcanado a zona programada. ToPoint DataType: robtarget

O ponto de destino do rob e eixos externos. Ele definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo).

Data Types do Sistema e Rotinas

2-MoveJ-273

MoveJ
Speed

Instrues
DataType: speeddata

O dado de velocidade que se aplica aos movimentos. O dado de velocidade define a velocidade do TCP, a reorientao da ferramenta e eixos externos. [ \V ] (Velocity) DataType: num

Este argumento usado para especificar a velocidade do TCP em mm/s diretamente na instruo. Ele ento substitudo pela velocidade correspondente especificada no dado de velocidade. [ \T ] (Time) DataType: num

Este argumento usado para especificar o tempo total em segundos enquanto o rob se move. Ele ento substitudo pelo correspondente dado de velocidade. Zone DataType: zonedata Dados de zona para o movimento. Os dados de zona descrevem a dimenso do trajeto de escanteio produzida. [ \Z ] (Zone) DataType: num

Este argumento usado para especificar a exatido da posio do TCP do rob diretamente na instruo. A extenso do trajeto de canto dada em mm, que substitudo pela zona correspondente especificada no dado de zona. Tool DataType: tooldata A ferramenta em uso quando o rob se move. O ponto central de ferramenta o ponto que movido para o ponto de destino especificado. [ \WObj] (Work Object) DataType: wobjdata

O objeto de trabalho (sistema de coordenada) em que o rob est posicionado na instruo relacionada. Este argumento pode ser omitido, e se isso ocorre a posio relacionada com o sistema de coordenada mundial. Se, por outro lado, o TCP estacionrio ou coordenadas de eixos externos so usadas, este argumento deve ser especificado.

Execuo do programa
O ponto central da ferramenta movido para a posio de destino com interpolao dos ngulos do eixo. Isto significa que cada eixo movido com velocidade constante de eixo e que todos os eixos alcanam o ponto de destino ao mesmo tempo, que resulta em uma trajetria no linear. Generalizando, o TCP movido numa velocidade programada aproximada (apesar de os eixos externos serem coordenados ou no). A ferramenta reorientada e os eixos externos so movidos ao mesmo tempo que o TCP se move. Se a velocidade programada para reorientao ou para eixos externos no pode ser atingida, a velocidade do

2-MoveJ-274

Data Types do Sistema e Rotinas

Instrues
TCP ser reduzida.

MoveJ

Um trajeto de canto gerado normalmente quando o movimento transferido para a prxima seo da trajetria. Se o ponto de parada especificado num dado de zona, a execuo do programa somente continua quando o rob e eixos externos alcanam a posio apropriada.

Exemplos
MoveJ *, v2000\V:=2200, z40 \Z:=45, grip3; O TCP da ferramenta, grip3, movida ao longo de uma trajetria no-linear para a posio carregada na instruo. O movimento realizado com dado fixado em v2000 e z40, a velocidade e tamanho de zona do TCP so 2200 mm/s e 45 mm respectivamente. MoveJ \Conc, *, v2000, z40, grip3; O TCP da ferramenta, grip3, movido ao longo de uma trajetria no-linear para uma posio carregada na instruo. Instrues lgicas subsequentes so executadas enquanto o rob se move. MoveJ start, v2000, z40, grip3 \WObj:=fixture; O TCP da ferramenta, grip3, movido ao longo de uma trajetria no-linear para uma posio, start. Esta posio especificada no sistema de coordenada do objeto para fixture.

Sintaxe
MoveJ [ \ Conc , ] [ ToPoint := ] < expresso (IN) do robtarget > , [ Speed := ] < expresso (IN) do speeddata > [ \ V := < expresso (IN) do num > ] | [ \ T := < expresso (IN) do num > ] , [Zone := ] < expresso (IN) do zonedata > [ \ Z := < expresso (IN) do num > ] , [ Tool := ] < persistente (PERS) do tooldata > [ \ WObj := < persistente (PERS) do wobjdata > ] ;

Data Types do Sistema e Rotinas

2-MoveJ-275

MoveJ

Instrues

Informaes relacionadas
Descrito em: Outras instrues de posicionamento Definio de velocidade Definio de dado de zona Definio de ferramenta Definio de objeto de trabalho Movimentao em geral Sistemas de coordenadas Execuo do programa concomitante Sumrio RAPID - Movimentao DataTypes - speeddata DataTypes - zonedata DataTypes - tooldata DataTypes - wobjdata Movimento e Princpios E/S Movimento e Princpios E/S Sistemas de Coordenadas Movimento e Princpios E/S Sincronizao Usando Instrues Lgicas

2-MoveJ-276

Data Types do Sistema e Rotinas

Instrues

MoveLDO

MoveLDO

Move o rob linearmente e ajusta a sada digital no canto

MoveLDO (Move Linearly Digital Output) usada para mover linearmente o ponto central da ferramenta (TCP) para um dado destino. O sinal de sada digital especificado ser ajustado/rearmado ao meio do trajeto do canto. Quando o TCP for permanecer estacionrio, esta instruo poder ser tambm usada para reorientar a ferramenta.

Exemplo
MoveLDO p1, v1000, z30, tool2, do1,1; O TCP da ferramenta, tool2, movido linearmente para a posio p1, com dados de velocidade v1000 e dados de zona z30. A sada do1 ser justada a meio do trajeto do canto em p1.

Argumentos MoveLDO ToPoint Speed [ \T ] Zone Tool [ \WObj ] Signal Value


ToPoint Tipos de dados: robtarget

O ponto de destino do rob e eixos externos. Est definida como uma posio indicada ou guardada diretamente na instruo (marcada com um * na instruo). Speed Tipo de dados: speeddata

Os dados de velocidade aplicados aos movimentos. Definem a velocidade do ponto central da ferramenta, a reorientao da ferramenta e eixos externos. [ \T ] (Tempo) Tipos de dados: num

Este argumento usado para especificar o tempo total em segundos, durante o qual o rob se move. substitudo depois pelos dados de velocidade correspondentes . Zone Tipos de dados: zonedata Dados de zona para o movimento. Dados de zona descrevem o tamanho do trajeto de canto gerado. Tool Tipos de dados: tooldata A ferramenta em uso quando o rob se move. O ponto central da ferramenta o ponto deslocado para a posio de destino especificada.

Data Types do Sistema e Rotinas

2-MoveLDO-277

MoveLDO
[ \WObj] (Work Object)

Instrues
Data type: wobjdata

O objeto de trabalho (sistema de coordenadas) para o qual a posio do rob est relacionada na instruo. Este argumento poder ser omitido, e se o for, a posio ser relacionada com o sistema de coordenadas globais. Se, de outro modo, forem usados eixos externos coordenados ou TCP estacionrio, este argumento dever ser especificado. Signal O nome do sinal de sada digital a ser alterado. Value O valor desjado de sinal (0 ou 1). Tipos de dados: dionum Tipos de dados: signaldo

Execuo do programa
Ver a instruo MoveL para maiores informaes acerca de movimentos lineares. O sinal de sada digital ajustado/rearmado ao meio do trajeto de canto por pontos flutuantes conforme Figura 1.

p3

Ajusta o sinal do1 para 1 MoveLDO p2, v1000, z30, tool2, do1, 1; p1 p2 Zona

Figura 6 Ajuste/Rearme do sinal de sada digital no trajeto de canto com MoveLDO.

Para pontos de parada recomenda-se usar a seqncia de programao normal com MoveL + SetDO. Mas, se usar o ponto de parada na instruo MoveLDO, o sinal de sada digital ser ajustado/rearmado quando o rob alcanar o ponto de parada. O sinal especificado E/S ajustado/rearmado no modo execuo contnuamente e para a frente em escada, mas nunca para trs em escada.

2-MoveLDO-278

Data Types do Sistema e Rotinas

Instrues

MoveLDO

Sintaxe
MoveLDO [ ToPoint := ] < expresso (IN)de robtarget > , [ Speed := ] < expresso (IN) de speeddata > [ \ T := < expresso (IN) of num > ] , [ Zone := ] < expresso (IN) de zonedata > , [ Tool := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] , [ Signal := ] < varivel (VAR) de signaldo>] , [ Value := ] < expresso (IN) de dionum > ] ;

Informaes relacionadas
Descritas em: Outras instrues de posicionamento Definio de velocidade Definio de dados de zona Definio de ferramentas Definio de objeto de trabalho Movimentao em geral Sistemas de coordenadas Movimentos com ajustes E/S Sumrio RAPID - Motion Tipos de Dados- speeddata Tipos de Dados- zonedata Tipos de Dados - tooldata Tipos de Dados- wobjdata Movimentao e Princpios E/S Movimentao e Princpios E/SSistemas de Coordenadas Movimentao e Princpios E/S- Sincronismo Usando Instrues Lgicas

Data Types do Sistema e Rotinas

2-MoveLDO-279

MoveLDO

Instrues

2-MoveLDO-280

Data Types do Sistema e Rotinas

Instrues

MoveL

MoveL

Move o rob linearmente


MoveL usado para mover o ponto central da ferramenta (TCP) linearmente para um dado destino. Quando o TCP tiver de permanecer estacionrio, esta instruo pode tambm ser usada para reorientar a ferramenta.

Exemplo
MoveL p1, v1000, z30, tool2; O TCP da ferramenta, tool2, movido linearmente para a posio p1, com dado de velocidade v1000 e dado de zona z30. MoveL *, v1000\T:=5, fine, grip3; O TCP da ferramenta, grip3, movido linearmente para um ponto fino guardado na instruo (marcado com um *). O movimento completo leva 5 segundos.

Argumentos MoveL
[ \Conc ]

[ \Conc ] ToPoint Speed [ \V ] | [ \T ] Zone [ \Z ] Tool [ \WObj ] [ \Corr ]


(Concurrent) DataType: switch

Instrues subsequentes so executadas imediatamente. Este argumento usado para encurtar o tempo do ciclo quando, por exemplo, comunicar com equipamento externo, se a sincronizao no for necessria. Usando o argumento \Conc, o nmero de instrues de movimento sucessivas limitado em 5. Numa seo do programa que inclui StorePath-RestoPath, instrues de movimento com o argumento \Conc no so permitidas. Se este argumento omitido e ToPoint no um ponto de parada, a instruo subsequente somente executada depois do rob ter alcanado a zona programada especificada. ToPoint DataType: robtarget

O ponto de destino do rob e eixos externos. Ele definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo). Speed DataType: speeddata

O dado de velocidade que se aplica aos movimentos. O dado de velocidade define a velocidade do TCP, a reorientao da ferramenta e eixos externos.

Data Types do Sistema e Rotinas

2-MoveL-281

MoveL
[ \V ] (Velocity)

Instrues
DataType: num

Este argumento usado para especificar a velocidade do TCP em mm/s diretamentena instruo. Ele ento substitudo pela velocidade correspondente especificada no dado de velocidade. [ \T ] (Time) DataType: num

Este argumento usado para especificar o tempo total em segundos enquanto o rob se move. Ele ento substitudo pelo correspondente dado de velocidade. Zone DataType: zonedata Dados de zona para o movimento. Os dados de zona descrevem a dimenso do trajeto de escanteio produzida. [ \Z ] (Zone) DataType: num

Este argumento usado para especificar a exatido da posio do TCP do rob diretamente na instruo. A extenso do trajeto de canto dada em mm, que substitudo pela zona correspondente especificada no dado de zona. Tool DataType: tooldata A ferramenta em uso quando o rob se move. O ponto central de ferramenta o ponto que movido para o ponto de destino especificado. [ \WObj] (Work Object) DataType: wobjdata

O objeto de trabalho (sistema de coordenada) em que o rob est posicionado na instruo relacionada. Este argumento pode ser omitido, e se isso ocorre a posio relacionada com o sistema de coordenada mundial. Se, por outro lado, o TCP estacionrio ou coordenadas de eixos externos so usadas, este argumento deve ser especificado para que realize um movimento linear relativo ao objeto de trabalho. [ \Corr] (Correction) Data type: switch

Dados de correo escritos em uma entrada de correes pela instruo CorrWrite sero acrescentados no trajeto e na posio de destino, se este argumento estiver presente.

2-MoveL-282

Data Types do Sistema e Rotinas

Instrues

MoveL

Execuo do programa
O rob e unidades externas so movimentados para posio de destino como segue: - O TCP da ferramenta movido linearmente a uma velocidade constante programada. - A ferramenta reorientada em intervalos iguais ao longo do trajeto. - Os eixos externos no coordenados so executados a uma velocidade constante para que elas cheguem ao ponto de destino ao mesmo tempo que os eixos do rob. Se no possvel atingir a velocidade programada para a reorientao ou para eixos externos, a velocidade do TCP ser reduzida. O trajeto de canto normalmente gerado quando o movimento transferido para a prxima seo da trajetria. Se o ponto de parada especificado no dado de zona, a execuo do programa somente continua quando o rob e eixos externos alcanam a posio apropriada.

Exemplos
MoveL *, v2000 \V:=2200, z40 \Z:=45, grip3; O TCP da ferramenta, grip3, movido linearmente para uma posio guardada na instruo. O movimento realizado com dado fixado em v2000 and z40; a velocidade e tamanho da zona do TCP so 2200 mm/s e 45 mm respectivamente. MoveL \Conc, *, v2000, z40, grip3; O TCP da ferramenta, grip3, movido linearmente para uma posio guardada na instruo. Instrues lgicas subsequentes so executadas enquanto o rob se move. MoveL start, v2000, z40, grip3 \WObj:=fixture; O TCP da ferramenta, grip3, movido linearmente para uma posio, start. A posio especificada na coordenada de sistema de objeto para fixture.

Data Types do Sistema e Rotinas

2-MoveL-283

MoveL

Instrues

Sintaxe
MoveL [ \ Conc , ] [ ToPoint := ] < expresso (IN) do robtarget > , [ Speed := ] < expresso (IN) do speeddata > [ \ V := < expresso (IN) do num > ] | [ \ T := < expresso (IN) do num > ] , [Zone := ] < expresso (IN) do zonedata > [ \ Z := < expresso (IN) do num > ] , [ Tool := ] < persistente (PERS) do tooldata > [ \ WObj := < persistente (PERS) do wobjdata > ] [ \ Corr ];

Informaes relacionadas
Descrito em: Outras instrues de posicionamento Definio de velocidade Definio de dado de zona Definio de ferramenta Definio de objeto de trabalho Escrever em uma entrada de correes Movimentao em geral Sistemas de coordenadas Execuo do programa concomitante Sumrio RAPID - Movimentao DataType - speeddata DataType - zonedata DataType - tooldata DataType - wobjdata Instrues - CorrWrite Movimento e Princpios E/S Movimento e Princpios E/S Sistemas de Coordenadas Movimento e Princpios E/S Sincronizao Usando Instrues Lgicas

2-MoveL-284

Data Types do Sistema e Rotinas

Instrues

MoveJSync

MoveJSync

Move o rob por movimento de eixo e executa um procedimento RAPID

MoveJSync (Move Joint Synchronously) usado para deslocar o rob de um ponto a outro rapidamente quando este movimento no tiver que ser em linha reta. O procedimento especificado RAPID executado a meio do trajeto de canto no ponto de destino. O rob e os eixos externos movem-se para a posio de destino ao longo de um trajeto no linear. Todos os eixos alcanam a posio de destino ao mesmo tempo.

Exemplos
MoveJSync p1, vmax, z30, tool2, proc1; O ponto central da ferramenta (TCP) tool2, movido ao longo de um trajeto no linear para a posio p1, com dados de velocidade vmax e dados de zona z30. O procedimento proc1, executado no meio do trajeto de canto em p1.

Argumentos MoveJSync
ToPoint

ToPoint Speed [ \T ] Zone Tool [ \WObj ] ProcName


Tipo de dados: robtarget

O ponto de destino do rob e eixos externos. Est definido como uma posio indicada ou guardado diretamente na instruo (marcado com * na instruo). Speed Tipo de dados: speeddata

Os dados de velocidade que se aplicam aos movimentos. Os dados de velocidade definem a velocidade do TCP, a reorientao da ferramenta e eixos externos. [ \T ] (Tempo) Tipos de dados: num

Este argumento usado para especificar o tempo total em seg., durante o qual o rob se move. depois substitudo pelos dados de velocidade correspondentes Zone Data type: zonedata Dados de zona para o movimento.Os dados de zona descrevem o tamanho gerado do trajeto de canto. Tool Data type: tooldata A ferramenta em uso quando o rob se move. O ponto central da ferramenta (TCP) o ponto deslocado para o ponto de destino especificado.

Data Types do Sistema e Rotinas

2-MoveJSync-285

MoveJSync
[ \WObj] (Objeto de Trabalho)

Instrues
Tipos de dados: wobjdata

O objeto de trabalho (sistema de coordenadas) para o qual a posio do rob na instruo est relacionada. Este argumento poder ser omitido, e se o for, a posio ser relacionada com o sistema de coordenadas globais. Se, de outra maneira, forem usados eixos externos ou TCP estacionrio, este argumento dever se especificado. ProcName (Nome de Procedimento) Tipos de dados: string

Nome do procedimento RAPID a ser executado no meio do trajeto de canto no ponto de destino.

Execuo do programa
Ver a instruo MoveJ para maiores informaes acerca do movimento de eixo. O procedimento especificado RAPID ser executado quando o TCP alcanar o meio do trajeto de canto no ponto de destino da instruo MoveJSync conforme Figura 1:

MoveJSync p2, v1000, z30, tool2, my_proc; p3 Quando TCP estiver aqui, my_proc ser executado Zone p2 p1

Figura 7 Execuo de procedimento RAPID definido pelo usurio no meio do trajeto de canto.

Para pontos de parada recomenda-se usar a seqncia de programao normal com MoveJ + outras instrues RAPID em seqncia. Execuo do procedimento RAPID especificado em modos de execuo diferentes:

2-MoveJSync-286

Data Types do Sistema e Rotinas

Instrues
Modos de execuo: Contnuo ou cclico Para a frente em escada Para trs em escada

MoveJSync
Execuo de procedimento RAPID : Conforme esta descrio No ponto de parada De forma alguma

Limitaes
Comutar o modo de execuo aps a parada do programa, de contnuo ou cclico, para em escada para a frente ou para trs resultar em erro. Este erro comunicar ao usurio que a comutao de modo poder resultar em execuo falhada do procedimento RAPID, em fila, para execuo sobre o caminho. Este erro poder ser evitado se o programa for parado, antes da comutao de modo, com StopInstr. A instruo MoveJSync no poder ser usada no nvel TRAP. O procedimento RAPID especificado no poder ser testado com a execuo em escada.

Sintaxe
MoveJSync [ ToPoint := ] < expresso (IN) de robtarget > , [ Speed := ] < expresso (IN) de speeddata > [ \ T := < expresso (IN) de num > ] , [ Zone := ] < expresso (IN) de zonedata > [ \ Z := < expresso (IN) de num > ] , [ Tool := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] , [ ProcName:= ] < expresso (IN) de string > ] ;

Informaes relacionadas
Descritas em: Outras posies de funcionamento Definio de velocidade Definio de dados de zona Definio de ferramentas Definio de objetos de trabalho Movimentao em geral Sistemas de coordenadas Sumrio RAPID - Motion Tipos de Dados- speeddata Tipos de Dados- zonedata Tipos de Dados- tooldata Tipos de Dados- wobjdata Movimentao e Princpios E/S Movimentao e Princpios E/SSistemas de Coordenadas

Data Types do Sistema e Rotinas

2-MoveJSync-287

MoveJSync

Instrues

2-MoveJSync-288

Data Types do Sistema e Rotinas

Instrues

MoveLSync

MoveL Sync Move linearmente o rob e executa um procedimento RAPID


MoveLSync (Move Lineary Synchronously) usada para mover linearmente o ponto de centro da ferramenta (TCP) para um dado ponto de destino. Quando o TCP for permanecer estacionrio, esta instruo poder ser usada para reorientar a ferramenta.

Exemplo
MoveLSync p1, v1000, z30, tool2, proc1; O TCP da ferramenta tool2, movido linearmente para a posio p1, com dados de velocidade v1000 e dados de zona z30. O procedimento proc1 executado ao meio do caminho da aresta em p1.

Argumentos MoveLSync ToPoint Speed [ \T ] Zone Tool [ \WObj ] ProcName


ToPoint Tipos de dados: robtarget

O ponto de destino do rob e eixos externos. definido como uma posio indicada ou guardada diretamente na instruo (marcada com um * na instruo). Speed Tipos de dados: speeddata

Os dados de velocidade aplicados aos movimentos. Os dados de velocidade definem a velocidade do TCP, a reorientaoda ferramenta e os eixos externos. [ \T ] (Tempo) Tipos de dados: num

Este argumento usado para especificar o tempo total, em seg., durante o qual o rob se move. Ser substitudo pelos dados de velocidade correspondentes. Zone Tipos de dados: zonedata Dados de zona para o movimento. Os dados de zona descrevem o tamanho gerado do caminho da aresta. Tool Tipos de dados: tooldata A ferramenta em uso quando o rob se move. O ponto de centro da ferramenta o ponto deslocado para o ponto de destino especificado.

Data Types do Sistema e Rotinas

2-MoveLSync-289

MoveLSync
[ \WObj] (Objeto de trabalho)

Instrues
Tipos de dados: wobjdata

O objeto de trabalho (Sistema de coordenadas) para o qual a posio do rob na instruo est relacionada. Este argumento poder ser omitido, e se o for, a posio ser relacionada com o sistema de coordenadas globais. Se, de outro modo, forem usados um TCP estacionrio ou eixos externos coordenados, este argumento dever ser especificado. ProcName (Nome do Procedimento) Tipos de dados: string

O nome do procedimento RAPID a ser executado a meio do caminho da aresta no ponto de destino.

Execuo do programa
Ver a instruo MoveL para mais informaes acerca dos movimentos lineares. O procedimento RAPID especificado ser executado quando o TCP alcanar o meio do caminho da aresta no ponto de destino da instruo MoveLSync conforme Figure 1:

MoveLSync p2, v1000, z30, tool2, my_proc; p3 Quando TCP estiver aqui, my_proc ser executado Zona p2 p1

Figure 8 Execuo de procedimento RAPID definido pelo usurio no meio do caminho da aresta.

Para pontos de parada recomenda-se usar a sequncia de programao normal com a instruo MoveL + outras instrues RAPID em sequncia. Execuo de procedimentos RAPID especificados em modos de execuo diferentes:

2-MoveLSync-290

Data Types do Sistema e Rotinas

Instrues
Modos de execuo: Contnuamente ou cclico Para a frente em escada Para trs em escada

MoveLSync
Execuo do procedimento RAPID : Conforme esta descrio No ponto de parada De modo algum

Limitaes
A comutao do modo de execuo, aps a parada do programa, de contnuo ou cclico para em escada para a frente ou para trs, resultar em erro. Este erro comunica ao usurio, que a comutao de modo poder resultar em execuo falhada dos procedimentos RAPID em fila , execuo sobre o caminho. Este erro poder ser evitado se o programa for parado com StopInstr antes de comutar o modo de execuo.. A instruo MoveLSync no poder ser usada no nvel TRAP. O procedimento RAPID especificado no poder ser testado com a execuo em escada.

Sintaxe
MoveLSync [ ToPoint := ] < expresso (IN) de robtarget > , [ Speed := ] < expresso (IN) de speeddata > [ \ T := < expresso (IN) de num > ] , [ Zone := ] < expresso (IN) de zonedata > , [ Tool := ] < persistente (PERS) de tooldata > [ \ WObj := < persistente (PERS) de wobjdata > ] , [ ProcName:= ] < expresso (IN) de string > ] ;

Informaes relacionadas
Descritas em: Outras instrues de posicionamento Definio de velocidade Definio de dados de zona Definio de ferramentas Definio de objetos de trabalho Deslocamento em geral Sistemas de coordenadas Resumo RAPID - Motion Tipos de Dados- speeddata Tipos de dados- zonedata Tipos de Dados- tooldata Tipos de Dados- wobjdata Deslocamento e Principios E/S Deslocamento e Principios E/S Sistemas de Coordenadas

Data Types do Sistema e Rotinas

2-MoveLSync-291

MoveLSync

Instrues

2-MoveLSync-292

Data Types do Sistema e Rotinas

Instrues

Open

Open

Abre um arquivo ou canal serial


Open usado para abrir um arquivo ou canal serial para leitura ou escrita.

Exemplo
VAR iodev logfile; ... Open "flp1:" \File:= "LOGDIR/LOGFILE1.DOC", logfile; O arquivo LOGFILE1.DOC na unidade flp1: (disquete), diretrio LOGDIR, aberto para escrita. O nome de referncia logfile usado mais tarde no programa quando escrevendo no arquivo.

Argumentos
Open
Object

Object [\File] IODevice [\Read] | [\Write] | [\Append] [\Bin]


DataType: string

O objeto de E/S a ser aberto, ex. "flp1:", "ram1disk:" ou "sio1:" [\File] DataType: string

O nome do arquivo a ser aberto, ex. "LOGDIR/LOGFILE1.DOC" O caminho completo tambm pode ser especificado no argumento Object, ex. "flp1:LOGDIR/LOGFILE.DOC". IODevice DataType: iodev

Uma referncia ao arquivo ou canal serial a ser aberto. Essa referncia ento usada para ler e escrever no arquivo ou canal serial. [\Read] DataType: switch

Abre um arquivo ou canal serial para leitura. Ao ler de um arquivo, a leitura feita desde o incio do arquivo. [\Write] DataType: switch

Abre um arquivo ou canal serial para escrita. Se o arquivo selecionado j existe, seu contedo apagado. Qualquer coisa escrita em seguida, escrita do incio do arquivo. [\Append] DataType: switch

Abre um arquivo ou canal serial para escrita. Se o arquivo selecionado j existe,

Manual de Referncia do RAPID

8-Open-293

Open
qualquer coisa escrita em seguida, escrita no final do arquivo.

Instrues

Ao abrir um arquivo ou canal serial com \Append e sem os argumentos \Bin, a instruo abre um canal serial ou um arquivo baseado ou em caractere para escrita. Ao abrir um arquivo ou canal serial com \Append e argumentos \Bin, a instruo abre um canal serial ou arquivo binrio para leitura e escrita. Os argumento \Read, \Write e \Append so mutuamente exclusivos. Se nenhum deles for especificado, a instruo atuar da mesma forma que o argumento \Write para canais seriais ou arquivos baseados em caractere (instruo sem argumento \Bin) e da mesma forma que o argumento \Append para canais seriais ou arquivos binrios (instruo com argumento \Bin). [\Bin] DataType: switch

O arquivo ou canal serial aberto em um modo binrio. Se nenhum dos argumentos \Read, \Write ou \Append for especificado, a instruo abrir um canal serial ou arquivo binrio para leitura e escrita, com o ponteiro de arquivo no final do arquivo O conjunto de instrues para acessar umcanal serial ou arquivo binrio diferente do conjunto de instrues para acessar um arquivo baseado em caractere.

Exemplo
VAR iodev printer; ... Open "sio1:", printer \Bin; WriteStrBin printer, "Esta uma mensagem para a impressora\0D"; Close printer; O canal serial sio1: aberto para leitura e escrita binria. O nome de referncia printer usado mais tarde quando for escrever e fechar o canal serial.

Execuo do programa
O canal serial/arquivo especificado aberto para que possa ser lido ou escrito. possvel abrir o mesmo arquivo fsico vrias vezes ao mesmo tempo, mas cada chamada da instruo Open retorna uma referncia diferente ao arquivo (tipo de dados iodev). posvel, por exemplo, ter um ponteiro de escrita e um ponteiro de leitura diferente para o mesmo arquivo ao mesmo tempo. A varivel iodev usada ao abrir um canal serial ou arquivo precisa estar livre de uso: se ela tiver sido usada anteriormente para abrir um arquivo, esse arquivo ter de ser fechado antes da veiculao de uma nova instruo Open com a mesma varivel iodev.

8-Open-294

Manual de Referncia do RAPID

Instrues

Open

Tratamento de erros
Se um arquivo no pode ser aberto, a varivel de sistema ERRNO fixada para ERR_FILEOPEN. Este erro pode ento ser manipulado no manipulador de erro.

Sintaxe
Open [Object :=] <expression (IN) of string> [\File:= <expression (IN) of string>] , [IODevice :=] <variable (VAR) of iodev> [\Read] | [\Write] | [\Append] [\Bin] ;

Informaes relacionadas
Descrito em: Escrevendo e lendo de arquivos ou canais seriais Sumrio RAPID - Comunicao

Manual de Referncia do RAPID

8-Open-295

Open

Instrues

8-Open-296

Manual de Referncia do RAPID

Instrues

PathResol

PathResol

Sobrepor a resoluo do caminho

PathResol (Path Resolution) usada para sobrepor o tempo de amostra do trajeto geomtrico configurado, definido nos parmetros do sistema do manipulador.

Descrio
A resoluo do trajeto afeta a preciso do trajeto interpolado e o tempo de ciclo do programa. Melhora a preciso do trajeto e reduz o tempo de ciclo quando o parmetro PathSampleTime diminudo. Um parmetro PathSampleTime com um valor muito baixo afecta a carga da CPU em aplicaes mais exigentes. Todavia, o uso da resoluo do caminho configurado estandard (PathSampleTime 100%) evitar problemas de carga da CPU e fornecer preciso de trajeto suficiente na maioria das situaes. Exemplo do uso de PathResol: Movimentos crticos dinmicos (carga mxima, elevada velocidade, movimentaes de junes combinadas perto do limite da rea de trabalho) podem causar problemas de carga da CPU. Aumente o parmetro PathSampleTime. Os eixos externos de baixo desempenho podem causar problemas de carga da CPU durante a coordenao. Aumente o parmetro PathSampleTime. Soldando a arco com ondulao de alta freqncia pode requerer uma alta resoluo do trajeto interpolado. Diminua o parmetro PathSampleTime. Pequenos circulos ou pequenos movimentos combinados com mudanas de direo podem diminuir a qualidade de desempenho do trajeto e aumentarem o tempo de ciclo. Diminua o parmetro PathSampleTime. Colando com grande reorientaes e pequenas zonas de aresta pode causar variaes de velocidade. Diminua o argumento de PathSampleTime.

Exemplo
MoveJ p1,v1000,fine,tool1; PathResol 150; Com o rob em um ponto de parada, o tempo de amostra do trajeto aumentado para 150% do configurado.

Argumentos PathResol PathSampleTime


PathSampleTime Tipo de dados: num

Sobrepor como uma percentagem do tempo de amostra do caminho configurado. Data Types do Sistema e Rotinas 2-PathResol-297

PathResol

Instrues
100% corresponde ao tempo de amostra do caminho configurado. Dentro do intervalo 25-400%. Um valor mais baixo do parmetro PathSampleTime aumenta a resoluo do caminho (preciso do caminho).

Execuo do programa
As resolues de caminho de todas as instrues de posicionamento subseqentes so afetadas at uma nova instruo PathResol ser executada. Isto afetar a resoluo do trajeto durante a execuo do programa de todos os movimentos (nvel de trajeto padro e nvel de trajeto aps StorePath) e tambm durante a movimentao. O valor, por omisso, para sobrepor o tempo de amostra do caminho 100%. Este valor automaticamente ajustado - em uma partida a frio - quando um novo programa carregado - quando iniciando a execuo de programa desde o incio. A sobreposio corrente do tempo de amostra do caminho pode ser lida a partir da varivel C_MOTSET (tipo de dados motsetdata) no componente pathresol.

Limitaes
O rob ter que estar parado em um ponto de parada antes da sobreposiodo tempo de amostra do caminho. Quando existir um caminho de aresta no programa, o programa criar ento um ponto de parada (advertncia 50146) e no ser possvel reiniciar nesta instruo a seguir a uma falha de corrente.

Sintaxe
PathResol [PathSampleTime := ] < expresso (IN) de num> ;

Informaes relacionadas
Descritas em: Instrues de posicionamento Ajustes de deslocamento mentao Configurao da resoluo do caminho Movimentao e Princpios E/S - Movimentao Sumrio RAPID - Ajustes de MoviParmetros de sistema - Otimizao da CPU Data Types do Sistema e Rotinas

2-PathResol-298

Instrues

PDispOff

PDispOff

Desativa deslocamento de programa

PDispOff (Program Displacement Off) usado para desativar um deslocamento de programa. Deslocamento de programa ativado pela instruo PDispSet ou PDispOn e se aplica a todos os movimentos at ser desativado ou at que outro deslocamento de programa seja ativado .

Exemplos
PDispOff; Desativao de um deslocamento de programa. MoveL p10, v500, z10, tool1; PDispOn \ExeP:=p10, p11, tool1; MoveL p20, v500, z10, tool1; MoveL p30, v500, z10, tool1; PDispOff; MoveL p40, v500, z10, tool1; Um deslocamento de programa definido como a diferena entre as posies p10 e p11. Este deslocamento afeta o movimento para p20 e p30, mas no para p40.

Execuo do programa
O deslocamento do programa desligado. Isto significa que o sistema de coordenada de deslocamento de programa o mesmo que o sistema de coordenada de sistema do objeto, e desta maneira todas as posies programadas sero relacionadas para o ltimo.

Sintaxe
PDispOff ;

Data Types do Sistema e Rotinas

2-PDispOff-299

PDispOff

Instrues

Informaes relacionadas
Descrito em: Definio de deslocamento de programa usando duas posies Definio de deslocamento de programa usando valores Instrues - PDispOn Instrues - PDispSet

2-PDispOff-300

Data Types do Sistema e Rotinas

Instrues

PDispOn

PDispOn

Ativa deslocamento de programa

PDispOn (Program Displacement On) usado para definir e ativar um deslocamento de programa usando duas posies do rob. Deslocamento de programa usado, por exemplo, aps uma busca ter sido realizada, ou quando padres de movimento similares so repetidos em diferentes lugares do programa.

Exemplos
MoveL p10, v500, z10, tool1; PDispOn \ExeP:=p10, p20, tool1; Ativao de um deslocamento de programa (movimento paralelo). Este calculado baseado em diferenas entre posies p10 e p20. MoveL p10, v500, fine, tool1; PDispOn *, tool1; Ativao de um deslocamento de programa (movimento paralelo). Desde que um ponto de parada foi usado na instruo anterior, o argumento \ExeP no precisa ser usado. O deslocamento calculado com base na diferena entre a atual posio atual do rob e o ponto programado (*) guardado na instruo. PDispOn \Rot \ExeP:=p10, p20, tool1; Ativao de um deslocamento de programa incluindo uma rotao. Este calculado baseado em diferenas entre posies p10 e p20.

Argumentos PDispOn [ \Rot ] [ \ExeP ] ProgPoint Tool [ \WObj ] [\Rot ]


(Rotation) DataType: switch

A diferena na orientao da ferramenta levada em considerao e isto envolve a rotao do programa.

[\ExeP ]

(Executed Point)

DataType: robtarget

A nova posio do rob no momento da execuo do programa. Se este argumento omitido, usada a atual posio do rob no momento da execuo do programa. ProgPoint (Programmed Point) DataType: robtarget

A posio original do rob no momento da programao.

Data Types do Sistema e Rotinas

2-PDispOn-301

PDispOn
Tool

Instrues
DataType: tooldata A ferramenta usada durante a programao , i.e. o TCP para o qual a posio ProgPoint est relacionada.

[ \WObj]

(Work Object)

DataType: wobjdata

O objeto de trabalho (sistema de coordenada) para o qual a posio ProgPoint est relacionada. Este argumento pode ser omitido e, se isto ocorre, a posio relacionada com o sistema de coordenada mundial. Entretanto, se um TCP estacionrio ou eixos externos coordenados so usados, este argumeto deve ser especificado. Ambos argumentos Tool e \WObj so usados para calcular o ProgPoint durante a programao e para calcular a posio atual durante a execuo do programa se nenhum argumento ExeP est programado.

Execuo do programa
Deslocamento de programa significa que o sistema de coordenada ProgDisp transladado em relao ao sistema de coordenada de objeto. Desde que todas as posies estejam relacionadas ao sistema de coordenadas ProgDisp, todas as posies programadas tambm sero deslocadas . Veja Figure 9. y
Nova posio, ExeP

y
Posio original, ProgPoint

x
Deslocamento de programa Sistema de Coordenada deslocamento de programa (ProgDisp)

x
Sistema de Coordenada de objeto

Figure 9 Deslocamento de uma posio programada usando deslocamento de programa.

Deslocamento de programa ativado quando a instruo PDispOn executada e permanece ativa at ser desativada (a instruo PDispOff) ou at que algum outro deslocamento de programa seja ativado (a instruo PDispSet ou PDispOn). Somente um deslocamento de programa pode estar ativo por vez. Vrias instrues PDispOn, por outro lado, podem ser programadas uma aps a outra e, neste caso, diferentes deslocamentos de programa so adicionados. Deslocamento de programa calculado como a diferena entre ExeP e ProgPoint. Se ExeP no foi especificado, a atual posio do rob no momento da execuo do programa ento usada. J que a posio atual do rob que usada, o rob no dever se mover quando PDispOn executada.

2-PDispOn-302

Data Types do Sistema e Rotinas

Instrues

PDispOn

Se o argumento \Rot usado, a rotao tambm calculada baseada na orientao da ferramenta nas duas posies. O deslocamento ser calculado de tal forma que a nova posio (ExeP) ter a mesma posio e orientao em relao ao sistema de coordenada de deslocamento, ProgDisp, como a antiga posio (ProgPoint) tinha em relao ao sistema de coordenada original (veja Figure 10).
Nova posio, ExeP Nova orientao

y y
Posio original, ProgPoint Orientao original Deslocamento de programa

Sistema de coordenada de deslocamento de programa (ProgDisp)

x
Sistema de coordenada de objeto

Figure 10 Translao e rotao de uma posio programada.

O deslocamento de programa automaticamente desligado - numa partida a frio - quando um novo programa carregado - quando comea a execuo do programa desde o incio.

Exemplo
PROC draw_square() PDispOn *, tool1; MoveL *, v500, z10, tool1; MoveL *, v500, z10, tool1; MoveL *, v500, z10, tool1; MoveL *, v500, z10, tool1; PDispOff; ENDPROC . MoveL p10, v500, fine, tool1; draw_square; MoveL p20, v500, fine, tool1; draw_square; MoveL p30, v500, fine, tool1; draw_square; A rotina draw_square usada para executar o mesmo padro de movimento em trs diferentes posies, baseada nas posies p10, p20 e p30. Veja Figure 11.

Data Types do Sistema e Rotinas

2-PDispOn-303

PDispOn

Instrues

p10

p30 p20

Figure 11 Usando deslocamento de programa, padres de movimento podem ser reusados.

SearchL sen1, psearch, p10, v100, tool1\WObj:=fixture1; PDispOn \ExeP:=psearch, *, tool1 \WObj:=fixture1; Uma busca realizada e a posio pesquisada do rob guardada na posio psearch. Qualquer movimento realizado aps isto inicia desta posio usando um deslocamento de programa (movimento paralelo). O ltimo calculado baseado na diferena entre a posio pesquisada e o ponto programado (*) guardado na instruo. Todas as posies esto baseadas no sistema de coordenada de objeto fixture1.

Sintaxe
PDispOn [ \ Rot , ] [ \ ExeP := ] < expresso (IN) do robtarget > ,] [ ProgPoint := ] < expresso (IN) do robtarget > , [ Tool := ] < persistente (PERS) do tooldata> [ \WObj := < persistente (PERS) do wobjdata> ] ;

Informaes relacionadas
Descrito em: Desativao do deslocamento de programa Definio de deslocamento de programa usando valores Sistemas de coordenadas Definio de ferramenta Definio de objeto de trabalho Mais exemplos Instrues - PDispOff Instrues - PDispSet Princpios de movimento Sistemas de Coordenadas DataTypes - tooldata DataTypes - wobjdata Instrues - PDispOff

2-PDispOn-304

Data Types do Sistema e Rotinas

Instrues

PDispSet

PDispSet Ativa deslocamento de programa usando um valor


PDispSet (Program Displacement Set) usado para definir e ativar um deslocamento de programa usando valores. Deslocamento de programa usado, por exemplo, quando padres de movimento similares so repetidos em vrios lugares diferentes no programa.

Exemplo
VAR pose xp100 := [ [100, 0, 0], [1, 0, 0, 0] ]; . PDispSet xp100; Ativao do deslocamento de programa xp100 , significa que: - O sistema de coordenada ProgDisp deslocado 100 mm do sistema de coordenada de objeto, na direo positiva do eixo-x (veja Figure 12). - Uma vez que, o deslocamento de programa ativado, todas as posies sero deslocadas 100 mm na direo do eixo-x. Objeto

ProgDisp

100

Figure 12 100 mm de deslocamento de programa ao longo do eixo-x.

Argumentos PDispSet DispFrame


DispFrame (Displacement Frame) DataType: pose

O deslocamento de programa definido como um dado do tipo pose.

Execuo do programa
Deslocamento de programa envolve translao e/ou rotao do sistema de coordenadas ProgDisp em relao ao sistema de coordenada de objeto. Uma vez que todas as posies so relativas ao sistema de coordenada ProgDisp , todas as posies programadas tambm sero deslocadas. Veja Figure 13.

Data Types do Sistema e Rotinas

2-PDispSet-305

PDispSet
.

Instrues

y y
Posio original Orientao original Deslocamento de programa

Nova posio Nova orientao

Sistema de Coodenada de Deslocamento de programa (ProgDisp)

x
Sistema de Coordenada de Objeto

Figure 13 Translao e rotao da posio programada.

Deslocamento de programa ativado quando a instruo PDispSet executada e permanece ativa at que o deslocamento de programa seja desativado (a instruo PDispOff) ou outro deslocamento de programa seja ativado (a instruo PDispSet ou PDispOn). Somente um deslocamento de programa pode estar ativo ao mesmo tempo. Deslocamento de programa no pode ser adicionado a um outro usando PDispSet. O deslocamento de programa automaticamente desligado: - numa partida a frio - quando um novo programa carregado - quando comea a execuo do programa desde o incio.

Sintaxe
PDispSet [ DispFrame := ] < expresso (IN) do pose> ;

Informaes relacionadas
Descrito em: Desativao do deslocamento de programa Definio do deslocamento de programa usando duas posies Definio do dado do tipo pose Sistemas de coordenadas Instrues - PDispOff Instrues - PDispOn DataTypes - pose Princpios de Movimento Sistema de Coordenadas

Exemplos de como deslocamento de programa Instrues - PDispOn podem ser usados

2-PDispSet-306

Data Types do Sistema e Rotinas

Instrues

PulseDO

PulseDO

Gera um pulso de um sinal de sada digital

PulseDO usado para gerar um pulso de um sinal de sada digital.

Exemplos
PulseDO do15; Um pulso com comprimento de pulso de 0.2 s gerado num sinal de sada do15. PulseDO \PLength:=1.0, ignition; Um pulso com comprimento de pulso de 1.0 s gerado num sinal ignition.

Argumentos PulseDO
[ \PLength ]

[ \PLength ] Signal
(Pulse Length) DataType: num

O comprimento de pulso em segundos (0.1 - 32s). Se o argumento omitido, um pulso de 0.2 segundos gerado. Signal O nome do sinal no qual o pulso gerado. DataType: signaldo

Execuo do programa
Um pulso gerado com um comprimento de pulso especificado (veja Figure 14).
:

Comprimento de pulso 1 Nvel do sinal 0 Execuo da instruo PulseDO Execuo da instruo PulseDO 1 Nvel do sinal 0
Figure 14 Gerao de um pulso de um sinal de sada digital.

Data Types do Sistema e Rotinas

2-PulseDO-307

PulseDO

Instrues

A prxima instruo executada diretamente aps o pulso comear. O pulso pode ento ser ligado/desligado sem afetar o resto da execuo do programa.

Limitaes
O comprimento do pulso tem uma resoluo de 0.01 segundos. Valores programados que diferem deste so arredondados.

Sintaxe
PulseDO [ \ PLength := < expresso (IN) do num > , ] [ Signal := ] < varivel (VAR) do signaldo > ;

Informaes relacionadas
Descrito em: Instrues de Entrada/Sada Funcionalidade geral de Entrada/Sada Configurao de E/S Sumrio RAPID Sinais de Entrada e Sada Movimentos e Princpios de E/S Princpios de E/S Guia do Usurio - Parmetros do Sistema

2-PulseDO-308

Data Types do Sistema e Rotinas

Instrues

RAISE

RAISE

Chama um tratamento de erro


RAISE usado para criar um erro no programa e ento chamar o tratamento de erro da rotina. RAISE pode tambm ser usado no tratamento de erro para transmitir o erro atual para o tratamento de erro da rotina chamada. A instruo pode, por exemplo, ser usada para pular para um nvel mais alto na estrutura de um programa, ex. para o tratamento de erro na rotina principal, se um erro ocorre num nvel mais baixo.

Exemplo
IF ... IF ... IF ... RAISE escape1; . ERROR IF ERRNO=escape1 RAISE; A rotina interrompida para permit-lo se remover de um nvel mais baixo no programa. Um salto ocorre para o tratamento de erro da rotina chamada.

Argumentos RAISE
Error no

[ Error no. ]
DataType: errnum

Nmero do erro: Qualquer nmero 1-90 que o tratamento de erro possa usar para localizar o erro que ocorreu (a varivel de sistema ERRNO ). Tambm possvel reservar um nmero de erro fora do intervalo 1-90 com a instruo BookErrNo. Nmero do erro deve ser especificado fora do tratamento de erro na instruo RAISE para que possa transferir a execuo para o tratamento de erro da rotina. Se a instruo est presente no tratamento de erro da rotina, o nmero do erro no precisa ser especificado. Neste caso, o erro transferido para o tratamento de erro da rotina chamada.

Execuo do programa
A execuo do programa continua no tratamento de erro da rotina. Aps o tratamento

Data Types do Sistema e Rotinas

2-RAISE-309

RAISE
de erro ser executado, a execuo do programa pode continuar com: - a rotina que chamou a rotina em questo (RETURN),

Instrues

- o tratamento de erro da rotina que chamou a rotina em questo (RAISE). Se a instruo RAISE est presente no tratamento de erro da rotina, a execuo do programa continua no tratamento de erro da rotina que chamou a rotina em questo. O mesmo nmero de erro permanece ativo. Se a instruo RAISE est presente numa rotina trap, o erro est de acordo com o tratamento de erro do sistema.

Tratamento de erros
Se o nmero de erros estiver fora da gama, a varivel do sistema ERRNO ajustada para ERR_ILLRAISE (veja "Data type - errnum"). Este erro pode ser manuseado no tratamento de erros.

Sintaxe
(EBNF) RAISE [<error number>] ; <error number> ::= <expression>

Informaes relacionadas
Descrito em: Tratamento de erros Reservar nmeros de erros Caractersticas Bsicas Reconhecimento de Erro Instrues - BookErrNo

2-RAISE-310

Data Types do Sistema e Rotinas

Instrues

ReadAnyBin

ReadAnyBin

Ler dados de um arquivo ou canal serial binrio

ReadAnyBin (Ler Qualquer Binrio) usado para ler qualquer tipo de dados de um arquivo ou canal serial binrio.

Exemplo
VAR iodev channel2; VAR robtarget next_target; ... Open "sio1:", channel2 \Bin; ReadAnyBin channel2, next_target; O prximo alvo de rob a ser executado, next_target, lido do canal referido por channel2.

Argumentos ReadAnyBin
IODevice

IODevice Data [\Time])


Tipo de dados: iodev

O nome (referncia) do arquivo ou canal serial binrio a ser lido. Data Tipo de dados: ANYTYPE O VAR ou PERS no qual os dados lidos sero armazenados. [\Time] Tipo de dados: num

O tempo mx. para a operao de leitura (tempo limite), em segundos. Se esse argumento no for especificado, o tempo mx. ser definido como 60 segundos. Se esse tempo expirar antes do trmino da operao de leitura, a rotina de tratamento de erros ser chamada com o cdigo de erro ERR_DEV_MAXTIME. Se no houver rotina de tratamento de erros, a execuo ser interrompida. A funo de tempo limite tambm utilizada durante a interrupo do programa, sendo notificada no programa RAPID, ao iniciar.

Execuo do programa
Tantos bytes quantos forem necessrios para os dados especificados sero lidos do arquivo ou canal serial binrio especificado.

Data Types do Sistema e Rotinas

2-ReadAnyBin-311

ReadAnyBin

Instrues

Limitaes
Essa instruo s pode ser usada para arquivos ou canais seriais que tenham sido abertos para leitura binria. Os dados a serem lidos por essa instruo devem ter um tipo de dados value do tipo atomic, string ou record. Tipos de dados semi-value e non-value no podem ser usados. Dados de matrizes no podem ser usados. Observe que a varivel VAR ou PERS, para armazenamento dos dados lidos, pode ser atualizada em vrias etapas. Portanto, aguarde sempre at que toda a estrutura de dados seja atualizada, at o uso dos dados lidos de um TRAP ou tarefas de um outro programa.

Tratamento de erros
Se um erro ocorrer durante a leitura, a varivel de sistema ERRNO ser definida como ERR_FILEACC. Assim, esse erro pode ser tratado na rotina de tratamento de erros. Se o final do arquivo for detectado antes de todos os bytes serem lidos, a varivel de sistema ERRNO ser definida como ERR_RANYBIN_EOF. Assim, esse erro pode ser tratado na rotina de tratamento de erros.

Exemplo
CONST num NEW_ROBT:=12; CONST num NEW_WOBJ:=20; VAR iodev channel; VAR num input; VAR robtarget cur_robt; VAR wobjdata cur_wobj; Open "sio1:", channel\Bin; ! Espera pelo caractere de opcode input := ReadBin (channel \Time:= 0.1); TEST input CASE NEW_ROBT: ReadAnyBin channel, cur_robt; CASE NEW_WOBJ: ReadAnyBin channel, cur_wobj; ENDTEST Close channel; Como primeira etapa, o opcode da mensagem lido do canal serial. Conforme esse opcode, um robtarget ou um wobjdata lido do canal serial.

2-ReadAnyBin-312

Data Types do Sistema e Rotinas

Instrues

ReadAnyBin

Sintaxe
ReadAnyBin [IODevice:=] <variable (VAR) of iodev>, [Data:=] <var or pers (INOUT) of ANYTYPE> [\Time:= <expression (IN) of num>];

Informaes relacionadas
Descrito em: Abertura (etc.) de canais seriais ou arquivos Escrita de dados em um canal serial binrio ou arquivo Resumo RAPID - Comunicao Instrues - WriteAnyBin

Data Types do Sistema e Rotinas

2-ReadAnyBin-313

ReadAnyBin

Instrues

2-ReadAnyBin-314

Data Types do Sistema e Rotinas

Instrues

Reset

Reset

Desliga um sinal de sada digital


Reset usado para levar o valor de um sinal de sada digital para zero.

Exemplos
Reset do15; O sinal do15 levado para 0. Reset weld; O sinal weld levado para 0.

Argumentos Reset
Signal O nome do sinal a ser levado para zero.

Signal
Tipo de dado: signaldo

Execuo do programa
O valor real depende da configurao do sinal. Se o sinal invertido nos parmetros do sistema, esta instruo faz com que o canal fsico seja levado a 1.

Sintaxe
Reset [ Signal := ] < varivel (VAR) do signaldo > ;

Data Types do Sistema e Rotinas

2-Reset-315

Reset

Instrues

Informaes relacionadas
Descrito em: Ligando um sinal de sada digital Instrues de E/S Funcionalidade geral de E/S Configurao de E/S Instrues - Set Sumrio RAPID Sinais de Entrada e Sada Movimento e Princpios E/S Princpios de E/S Parmetros do Sistema

2-Reset-316

Data Types do Sistema e Rotinas

Instrues

RestoPath

RestoPath

Retoma a trajetria aps uma interrupo

RestoPath usado para retomar uma trajetria que foi guardada num estgio anterior usando a instruo StorePath.

Exemplo
RestoPath; Retoma a trajetria que foi guardada anteriormente usando StorePath.

Execuo do programa
O atual movimento de trajetria do rob e de eixos externos apagado e a trajetria guardada anteriormente usando StorePath retomada. Entretanto, nada se move at que a instruo StartMove seja executada ou um retorno seja feito usando RETRY de um manipulador de erro.

Exemplo
ArcL p100, v100, seam1, weld5, weave1, z10, gun1; ... ERROR IF ERRNO=AW_WELD_ERR THEN gun_cleaning; RETRY; ENDIF ... PROC gun_cleaning() VAR robtarget p1; StorePath; p1 := CRobT(); MoveL pclean, v100, fine, gun1; ... MoveL p1, v100, fine, gun1; RestoPath; ENDPROC No caso de um erro de solda, a execuo do programa continua num manipulador de erro da rotina, que por sua vez, chama gun_cleaning. O movimento de trajetria que est sendo executado no momento ento guardado e o rob se move para a posio pclean onde o erro retificado. Quando isto for feito, o rob retorna para aposio onde o erro ocorreu, p1, e guarda o movimento original novamente. A solda ento automaticamente reiniciada, significando que o rob primeiro revertido ao longo da trajetria antes de iniciar a solda e a execuo do programa pode continuar

Data Types do Sistema e Rotinas

2-RestoPath-317

RestoPath

Instrues

Limitaes
Somente os dados de trajeto do movimento esto armazenados com a instruo StorePath. Se o usurio quiser fazer algum movimento no nvel de trajeto novo, aps armazenar StorePath, dever dirigir a posio de parada atual, antes que RestoPath faa um movimento, para a posio de parada armazenada no trajeto. A instruo de movimento a qual precede a instruo deve ser terminada com um ponto de parada.

Sintaxe
RestoPath;

Informaes relacionadas
Descrito em: Guardando trajetrias Mais exemplos Instrues - StorePath Instrues - StorePath

2-RestoPath-318

Data Types do Sistema e Rotinas

Instrues

RETRY

RETRY

Reinicia seguindo um erro

RETRY usado para reiniciar a execuo do programa aps um erro ter ocorrido.

Exemplo
reg2 := reg3/reg4; . ERROR IF ERRNO = ERR_DIVZERO THEN reg4 := 1; RETRY; ENDIF Uma tentativa feita para dividir reg3 por reg4. Se reg4 igual a 0 (diviso por zero), um salto feito para o manipulador de erro, que inicializa reg4. A instruo RETRY ento usada para saltar de um manipulador de erro e outra tentativa feita para completar a diviso.

Execuo do programa
A execuo do programa continua (re-executa) com a instruo que causou o erro.

Tratamento de erros
Se o nmero mximo de reinicializaes (4) for excedido, a execuo do porgrama pra com uma mensagem de erro e a varivel do sistema ERRNO definida para ERR_EXCRTYMAX (veja "Data types - errnum").

Limitaes
A instruo pode somente existir no manipulador de erro da rotina. Se o erro foi criado usando a instruo RAISE, a execuo do programa no pode ser reiniciada com a instruo RETRY, ento deve ser usada a instruo TRYNEXT.

Sintaxe
RETRY ;

Data Types do Sistema e Rotinas

2-RETRY-319

RETRY

Instrues

Informaes relacionadas
Descrito em: Tratamento de erros Continua com a prxima instruo Caractersticas Bsicas Reconhecimento de Erro Instrues - Trynext

2-RETRY-320

Data Types do Sistema e Rotinas

Instrues

RETURN

RETURN

Termina a execuo de uma rotina

RETURN usado para terminar a execuo de uma rotina. Se a rotina uma funo, o valor da funo tambm retornado.

Exemplos
errormessage; Set do1; . PROC errormessage() TPWrite "ERROR"; RETURN; ENDPROC O procedimento errormessage chamado. Quando o procedimento chega na instruo RETURN, a execuo do programa retorna para a instruo seguindo o procedimento chamado, Set do1. FUNC num abs_value(num value) IF value<0 THEN RETURN -value; ELSE RETURN value; ENDIF ENDFUNC A funo retorna o valor absoluto do nmero.

Argumentos RETURN
Return value

[ Return value ]
DataType: De acordo com a declarao de funo

O valor de retorno da funo. O valor de retorno deve ser especificado na instruo RETURN presente na funo. Se a instruo est presente no procedimento ou rotina trap, um valor de retorno no precisa ser especificado.

Data Types do Sistema e Rotinas

2-RETURN-321

RETURN

Instrues

Execuo do programa
O resultado da instruo RETURN pode variar, dependendo do tipo de rotina que usada em: - Rotina principal: Se uma parada no programa foi ordenada no final do ciclo, o programa pra. Do contrrio, a execuo do programa continua com a primeira instruo da rotina principal. - Procedimento: A execuo do programa continua com a instruo seguindo o procedimento chamado. - Funo: - Rotina trap: Retorna o valor da funo. A execuo do programa continua de onde a interrupo ocorreu.

- Manipulador de erro: Num procedimento: A execuo do programa continua com a rotina que chamou a rotina com o manipulador de erro (com a instruo seguindo o procedimento chamado). Numa funo: O valor da funo retornado.

Sintaxe
(EBNF) RETURN [ <expresso> ];

Informaes relacionadas
Descrito em: Funes e Procedimentos Rotinas trap Tratamento de erros Caractersticas Bsicas - Rotinas Caractersticas Bsicas - Interrupes Caractersticas Bsicas Reconhecimento de Erro

2-RETURN-322

Data Types do Sistema e Rotinas

Instrues

Rewind

Rewind

Rebobinar a posio do arquivo

Rewind ajusta a posio do arquivo para o incio do arquivo.

Exemplo
Rewind iodev1; O arquivo referido como iodev1 ter a posio de arquivo ajustada para o incio do arquivo.

Argumentos Rewind
IODevice Nome (referncia) do arquivo a ser rebobinado.

IODevice
Tipo de dados: iodev

Execuo do programa
O arquivo especificado rebobinado para o incio.

Data Types do Sistema e Rotinas

2-Rewind-323

Rewind

Instrues

Exemplo
! IO device and numeric variable for use together with a binary file VAR iodev dev; VAR num bindata; ! Open the binary file with \Write switch to erase old contents Open "flp1:"\File := "bin_file",dev \Write; Close dev; ! Open the binary file with \Bin switch for binary read and write access Open "flp1:"\File := "bin_file",dev \Bin; WriteStrBin dev,"Hello World"; ! Rewind the file pointer to the beginning of the binary file ! Read contents of the file and write the binary result on TP ! (gives 72 101 108 108 111 32 119 111 114 108 100 ) Rewind dev; bindata := ReadBin(dev); WHILE bindata <> EOF_BIN DO TPWrite " " \Num:=bindata; bindata := ReadBin(dev); ENDWHILE ! Close the binary file Close dev; A instruo Rewind usada para rebobinar um arquivo binrio para o incio para que o contedo do arquivo possa ser lido novamente com ReadBin.

Sintaxe
Rewind [IODevice :=] <varivel (VAR) de iodev>;

Informaes relacionadas
Descrito em: Abrindo (etc.) arquivos Sumrio RAPID - Comunicao

2-Rewind-324

Data Types do Sistema e Rotinas

Instrues

Save

Save

Salvar um mdulo de programa


Save usado para salvar um mdulo de programa. O mdulo de programa especificado na memria do programa ser salvo com o caminho de arquivo original (especificado em Load ou StartLoad) ou com um caminho de arquivo especificado. Tambm possvel salvar um mdulo do sistema no caminho de arquivo especificado.

Exemplo
Load "ram1disk:PART_B.MOD"; ... Save "PART_B"; Carregar o mdulo de programa, cujo nome de arquivo PART_B.MOD, de ram1disk para a memria do programa. Salvar o mdulo de programa PART_B com o caminho de arquivo original ram1disk com o nome de arquivo original PART_B.MOD.

Argumentos Save [\Task] ModuleName [\FilePath] [\File]


Tipo de dados: taskid

[\Task]

A tarefa de programa na qual o mdulo de programa deve ser salvo. Se esse argumento for omitido, o mdulo de programa especificado na tarefa de programa atual (em execuo) ser salvo. Para todas as tarefas de programa do sistema, variveis predefinidas do tipo de dados taskid estaro disponveis. A identidade da varivel ser "nome da tarefa"+"Id", ex. para a tarefa MAIN, a identidade da varivel ser MAINId, TSK1 - TSK1Id etc.

ModuleName
O mdulo de programa a ser salvo.

Tipo de dados: string

[\FilePath]

Tipo de dados: string

O caminho de arquivo e o nome de arquivo do lugar onde o mdulo de programa

Data Types do Sistema e Rotinas

2-Save-325

Save

Instrues
deve ser salvo. O nome de arquivo deve ser excludo quando o argumento \File usado.

[\File]

Tipo de dados: string

Quando o nome de arquivo excludo no argumento \FilePath, ele deve ser especificado com esse argumento. O argumento \FilePath s pode ser omitido para mdulos de programa carregados com Load ou StartLoad-WaitLoad e o mdulo de programa ser armazenado no mesmo destino que o especificado nessas instrues. Para armazenar o mdulo de programa em outro destino, tambm possvel usar o argumento \FilePath. Para poder salvar um mdulo de programa que, anteriormente, foi carregado a partir da unidade de programa, computador externo ou configurao do sistema, necessrio usar o argumento \FilePath.

Execuo do programa
A execuo do programa espera pelo trmino do salvamento do mdulo de programa antes de passar para a prxima instruo.

Exemplo
Save "PART_A" \FilePath:="ram1disk:DOORDIR/PART_A.MOD"; Salvar o mdulo de programa PART_A em ram1disk no arquivo PART_A.MOD e no diretrio DOORDIR. Save "PART_A" \FilePath:="ram1disk: \File:=DOORDIR/PART_A.MOD"; O mesmo que acima, mas com outra sintaxe. Save \Task:=TSK1Id, "PART_A" \FilePath:="ram1disk:DOORDIR/PART_A.MOD"; Salvar o mdulo de programa PART_A da tarefa de programa TSK1 no destino especificado. Este um exemplo no qual a instruo Save executada em uma tarefa de programa e o salvamento feito em outra tarefa de programa.

Limitaes
Rotinas de interceptao (TRAP), eventos de E/S do sistema e outras tarefas de programa no podem ser executadas durante a operao de salvamento. Portanto, quaisquer operaes dessa espcie sero atrasadas. A operao de salvamento pode interromper atualizaes de dados PERS feitas passo a passo a partir de outras tarefas de programa. Isso ir resultar em dados PERS incon-

2-Save-326

Data Types do Sistema e Rotinas

Instrues
sistentes como um todo.

Save

Uma parada do programa durante a execuo de uma instruo Save pode resultar em uma parada de proteo com os motores desligados e na exibio da mensagem de erro "20025 Stop order timeout" na Unidade de programao. Evite movimentos do rob durante o salvamento.

Tratamento de erros
Se o mdulo de programa no puder ser salvo por no haver nome de mdulo, por este ser desconhecido ou ser ambguo, a varivel de sistema ERRNO ser definida como ERR_MODULE. Se o arquivo salvo no puder ser aberto por falta de permisses, por no existir o diretrio ou por no haver espao no dispositivo, a varivel de sistema ERRNO ser definida como ERR_IOERROR. Se o argumento \FilePath no for especificado para mdulos de programa carregados a partir da Unidade de programao, Parmetros do sistema ou um computador externo, a varivel de sistema ERRNO ser definida como ERR_PATH. Os erros acima podem ser tratados na rotina de tratamento de erros.

Sintaxe
Save [ \ Task := <variable (VAR) of taskid> , ] [ ModuleName := ] <expression (IN) of string> [ \ FilePath :=<expression (IN) of string> ] [ \ File := <expression (IN) of string>] ;

Informaes relacionadas
Descrito em: Tarefas de programa Tipos de dados - taskid

Data Types do Sistema e Rotinas

2-Save-327

Save

Instrues

2-Save-328

Data Types do Sistema e Rotinas

Instrues

SearchC

SearchC

Pesquisa circularmente usando o rob

SearchC (Search Circular) usado para pesquisar uma posio quando movendo o ponto central da ferramenta (TCP) circularmente. Durante o movimento, o rob supervisiona um sinal de entrada digital. Quando o valor do sinal muda, o rob l imediatamente a posio atual. Esta instruo pode ser usada quando a ferramenta presa pelo rob investiga para detectar uma superfcie. Usando a instruo SearchC , as coordenadas de contorno do objeto de trabalho podem ser obtidas.

Exemplos
SearchC sen1, sp, cirpoint, p10, v100, probe; O TCP da probe movido circularmente em direo posio p10 numa velocidade de v100. Quando o valor do sinal do1 ligado, a posio guardada em sp. SearchC \Stop, sen1, sp, cirpoint, p10, v100, probe; O TCP da probe movido circularmente em direo posio p10. Quando o valor do sinal do1 ligado, a posio guardada em sp e o rob pra imediatamente.

Argumentos
SearchC [ \Stop ] | [ \PStop ] | [ \SStop ] | [ \Sup ] Signal [ \Flanks ] SearcPoint CirPoint ToPoint Speed [ \V ] | [ \T ] Tool [ \WObj ] [ \Corr ]
[ \Stop ] (Stiff Stop) Data type: switch

O movimento do rob parado, o mais rapidamente possvel, sem manter o TCP na trajetria (parada agressiva), quando o valor do sinal de pesquisa fica ativo. Entretanto, o rob se move uma pequena distncia antes de parar e no volta para trs para a posio pesquisada, i.e. para a posio onde o sinal mudou. [ \PStop ] (Path Stop) DataType: switch

O movimento do rob parado, o mais rapidamente possvel, enquanto mantm o TCP na trajetria (parada suave), quando o valor do sinal de pesquisa ligado. Entretanto, o rob se move uma pequena distncia antes de parar e no volta para trs para a posio pesquisada, ou seja, para a posio onde o sinal mudou. [ \SStop ] (Smooth Stop) Data type: switch

O movimento do rob interrompido to rapidamente quanto possvel, ao

Manual de Referncia RAPID

8-SearchC-329

SearchC

Instrues
mesmo tempo em que se mantm o TCP prximo do caminho ou no caminho (parada suave), quando o valor do sinal de pesquisa muda para ativo. Entretanto, o rob movido por uma distncia um tanto pequena antes de parar, no sendo movido de volta para a posio pesquisada, ou seja, a posio na qual o sinal mudou. SStop mais rpido que PStop. No entanto, quando o rob se move mais rapidamente que 100 mm/s, ele pra na direo da tangente do movimento, o que o faz deslizar um pouco para fora do caminho.

[ \Sup ]

(Supervision)

DataType: switch

A instruo Search sensvel mudana de sinal durante todo o movimento (pesquisa flutuante), i.e. mesmo aps a troca do primeiro sinal ter sido relatado. Se mais de um sinal ocorrer durante a pesquisa, a execuo do programa pra. Se o argumento \Stop, \PStop, \SStop ou \Sup for omitido, o movimento continuar (pesquisa flutuante) para a posio especificada no argumento ToPoin (o mesmo que com o argumento \Sup). Signal O nome do sinal a supervisionar. [\Flanks ] Data type: switch DataType: signaldi

As extremidades positiva e negativa do sinal so vlidas para uma pesquisa com sucesso. Se o argumento \Flanks omitido, somente a extremidade positiva do sinal vlida para o sucesso da pesquisa e uma superviso de sinal ser ativada no incio do processo de pesquisa. Isso significa que, se o sinal tem um valor positivo no incio do processo de pesquisa, o movimento do rob parado, o mais rapidamente possvel, mantendo o TCP na trajetria (parada suave). Entretanto, o rob movido uma pequena distncia antes de parar e no movido de novo para a posio inicial. Um erro recupervel pelo usurio (ERR_SIGSUPSEARCH) ser gerado e pode ser tratado pelo tratamento de erros. SearchPoint DataType: robtarget

A posio do TCP e eixos externos quando o sinal de search foi acionado. A posio especificada no sistema de coordenada mais externa, levando em considerao a ferramenta especificada, o objeto de trabalho e o sistema de coordenada ProgDisp/ExtOffs ativo. CirPoint DataType: robtarget

O ponto do crculo do rob. Veja a instruo MoveC para uma descrio mais detalhada do movimento circular. O ponto do crculo definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo).

8-SearchC-330

Manual de Referncia do RAPID

Instrues
ToPoint

SearchC
DataType: robtarget

O ponto de destino do rob e eixos externos. Ele definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo). SearchC sempre usa um ponto de parada como um dado de zona para o destino. Speed DataType: speeddata

O dado de velocidade que se aplica aos movimentos. O dado de velocidade define a velocidade do TCP, a reorientao da ferramenta e eixos externos. [ \V ] (Velocity) DataType: num

Este argumento usado para especificar a velocidade do TCP em mm/s diretamente na instruo. Ele ento substitudo pela velocidade correspondente especificada no dado de velocidade. [ \T ] (Time) DataType: num

Este argumento usado para especificar o tempo total em segundos enquanto o rob se move. Ele ento substitudo pelo correspondente dado de velocidade. Tool DataType: tooldata A ferramenta em uso quando o rob se move. O ponto central de ferramenta o ponto que movido para o ponto de destino especificado. [ \WObj] (Work Object) DataType: wobjdata

O objeto de trabalho (sistema de coordenada) em que as posies do rob na instruo relacionada. Este argumento pode ser omitido, e se isso ocorre a posio relacionada com o sistema de coordenada mundial. Se, por outro lado, o TCP estacionrio ou coordenadas de eixos externos so usadas, este argumento deve ser especificado para um movimento linear relativo ao objeto de trabalho a ser realizado. [ \Corr] (Correction) Data type: switch

Dados de correo escritos em entrada de correces pela instruo CorrWrite sero adicionados no trajeto e na posio de destino, em estando presente este argumento.

Execuo do programa
Veja a instruo MoveC para informao sobre movimento circular. O movimento sempre termina com um ponto de parada, i.e. o rob pra no ponto de destino.

Manual de Referncia RAPID

8-SearchC-331

SearchC

Instrues

Quando uma pesquisa flutuante usada (por exemplo, quando o argumento \Sup especificado), o movimento do rob sempre continua para o ponto de destino programado. Quando uma pesquisa feita usando a opo \Stop ou \PStop ou \SStop, o movimento do rob pra quando o primeiro sinal detectado. A instruo SearchC retorna a posio do TCP quando o valor do sinal digital alterado para o pedido, como mostra a Figura 15.

Sem chave \Flanks 1 0 time 1 0

Com chave \Flanks time

= Reao da instruo quando altera o sinal


Figura 15 Deteo de sinal disparada por Flank (as posies so guardadas somente quando o sinal alterado a primeira vez).

Exemplo
SearchC \Sup, sen1\Flanks, sp, cirpoint, p10, v100, probe; O TCP do probe movido circularmente em direo posio p10. Quando o valor do sinal sen1 alterado para ativo ou passivo, a posio guardada em sp. Se o valor do sinal muda duas vezes, a execuo do programa pra.

Limitaes
O dado de zona para a instruo de posicionamento que precede o SearchC deve ser usado cuidadosamente. O incio da pesquisa, por exemplo, quando o sinal E/S est pronto para reativar, no , neste caso o ponto de destino programado na instruo de posicionamento anterior, mas um ponto ao longo da real trajetria do rob. Figura 16 ilustra um exemplo de alguma coisa que pode estar errada quando outro dado de zona que no o fine usado. A instruo SearchC nunca poder ser reiniciada aps um ponto de crculo ter passado. Caso contrrio o rob no far o trajeto programado (posicionamento em torno da trajetria circular em uma outra direo comparada com a programada).

8-SearchC-332

Manual de Referncia do RAPID

Instrues

SearchC

Ponto inicial com dado de zona z10

Objeto de pesquisa

Ponto final Ponto inicial com dado de zona fine Figura 16 Um sinal errado foi detectado ao lado do objeto porque foi usado o dado de zona errado.

Distncia tpica de parada usando uma velocidade de pesquisa de 50 mm/s: - sem TCP na trajetria (opo \Stop) 1-3 mm - com TCP na trajetria (opo \PStop) 12-16 mm - com TCP prximo trajetria (opo \SStop) 7-10 mm

Tratamento de erros
Um erro relatado durante uma pesquisa quando: - no ocorre o sinal de deteo - isto gera o erro ERR_WHLSEARCH - mais de um sinal de deteo ocorre isto gera um o erroERR_WHLSEARCH, somente se o argumento \Sup usado. - o sinal j tem um valor positivo no incio do processo de pesquisa. Isto gera o erro ERR_SIGSUPSEARCH, somente se o argumento \Flanks omitido. Erros podem ser tratados de diferentes formas dependendo do modo de execuo selecionado : Para frente continuamente / ERR_WHLSEARCH Nenhuma posio retornada e o movimento sempre continua para o ponto de destino programado . A varivel de sistema ERRNO ajustada para ERR_WHLSEARCH e o erro pode ser tratado no tratamento de erro da rotina. Para frente continuamente / Para frente instruo por instruo / ERR_SIGSUPSEARCH Nenhuma posio retornada e o movimento sempre pra, to rapidamente quanto possvel, no incio do trajeto de pesquisa. A varivel do sistema ERRNO ajustada para ERR_SIGSUPSEARCH e o erro pode ser tratado no tratamento de erro da rotina. Para frente instruo por instruo / ERR_WHLSEARCH Nenhuma posio retornada e o movimento sempre continua para o ponto de destino programado. Execuo do programa pra com uma mensagem de erro.

Manual de Referncia RAPID

8-SearchC-333

SearchC

Instrues
Para trs instruo por instruo Durante a execuo para trs, a instruo realiza somente o movimento sem sinal de superviso.

Sintaxe
SearchC [ \ Stop, ] | [ \ PStop ,] | [ \ SStop , ] | [ \ Sup , ] [ Signal := ] < variable (VAR) of signaldi > [\ Flanks], [ SearchPoint := ] < var or pers (INOUT) of robtarget > , [ CirPoint := ] < expression (IN) of robtarget > , [ ToPoint := ] < expression (IN) of robtarget > , [ Speed := ] < expression (IN) of speeddata > [ \ V := < expression (IN) of num > ] | [ \ T := < expression (IN) of num > ] , [ Tool := ] < persistent (PERS) of tooldata > [ \ WObj := < persistent (PERS) of wobjdata > ] [ \ Corr ];

Informaes relacionadas
Descrito em: Pesquisas lineares Escreve em uma entrada de correces Movimento circular Instrues - SearchL Instrues - CorrWrite Movimento e Princpios de E/S Posicionamento durante a execuo do programa DataTypes - speeddata DataTypes - tooldata DataTypes - wobjdata Sumrio RAPID Reconhecimento de Erro Movimento e Princpios de E/S Instrues - SearchL

Definio de velocidade Definio de ferramenta Definio de objeto de trabalho Tratamento de erros Movimentao em geral Mais exemplos de pesquisa

8-SearchC-334

Manual de Referncia do RAPID

Instrues

SearchL

SearchL

Pesquisa linearmente usando o rob

SearchL (Search Linear) usado para pesquisar uma posio quando movendo o ponto central da ferramenta (TCP) linearmente. Durante o movimento, o rob supervisiona um sinal de entrada digital. Quando o valor do sinal muda para o pedido, o rob l imediatamente a posio atual. Esta instruo pode ser usada quando a ferramenta presa pelo rob investiga para detectar uma superfcie. Usando a instruo SearchL , as coordenadas de contorno do objeto de trabalho podem ser obtidas.

Exemplos
SearchL sen1, sp, p10, v100, probe; O TCP do probe movido linearmente em direo posio p10 numa velocidade de v100. Quando o valor do sinal do1 ligado, a posio guardada em sp.. SearchL \Stop, sen1, sp, p10, v100, probe; O TCP do probe movido linearmente em direo posio p10. Quando o valor do sinal do1 ligado, a posio guardada em sp e o rob pra imediatamente.

Argumentos
SearchL [ \Stop ] | [ \PStop ] | [ \SStop ] | [ \Sup ] Signal [ \Flanks ] SearchPoint ToPoint Speed [ \V ] | [ \T ] Tool [ \WObj ] [ \Corr ]
[ \Stop ] (Stiff Stop) Data type: switch

O movimento do rob parado, o mais rapidamente possvel, sem manter o TCP na trajetria, quando o valor do sinal de pesquisa alterado para ativo. Entretanto, o rob se move uma pequena distncia antes de parar e no volta para trs para a posio pesquisada, i.e. para a posio onde o sinal mudou. [ \PStop ] (Path Stop) DataType: switch

O movimento do rob interrompido, o mais rapidamente possvel, enquanto mantm o TCP na trajetria (parada suave), quando o valor do sinal de pesquisa alterado para ativo. Entretanto, o rob se move uma pequena distncia antes de parar e no volta para trs para a posio pesquisada, ou seja, para a posio onde o sinal mudou. [ \SStop ] (Smooth Stop) Data type: switch

O movimento do rob interrompido to rapidamente quanto possvel, enquanto

Manual de Referncia do RAPID

8-SearchL-335

SearchL

Instrues
matm o TCP prximo trajetria ou na trajetria (parada suave), quando o valor do sinal de pesquisa muda para ativo. Entretanto, o rob movido por uma pequena distncia antes de parar e no movido de volta para a posio pesquisada, ou seja, a posio na qual o sinal mudou. SStop mais rpido que PStop. No entanto, quando o rob se move mais rapidamente que 100 mm/s, ele pra na direo da tangente do movimento, o que o faz desviar-se um pouco da trajetria. [\Sup ] (Supervision) DataType: switch

A instruo search sensvel mudana de sinal durante todo o movimento (pesquisa flutuante), i.e. mesmo aps a troca do primeiro sinal ter sido relatada. Se mais de um sinal ocorrer durante a pesquisa, a execuo do programa pra. Se o argumento \Stop, \PStop, \SStop ou \Sup for omitido, o movimento continuar (pesquisa flutuante) para a posio especificada no argumento ToPoint (o mesmo que com o argumento \Sup). Signal O nome do sinal a supervisionar. [\Flanks ] Data type: switch DataType: signaldi

As extremidades positiva e negativa d sinal so vlidas para uma pesquisa de sucesso. Se o argumento \Flanks omitido, somente a extremidade positiva do sinal ser vlida para uma pesquisa de sucesso e a superviso de sinal ser ativada no incio Isso significa que se o sinal tem o valor positivo j no incio do processo de pesquisa, o movimento do rob parado, to rapidamente quanto possvel, enquanto mantm o TCP na trajetria (parada suave). Um erro recupervel pelo usurio (ERR_SIGSUPSEARCH) ser gerado e pode ser tratado pela rotina de tratamento de erros. SearchPoint DataType: robtarget

A posio do TCP e eixos externos quando o sinal de search foi acionado. A posio especificada no sistema de coordenada mais externo, levando em considerao a ferramenta e o objeto de trabalho e o sistema de coordenadas ProgDisp/ExtOffs ativo. ToPoint DataType: robtarget

O ponto de destino do rob e eixos externos. Ele definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo). SearchL sempre usa um ponto de parada como um dado de zona para o destino. Speed DataType: speeddata

O dado de velocidade que se aplica aos movimentos. O dado de velocidade define a velocidade do TCP, a reorientao da ferramenta e eixos externos.

8-SearchL-336

Manual de Referncia do RAPID

Instrues
[ \V ] (Velocity)

SearchL
DataType: num

Este argumento usado para especificar a velocidade do TCP em mm/s diretamente na instruo. Ele ento substitudo pela velocidade correspondente especificada no dado de velocidade. [ \T ] (Time) DataType: num

Este argumento usado para especificar o tempo total em segundos enquanto o rob se move. Ele ento substitudo pelo correspondente dado de velocidade. Tool DataType: tooldata A ferramenta em uso quando o rob se move. O ponto central de ferramenta o ponto que movido para o ponto de destino especificado. [ \WObj] (Work Object) DataType: wobjdata

O objeto de trabalho (sistema de coordenada) em que o rob est posicionado na instruo relacionada. Este argumento pode ser omitido, e se isso ocorre a posio relacionada com o sistema de coordenada mundial. Se, por outro lado, o TCP estacionrio ou coordenadas de eixos externos so usadas, este argumento deve ser especificado para um movimento linear relativo ao objeto de trabalho a ser realizado. [ \Corr] (Correction) Data type: switch

Dados de correo escritos em uma entrada de correes pela instruo CorrWrite sero adicionados na trajetria e na posio de destino, se este argumento estiver presente.

Execuo do programa
Veja a instruo MoveL para informao sobre movimento linear. O movimento sempre termina com um ponto de parada, i.e. o rob pra no ponto de destino. Se uma pesquisa flutuante usada, por exemplo, o argumento \Sup especificado, o movimento do rob sempre continua para o ponto de destino programado. Se uma pesquisa feita usando a opo \Stop, \PStop ou \SStop, o movimento do rob pra quando o primeiro sinal detectado. A instruo SearchL guarda a posio do TCP quando o valor do sinal digital alterado para o pedido, como mostra a Figura 17.

Manual de Referncia do RAPID

8-SearchL-337

SearchL

Instrues

Sem interruptor \Flanks 1 0 tempo 1 0

Com interruptor \Flanks tempo

= Reao de instruo quando o sinal trocado


Figura 17 Deteo de sinal por disparo de Flank (a posio guardada somente quando o sinal trocado a primeira vez)

Exemplos
SearchL \Sup, sen1\Flanks, sp, p10, v100, probe; O TCP da probe movido linearmente em direo posio p10. Quando o valor do sinal sen1 alterado para ativo ou passivo, a posio guardada em sp. Se o valor do sinal muda duas vezes, a execuo do programa pra aps terminado o processo de pesquisa. SearchL \Stop, sen1, sp, p10, v100, tool1; MoveL sp, v100, fine, tool1; PDispOn *, tool1; MoveL p100, v100, z10, tool1; MoveL p110, v100, z10, tool1; MoveL p120, v100, z10, tool1; PDispOff; No incio do processo de pesquisa, ser feita uma verificao no sinal sen1 e, se o sinal j tem um valor positivo, a execuo do programa pra. Caso contrrio, o TCP da tool1 movido linearmente em direo posio p10. Quando o valor do sinal sen1 alterado para ativo, a posio guardada em sp e o rob se move de volta a este ponto. Usando um programa de deslocamento, o rob ento se move relativo posio de pesquisa, sp.

Limitaes
O dado de zona para a instruo de posicionamento que precede o SearchL deve ser usado cuidadosamente. O incio da pesquisa, i.e. quando o sinal E/S est pronto para reativa, neste caso, no o ponto de destino programado na instruo e na verdade, instruo de posicionamento anterior, mas um ponto ao longo da real trajetria do rob. Figura 18 a Figura 20 ilustram exemplos de coisas que podem estar erradas quando outro dado de zona que no o fine usado.

8-SearchL-338

Manual de Referncia do RAPID

Instrues

SearchL

Ponto de partida com dado de zona fine Ponto de partida com dado de zona z10

Objeto de pesquisa Ponto final

Figura 18 Um sinal errado foi detectado ao lado do objeto porque foi usado o dado de zona errado.

Ponto de partida com dado de zona fine Ponto de partida com dado de zona z10

Objeto de pesquisa Ponto final

Figura 19 Deteo no encontrada porque foi usado o dado de zona errado.

Ponto de partida com dado de zona fine Ponto de partida com dado de zona z10 Objeto de pesquisa Ponto final Figura 20 Deteo no encontrada porque foi usado o dado de zona errado.

Distncia tpica de parada usando uma velocidade de pesquisa de 50 mm/s: - sem TCP na trajetria (opo \Stop) 1-3 mmm - com TCP na trajetria (opo \PStop) 12-16 mm - com TCP prximo trajetria (opo \SStop) 7-10 mm

Tratamento de erros
Um erro relatado durante uma pesquisa quando: - no ocorre o sinal de deteo - isto gera o erro ERR_WHLSEARCH. - mais de um sinal de deteo ocorre isto gera o erro ERR_WHLSEARCH somente se o argumento \Sup usado. - o sinal j tem um valor positivo no incio do processo de pesquisa - isto gera o erro ERR_SIGSUPSEARCH somente se o argumento \Flanks omitido.

Manual de Referncia do RAPID

8-SearchL-339

SearchL

Instrues
Erros podem ser tratados de diferentes formas, dependendo do modo de execuo selecionado : Para frente continuamente / ERR_WHLSEARCH Nenhuma posio retornada e o movimento sempre continua para o ponto de destino programado . A varivel de sistema ERRNO fixada para ERR_WHLSEARCH e o erro pode ser manipulado no tratamento de erro da rotina. Para frente continuamente / Para frente instruo por instruo / ERR_SIGSUPSEARCH Nenhuma posio retornada e o movimento sempre pra, o mais rapidamente possvel, no incio da trajetria de pesquisa. A varivel do sistema ERRNO ajustada para ERR_SIGSUPSEARCH e o erro pode ser tratado no tratamento de erros da rotina. Para frente instruo por instruo/ ERR_WHLSEARCH Nenhuma posio retornada e o movimento sempre continua para o ponto de destino programado. Execuo do programa pra com uma mensagem de erro. Para trs instruo por instruo Durante a execuo para trs, a instruo realiza somente o movimento sem superviso de sinal.

Exemplo
VAR num fk; . MoveL p10, v100, fine, tool1; SearchL \Stop, sen1, sp, p20, v100, tool1; . ERROR IF ERRNO=ERR_WHLSEARCH THEN MoveL p10, v100, fine, tool1; RETRY; ELSEIF ERRNO=ERR_SIGSUPSEARCH THEN TPWrite O sinal da instruo SearchL j elevado!; TPReadFK fk,Tentar novamente aps reajuste manual do sinal ?,YES,,,,NO; IF fk = 1 THEN MoveL p10, v100, fine, tool1; RETRY; ELSE Stop; ENDIF ENDIF Se o sinal j est ativo no incio do processo de pesquisa, uma caixa de dilogo do usurio ser ativada (TPReadFK ...;). Reajuste o sinal e pressione YES na caixa de dilogo. O rob retorna a p10 e tenta mais uma vez. Caso contrrio, a execuo do programa pra.

8-SearchL-340

Manual de Referncia do RAPID

Instrues

SearchL
Se o sinal est passivo no incio do processo de pesquisa, o rob pesquisa desde a posio p10 at p20. Se nenhum sinal detetado, o rob retorna a p10 e tenta mais uma vez.

Sintaxe
SearchL [ \ Stop , ] | [ \ PStop ,] | [ \ SStop ,] | [ \ Sup , ] [ Signal := ] < variable (VAR) of signaldi > [\ Flanks] , [ SearchPoint := ] < var or pers (INOUT) of robtarget > , [ ToPoint := ] < expression (IN) of robtarget > , [ Speed := ] < expression (IN) of speeddata > [ \ V := < expression (IN) of num > ] | [ \ T := < expression (IN) of num > ] , [ Tool := ] < persistent (PERS) of tooldata > [ \ WObj := < persistent (PERS) of wobjdata > ] [ \ Corr ];

Informaes relacionadas
Descrito em: Pesquisas circulares Escrever em entrada de correes Movimento linear Instrues - SearchC Instrues - CorrWrite Movimento e Princpios de E/S Posicionamento na execuo do programa Tipos de dados - speeddata Tipos de dados - tooldata Tipos de dados - wobjdata Sumrio RAPID Reconhecimento de Erro Movimento e Princpios de E/S

Definio de velocidade Definio de ferramenta Definio de objeto de trabalho Tratamento de erros Movimentao em geral

Manual de Referncia do RAPID

8-SearchL-341

SearchL

Instrues

8-SearchL-342

Manual de Referncia do RAPID

Instrues

Set

Set

Liga um sinal de sada digital


Set usado para levar o valor de um sinal digital para um.

Exemplos
Set do15; O sinal do15 levado para 1. Set weldon; O sinal weldon levado para 1.

Argumentos Set
Signal O nome do sinal a ser levado para um.

Signal
DataType: signaldo

Execuo do programa
O valor real depende da configurao do sinal. Se o sinal invertido nos parmetros do sistema, esta instruo faz com que o canal fsico seja levado a zero.

Sintaxe
Set [ Signal := ] < varivel (VAR) do signaldo > ;

Data Types do Sistema e Rotinas

2-Set-343

Set

Instrues

Informaes relacionadas
Descrito em: Levando um sinal de sada digital para zero Instrues de E/S Funcionalidade geral de E/S Configurao de E/S Instrues - Reset Sumrio RAPID Sinais de Entrada e Sada Movimento e Princpios E/S Princpios de E/S Parmetros do Sistema

2-Set-344

Data Types do Sistema e Rotinas

Instrues

SetAO

SetAO

Muda o valor de um sinal de sada analgico


SetAO usado para mudar o valor de um sinal de sada analgico.

Exemplo
SetAO ao2, 5.5; O sinal ao2 levado para 5.5.

Argumentos SetAO
Signal O nome do sinal de sada analgico a ser alterado. Value O valor desejado para o sinal. DataType: num

Signal Value
DataType: signalao

Execuo do programa
O valor programado tabelado (de acordo com os parmetros do sistema) antes de ser enviado ao canal fsico. Veja Figure 21. Valor fsico do sinal de sada (V, mA, etc.) MAX SINAL MAX PROGRAMA Valor lgico no programa MIN PROGRAMA MIN SINAL
Figure 21 Diagrama de como o valor do sinal analgico tabelado.

Data Types do Sistema e Rotinas

2-SetAO-345

SetAO

Instrues

Exemplo
SetAO weldcurr, curr_outp; O sinal weldcurr levado para o mesmo valor que o atual valor da varivel curr_outp.

Sintaxe
SetAO [ Signal := ] < varivel (VAR) do signalao > , [ Value := ] < expresso (IN) do num > ;

Informaes relacionadas
Descrito em: Instrues de E/S Funcionalidade geral de E/S Configurao de E/S Sumrio RAPID Sinais de Entrada e Sada Movimento e Princpios E/S Princpios de E/S Parmetros do Sistema

2-SetAO-346

Data Types do Sistema e Rotinas

Instrues

SetDO

SetDO

Muda o valor de um sinal de sada digital


SetDO usado para mudar o valor de um sinal de sada digital, com ou sem um tempo de atraso.

Exemplos
SetDO do15, 1; O sinal do15 levado para 1. SetDO weld, off; O sinal weld levado para off. SetDO \SDelay := 0.2, weld, high; O sinal weld levado para high com um atraso de 0.2 s. Entretanto, a execuo do programa continua com a prxima instruo.

Argumentos SetDO
[ \SDelay ]

[ \SDelay ] Signal Value


(Signal Delay) DataType: num

A mudana de tempo de atraso dado em segundos (0.1 - 32s). A execuo do programa continua diretamente com a prxima instruo. Aps o tempo de atraso dado, o sinal mudado sem afetar o resto da execuo do programa. Se o argumento omitido, o valor do sinal mudado diretamente. Signal O nome do sinal a ser mudado. Value O valor desejado para o sinal. O valor est especificado como 0 ou 1. DataType: dionum DataType: signaldo

Execuo do programa
O valor real depende da configurao do sinal. Se o sinal est invertido nos parmetros do sistema, o valor do canal fsico o oposto.

Data Types do Sistema e Rotinas

2-SetDO-347

SetDO

Instrues

Sintaxe
SetDO [ \ SDelay := < expresso (IN) de num > , ] [ Signal := ] < varivel (VAR) de signaldo > , [ Value := ] < expresso (IN) de dionum > ;

Informaes relacionadas
Descrito em: Instrues de E/S Funcionalidade geral de E/S Configurao de E/S Sumrio RAPID Princpios de Entrada e Sada Movimento e Princpios E/S Princpios de E/S Guia do Usurio Parmetros do Sistema

2-SetDO-348

Data Types do Sistema e Rotinas

Instrues

SetGO

SetGO

Muda o valor de um grupo de sinais de sada digital


SetGO usado para mudar o valor de um grupo de sinais de sada digitais, com ou sem atraso de tempo.

Exemplo
SetGO go2, 12; O sinal go2 levado para 12. Se go2 compreende 4 sinais, ex. sadas 6-9, as sadas 6 e 7 so levadas para zero, enquanto as sadas 8 e 9 so levadas a um. SetGO \SDelay := 0.4, go2, 10; O sinal go2 levada para 10. Se go2 compreende 4 sinais, ex. sadas 6-9, as sadas 6 e 8 so levadas para zero, enquanto as sadas 7 e 9 so levadas a um, com um atraso de 0.4 s. Entretanto, a execuo do programa continua com a prxima instruo.

Argumentos SetGO
[ \SDelay ]

[ \SDelay ] Signal Value


(Signal Delay) Data type: num

Atrasa a alterao pelo perodo de tempo estabelecido em segundos (0.1 - 32s). A execuo do programa continua diretamente com a prxima instruo. Aps o atraso de tempo especificado, o valor dos sinais alterado sem afetar a restante execuo do programa. Se o argumento omitido, o valor mudado diretamente. Signal O nome do grupo de sinais a ser mudado. Value DataType: num DataType: signalgo

O valor desejado para o grupo de sinais (inteiro positivo). O valor permitido depende do nmero de sinais do grupo:

Data Types do Sistema e Rotinas

2-SetGO-349

SetGO
No. de sinais 1 2 3 4 5 6 7 8 Valor permitido 0-1 0-3 0-7 0 - 15 0 - 31 0 - 63 0 - 127 0 - 255 No. de sinais 9 10 11 12 13 14 15 16

Instrues
Valor permitido 0 - 511 0 - 1023 0 - 2047 0 - 4095 0 - 8191 0 - 16383 0 - 32767 0 - 65535

Execuo do programa
O valor programado convertido para um nmero binrio sem sinal. Este nmero binrio enviado ao grupo de sinal, o que resulta em sinais individuais no grupo que so levados para 0 ou 1. Devido a atrasos internos, o valor do sinal pode ser indefinido por um curto perodo de tempo.

Sintaxe
SetDO [ \ SDelay := < expresso (IN) do num > , ] [ Signal := ] < varivel (VAR) do signalgo > , [ Value := ] < expresso (IN) do num > ;

Informaes relacionadas
Descrito em: Outras instrues de E/S Funcionalidade geral de E/S Configurao de E/S Sumrio RAPID Sinais de Entrada e Sada Movimento e Princpios de E/S Princpios de E/S Parmetros do Sistema

2-SetGO-350

Data Types do Sistema e Rotinas

Instrues

SingArea

SingArea Define interpolao em torno de pontos singulares


SingArea usado para definir como o rob se move perto de pontos singulares. SingArea usado tambm para definir a interpolao circular e linear para robs com menos de seis eixos.

Exemplos
SingArea \Wrist; A orientao da ferramenta pode ser mudada ligeiramente para que passe por um ponto singular (eixos 4 e 6 em linha). Robs com menos de seis eixos podero no ser capazes de alcanar uma orientao de ferramenta interpolada. Usando SingArea \Wrist, o rob poder concluir o movimento mas a orientao da ferramenta ser ligeiramente alterada. SingArea \Off; A orientao da ferramenta no pode diferir da orientao programada. Se passar por um ponto singular, um ou mais eixos podem realizar um movimento de varredura, resultando na reduo da velocidade. Robs com menos de seis eixos podero no ser capazes de alcanar uma orientao de ferramenta programada. Como um resultado o rob parar.

Argumentos SingArea
[ \Wrist ]

[ \Wrist] | [ \Off]
Tipo de Dados: switch

A orientao da ferramenta pode diferir um pouco para evitar a singularidade do punho. Usada quando eixos 4 e 6 so paralelos (eixo 5 a 0 graus). tambm usado para interpolao circular e linear de robs com menos de seis eixos onde permitido diferir a orientao da ferramenta [\Off ] Tipo de Dados: switch

A orientao da ferramenta no pode diferir. Usado quando nenhum ponto singular ultrapassado, ou quando a orientao no pode ser mudada. Se nenhum dos argumentos for especificado, a execuo do programa usa automaticamente o argumento por omisso do rob. Para robs com seis eixos o argumento por omisso \Off

Data Types do Sistema e Rotinas

2-SingArea-351

SingArea

Instrues

Execuo do programa
Se o argumento \Wrist for especificado, a orientao ser interpolada eixo-a-eixo para evitar pontos singulares. Desta forma, o TCP segue a trajetria correta, mas a orientao da ferramenta desvia um tanto. Isto tambm ocorre quando um ponto singular no ultrapassado. A interpolao especificada se aplica a todos os movimentos subsequentes at que uma nova instruo SingArea seja executada. O movimento somente afetado na execuo de interpolao linear ou circular. Por omisso, a execuo do programa usa automaticamente o argumento /Off para robs com seis eixos. Robs com com menos de seis eixos podero usar o argumento / /Off (IRB640) ou o argumento/Wrist por omisso. Isto automaticamente ajustado na rotina de evento SYS_RESET. - uma partida a frio - quando um novo programa carregado - quando comea a execuo do programa desde o incio.

Sintaxe
SingArea [ \ Wrist ] | [ \ Off ] ;

Informaes relacionadas
Descritas em: Singularidade Interpolao Princpios de Movimentao Singularidade Princpios de Movimentao Posicionamento durante a Execuo do Programa

2-SingArea-352

Data Types do Sistema e Rotinas

Instrues

SoftAct

SoftAct

Ativa o servo soft

SoftAct (Soft Servo Activate) usado para ativar o chamado servo soft de qualquer eixo do rob ou unidades mecnicas externas.

Exemplo
SoftAct 3, 20; Ativao do servo soft no eixo 3, com valor de suavidade 20%. SoftAct 1, 90 \Ramp:=150; Ativao do servo soft no eixo 1, com valor de suavidade 90% e fator de rampa 150%. SoftAct \MechUnit:=orbit1, 1, 40 \Ramp:=120; Ativao do servo soft no eixo 1, para a unidade mecnica orbit1, com valor de suavidade 40% e fator de rampa 120%

Argumentos
SoftAct [\MechUnit] Axis Softness [\Ramp ] [\MechUnit]
(Unidade Mecnica) Tipo de Dados: mecunit

O nome da unidade mecnica. Se este argumento for omitido, significa que o servo soft est ativado para o eixo do rob especificado. Axis Tipo de Dados: num Nmero do do rob ou eixo externo para trabalhar com o servo soft. Softness Tipo de Dados: num

Valor de suavidade em porcentagem (0 - 100%). 0% significa suavidade mnima (mx. rigidez), e 100% significa mx. suavidade. Ramp Tipo de Dados: num

Fator da rampa em porcentagem (>= 100%). O fator da rampa usada para controlar o ajuste do soft servo. Um fator 100% significa um valor normal; com valores maiores de soft servo ajustado mais suavemente (rampa longa). O valor default para fator de rampa 100 %.

Data Types do Sistema e Rotinas

2-SoftAct-353

SoftAct

Instrues

Execuo do programa
Suavidade ativada no valor especificado para o atual eixo. Um valor de suavidade vlido para todos os movimentos, at que um novo valor de suavidade seja programado para o eixo atual, ou at que o soft servo seja desativado por uma instruo.

Limitaes
O servo suave de qualquer rob ou eixo externo sempre desativado em caso de falha de energia. Essa limitao pode ser contornada no programa do usurio, ao reiniciar aps uma falha de energia. O mesmo eixo no deve ser ativado duas vezes, a menos que haja uma instruo de movimento no meio. Desta maneira, a prxima sequncia do programa deve ser evitada, caso contrrio haver um solavanco no movimento do rob: SoftAct n , x; SoftAct n , y; (n = eixo do rob n, x e y valores de suavidade)

Sintaxe
SoftAct [\MechUnit := < varivel (VAR) de mecunit> ,] [Axis := ] < expresso (IN) do num> , [Softness := ] < expresso (IN) do num> [ \Ramp := < expresso (IN) do num> ];

Informaes relacionadas
Descritas em: Comportamento com o servo soft engatado Movimentao e Princpios E/S Posicionamento na execuo do programa

2-SoftAct-354

Data Types do Sistema e Rotinas

Instrues

SoftDeact

SoftDeact

Desativa o servo soft

SoftDeact (Soft Servo Deactivate) usado para desativar o chamado servo soft em todos os robs e eixos externos.

Exemplo
SoftDeact; Desativa o soft servo em todos os eixos. SoftDeact \Ramp:=150; Desativa o soft servo em todos os eixos, com fator ramp de 150%.

Argumentos
SoftDeact [\Ramp ] Ramp Data type: num

Fator ramp em porcentagem (>= 100%). O fator ramp usado para controlar a desativao do soft servo. Um fator 100% representa o valor normal; com valores maiores, o soft servo desativado mais lentamente (ramp mais longo). O valor padro do fator ramp de 100 %.

Execuo do programa
O servo soft desativado para todos os robs e eixos externos.

Sintaxe
SoftDeact;

Informaes relacionadas
Descritas em: Ativando o soft servo Instrues - SoftAct

Data Types do Sistema e Rotinas

2-SoftDeact-355

SoftDeact

Instrues

2-SoftDeact-356

Data Types do Sistema e Rotinas

Instrues

SpyStart

SpyStart

Iniciar gravao de dados em tempo de execuo

SpyStart usado para iniciar a gravao de dados de instruo e tempo durante a execuo. Os dados de execuo sero armazenados em um arquivo para anlise posterior. Os dados armazenados tm como finalidade a depurao do programa RAPID, especfico para sistema multitarefa (necessrio somente para SpyStart - SpyStop em uma tarefa de programa).

Exemplo
SpyStart "ram1disk:spy.log"; Inicia a gravao dos dados em tempo de execuo no arquivo spy.log, no ramdisk.

Argumentos SpyStart File File


Tipo de dados: string O caminho e o nome do arquivo que ir conter os dados de execuo.

Execuo do programa
O arquivo especificado aberto para escrita e os dados de tempo de execuo comeam a ser gravados no arquivo. A gravao dos dados em tempo de execuo fica ativa at: - a execuo da instruo SpyStop - que a execuo do programa comece do incio - o carregamento de um novo programa - a prxima partida a quente

Limitaes
Evite usar a unidade de disco para gravao, uma vez que a escrita em disquete muito demorada.

Data Types do Sistema e Rotinas

2-SpyStart-357

SpyStart

Instrues
Nunca use a funo spy em programas em produo, uma vez que ela aumenta o tempo do ciclo e consome memria no dispositivo de memria de massa utilizado (ramdisk).

Tratamento de erros
Se o arquivo da instruo SpyStart no puder ser aberto, a varivel de sistema ERRNO ser definida como ERR_FILEOPEN (veja Tipos de dados - errnum). Assim, esse erro poder ser tratado na rotina de tratamento de erros.

Formato de arquivo
TASK INSTR IN CODE OUT

MAIN ConfJ\Off; 691310:READY :691310 ----- SYSTEM TRAP----MAIN ConfL\Off; 691450:READY :691450 MAIN def_wz; 691450:READY :691450 MAIN WZSphDef\Inside,volume,[p1.trans.x+xtrans691450:READY :691450 MAIN WZDOSet\Temp,wz1\Inside,volume,do1,1; 691460:READY :691460 ----- SYSTEM TRAP----MAIN WZSphDef\Inside,volume,[p2.trans.x+xtrans,691460:READY :691460 MAIN WZDOSet\Temp,wz2\Inside,volume,do2,1; 691860:READY :691860 ... MAIN MoveL home,s,z,toolx\WObj:=wobjx; 693910:WAIT :694010 ----- SYSTEM TRAP ----MAIN MoveL home,s,z,toolx\WObj:=wobjx; 726820:WAIT :726820 ----- SYSTEM TRAP ----MAIN MoveL home,s,z,toolx\WObj:=wobjx; 740300:READY :740300 MAIN writepos; 740300:READY :740300 ... MAIN SpyStop; 827610: A coluna TASK mostra a tarefa de programa executada A coluna INSTR mostra a instruo executada na tarefa de programa especificada A coluna IN mostra, em ms, o momento de entrada da instruo executada A coluna CODE mostra se a instruo est pronta (READY) ou se a instruo espera (WAIT) concluso no momento OUT A coluna OUT mostra, em ms, o momento em que a instruo executada deixada Todos os tempos so dados em ms (valores relativos), com resoluo de 10 ms. ----- SYSTEM TRAP----- significa que o sistema est fazendo algo mais do que executar instrues do RAPID. Se houver uma chamada a algum procedimento (mdulo) NOSTEPIN, a lista de sada mostrar somente o nome do procedimento que tiver feito a chamada. Isso se repete para cada instruo executada na rotina NOSTEPIN.

2-SpyStart-358

Data Types do Sistema e Rotinas

Instrues

SpyStart

Sintaxe
SpyStart [File:=]<expression (IN) of string>;

Informaes relacionadas
Descrito em: Interromper a gravao de dados de execuo Instrues - SpyStop

Data Types do Sistema e Rotinas

2-SpyStart-359

SpyStart

Instrues

2-SpyStart-360

Data Types do Sistema e Rotinas

Instrues

SpyStop

SpyStop

Interromper gravao de dados em tempo de execuo

SpyStop usado para interromper a gravao de dados de tempo durante a execuo. Os dados, que podem ser teis para otimizar o tempo do ciclo de execuo, so armazenados em um arquivo para anlise posterior.

Exemplo
SpyStop; Interrompe a gravao de dados em tempo de execuo no arquivo especificado pela instruo SpyStart anterior.

Execuo do programa
A gravao de dados de execuo interrompida e o arquivo especificado pela instruo SpyStart fechado. Se nenhuma instruo SpyStart tiver sido executada antes, a instruo SpyStop ser ignorada.

Exemplos
IF debug = TRUE SpyStart "ram1disk:spy.log"; produce_sheets; IF debug = TRUE SpyStop; Se o sinalizador debug verdadeiro, inicia a gravao de dados de execuo no arquivo spy.log, no ramdisk; efetua produo real, interrompe a gravao e fecha o arquivo spy.log.

Limitaes
Evite usar a unidade de disco para gravao, uma vez que a escrita em disquete muito demorada. Nunca use a funo spy em programas em produo, uma vez que ela aumenta o tempo do ciclo e consome memria no dispositivo de memria de massa utilizado (ramdisk).

Data Types do Sistema e Rotinas

2-SpyStop-361

SpyStop

Instrues

Sintaxe
SpyStop;

Informaes relacionadas
Descrito em: Iniciar gravao de dados de execuo Instrues - SpyStart

2-SpyStop-362

Data Types do Sistema e Rotinas

Instrues

Load

StartLoad Carregar um mdulo de programa durante a execuo


O mdulo de programa carregado ser adicionado aos mdulos j existentes na memria do programa. Um mdulo de sistema ou de programa pode ser carregado em modo esttico (padro) ou em modo dinmico: Modo esttico
Tabell 3 Como diversas operaes afetam mdulos do sistema ou programas carregados estaticamente.
Definir PP como principal a partir do TP Mdulo de programa Mdulo do sistema No afetado No afetado Abrir novo programa RAPID No carregado No afetado

Modo dinmico
Tabell 4 Como diversas operaes afetam mdulos do sistema ou programas carregados dinamicamente
Definir PP como principal a partir do TP Mdulo de programa Mdulo do sistema No carregado No carregado Abrir novo programa RAPID No carregado No carregado

Ambos os mdulos carregados estaticamente e dinamicamente podem ser descarregados pela instruo UnLoad.

Exemplo
VAR loadsession load1; ! Inicia o carregamento do novo mdulo de programa PART_B, que contm a rotina routine_b ! em modo dinmico StartLoad \Dynamic, ram1disk \File:="PART_B.MOD", load1; ! Executando em paralelo no mdulo antigo PART_A que contm routine_a %"routine_a"%; ! Descarregamento do mdulo de programa antigo PART_A UnLoad ram1disk \File:="PART_A.MOD";

Data Types do Sistema e Rotinas

2-Load-363

Load

Instrues
! Espera at que o carregamento e a vinculao do novo mdulo de programa PART_B esteja pronto WaitLoad load1; ! Execuo no novo mdulo de programa PART_B %"routine_b"%; Inicia o carregamento do mdulo de programa PART_B.MOD de ram1disk na memria do programa com a instruo StartLoad. El paralelo como carregamento, o programa executa routine_a no mdulo PART_A.MOD. Em seguida, a instruo WaitLoad espera pela concluso do carregamento e da vinculao. O mdulo carregado em modo dinmico. A varivel load1 armazena a identificao da sesso de carregamento, atualizada por StartLoad e referida por WaitLoad. Para reduzir o tempo de carregamento, as instrues UnLoad e WaitLoad podem ser combinadas na instruo WaitLoad pelo uso do argumento de opo \UnLoadPath.

Argumentos StartLoad [\Dynamic] FilePath [\File] LoadNo


[\Dynamic]
Tipo de dados: switch

A opo ativa o carregamento de um mdulo de programa em modo dinmico. Caso contrrio, o carregamento ocorre em modo esttico.

FilePath

Tipo de dados: string

O caminho e o nome do arquivo que ser carregado na memria do programa. O nome do arquivo deve ser excludo quando o argumento \File usado.

[\File]

Tipo de dados: string

Quando o nome do arquivo excludo no argumento FilePath, ele deve ser definido com esse argumento.

LoadNo

Tipo de dados: loadsession

H uma referncia sesso de carregamento que deve ser usada na instruo WaitLoad para conectar o mdulo de programa carregado tarefa de programa.

Execuo do programa
A execuo de StartLoad apenas ordenar o carregamento e, em seguida, continuar diretamente com a prxima instruo, sem esperar pela concluso do carregamento.

2-Load-364

Data Types do Sistema e Rotinas

Instrues

Load

Em seguida, a instruo WaitLoad esperar primeiro pela concluso do carregamento, caso este ainda no tenha terminado, para ento ser vinculado e inicializado. A inicializao do mdulo carregado define todas as variveis em nvel de mdulo com seus valores iniciais. Referncias no resolvidas sero aceitas se o parmetro de sistema para Tasks/BindRef estiver definido como NO. No entanto, quando o programa iniciado ou a funo Program Window/File/Check Program da unidade de programao utilizada, nenhuma verificao de referncias no resolvidas ser feita se BindRef = NO. Haver um erro em tempo de execuo ao executar uma referncia no resolvida. Uma outra maneira de utilizar referncias a instrues que no estejam na tarefa desde o incio usar Vinculao posterior. Isso possibilita especificar a rotina a ser chamada com uma expresso de seqncia, delimitada por dois %%. Nesse caso, o parmetro BindRef pode ser definido como YES (comportamento padro). O mtodo de Vinculao posterior prefervel. Para obter uma boa estrutura de programa, que seja de fcil compreenso e manuteno, todo o carregamento e descarregamento de mdulos de programa deve ser feito a partir do mdulo principal, que est sempre presente na memria do programa durante a execuo.

Exemplos
StartLoad \Dynamic, "ram1disk:DOORDIR/DOOR1.MOD", load1; Carrega o mdulo de programa DOOR1.MOD a partir de ram1disk no diretrio DOORDIR para a memria de programa. O mdulo de programa carregado em modo dinmico. StartLoad \Dynamic, "ram1disk:" \File:="DOORDIR/DOOR1.MOD", load1; O mesmo que acima, porm com outra sintaxe. StartLoad "ram1disk:" \File:="DOORDIR/DOOR1.MOD", load1; O mesmo que os dois exemplos acima, mas o mdulo carregado em modo esttico. StartLoad \Dynamic, "ram1disk:" \File:="DOORDIR/DOOR1.MOD", load1; ... WaitLoad load1; o mesmo que Load \Dynamic, "ram1disk:" \File:="DOORDIR/DOOR1.MOD";

Limitaes
No permitido carregar um mdulo de sistema ou mdulo de programa que contenha

Data Types do Sistema e Rotinas

2-Load-365

Load
uma rotina principal.

Instrues

Sintaxe
StartLoad [\Dynamic ,] [FilePath :=] <expresso (IN) de string> [\File := <expresso (IN) de string> ] , [LoadNo :=] <varivel (VAR) de loadsession> ;

Informaes relacionadas
Descrito em: Conectar o mdulo carregado tarefa Sesso de carregamento Carregar um mdulo de programa Descarregar um mdulo de programa Aceitar referncias no resolvidas Task/ Instrues - WaitLoad Tipos de dados - loadsession Instrues - Load Instrues - UnLoad Parmetros do sistema - Controller/ BindRef

2-Load-366

Data Types do Sistema e Rotinas

Instrues

StartMove

StartMove

Reinicia o movimento do rob

StartMove usado para retomar o movimento do rob e eixos externos quando este foi parado pela instruo StopMove.

Exemplo
StopMove; WaitDI ready_input, 1; StartMove; O rob inicia o movimento novamente quando a entrada ready_input for ligada.

Execuo do programa
Qualquer processo associado com o movimento de parada reiniciado ao mesmo tempo que o movimento retoma.

Tratando o erro
Se o rob estiver muito longe do trajeto (mais do que 10mm ou 20 graus) para realizar o incio do movimento de interrompido, a varivel de sistema ERRNO ligada a ERR_PATHDIST. Este erro pode ento ser manipulado no manipulador de erro.

Sintaxe
StartMove;

Informaes relacionadas
Descrito em: Parando movimentos Mais exemplos Instrues - StopMove Instrues - StorePath

Data Types do Sistema e Rotinas

2-StartMove-367

StartMove

Instrues

2-StartMove-368

Data Types do Sistema e Rotinas

Instrues

Stop

Stop

Parar a execuo do programa


Stop usado para parar temporariamente a execuo do programa. A execuo do programa tambm pode ser parada usando a instruo EXIT. Entretanto, isto somente pode ser feito se a tarefa for concluda, ou se um erro fatal ocorrer, j que a execuo do programa no pode ser reiniciado com EXIT.

Exemplo
TPWrite "A via para o computador est danificada"; Stop; A execuo do programa pra aps uma mensagem ter sido escrita na unidade de programao.

Argumentos Stop [ \NoRegain ]


Tipo de dado: switch

[ \NoRegain ]

Especifica que o prximo incio de programa seja no modo manual, independentemente se o rob e eixos externos devem retornar posio de parada. No modo automtico o rob e eixos externos sempre retornam a posio de parada. Se o argumento NoRegain for ligado, o rob e eixos externos no sero recuperados para a posio de parada (se elas foram movidas para fora da posio). Se o argumento for omitido e se o rob ou eixos externos forem movidos para fora da posio de parada, o rob apresenta uma questo na unidade de programao. O usurio pode ento responder, se o rob deve ou no voltar para a posio de parada.

Execuo do programa
Esta instruo pra a execuo do programa assim que o rob e eixos externos alcanam o ponto de destino programado para o movimento realizado naquele momento. A execuo do programa pode ento ser reiniciada pela prxima instruo. Se houver uma instruo Stop em alguma rotina de evento, a rotina ser executada a partir do incio do prximo evento.

Data Types do Sistema e Rotinas

2-Stop-369

Stop

Instrues

Exemplo
MoveL p1, v500, fine, tool1; TPWrite "Mova o rob para a posio do canto 1 do pallet"; Stop \NoRegain; p1_read := CRobT(); MoveL p2, v500, z50, tool1; A execuo do programa pra com o rob em p1. O operador move o rob para p1_read. Para o incio do prximo programa, o rob no retorna para p1, ento a posio p1_read pode ser guardada no programa.

Limitaes
A instruo de movimento que precede esta instruo deve ser terminada com um ponto de parada, para que seja possvel reiniciar nesta instruo seguindo uma falha de energia.

Sintaxe
Stop [ \ NoRegain ];

Informaes relacionadas
Descrito em: Parando aps um erro fatal Terminando a execuo do programa Somente parando movimentos do rob Instrues - Exit Instrues - Exit Instrues - StopMove

2-Stop-370

Data Types do Sistema e Rotinas

Instrues

StopMove

StopMove

Pra o movimento do rob

StopMove usado para parar o movimento do rob e eixos externos temporariamente. Se a instruo StartMove for dada, o movimento retomado. Esta instruo pode, por exemplo, ser usada numa rotina trap para parar o rob temporariamente quando uma interrupo ocorre.

Exemplo
StopMove; WaitDI ready_input, 1; StartMove; O movimento do rob pra at que a entrada ready_input seja ligada.

Execuo do programa
Os movimentos do rob e eixos externos param sem que os freios sejam acionados. Qualquer processo associado com os movimentos em progresso parado ao mesmo tempo que o movimento for parado. A execuo do programa continua sem aguardar que o rob e os eixos externos parem (posio fixa).

Exemplos
VAR intnum intno1; ... CONNECT intno1 WITH go_to_home_pos; ISignalDI di1,1,intno1; TRAP go_to_home_pos VAR robtarget p10; StopMove; StorePath; p10:=CRobT(); MoveL home,v500,fine,tool1; WaitDI di1,0; Move L p10,v500,fine,tool1; RestoPath; StartMove; ENDTRAP Quando a entrada di1 ajustada em 1 ativada uma interrupo que, por sua vez,

Data Types do Sistema e Rotinas

2-StopMove-371

StopMove

Instrues
ativa a rotina interrompida go_to_home_pos. O movimento atual imediatamente interrompido e o rob move-se para a posio home. Quando di1 ajustado em 0, o rob volta para a posio em que ocorreu a interrupo e continua a movimentar-se na trajetria programada.

VAR intnum intno1; ... CONNECT intno1 WITH go_to_home_pos; ISignalDI di1,1,intno1; TRAP go_to_home_pos () VAR robtarget p10; StorePath; p10:=CRobT(); MoveL home,v500,fine,tool1; WaitDI di1,0; Move L p10,v500,fine,tool1; RestoPath; StartMove; ENDTRAP Exemplo igual ao anterior, mas o rob no muda para a posio home at a instruo de movimento atual estar terminada.

Sintaxe
StopMove;

Informaes relacionadas???
Descrito em: Continuando o movimento Interrupes Instrues - StartMove Sumrio RAPID - Interrupes Caractersticas Bsicas - Interrupes???

2-StopMove-372

Data Types do Sistema e Rotinas

Instrues

StorePath

StorePath Salva a trajetria quando ocorre uma interrupo


StorePath usado para salvar a trajetria do movimento em uso quando um erro ou interrupo ocorrer. O tratamento de erro ou rotina trap podem ento iniciar um novo movimento e, seguindo isto, reiniciar o movimento que foi salvo anteriormente. Esta instruo pode ser usada para ir para uma posio de servio ou para limpar a tocha (solda arco), pina (solda ponto) ou pistola ( aplicao de cola), por exemplo, quando um erro ocorre.

Exemplo
StorePath; A atual trajetria do movimento salva para uso posterior.

Execuo do programa
A atual trajetria do movimento do rob e eixos externos salva. Aps isto, outro movimento pode ser iniciado na rotina trap ou no tratamento de erro. Quando a razo para o erro ou interrupo for retificada, a trajetria do movimento salva pode ser reiniciada.

Exemplo
TRAP machine_ready; VAR robtarget p1; StorePath; p1 := CRobT(); MoveL p100, v100, fine, tool1; ... MoveL p1, v100, fine, tool1; RestoPath; StartMove; ENDTRAP Quando ocorre uma interrupo que ativa a rotina trap machine_ready, a trajetria do movimento que o rob est executando no momento parada no fim da instruo (ToPoint) e salva. Aps isto, o rob corrige a interrupo, por exemplo, substituindo uma pea na mquina e o movimento normal reiniciado.

Data Types do Sistema e Rotinas

2-StorePath-373

StorePath

Instrues

Limitaes
Somente os dados de trajeto do movimento esto armazenados com a instruo StorePath. Se o usurio quiser fazer algum movimento no nvel de trajeto novo, aps armazenar StorePath, dever dirigir a posio de parada atual, antes que RestoPath faa um movimento, para a posio de parada armazenada no trajeto. Somente uma trajetria do movimento pode ser guardada por vez.

Sintaxe
StorePath;

Informaes relacionadas
Descrito em: Recuperando uma trajetria Mais exemplos Instrues - RestoPath Instrues - RestoPath

2-StorePath-374

Data Types do Sistema e Rotinas

Instrues

TEST

TEST

Dependendo do valor de uma expresso ...


TEST usado quando diferentes instrues devem ser executadas dependendo do valor de uma expresso ou dado. Se no h muitas alternativas, a instruo IF..ELSE tambm pode ser usada.

Exemplo
TEST reg1 CASE 1,2,3 : routine1; CASE 4 : routine2; DEFAULT : TPWrite "Escolha ilegal"; Stop; ENDTEST Instrues diferentes so executadas dependendo do valor de reg1. Se o valor for 1-3 routine1 executada. Se o valor for 4, a routine2 executada. Caso contrrio, uma mensagem de erro impressa e a execuo pra.

Argumentos TEST Test data {CASE Test value {, Test value} : ...} [ DEFAULT: ...] ENDTEST
Test data DataType: All

O dado ou expresso com o qual o valor teste ser comparado. Test value DataType: o mesmo do testdata

O valor no qual o test data deve ter para as instrues associadas para ser executado.

Execuo do programa
O test data comparado com os test values na primeira condio CASE. Se a comparao for verdadeira, as instrues associadas so executadas. Aps isso, a execuo do programa continua com a instruo aps ENDTEST. Se a primeira condio CASE no for satisfeita, outras condies CASE so testadas, e assim por diante. Se nenhuma das condies for satisfeita, as instrues associadas com DEFAULT so executadas (se isto estiver presente).

Data Types do Sistema e Rotinas

2-TEST-375

TEST

Instrues

Sintaxe
(EBNF) TEST <expresso> {( CASE <valor teste> { , <valor teste> } : <lista de instruo> ) | <CSE> } [ DEFAULT : <lista de instruo> ] ENDTEST <valor teste> ::= <expresso>

Informaes relacionadas
Descrito em: Expresses Caractersticas Bsicas - Expresses

2-TEST-376

Data Types do Sistema e Rotinas

Instrues

MoveL

TestSign

Sada dos sinais de teste

TestSign utilizado quando necessrio ter a sada dos sinais de teste no sistema do rob. Espelhamento dos sinais de teste, ou seja, o ngulo do resolver para um eixo. O sinal de teste uma sada analgica para um dos dois pontos de conexo de sada de teste. Os sinais de teste do rob mestre no podem ser alcanados.

Exemplo
TestSign 1, resolver_angle, Orbit, 2, 4, 0; O ponto de conexo 1 do sinal de teste fornecer o valor do resolver_angle (ngulo do resolver) para o Eixo orbital 2, escalado 4 vezes o valor nominal e amostrado na taxa mxima (indicada por 0).

Argumentos TestSign
Output

Output SignalId MechUnit Axis Scale Stime


Tipo de dados: num

Esse argumento especifica em qual dos dois pontos de conexo de sada o sinal de teste estar disponvel. Os valores possveis so 1 e 2. SignalId O Nome do sinal de teste a ser enviado para a sada. MechUnit (Unidade mecnica) Tipo de dados: mecunit Tipo de dados: testsignal

Argumento que contm o nome da unidade mecnica da qual recuperar o sinal de teste. Axis Tipo de dados: num Argumento que contm o nmero do eixo da unidade mecnica da qual recuperar o sinal de teste. Scale Tipo de dados: num O fator de escala da sada. Os valores possveis so 1, 2, 4, 8, 16 e assim por diante.

Data Types do Sistema e Rotinas

2-MoveL-377

MoveL
Stime (Tempo de amostragem)

Instrues
Tipo de dados: num

Tempo de amostragem, em segundos. O sinal de sada atualizado com um novo valor a cada amostra. O valor igual a 1 atualiza a sada uma vez por segundo e um valor igual a 0 faz a atualizao com a maior freqncia possvel. O valor 0,01 corresponde a uma amostragem de 100 vezes por segundo.

Execuo do programa
A instruo TestSign espelha um sinal no sistema do rob para uma sada. O espelhamento de um sinal de teste especificado fica ativo at que uma nova instruo TestSign seja executada para a sada. Uma partida a quente do sistema do rob remove os sinais de teste ativados no momento.

Tratamento de erros
Se houver um erro no parmetro MechUnit, o parmetro do sistema ERRNO ser definido como ERR_UNIT_PAR. Se houver um erro no parmetro Axis, ERRNO ser definido como ERR_AXIS_PAR.

Sintaxe
TestSign [ Output := ] < expresso (IN) de num> , [ SignalId := ] < expresso (IN) de testsignal> [ MechUnit := ] < varivel (VAR) de mecunit> , [Axis := ] < expresso (IN) de num> , [ Scale := ] < expresso (IN) de num > , [ Stime := ] < expresso (IN) de num> ;

2-MoveL-378

Data Types do Sistema e Rotinas

Instrues

TPErase

TPErase Apaga texto impresso na unidade de programao


TPErase (Teach Pendant Erase) usado para limpar o display da unidade de programao.

Exemplo
TPErase; TPWrite "Execuo iniciada"; O display da unidade de programao apagado antes da Execuo iniciada ser escrita.

Execuo do programa
Todo o texto do display da unidade de programao apagado. Na prxima vez que o texto for escrito, ele ser colocado na linha mais alta do display.

Sintaxe
TPErase;

Informaes relacionadas
Descrito em: Escrevendo na unidade de programao Sumrio RAPID - Comunicao

Data Types do Sistema e Rotinas

2-TPErase-379

TPErase

Instrues

2-TPErase-380

Data Types do Sistema e Rotinas

Instrues

TPReadFK

TPReadFK

L teclas de funo

TPReadFK (Teach Pendant Read Function Key) usado para escrever um texto acima das teclas de funo e para descobrir qual tecla est pressionada.

Exemplo
TPReadFK reg1, "Mais ?", stEmpty, stEmpty, stEmpty, "Sim", "No"; O texto Mais ? escrito no display da unidadede programao e as teclas de funo 4 e 5 so ativadas por meio de textos Sim e No respectivamente (veja Figura 22). A execuo do programa espera at que uma das teclas de funo 4 ou 5 seja pressionada. Em outras palavras, reg1 ser fixado em 4 ou 5 dependendo de qual das teclas for pressionada.
Mais?

Sim

No

Figura 22 O operador pode colocar a informao via as teclas de funo.

Argumentos TPReadFK Answer Text FK1 FK2 FK3 FK4 FK5 [\MaxTime] [\DIBreak] [\BreakFlag]
Answer DataType: num

A varivel para qual, dependendo de qual tecla for pressionada, o valor numrico 1..5 retornado. Se a tecla de funo 1 for pressionada, 1 retornado, eassim por diante. Text DataType: string O texto de informao a ser escrito no ecr (um mximo de 80 caracteres). FKx (Function key text) DataType: string

O texto a ser escrito como uma orientao para a apropriada tecla de funo (um mximo de 7 caractres). FK1 a tecla do canto esquerdo. Teclas de funo sem pontos so especificadas pela constante string predefinida stEmpty com valor string vazio ().

Data Types do Sistema e Rotinas

2-TPReadFK-381

TPReadFK
[\MaxTime]

Instrues
DataType: num

A mxima quantidade de tempo [s] que a execuo do programa espera. Se uma tecla de funo no for pressionada, o programa executa o tratamento de erro a menos que o BreakFlag seja usado (veja abaixo). Use a constante ERR_TP_MAXTIME para testar se o tempo mximo foi transcorrido. [\DIBreak] (Digital Input Break) DataType: signaldi

O sinal digital que pode interromper o dilogo do operador. Se nenhuma tecla de funo for pressionada quando o sinal for setado em 1 (ou j 1), o programa continua a executar no tratamento de erro, a menos que seja usado o BreakFlag (veja abaixo). A constante ERR_TP_DIBREAK pode ser usada para testar se isto ocorreu ou no. [\BreakFlag] DataType: errnum

A varivel que ir manter o cdigo de erro se maxtime ou dibreak for usado. Se esta varivel opcional for omitida, o tratamento de erro ser executado. As constantes ERR_TP_MAXTIME e ERR_TP_ DIBREAK podem ser usadas para escolher a causa.

Execuo do programa
O texto de informao sempre escrito numa linha nova. Se o display est completo com texto, o corpo do texto movido uma linha para cima. Textos maiores que a largura da unidade de programao (40 caracteres) so divididos em duas linhas. Textos-curtos so escritos acima das teclas de funo apropriadas. Teclas sem textoscurtos so desativadas. A execuo do programa espera at que uma das teclas de funo ativadas sejam pressionada. Descrio de pedido TPReadFK ou TPReadNum coincidente na unidade de programao (pedido TP) a partir da mesma ou de outra tarefa de programa: Novo pedido TP de outra tarefa de programa no ser focalizado (novo colocado em fila de espera) Novo pedido TP de TRAP na mesma tarefa de programa ser focalizado (antigo colocado em fila de espera) Parada de programa ser focalizada (antiga colocado em fila de espera) Novo pedido TP em parada de programa ser focalizado (antigo colocado em fila de espera)

Exemplo
VAR errnum errvar;

2-TPReadFK-382

Data Types do Sistema e Rotinas

Instrues

TPReadFK

... TPReadFK reg1, "Vai para a posio de servio?" stEmpty, stEmpty, stEmpty, "Sim", "No" \MaxTime:= 600 \DIBreak:= di5\BreakFlag:= errvar; IF reg1 = 4 or OR errvar = ERR_TP_DIBREAK THEN MoveL service, v500, fine, tool1; Stop; ENDIF IF errvar = ERR_TP_MAXTIME EXIT; O rob movido para a posio de servio se a quarta tecla de funo ("Sim") for pressionada, ou se a entrada 5 for ativada. Se nenhuma resposta for dada dentro de 10 minutos, a execuo terminada. Dados predifinidos CONST string stEmpty := A constante predifinida stEmpty dever ser usada para Teclas de Funo sem pontos. Usando stEmpty em vez de guarda cerca de 80 bytes para cada Tecla de Funo sem pontos.

Sintaxe
TPReadFK [Answer:=] <var ou pers (INOUT) do num>, [Text:=] <expresso (IN) do string>, [FK1 :=] <expresso (IN) do string>, [FK2 :=] <expresso (IN) do string>, [FK3 :=] <expresso (IN) do string>, [FK4 :=] <expresso (IN) do string>, [FK5 :=] <expresso (IN) do string> [\MaxTime := <expresso (IN) do num>] [\DIBreak := <varivel (VAR) do signaldi>] [\BreakFlag := <var ou pers (INOUT) do errnum>];

Informaes relacionadas
Descritas em: Escrevendo ou lendo na unidade de programao Respondendo via unidade de programao Sumrio RAPID - Comunicao Produo rodando

Data Types do Sistema e Rotinas

2-TPReadFK-383

TPReadFK

Instrues

2-TPReadFK-384

Data Types do Sistema e Rotinas

Instrues

TPReadNum

TPReadNum L um nmero da unidade de programao


TPReadNum (Teach Pendant Read Numerical) usado para ler um nmero da unidade de programao.

Exemplo
TPReadNum reg1, Quantas unidades devem ser produzidas?; O texto Quantas unidades devem ser produzidas? escrito no display da unidade de programao. A execuo do programa espera at que um nmero seja informado pelo teclado numrico da unidade de programao. Aquele nmero guardado em reg1.

Argumentos TPReadNum Answer String [\MaxTime] [\DIBreak] [\BreakFlag]


Answer DataType: num

A varivel para que o nmero que entra via unidade de programao seja retornado. String DataType: string

O texto de informao a ser escrito na unidade de programao (um mximo de 80 caractres). [\MaxTime] DataType: num

A quantidade mxima de tempo que a execuo do programa espera. Se nenhum nmero for colocado dentro deste tempo, o programa continua a executar no tratamento de erro a menos que o BreakFlag seja usado (veja abaixo). A constante ERR_TP_MAXTIME pode ser usada para testar se o tempo mximo foi ou no transcorrido. [\DIBreak] (Digital Input Break) DataType: signaldi

O sinal digital que pode interromper o dilogo com o operador. Se nenhum nmero for inserido quando o sinal setado para 1 (ou j est em 1), o programa continua a execuo no tratamento de erro a menos que o BreakFlag seja usado (veja abaixo). A constante ERR_TP_DIBREAK pode ser usada para testar se isto ocorreu ou no. [\BreakFlag] DataType: errnum

A varivel que ir manter o cdigo de erro se o maxtime ou dibreak for

Data Types do Sistema e Rotinas

2-TPReadNum-385

TPReadNum

Instrues

usado. Se esta varivel opcional for omitida, o tratamento de erro ser executado. As constantes ERR_TP_MAXTIME e ERR_TP_ DIBREAK podem ser usadas para selecionar a causa.

Execuo do programa
O texto de informao sempre escrito numa linha nova. Se o display est completo com o corpo do texto, movido uma linha para cima. Textos maiores que a largura da unidade de programao (40 caracteres) so divididos em duas linhas. A execuo do programa espera at que um nmero sejam escrito no teclado numrico (seguido de Enter ou OK). Referncia a TPReadFK sobre a descrio do pedido TPReadFK ou TPReadNum coincidente na unidade de programao a partir da mesma ou de outra tarefa de programa.

Exemplo
TPReadNum reg1, Quantas unidades devem ser produzidas?; FOR i FROM 1 TO reg1 DO produce_part; ENDFOR O texto Quantas unidades devem ser produzidas? escrito no display da unidade de programao. A rotina produce_part ento repetida o nmero de vezes que foi informada via unidade de programao.

Sintaxe
TPReadNum [Answer:=] <var ou pers (INOUT) do num>, [String:=] <expresso (IN) do string> [\MaxTime := <expresso (IN) do num>] [\DIBreak := <varivel (VAR) do signaldi>] [\BreakFlag := <var ou pers (INOUT) do errnum>] ;

2-TPReadNum-386

Data Types do Sistema e Rotinas

Instrues

TPReadNum

Informaes relacionadas
Descrito em: Escrevendo e lendo na unidade de programao Entrando com um nmero na unidade de programao Exemplos de como usar os argumentos MaxTime, DIBreak e BreakFlag Sumrio RAPID - Comunicao Produo rodando Instrues - TPReadFK

Data Types do Sistema e Rotinas

2-TPReadNum-387

TPReadNum

Instrues

2-TPReadNum-388

Data Types do Sistema e Rotinas

Instrues

TPShow

TPShowTrocar janela na unidade de programao


TPShow (Teach Pendant Show) usado para selecionar a Janela da Unidade de Programao no RAPID.

Exemplos
TPShow TP_PROGRAM; A Janela de Produo ficar ativa se o sistema estiver no modo AUTO e a Janela do Programa ficar ativa se o sistema estiver no modo MAN aps a execuo esta instruo. TPShow TP_LATEST; A ltima janela da unidade de programao usada antes da janela da unidade de programao atual ficar ativa aps a execuo desta instruo.

Argumentos TPShow
Window A janela a ser exibida: TP_PROGRAM TP_LATEST TP_SCREENVIEWER = Janela de Produo se em modo AUTO. Janela do Programa se em modo MAN. = ltima janela da unidade de programao usada antes da janela atual = Janela do visualizador de tela, se a opo Visualizador de tela estiver ativa.

Window
Data type: tpnum

Dados predefinidos
CONST tpnum TP_PROGRAM := 1; CONST tpnum TP_LATEST := 2; CONST tpnum TP_SCREENVIEWER := 3;

Manual de Referncia do RAPID

8-TPShow-389

TPShow

Instrues

Execuo do programa
A janela da unidade de programao selecionada ficar ativada.

Sintaxe
TPShow [Window:=] <expression (IN) of tpnum> ;

Informaes relacionadas
Descrito em: Comunicar usando a unidade de programao Sumrio RAPID - Comunicao

Nmero da janela da unidade de programao Tipos de dados - tpnum

8-TPShow-390

Manual de Referncia do RAPID

Instrues

TPWrite

TPWrite

Escreve na unidade de programao

TPWrite (Teach Pendant Write) usado para escrever um texto na unidade de programao. Tambm pode ser escrito um valor de um certo dado.

Exemplos
TPWrite "Execuo iniciou"; O texto Execuo iniciada escrito na unidade de programao. TPWrite "N de peas produzidas="\Num:=reg1; Se, por exemplo, a resposta para No. de peas produzidas=5, entra 5 em vez de reg1 na unidade de programao.

Argumentos TPWrite
String O texto a ser escrito (um mximo de 80 caractres). [\Num] (Numeric) DataType: num

String [\Num] | [\Bool] | [\Pos] | [\Orient]


DataType: string

O dado cujo valor numrico deve ser escrito depois do texto. [\Bool] (Boolean) DataType: bool

O dado cujo valor lgico deve ser escrito depois do texto. [\Pos] (Position) DataType: pos

O dado cuja posio deve ser escrito depois do texto. [\Orient] (Orientation) DataType: orient

O dado cuja orientao deve ser escrito depois do texto.

Execuo do programa
Texto escrito na unidade de programao sempre comea numa nova linha. Quando o display est completo com texto, este texto movido uma linha para cima. Textos que so maiores que a largura da unidade de programao (40 caractres) so divididos em duas linhas.

Data Types do Sistema e Rotinas

2-TPWrite-391

TPWrite

Instrues
Se um dos argumentos \Num, \Bool, \Pos ou \Orient for usado, seu valor primeiramente convertido em um texto antes que seja adicionado ao primeiro texto. A converso de valor para texto ocorre como segue: Argumento \Num \Num \Bool \Pos \Orient Valor 23 1.141367 TRUE [1817.3,905.17,879.11] [0.96593,0,0.25882,0] Texto "23" "1.14137" "TRUE" "[1817.3,905.17,879.11]" "[0.96593,0,0.25882,0]"

O valor convertido em um string com formato RAPID padro. Isso significa em princpio 6 dgitos importantess. Se a parte decimal menor que 0.000005 ou maior que 0.999995, o nmero arredondado para um inteiro.

Limitaes
Os argumentos \Num, \Bool, \Pos e \Orient so mutuamente exclusivos e portanto no podem ser usados simultanemente na mesma instruo.

Sintaxe
TPWrite [String:=] <expresso (IN) do string> [\Num:= <expresso (IN) do num> ] | [\Bool:= <expresso (IN) do bool> ] | [\Pos:= <expresso (IN) do pos> ] | [\Orient:= <expresso (IN) do orient> ];

Informaes relacionadas
Descrito em: Apagando e lendo a unidade de programao Sumrio RAPID - Comunicao

2-TPWrite-392

Data Types do Sistema e Rotinas

Instrues

TriggC

TriggC Movimento circular do rob com eventos


TriggC (Trigg Circular) usado para ligar sinais de sada e/ou rodar rotinas de interrupo em posies fixas, ao mesmo tempo que o rob se move em uma trajetria circular. Um ou mais (mx. 4) eventos podem ser definidos usando a instrues TriggIO, TriggEquip ou TriggInt e posteriormente estas definies que so referenciadas na instruo TriggC.

Exemplos
VAR triggdata gunon; TriggIO gunon, 0 \Start \DOp:=gun, on; MoveL p1, v500, z50, gun1; TriggC p2, p3, v500, gunon, fine, gun1; O sinal de sada digital gun ligado quando o TCP do rob passa o ponto mdio do trajeto de canto do ponto p1.
TriggC p2, p3, v500,gunon, fine, gun1;

Ponto inicial p1

Ponto final p3

Ponto de crculo p2 O sinal de sada gun colocado em on quando o TCP do rob est aqui Figura 23 Exemplo de uma posio fixada por um evento de E/S.

Argumentos TriggC
[ \Conc ]

[\Conc] CirPoint ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4] Zone Tool [ \WObj ] [ \Corr ]
(Concurrent) Data type: switch

As instrues subsequentes so executadas imeditamente. Este argumento usado para diminuir o tempo de ciclo quando, por exemplo, comunicar com equipamento externo e quando no necessria sincronizao. Tambm pode ser usado para ajustar a execuo da trajetria do rob, para evitar avisos no trajeto de escanteio 50024, ou falhas do limite de Desacelerao 40082. Quando usar o argumento \Conc, o nmero de instrues de movimento em sucesso a limitado a 5. Numa seco de programa que inclua StorePath.Resto-

Data Types do Sistema e Rotinas

2-TriggC-393

TriggC

Instrues
Path, no so permitidas instrues de movimento com o argumento \Conc. Se este argumento for omitido e ToPoint no for um ponto de parada, a instruo subsequente s executada depois do rob ter alcanado a zona programada. CirPoint DataType: robtarget

O ponto do crculo do rob. Veja a instruo MoveC para uma descrio mais detalhada do movimento circular. O ponto do crculo definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo). ToPoint DataType: robtarget

O ponto de destino do rob e eixos externos. Ele definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo). Speed DataType: speeddata

O dado de velocidade que se aplica aos movimentos. O dado de velocidade define a velocidade do TCP, a reorientao da ferramenta e eixos externos. [ \T ] (Time) DataType: num

Este argumento usado para especificar o tempo total em segundos durante o qual o rob se move. Ele ento substitudo pelo correspondente dado de velocidade. Trigg_1 DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO, TriggEquip ou TriggInt. [ \T2] (Trigg 2) DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO, TriggEquip ou TriggInt. [ \T3 ] (Trigg 3) DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO, TriggEquip ou TriggInt. [ \T4 ] (Trigg 4) DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO, TriggEquip ou TriggInt.

2-TriggC-394

Data Types do Sistema e Rotinas

Instrues
Zone

TriggC
DataType: zonedata Dados de zona para o movimento. Os dados de zona descrevem a dimenso do trajeto de escanteio criada.

Tool

DataType: tooldata A ferramenta em uso quando o rob se move. O ponto central de ferramenta o ponto que movido para o ponto de destino especificado.

[ \WObj]

(Work Object)

DataType: wobjdata

O objeto de trabalho (sistema de coordenada) em que a posio do rob na instruo est relacionada. Este argumento pode ser omitido, e se for a posio relacionada com o sistema de coordenada mundial. Se, por outro lado, o TCP estacionrio ou coordenadas de eixos externos forem usadas, este argumento deve ser especificado para um movimento linear relativo ao objeto de trabalho a ser realizado. [ \Corr] (Correction) Data type: switch

Dados de correo escritos em uma entrada de correes pela instruo CorrWrite sero acrescentados no trajeto e na posio de destino, se este argumento estiver presente.

Execuo do programa
Veja a instruo MoveC para informao sobre movimento circular. As atividades de gatilho definidas so realizadas, to logo as condies de gatilho forem satisfeitas, quando o rob estiver posicionado cada vez mais perto do ponto final,. As condies de gatilho so satisfeitas a uma certa distncia antes do ponto final da instruo, ou a uma certa distncia depois do ponto inicial da instruo, ou em um certo ponto no tempo (limitado a um curto tempo) antes do ponto final da instruo. Durante a execuo passo-a-passo para frente, as atividades E/S so realizadas mas as rotinas de interrupo no rodam. Durante a execuo passo-a-passo para trs, nenhuma atividade de gatilho realizada.

Exemplos
VAR intnum intno1; VAR triggdata trigg1; ... CONNECT intno1 WITH trap1; TriggInt trigg1, 0.1 \Time, intno1; ... TriggC p1, p2, v500, trigg1, fine, gun1; TriggC p3, p4, v500, trigg1, fine, gun1; Data Types do Sistema e Rotinas 2-TriggC-395

TriggC
... IDelete intno1;

Instrues

A rotina de interrupo trap1 roda quando o ponto de trabalho est numa posio 0.1 s antes do ponto p2 ou p4 respectivamente.

Limitaes
Se o ponto de partida atual se desviar do normal, de modo a que o comprimento total de posicionamento da instruo TriggC seja menor do que o usual, pode acontecer que algumas ou todas as condies trigger sejam cumpridas imediatamente e na mesma posio. Nestes casos, a sequncia na qual as actividades trigger so executadas no ser definida. A lgica do programa no programa do usurio no pode estar baseada numa sequncia normal de atividades de gatilho para um movimento incompleto. A instruo TriggC nunca deve ser reiniciada aps o ponto de crculo j ter passado. Caso contrrio o rob no far a trajetria programada (posicionamento em torno de uma trajetria circular executar em outra direo quando comparada com aquela programada).

Sintaxe
TriggC [\ Conc ,] [ CirPoint := ] < expresso (IN) do robtarget > , [ ToPoint := ] < expresso (IN) do robtarget > , [ Speed := ] < expresso (IN) do speeddata > [ \ T := < expresso (IN) do num > ] , [Trigg_1 := ] < varivel (VAR) do triggdata > [ \ T2 := < varivel (VAR) do triggdata > ] [ \ T3 := < varivel (VAR) do triggdata > ] [ \ T4 := < varivel (VAR) do triggdata > ] , [Zone := ] < expresso (IN) do zonedata > , [ Tool := ] < persistente (PERS) do tooldata > [ \ WObj := < persistente (PERS) do wobjdata > ] [ \ Corr ];

2-TriggC-396

Data Types do Sistema e Rotinas

Instrues

TriggC

Informaes relacionadas
Descrito em: Movimento linear com gatilhos Movimento eixo a eixo com gatilhos Definio de gatilhos Escrever em uma entrada de correes Movimento circular Instrues - TriggL Instrues - TriggJ Instrues - TriggIO, TriggEquip, TriggInt Instrues - CorrWrite Princpios de movimento Posicionamento na execuo do programa DataTypes - speeddata DataTypes - tooldata DataTypes - wobjdata Princpios de movimento

Definio de velocidade Definio de ferramenta Definio de objeto de trabalho Movimentao em geral

Data Types do Sistema e Rotinas

2-TriggC-397

TriggC

Instrues

2-TriggC-398

Data Types do Sistema e Rotinas

Instrues

TriggEquip

TriggEquip

Define uma posio-tempo fixo por um evento de E/S

TriggEquip (Trigg Equipment) usada para definir condies e aes para setar um sinal digital, um grupo de sinais digital, ou um sinal de sada analgica numa posio fixada ao longo da trajetria de movimento do rob com a possibilidade de fazer compensar tempo no atraso do equipamento externo. O dado definido usado para implementar em uma ou mais instrues subsequentes TriggL, TriggC ou TriggJ.

Exemplos
VAR triggdata gunon; TriggEquip gunon, 10, 0.1 \DOp:=gun, 1; TriggL p1, v500, gunon, z50, gun1; A ferramenta gun1 abre no ponto p2, quando o TCP est 10 mm antes do ponto p1. Para alcanar isto, o sinal de sada digital gun setado para o valor 1, quando o TCP est 0.1 s antes do ponto p2. A pina est completamente aberta quando o TCP alcana o ponto p2.

Ponto inicial

TriggL p1, v500, gunon, z50, gun1;

Ponto final p1

10 mm
Ponto p2 para abertura da pina

Figura 24 Exemplo de uma posio-tempo fixada por um evento de E/S.

Argumentos TriggEquip TriggData Distance [ \Start ] EquipLag [ \DOp ] | [ \GOp ] | [\AOp ] SetValue [ \Inhib ]
TriggData Data type: triggdata

Varivel para salvar o triggdata retornado desta instruo. Estes triggdata so usados nas instrues subsequentes TriggL, TriggC or TriggJ. Distance Data type: num

Define a posio na trajetria onde o evento de equipamento E/S pode ocorrer. Manual de Referncia do RAPID 8-TriggEquip-399

TriggEquip

Instrues
Especificado a distncia em mm (valor positivo) do ponto final da trajetria do movimento (aplicvel se o argumento \ Start no est setado). Para maiores detalhes, veja a seo entitulada Execuo do Programa.

[ \Start ]

Data type: switch

Usado quando a distncia para o argumento Distance inicia o movimento pelo ponto de partida ao invs do ponto final. EquipLag (Equipment Lag) Data type: num

Especifique o atraso para o equipamento externo em s. Para compensao do atraso do equipamento externo, use valores de argumentos positivos . Valores de argumentos positivos significam que o sinal de E/S setado pelo sistema do rob num tempo especfico antes de o TCP fsico alcanar a distncia especfica em relao ao nicio do movimento ou ao ponto final. Valores de argumentos negativos significam que o sinal de E/S setado pelo sistema do rob num tempo especfico aps o TCP fsico ter passado a distncia especfica em relao ao nicio do movimento ou ao ponto final.

Ponto inicial Distncia \Start Distncia

Ponto final

EquipLag Figura 25 Uso do argumento EquipLag.

[ \DOp ]

(Digital OutPut)

Data type: signaldo

O nome do sinal, quando o sinal de sada digital pode ser mudado. [ \GOp ] (Group OutPut) Data type: signalgo

O nome do sinal, quando um grupo de sinais de sada digital pode ser mudado. [ \AOp ] (Analog Output) Data type: signalao

O nome do sinal, quando um sinal de sada analgico pode ser mudado. SetValue Data type: num

Valor desejado do sinal de sada (dentro da escala permitida para o atual sinal).

8-TriggEquip-400

Manual de Referncia do RAPID

Instrues
[ \Inhib ] (Inhibit)

TriggEquip
Data type: bool

O nome de uma flag varivel persistente para impedir o setting do sinal em tempo de execuo. Se este argumento opcional usado e o valor atual da flag especfica for TRUE na posio-tempo para definio do sinal ento o sinal especficado (DOp, GOp or AOp) setado para 0 invs do valor especficado.

Execuo do programa
Quando rodando a instruo TriggEquip, a condio de gatilho guardada numa varivel especificada para o argumento TriggData. Quando uma das instrues TriggL, TriggC ou TriggJ executada, o seguinte aplicado, em relao s definies em TriggEquip: A distncia especificada no argumento Distance: Movimento linear Movimento circular Movimento no-linear A distncia em linha reta O comprimento do arco do crculo O comprimento aproximado do arco ao longo da trajetria (para obter a preciso adequada, a distncia no deve exceder a metade do comprimento do arco).
Ponto final com trajeto de canto

Se a Distance 0, o sinal de sada setado quando o TCP do rob est aqui

Figura 26 Posio-tempo fixado de E/S num trajeto de canto.

A interrupo de posio-tempo relacionada ser gerada quando o ponto inicial (ponto final) j passou, se a distncia especificada do ponto final (ponto inicial) no est dentro do comprimento do movimento da atual instruo (Trigg...). Com o uso do argumento EquipLag com tempo negativo (atraso), o sinal E/S pode ser setado aps o ponto final.

Exemplos
VAR triggdata glueflow; TriggEquip glueflow, 1 \Start, 0.05 \AOp:=glue, 5.3; MoveJ p1, v1000, z50, tool1;

Manual de Referncia do RAPID

8-TriggEquip-401

TriggEquip
TriggL p2, v500, glueflow, z50, tool1;

Instrues

O sinal de sada analgico glue setado no valor 5.3 quando o ponto de trabalho passa num ponto localizado 1 mm aps o ponto inicial p1 com compensao para o atraso do equipamento de 0.05 s. ... TriggL p3, v500, glueflow, z50, tool1; O sinal de sada analgico glue setado mais uma vez no valor 5.3 quando o ponto de trabalho passa num ponto localizado 1 mm aps o ponto inicial p2.

Limitaes
Eventos de E/S distncia (com o argumento \Time) se destinam a pontos flutuantes (trajeto de canto). Eventos de E/S distncia usando pontos de parada resultam em menor preciso do que a especificada abaixo. Relativamente a preciso para eventos de E/S distncia e usando pontos flutuantes, se aplica o seguinte, quando se ajusta uma sada digital a uma distncia especificada a partir do ponto inicial ou do ponto final na instruo TriggL ou TriggC: - A preciso especificada abaixo vlida para o parmetro positivo EquipLag < 60 ms, equivalente ao intervalo de tempo no servo do rob (sem alterar o parmetro do sistema Event Preset Time). - A preciso especificada abaixo vlida para o parmetro positivo EquipLag < configurado Event Preset Time (parmetro do sistema). - A preciso especificada abaixono vlida para o parmetro positivo EquipLag > configurado Event Preset Time (parmetro do sistema).Neste caso, se usa um mtodo aproximado no qual as limitaes dinmicas do rob no so consideradas. SingArea \Wrist deve ser usado de modo a se atingir uma preciso aceitvel. - A preciso especificada abaixo vlida para o parmetro negativo EquipLag. Eventos de E/S com ajuste de tempo (com o argumento \Time) se destina a pontos de parada. Eventos de E/S com ajuste de tempo usando pontos flutuantes resulta em menor preciso do que a especificada abaixo. Eventos de E/S com ajuste de tempo somente podem ser especificados a partir do ponto final do movimento. Esse tempo no pode exceder o tempo atual de frenagem do rob, que , no mximo, aproximadamente 0.5 s (valores tpicos velocidade de 500 mm/s para o IRB2400 de 150 ms e de 250 ms para o IRB6400). Se o t empo especificado for superior ao tempo atual de frenagem, o evento ser gerado de qualquer modo, mas no antes de ser iniciada a frenagem (mais tarde do que especificado). Entretanto, todo o tempo do movimento para o movimento atual pode ser utilizado durante movimentos pequenos e rpidos. Valores tpicos absolutos de preciso para conjunto de sadas digitais +/- 5 ms. Valores tpicos repetidos de preciso para conjunto de sadas digitais +/- 2 ms.

8-TriggEquip-402

Manual de Referncia do RAPID

Instrues

TriggEquip

Sintaxe
TriggEquip [ TriggData := ] < varivel (VAR) de triggdata> , [ Distance := ] < expresso (IN) de num> [ \ Start ] , [ EquipLag := ] < expresso (IN) de num> [ \ DOp := < varivel (VAR) de signaldo> ] | [ \ GOp := < varivel (VAR) de signalgo> ] | [ \ AOp := < varivel (VAR) de signalao> ] , [ SetValue := ] < expresso (IN) de num> [ \ Inhibit := < persistente (PERS) de bool> ] ,

Informaes relacionadas
Descrito em: Uso dos gatilhos Definio de outros triggs Mais exemplos Ligao de E/S Configurao do tempo pr-definido do evento Instrues - TriggL, TriggC, TriggJ Instrues - TriggIO, TriggInt Data Types - triggdata Instrues - SetDO, SetGO, SetAO Parmetros do sistema - Rob

Manual de Referncia do RAPID

8-TriggEquip-403

TriggEquip

Instrues

8-TriggEquip-404

Manual de Referncia do RAPID

Instrues

TriggInt

TriggInt Define uma posio relacionada interrupo


TriggInt usado para definir condies e aes para a execuo de uma rotina de interrupo de uma posio no movimento de trajetria do rob. O dado definido usado para implementar em uma ou mais instrues TriggL, TriggC ou TriggJ.

Exemplos
VAR intnum intno1; VAR triggdata trigg1; ... CONNECT intno1 WITH trap1; TriggInt trigg1, 5, intno1; ... TriggL p1, v500, trigg1, z50, gun1; TriggL p2, v500, trigg1, z50, gun1; ... IDelete intno1; A rotina de interrupo trap1 executada quando o TCP est numa posio de 5 mm antes do ponto p1 ou p2 respectivamente.

Ponto inicial

TriggL p1, v500, trigg1, fine, gun1;

Ponto final p1 ou p2

5 mm
A interrupo gerada quando o ponto est aqui Figura 27 Exemplo posio de interrupo relacionada.

Argumentos TriggInt TriggData Distance [ \Start ] | [ \Time ] Interrupt


TriggData DataType: triggdata

Varivel para guardar o triggdata retornado desta instruo. Estes triggdata so ento usados nas instrues TriggL, TriggC ou TriggJ subsequentes. Distance DataType: num

Define a posio na trajetria onde a interrupo deve ser gerada.

Data Types do Sistema e Rotinas

2-TriggInt-405

TriggInt

Instrues
Especifica a distncia em mm (valores positivos) do ponto final da trajetria do movimento (aplicvel se o argumento \ Start ou \Time no est ligado). Veja a seo entitulada Execuo do programa para maiores detalhes. [ \Start ] DataType: switch

Usado quando a distncia para o argumento Distance inicia o movimento pelo ponto de partida ao invs do ponto final. [ \Time ] DataType: switch

Usado quando o valor especificado para o argumento Distance na verdade tempo em segundos (valor positivo) ao invs de distncia. Interrupes de posies relacionadas no tempo somente podem ser usadas por pouco tempo (< 1 s) antes que o rob alcance o ponto final da instruo. Veja a seo entitulada Limitaes para maiores detalhes. Interrupt Varivel usada para identificar uma interrupo. DataType: intnum

Execuo do programa
Quando rodando a instruo TriggInt, dado guardado numa varivel especificada para o argumento TriggData e a interrupo que especificada na varivel para o argumento Interrupt ativada. Depois, quando uma das instrues TriggL, TriggC ou TriggJ for executada, com relao as definies em TriggInt, aplicado o seguinte: A distncia especificada no argumento Distance: Movimento linear Movimento circular Movimento no-linear A distncia em linha reta O comprimento do arco do crculo O comprimento aproximado do arco ao longo da trajetria (para obter a preciso adequada, a distn cia no deve exceder a metade do comprimento do arco).
Ponto final com trajeto de canto Se a Distance 0,a interruo ser gerada quando o TCP do rob est aqui

Figura 28 Interrupo de posio relacionada num trajeto de canto.

2-TriggInt-406

Data Types do Sistema e Rotinas

Instrues

TriggInt

A interrupo de posio relacionada ser gerada quando o ponto inicial (ponto final) j passou, se a distncia especificada do ponto final (ponto inicial) no est dentro do comprimento do movimento da atual instruo (Trigg...).

Exemplos
Este exemplo descreve programao de instrues que interagem para gerar interrupes interrupo relacionada: VAR intnum intno2; VAR triggdata trigg2; - Declarao das variveis intno2 e trigg2 (no pode ser iniciado). CONNECT intno2 WITH trap2; - Destinao dos nmeros de interrupo que so guardados na varivel intno2 - O nmero de interruo dobrado para a rotina de interrupo trap2 TriggInt trigg2, 0, intno2; - O nmero de interruo na varivel intno2 marcado quando usado - A interrupo ativada - Condies de gatilhos definidas e nmero de interrupo so guardados na varivel trigg2 TriggL p1, v500, trigg2, z50, gun1; - O rob se move para o ponto p1. - Quando o TCP atinge o ponto p1 gerada um interrupo e a rotina de interrupo trap2 executada. TriggL p2, v500, trigg2, z50, gun1; - O rob se move para o ponto p2 - Quando o TCP atinge o ponto p2 gerada um interrupo e a rotina de interrupo trap2 executada mais uma vez. IDelete intno2; - O nmero de interrupo na varivel intno2 deletada.

Limitaes
Os passos de interrupo distncia (sem o argumento \Time) se destinam a pontos flutuantes (trajeto de canto). Os passos de interrupo distncia, usando pontos de parada, resultam em menor preciso do que a especificada abaixo.

Data Types do Sistema e Rotinas

2-TriggInt-407

TriggInt

Instrues
Os passos de interrupo em tempo til (com o argumento \Time) se destinam a pontos de parada. Estes passos, usando pontos flutuantes, resultam em menor preciso do que a especificada abaixo. Os passos de E/S em tempo til somente podem ser especificados a partir do ponto final do movimento. Este tempo no pode exceder o atual tempo de parada do rob, que , no mximo, aproximadamente 0.5 s (valores tpicos velocidade de 500mm/s, para o IRB 4400 150 ms e 250 ms para o IRB6400). Se o tempo especificado for maior que o tempo atual de parada, a interrupo ser gerada de qualquer modo, mas no antes que a parada seja iniciada (depois do especificado). Entretanto, o tempo completo do movimento para o atual movimento pode ser utilizado durante movimentos lentos ou rpidos. Valores tpicos absolutos de preciso para gerao de interrupes +/- 5 ms. Valores tpicos repetidos de preciso para gerao de interrupes +/- 2 ms. Geralmente, h um atraso de 5 a 120 ms entre a gerao da interrupo e a resposta, dependendo do tipo de movimento que est sendo executado no momento da interrupo. Veja Caractersticas Bsicas RAPID - Interrupes). Para obter a melhor preciso quando ligando a sada em uma posio fixa ao longo da trajetria do rob, voc deve usar as instrues TriggIO ou TriggEquip em preferncia s instrues TriggInt com SetDO/SetGO/SetAO em uma rotina de interrupo.

Sintaxe
TriggInt [ TriggData := ] < varivel (VAR) do triggdata> , [ Distance := ] < expresso (IN) do num> [ \ Start ] | [ \ Time ] , [ Interrupt := ] < varivel (VAR) do intnum> ;

Informaes relacionadas
Descrito em: Uso dos gatilhos Definio da posio fixa E/S Mais exemplos Interrupes Instrues - TriggL, TriggC, TriggJ Instrues - TriggIO DataTypes - triggdata Caractersticas Bsicas - Interrupes

2-TriggInt-408

Data Types do Sistema e Rotinas

Instrues

TriggIO

TriggIO Define uma posio fixada por um evento de E/S


TriggIO usado para definir as condies e as aces para ajustar um digital, um grupo de digitais, ou um sinal de sada analgico numa posio fixa na trajetria do movimento do rob. Para obter uma posio fixa no passo de E/S, TriggIO compensa o tempo de espera no sistema de controle (tempo de espera entre o rob e o servo) mas no um tempo de espera qualquer no equipamento externo. Para compensar os dois tempos de espera utilize TriggEquip. O dado definido usado para implementar em uma ou mais instrues subsequentes TriggL, TriggC ou TriggJ.

Exemplos
VAR triggdata gunon; TriggIO gunon, 10 \DOp:=gun, 1; TriggL p1, v500, gunon, z50, gun1; O sinal de sada digital gun ajustado para o valor 1 quando o TPC est 10 mm antes do ponto p1.

Ponto inicial

TriggL p1, v500, gunon, fine, gun1;

Ponto final p1

10 mm
O sinal de sada gun ligado quando o ponto est aqui
Figura 29 Exemplo de uma posio fixada por um evento de E/S.

Argumentos

TriggIO TriggData Distance [ \Start ] | [ \Time ] [ \DOp ] | [ \GOp ] | [\AOp ] | [\ProcID ] SetValue [ \DODelay ]
TriggData DataType: triggdata

Varivel para salvar o triggdata retornado desta instruo. Estes triggdata so ento usados nas instrues subsequentes TriggL, TriggC ou TriggJ.

Manual de Referncia do RAPID

8-TriggIO-409

TriggIO
Distance

Instrues
DataType: num

Define a posio na trajetria onde o evento E/S pode ocorrer. Especificado a distncia em mm (valores positivos) do ponto final da trajetria do movimento (aplicvel se o argumento \ Start ou \Time no est setado). Para maiores detalhes, veja a seo entitulada Execuo do Programa. [ \Start ] DataType: switch

Usado quando a distncia para o argumento Distance inicia o movimento pelo ponto de partida ao invs do ponto final. [ \Time ] DataType: switch

Usado quando o valor especificado para o argumento Distance na verdade tempo em segundos (valor positivo) ao invs de distncia. Posio fixada para tempo somente podem ser usadas por pouco tempo (< 0.5 s) antes que o rob alcance o ponto final da instruo. Para maiores detalhes, veja a seo entitulada Limitaes. [ \DOp ] (Digital OutPut) DataType: signaldo

O nome do sinal, quando o sinal de sada digital pode ser mudado. [ \GOp ] (Group OutPut) DataType: signalgo

O nome do sinal, quando um grupo de sinais de sada digital pode ser mudado. [ \AOp ] (Analog Output) DataType: signalao

O nome do sinal, quando um sinal de sada analgico pode ser mudado. [ \ProcID] (Process Identity) Data type: num

No implementado para uso do cliente. (A identidade do processo IPM para receber o evento. O seletor est especificado no argumento SetValue.) SetValue DataType: num

Valor desejado do sinal de sada (dentro da escala permitida para o atual sinal). [ \DODelay] (Digital Output Delay) DataType: num

Tempo de atraso em segundos (valor positivo) para um sinal de sada digital ou grupo de sinais de sada digital. Somente usado para atrasar os sinais de sada digital, depois que o rob alcanou a posio especificada. No haver atraso se o argumento for omitido. O atraso no sincronizado com o movimento. 8-TriggIO-410 Manual de Referncia do RAPID

Instrues

TriggIO

Execuo do programa
Quando rodando a instruo TriggIO, a condio de gatilho guardada numa varivel especificada para o argumento TriggData. Quando uma das instrues TriggL, TriggC ou TriggJ executada, em relao as definies em TriggIO, o seguinte aplicado: A distncia especificada no argumento Distance: Movimento linear Movimento circular Movimento no-linear A distncia em linha reta O comprimento do arco do crculo O comprimento aproximado do arco ao longo da trajetria (para obter a preciso adequada, a distn cia no deve exceder a metade do comprimento do arco).
Ponto final com trajeto de canto Se a Distance 0, o sinal de sada ligado quando o ponto de trabalho do rob est aqui

Figura 30 Posio fixado de E/S num trajeto de canto.

A posio fixa E/S ser produzida quando o ponto de partida (ponto final) correr, se a distncia especificada do ponto final (ponto de partida) no estiver includa no comprimento do movimento da instruo atual (Trigg...).

Exemplos
VAR triggdata glueflow; TriggIO glueflow, 1 \Start \AOp:=glue, 5.3; MoveJ p1, v1000, z50, tool1; TriggL p2, v500, glueflow, z50, tool1; O sinal de sada analgico glue setado no valor 5.3 quando o ponto de trabalho passa num ponto localizado 1 mm aps o ponto inicial p1. ... TriggL p3, v500, glueflow, z50, tool1; O sinal de sada analgico glue setado mais uma vez no valor 5.3 quando o ponto de trabalho passa num ponto localizado 1 mm aps o ponto inicial p2.

Manual de Referncia do RAPID

8-TriggIO-411

TriggIO

Instrues

Limitaes
Os passos E/S distncia (sem o argumento \Time) se destinam a pontos flutuantes (trajeto de canto). Os passos E/S distncia, usando pontos de parada, resultam em uma preciso menor que a especificada abaixo. Os passos E/S em tempo til (com o argumento \Time) se destinam a pontos de parada. Os passos E/S em tempo til, usando pontos flutuantes, resultam em uma preciso menor que a especificada abaixo. Estes passos s podem ser especificados a partir do ponto final do movimento. Este tempo no pode exceder o tempo de frenagem atual do rob que, no mximo, aproximadamente de 0,5 s (valores tpicos velocidade de 500 mm/s para o IRB2400 150 ms e de 250 ms para o IRB6400). Se o tempo especificado for superior ao tempo de frenagem atual, o passo ser de qualquer forma produzido, mas s depois da frenagem ser inicializada (mais tarde do que est especificado). No entanto, todo o tempo de movimento relativo ao movimento atual pode ser usado durante movimentos pequenos e rpidos. Valores tpicos absolutos de preciso para conjuntos de sadas digitais +/- 5 ms. Valores tpicos repetidos de preciso para conjuntos de sadas digitais +/- 2 ms.

Sintaxe
TriggIO [ TriggData := ] < varivel (VAR) do triggdata> , [ Distance := ] < expresso (IN) do num> [ \ Start ] | [ \ Time ] [ \ DOp := < varivel (VAR) do signaldo> ] | [ \ GOp := < varivel (VAR) do signalgo> ] | [ \ AOp := < varivel (VAR) do signalao> ] , | [ \ ProcID := < expresso (IN) do num> ] , [ SetValue := ] < expresso (IN) do num> [ \ DODelay := < expresso (IN) do num> ]

Informaes relacionadas
Descrito em: Uso dos gatilhos Definio do tempo-posio passo E/S Definio de interrupes de posio relacionada Mais exemplos Ligao de E/S Instrues - TriggL, TriggC, TriggJ Instruo - TriggEquip Instrues - TriggInt Tipos de dados - triggdata Instrues - SetDO, SetGO, SetAO

8-TriggIO-412

Manual de Referncia do RAPID

Instrues

TriggJ

TriggJ Movimentos dos eixos do rob com eventos


TriggJ (Trigg Joint) usado para ajustar sinais de sada e/ou rodar rotinas de interrupo em posies fixas, ao mesmo tempo que o rob se move rapidamente de um ponto ao outro quando este movimento no for em linha reta. Um ou mais (mx. 4) eventos podem ser definidos usando a instrues TriggIO, TriggEquip ou TriggInt e posteriormente destas definies que so referenciadas na instruo TriggJ.

Exemplos
VAR triggdata gunon; TriggIO gunon, 0 \Start \DOp:=gun, on; MoveL p1, v500, z50, gun1; TriggJ p2, v500, gunon, fine, gun1; O sinal de sada digital gun ligado quando o TCP do rob passa o ponto mdio do trajeto de canto do ponto p1.

Ponto inicial p1

TriggJ p2, v500,gunon, fine, gun1;

Ponto final p2

O sinal de sada gun colocado em on quando o TCP do rob est aqui Figura 31 Exemplo de uma posio fixada por um evento de E/S.

Argumentos TriggJ
ToPoint

ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4 ] Zone Tool [ \WObj ]


DataType: robtarget

O ponto de destino do rob e eixos externos. Ele definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo). Speed DataType: speeddata

O dado de velocidade que se aplica aos movimentos. O dado de velocidade define a velocidade do TCP, a reorientao da ferramenta e eixos externos.

Data Types do Sistema e Rotinas

2-TriggJ-413

TriggJ
[ \T ] (Time)

Instrues
DataType: num

Este argumento usado para especificar o tempo total em segundos durante o qual o rob se move. Ele ento substitudo pelo correspondente dado de velocidade. Trigg_1 DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO ou TriggInt. [ \T2] (Trigg 2) DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO ou TriggInt. [ \T3 ] (Trigg 3) DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO ou TriggInt. [ \T4 ] (Trigg 4) DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO ou TriggInt. Zone DataType: zonedata O dado de zona para o movimento. Dado de zona descreve o quo prximo ao ponto de destino os eixos devem estar antes que a prxima instruo possa ser executada. Tool DataType: tooldata A ferramenta em uso quando o rob se move. O ponto central de ferramenta o ponto que movido para o ponto de destino especificado. [ \WObj] (Work Object) DataType: wobjdata

O objeto de trabalho (sistema de coordenada) em que a posio do rob na instruo relacionada. Este argumento pode ser omitido, e se for a posio relacionada com o sistema de coordenada mundial. Se, por outro lado, o TCP estacionrio ou coordenadas de eixos externos forem usadas, este argumento deve ser especificado para um movimento linear relativo a um objeto de trabalho a ser executado.

2-TriggJ-414

Data Types do Sistema e Rotinas

Instrues

TriggJ

Execuo do programa
Veja a instruo MoveJ para informao sobre movimento eixo-a-eixo. To logo as atividades de gatilho definidas so realizadas, as condies de gatilho forem satisfeitas quando o rob estiver posicionado cada vez mais perto do ponto final, . As condies de gatilho so satisfeitas a uma certa distncia antes do ponto final da instruo, ou a uma certa distncia depois do ponto inicial da instruo, ou em um certo ponto no tempo (limitado a um curto tempo) antes do ponto final da instruo. Durante a execuo passo-a-passo para frente, as atividades E/S so realizadas mas as rotinas de interrupo no rodam. Durante a execuo passo-a-passo para trs, nenhuma atividade de gatilho realizada.

Exemplos
VAR intnum intno1; VAR triggdata trigg1; ... CONNECT intno1 WITH trap1; TriggInt trigg1, 0.1 \Time , intno1; ... TriggJ p1, v500, trigg1, fine, gun1; TriggJ p2, v500, trigg1, fine, gun1; ... IDelete intno1; A rotina de interrupo trap1 roda quando o ponto de trabalho est numa posio 0.1 s antes do ponto p1 ou p2 respectivamente.

Limitaes
Se o ponto de partida atual se desviar do normal, de forma a que o comprimento total do posicionamento da instruo TriggJ seja mais pequeno do que o usual (por exemplo, na inicializao de TriggJ com a posio do rob na ponta final), pode acontecer que algumas ou todas as condies trigger sejam imediatamente cumpridas e na mesma posio. Nestes casos, a sequncia na qual as actividades trigger so executadas no ser definida. A lgica do programa do usurio pode no estar baseada numa sequncia normal de atividades trigger para um "movimento incompleto".

Data Types do Sistema e Rotinas

2-TriggJ-415

TriggJ

Instrues

Sintaxe
TriggJ [\ Conc ,] [ ToPoint := ] < expresso (IN) do robtarget > , [ Speed := ] < expresso (IN) do speeddata > [ \ T := < expresso (IN) do num > ] , [Trigg_1 := ] < varivel (VAR) do triggdata > [ \ T2 := < varivel (VAR) do triggdata > ] [ \ T3 := < varivel (VAR) do triggdata > ] [ \ T4 := < varivel (VAR) do triggdata > ] , [Zone := ] < expresso (IN) do zonedata > , [ Tool := ] < persistente (PERS) do tooldata > [ \ WObj := < persistente (PERS) do wobjdata > ] ;

Informaes relacionadas
Descritas em: Movimento linear com gatilhos Movimento circular com gatilhos Definio de gatilhos Movimento eixo-a-eixo Instrues - TriggL Instrues - TriggC Instrues - TriggIO, TriggEquip ou TriggInt Princpios de Movimentao Posicionamento na execuo do programa Tipos de Dados - speeddata Tipos de Dados - tooldata Tipos de Dados - wobjdata Princpios de Movimentao

Definio de velocidade Definio de ferramentas Definio de objetos de trabalho Movimentao em geral

2-TriggJ-416

Data Types do Sistema e Rotinas

Instrues

TriggL

TriggL Movimentos lineares do rob com eventos


TriggL (Trigg Linear) usado para ligar sinais de sada e/ou rodar rotinas de interrupo em posies fixas, ao mesmo tempo que o rob faz um movimento linear. Um ou mais passos (4 no mximo) podem ser definidos usando as instrues TriggIO, TriggEquip ou TriggInt e, em seguida, estas definies encontram-se referidas na instruo TriggL.

Exemplos
VAR triggdata gunon; TriggIO gunon, 0 \Start \DOp:=gun, on; MoveJ p1, v500, z50, gun1; TriggL p2, v500, gunon, fine, gun1; O sinal de sada digital gun ligado quando o TCP do rob passa o ponto mdio do trajeto de canto do ponto p1.

Ponto inicial p1

TriggL p2, v500, gunon, fine, gun1;

Ponto final p2

O sinal de sada gun colocado em on quando o TCP do rob est aqui Figura 32 Exemplo de uma posio fixada por um evento de E/S.

Argumentos TriggL [\Conc] ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4 ] Zone Tool [ \WObj ] [ \Corr ]
[ \Conc ] (Concurrent) Data type: switch

As instrues lgicas subsequentes so executadas imediatamente. Este argumento usado para diminuir o tempo de ciclo quando, por exemplo, comunicar com o equipamento externo se a sincronizao no for requerida. Tambm pode ser usado para ajustar a execuo da trajetria do rob, para evitar avisos do trajeto de escanteio 50024, ou falhas de limite de Desacelerao 40082. Quando usar o argumento \Conc, o nmero de instrues de movimento em sucesso tem um limite de 5. Numa seco de programa que inclua StorePathRestoPath, no so permitidas instrues de movimento com o argumento \Conc.

Data Types do Sistema e Rotinas

2-TriggL-417

TriggL

Instrues
Se este argumento for omitido e ToPoint no for um ponto de parada, a instruo subsequente s executada depois do rob ter alcanado o ponto de parada especificado ou 100 ms antes da zona especificada. ToPoint DataType: robtarget

O ponto de destino do rob e eixos externos. Ele definido como uma posio nomeada ou guardada diretamente na instruo (marcada com um * na instruo). Speed DataType: speeddata

O dado de velocidade que se aplica aos movimentos. O dado de velocidade define a velocidade do TCP, a reorientao da ferramenta e eixos externos. [ \T ] (Time) DataType: num

Este argumento usado para especificar o tempo total em segundos durante o qual o rob se move. Ele ento substitudo pelo correspondente dado de velocidade. Trigg_1 DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO, TriggEquip ou TriggInt. [ \T2] (Trigg 2) DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO, TriggEquip ou TriggInt. [ \T3 ] (Trigg 3) DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO, TriggEquip ou TriggInt. [ \T4 ] (Trigg 4) DataType: triggdata

Varivel que se refere a condies de gatilho e atividades de gatilho, definida anteriormente no programa usando as instrues TriggIO, TriggEquip ou TriggInt. Zone DataType: zonedata Dados de zona para o movimento. Os dados de zona descrevem a dimenso do trajeto de escanteio produzida. Tool DataType: tooldata A ferramenta em uso quando o rob se move. O ponto central de ferramenta o ponto que movido para o ponto de destino especificado.

2-TriggL-418

Data Types do Sistema e Rotinas

Instrues
[ \WObj] (Work Object)

TriggL
DataType: wobjdata

O objeto de trabalho (sistema de coordenada) em que a posio do rob na instruo est relacionada. Este argumento pode ser omitido, e se for a posio relacionada com o sistema de coordenada mundial. Se, por outro lado, o TCP estacionrio ou coordenadas de eixos externos forem usadas, este argumento deve ser especificado para um movimento linear relativo a um objeto de trabalho a ser executado. [ \Corr] (Correction) Data type: switch

Dados de correo escritos em uma entrada de correes pela instruo CorrWrite sero acrescentados no trajeto e na posio de destino, se este argumento estiver presente.

Execuo do programa
Veja a instruo MoveL para informao sobre movimento linear. To logo as atividades de gatilho definidas so realizadas, as condies de gatilho so satisfeitas quando o rob posicionado cada vez mais perto do ponto final, . As condies de gatilho so satisfeitas a uma certa distncia antes do ponto final da instruo, ou a uma certa distncia depois do ponto inicial da instruo, ou em um certo ponto no tempo (limitado a um curto tempo) antes do ponto final da instruo. Durante a execuo passo-a-passo para frente, as atividades E/S so realizadas mas as rotinas de interrupo no rodam. Durante a execuo passo-a-passo para trs, nenhuma atividade de gatilho realizada.

Exemplos
VAR intnum intno1; VAR triggdata trigg1; ... CONNECT intno1 WITH trap1; TriggInt trigg1, 0.1 \Time , intno1; ... TriggL p1, v500, trigg1, fine, gun1; TriggL p2, v500, trigg1, fine, gun1; ... IDelete intno1; A rotina de interrupo trap1 roda quando o ponto de trabalho est numa posio 0.1 s antes do ponto p1 ou p2 respectivamente.

Data Types do Sistema e Rotinas

2-TriggL-419

TriggL

Instrues

Limitaes
Se o ponto de partida atual se desviar do normal, de forma a que o comprimento total do posicionamento da instruo TriggJ seja mais pequeno do que o usual (por exemplo, na inicializao de TriggJ com a posio do rob na ponta final), pode acontecer que algumas ou todas as condies trigger sejam imediatamente cumpridas e na mesma posio. Nestes casos, a sequncia na qual as actividades trigger so executadas no ser definida. A lgica do programa do usurio pode no estar baseada numa sequncia normal de atividades trigger para um "movimento incompleto".

Sintaxe
TriggL [\ Conc ,] [ ToPoint := ] < expresso (IN) do robtarget > , [ Speed := ] < expresso (IN) do speeddata > [ \ T := < expresso (IN) do num > ] , [Trigg_1 := ] < varivel (VAR) do triggdata > [ \ T2 := < varivel (VAR) do triggdata > ] [ \ T3 := < varivel (VAR) do triggdata > ] [ \ T4 := < varivel (VAR) do triggdata > ] , [Zone := ] < expresso (IN) do zonedata > , [ Tool := ] < persistente (PERS) do tooldata > [ \ WObj := < persistente (PERS) do wobjdata > ] [ \ Corr ];

Informaes relacionadas
Descrito em: Movimento circular com gatilhos Movimento eixo a eixo com gatilhos Definio de gatilhos Escrever em uma entrada de correes Movimento linear Instrues - TriggC Instrues - TriggJ Instrues - TriggIO, TriggEquip ou TriggInt Instrues - CorrWrite Princpios de movimento Posicionamento na execuo do programa DataTypes - speeddata DataTypes - tooldata DataTypes - wobjdata Princpios de movimento

Definio de velocidade Definio de ferramenta Definio de objeto de trabalho Movimentao em geral

2-TriggL-420

Data Types do Sistema e Rotinas

Instrues

TRYNEXT

TRYNEXT Pula uma instruo que causou um erro


TRYNEXT usada para saltar uma instruo que causou um erro. Ou seja, a prxima instruo executada.

Exemplo
reg2 := reg3/reg4; . ERROR IF ERRNO = ERR_DIVZERO THEN reg2:=0; TRYNEXT; ENDIF Uma tentativa feita para dividir reg3 por reg4. Se reg4 igual a 0 (diviso por zero), um salto feito para o tratamento de erro, onde reg2 colocado em 0. A instruo TRYNEXT ento usada para continuar com a prxima instruo.

Execuo do programa
Execuo do programa continua com a instruo subsequente a instruo que causou o erro.

Limitaes
A instruo somente pode existir numa rotina do tratamento de erro.

Sintaxe
TRYNEXT;

Informaes relacionadas
Descrito em: Tratamento de erros Caractersticas Bsicas Reconhecimento de erros

Data Types do Sistema e Rotinas

2-TRYNEXT-421

TRYNEXT

Instrues

2-TRYNEXT-422

Data Types do Sistema e Rotinas

Instrues

TuneReset

TuneReset

Desliga o ajuste de servo

TuneReset usada para desligar o ajuste de servo de todos os eixos do rob e unidades mecnicas, retornando para seus valores normais.

Exemplo
TuneReset; Desliga valores de servo de todos eixos, retornando para 100%.

Execuo do programa
Os valores de servo de todos os eixos so desligados, retornando para 100%. Os valores padro de ajuste do servo para todos os eixo so automaticamente definidos executando a instruo TuneReset - na inicializao a frio - quando um novo programa carregado - quando comeando a execuo do programa desde o incio.

Sintaxe
TuneReset ;

Informaes relacionadas
Descrito em: Ajuste de Servo Instrues - TuneServo

Data Types do Sistema e Rotinas

2-TuneReset-423

TuneReset

Instrues

2-TuneReset-424

Data Types do Sistema e Rotinas

Instrues

TuneServo

TuneServo

Ajuste de Servo

O TuneServo usado para ajustar o comportamento dinmico de eixos separados no rob. No necessrio usar TuneServo em circunstncias normais, mas por vezes a regulagem pode ser otimizada dependendo da configurao do rob e das caractersticas de carregamento. Para os eixos externos, o TuneServo pode ser usado para adaptao de carregamento. O uso incorreto do TuneServo pode causar movimentos oscilantes ou torques que podem danificar o rob. Voc deve ter ateno a isto e ter muito cuidado quando usar o TuneServo. Evite utilizar os comandos TuneServo no momento em que o rob estiver em movimento. Isso pode resultar em sobrecargas momentneas da CPU, causando paradas e indicao de erro. Nota. Para se obter uma regulagem mais favorvel, essencial que sejam utilizados os dados corretos do carregamento. Verifique isso antes de utilizar o TuneServo. Geralmente, os valores de regulagem mais favorveis freqentemente diferem entre os diferentes robs. A regulagem mais favorvel pode, tambm, alterar com o tempo. Melhorando a preciso do trajeto Para a movimentao dos robs em baixas velocidades, o TuneServo pode ser utilizado para melhorar a preciso do trajeto atravs: - Regulagem tune_kv e tune_ti (veja a descrio abaixo dos tipos de regulagem). - Regulagem dos parmetros de compensao da frico (veja abaixo). Esses dois mtodos podem ser combinados. Outras possibilidades para melhorar a preciso do trajeto: - Diminuio da resoluo do trajeto pode melhorar o trajeto. Nota: um valor demasiadamente baixo da resoluo do trajeto, causar problemas de carregamento da CPU. - A preciso de linhas retas pode ser melhorada, diminuindo a acelerao utilizando AccSet. Exemplo: AccSet 20, 10.

Data Types do Sistema e Rotinas

2-TuneServo-425

TuneServo

Instrues

Descrio
Tune_df Tune_df usado para reduzir as vibraes ou as oscilaes na trajetria. Existe sempre um valor adequado que pode variar dependendo da posio e comprimento de movimento. Este valor adequado pode ser encontrado por troca de ajuste de servo em pequenos intervalos (1 - 2%) nos eixos que esto envolvidos neste comportamento indesejado. Normalmente o ajuste adequado ser encontrado entre 70% - 130%. Valores mais baixos ou mais altos tem um efeito negativo e prejudicaro os movimentos consideravelmente. Quando o valor de ajuste do ponto inicial de um movimento difere consideravelmente do valor de ajuste do ponto final, pode ser vantajoso em alguns casos usar um ponto intermedirio com uma zona para definir onde o valor de ajuste ser trocado. A seguir, alguns exemplos para o uso do TuneServo para ajustar o servo: IRB6400, na aplicao de prensas (carga extendida e flexvel), eixos 4 - 6: Reduz o valor de ajuste de servo para os eixos do punho at o movimento aceitvel. A alterao no movimento no ser notada at o valor adequado ser atingido. Um valor baixo prejudicar o movimento consideravelmente. Valor de ajuste tpico 25%. IRB 6400, partes superiores da rea de trabalho. O eixo 1 pode muitas vezes ser otimizado com um valor de regulagem de 85% - 95%. IRB 6400, movimento curto (<80 mm). O eixo 1 pode muitas vezes ser otimizado com um valor de regulagem de 94% - 98%. IRB 2400, com movimento de trao. Em alguns casos os eixos 2 - 3 podem ser otimizados com um valor de regulagem de 110% - 130%. O movimento na trajetria pode exigir um valor de regulagem diferente em comparao com o movimento nos ngulos rectos da trajetria. Trancos e oscilaes podem ser reduzidos pelo decrscimo da acelerao ou pela rampa de acelerao (AccSet), a qual ir, entretanto, aumentar o tempo do ciclo. Este um mtodo alternativo para usar o TuneServo. Tune_kp, tune_kv, tune_ti external axes Este tipo de regulagem afeta o avano da posio de controle (kp), o avano da velocidade de controle (kv) e o tempo de integrao da velocidade de controle (ti) dos eixos externos. So usados para adaptar os eixos externos a carregamentos de inrcias diferentes. A regulagem base dos eixos externos pode igualmente ser simplificada usando este tipo de regulagem.

2-TuneServo-426

Data Types do Sistema e Rotinas

Instrues
Tune_kp, tune_kv, tune_ti robot axes

TuneServo

Para os eixos do rob, este tipo de regulagem tm outra importncia e pode ser usada para reduzir erros de trajetria numa velocidade reduzida (<500 mm/s). Valores recomendados : tune_kv 100 - 180%, tune_ti 50 - 100%. Tune_kp no devem ser usados para os eixos do rob. Os valores de tune_kv / tune_ti muito altos ou muito baixos causam vibraes e oscilaes. Nunca utilize este tipo de regulagem a uma velocidade elevada ou quando a preciso de trajetria exigida estiver cumprida. Ativando a regulagem tipo TUNE_DF com o valor de regulagem 90% no eixo 2 na unidade mecnica IRB. Compensao da frico: tune_fric_lev and tune_fric_ramp Esses tipos de regulagem podem ser utilizados para reduzir os erros do trajeto do rob causados pela frico e folga em velocidades baixas (10 - 200 mm/s). Esses erros de trajeto aparecem quando um eixo do rob muda a direo do movimento. Ative a compensao da frico para um eixo, ajustando o parmetro do sistema Friction ffw on para TRUE (tpico: Rob, tipo: Parmetros de controle). O modelo de frico um nvel constante com sinal oposto ao da direo da velocidade do eixo. Friction ffw level (Nm) o nvel de frico absoluta em velocidades (baixas) e maior do que Friction ffw ramp (rad/s) (veja figura).

frico do motor em baixa velocidade (Nm) Friction ffw level (Nm) Friction ffw ramp (rad/s) Velocidade do eixo do motor (rad/s)

Figure 33 Modelo de frico

Tune_fric_lev sobrepe-se ao valor do parmetro do sistema Friction ffw level. regulagemA regulagem Friction ffw level (utilizando tune_fric_lev) para cada eixo do rob pode melhorar, consideravelmente, a preciso do trajeto dos robs, na faixa de velocidade de 20 - 100 mm/s. Para robs maiores (especialmente o da famlia IRB6400), o efeito ser, entretanto, mnimo comparado com outras fontes de erros de deslocamento que dominam esses robs. Tune_fric_ramp sobrepe-se ao valor do parmetro do sistema Friction ffw ramp. Na maioria dos casos, no h necessidade de ajustar a Friction ffw ramp. O ajuste padro ser apropriado.

Data Types do Sistema e Rotinas

2-TuneServo-427

TuneServo

Instrues

Ajustar um eixo de cada vez. Altere o valor da regulagem em pequenas partes e encontre o nvel, que minimiza o erro de trajeto do rob, nas posies do trajeto em que esse eixo especfico muda a direo do movimento. Repita o mesmo procedimento para o prximo eixo etc. Os valores de regulagem final podem ser transferidos para os parmetros do sistema. Exemplo: Friction ffw level = 1. Valor de regulagem final (tune_fric_lev) = 150%. Ajuste Friction ffw level = 1,5 e o valor de regulagem = 100% (valor padro) que equivalente.

Argumentos TuneServo MecUnit Axis TuneValue [\Type]


MecUnit (Mechanical Unit) DataType: mecunit

O nome da unidade mecnica. Axis O nmero do eixo atual na unidade mecnica (1 - 6). TuneValue DataType: num DataType: num

Valor de ajuste de servo em percentual (1 - 500). 100% o valor normal. [\Type] Data type: tunetype

Tipo do servo de regulagem. Os tipos disponveis so TUNE_DF, TUNE_KP; TUNE_KV e TUNE_TI. Estes tipos so pr-definidos no sistema com constantes. Este argumento pode ser omitido quando usar o tipo de regulagem TUNE_DF.

Exemplo
TuneServo MHA160R1, 1, 110 \Type:= TUNE_KP; Ativando a regulagem tipo TUNE_DF com o valor de regulagem 110% no eixo 1 na unidade mecnica MHA160R1.

2-TuneServo-428

Data Types do Sistema e Rotinas

Instrues

TuneServo

Execuo do programa
O tipo de regulagem especificado e o valor de regulagem so ativados para os eixos especificados. Este valor aplicvel para todos os movimentos at um novo valor ser programado para o eixo atual, ou at os tipos de regulagem e valores para todos os eixos serem reajustados usando a instruo TuneReset. Os valores padro de ajuste do servo para todos os eixo so automaticamente definidos executando a instruo TuneReset - na inicializao a frio - quando um novo programa carregado - quando comeando a execuo do programa desde o incio.

Limitaes
Quaisquer ajustes de servo ativos retornaro sempre aos valores padro em caso de falha de energia. Essa limitao pode ser contornada no programa do usurio, ao reiniciar aps a falha de energia.

Sintaxe
TuneServo [MecUnit := ] < varivel (VAR) do mecunit> , [Axis := ] < expresso (IN) do num> , [TuneValue := ] < expresso (IN) do num> ; [\ Type := <expresso (IN) do tunetype>];

Informaes relacionadas
Descrito em: Outros ajustes de movimento Tipos do servo de regulagem Reajustar todos os servos de regulagem Regulagem dos eixos externos Compensao da frico Sumrio Rapid - Motion Settings Data Types - tunetype Instrues - TuneReset Parmetros do sistema - Rob Parmetros do Sistema - Rob

Data Types do Sistema e Rotinas

2-TuneServo-429

TuneServo

Instrues

2-TuneServo-430

Data Types do Sistema e Rotinas

Instrues

UnLoad

UnLoad Descarregar um mdulo de um programa durante a execuo


UnLoad usado para descarregar um mdulo de um programa na memria durante a execuo. O mdulo do programa tem de ter sido previamente carregado na memria do programa usando a instruo Load ou StartLoad - WaitLoad.

Exemplo
UnLoad ram1disk \File:="PART_A.MOD"; Descarregue o mdulo do programa PART_A.MOD da memria do programa, que foi previamente carregado na memria do programa com Load. (Veja instrues Load). (ram1disk uma string constante pr-definida "ram1disk:").

Argumentos UnLoad [\Save] FilePath [\File] [\Save]


Data type: switch

Se esse argumento for usado, o mdulo do programa ser salvo antes do incio do descarregamento. O mdulo do progama ser salvo no local original especificado na instruo Load ou StartLoad.

FilePath

Data type: string

O arquivo de trajetria e o nome do arquivo que vai ser descarregado da memria do programa. O arquivo de trajetria e o nome do arquivo devem ser os mesmos da instruo Load ou StartLoad previamente executada. O nome do arquivo ser excludo quando for usado o argumento \File.

[\File]

Data type: string

Quando o nome do arquivo excludo no argumento FilePath, este passo deve ser definido com este argumento. O nome do arquivo deve ser o mesmo daquele que foi utilizado previamente na instruo Load ou StartLoad.

Execuo do programa
Para conseguir executar a instruo UnLoad no programa, uma instruo Load ou StartLoad - WaitLoad com o mesmo caminho e nome deve ter sido executado antes no

Manual de Referncia do RAPID

8-UnLoad-431

UnLoad
programa.

Instrues

A execuo do programa espera que o mdulo do programa acabe o carregamento antes de passar instruo seguinte. Aps o mdulo do programa ter sido descarregado, os restantes mdulos do programa sero lincados . Para mais detalhes, consulte as instrues Load ou StartLoad - WaitLoad.

Exemplos
UnLoad "ram1disk:DOORDIR/DOOR1.MOD"; Descarregue o mdulo do programa DOOR1.MOD da memria do programa, que foi previamente carregado na memria do programa com Load. (See instructions Load). UnLoad "ram1disk:" \File:="DOORDIR/DOOR1.MOD"; O mesmo que acima, mas com outra sintaxe. Unload \Save, "ram1disk:" \File:="DOORDIR/DOOR1.MOD"; O mesmo que acima, mas salva o mdulo do programa antes de descarregar.

Limitaes
No permitido descarregar um mdulo de um programa que est sendo executado. As rotinas TRAP, os passos do sistema E/S e outras tarefas do programa no podem ser executados durante o descarregamento. Evite usar um disquete flexvel para carregamento uma vez que a leitura de um disquete flexvel demora muito tempo. Uma parada do programa durante a execuo da instruo UnLoad resulta numa parada de proteo com os motores desligados e a mensagem de erro 2005 Stop order timeout ser mostrada na unidade de programao.

Tratamento de erros
Se o arquivo na instruo UnLoad no puder ser descarregado por causa de uma execuo que est correndo no mdulo ou por causa de uma trajetria errada (mdulo no carregado com Load ou StartLoad) ento a varivel do sistema ERRNO ajustada para ERR_UNLOAD. Esse erro pode ser tratado na rotina de tratamento de erros.

8-UnLoad-432

Manual de Referncia do RAPID

Instrues

UnLoad

Sintaxe
UnLoad [\Save ,] [FilePath:=]<expression (IN) of string> [\File:= <expression (IN) of string>];

Informaes relacionadas
Descrito em: Carregar o mdulo de um programa Aceitar referncias no resolvidas Instrues - Load Instrues - StartLoad-WaitLoad Parmetros do Sistema - Controller Parmetros do Sistema - Tasks Parmetros do Sistema - BindRef

Manual de Referncia do RAPID

8-UnLoad-433

UnLoad

Instrues

8-UnLoad-434

Manual de Referncia do RAPID

Instrues

WaitDI

WaitDI

Espera um sinal de entrada digital

WaitDI (Wait Digital Input) usado para esperar at que um sinal de entrada digital seja ligado.

Exemplo
WaitDI di4, 1; A execuo do programa continua somente aps a entrada di4 ser ligada. WaitDI grip_status, 0; A execuo do programa continua somente aps a entrada grip_status ser desligada.

Argumentos WaitDI
Signal O nome do sinal. Value O valor desejado para o sinal. [\MaxTime] (Maximum Time) DataType: num DataType: dionum

Signal Value [\MaxTime] [\TimeFlag]


DataType: signaldi

O perodo mximo de tempo de espera permitido, expresso em segundos. Se este tempo acaba antes que a condio seja alcanada, um tratamento de erro ser chamado, se existir um, com o cdigo de erro ERR_WAIT_MAXTIME. Se no houver um tratamento de erro, a execuo ir parar. [\TimeFlag] (Timeout Flag) DataType: bool

O parmetro de sada que contm o valor TRUE se o tempo mximo de espera permitido acaba antes que a condio seja alcanada. Se este parmetro est incluso na instruo, no considerado erro se o tempo mx. acaba. Este argumento ignorado se o argumento MaxTime no est incluso na instruo.

Execuo do programa
Se o valor do sinal est correto, quando a instruo executada, o programa simplismente continua com a instruo seguinte.

Data Types do Sistema e Rotinas

2-WaitDI-435

WaitDI

Instrues
Se o valor do sinal no est correto, o rob entra em um estado de espera e quando o sinal muda para o valor correto, o programa continua. A mudana detectada como uma interrupo, que d uma resposta rpida. Quando o rob est esperando, o tempo supervisionado, e se este excede o valor de tempo mx., o programa continuar se o Time Flag especificado, ou aponta um erro se ele no especificado. Se o Time Flag especificado, este ser colocado em TRUE caso o tempo exceda, caso contrrio ele ser colocado em FALSE.

Sintaxe
WaitDI [ Signal := ] < varivel (VAR) do signaldi > , [ Value := ] < expresso (IN) do dionum > [\MaxTime :=<expresso (IN) do num>] [\TimeFlag:=<varivel (VAR) do bool>] ;

Informaes relacionadas
Descrito em: Espera uma condio ser satisfeita Espera um tempo determinado Instrues - WaitUntil Instrues - WaitTime

2-WaitDI-436

Data Types do Sistema e Rotinas

Instrues

WaitDO

WaitDOEspera at que um sinal de sada digital seja ligado


WaitDO (Wait Digital Output) usado para esperar at que um sinal de sada digital seja ligado.

Exemplo
WaitDO do4, 1; A execuo do programa continua somente aps a entrada do4 ser ligada. WaitDO grip_status, 0; A execuo do programa continua somente aps a sada grip_status ser religada.

Argumentos WaitDO
Signal O nome do sinal. Value O valor desejado para o sinal. [\MaxTime] (Maximum Time) Data type: num Data type: dionum

Signal Value [\MaxTime] [\TimeFlag]


Data type: signaldo

O perodo mximo de tempo de espera permitido, expresso em segundos. Se este tempo acaba antes que a condio seja alcanada, um tratamento de erro ser chamado, se existir um, com o cdigo de erro ERR_WAIT_MAXTIME. Se no houver um tratamento de erro, a execuo ir parar. [\TimeFlag] (Timeout Flag) Data type: bool

O parmetro de sada que contm o valor TRUE se o tempo mximo de espera permitido acaba antes que a condio seja alcanada. Se este parmetro est incluso na instruo, no considerado erro se o tempo mx. acaba. Este argumento ignorado se o argumento MaxTime no est incluso na instruo.

Execuo do programa
Se o valor do sinal est correto, quando a instruo executada, o programa simplismente continua com a instruo seguinte.

Data Types do Sistema e Rotinas

2-WaitDO-437

WaitDO

Instrues
Se o valor do sinal no est correto, o rob entra em um estado de espera e quando o sinal muda para o valor correto, o programa continua. A mudana detectada como uma interrupo, que d uma resposta rpida. Quando o rob est esperando, o tempo supervisionado, e se este excede o valor de tempo mx., o programa continuar se o Time Flag especificado, ou aponta um erro se ele no especificado. Se o Time Flag especificado, este ser colocado em TRUE caso o tempo exceda, caso contrrio ele ser colocado em FALSE.

Sintaxe
WaitDO [ Signal := ] < variable (VAR) of signaldo > , [ Value := ] < expression (IN) of dionum > [\MaxTime :=<expression (IN) of num>] [\TimeFlag:=<variable (VAR) of bool>] ;

Informaes relacionadas
Descrito em: Espera uma condio ser satisfeita Espera um tempo determinado Instrues - WaitUntil Instrues - WaitTime

2-WaitDO-438

Data Types do Sistema e Rotinas

Instrues

WaitLoad

WaitLoad

Conecta o mdulo carregado tarefa

WaitLoad utilizada para conectar o mdulo (caso este seja carregado com StartLoad) tarefa de programa. O mdulo carregado deve ser conectado tarefa de programa com a instruo WaitLoad antes de qualquer de seus smbolos/rotinas ser usado. O mdulo de programa carregado ser adicionado aos mdulos j existentes na memria de programa. Essa instruo tambm pode ser combinada com a funo para descarregar algum outro mdulo de programa para minimizar o nmero de vnculos (1 em vez de 2).

Exemplo
VAR loadsession load1; ... StartLoad "ram1disk:PART_A.MOD", load1; MoveL p10, v1000, z50, tool1 \WObj:=wobj1; MoveL p20, v1000, z50, tool1 \WObj:=wobj1; MoveL p30, v1000, z50, tool1 \WObj:=wobj1; MoveL p40, v1000, z50, tool1 \WObj:=wobj1; WaitLoad load1; %"routine_x"%; UnLoad "ram1disk:PART_A.MOD"; Carregue o mdulo de programa PART_A.MOD a partir de ram1disk na memria de programa. Paralelamente, mova o rob. Em seguida, conecte o novo mdulo de programa tarefa de programa e chame a rotina routine_x do mdulo PART_A.

Argumentos

WaitLoad [\UnloadPath] [\UnloadFile] LoadNo [\UnloadPath]


Tipo de dados: string

O caminho e o nome do arquivo que ser descarregado da memria de programa. O nome do arquivo deve ser excludo quando o argumento \UnloadFile usado.

Data Types do Sistema e Rotinas

2-WaitLoad-439

WaitLoad
[\UnloadFile]

Instrues
Tipo de dados: string

Quando o nome do arquivo excludo no argumento \UnloadPath, ele deve ser definido com esse argumento.

LoadNo

Tipo de dados: loadsession

Isso uma referncia sesso de carregamento, obtida pela instruo StartLoad, para conectar o mdulo de programa carregado tarefa de programa.

Execuo do programa
A instruo WaitLoad primeiro ir esperar pela concluso do carregamento se este ainda no tiver sido concludo e, em seguida, ele ser vinculado e inicializado. A inicializao do mdulo carregado define todas as variveis em nvel de mdulo com seus valores de inicializao. Referncias no resolvidas sero aceitas se o parmetro de sistema para Tasks/BindRef estiver definido como NO. No entanto, quando o programa for iniciado ou a funo da unidade de programao Program Window/File/Check Program for utilizada, nenhuma verificao de referncias no resolvidas ser feita se BindRef = NO. Haver um erro em tempo de execuo ao executar uma referncia no resolvida. Uma outra maneira de utilizar referncias a instrues que no estejam na tarefa desde o incio utilizar Vinculao posterior. Isso torna possvel especificar a rotina a ser chamada com uma expresso de seqncia, delimitada por dois %%. Nesse caso, o parmetro BindRef pode ser definido como YES (comportamento padro). O mtodo de Vinculao posterior prefervel. Para obter uma boa estrutura de programa, que seja de fcil compreenso e manuteno, todo o carregamento e descarregamento de mdulos de programa deve ser feito a partir do mdulo principal, que est sempre presente na memria de programa durante a execuo.

Exemplos
StartLoad "ram1disk:DOORDIR/DOOR2.MOD", load1; ... WaitLoad \UnloadPath:="ram1disk:DOORDIR/DOOR1.MOD", load1; Carregue o mdulo de programa DOOR2.MOD a partir de ram1disk no diretrio DOORDIR para a memria de programa e conecte o novo mdulo tarefa. O mdulo de programa DOOR1.MOD ser descarregado da memria de programa. StartLoad "ram1disk:" \File:="DOORDIR/DOOR2.MOD", load1; ! O rob pode fazer algum outro trabalho WaitLoad \UnloadPath:="ram1disk:" \File:= "DOORDIR/DOOR1.MOD", load1; equivale s instrues abaixo, mas o rob pode fazer algum outro trabalho durante o tempo de carregamento e tambm faz-lo mais rapidamente (somente um vnculo). 2-WaitLoad-440 Data Types do Sistema e Rotinas

Instrues
Load "ram1disk:" \File:="DOORDIR/DOOR2.MOD"; UnLoad "ram1disk:" \File:="DOORDIR/DOOR1.MOD";

WaitLoad

Tratamento de erros
Se no for possvel localizar o arquivo especificado na instruo StartLoad, a varivel de sistema ERRNO ser definida como ERR_FILNOTFND na execuo de WaitLoad. Se o argumento LoadNo referir-se a uma sesso de carregamento desconhecida, a varivel de sistema ERRNO ser definida como ERR_UNKPROC. Se o mdulo j estiver carregado na memria de programa, a varivel de sistema ERRNO ser definida como ERR_LOADED. Os erros seguintes s podem ocorrer quando o argumento \UnloadPath utilizado na instruo WaitLoad: - Se o mdulo de programa especificado no argumento \UnloadPath no puder ser descarregado devido a uma operao em andamento dentro do mdulo, a varivel de sistema ERRNO ser definida como ERR_UNLOAD. - Se o mdulo de programa especificado no argumento \UnloadPath no puder ser descarregado devido ao mdulo de programa no ter sido carregado com Load ou StartLoad-WaitLoad a partir do programa RAPID, a varivel de sistema ERRNO tambm ser definida como ERR_UNLOAD. Esses erros podero ser tratados na rotina de tratamento de erros.

Sintaxe
WaitLoad [ [ \ UnloadPath := <expresso (IN) de string> ] [ \ UnloadFile := <expresso (IN) de string> ] , ] [ LoadNo := ] <varivel (VAR) de loadsession> ;

Data Types do Sistema e Rotinas

2-WaitLoad-441

WaitLoad

Instrues

Informaes relacionadas
Carregar um mdulo de programa durante a execuo Carregar sesso Carregar um mdulo de programa Descarregar um mdulo de programa Aceitar referncias no resolvidas Instrues - StartLoad Tipos de dados - loadsession Instrues - Load Instrues - UnLoad Parmetros do sistema Controller/Task/BindRef

2-WaitLoad-442

Data Types do Sistema e Rotinas

Instrues

VelSet

VelSet

Muda a velocidade programada


VelSet usado para aumentar ou diminuir a velocidade programada para todas as instrues de posicionamento subsequentes. Esta instruo tambm usada para maximizar a velocidade.

Exemplo
VelSet 50, 800; Todas as velocidades programadas so diminudas em 50% do valor da instruo. A velocidade do TCP no , entretanto, permitida exceder 800 mm/s.

Argumentos VelSet
Override

Override Max
DataType: num

Velocidade desejada como uma porcentagem da velocidade programada. 100% corresponde a velocidade programada. Max Velocidade mxima do TCP em mm/s. DataType: num

Execuo do programa
A velocidade programada de todas as instrues de posicionamento subsequentes afetada at uma nova instruo VelSet ser executada. O argumento Override afeta: - Todos os componentes de velocidade (TCP, orientao, rotao e eixos externos lineares) em speeddata. - A velocidade programada ultrapassa a instruo de posicionamento (o argumento \V). - Movimentos temporizados. O argumento Override no afeta: - A velocidade de soldagem em welddata. - A velocidade de aquecimento e preenchimento em seamdata. O argumento Max somente afeta a velocidade do TCP.

Data Types do Sistema e Rotinas

2-VelSet-443

VelSet

Instrues
Os valores default para Override e Max so 100% e 5000 mm/s respectivamente. Estes valores so automaticamente ligados - numa partida a frio - quando um novo programa carregado - quando comea a execuo do programa no incio.

Exemplo
VelSet 50, 800; MoveL p1, v1000, z10, tool1; MoveL p2, v2000, z10, tool1; MoveL p3, v1000\T:=5, z10, tool1; A velocidade 500 mm/s para ponto p1 e 800 mm/s para p2. Isso d 10 segundos para mover de p2 para p3.

Limitaes
A velocidade mxima no levada em considerao quando o tempo especificado na instruo de posicionamento.

Sintaxe
VelSet [ Override := ] < expresso (IN) do num > , [ Max := ] < expresso (IN) do num > ;

Informaes relacionadas
Descrito em: Definio de velocidade Instrues de posicionamento DataTypes - speeddata Sumrio RAPID - Movimentao

2-VelSet-444

Data Types do Sistema e Rotinas

Instrues

WHILE

WHILE

Repetir enquanto ...

WHILE usado quando um nmero de instrues devem ser repetidas enquanto uma condio satisfeita. Se for possvel determinar previamente o nmero de repeties, a instruo FOR pode ser usada.

Exemplo
WHILE reg1 < reg2 DO ... reg1 := reg1 +1; ENDWHILE Repete as instrues no ciclo WHILE enquanto reg1 < reg2.

Argumentos WHILE
Condition

Condition DO ... ENDWHILE


DataType: bool

A condio que deve ser satisfeita para que as instrues no ciclo WHILE sejam executadas.

Execuo do programa
1. A condio calculada. Se a condio no satisfeita, o ciclo WHILE termina e a execuo do programa continua com a instruo seguinte a ENDWHILE. 2. As instrues no loop WHILE so executadas. 3. O ciclo WHILE repetido, comeando pela primeira instruo.

Sintaxe
(EBNF) WHILE <expresso condicional> DO <lista de instruo> ENDWHILE

Manual de Referncia do RAPID

8-WHILE-445

WHILE

Instrues

Informaes relacionadas
Descrito em: Expresses Caractersticas Bsicas - Expresses

8-WHILE-446

Manual de Referncia do RAPID

Instrues

Write

Write

Escreve em um arquivo tipo texto ou canal serial


Write usado para escrever em um arquivo tipo texto ou canal serial. O valor de certo dado pode ser escrito como um texto.

Exemplos
Write logfile, "Execuo iniciada"; O texto Execuo iniciada foi escrito no arquivo com nome de referncia logfile. Write logfile, "Nr de partes produzidas="\Num:=reg1; O texto Nr de partes produzidas=5, por exemplo, foi escrito no arquivo com nome de referncia logfile (assumindo que o contedo de reg1 5).

Argumentos Write IODevice String [\Num] | [\Bool] | [\Pos] | [\Orient] [\NoNewLine]


IODevice O nome (referncia) do atual arquivo ou canal serial. String O texto a ser escrito. [\Num] (Numeric) DataType: num DataType: string DataType: iodev

Os dados cujos valores numricos so escritos aps o texto. [\Bool] (Boolean) DataType: bool

Os dados cujos valores booleanos so escritos aps o texto. [\Pos] (Position) DataType: pos

Os dados cuja posio escrita aps o texto. [\Orient] (Orientation) DataType: orient

Os dados cuja orientao escrita aps o texto. [\NoNewLine] DataType: switch

Omite o caracter de linha de alimentao que normalmente indica o fim do texto.

Data Types do Sistema e Rotinas

2-Write-447

Write

Instrues

Execuo do programa
O texto escrito para um arquivo ou canal serial especificado. Se o argumento \NoNewLine no usado, um caracter de linha de alimentao (LF) tambm escrito. Se um dos argumentos \Num, \Bool, \Pos ou \Orient usado, seu valor convertido para um texto antes de ser adicionado ao primeiro texto. A converso de valor para texto ocorre como segue: Argumento \Num \Num \Bool \Pos \Orient Valor 23 1.141367 TRUE [1817.3,905.17,879.11] [0.96593,0,0.25882,0] Texto "23" "1.14137" "TRUE" "[1817.3,905.17,879.11]" "[0.96593,0,0.25882,0]"

O valor convertido em um string com formato RAPID padro. Isto significa em princpio 6 dgitos importantes. Se a parte decimal for menor que 0.000005 ou maior que 0.999995, o nmero arredondado para um inteiro.

Exemplo
VAR iodev printer; . Open "sio1:", printer\Write; WHILE DInput(stopprod)=0 DO produce_part; Write printer, "Parte produzida ="\Num:=reg1\NoNewLine; Write printer, " "\NoNewLine; Write printer, CTime(); ENDWHILE Close printer; Uma linha, incluindo o nmero da parte produzida e da hora atual, impressa a cada ciclo. A impressora conectada ao canal serial sio1:. A mensagem impressa pode ser parecida com esta: Parte produzida = 473 09:47:15

Limitaes
Os argumentos \Num, \Bool, \Pos e \Orient so mutuamente exclusivos e no podem ser usados simultanemente na mesma instruo. Esta instruo somente pode ser usada por arquivos ou canais seriais que foram abertos para escrita.

2-Write-448

Data Types do Sistema e Rotinas

Instrues

Write

Tratamento de Erro
Se um erro ocorrer durante a escrita, a varivel do sistema ERRNO colocada para ERR_FILEACC. Este erro pode ser ento tratado em uma rotina de tratamento de erro.

Sintaxe
Write [IODevice:=] <varivel (VAR) do iodev>, [String:=] <expresso (IN) do string> [\Num:= <expresso (IN) do num> ] | [\Bool:= <expresso (IN) do bool> ] | [\Pos:= <expresso (IN) do pos> ] | [\Orient:= <expresso (IN) do orient> ] [\NoNewLine];

Informaes relacionadas
Descrito em: Abrindo um arquivo ou canal serial Sumrio RAPID - Comunicao

Data Types do Sistema e Rotinas

2-Write-449

Write

Instrues

2-Write-450

Data Types do Sistema e Rotinas

Instrues

WriteBin

WriteBin

Escreve para um canal serial binrio

WriteBin usado para escrever um nmero de bytes para um canal serial binrio.

Exemplo
WriteBin channel2, text_buffer, 10; 10 caractres da lista text_buffer so escritos para um canal referido ao channel2.

Argumentos WriteBin
IODevice Nome (referncia) do atual canal serial. Buffer DataType: array of num A lista (variedade) contendo os nmeros (caractres) a serem escritos. NChar (Number of Characters) DataType: num

IODevice Buffer NChar


DataType: iodev

O nmero de caractres a ser escrito do Buffer.

Execuo do programa
O nmero especificado de nmeros (caractres) na lista a ser escrita para o canal serial.

Limitaes
Esta instruo somente pode ser usada para canais seriais que foram abertos para leitura e escrita binria.

Tratamento de Erro
Se um erro ocorre durante a escrita, a varivel do sistema ERRNO colocada para ERR_FILEACC. Este erro pode ento ser tratado em uma rotina de tratamento de erro.

Data Types do Sistema e Rotinas

2-WriteBin-451

WriteBin

Instrues

Exemplo
VAR iodev channel; VAR num out_buffer{20}; VAR num input; VAR num nchar; Open "sio1:", channel\Bin; out_buffer{1} := 5; WriteBin channel, out_buffer, 1; input := ReadBin (channel \Time:= 0.1); IF input = 6 THEN out_buffer{1} := 2; out_buffer{2} := 72; out_buffer{3} := 101; out_buffer{4} := 108; out_buffer{5} := 108; out_buffer{6} := 111; out_buffer{7} := 32; out_buffer{8} := StrToByte("w"\Char); out_buffer{9} := StrToByte("o"\Char); out_buffer{10} := StrToByte("r"\Char); out_buffer{11} := StrToByte("l"\Char); out_buffer{12} := StrToByte("d"\Char); out_buffer{13} := 3; WriteBin channel, out_buffer, 13; ENDIF ( enq )

( ack ) ( stx ) ( H ) ( e ) ( l ) ( l ) ( o ) () ( w ) ( o ) ( r ) ( l ) ( d ) ( etx )

O "string" de texto Hello world (com caracteres de controle associados) escrito em um canal serial. A funo StrToByte usada nos mesmos casos para converter um "string" em um dado de byte (num). ??? .

Sintaxe
WriteBin [IODevice:=] <varivel (VAR) do iodev>, [Buffer:=] <variedade {*} (IN) do num>, [NChar:=] <expresso (IN) do num>;

2-WriteBin-452

Data Types do Sistema e Rotinas

Instrues

WriteBin

Informaes relacionadas
Descrito em: Abrindo (etc.) canais seriais Converter um "string" em dados de byte Dados de byte Sumrio RAPID - Comunicao Funes - StrToByte Tipos de dados - byte

Data Types do Sistema e Rotinas

2-WriteBin-453

WriteBin

Instrues

2-WriteBin-454

Data Types do Sistema e Rotinas

Instrues

WriteAnyBin

WriteAnyBin

Escreve dados em um canal serial ou arquivo binrio

WriteAnyBin (Write Any Binary) usado para escrever qualquer tipo de dados em um arquivo ou canal serial binrio.

Exemplo
VAR iodev channel2; VAR orient quat1 := [1, 0, 0, 0]; ... Open "sio1:", channel2 \Bin; WriteAnyBin channel2, quat1; O dado orient quat1 escrito no canal referido por channel2.

Argumentos WriteAnyBin
IODevice O nome (referncia) do arquivo ou canal serial binrio para a operao de escrita. Data O VAR ou PERS contendo o dado a ser escrito. Tipo de dados: ANYTYPE

IODevice Data
Tipo de dados: iodev

Execuo do programa
Tantos bytes quantos forem necessrios para o dado especificado so escritos no arquivo ou canal serial binrio especificado.

Limitaes
Essa instruo s pode ser usada para arquivos ou canais seriais que tenham sido abertos para escrita binria. O dado a ser escrito por essa instruo precisa ter um tipo de dados value de tipo atomic, string ou record. Os tipos de dados semi-value e non-value no podem ser usados. Dados de matrizes no podem ser usados.

Data Types do Sistema e Rotinas

2-WriteAnyBin-455

WriteAnyBin

Instrues

Tratamento de erros
Se ocorrer um erro durante a escrita, a varivel de sistema ERRNO ser definida como ERR_FILEACC. Assim, esse erro pode ser tratado na rotina de tratamento de erros.

Exemplo
VAR iodev channel; VAR num input; VAR robtarget cur_robt; Open "sio1:", channel\Bin; ! Envia o caractere de controle enq WriteStrBin channel, "\05"; ! Espera o caractere de controle ack input := ReadBin (channel \Time:= 0.1); IF input = 6 THEN ! Envia a posio atual do rob cur_robt := CRobT(\Tool:= tool1\WObj:= wobj1); WriteAnyBin channel, cur_robt; ENDIF Close channel; A posio atual do rob escrita em um canal serial binrio.

Sintaxe
WriteAnyBin [IODevice:=] <variable (VAR) of iodev>, [Data:=] <var or pers (INOUT) of ANYTYPE>;

Informaes relacionadas
Descrito em: Abertura (etc.) de canais seriais ou arquivos Ler dados de um canal serial ou arquivo binrio Resumo RAPID - Comunicao Funes - ReadAnyBin

2-WriteAnyBin-456

Data Types do Sistema e Rotinas

Instrues

WriteStrBin

WriteStrBinEscrever uma string para um canal serial binrio


WriteStrBin (Escrever String Binria) usado para escrever uma string para um canal serial binrio ou arquivo binro.

Exemplo
WriteStrBin channel2, "Hello World\0A"; A string "Hello World\0A" escrita para o canal referido como channel2. A cadeia , neste caso, terminada com uma linha nova \0A. Todos os caracteres e valores hexadecimais escritos com WriteStrBin permanecero inalterados pelo sistema.

Argumentos WriteStrBin
IODevice Nome (referncia) do canal serial corrente. Str O texto a ser escrito. (String) Tipo de dados: string

IODevice Str
Tipo de dados: iodev

Execuo do programa
A string de texto escrita para o canal serial ou arquivo especificado.

Limitaes
Esta instruo pode somente ser usada para canais seriais ou arquivos que tenham sido abertos para leitura ou escrita binria.

Tratamento de erros
Se um erro ocorrer durante a escrita, a varivel de sistema ERRNO ajustada para ERR_FILEACC. Este erro pode ser tratado no tratamento de erros.

Data Types do Sistema e Rotinas

2-WriteStrBin-457

WriteStrBin

Instrues

Exemplo
VAR iodev channel; VAR num input; Open "sio1:", channel\Bin; ! Send the control character enq WriteStrBin channel, "\05"; ! Wait for the control character ack input := ReadBin (channel \Time:= 0.1); IF input = 6 THEN ! Send a text starting with control character stx and ending with etx WriteStrBin channel, "\02Hello World\03"; ENDIF Close channel; A string de texto Hello World (com caracteres de controlo associados em hexadecimais) escrita para um canal serial binrio.

Sintaxe
WriteStrBin [IODevice:=] <varivel (VAR) de iodev>, [Str:=] <expresso (IN) de string>;

Informaes relacionadas
Descrito em: Abrindo (etc.) canais seriais Sumrio RAPID - Comunicao

2-WriteStrBin-458

Data Types do Sistema e Rotinas

Instrues

WaitTime

WaitTime

Espera um tempo determinado

WaitTime usado para esperar um tempo determinado. Esta instruo tambm pode ser usada para fazer com que o rob e eixos externos fiquem parados.

Exemplo
WaitTime 0.5; A execuo do programa espera 0.5 segundo.

Argumentos WaitTime
[\InPos]

[\InPos] Time
Tipo de dado: switch

Se este argumento usado, o rob e eixos externos devem estar parados antes do incio da contagem do tempo de espera. Time Tipo de dadoe: num O tempo, expresso em segundos, que a execuo do programa espera.

Execuo do programa
A execuo do programa pra temporariamente por um tempo determinado. Contudo tratamentos de interrupo e outras funes similares ainda esto ativas.

Exemplo
WaitTime \InPos,0; A execuo do programa espera at que o rob e eixos externos fiquem parados.

Limitaes
Se o argumento \Inpos usado, a instruo de movimento que precede esta instruo deve ser terminada no ponto final, para que seja possvel reiniciar nesta instruo seguida de uma falha de energia. O argumento \Inpos no pode ser usado juntamente com SoftServo.

Data Types do Sistema e Rotinas

2-WaitTime-459

WaitTime

Instrues

Sintaxe
WaitTime [\InPos,] [Time :=] <expresso (IN) do num>;

Informaes relacionadas
Descrito em: Espera uma condio ser satisfeita Espera um sinal de entrada digital Instrues - WaitUntil Instrues - WaitDI

2-WaitTime-460

Data Types do Sistema e Rotinas

Instrues

WaitUntil

WaitUntil

Espera uma condio ser satisfeita

WaitUntil usado para esperar at que uma condio lgica seja satisfeita; por exemplo, pode esperar at que uma ou mais entradas sejam ligadas.

Exemplo
WaitUntil di4 = 1; A execuo do programa continua somente aps a entrada di4 ser ligada.

Argumentos WaitUntil
[\InPos]

[\InPos] Cond [\MaxTime] [\TimeFlag]


DataType: switch

Se este argumento usado, o rob e eixos externos devem estar parados antes que a condio comece a ser avaliada. Cond A expresso lgica que esperada. [\MaxTime] DataType: num DataType: bool

O perodo mximo de tempo de espera permitido, expresso em segundos. Se este tempo acaba antes que a condio seja satisfeita, um tratamento de erro ser chamado, caso exista um, com o cdigo de erro ERR_WAIT_MAXTIME. Se no houver tratamento de erro, a execuo ir parar. [\TimeFlag] (Timeout Flag) DataType: bool

O parmetro de sada que contm o valor TRUE se o tempo mximo de espera permitido acaba antes que a condio seja alcanada. Se este parmetro est incluso na instruo, no considerado erro se o tempo mx. acaba. Este argumento ignorado se o argumento MaxTime no est incluso na instruo.

Execuo do programa
Se a condio programada no satisfeita na execuo da instruo WaitUntil, a condio verificada novamente a cada 100 ms. Quando o rob est esperando, o tempo supervisionado, e se ele excede o valor de tempo mx., o programa continuar se o Time Flag especificado, ou aponta um erro se ele no especificado. Se o Time Flag especificado, este ser colocado em TRUE se o tempo exceder, caso contrrio ele ser colocado em FALSE. Data Types do Sistema e Rotinas 2-WaitUntil-461

WaitUntil

Instrues

Exemplos
VAR bool timeout; WaitUntil start_input = 1 AND grip_status = 1\MaxTime := 60 \TimeFlag := timeout; IF timeout THEN TPWrite "Nenhuma ordem recebida dentro do tempo esperado"; ELSE start_next_cycle; ENDIF Se as duas condies de entrada no so alcanadas dentro de 60 segundos, uma mensagem de erro ser mostrada no display da unidade de programao. WaitUntil \Inpos, di4 = 1; A execuo do programa espera at que o rob pare de se mover e a entrada di4 seja ligada.

Limitaes
Se o argumento \Inpos usado, a instruo de movimento que precede esta instruo deve ser terminada com um ponto final, para que seja possvel reiniciar nesta instruo seguida de uma falha de energia.

Sintaxe
WaitUntil [\InPos,] [Cond :=] <expresso (IN) do bool> [\MaxTime :=<expresso (IN) do num>] [\TimeFlag:=<varivel (VAR) do bool>] ;

Informaes relacionadas
Descrito em: Espera um sinal de entrada digital Espera um tempo determinado Expresses Instrues - WaitDI Instrues - WaitTime Caractersticas Bsicas - Expresses

2-WaitUntil-462

Data Types do Sistema e Rotinas

Instrues

WZBoxDef

WZBoxDef Definir uma zona global em forma de caixa


WZBoxDef (Definio de Zona Global em Forma de Caixa) usada para definir uma zona global que tem a forma de uma caixa quadrada e com todos os lados paralelos aos eixos do Sistema de Coordenadas Global.

Exemplo
.
canto2

Z Y Caixa

canto1 Sistema de Coordenadas Global X Min. 10 mm

VAR shapedata volume; CONST pos corner1:=[200,100,100]; CONST pos corner2:=[600,400,400]; ... WZBoxDef \Inside, volume, corner1, corner2; Definir uma caixa quadrada com coordenadas paralelas aos eixos do sistema de coordenadas global e definida pelos cantos corner1 e corner2 opostos.

Argumentos WZBoxDef (\Inside) | (\Outside) Shape LowPoint HighPoint \Inside


Definir o volume interno da caixa. Tipo de dados: switch

\Outside
Definir o volume externo da caixa (volume inverso).

Tipo de dados: switch

Um dos argumentos \Inside ou \Outside tem de ser especificado.

Shape

Tipo de dados: shapedata

Varivel para armazenagem do volume definido (dados privados para o sistema).

Manual de Referncia do RAPID

8-WZBoxDef-463

WZBoxDef
LowPoint

Instrues
Tipo de dados: pos

Posio (x,y,x) em mm definindo um dos cantos da caixa.

HighPoint

Tipo de dados: pos

Posio (x,y,z) em mm definindo o canto diagonalmente oposto ao canto anterior.

Execuo do programa
A definio da caixa armazenada na varivel do tipo shapedata (argumento Shape), para uso futuro na instruo WZLimSup ou WZDOSet.

Limitaes
As posies LowPoint e HighPoint tm de ser cantos opostos vlidos (com valores de coordenadas x, y e z diferentes). Se o rob usado para apontar LowPoint ou HighPoint, o objeto de trabalho wobj0 tem de estar ativo (uso do componente trans em robtarget, por exemplo, trans como argumento).

Sintaxe
WZBoxDef (\Inside) | (\Outside) , [Shape:=]<varivel (VAR) de shapedata>, [LowPoint:=]<expresso (IN) de pos>, [HighPoint:=]<expresso (IN) de pos>;

Informaes relacionadas
Descritas em: Zonas Globais Forma da zona global Forma da zona global Definir zona global em forma de esfera Definir zona global em forma de cilindro Deslocamento e Principios E/S Zonas Globais Tipos de Dados - shapedata Tipo de dados - shapedata Instrues - WZSphDef Instrues - WZCylDef

Ativando superviso de limite de zona global Instrues - WZLimSup Ativando conjunto de sadas digitais de zona global Instrues - WZDOSet

8-WZBoxDef-464

Manual de Referncia do RAPID

Instrues

WZCylDef

WZCylDef Definir uma zona global em forma de cilindro


WZCylDef (Definio de Zona Global em Forma de Cilindro) usada para definir uma zona global que tem a forma de um cilindro e com o eixo do cilindro paralelo ao eixo z do Sistema de Coordenadas Global.

Exemplo
R2

H2 Z Y C2 X Sistema de Coordenadas Global

VAR shapedata volume; CONST pos C2:=[300,200,200]; CONST num R2:=100; CONST num H2:=200; ... WZCylDef \Inside, volume, C2, R2, H2; Definir um cilindro com o centro do circulo inferior em C2, raio R2 e altura H2.

Argumentos WZCylDef (\Inside) | (\Outside) Shape CentrePoint Radius Height \Inside


Definir o volume interno do cilindro. Tipo de dados: switch

\Outside

Tipo de dados: switch

Definir o volume externo do cilindro (volume inverso). Um dos argumentos \Inside ou \Outside tem de ser especificado.

Shape

Tipo de dados: shapedata

Varivel para armazenagem do volume definido (dados privados do sistema).

Data Types do Sistema e Rotinas

2-WZCylDef-465

WZCylDef
CentrePoint

Instrues
Tipo de dados: pos

Posio (x,y,z) em mm definindo o centro de uma das bases do cilindro.

Radius
O raio do cilindro em mm.

Tipo de dados: num

Height

Tipo de dados: num

A altura em mm do cilindro. Se positiva (direo +z), o argumento CentrePoint o centro do circulo inferior do cilindro (como no exemplo acima). Se negativa (direo -z), o argumento CentrePoint o centro do circulo superior do cilindro.

Execuo do programa
A definio do cilindro armazenada na varivel do tipo shapedata (argumento Shape), para uso futuro na instruo WZLimSup ou WZDOSet.

Limitaes
Se o rob usado para apontar o CentrePoint, o objeto de trabalho wobj0 tem de estar ativo (uso do componente trans em robtarget, por exemplo, p1.trans como argumento).

Sintaxe
WZCylDef (\Inside) | (\Outside) , [Shape:=]<varivel (VAR) de shapedata>, [CentrePoint:=]<expresso (IN) de pos>, [Radius:=]<expresso (IN) de num>, [Height:=]<expresso (IN) de num>;

2-WZCylDef-466

Data Types do Sistema e Rotinas

Instrues

WZCylDef

Informaes relacionadas
Descritas em: Zonas Globais Forma da zona global Definir zona global em forma de caixa Definir zona global em forma de esfera Ativando espao de trabalho restrito Ativando sada relativa a uma zona Deslocamento e Principios E/S Zonas Globais Tipo de dados - shapedata Instrues - WZBoxDef Instrues - WZSphDef Instrues - WZLimSup Instrues - WZDOSet

Data Types do Sistema e Rotinas

2-WZCylDef-467

WZCylDef

Instrues

2-WZCylDef-468

Data Types do Sistema e Rotinas

Instrues

WZDisable

WZDisable Desativar a superviso da zona global temporria


WZDisable (Desativar Zona Global) usada para desativar a superviso de uma zona global temporria, previamente definida para parar o movimento ou para ajustar uma sada.

Exemplo
VAR wztemporary wzone; ... PROC ... WZLimSup \Temp, wzone, volume; MoveL p_pick, v500, z40, tool1; WZDisable wzone; MoveL p_place, v200, z30, tool1; ENDPROC Quando se movendo para p_pick, a posio do TCP do rob checada para que ele no entre no volume wzone especificado. Esta superviso no desempenhada quando indo para p_place.

Argumentos WZDisable WorldZone WorldZone


A zona global a ser desativada. Tipo de dados: wztemporary

Execuo do programa
A zona global temporria desativada. Isto significa que a superviso do TCP do rob, relativa ao volume correspondente, temporariamente parada. Pode ser reativada atravs da instruo WZEnable.

Limitaes
Somente uma zona global temporria podem ser desativada. Uma zona global estacionria sempre ativa.

Data Types do Sistema e Rotinas

2-WZDisable-469

WZDisable

Instrues

Sintaxe
WZDisable [WorldZone:=]<varivel ou persistente (INOUT) de wztemporary>;

Informaes relacionadas
Descritas em: Zonas Globais Forma da zona global Dados da zona global temporria Reativar zona global Eliminar zona global Deslocamento e Principios E/S Zonas globais Tipos de Dados - shapedata Tipos de Dados - wztemporary Instrues - WZEnable Instrues - WZFree

2-WZDisable-470

Data Types do Sistema e Rotinas

Instrues

WZDOSet

WZDOSet Ativar a zona global para ajustar a sada digital


WZDOSet (Ajustar Zona Global Digital) usada para definir a ao e ativar uma zona global para superviso dos movimentos do rob. Aps esta instruo ser executada, quando o TCP do rob est dentro da zona global definida ou se est aproximando dela, um sinal de sada digital ajustado para o valor especificado.

Exemplo
VAR wztemporary service; PROC zone_output() VAR shapedata volume; CONST pos p_service:=[500,500,700]; ... WZSphDef \Inside, volume, p_service, 50; WZDOSet \Temp, service \Inside, volume, do_service, 1; ENDPROC Um service de zona global temporria definido no programa de aplicao que ajusta o sinal do_service, quando o TCP do rob est dentro da esfera definida durante a execuo do programa ou a movimentao.

Argumentos WZDOSet (\Temp) | (\Stat) WorldZone (\Inside) | (\Before) Shape Signal SetValue \Temp
(Temporria) Tipo de dados: switch

A zona global a definir uma zona global temporria.

\Stat

(Estacionria)

Tipo de dados: switch

A zona global a definir uma zona global estacionria. Um dos argumentos \Temp ou \Stat tem de ser especificado.

WorldZone
rary

Tipo de dados: wztempo-

Varivel ou persistente que ser atualizada com a identidade (valor numrico) da zona global. Quando usando o parmetro \Temp, o tipo de dados tem de ser wztemporary. Quando usando o parmetro \Stat, o tipo de dados tem de ser wzstationary.

Data Types do Sistema e Rotinas

2-WZDOSet-471

WZDOSet
\Inside

Instrues
Tipo de dados: switch

O sinal de sada digital ser ajustado quando o TCP do rob estiver dentro do volume definido.

\Before

Tipo de dados: switch

O sinal de sada digital ser ajustado antes do TCP do rob atingir o volume definido (o mais prximo possvel antes do volume). Um dos argumentos \Inside ou \Before tem de ser especificado.

Shape
A varivel que define o volume da zona global.

Tipo de dados: shapedata

Signal
O nome do sinal de sada digital que ser alterado.

Tipo de dados: signaldo

SetValue

Tipo de dados: dionum

Valor desejado do sinal (0 ou 1) quando o TCP do rob est dentro do volume ou exatamente antes de entrar no volume. Quando fora ou muito prximo do volume, o signal ajustado para o valor oposto.

Execuo do programa
A zona global definida ativada. A partir deste momento, a posio do TCP do rob supervisonada e a sada ser ajustada, quando a posio do TCP do rob estiver dentro do volume (\Inside) ou se aproximar do limite do volume (\Before).

Exemplo
VAR wztemporary home; VAR wztemporary service; PERS wztemporary equip1:=[0]; PROC main() ... ! Definition of all temporary world zones zone_output; ... ! equip1 in robot working space WZEnable equip1; ... ! equip1 out of robot working space WZDisable equip1;

2-WZDOSet-472

Data Types do Sistema e Rotinas

Instrues
... ! No use for equip1 any more WZFree equip1; ... ENDPROC PROC zone_output() VAR shapedata volume; CONST pos p_home:=[800,0,800]; CONST pos p_service:=[800,800,800]; CONST pos p_equip1:=[-800,-800,0]; ... WZSphDef \Inside, volume, p_home, 50; WZDOSet \Temp, home \Inside, volume, do_home, 1; WZSphDef \Inside, volume, p_service, 50; WZDOSet \Temp, service \Inside, volume, do_service, 1; WZCylDef \Inside, volume, p_equip1, 300, 1000; WZLimSup \Temp, equip1, volume; ! equip1 not in robot working space WZDisable equip1; ENDPROC

WZDOSet

A definio das zonas globais temporrias home e service no programa de aplicao, que ajusta o sinal do_home ou do_service, quando o rob estiver dentro da esfera home ou service respetivamente, durante a execuo do porgrama ou quando em movimento. Tambm a definio de uma zona global temporria equip1, que est ativa somente na parte do programa do rob quando equip1, est dentro da rea de trabalho do rob. Nessa altura, o rob pra antes de entrar no volume equip1, tanto durante a execuo do programa como na movimentao manual. equip1 pode ser desativado ou ativado a partir de outras tarefas de programa com o uso do valor da varivel persistente equip1.

Limitaes
Uma zona global no pode ser redefinida usando a mesma varivel no argumento WorldZone. Uma zona global estacionria no pode ser desativada, ativada novamente ou eliminada no programa RAPID. Uma zona global temporria pode ser desativada (WZDisable), ativada novamente (WZEnable) ou eliminada (WZFree) no programa RAPID.

Data Types do Sistema e Rotinas

2-WZDOSet-473

WZDOSet

Instrues

Sintaxe
WZDOSet (\Temp) | (\Stat) , [WorldZone:=]<varivel ou persistente (INOUT) de wztemporary> (\Inside) | (\Before) , [Shape:=]<varivel (VAR) de shapedata>, [Signal:=]<varivel (VAR) de signaldo>, [SetValue:=]<expresso (IN) de dionum>;

Informaes relacionadas
Descritas em: Zonas Globais Forma da zona global Zona global temporria Zona global estacionria Definir zona global em forma de caixa quadrada Definir zona global em forma de esfera Definir zona global em forma de cilindro Ativar superviso de limites de zona global Modo de acesso de sinal Movimento e Princpios E/SZonas Globais Tipos de dados - shapedata Tipos de dados - wztemporary Tipos de dados - wzstationary Instrues - WZBoxDef Instrues - WZSphDef Instrues - WZCylDef Instrues - WZLimSup Guia do usurio- Parmetros do Sistema, Sinais E/S

2-WZDOSet-474

Data Types do Sistema e Rotinas

Instrues

WZEnable

WZEnable Ativar superviso da zona global temporria


WZEnable (Ativar zona Global) usada para reativar a superviso de uma zona global temporria, previamente definida para parar o movimento ou para ajustar uma sada.

Exemplo
VAR wztemporary wzone; ... PROC ... WZLimSup \Temp, wzone, volume; MoveL p_pick, v500, z40, tool1; WZDisable wzone; MoveL p_place, v200, z30, tool1; WZEnable wzone; MoveL p_home, v200, z30, tool1; ENDPROC Quando se movendo para p_pick, a posio do TCP do rob checada para que no entre no volume wzone especificado. Esta superviso no desempenhada quando indo para p_place, mas reativada antes de ir para p_home

Argumentos WZEnable WorldZone WorldZone


Tipo de dados: wztemporary

Varivel ou varivel persistente do tipo wztemporary, que contm a identidade da zona global a ser ativada.

Execuo do programa
A zona global temporria reativada. Note que uma zona global automaticamente ativada quando criada. Necessita somente de ser reativada quando tiver sido previamente desativada por WZDisable.

Limitaes
Somente uma zona global temporria pode ser desativada e reativada. Uma zona global estacionria est sempre ativa.

Data Types do Sistema e Rotinas

2-WZEnable-475

WZEnable

Instrues

Sintaxe
WZEnable [WorldZone:=]<varivel ou persistente (INOUT) de wztemporary>;

Informaes relacionadas
Descritas em: Zonas Globais Temporrias Forma da zona global Dados da zona global temporria Ativar superviso de limites de zona global Ativando sada relativa a uma zona Desativar zona global Eliminar zona global Deslocamento e Principios E/S Zonas Globais Tipos de Dados - shapedata Tipos de dados - wztemporary Instrues - WZLimSup Instrues - WZDOSet Instrues - WZDisable Instrues - WZFree

2-WZEnable-476

Data Types do Sistema e Rotinas

Instrues

WZFree

WZFree Eliminar superviso da zona global temporria


WZFree (Zona Global Livre) usada para eliminar a definio de uma zona global temporria, previamente definida para parar a movimentao ou ajustar uma sada.

Exemplo
VAR wztemporary wzone; ... PROC ... WZLimSup \Temp, wzone, volume; MoveL p_pick, v500, z40, tool1; WZDisable wzone; MoveL p_place, v200, z30, tool1; WZEnable wzone; MoveL p_home, v200, z30, tool1; WZFree wzone; ENDPROC Quando se movendo para p_pick, a posio do TCP do rob checada para que ele no entre em um volume wzone especificado. Esta superviso no desempenhada quando indo para p_place, mas reativada antes de ir para p_home. Quando esta posio atingida, a definio da zona global eliminada.

Argumentos WZFree WorldZone WorldZone


Tipo de dados: wztemporary

Varivel ou varivel persistente do tipo wztemporary que contm a identidade da zona global a ser eliminada.

Execuo do programa
A zona global temporria primeiro desativada e depois a sua definio eliminada. Uma vez eliminada, a zona global temporria no pode ser reativada nem desativada.

Limitaes
Somente uma zona global temporria pode ser eliminada. Uma zona global estacionria est sempre ativa.

Data Types do Sistema e Rotinas

2-WZFree-477

WZFree

Instrues

Sintaxe
WZFree [WorldZone:=]<varivel ou persistente (INOUT) de wztemporary>;

Informaes relacionadas
Descritas em: Zonas Globais Forma da zona global Dados da zona global temporria Activar superviso de limites de zona global Ativando sada relativa a uma zona Desativar zona global Eliminar zona global Deslocamento e Principios E/S Zonas Globais Tipos de Dados - shapedata Tipos de dados - wztemporary Instrues - WZLimSup Instrues - WZDOSet Instrues - WZDisable Instrues - WZFree

2-WZFree-478

Data Types do Sistema e Rotinas

Instrues

WZLimSup

WZLimSup Ativar superviso do limite da zona global


WZLimSup (Superviso do Limite da Zona Global) usada para definir a ao e ativar uma zona global para superviso do espao de trabalho do rob. Aps esta instruo ser executada, quando o TCP do rob atingir a zona global definida, o movimento parado durante a execuo do programa e a movimentao.

Exemplo
VAR wzstationary max_workarea; ... PROC POWER_ON() VAR shapedata volume; ... WZBoxDef \Outside, volume, corner1, corner2; WZLimSup \Stat, max_workarea, volume; ENDPROC A definio e ativao da zona global estacionria max_workarea, com a forma da rea externa de uma caixa (guardada temporariamente em volume) e a superviso da rea de trabalho da ao. O rob pra com uma mensagem de erro antes de entrar na rea externa da caixa.

Argumentos WZLimSup (\Temp) | (\Stat) WorldZone Shape \Temp


(Temporria) Tipo de dados: switch

A zona global a definir uma zona global temporria.

\Stat

(Estacionria)

Tipo de dados: switch

A zona global a definir uma zona global estacionria. Um dos argumentos \Temp ou \Stat tem de ser especificado.

WorldZone

Tipo de dados: wztemporary

Varivel ou persistente que ser atualizada com a identidade (valor numrico) da zona global. Quando usando o parmetro \Temp, o tipo de dados tem de ser wztemporary. Quando usando o parmetro \Stat, o tipo de dados tem de ser wzstationary.

Data Types do Sistema e Rotinas

2-WZLimSup-479

WZLimSup
Shape
A varivel que define o volume da zona global.

Instrues
Tipo de dados: shapedata

Execuo do programa
A zona global definida ativada. A partir deste momento, a posio do TCP do rob supervisionada. Se atingir a rea definida, o movimento parado.

Exemplo
VAR wzstationary box1_invers; VAR wzstationary box2; PROC wzone_power_on() VAR shapedata volume; CONST pos box1_c1:=[500,-500,0]; CONST pos box1_c2:=[-500,500,500]; CONST pos box2_c1:=[500,-500,0]; CONST pos box2_c2:=[200,-200,300]; ... WZBoxDef \Outside, volume, box1_c1, box1_c2; WZLimSup \Stat, box1_invers, volume; WZBoxDef \Inside, volume, box2_c1, box2_c2; WZLimSup \Stat, box2, volume; ENDPROC A limitao da rea de trabalho para o rob com as seguintes zonas globais estacionrias: - Fora da rea de trabalho quando fora de box1_invers - Fora da rea de trabalho quando dentro de box2 Se esta rotina conectada ao evento de sistema POWER ON, estas zonas globais estaro sempre ativas no sistema, tanto para os movimentos de programa como para os movimentos manuais.

Limitaes
Uma zona global no pode ser redefinida usando a mesma varivel no argumento WorldZone. Uma zona global estacionria no pode ser desativada, ativada novamente ou eliminada no programa RAPID. Uma zona global temporria pode ser desativada (WZDisable), ativada novamente (WZEnable) ou eliminada (WZFree) no programa RAPID.

2-WZLimSup-480

Data Types do Sistema e Rotinas

Instrues

WZLimSup

Sintaxe
WZLimSup (\Temp) | (\Stat), [WorldZone:=]<varivel ou persistente (INOUT) de wztemporary>, [Shape:=] <varivel (VAR) de shapedata>;

Informaes relacionadas
Descritas em: Zonas Globais Forma da zona global Zona global temporria Zona global estacionria Forma da zona global Definir zona global em forma de esfera Definir zona global em forma de cilindro Ativando sada relativa a uma zona Deslocamento e Principios E/S Zonas Globais Tipos de Dados - shapedata Tipos de dados - wztemporary Tipos de dados - wzstationary Tipos de dados - shapedata Instrues - WZSphDef Instrues - WZCylDef Instrues - WZDOSet

Definir zona global em forma de caixa quadradaInstrues - WZBoxDef

Data Types do Sistema e Rotinas

2-WZLimSup-481

WZLimSup

Instrues

2-WZLimSup-482

Data Types do Sistema e Rotinas

Instrues

WZSphDef

WZSphDef Definir uma zona global em forma de esfera


WZSphDef (Definio da Zona Global em Forma de Esfera) usada para definir uma zona global que tem a forma de uma esfera.

Exemplo

Z Y C1

R1

Sistema de Coordenadas Global

VAR shapedata volume; CONST pos C1:=[300,300,200]; CONST num R1:=200; ... WZSphDef \Inside, volume, C1, R1; Definir uma esfera nomeada volume pelo seu centro C1 e pelo seu raio R1.

Argumentos WZSphDef (\Inside) | (\Outside) Shape CentrePoint Radius \Inside


Definir o volume dentro da esfera. Tipo de dados: switch

\Outside
Definir o volume dentro da esfera (volume inverso).

Tipo de dados: switch

Um dos argumentos \Inside ou \Outside tem de ser especificado.

Shape

Tipo de dados: shapedata

Varivel para armazenagem do volume definido (dados privados para o sistema).

Data Types do Sistema e Rotinas

2-WZSphDef-483

WZSphDef
CentrePoint
Posio (x,y,z) em mm definindo o centro da esfera.

Instrues
Tipo de dados: pos

Radius
O raio da esfera em mm.

Tipo de dados: num

Execuo do programa
A definio da esfera armazenada no tipo de varivel shapedata (argumento Shape), para uso futuro nas instrues WZLimSup ou WZDOSet.

Limitaes
Se o rob usado para apontar o CentrePoint, o objeto de trabalho wobj0 deve estar ativo (o uso do componente trans em robtarget, por exemplo, p1.trans como argumento).

Sintaxe
WZSphDef (\Inside) | (\Outside), [Shape:=]<varivel (VAR) de shapedata>, [CentrePoint:=]<expresso (IN) de pos>, [Radius:=]<expresso (IN) de num>;

Informaes relacionadas
Descritas em: Zonas Globais Forma da zona global Definir zona global em forma de caixa Definir zona global em forma de cilindro Ativar superviso de limites de zona global Ativando sada relativa a uma zona Deslocamento e Principios E/S Zonas Globais Tipos de dados - shapedata Instrues - WZBoxDef Instrues - WZCylDef Instrues - WZLimSup Instrues - WZDOSet

2-WZSphDef-484

Data Types do Sistema e Rotinas

Funes
NDICE

Abs ACos Sada A ArgName ASin ATan ATan2 ByteToStr CDate CJointT ClkRead Cos CPos CRobT CTime CTool CWObj DefDFrame DefFrame Dim DotProd DOutput EulerZYX Exp FileTime GOutput GetTime IsPers IsVar MirPos ModTime NOrient NumToStr Offs OpMode OrientZYX

Obtm o valor absoluto Calcula o valor do arco cosseno L o valor de um sinal de sada analgica Obter nome de argumento Calcula o valor arco seno Calcula o valor do arco tangente Calcula o valor do arco tangente2 Converte um byte em dados de string L a data atual como um texto L os ngulos atuais dos eixos L um relgio usado para temporizao Calcula o valor do cosseno L o dado (pos) da posio atual L o dado (robtarget) da posio do rob L a hora atual como um texto L o dado da ferramenta atual L o dado do objeto de trabalho atual Define um frame de deslocamento Define um frame Obtm a dimenso de uma matriz Produto Dot para vetores de duas pos L o valor de um sinal de sada digital Obtm os ngulos de Euler a partir da orientao Calcula o valor exponencial Recuperar informao de tempo acerca de um arquivo L o valor de um grupo de sinais de sada digital L o tempo atual como um valor numrico Persistente Varivel Espelhando uma posio Obter tempo de carga para mdulo de carga Normaliza a Orientao Converte um valor numrico em texto Desloca uma posio do rob L o modo de operao Constri uma orientao de ngulos de Euler 3-485

Data Types do Sistema e Rotinas

Funes

ORobT PoseInv PoseMult PoseVect Pow Present ReadBin ReadMotor ReadNum ReadStr RelTool Round RunMode Sin Sqrt StrFind StrLen StrMap StrMatch StrMemb StrOrder StrPart StrToByte StrToVal Tan TestAndSet TestDI Trunc ValToStr VectMagn

Remove um deslocamento de uma posio Inverte a posio Multiplica o dado de posio Aplica uma transformao em um vetor Calcula a potncia de um valor Testa se um parmetro opcional usado L a partir de um canal ou arquivo serial binrio L os ngulos atuais do motor L um nmero de um arquivo ou do canal serial L um texto de um arquivo ou do canal serial Faz um deslocamento relativo para a ferramenta Arredonda um valor numrico L o modo de funcionamento Calcula o valor do seno Calcula o valor da raiz quadrada Busca de um caracter num texto D o comprimento do texto Mapeia um texto Busca por um modelo em um texto Verifica se um caracter pertence a um grupo Verifica se os textos esto ordenados Encontra uma parte de um texto Converte um string em dados de byte Converte uma string num valor Calcula o valor da tangente Testar varivel e ajustar se fora de ajuste Testa se uma entrada digital est acionada Limita um Valor Numrico Converte um valor como um texto Magnitude de um vetor pos

3-486

Data Types do Sistema e Rotinas

Funes

Abs

Abs

Obtm o valor absoluto


Abs usado para obter o valor absoluto, isto , um valor positivo de um dado numrico.

Exemplo
reg1 := Abs(reg2); Reg1 designado como o valor absoluto do reg2.

Valor resultante
O valor absoluto, isto , um valor positivo numrico. por ex. Valor de entrada 3 -3 -2.53 Valor resultante 3 3 2.53

Tipo de dado: num

Argumentos Abs (Entrada)


Tipo de dado: num

Entrada O valor de entrada.

Exemplo
TPRead Num no_of_parts, "Quantas peas devem ser produzidas? "; no_of_parts := Abs(no_of_parts); solicitado ao operador que entre com o nmero de peas a serem produzidas. Para garantir que o valor maior que zero, o valor fornecido pelo operador tornado positivo.

Sintaxe
Abs ( [ Input := ] < expression (IN) of num > )

Data Types do Sistema e Rotinas

3-Abs-487

Abs
Uma funo com um valor resultante do tipo de dado num.

Funes

Informao relacionada
Descrito em: Instrues e funes matemticas Sumrio RAPID - Matemtica

3-Abs-488

Data Types do Sistema e Rotinas

Funes

ACos

ACos

Calcula o valor do arco cosseno


ACos (Arc Cosine) usado para calcular o valor do arco cosseno.

Exemplo
VAR num angulo; VAR num valor; . . angulo := ACos(valor);

Valor resultante

Tipo de dado: num

O valor do arco cosseno, expresso em graus, na faixa [0, 180].

Argumentos ACos
Valor O valor do argumento na faixa [-1, 1].

(Valor)
Tipo de dado: num

Sintaxe
Acos( [Valor :=] <expresso (IN) do num> ) Uma funo com o valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues e funes matemticas Sumrio RAPID - Matemtica

Data Types do Sistema e Rotinas

3-ACos-489

ACos

Funes

3-ACos-490

Data Types do Sistema e Rotinas

Funes

GOutput

Sada A

L o valor de um sinal de sada analgica

A Sada A usada para ler o atual valor de um sinal de sada analgica.

Exemplo
If AOutput(ao4) > 5 THEN ... Se o valor atual do sinal ao4 for maior que 5,ento ...

Valor de retorno
Valor atual do sinal.

Data type: num

O valor atual escalado (de acordo com os parmetros do sistema) antes de ser lido pelo programa RAPID. Veja a Figura 34. Valor fsico do sinal de sada (V, mA, etc.) MAX SINAL MAX PROGRAMA Valor lgico no programa MIN PROGRAMA MIN SINAL
Figura 34 Diagrama de como os valores dos sinais analgicos so escalados.

Argumentos A Output
Signal O nome da sada analgica a ser lida.

(Signal)
Data type: signalao

Data Types do Sistema e Rotinas

3-GOutput-491

GOutput

Funes

Sintaxe
AOutput ( [ Signal := ] < varivel (VAR) de signalao > ) Uma funo com um valor de retorno do tipo de dados num.

Informaes relacionadas
Descrio em: Instrues de Entrada/Sada Funcionalidade de Entrada/Sada em geral Configurao de E/S Sistema Sumrio RAPID Sinais de Entrada e Sada Princpios de Movimentao e de E/S Princpios de E/S Guia do Usurio - Parmetros do

3-GOutput-492

Data Types do Sistema e Rotinas

Funes

ASin

ASin

Calcula o valor arco seno


ASin (Arc Sine) usado para calcular o valor do arco seno.

Exemplo
VAR num angulo; VAR num valor; . . angulo := ASin(valor);

Valor resultante

Tipo de dado: num

O valor do arco seno, expresso em graus, na faixa [-90, 90].

Argumentos ASin
Valor O valor do argumento na faixa [-1, 1].

(Valor)
Tipo de dado: num

Sintaxe
ASin( [Valor :=] <expresso (IN) do num> ) Uma funo com o valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues e funes matemticas Sumrio RAPID - Matemtica

Data Types do Sistema e Rotinas

3-ASin-493

ASin

Funes

3-ASin-494

Data Types do Sistema e Rotinas

Funes

ATan

ATan

Calcula o valor do arco tangente


ATan (Arc Tangent) usado para calcular o valor do arco tangente.

Exemplo
VAR num angulo; VAR num valor; . . angulo := ATan(valor);

Valor resultante

Tipo de dado: num

O valor do arco tangente, expresso em graus, na faixa [-90, 90].

Argumentos ATan
Valor O valor do argumento.

(Valor)
Tipo de dado: num

Sintaxe
ATan( [Valor :=] <expresso (IN) do num> ) Uma funo com o valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues e funes matemticas Arco tangente com o valor resultante dentro da faixa [-180, 180] Sumrio RAPID - Matemtica Funes - ATan2

Data Types do Sistema e Rotinas

3-ATan-495

ATan

Funes

3-ATan-496

Data Types do Sistema e Rotinas

Funes

ATan2

ATan2

Calcula o valor do arco tangente2


ATan2 (Arc Tangent2) usado para calcular o valor do arco tangente2.

Exemplo
VAR num angulo; VAR num valor_x; VAR num valor_y; . . angulo := ATan2(valor_y, valor_x);

Valor resultante

Tipo de dado: num

O valor do arco tangente, expresso em graus, na faixa [-180, 180]. O valor ser igual para ATan(y/x), mas dentro da faixa [-180, 180], j que a funo usa o sinal de ambos os argumentos para determinar o quadrante do valor resultante.

Argumentos ATan2
Y O valor do argumento numerador. X O valor do argumento denominador. Tipo de dado: num

(Y

X)
Tipo de dado: num

Sintaxe
ATan2( [Y :=] <expresso (IN) do num> , [X :=] <expresso (IN) do num> ) Uma funo com o valor resultante do tipo de dado num.

Data Types do Sistema e Rotinas

3-ATan2-497

Atan2

Funes

Informao relacionada
Descrito em: Instrues e funes matemticas Arco tangente com apenas um argumento Sumrio RAPID - Matemtica Funes - ATan

3-Atan2-498

Data Types do Sistema e Rotinas

Funes

ByteToStr

ByteToStrConverte um byte em dados de string


ByteToStr (Byte To String) usado para converter um byte em dados de string com um formato definido de dados de byte.

Exemplo
VAR string con_data_buffer{5}; VAR byte data1 := 122; con_data_buffer{1} := ByteToStr(data1); O contedo do componente da matriz con_data_buffer{1} ser "122" aps a funo ByteToStr ... . con_data_buffer{2} := ByteToStr(data1\Hex); O contedo do componente da matriz con_data_buffer{2} ser "7A" aps a funo ByteToStr ... . con_data_buffer{3} := ByteToStr(data1\Okt); O contedo do componente da matriz con_data_buffer{3} ser "172" aps a funo ByteToStr ... . con_data_buffer{4} := ByteToStr(data1\Bin); O contedo do componente da matriz con_data_buffer{4} ser "01111010"aps a funo ByteToStr ... . con_data_buffer{5} := ByteToStr(data1\Char); O contedo do componente da matriz con_data_buffer{5} ser "z" aps a funo ByteToStr ... .

Valor de retorno

Data type: string

O resultado da operao de converso com o formato seguinte: Formato: Dec .....: Hex .....: Okt ......: Bin ......: Char ....: Caracteres: 0 - 9 0 - 9, A -F 0 - 7 0 - 1 Comp.da string: 1-3 2 3 8 Intervalo: "0" - "255" "00" - "FF" "000" - "377" "00000000" "11111111" Um car. ASCII

Qualq. car. ASCII (*) 1

(*) Se forem caracteres ASCII no gravveis, o formato de retorno ser o formato do cdigo de caractere RAPID (ex. \07 para o caractere de controle BEL). Data Types do Sistema e Rotinas 3-ByteToStr-499

ByteToStr

Funes

Argumentos ByteToStr
ByteData Dados de byte a serem convertidos. Se o argumento de chave opcional for omitido, os dados sero convertidos para formato decimal (Dec). [\Hex] (Hexadecimal) Data type: switch

(ByteData [\Hex] | [\Okt] | [\Bin] | [\Char])


Data type: byte

Os dados sero convertidos em formato hexadecimal. [\Okt] (Octal) Data type: switch

Os dados sero convertidos em formato octal. [\Bin] (Binary) Data type: switch

Os dados sero convertidos em formato binary. [\Char] (Character) Data type: switch

Os dados sero convertidos em formato de caractere ASCII.

Limitaes
O intervalo para o tipo de dados byte 0 a 255 decimal.

Sintaxe
ByteToStr( [ByteData :=] <expression (IN) of byte> [\ Hex ] | [\ Okt] | [\ Bin] | [\ Char] ) Uma funo com um valor de retorno do tipo de dados string.

3-ByteToStr-500

Data Types do Sistema e Rotinas

Funes

Pow

Informaes relacionadas
Descrito em: Converter um string em dados de byte Outras funes de bit (byte) Outras funes de string Instrues - StrToByte Sumrio RAPID - Funes de bit Sumrio RAPID - Funes de string

Data Types do Sistema e Rotinas

3-Pow-501

Pow

Funes

3-Pow-502

Data Types do Sistema e Rotinas

Funes

CalcJointT

CalcJointT

Calcula ngulos de juno a partir de robtarget

CalcJointT (Calcular Alvo de Juno) usado para calcular ngulos de juno dos eixos externos e eixos do rob a partir de um dado robtarget especificado. O dado robtarget de entrada deve ser especificado no mesmo sistema de coordenadas, conforme especificado no argumento para Tool, WObj e na relocao do programa ativo em tempo de execuo (ProgDisp) e no deslocamento de eixos externos (EOffs). O dado jointtarget retornado expresso no sistema de coordenadas de calibrao.

Exemplo
VAR jointtarget jointpos1; CONST robtarget p1 := [...]; jointpos1 := CalcJointT(p1, tool1 \WObj:=wobj1); O valor jointtarget correspondente ao valor robtarget p1 armazenado em jointpos1. A ferramenta tool1 e o objeto de trabalho wobj1 so usados para calcular os ngulos de juno jointpos1.

Valor de retorno

Tipo de dados: jointtarget

Os ngulos dos eixos do rob no lado do brao, em graus. Os valores dos eixos externos, em mm para eixos lineares, em graus para eixos rotacionais. Os valores retornados so sempre relacionados posio de calibrao.

Argumentos CalcJointT ( Rob_target Tool [\WObj] ) Rob_target


Tipo de dados: robtarget

A posio dos eixos externos e do rob no sistema de coordenadas mais externo, em relao ao objeto de trabalho e ferramenta especificados e na relocao do programa ativo em tempo de execuo (ProgDisp) e/ou deslocamento dos eixos externos (EOffs).

Ferramenta

Tipo de dados: tooldata

A ferramenta usada para clculo dos ngulos de juno do rob.

Data Types do Sistema e Rotinas

3-CalcJointT-503

CalcJointT
[\WObj] (Objeto de trabalho)

Funes
Tipo de dados: wobjdata

O objeto de trabalho (sistema de coordenadas) ao qual a posio do rob est relacionada. Se esse argumento for omitido, o objeto de trabalho wobj0 ser usado. Esse argumento precisa ser especificado caso seja utilizada ferramenta estacionria, eixos externos coordenados ou transportador

Execuo do programa
O jointtarget retornado calculado a partir do robtarget de entrada. Para calcular os ngulos de juno do rob, a Ferramenta especificada, o WObj (incluindo o quadro de usurio coordenado) e o ProgDisp ativo em tempo de execuo so levados em considerao. Para calcular a posio dos eixos externos, os EOffs ativos em tempo de execuo so levados em considerao. O clculo sempre seleciona a configurao do rob de acordo com os dados de configurao especificados nos dados robtarget de entrada. Instrues ConfL e ConfJ no afetam esse princpio de clculo. No caso de singularidade de punho, os eixos 4 dos robs sero ajustados em 0 grau. No caso de alguma relocao de programa ativo (ProgDisp) e/ou deslocamento de eixos externos (EOffs) quando do armazenamento de robtarget, a mesma relocao de programa e/ou deslocamento de eixos externos dever estar ativa quando da execuo de CalcJointT.

Sintaxe
CalcJointT( [Rob_target :=] <expression (IN) of robtarget> , [Tool := ] <persistent (PERS) of tooldata> [\WObj := <persistent (PERS) of wobjdata>] ) Uma funo com um valor de retorno do tipo de dados jointtarget.

3-CalcJointT-504

Data Types do Sistema e Rotinas

Funes

CalcJointT

Informaes relacionadas
Descrito em: Calcular robtarget a partir de jointtarget Definio de posio Definio de posio de juno Definio de ferramentas Definio de objetos de trabalho Sistemas de coordenadas Sistema de coordenadas de relocao de programa Sistema de coordenadas de deslocamento de eixos externos Funes - CalcRobT Tipos de dados - robtarget Tipos de dados - jointtarget Tipos de dados - tooldata Tipos de dados - wobjdata Princpios de E/S e movimentao Sistemas de coordenadas Instrues - PDispOn Instrues - EOffsOn

Data Types do Sistema e Rotinas

3-CalcJointT-505

CalcJointT

Funes

3-CalcJointT-506

Data Types do Sistema e Rotinas

Funes

CalcRobT

CalcRobTCalcula robtarget a partir de jointtarget


CalcRobT (Calcular Alvo de Rob) usado para calcular um dado robtarget a partir de um dado jointtarget fornecido. Essa funo retorna um valor robtarget com a posio (x, y, z), orientao (q1 ... q4), configurao de eixos do rob e posio de eixos externos. O dado de entrada jointtarget deve ser especificado no sistema de coordenadas de calibrao. O dado robtarget retornado expresso no sistema de coordenadas mais externo, levando em considerao a ferramenta especificada, o objeto de trabalho e a relocao de programa ativo em tempo de execuo (ProgDisp) e o deslocamento de eixos externos (EOffs).

Exemplo
VAR robtarget p1; CONST jointtarget jointpos1 := [...]; p1 := CalcRobT(jointpos1, tool1 \WObj:=wobj1); O valor robtarget correspondente ao valor jointtarget jointpos1 armazenado em p1. A ferramenta tool1 e o objeto de trabalho wobj1 so usados para calcular a posio p1.

Valor de retorno

Tipo de dados: robtarget

A posio dos eixos externos e do rob retornada no tipo de dados robtarget e expressa no sistema de coordenadas mais externo, levando em considerao a ferramenta especificada, o objeto de trabalho, a relocao de programa ativo em tempo de execuo (ProgDisp) e o deslocamento de eixos externos (EOffs). Se no houver ProgDisp ativo, a posio do rob ser expressa no sistema de coordenadas do objeto. Se no houver EOffs ativos, a posio dos eixos externos ser expressa no sistema de coordenadas de calibrao.

Argumentos CalcRobT ( Joint_target Tool [\WObj] ) Joint_target


Tipo de dados: jointtarget

A posio de juno para os eixos externos e os eixos do rob em relao ao sistema de coordenadas de calibrao.

Data Types do Sistema e Rotinas

3-CalcRobT-507

CalcRobT
Tool
A ferramenta usada para clculo da posio do rob. [\WObj] (Objeto de trabalho)

Funes
Tipo de dados: tooldata

Tipo de dados: wobjdata

O objeto de trabalho (sistema de coordenadas) ao qual est relacionada a posio do rob retornada pela funo. Se esse argumento for omitido, o objeto de trabalho wobj0 ser usado. Esse argumento precisa ser especificado caso se use ferramenta estacionria, eixos externos coordenados ou transportador

Execuo do programa
O robtarget retornado calculado a partir do jointtarget de entrada. Para calcular a posio cartesiana do rob, a Tool especificada, o WObj (incluindo o quadro de coordenadas do usurio) e o ProgDisp ativo em tempo de execuo sero levados em considerao. Para calcular a posio dos eixos externos, os EOffs ativos em tempo de execuo so levados em considerao.

Sintaxe
CalcRobT( [Joint_target := ] <expression (IN) of jointtarget> , [Tool := ] <persistent (PERS) of tooldata> [\WObj := <persistent (PERS) of wobjdata>] ) Uma funo com um valor de retorno do tipo de dados robtarget.

3-CalcRobT-508

Data Types do Sistema e Rotinas

Funes

CalcRobT

Informaes relacionadas
Descrito em: Calcular jointtarget a partir de robtarget Definio de posio Definio de posio de juno Definio de ferramentas Definio de objetos de trabalho Sistemas de coordenadas Sistema de coordenadas de relocao de programa Sistema de coordenadas de deslocamento de eixos externos Funes - CalcJointT Tipos de dados - robtarget Tipos de dados - jointtarget Tipos de dados - tooldata Tipos de dados - wobjdata Princpios de E/S e movimentao Sistemas de Coordenadas Instrues - PDispOn Instrues - EOffsOn

Data Types do Sistema e Rotinas

3-CalcRobT-509

CalcRobT

Funes

3-CalcRobT-510

Data Types do Sistema e Rotinas

Funes

CDate

CDate

L a data atual como um texto


CDate (Current Date) usado para ler a data atual do sistema. Esta funo usada para apresentar a data atual ao operador no display da unidade de programao ou colar a data atual em um arquivo de texto a ser escrito pelo programa.

Exemplo
VAR string data; data := CDate(); A data atual pode ser armazenada na varivel data.

Valor resultante
A data atual em um texto.

Tipo de dado: string

O formato padro da data "ano-ms-dia", por ex. "1998-01-29".

Exemplo
data := CDate(); TPWrite "A data atual : "+data; Write logfile, data; Esta data escrita no display da unidade de programao e no arquivo de texto.

Sintaxe
CDate ( ) Uma funo com o valor resultante do tipo string.

Informao relacionada
Descrita em: Instrues de hora Ajuste do relgio do sistema Sumrio RAPID - Sistema & Hora Guia do Usurio - Parmetros do Sistema

Data Types do Sistema e Rotinas

3-CDate-511

CDate

Funes

3-CDate-512

Data Types do Sistema e Rotinas

Funes

CJointT

CJointT

L os ngulos atuais dos eixos

CJointT (Current Joint Target) usado para ler os ngulos atuais dos eixos dos rob e dos eixos externos.

Exemplo
VAR jointtarget eixos; eixos := CJointT(); Os ngulos atuais dos eixos do rob e dos eixos externos so armazenados em joints.

Valor resultante

Tipo de dado: jointtarget

Os ngulos atuais, em graus, para os eixos do rob no lado do brao. Os valores atuais para os eixos externos, em mm para eixos lineares, em graus para eixos giratrios. Os valores resultantes esto relacionados com a posio de calibrao.

Sintaxe
CJointT() Uma funo com um valor resultante do tipo de dado jointtarget.

Informao relacionada
Descrito em: Definio do eixo Lendo o ngulo atual do motor Tipos de dados - jointtarget Funes - ReadMotor

Data Types do Sistema e Rotinas

3-CJointT-513

CJointT

Funes

3-CJointT-514

Data Types do Sistema e Rotinas

Funes

ClkRead

ClkRead L um relgio usado para temporizao


ClkRead usado para ler um relgio que funciona como um cronmetro usado para temporizao.

Exemplo
reg1:=ClkRead(clock1); O relgio clock1 lido e o tempo, em segundos, armazenado na varivel reg1.

Valor resultante

Tipo de dado: num

O tempo, em segundos, armazenado no relgio. Resoluo de 0,010 segundos.

Argumentos ClkRead
Relgio O nome do relgio a ser lido.

(Relgio)
Tipo de dado: clock

Execuo do programa
Um relgio pode ser lido quando ele est parado ou funcionando. Uma vez que um relgio lido ele pode ser lido de novo, reiniciado, parado ou resetado. Se o relgio exceder seu limite, a execuo do programa parada com uma mensagem de erro.

Sintaxe
ClkRead ( [ Relgio := ] < varivel (VAR) do clock > ) Uma funo com um valor resultante do tipo num.

Data Types do Sistema e Rotinas

3-ClkRead-515

ClkRead

Funes

Informao relacionada
Descrito em: Instrues de relgio Overflow do relgio Mais exemplos Sumrio RAPID - Sistema & Hora Tipos de dados - clock Instrues - ClkStart

Interno
ClkRead age nas maneiras seguintes nos diferentes modos de execuo de programas : Modo Para a frente Para a frenta - Passo a passo Simulado Para trs Comportamento: Execuo normal Execuo normal Execuo normal No executado Retorno imediato REAL_READY

3-ClkRead-516

Data Types do Sistema e Rotinas

Funes
PGINA DE REVISO
Nmero de Registro do Documento: ROL93067.ARD
REVISTO PELO Autor Projeto Assunto Outros Documentao do usurio Qualidade: Manual do usurio Teste: Manual do usurio Fato: Manual do usurio Final: Manual do usurio KCF KC KC KCF MT KCR DEP NOME Steve Simpson Hkan Brantmark Hkan Brantmark SEJ, PE Mats Kllman Mats Myhr 940303 940303 DATA

ClkRead

ASSINATURA

KC KC MT

F Runge KC/Brantmark, KCF/SEJ

940215 940214

REVISO
REV. PGINA (P) CAPT. (C) All All Primeira emisso. Encontro de reviso KC/HB, KCF/SEJ, SS, MT/MS Manual M94, pequenas alteraes Acrescentado tempo de resoluo no RW3.1 DESCRIO DATA DEPT../ASSIN.. 930505 KCF/SS 930608 KCF/SS 930903 MT/MK 940303 MT/MK 980303 KCF/SEJO

0.1 A1 A2 A3 w3.1

Data Types do Sistema e Rotinas

3-ClkRead-517

ClkRead

Funes

3-ClkRead-518

Data Types do Sistema e Rotinas

Funes

Cos

Cos

Calcula o valor do cosseno


Cos (Cosine) usado para calcular o valor do cosseno de um ngulo.

Exemplo
VAR num angulo; VAR num valor; . . valor := Cos(angulo);

Valor resultante
O valor do cosseno na faixa = [-1, 1] .

Tipo de dado: num

Argumentos Cos (Angulo)


Tipo de dado: num

ngulo O valor do ngulo, expresso em graus.

Sintaxe
Cos( [Angulo :=] <expresso (IN) do num> ) Uma funo com um valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues e funes matemticas Sumrio RAPID - Matemtica

Data Types do Sistema e Rotinas

3-Cos-519

Cos

Funes

3-Cos-520

Data Types do Sistema e Rotinas

Funes

CPos

CPos

L o dado (pos) da posio atual


CPos (Current Position) usado para ler a posio atual do rob. Esta funo resulta os valores de x, y, e z do TCP do rob como um dado do tipo pos. Se a posio completa do rob (robtarget) tiver que ser lida, use a funo CRobT.

Exemplo
VAR pos pos1; pos1 := CPos(\Tool:=tool1 \WObj:=wobj0); A posio atual do TCP do rob armazenado na varivel pos1. A ferramenta tool1 e o objeto de trabalho wobj0 so usados para o clculo da posio.

Valor resultante

Tipo de dado: pos

A posio atual (pos) do rob com x, y e z no sistema de coordenadas, levando em considerao a ferramenta especificada, o objeto de trabalho e o sistema de coordenadas ProgDisp ativo.

Argumentos CPos ([\Tool] [\WObj]) [\Tool]


Tipo de dado: tooldata

A ferramenta usada para o clculo da posio atual do rob. Se este argumento for omitido, a ferramenta ativa atual usada. [\WObj] (Objeto de Trabalho) Tipo de dado: wobjdata

O objeto de trabalho (sistema de coordenadas) para o qual a posio atual do rob resultou pela funo que est relacionado. Se este argumento for omitido, o objeto de trabalho ativo atual usado. Durante a programao, aconselhvel sempre especificar os argumentos \Tool e \WObj. A funo ir ento, sempre retornar a posio desejada, a menos que alguma outra ferramenta ou objeto de trabalho tenham sido ativados manualmente.

Data Types do Sistema e Rotinas

3-CPos-521

CPos

Funes

Execuo do programa
As coordenadas resultantes representam a posio do TCP no sistema de coordenadas ProgDisp.

Exemplo
VAR pos pos2; VAR pos pos3; VAR pos pos4; pos2 := CPos(\Tool:=grip3 \WObj:=fixture); . . pos3 := CPos(\Tool:=grip3 \WObj:=fixture); pos4 := pos3-pos2; As posies x, y e z do rob so armazenadasb em duas posies dentro do programa usando a funo CPos. A ferramenta grip3 e o objeto de trabalho fixture so usados para o clculo da posio. As distncias x, y e z movimentadas entre estas posies so ento calculadas e armazenadas na varivel pos4, do tipo pos.

Sintaxe
CPos ( [\Tool := <persistente (PERS) do tooldata>] [\WObj := <persistente (PERS) do wobjdata>] ) Uma funo com o valor resultante do tipo de dado pos.

Informao relacionada
Descrito em: Definio da posio Definio das ferramentas Definio dos objetos de trabalho Sistemas de coordenadas Lendo o robtarget atual Tipos de dados - pos Tipos de dados- tooldata Tipos de dados - wobjdata Movimento e Princpios de E/S - Sistemas de Coordenadas Funes - CRobT

3-CPos-522

Data Types do Sistema e Rotinas

Funes

CRobT

CRobT

L o dado (robtarget) da posio do rob

CRobT (Current Robot Target) usado para ler a posio atual do rob e dos eixos externos. Esta funo resulta um valor robtarget com posio (x, y, z), orientao (q1 ... q4), configurao dos eixos do rob e posio dos eixos externos. Se apenas os valores x, y, e z do TCP (pos) tiverem que ser lidos, use a funo CPos.

Exemplo
VAR robtarget p1; p1 := CRobT(\Tool:=tool1 \WObj:=wobj0); A posio atual dos eixos externos e do rob, armazenada em p1. A ferramenta tool1 e o objeto de trabalho wobj0 so usados para o clculo da posio.

Valor resultante

Tipo de dado: robtarget

A posio atual dos eixos externos e do rob no sistema de coordenadas, levando em considerao a ferramenta especificada, o objeto de trabalho e o sistema de coordenadas ProgDisp/ExtOffs ativo.

Argumentos CRobT ([\Tool] [\WObj]) [\Tool]


Tipo de dado: tooldata

A ferramenta usada para o clculo da posio atual do rob. Se este argumento for omitido, a ferramenta ativa atual usada. [\WObj] (Work Object) Tipo de dado: wobjdata

O objeto de trabalho (sistema de coordenada) para o qual a posio atual do rob resultou pela funo que est relacionado. Se este argumento for omitido, o objeto de trabalho ativo atual usado. Durante a programao, aconselhvel sempre especificar os argumentos \Tool e \WObj. A funo ir ento, sempre retornar a posio desejada, a menos que alguma outra ferramenta ou objeto de trabalho tenham sido ativados manualmente.

Data Types do Sistema e Rotinas

3-CRobT-523

CRobT

Funes

Execuo do programa
As coordenadas resultantes representam a posio do TCP no sistema de coordenada ProgDisp. Eixos externos so representados no sistema de coordenada ExtOffs.

Exemplo
VAR robtarget p2; p2 := ORobT( RobT(\Tool:=grip3 \WObj:=fixture) ); A posio atual, no sistema de coordenadas de objeto (sem nenhum ProgDisp ou ExtOffs), dos eixos externos e do rob armazenada em p2. A ferramenta grip3 e o objeto de trabalho fixture so usados para o clculo da posio.

Sintaxe
CRobT( [\Tool := <persistente (PERS) do tooldata>] [\WObj := <persistente (PERS) do wobjdata>] ) Uma funo com o valor resultante do tipo de dado robtarget.

Informao relacionada
Descrito em: Definio da posio Definio das ferramentas Definio dos objetos de trabalho Sistemas de coordenadas Sistema de coordenadas ExtOffs Lendo o pos atual (apenas x, y, z) Tipos de dados - robtarget Tipos de dados- tooldata Tipos de dados - wobjdata Movimento e Princpios de E/S - Sistemas de Coordenadas Instrues - EOffsOn Funes - CPos

3-CRobT-524

Data Types do Sistema e Rotinas

Funes

CTime

CTime

L a hora atual como um texto


CTime usado para ler a hora atual do sistema. Esta funo pode ser usada para apresentar a hora atual para o operador no display da unidade de programao ou para colar a hora atual em um arquivo de texto a ser escrito pelo programa.

Exemplo
VAR string hora; hora := CTime(); A hora atual armazenada na varivel time.

Valor resultante
A hora atual em um texto.

Tipo de dado: string

O formato padro da hora "hora:minutos:segundos", por ex. "18:20:46".

Exemplo
hora := CTime(); TPWrite A hora atual : +hora; Write logfile, hora; A hora atual escrita no display da unidade de programao e num arquivo de texto.

Sintaxe
CTime ( ) Uma funo com um valor resultante do tipo string.

Data Types do Sistema e Rotinas

3-CTime-525

CTime

Funes

Informao relacionada
Descrito em: Instrues de hora e data Ajuste do relgio do sistema Sumrio RAPID - Sistema & Hora Guia do Usurio - Parmetros do Sistema

3-CTime-526

Data Types do Sistema e Rotinas

Funes

CTool

CTool

L o dado da ferramenta atual


CTool (Current Tool) usado para ler o dado da ferramenta atual.

Exemplo
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(); O valor da ferramenta atual armazenada na varivel temp_tool.

Valor resultante

Tipo de dado: tooldata

Esta funo resulta um valor de tooldata contendo o valor da ferramenta atual, isto , a ltima ferramenta usada numa instruo de movimento. O valor resultante representa a posio do TCP e a orientao no sistema de coordenadas do punho, veja tooldata.

Sintaxe
CTool() Uma funo com o valor resultante do tipo de dado tooldata.

Informao relacionada
Descrito em: Definio das ferramentas Sistemas de coordenadas Tipos de dados- tooldata Movimento e Princpios de E/S - Sistemas de Coordenadas

Manual de Referncia do RAPID

9-CTool-527

CTool

Funes

9-CTool-528

Manual de Referncia do RAPID

Funes

CWObj

CWObj

L o dado do objeto de trabalho atual

CWObj (Current Work Object) usado para ler o dado do objeto de trabalho atual.

Exemplo
PERS wobjdata temp_wobj; temp_wobj := CWObj(); O valor do objeto de trabalho atual armazenado na varivel temp_wobj.

Valor resultante

Tipo de dado: wobjdata

Esta funo resulta um valor de wobjdata contendo o valor do objeto de trabalho atual, isto , o ltimo objeto de trabalho usado numa instruo de movimento. O valor resultante representa a posio do objeto de trabalho e a orientao no sistema de coordenadas global, veja wobjdata.

Sintaxe
CWObj() Uma funo com o valor resultante do tipo de dado wobjdata.

Informao relacionada
Descrito em: Definio de objetos de trabalho Sistemas de coordenadas Tipos de dados - wobjdata Movimento e Princpios de E/S - Sistemas de Coordenadas

Data Types do Sistema e Rotinas

3-CWObj-529

CWObj

Funes

3-CWObj-530

Data Types do Sistema e Rotinas

Funes

DefDFrame

DefDFrame

Define um frame de deslocamento

DefDFrame (Define Displacement Frame) usado para calcular um frame de deslocamento a partir de trs posies originais e trs posies de deslocamento.

Exemplo
p3 p6

p5 p4 p1 p2

Trs posies, p1- p3, relativas a um objeto na posio original, foram armazenadas. Depois de um deslocamento do objeto, as mesmas posies so procuradas e armazenadas como p4-p6. A partir destas seis posies o frame de deslocamento calculado. Em seguida, o frame calculado usado para deslocar todas as posies armazenadas no programa. CONST robtarget p1 := [...]; CONST robtarget p2 := [...]; CONST robtarget p3 := [...]; VAR robtarget p4; VAR robtarget p5; VAR robtarget p6; VAR pose frame1; . !Search for the new positions SearchL sen1, p4, *, v50, tool1; . SearchL sen1, p5, *, v50, tool1; . SearchL sen1, p6, *, v50, tool1; frame1 := DefDframe (p1, p2, p3, p4, p5, p6); . !activation of the displacement defined by frame1 PDispSet frame1;

Valor resultante
O frame de deslocamento.

Tipo de dado: pose

Manual de Referncia do RAPID

9-DefDFrame-531

DefDFrame

Funes

Argumentos DefDFrame
OldP1 A primeira posio original. OldP2 A segunda posio original. OldP3 A terceira posio original. NewP1 Tipo de dado: robtarget Tipo de dado: robtarget Tipo de dado: robtarget

(OldP1 OldP2

OldP3

NewP1

NewP2

NewP3)

Tipo de dado: robtarget

A primeira posio deslocada. Esta posio deve ser medida e determinada com grande preciso. NewP2 Tipo de dado: robtarget

A segunda posio deslocada. Deve ser notado que esta posio pode ser medida e determinada com menos preciso em uma direo, por ex. esta posio deve estar localizada em uma linha descrevendo a nova direo de p1 p2. NewP3 Tipo de dado: robtarget

A terceira posio deslocada. Esta posio pode ser medida e determinada com menos preciso em duas direes, por ex. ela deve estar posicionada em um plano descrevendo o novo plano de p1, p2 e p3.

Tratamento de erros
Se no for possvel calcular o frame devido a falta de preciso nas posies, a varivel de sistema ERRNO ser definida como ERR_FRAME. Assim, esse erro poder ser tratado na rotina de tratamento de erros.

Sintaxe
DefDFrame( [OldP1 :=] <expresso (IN) de robtarget> , [OldP2 :=] <expresso (IN) de robtarget> , [OldP3 :=] <expresso (IN) de robtarget> , [NewP1 :=] <expresso (IN) de robtarget> , [NewP2 :=] <expresso (IN) de robtarget> , [NewP3 :=] <expresso (IN) de robtarget> ) Uma funo com o valor resultante do tipo de dado pose.

9-DefDFrame-532

Manual de Referncia do RAPID

Funes

DefDFrame

Informao relacionada
Descrito em: Ativao do frame de deslocamento Instrues - PDispSet Definio manual do frame de deslocamento Guia do Usurio - Calibrao

Manual de Referncia do RAPID

9-DefDFrame-533

DefDFrame

Funes

9-DefDFrame-534

Manual de Referncia do RAPID

Funes

DefFrame

DefFrame

Define um frame

DefFrame (Define Frame) usado para calcular um frame, a partir de trs posies definindo um frame.

Exemplo
y z p3 z x p2 y frame1 p1 frame do objeto x

Trs posies, p1- p3, relacionado ao sistema de coordenadas do objeto, so usadas para definir o novo sistema de coordenadas, frame1. A primeira posio, p1, define a origem do frame1, a segunda posio, p2, define a direo do eixo-x e a terceira posio, p3, define a localizao do plano-xy. O frame1 definido pode ser usado como um frame de deslocamento, conforme mostrado no exemplo abaixo: CONST robtarget p1 := [...]; CONST robtarget p2 := [...]; CONST robtarget p3 := [...]; VAR pose frame1; . . frame1 := DefFrame (p1, p2, p3); . . !activation of the displacement defined by frame1 PDispSet frame1;

Valor resultante
O frame calculado.

Tipo de dado: pose

O calculo est relacionado ao sistema de coordenadas de objeto ativo.

Data Types do Sistema e Rotinas

3-DefFrame-535

DefFrame

Funes

Argumentos DefFrame
NewP1

(NewP1 NewP2

NewP3

[\Origin])
Tipo de dado: robtarget

A primeira posio que definir a origem da nova estrutura. NewP2 Tipo de dado: robtarget

A segunda posio que definir a direo do eixo-x da nova estrutura. NewP3 Tipo de dado: robtarget

A terceira posio, que definir o plano-xy do novo frame. A posio do ponto 3 estar no lado y positivo, veja a figura acima.

[\Origin]

Tipo de dado: num

O argumento opcional que definir como ser colocada a origem da estrutura. Origem = 1, significa que a origem colocada em NewP1, por exemplo, o mesmo como se este argumento fosse omitido. Origem = 2, significa que a origem colocada em NewP2, veja a figura abaixo. z z New P3 x y New P2 frame1 y

estrutura do objeto

New P1

Origin = 3 significa que a origem colocada na linha que vai de NewP1 para NewP2, e deste modo NewP3 fica colocado no eixo-y, veja a figura abaixo. z y z y New P3 x New P2 frame1

object frame

New P1

3-DefFrame-536

Data Types do Sistema e Rotinas

Funes

DefFrame
Outros valores ou se a Origem for omitida colocaro a origem em NewP1.

Limitaes
As trs posies p1 - p3, que delimitam o frame, devem perfazer um tringulo bem definido. O tringulo mais bem definido o que tem todos os lados com o mesmo comprimento.

p2 p3

p1

O tringulo no considerado bem definido quando o ngulo muito pequeno. O ngulo muito pequeno se: cos
<1

10

O tringulo p1, p2, p3 no pode ser muito pequeno, ou seja, as posies no podem ser muito prximas. As distncias entre as posies p1 - p2 e p1 - p3 n podem ser menores que 0,1 mm.

Tratamento de erros
Se o frame no puder ser calculado devido s limitaes acima, a varivel de sistema ERRNO ser definida como ERR_FRAME. Assim, esse erro poder ser tratado na rotina de tratamento de erros.

Sintaxe
DefFrame( [NewP1 :=] <expresso (IN) de robtarget> , [NewP2 :=] <expresso (IN) de robtarget> , [NewP3 :=] <expresso (IN) de robtarget> [\Origin := <expresso (IN) de num> ]) A funo com o valor resultante do tipo de dado pose.

Data Types do Sistema e Rotinas

3-DefFrame-537

DefFrame

Funes

Informao relacionada
Descrito em: Instrues e funes matemticas Ativao do frame de deslocamento Sumrio RAPID - Matemtica Instrues - PDispSet

3-DefFrame-538

Data Types do Sistema e Rotinas

Funes

Dim

Dim

Obtm a dimenso de uma matriz


Dim (Dimension) usado para obter o nmero de elementos de uma matriz.

Exemplo
PROC arrmul(VAR num matriz{*}, num fator) FOR ndice FROM 1 TO Dim(matriz, 1) DO matriz{ndice} := matriz{ndice} * fator; ENDFOR ENDPROC Todos os elementos de uma matriz so multiplicados por um fator. Este procedimento pode obter qualquer matriz unidimensional do tipo de dado num como uma entrada.

Valor resultante

Tipo de dado: num

O nmero de elementos de uma matriz da dimenso especificada.

Argumentos Dim
ArrPar O nome da matriz. DimNo (Dimension Number) Tipo de dado: num

(ArrPar DimNo)
(Array Parameter) Tipo de dado: Any type

A dimenso de matriz desejada: 1 = primeira dimenso 2 = segunda dimenso 3 = terceira dimenso

Data Types do Sistema e Rotinas

3-Dim-539

Dim

Funes

Exemplo
PROC add_matrix(VAR num matriz1{*,*,*}, num matriz2{*,*,*}) IF Dim(matriz1,1) <> Dim(matriz2,1) OR Dim(matriz1,2) <> Dim(matriz2,2) OR Dim(matriz1,3) <> Dim(matriz2,3) THEN TPWrite "O tamanho das matrizes no so os mesmos"; Stop; ELSE FOR i1 FROM 1 TO Dim(matriz1, 1) DO FOR i2 FROM 1 TO Dim(matriz1, 2) DO FOR i3 FROM 1 TO Dim(matriz1, 3) DO matriz1{i1,i2,i3} := matriz1{i1,i2,i3} + matriz2{i1,i2,i3}; ENDFOR ENDFOR ENDFOR ENDIF RETURN; ENDPROC Duas matrizes so adicionadas. Se a dimenso das matrizes diferirem, o programa pra e uma mensagem de erro aparece. Este procedimento pode obter qualquer matriz tridimensional do tipo de dado num como uma entrada

Sintaxe
Dim ( [ArrPar:=] <reference (REF) of any type> , [DimNo:=] <expression (IN) of num> ) O parmetro REF requer que o argumento correspondente seja tanto uma constante, uma varivel ou um persistente inteiro. O argumento poderia ser tambm um parmetro IN, um parmetro VAR ou um parmetro inteiro PERS. Uma funo com o valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Parmetros de matriz Declarao de matriz Caractersticas Bsicas - Rotinas Caractersticas Bsicas - Dado

3-Dim-540

Data Types do Sistema e Rotinas

Funes

Distance

Distance

A distncia entre dois pontos

Distance usado para calcular a distncia entre dois pontos no espao.

Exemplo
y p2 x p1 z VAR num dist; CONST pos p1 := [4,0,4]; CONST pos p2 := [-4,4,4]; ... dist := Distance(p1, p2); A distncia no espao entre os pontos p1 e p2 calculada e armazenada na varivel dist.

Valor de retorno
A distncia (sempre positiva) entre os pontos.

Tipo de dados: num

Argumentos Distance (Point1 Point2)


Point1 O primeiro ponto descrito pelo tipo de dados pos. Point2 O segundo ponto descrito pelo tipo de dados pos. Tipo de dados: pos Tipo de dados: pos

Data Types do Sistema e Rotinas

3-Distance-541

Distance

Funes

Execuo do programa
Clculo da distncia entre os dois pontos conforme:

y x2, y2, z2

x x1,y1,z1 z

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

Sintaxe
Distance( [Point1 :=] <expression (IN) of pos> , [Point2 :=] <expression (IN) of pos> ) Uma funo com um valor de retorno do tipo de dados num.

Informaes relacionadas
Descrito em: Funes e instrues matemticas Definio de pos Resumo RAPID - Matemtica Tipo de dados - pos

3-Distance-542

Data Types do Sistema e Rotinas

Funes

DotProd

DotProd

Produto Dot para vetores de duas pos

DotProd (produto Dot) se usa para calcular o produto dot (ou escalar) de vetores de duas pos. O uso tpico calcular a projeo de um vetor em relao ao outro ou calcular o ngulo entre os dois vetores.

Exemplo
B AB

A A

B cos AB

O produto dot ou escalar de dois vetores A e B um escalar que igual aos produtos das magnitudes de A e B e ao co-seno do ngulo entre eles. A B = A B cos AB O produto dot: menor que ou igual ao produto de suas magnitudes. pode ser uma quantidade positiva ou negativa, dependo do ngulo entre eles ser menor ou maior que 90 graus. igual ao produto da magnitude de um vetor e projeo do outro vetor sob o primeiro. zero quando os vetores so perpendiculares entre si. Os vetores so descritos pelo tipo de dados pos e o produto dot pelo tipo de dados num: VAR num dotprod; VAR pos vector1; VAR pos vector2; . . vector1 := [1,1,1]; vector2 := [1,2,3]; dotprod := DotProd(vetor1, vetor2);

Data Types do Sistema e Rotinas

3-DotProd-543

DotProd

Funes

Valor de retorno
Valor do produto dot dos dois vetores.

Tipo de dados: num

Argumentos DotProd
Vector1 O primeiro vetor descrito pelo tipo de dados pos. Vector2 O segundo vetor descrito pelo tipo de dados pos. Tipo de dados: pos

(Vector1 Vector2)
Tipo de dados: pos

Sintaxe
DotProd( [Vector1 :=] <expresso (IN) de pos> , [Vector2 :=] <expresso (IN) de pos> ) Funo com um valor de retorno do tipo de dados num.

Informaes relacionadas
Descritas em: Instrues e funes matemticas Sumrio RAPID - Matemtica

3-DotProd-544

Data Types do Sistema e Rotinas

Funes

DOutput

DOutput

L o valor de um sinal de sada digital

DOutput usado para ler o valor atual de uma sada digital.

Exemplo
IF DOutput(do2) = 1 THEN . . . Se o valor atual do sinal do2 igual a 1, ento . . .

Valor resultante
O valor atual do sinal (0 ou 1).

Tipo de dado: dionum

Argumentos DOutput
Sinal O nome do sinal a ser lido.

(Sinal)
Tipo de dado: signaldo

Execuo do programa
O valor lido depende da configurao do sinal. Se o sinal est invertido em parmetros de sistema, o valor resultante desta funo o oposto do valor real no canal fisco.

Exemplo
IF DOutput(auto_on) <> active THEN . . . Se o valor atual do sinal de sistema auto_on est not active, ento..., por ex. se o rob estiver no modo de operao manual, ento ... Observe que o sinal deve primeiro ser definido como uma sada de sistema em parmetros do sistema.

Sintaxe
DOutput ( [ Signal := ] < varivel (VAR) do signaldo > ) Uma funo com o valor resultante do tipo de dado dionum.

Data Types do Sistema e Rotinas

3-DOutput-545

DOutput

Funes

Informao relacionada
Descrito em: Instrues Entrada/Sada Funcionalidade em geral de Entrada/Sada Configurao de E/S Sumrio RAPID Sinais de Entrada e Sada Movimento e Princpios de E/S Princpios de E/S Guia do Usurio - Parmetros de Sistema

3-DOutput-546

Data Types do Sistema e Rotinas

Funes

EulerZYX

EulerZYXObtm os ngulos de Euler a partir da orientao


EulerZYX (Euler ZYX rotations) usado para obter o componente do ngulo de Euler a partir de uma varivel do tipo orientao.

Exemplo
VAR num ngulox; VAR num nguloy; VAR num nguloz; VAR pose objeto; . . ngulox := GetEuler(\X, object.rot); nguloy := GetEuler(\Y, object.rot); nguloz := GetEuler(\Z, object.rot);

Valor resultante

Tipo de dado: num

O ngulo Euler correspondente, expresso em graus, na faixa [-180, 180].

Argumentos EulerZYX ([\X] | [\Y] | [\Z] Rotation)

Os argumentos \X, \Y e \Z so mutuamente exclusivos. Se nenhum deles estiver especificado, um erro de tempo de execuo ser gerado. [\X] Obtm a rotao a redor do eixo X. [\Y] Obtm a rotao a redor do eixo Y. [\Z] Obtm a rotao a redor do eixo Z. Rotao A rotao em sua representao de quartnios. Tipo de dado: orient Tipo de dado: switch Tipo de dado: switch Tipo de dado: switch

Data Types do Sistema e Rotinas

3-EulerZYX-547

EulerZYX

Funes

Sintaxe
EulerZYX( ['\'X ,] | ['\'Y ,] | ['\'Z ,] [Rotao :=] <expresso (IN) do orient> ) Uma funo com o valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues e funes matemticas Sumrio RAPID - Matemtica

3-EulerZYX-548

Data Types do Sistema e Rotinas

Funes

Exp

Exp

Calcula o valor exponencial


Exp (Exponential) usado para calcular o valor exponencial, ex.

Exemplo
VAR num x; VAR num valor; . . valor:= Exp( x);

Valor resultante
O valor exponencial ex .

Tipo de dado: num

Argumentos Exp (Expoente)


Tipo de dado: num

Expoente O valor do argumento expoente.

Sintaxe
Exp( [Expoente :=] <expresso (IN) do num> ) Uma funo com o valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues e funes matemticas Sumrio RAPID - Matemtica

Data Types do Sistema e Rotinas

3-Exp-549

Exp

Funes

3-Exp-550

Data Types do Sistema e Rotinas

Funes

FileTime

FileTime Recuperar informao de tempo acerca de um arquivo


FileTime se usa para recuperar a ltima informao de tempo para modificar e acessar ou arquivar alteraes de status de um arquivo. O tempo medido em segs desde 00:00:00 GMT, 1 de jan. 1970. O tempo devolvido como um num.

Exemplo
Load "ram1disk:notmymod.mod"; WHILE TRUE DO ! Chamar uma rotina em notmymod notmymodrout; IF FileTime("ram1disk:notmymod.mod" \ModifyTime) > ModTime("notmymod") THEN UnLoad "ram1disk:notmymod.mod"; Load "ram1disk:notmymod.mod"; ENDIF ENDWHILE Este programa recarrega um mdulo caso exista um mais recente na fonte. Ele usa ModTime para recuperar o ltimo tempo carregado para o mdulo especificado e para o comparar com FileTime\ModifyTime da fonte. Ento, se a fonte for mais recente, o programa descarrega e carrega novamente o mdulo.

Valor de retorno

Tipo de dados: num

O tempo medido em segs desde 00:00:00 GMT, 1 de jan 1970.

Argumentos FileTime ( Path [\ModifyTime] | [\AccessTime] | [\StatCTime] )


Path Tipo de dados: string O arquivo especificado com um caminho total ou relativo. ModifyTime Hora da ltima modificao. AccessTime Tipo de dados: switch Tipo de dados: switch

Hora do ltimo acesso (ler, executar ou modificar).

Data Types do Sistema e Rotinas

3-FileTime-551

FileTime
StatCTime Tipo de dados: switch

Funes

Hora da ltima alterao de status (acessar qualificao) do arquivo.

Execuo do programa
Esta funo devolve um valor nmerico que especifica o tempo desde a ltima: - Modificao - Acesso - Alterao de status do arquivo do arquivo especificado.

Exemplo
Este um exemplo completo que implementa um servio de alerta para um mximo de 10 arquivos. 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 "O arquivo "+myfiles{pos}.filename+" alterado"; ENDIF pos := pos+1; ENDWHILE ENDTRAP PROC alertInit(num freq) currentpos:=0; CONNECT timeint WITH mytrap; ITimer freq,timeint; ENDPROC PROC alertFree() IDelete timeint; ENDPROC

3-FileTime-552

Data Types do Sistema e Rotinas

Funes

FileTime
PROC alertNew(string filename) currentpos := currentpos+1; IF currentpos <= 10 THEN myfiles{currentpos}.filename := filename; myfiles{currentpos}.ftime := FileTime (filename \ModifyTime); ENDIF ENDPROC

Manuseio de erros
Se o arquivo no existe, a varivel do sistema ERRNO definida para ERR_FILEACC. Esse erro poder ento ser manuseado pelo mecanismo de manuseio de erros.

Sintaxe
FileTime ( [ Path := ] < expresso (IN) de string> [ '\'ModifyTime] | [ '\'AccessTime] | [ '\'StatCTime] ) Uma funo com um valor devolvido do tipo de dados num.

Informaes relacionadas
Descritas em: ltima vez que o mdulo foi carregado Funes - ModTime

Data Types do Sistema e Rotinas

3-FileTime-553

FileTime

Funes

3-FileTime-554

Data Types do Sistema e Rotinas

Funes

GetTime

GetTime

L o tempo atual como um valor numrico

GetTime usado para ler um componente especificado de tempo como um valor numrico. GetTime pode ser usado para : - o programa realizar uma ao num certo tempo, - realizar certas atividades num dia de semana, - abster-se de realizar certas atividades no fim de semana, - responde a erros diferentemente dependendo do horrio do dia.

Exemplo
hour := GetTime(\Hour); A atual hora gravada na varivel hour.

Valor resultante

Tipo de dado: num

Um dos quatro componentes de tempo especificados abaixo.

Argumentos GetTime
[\WDay] Resulta no dia da semana atual. Perodo: 1 a 7 (Segunda a Domingo). [\Hour] Resulta na hora atual. Perodo: 0 a 23. [\Min] Resulta no minuto atual. Perodo: 0 a 59. [\Sec] Resulta no segundo atual. Perodo: 0 a 59. Tipo de dado: switch Tipo de dado: switch Tipo de dado: switch

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


Tipo de dado: switch

Data Types do Sistema e Rotinas

3-GetTime-555

GetTime

Funes
Um dos argumentos deve ser especificado, caso contrrio a execuo do programa pra com uma mensagem de erro.

Exemplo
weekday := GetTime(\WDay); hour := GetTime(\Hour); IF weekday < 6 AND hour >6 AND hour < 16 THEN production; ELSE maintenance; ENDIF Se dia de semana e o horrio est entre 7:00 e 15:59 o rob realiza a produo. Nos demais horrios, o rob est no modo de manuteno.

Sintaxe
GetTime ( [\ WDay ] | [ \ Hour ] | [ \ Min ] | [ \ Sec ] ) Uma funo com valor resultante do tipo num.

Informao relacionada
Descrito em: Instrues de horrio e data Ligando o sistema de relgio RAPID Sumrio - Sistema & Tempo Guia do Usurio - Parmetros do Sistema

3-GetTime-556

Data Types do Sistema e Rotinas

Funes

GOutput

GOutput L o valor de um grupo de sinais de sada digital


GOutput usado para ler o valor atual de um grupo de sinais de sada digital.

Exemplo
IF GOutput(go2) = 5 THEN ... Se o valor atual do sinal go2 igual a 5, ento ...

Valor resultante
O valor atual do sinal (um positivo inteiro).

Tipo de dado: num

Os valores de cada sinal do grupo so lidos e interpretados como um nmero binrio sem sinal. Este nmero binrio ento convertido em um inteiro. O valor retornado encontra-se dentro de uma faixa que depende do nmero de sinais do grupo. No. de sinais 1 2 3 4 5 6 7 8 Valor resultante 0-1 0-3 0-7 0 - 15 0 - 31 0 - 63 0 - 127 0 - 255 No. de sinais 9 10 11 12 13 14 15 16 Valor resultante 0 - 511 0 - 1023 0 - 2047 0 - 4095 0 - 8191 0 - 16383 0 - 32767 0 - 65535

Argumentos GOutput
Signal O nome do grupo de sinal a ser lido.

(Signal)
Tipo de dado: signalgo

Data Types do Sistema e Rotinas

3-GOutput-557

GOutput

Funes

Sintaxe
GOutput ( [ Signal := ] < variable (VAR) of signalgo > ) Uma funo com valor resultante do tipo num.

Informao relacionada
Descrito em: Instrues de E/S Funcionalidade geral de E/S Configurao de E/S Sumrio RAPID Sinais de Entrada e Sada Movimento e Princpios de E/S Princpios de E/S Guia do Usurio - Parmetros do Sistema

3-GOutput-558

Data Types do Sistema e Rotinas

Funes

IsPers

IsPers

Persistente
IsPers usado para testar se um dado objeto uma varivel persistente ou no.

Exemplo
PROC procedure1 (INOUT num parameter1) IF IsVar(parameter1) THEN ! For this call reference to a variable ... ELSEIF IsPers(parameter1) THEN ! For this call reference to a persistent variable ... ELSE ! Should not happen EXIT; ENDIF ENDPROC O procedimento procedure1 ir realizar diferentes aes dependendo se o parmetro atual parameter1 uma varivel ou uma varivel persistente.

Valor resultante

Tipo de dado: bool

TRUE se o parmetro atual INOUT testado uma varivel persistente. FALSE se o parmetro atual INOUT testado no uma varivel persistente.

Argumentos IsPers
DatObj tipo

(DatObj)
(Data Object) Tipo de dado: qualquer

O nome do parmetro INOUT formal.

Sintaxe
IsPers( [ DatObj := ] < var ou pers (INOUT) de qualquer tipo > ) Uma funo com valor resultante do tipo de dado bool.

Data Types do Sistema e Rotinas

3-IsPers-559

IsPers

Funes

Informao relacionada
Descrito em: Teste se varivel Tipos de parmetros (modos de acesso) Funo - IsVar Caractersticas RAPID - Rotinas

3-IsPers-560

Data Types do Sistema e Rotinas

Funes

IsVar

IsVar

Varivel
IsVar usado para testar se um dado objeto uma varivel ou no.

Exemplo
PROC procedure1 (INOUT num parameter1) IF IsVAR(parameter1) THEN ! For this call reference to a variable ... ELSEIF IsPers(parameter1) THEN ! For this call reference to a persistent variable ... ELSE ! Should not happen EXIT; ENDIF ENDPROC O procedimento procedure1 ir realizar diferentes aes dependendo se o parmetro atual parameter1 uma varivel ou uma varivel persistente.

Valor resultante

Tipo de dado: bool

TRUE se o parmetro atual INOUT testado uma varivel. FALSE se o parmetro atual INOUT testado no uma varivel.

Argumentos IsVar
DatObj tipo

(DatObj)
(Data Object) Tipo de dado: qualquer

O nome do parmetro INOUT formal.

Sintaxe
IsVar( [ DatObj := ] < var or pers (INOUT) of any type > ) Uma funo com valor resultante do tipo de dado bool.

Data Types do Sistema e Rotinas

3-IsVar-561

IsVar

Funes

Informao relacionada
Descrito em: Teste se persistente Tipos de parmetros (modos de acesso) Funo - IsPers Caractersticas RAPID - Rotinas

3-IsVar-562

Data Types do Sistema e Rotinas

Funes

MirPos

MirPos

Espelhando uma posio

MirPos (Mirror Position) usado para espelhar a translao ou rotao de uma posio.

Exemplo
CONST robtarget p1; VAR robtarget p2; PERS wobjdata mirror; . . p2 := MirPos(p1, mirror); p1 um robtarget carregando uma posio do rob e uma orientao da ferramenta. Esta posio espelhada no plano xy do frame definido por mirror, relativo ao sistema de coordenadas global. O resultado um novo dado robtarget, que guardado em p2.

Valor resultante

Tipo de dado: robtarget

A nova posio que a posio espelhada de uma posio de entrada.

Argumentos MirPos
Point

(Point

MirPlane

[\WObj]

[\MirY])
Tipo de dado: robtarget

A posio de entrada do rob. A orientao da posio define a orientao atual do sistema de coordenadas da ferramenta. MirPlane (Mirror Plane) Tipo de dado: wobjdata

O dado de objeto definindo o plano de espelho. O plano de espelho o plano xy do frame do objeto definido em MirPlane. A posio do frame do objeto definida relativa ao frame usado, tambm definido em MirPlane, que definido relativo ao frame global.

[\WObj]

(Work Object)

Tipo de dado: wobjdata

O dado de objeto de trabalho definindo o frame do objeto, e frame usado, relativo a posio de entrada, Point, definido. Se este argumento est a esquerda, a posio est definida relativa ao sistema de coordenadas global. Nota. Se a posio criada com um objeto de trabalho ativo, este objeto de trabalho deve ser referenciado ao argumento.

Data Types do Sistema e Rotinas

3-MirPos-563

MirPos
[\MirY]
(Mirror Y)

Funes
Tipo de dado: switch

Se este comando est a esquerda, que a regra default, o frame da ferramenta ser espelhado em relao ao eixo x e ao eixo z. Se o comando especificado, o frame da ferramenta ser espelhado em relao ao eixo y e ao eixo z.

Limitaes
Nenhum reclculo feito na configurao do rob no dado de entrada robtarget.

Sintaxe
MirPos( [ Point := ] < expresso (IN) de robtarget>, [MirPlane :=] <expresso (IN) de wobjdata> , [\WObj := <expresso (IN) de wobjdata> ] [\MirY ]) Uma funo com um valor resultante do tipo de dado robtarget.

Informao relacionada
Descrito em: Instrues matemticas e funes Sumrio RAPID - Matemtica

3-MirPos-564

Data Types do Sistema e Rotinas

Funes

ModTime Obter tempo de carga para mdulo de carga


ModTime (Mdulo de Tempo) se usa para recuperar o tempo de carga de um mdulo especificado. O mdulo se especifica atravs de seu nome e dever estar na memria de tarefas. O tempo medido em segs desde 00:00:00 GMT, 1 de jan 1970. O tempo devolvido como um num.

Exemplo
MODULE mymod VAR num mytime; PROC printMyTime() mytime := ModTime("mymod"); TPWrite "My time is "+NumToStr(mytime,0); ENDPROC

Valor de retorno

Tipo de dados: num

O tempo medido em segs desde 00:00:00 GMT, 1 de jan 1970.

Argumentos ModTime ( Object )


Objeto O nome do mdulo. Tipo de dados: string

Execuo do programa
Esta funo devolve um valor numrico que especifica o tempo quando o mdulo carregado.

Data Types do Sistema e Rotinas

3--565

Funes

Exemplo
Este um exemplo completo que implementa um servio atualizar se mais recente. MODULE updmod PROC callrout() Load "ram1disk:mymod.mod"; WHILE TRUE DO ! Chamar alguma rotina em mymod mymodrout; IF FileTime("ram1disk:mymod.mod" \ModifyTime) > ModTime("mymod") THEN UnLoad "ram1disk:mymod.mod"; Load "ram1disk:mymod.mod"; ENDIF ENDWHILE ENDPROC ENDMODULE Este programa recarrega um mdulo se existir um mais recente na fonte. Ele usa ModTime para recuperar o ltimo tempo de carga para o mdulo especificado e o compara com FileTime\ModifyTime na fonte. Em seguida, se a fonte mais recente, o programa descarrega e carrega novamente o mdulo.

Sintaxe
ModTime ( [ Object := ] < expresso (IN) de string>) Uma funo com um valor devolvido do tipo de dados num.

Informaes relacionadas
Descritas em: Recuperar info. de tempo acerca de um arquivoFunes - FileTime

3--566

Data Types do Sistema e Rotinas

Funes

NOrient

NOrient

Normaliza a Orientao

NOrient (Normalise Orientation) usada para regularizar a orientao fora do normal (quatrnion).

Descrio
Uma orientao dever ser normalizada, i. .; a soma dos quadrados dever ser igual a 1:
2 2 2 2 q 1 + q 2 + q3 + q4 = 1

Se a orientao estiver ligeiramente fora do normal, ser possvel normaliz-la. O erro de normalizao o valor absoluto da soma dos quadrados dos componentes da orientao. A orientao considerada ligeiramente fora do normal, se o erro de noramalizao estiver no intervalo entre 0,00001 e 0,1. Se o erro de normalizao for superior a 0,1 a orientao ser considerada incomum.

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

normerr > 0.1 normerr > 0.00001 AND err <= 0.1 normerr <= 0.00001

Incomum Ligeiramente fora do normal Normalizada

Exemplo
Temos uma posio ligeiramente fora do normal ( 0.707170, 0, 0, 0.707170 )

ABS ( 0,707170 + 0 + 0 + 0,707170 1 ) = 0,0000894 0,0000894 > 0,00001 Fora

VAR orient unnormorient := [0.707170, 0, 0, 0.707170]; VAR orient normorient; . . normorient := NOrient(unnormorient); A normalizao da orientao ( 0.707170, 0, 0, 0.707170 ) vira ( 0.707107, 0, 0, 0.707107 ).

Data Types do Sistema e Rotinas

3-NOrient-567

NOrient

Funes

Valor de retorno
A orientao normalizada.

Tipo de dados: orient

Argumentos NOrient
Orient A orientao a ser normalizada.

(Rotao)
Tipo de dados: orient

Sintaxe
NOrient( [Rotation :=] <expresso (IN) de orient> ) Uma funo com um valor de retorno de tipo de dados orient.

Informaes relacionadas
Descritas em: Funes e instrues matemticas Sumrio RAPID - Mathematics

3-NOrient-568

Data Types do Sistema e Rotinas

Funes

NumToStr

NumToStr Converte um valor numrico em texto


NumToStr (Numeric To String) usado para converter um valor numrico em um texto.

Exemplo
VAR string str; str := NumToStr(0.38521,3); A varivel str recebe o valor "0.385". reg1 := 0.38521 str := NumToStr(reg1, 2\Exp); A varivel str recebe o valor "3.85E-01".

Valor resultante

Tipo de dado: string

O valor numrico convertido em texto com o especificado nmero de decimais, com expoente se assim requerido. O valor numrico arredondado se necessrio. O ponto decimal suprimido se no esto includos decimais.

Argumentos NumToStr
Val

(Val Dec [\Exp])


(Value) Tipo de dado: num

O valor numrico a ser convertido. Dec (Decimals) Tipo de dado: num

Nmero de decimais. O nmero de decimais no deve ser negativo ou maior que a preciso disponvel para valores numricos. [\Exp] Para usar expoentes. (Exponent) Tipo de dado: switch

Data Types do Sistema e Rotinas

3-NumToStr-569

NumToStr

Funes

Sintaxe
NumToStr( [ Val := ] <expresso (IN) do num> , [ Dec := ] <expresso (IN) do num> [ \Exp ] ) Uma funo com valor resultante do tipo de dado string.

Informao relacionada
Descrito em: Funes com string Definio de string Valores de string Sumrio RAPID - Funes com Strings Tipos de dados - string Caractersticas BsicasElementos bsicos

3-NumToStr-570

Data Types do Sistema e Rotinas

Funes

Offs

Offs

Desloca uma posio do rob


Offs usado para adicionar um offset a uma posio do rob.

Exemplos
MoveL Offs(p2, 0, 0, 10), v1000, z50, tool1; O rob se move para um ponto 10 mm da posio p2 (na direo z). p1 := Offs (p1, 5, 10, 15); A posio do rob p1 deslocada 5 mm na direo x, 10 mm na direo y e 15 mm na direo z.

Valor resultante
O dado de posio deslocado.

Tipo de dado: robtarget

Argumentos Offs
Point O dado de posio a ser deslocado. XOffset O deslocamento na direo x. YOffset O deslocamento na direo y. ZOffset O deslocamento na direo z. Tipo de dado: num Tipo de dado: num Tipo de dado: num

(Point XOffset YOffset ZOffset)


Tipo de dado: robtarget

Data Types do Sistema e Rotinas

3-Offs-571

Offs

Funes

Exemplo
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 feita uma rotina para pegar partes em um pallet. Cada pallet definido como um objeto de trabalho (veja a Figura 1). A parte a ser pega (linha e coluna) e a distncia entre as partes so dadas como parmetros de entrada. O aumento do ndice da linha e da coluna realizado fora da rotina.
Colunas O O Linhas O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O eixo Y O O O O O O O O O O

O O O eixo X O O O

Figure 35 A posio e orientao do pallet especificado definindo o objeto de trabalho.

Sintaxe
Offs ( [Point :=] <expresso (IN) do robtarget> , [XOffset :=] <expresso (IN) do num> , [YOffset :=] <expresso (IN) do num> , [ZOffset :=] <expresso (IN) do num> ) Uma funo com valor resultante do tipo de dado robtarget.

Informao relacionada
Descrito em: Dado de posio Tipos de dados - robtarget

3-Offs-572

Data Types do Sistema e Rotinas

Funes

OpMode

OpMode

L o modo de operao

OpMode (Operating Mode) usado para ler o atual modo de operao do sistema.

Exemplo
TEST OpMode() CASE OP_AUTO: ... CASE OP_MAN_PROG: ... CASE OP_MAN_TEST: ... DEFAULT: ... ENDTEST Sees diferentes do programa so executadas dependendo do atual modo de operao.

Valor resultante

Tipo de dado: symnum

O atual modo de operao como definido na tabela abaixo.


Valor resultante 0 1 2 Constantes Simblicas OP_UNDEF OP_AUTO OP_MAN_PROG Comentrio Modo de operao indefinido Modo de operao automtico Modo de operao manual mx. 250 mm/s Modo de operao manual velocidade mxima, 100 %

OP_MAN_TEST

Sintaxe
OpMode( ) Uma funo com valor resultante do tipo de dado symnum.

Informao relacionada
Descrito em: Diferentes modos de operao Lendo modo de execuo Guia do Usurio - Starting up Funes - Modo de Operao

Data Types do Sistema e Rotinas

3-OpMode-573

OpMode

Funes

3-OpMode-574

Data Types do Sistema e Rotinas

Funes

OrientZYX

OrientZYXConstri uma orientao de ngulos de Euler


OrientZYX (Orient from Euler ZYX angles) usado para construir um tipo de orientao varivel a partir dos ngulos de Euler.

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

Valor resultante
A orientao feita a partir dos ngulos de Euler. As rotaes sero realizadas na seguinte ordem: -rotao em torno do eixo z, -rotao em torno do novo eixo y -rotao em torno do novo eixo x.

Tipo de dado: orient

Argumentos OrientZYX
ZAngle A rotao, em graus, em volta do eixo Z. YAngle A rotao, em graus, em volta do eixo Y. XAngle A rotao, em graus, em volta do eixo X. As rotaes sero realizadas na seguinte ordem: -rotao em torno do eixo z, -rotao em torno do novo eixo y, -rotao em torno do novo eixo x. Tipo de dado: num Tipo de dado: num

(ZAngle YAngle XAngle)


Tipo de dado: num

Data Types do Sistema e Rotinas

3-OrientZYX-575

OrientZYX

Funes

Sintaxe
OrientZYX( [ZAngle :=] <expresso (IN) do num> , [YAngle :=] <expresso (IN) do num> , [XAngle :=] <expresso (IN) do num> ) Uma funo com valor resultante do tipo de dado orient.

Informao relacionada
Descrito em: Instrues matemticas e funes Sumrio RAPID - Matemtica

3-OrientZYX-576

Data Types do Sistema e Rotinas

Funes

ORobT

ORobT

Remove um deslocamento de uma posio

ORobT (Object Robot Target) usado para transformar uma posio do rob do sistema de coordenada do deslocamento de programa para o sistema de coordenadas do objeto e/ou para remover um offset para os eixos externos.

Exemplo
VAR robtarget p10; VAR robtarget p11; p10 := CRobT(); p11 := ORobT(p10); As atuais posies do rob e eixos externos so guardadas em p10 e p11. Os valores guardados em p10 esto relacionados com a coordenada de sistema ProgDisp/ExtOffs. Os valores guardados em p11 esto relacionados com a coordenada de sistema do objeto sem nenhum offset nos eixos externos.

Valor resultante
O dado de posio transformado.

Tipo de dado: robtarget

Argumentos ORobT (OrgPoint [\InPDisp] | [\InEOffs])


OrgPoint (Original Point) Tipo de dado: robtarget

O ponto original a ser transformado. [\InPDisp] (In Program Displacement) Tipo de dado: switch

Retorna a posio TCP na coordenada de sistema do ProgDisp, isto , remove somente offset de eixos externos. [\InEOffs] (In External Offset) Tipo de dado: switch

Retorna os eixos externos para a coordenada de sistema offset, isto , remove somente o deslocamento de programa do rob.

Data Types do Sistema e Rotinas

3-ORobT-577

ORobT

Funes

Exemplos
p10 := ORobT(p10 \InEOffs ); A funo ORobT ir remover qualquer deslocamento de programa que est ativo, deixando a posio TCP relativa ao sistema de coordenadas do objeto. Os eixos externos iro permanecer na coordenada de sistema offset. p10 := ORobT(p10 \InPDisp ); A funo ORobT ir remover qualquer offset de eixos externos. A posio TCP ir permanecer na coordenada de sistema ProgDisp.

Sintaxe
ORobT ( [ OrgPoint := ] < expresso (IN) do robtarget> [\InPDisp] | [\InEOffs]) Uma funo com valor resultante do tipo de dado robtarget.

Informao relacionada
Descrito em: Definio de deslocamento de programa para o rob Definio de offset para eixos externos Sistemas de coordenadas Instrues - PDispOn, PDispSet Instrues - EOffsOn, EOffsSet Movimento e Princpios de E/S Sistemas de Coordenadas

3-ORobT-578

Data Types do Sistema e Rotinas

Funes

PoseInv

PoseInv

Inverte a posio

PoseInv (Pose Invert) calcula a transformao inversa da posio.

Exemplo
z1

Posio1 z0
y1 x1

Frame1

Frame0 y0 x0

Posio2

Posio1 representa a coordenada de Frame1 relativa a Frame0. A transformao da coordenada de Frame0 relativa a Frame1 obtida pela transformao inversa: VAR pose pose1; VAR pose pose2; . . pose2 := PoseInv(pose1);

Valor resultante
O valor da posio inversa.

Tipo de dado: pose

Argumentos PoseInv
Pose A posio a ser invertida.

(Pose)
Tipo de dado: pose

Data Types do Sistema e Rotinas

3-PoseInv-579

PoseInv

Funes

Sintaxe
PoseInv( [Pose :=] <expresso (IN) do pose> ) Uma funo com valor resultante do tipo de dado pose.

Informao relacionada
Descrito em: Instrues matemticas e funes Sumrio RAPID - Matemtica

3-PoseInv-580

Data Types do Sistema e Rotinas

Funes

PoseMult

PoseMult

Multiplica o dado de posio

PoseMult (Pose Multiply) usado para calcular o produto de duas transformaes frame. O uso tpico para calcular um novo frame como o resultado de uma atuao de deslocamento de um frame original.

Exemplo
z1 y1

z0

posio1

Frame1
x1

z2 posio2

Frame2
y2

Frame0 y0 x0

posio3

x2

pose1 representa a coordenada de Frame1 relativa a Frame0. pose2 representa a coordenada de Frame2 relativa a Frame1. A transformao da posio 3, as coordenadas de Frame2 relativa a Frame0, obtida pelo produto de duas transformaes: VAR pose pose1; VAR pose pose2; VAR pose pose3; . . pose3 := PoseMult(pose1, pose2);

Valor resultante
O valor do produto de duas posies.

Tipo de dado: pose

Data Types do Sistema e Rotinas

3-PoseMult-581

PoseMult

Funes

Argumentos PoseMult
Pose1 A primeira posio. Pose2 A segunda posio. Tipo de dado: pose

(Pose1 Pose2)
Tipo de dado: pose

Sintaxe
PoseMult( [Pose1 :=] <expresso (IN) do pose> , [Pose2 :=] <expresso (IN) do pose> ) Uma funo com valor resultante do tipo de dado pose.

Informao relacionada
Descrito em: Instrues matemticas e funes Sumrio RAPID - Matemtica

3-PoseMult-582

Data Types do Sistema e Rotinas

Funes

PoseVect

PoseVect

Aplica uma transformao em um vetor

PoseVect (Pose Vector) usado para calcular o produto de uma posio e um vetor. tipicamente usado para calcular um vetor como o resultado do efeito de um deslocamento em um vetor original.

Exemplo

pos2 z0 posio1 Frame0 y0 x0

z1

pos1

y1

Frame1
x1

pose1 representa a coordenada de Frame1 relativa a Frame0. pos1 um vetor relativo a Frame1. O vetor correspondente relativo a Frame0 obtido pelo produto: VAR pose pose1; VAR pos pos1; VAR pos pos2; . . pos2:= PoseVect(pose1, pos1);

Valor resultante
O valor do produto da posio e da posio original.

Tipo de dado: pos

Data Types do Sistema e Rotinas

3-PoseVect-583

PoseVect

Funes

Argumentos PoseVect
Pose A transformao a ser aplicada. Pos A posio a ser transformada. Tipo de dado: pos

(Pose Pos)
Tipo de dado: pose

Sintaxe
PoseVect( [Pose :=] <expresso (IN) do pose> , [Pos :=] <expresso (IN) do pos> ) Uma funo com valor resultante do tipo de dado pos.

Informao relacionada
Descrito em: Instrues matemticas e funes Sumrio RAPID - Matemtica

3-PoseVect-584

Data Types do Sistema e Rotinas

Funes

Pow

Pow

Calcula a potncia de um valor


Pow (Power) usado para calcular o valor exponencial em qualquer base.

Exemplo
VAR num x; VAR num y VAR num reg1; . reg1:= Pow(x, y); reg1 designado o valor xy.

Valor resultante
O valor da base x elevado ao expoente y ( xy ).

Tipo de dado: num

Argumentos Pow
Base O valor do argumento base. Exponent O valor do argumento expoente. Tipo de dado: num

(Base Exponent)
Tipo de dado: num

Limitaes
A execuo da funo xy dar erro se: . x < 0 e y no inteiro; . x = 0 e y < 0.

Sintaxe
Pow( [Base :=] <expresso (IN) do num> , [Exponent :=] <expresso (IN) do num> ) Manual de Referncia do RAPID 9-Pow-585

Pow
Uma funo com valor resultante do tipo de dado num.

Funes

Informao relacionada
Descrito em: Instrues matemticas e funes Sumrio RAPID - Matemtica

9-Pow-586

Manual de Referncia do RAPID

Funes

Present

Present

Testa se um parmetro opcional usado

Present usado para testar se um argumento opcional usado quando se chama uma rotina. Um parmetro opcional no pode ser usado se ele no foi especificado quando a rotina foi chamada. Esta funo pode ser usada para testar se um parmetro foi especificado, para prevenir a ocorrncia de erros.

Exemplo
PROC feeder (\switch on | \switch off) IF Present (on) Set do1; IF Present (off) Reset do1; ENDPROC A sada do1, que controla um alimentador, ligada ou desligada dependendo do argumento usado quando chamando a rotina.

Valor resultante

Tipo de dado: bool

TRUE = O valor do parmetro ou uma chave foi definida quando chamando a rotina. FALSE = O valor do parmetro ou uma chave no foi definida.

Argumentos Present
OptPar

(OptPar)
(Optional Parameter) Tipo de dado: qualquer

O nome do parmetro opcional a ser testado.

Data Types do Sistema e Rotinas

3-Present-587

Present

Funes

Exemplo
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 feita uma rotina de cola. Se o argumento \on especificado quando chamando a rotina, um pulso gerado no sinal glue_on. Ento o rob liga uma sada analgica gluesignal, que controla a pistola de cola, e move para a posio final. Como o parmetro do objeto de trabalho opcional, diferentes instrues MoveL so usadas dependendo se o argumento usado ou no.

Sintaxe
Present ( [OptPar:=] <referncia (REF) de qualquer tipo> ) Um parmetro REF requer, neste caso, o nome do parmetro opcional. Uma funo com valor resultante do tipo de dado bool.

Informao relacionada
Descrito em: Parmetros de rotina Caractersticas Bsicas - Rotinas

3-Present-588

Data Types do Sistema e Rotinas

Funes

ReadBin

ReadBin

L um byte de um arquivo ou canal serial

ReadBin (Ler Binrio) usado para ler um byte (8 bits) a partir de um arquivo ou canal serial. Essa funo trabalha em arquivos ou canais seriais, sejam binrios ou baseados em caractere.

Exemplo
VAR num character; VAR iodev inchannel; ... Open "sio1:", inchannel\Bin; character := ReadBin(inchannel); Um byte lido do canal serial binrio inchannel.

Valor resultante

Tipo de dado: num

Um byte (8 bits) lido de um canal serial ou arquivo especfico. Este byte convertido no valor numrico positivo correspondente e retornado como um tipo de dados num. Se o arquivo estiver vazio (fim do arquivo), o nmero -1 ser retornado.

Argumentos ReadBin
IODevice

(IODevice [\Time])
Tipo de dado: iodev

O nome (referncia) do canal ou arquivo serial a ser lido. [\Time] Tipo de dado: num

O tempo mximo para operao de leitura (timeout) em segundos. Se este argumento no especificado, o tempo mximo fixado em 60 segundos. Se este tempo acaba antes de terminar a operao de leitura, o tratamento de erros ser chamado com o cdigo de erro ERR_DEV_MAXTIME. Se no h tratamento de erros, a execuo terminar. A funo timeout est em funcionamento mesmo durante a parada do programa e ser notificada no programa RAPID no seu incio.

Manual de Referncia do RAPID

9-ReadBin-589

ReadBin

Funes

Execuo do programa
A execuo do programa espera at que um byte (8 bits) possa ser lido do arquivo ou canal serial.

Exemplo
VAR num bindata; VAR iodev file; Open flp1:myfile.bin, file \Read \Bin; bindata := ReadBin(file); WHILE bindata <> EOF_BIN DO TPWrite ByteToStr(bindata\Char);" " \Num:=bindata; bindata := ReadBin(file); ENDWHILE L o contedo de um arquivo binrio myfile.bin, do incio ao fim do arquivo, e exibe os dados binrios recebidos da unidade de programao, convertidos em caracteres ASCII (um caractere em cada linha).

Limitaes
A funo s pode ser usada para canais seriais e arquivos que tenham sido abertos para leitura (\Read para arquivos baseados em caractere, \Bin ou \Append \Bin para arquivos binrios).

Tratamento de erros
Se um erro ocorre durante a leitura, a varivel do sistema ERRNO fixada para ERR_FILEACC. Este erro pode ento ser lidado pelo tratamento de erros.

Dados predefinidos
A constante EOF_BIN pode ser usada para parar a leitura no fim do arquivo. CONST num EOF_BIN := -1;

Sintaxe
ReadBin( [IODevice :=] <varivel (VAR) do iodev> [\Time:= <expresso (IN) do num>])

9-ReadBin-590

Manual de Referncia do RAPID

Funes
Uma funo com valor resultante do tipo de dado num.

ReadBin

Informaes relacionadas
Descrito em: Abrindo (etc.) arquivos ou canais seriais Converter um byte em dados de string Sumrio RAPID - Comunicao Funes - ByteToStr

Manual de Referncia do RAPID

9-ReadBin-591

ReadBin

Funes

9-ReadBin-592

Manual de Referncia do RAPID

Funes

ReadMotor

ReadMotor

L os ngulos atuais do motor

ReadMotor usado para ler os atuais ngulos dos diferentes motores do rob e eixos externos. O principal uso desta funo est no procedimento de calibrao do rob.

Exemplo
VAR num motor_angle2; motor_angle2 := ReadMotor(2); O atual ngulo do motor do segundo eixo do rob est guardado em motor_angle2.

Valor resultante

Tipo de dado: num

O atual ngulo do motor em radianos do eixo indicado do rob ou eixos externos.

Argumentos ReadMotor [\MecUnit ] Axis


MecUnit (Mechanical Unit) Tipo de dado: mecunit

O nome da unidade mecnica para a qual um eixo deve ser lido. Se este argumento omitido, o eixo do rob lido. (Note, nesta verso somente o rob permitido para este argumento). Axis O nmero do eixo a ser lido (1 - 6). Tipo de dado: num

Execuo do programa
O ngulo do motor resultante representa a atual posio em radianos para o motor e independende de qualquer offset de calibrao. O valor no relativo a uma posio fixa do rob, somente posio zero do resolver interno, isto , normalmente a posio zero do resolver mais prxima posio de calibrao (a diferena entre a posio zero do resolver e a posio de calibrao o valor do offset de calibrao). O valor representa o movimento completo de cada eixo, embora este possa estar com vrias voltas.

Data Types do Sistema e Rotinas

3-ReadMotor-593

ReadMotor

Funes

Exemplo
VAR num motor_angle3; motor_angle3 := ReadMotor(\MecUnit:=robot, 3); O atual ngulo do motor do terceiro eixo do rob guardado em motor_angle3.

Sintaxe
ReadMotor( [\MecUnit := < variable (VAR) of mecunit>,] [Axis := ] < expression (IN) of num> ) Uma funo com valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Lendo o atual ngulo do punho Funes - CJointT

3-ReadMotor-594

Data Types do Sistema e Rotinas

Funes

ReadNum

ReadNum

L um nmero de um arquivo ou canal serial

ReadNum (Ler Numrico) usado para ler um nmero de um arquivo baseado em caracteres ou de um canal serial.

Exemplo
VAR iodev infile; ... Open "flp1:file.doc", infile\Read; reg1 := ReadNum(infile); Reg1 designado um nmero lido de um arquivo file.doc em um disquete.

Valor resultante

Tipo de dado: num

O valor numrico lido de um arquivo ou canal serial especfico. Se o arquivo estiver vazio (fim do arquivo), o nmero 9.999E36 ser retornado.

Argumentos ReadNum
IODevice

(IODevice [\Delim] [\Time])


Tipo de dados: iodev

O nome (referncia) do arquivo ou canal serial a ser lido. [\Delim] (Delimitadores) Tipo de dados: string

Uma string contendo os delimitadores a serem usados ao analisar uma linha no arquivo ou canal serial. Por padro (sem \Delim), o arquivo lido linha por linha e o caractere de avano de linha (\0A) o nico delimitador considerado pela anlise. Quando o argumento \Delim usado, qualquer caractere no argumento string especificado considerado para determinar a parte significante da linha. Se o argumento \Delim for usado, o sistema de controle sempre adicionar os caracteres de retorno de carro (\0D) e de avano de linha (\0A) aos delimitadores especificados pelo usurio. Para especificar caracteres no alfanumricos, use \xx, onde xx a representao hexadecimal do cdigo ASCII do caractere (por exemplo, TAB especificado por \09). [\Time] Tipo de dados: num

O tempo mximo para operao de leitura (timeout) em segundos. Se este argu-

Manual de Referncia do RAPID

9-ReadNum-595

ReadNum

Funes
mento no especificado, o tempo mximo fixado em 60 segundos. Se este tempo acaba antes de terminar a operao de leitura, o tratamento de erros ser chamado com o cdigo de erro ERR_DEV_MAXTIME. Se no h tratamento de erros, a execuo terminar. A funo timeout est em funcionamento mesmo durante a parada do programa e ser notificada no programa RAPID no incio do programa.

Execuo do programa
Comeando pela posio atual no arquivo, a funo l e descarta quaisquer delimitadores de ttulo. Delimitadores de ttulo sem o argumento \Delim so o caractere de avano de linha. Delimitadores de ttulo com o argumento \Delim so quaisquer ca-racteres especificados no argumento \Delim e mais os caracteres de retorno de carro e avano de linha. Em seguida, a funo l tudo at e incluindo o prximo caracter delimitador (que ser descartado), mas no mais que 80 caracteres. Se a parte significante exceder 80 caracteres, os caracteres restantes sero lidos na prxima leitura. O texto que lido ento convertido em um valor numrico; ex. 234.4 convertido em um valor numrico 234.4.

Exemplo
reg1 := ReadNum(infile\Delim:="\09 "); IF reg1 > EOF_NUM THEN TPWrite "The file is empty"; ... L um nmero em uma linha na qual os nmeros so separados por caracteres TAB ("\09") ou SPACE (" "). Antes de usar o nmero lido do arquivo, uma verificao feita para assegurar que o arquivo no est vazio.

Limitaes
A funo somente pode ser usada para arquivos baseados em caractere que tenham sido abertos para leitura.

Tratamento de erros
Quando um erro de acesso ocorre durante a leitura, a varivel do sistema ERRNO definida como ERR_FILEACC. Quando h uma tentativa de ler um dado no numrico, a varivel do sistema ERRNO definida como ERR_RCVDATA. Assim, esses erros podem ser tratados pela rotina de tratamento de erros.

9-ReadNum-596

Manual de Referncia do RAPID

Funes

ReadNum

Dados predefinidos
A constante EOF_NUM pode ser usada para interromper a leitura, no final do arquivo. CONST num EOF_NUM := 9.998E36;

Sintaxe
ReadNum ( [IODevice :=] <variable (VAR) of iodev> [\Delim:=<expression (IN) of string>] [\Time:= <expression (IN) of num>]) Uma funo com valor resultante do tipo de dado num.

Informaes relacionadas
Descrito em: Abrindo (etc.) arquivos ou canais seriais Sumrio RAPID - Comunicao

Manual de Referncia do RAPID

9-ReadNum-597

ReadNum

Funes

9-ReadNum-598

Manual de Referncia do RAPID

Funes

ReadStr

ReadStr

L um texto de um arquivo ou do canal serial

ReadStr (Ler String) usado para ler texto de um arquivo baseado em caracteres ou de um canal serial.

Exemplo
VAR string text; VAR iodev infile; ... Open "flp1:file.doc", infile\Read; text := ReadStr(infile); Text recebe texto lido do arquivo file.doc no disquete.

Valor resultante

Tipo de dado: string

O texto lido do arquivo ou canal serial especificado. Se o arquivo estiver vazio (fim do arquivo), o texto "EOF" ser retornado.

Argumentos
ReadStr
IODevice

(IODevice [\Delim] [\RemoveCR] [\DiscardHeaders] [\Time])


Tipo de dados: iodev

O nome (referncia) do arquivo ou canal serial a ser lido. [\Delim] (Delimitadores) Tipo de dados: string

Uma string contendo os delimitadores a serem usados ao analisar uma linha no arquivo ou canal serial. Por padro, o arquivo lido linha por linha e o caractere de avano de linha (\0A) o nico delimitador considerado pela anlise. Quando o argumento \Delim usado, qualquer caractere no argumento string especificado considerado para determinar a parte significante da linha. Para especificar caracteres no alfanumricos, use \xx, onde xx a representao hexadecimal do cdigo ASCII do caractere (por exemplo, TAB especificado por \09). [\RemoveCR] Tipo de dados: switch

Uma opo usada para remover o caractere de retorno de carro ao ler arquivos de PC. Nos arquivos de PC, uma nova linha especificada por um retorno de carro e um avano de linha (CRLF). Na leitura de uma linha em tais arquivos, o

Manual de Referncia do RAPID

9-ReadStr-599

ReadStr

Funes
ca-ractere de retorno includo no texto de retorno por padro. Quando esse argumento usado, o caractere de retorno de carro lido do arquivo mas no includo no texto de retorno. [\DiscardHeaders] Tipo de dados: switch

Esse argumento especifica se os delimitadores de ttulo (especificados em \Delim e mais o avano de linha padro) so ignorados ou no antes da transferncia de dados para o texto de retorno. Por padro, se o primeiro caractere na posio atual de arquivo for um delimitador, ele ser lido mas no transferido para o texto de retorno, a anlise da linha ser interrompida e o retorno ser um texto vazio.Se esse argumento for usado, todos os delimitadores includos na linha sero lidos do arquivo, porm descartados, e o texto de retorno conter os dados a partir do primeiro caractere no delimitador da linha. [\Time] Tipo de dado: num

O tempo mximo para operao de leitura (timeout) em segundos. Se este argumento no especificado, o tempo mximo fixado em 60 segundos. Se este tempo acaba antes de terminar a operao de leitura, o tratamento de erros ser chamado com o cdigo de erro ERR_DEV_MAXTIME. Se no h tratamento de erros, a execuo terminar. A funo timeout est em funcionamento mesmo durante a parada do programa e ser notificada no programa RAPID no incio do programa.

Execuo do programa
Comeando pela posio atual de arquivo, se o argumento \DiscardHeadres for usado, a funo ler e descartar quaisquer delimitadores de ttulo (caracteres de avano de linha e qualquer caractere especificado no argumento \Delim). Em todos os casos, a funo ler tudo at o prximo caractere delimitador, mas no mais que 80 caracteres. Se a parte significante exceder 80 caracteres, os caracteres restantes sero lidos na prxima leitura. O delimitador a causar a interrupo da anlise lido do arquivo mas no transferido para o texto de retorno. Se o ltimo caractere do texto for um retorno de carro e o argumento \RemoveCR for usado, esse caractere ser removido do texto.

Exemplo
text := ReadStr(infile); IF text = EOF THEN TPWrite "The file is empty"; ... Antes de usar o texto lido do arquivo, uma verificao feita para assegurar que o arquivo no est vazio.

9-ReadStr-600

Manual de Referncia do RAPID

Funes

ReadStr

Exemplo
Considerando um arquivo que contenha: <LF><SPACE><TAB>Ola<SPACE><SPACE>Mundo<CR><LF> text := ReadStr(infile); o texto ser uma cadeia vazia: o primeiro caractere do arquivo o delimitador padro <LF>. text := ReadStr(infile\DiscardHeaders); o texto conter <SPACE><TAB>Ola<SPACE><SPACE>World<CR>: o primeiro caractere do arquivo, o delimitador padro <LF>, descartado. text := ReadStr(infile\RemoveCR\DiscardHeaders); o texto conter <SPACE><TAB>Ola<SPACE><SPACE>Mundo: o primeiro caractere do arquivo, o delimitador padro <LF>, ser descartado; o caractere de retorno de carro final ser removido text := ReadStr(infile\Delim:= \09\RemoveCR\DiscardHeaders); o texto conter Ola: os primeiros caracteres do arquivo que coincidem com o delimitador padro <LF> ou com o conjunto de caracteres delimitado por \Delim (espao ou tab) so descartados. Em seguida, os dados so transferidos at o primeiro delimitador lido do arquivo mas no transferido para a cadeia. Uma nova chamada da mesma instruo retornar Mundo.

Exemplo
Considerando um arquivo que contenha: <CR><LF>Hello<CR><LF> text := ReadStr(infile); o texto conter o caractere <CR> (\0d): os caracteres <CR> e <LF> so lidos do arquivo, mas somente <CR> transferido para a cadeia. Uma nova chamada da mesma instruo retornar Ola\0d. text := ReadStr(infile\RemoveCR); o texto conter uma cadeia vazia: os caracteres <CR> e <LF> so lidos do arquivo; <CR> transferido mas removido da cadeia. Uma nova chamada da mesma instruo retornar Ola. text := ReadStr(infile\Delim:=\0d); o texto conter uma cadeia vazia: <CR> lido do arquivo mas no transferido para a cadeia de retorno. Uma nova chamada da mesma instruo retornar novamente uma cadeia vazia: <LF> lido do arquivo mas no transferido para a Manual de Referncia do RAPID 9-ReadStr-601

ReadStr
cadeia de retorno. text := ReadStr(infile\Delim:=\0d\DiscardHeaders);

Funes

o texto conter Ola. Uma nova chamada da mesma instruo retornar EOF (final do arquivo).

Limitaes
A funo somente pode ser usada para arquivos ou canais seriais que tenham sido abertos para leitura em um modo baseado em caracteres.

Tratamento de erros
Se um erro de acesso ocorre durante a leitura, a varivel do sistema ERRNO fixada em ERR_FILEACC. Estes erros podem ento ser lidados pelo tratamento de erros.

Dados predefinidos
A constante EOF pode ser usada para verificar se o arquivo estava vazio quando da tentativa da ler o arquivo ou parar a leitura no fim do arquivo. CONST string EOF := "EOF";

Sintaxe
ReadStr ( [IODevice :=] <variable (VAR) of iodev> [\Delim:=<expression (IN) of string>] [\RemoveCR] [\DiscardHeaders] [\Time:= <expression (IN) of num>]) Uma funo com valor resultante do tipo string.

Informaes relacionadas
Descrito em: Abrindo (etc.) arquivos ou canais seriais Sumrio RAPID - Comunicao

9-ReadStr-602

Manual de Referncia do RAPID

Funes

RelTool

RelToolFaz um deslocamento relativo para a ferramenta


RelTool (Relative Tool) usado para adicionar um deslocamento e/ou uma rotao, expresso no sistema de coordenadas da ferramenta, para a posio do rob.

Exemplo
MoveL RelTool (p1, 0, 0, 100), v100, fine, tool1;

O rob movido para uma posio que 100 mm do p1 na direo da ferramenta. MoveL RelTool (p1, 0, 0, 0 \Rz:= 25), v100, fine, tool1;

A ferramenta sdorer rotao 25o em volta do seu eixo z.

Valor resultante

Tipo de dado: robtarget

A nova posio com a adio de um deslocamento e/ou uma rotao, se algum, relativo ferramenta ativa.

Argumentos RelTool
Point

(Point

Dx

Dy

Dz

[\Rx]

[\Ry]

[\Rz])
Tipo de dado: robtarget

A posio de entrada do rob. A parte de orientao desta posio define a atual orientao do sistema de coordenadas da ferramenta. Dx Tipo de dado: num O deslocamento em mm na direo x do sistema de coordenadas da ferramenta. Dy Tipo de dado: num O deslocamento em mm na direo y do sistema de coordenadas da ferramenta. Dz Tipo de dado: num O deslocamento em mm na direo z do sistema de coordenadas da ferramenta. [\Rx] Tipo de dado: num A rotao em graus em volta do eixo x do sistema de coordenadas da ferramenta.

Data Types do Sistema e Rotinas

3-RelTool-603

RelTool
[\Ry]

Funes
Tipo de dado: num A rotao em graus em volta do eixo y do sistema de coordenadas da ferramenta. [\Rz] Tipo de dado: num A rotao em graus em volta do eixo z do sistema de coordenadas da ferramenta. No caso de duas ou trs rotaes serem especificadas ao mesmo tempo, elas sero realizadas primeiro em volta do eixo x, depois em volta do novo eixo y, e ento em volta do novo eixo z.

Sintaxe
RelTool( [ Point := ] < expresso (IN) do robtarget>, [Dx :=] <expresso (IN) do num> , [Dy :=] <expresso (IN) do num> , [Dz :=] <expresso (IN) do num> [\Rx := <expresso (IN) do num> ] [\Ry := <expresso (IN) do num> ] [\Rz := <expresso (IN) do num> ]) Uma funo com valor resultante do tipo de dado robtarget.

Informao relacionada
Descrito em: Instrues matemticas e funes Instrues de posicionamento Sumrio RAPID - Matemtica Sumrio RAPID - Movimentao

3-RelTool-604

Data Types do Sistema e Rotinas

Funes

Round

Round

Arredonda um valor numrico


Round usado para arredondar um valor numrico para um nmero especfico de decimais ou para um valor inteiro.

Exemplo
VAR num val; val := Round(0.38521\Dec:=3); A varivel val dada o valor 0.385. val := Round(0.38521\Dec:=1); A varivel val dada o valor 0.4. val := Round(0.38521); A varivel val dada o valor 0.

Valor resultante

Tipo de dado: num

O valor numrico arredondado para um nmero especfico de decimais.

Argumentos Round
Val

( Val [\Dec])
(Value) Tipo de dado: num

O valor numrico a ser arredondado. [\Dec] Nmero de decimais. Se o nmero especificado de decimais 0 ou se o argumento omitido, o valor arredondado para um inteiro. O nmero de decimais no pode ser negativo ou maior que a preciso disponvel para valores numricos. (Decimals Tipo de dado: num

Data Types do Sistema e Rotinas

3-Round-605

Round

Funes

Sintaxe
Round( [ Val := ] <expresso (IN) do num> [ \Dec := <expresso (IN) do num> ] ) Uma funo com valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues matemticas ou funes Truncando um valor Sumrio RAPID - Matemtica Funes - Trunc

3-Round-606

Data Types do Sistema e Rotinas

Funes

ReadStrBin

ReadStrBinL uma cadeia de caracteres de um arquivo ou canal serial binrio


ReadStrBin (Ler cadeia de caracteres binria) usado para ler uma cadeia de caracteres de um arquivo ou canal serial binrio.

Exemplo
VAR iodev channel2; VAR string text; ... Open sio1:, channel2 \Bin; text := ReadStrBin (channel2, 10); Text recebe uma cadeia de texto de 10 caracteres lidos do canal serial referido por channel2.

Valor de retorno

Tipo de dados: string

A cadeia de caracteres de texto lidos do arquivo ou canal serial especificado. Se o arquivo estiver vazio (fim do arquivo), a cadeia "EOF" retornada.

Argumentos ReadStrBin
IODevice

(IODevice NoOfChars [\Time])


Tipo de dados: iodev

O nome (referncia) do arquivo ou canal serial a ser lido. NoOfChars Tipo de dados: num

O nmero de caracteres a serem lidos do arquivo ou canal serial binrio. [\Time] Tipo de dados: num

O tempo mx. para a operao de leitura (tempo limite), em segundos. Se esse argumento no for especificado, o tempo mx. ser ajustado para 60 segundos. Se esse tempo expirar antes do trmino da operao de leitura, a rotina de tratamento de erros ser chamada com o cdigo de erro ERR_DEV_MAXTIME. Se no houver tratamento de erros, a execuo ser interrompida. A funo de tempo limite tambm utilizada durante a interrupo do programa, sendo notificada no programa RAPID, ao iniciar.

Data Types do Sistema e Rotinas

3-ReadStrBin-607

ReadStrBin

Funes

Execuo do programa
A funo l o nmero especificado de caracteres do arquivo ou canal serial binrio.

Exemplo
text := ReadStrBin(infile,20); IF text = EOF THEN TPWrite "O arquivo est vazio"; Antes de usar a cadeia de caracteres lida do arquivo, uma verificao efetuada para assegurar que o arquivo no esteja vazio.

Limitaes
A funo s pode ser usada para arquivos ou canais seriais que tenham sido abertos para leitura em um modo binrio.

Tratamento de erros
Se um erro ocorrer durante a leitura, a varivel de sistema ERRNO ser definida como ERR_FILEACC. Assim, esse erro poder ser tratado na rotina de tratamento de erros.

Dados predefinidos
A constante EOF pode ser usada para verificar se o arquivo estava vazio ao tentar ler do arquivo ou interromper a leitura no final do arquivo. CONST string EOF := "EOF";

Sintaxe
ReadStrBin ( [IODevice :=] <variable (VAR) of iodev>, [NoOfChars :=] <expression (IN) of num> [\Time:= <expression (IN) of num>]) Uma funo com um valor de retorno do tipo string.

3-ReadStrBin-608

Data Types do Sistema e Rotinas

Funes

ReadStrBin

Informaes relacionadas
Descrito em: Abrindo (etc.) canais seriais ou arquivos Escrever cadeias de caracteres binrias Resumo RAPID - Comunicao Instrues - WriteStrBin

Data Types do Sistema e Rotinas

3-ReadStrBin-609

ReadStrBin

Funes

3-ReadStrBin-610

Data Types do Sistema e Rotinas

Funes

RunMode

RunMode

L o modo de funcionamento

RunMode (Running Mode) usado para ler o modo de execuo atual da tarefa de programa.

Exemplo
IF RunMode() = RUN_CONT_CYCLE THEN .. ENDIF A seo do programa executada somente para ciclo contnuo ou ciclo de execuo.

Valor resultante

Tipo de dado: symnum

O modo de funcionamento corrente como definido na tabela abaixo.


Valor resultante 0 1 2 Constante Simblica RUN_UNDEF RUN_CONT_CYCLE RUN_INSTR_FWD Comentrio Modo de execuo indefinido Modo de execuo contnuo ou ciclico Modo de execuo de instruo para frente Modo de execuo de instruo para trs Modo de execuo simulado

RUN_INSTR_BWD

RUN_SIM

Argumentos
RunMode ( [\Main] ) [\Main] Tipos de dados: switch

Retorno do modo de funcionamento atual para tarefa de programa main. Usado em sistemas multitarefas para conseguir o modo de funcionamento atual, para tarefa de programa main, a partir de qualquer outra tarefa de programa Se este argumento for omitido, o valor da resultante espelha sempre o modo de funcionamento atual para a tarefa de programa, o qual executa a funo RunMode.

Sintaxe
RunMode ([\Main] )

Data Types do Sistema e Rotinas

3-RunMode-611

RunMode
Uma funo com valor resultante do tipo de dado symnum.

Funes

Informaes relacionadas
Descritas em: Lendo modo de operao Funes - OpMode

3-RunMode-612

Data Types do Sistema e Rotinas

Funes

Sin

Sin

Calcula o valor do seno


Sin (Sine) usado para calcular o valor do seno de um ngulo.

Exemplo
VAR num angle; VAR num value; . . value := Sin(angle);

Valor resultante
O valor do seno na faixa [-1, 1] .

Tipo de dado: num

Argumentos Sin
Angle O valor do ngulo, expresso em graus.

(Angle)
Tipo de dado: num

Sintaxe
Sin( [Angle:=] <expresso (IN) do num> ) Uma funo com valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues matemticas e funes Sumrio RAPID - Matemtica

Data Types do Sistema e Rotinas

3-Sin-613

Sin

Funes

3-Sin-614

Data Types do Sistema e Rotinas

Funes

Sqrt

Sqrt

Calcula o valor da raiz quadrada


Sqrt (Square root) usado para calcular o valor da raiz quadrada.

Exemplo
VAR num x_value; VAR num y_value; . . y_value := Sqrt( x_value);

Valor resultante
O valor da raiz quadrada.

Tipo de dado: num

Argumentos Sqrt
Value O valor do argumento para a raiz quadrada (

(Value)
Tipo de dado: num ); ele deve ser
0.

Sintaxe
Sqrt( [Value:=] <expresso (IN) do num> ) Uma funo com valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues matemticas e funes Sumrio RAPID - Matemtica

Data Types do Sistema e Rotinas

3-Sqrt-615

Sqrt

Funes

3-Sqrt-616

Data Types do Sistema e Rotinas

Funes

StrFind

StrFind

Busca de um caracter num texto

StrFind (String Find) usado para procurar em um texto, iniciando numa posio especfica, para um caracter que pertence a um grupo especfico de caracteres.

Exemplo
VAR num found; found := StrFind("Robotics",1,"aeiou"); varivel found dado o valor 2. found := StrFind("Robotics",1,"aeiou"\NotInSet); varivel found dado o valor 1. found := StrFind("IRB 6400",1,STR_DIGIT); varivel found dado o valor 5. found := StrFind("IRB 6400",1,STR_WHITE); varivel found dado o valor 4.

Valor resultante

Tipo de dado: num

A posio do primeiro caracter, de ou passado por uma posio especfica, que pertence ao grupo especfico. Se tal caracter achado, resulta em String length +1.

Argumentos StrFind
Str O texto para busca. ChPos (Character Position) Tipo de dado: num

(Str ChPos Set [\NotInSet])


(String) Tipo de dado: string

Inicia posio do caracter. Um erro de runtime gerado se a posio est fora do texto. Set Grupo de caracteres para testar novamente. Tipo de dado: string

Data Types do Sistema e Rotinas

3-StrFind-617

StrFind
[\NotInSet]

Funes
Tipo de dado: switch

Busca de um caracter no em um grupo de caracteres.

Sintaxe
StrFind( [ Str := ] <expresso (IN) do string> , [ ChPos := ] <expresso (IN) do num> , [ Set:= ] <expresso (IN) do string> [ \NotInSet ] ) Uma funo com valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Funes string Definio de string Valores string Sumrio RAPID - Funes com Strings Tipos de dados - string Caractersticas BsicasElementos bsicos

3-StrFind-618

Data Types do Sistema e Rotinas

Funes

StrLen

StrLen

D o comprimento do texto
StrLen (String Length) usado para achar o comprimento atual de um texto.

Exemplo
VAR num len; len := StrLen("Robotics"); varivel len dado o valor 8.

Valor resultante
O nmero de caracteres do texto (>=0).

Tipo de dado: num

Argumentos StrLen
Str

(Str)
(String) Tipo de dado: string

O texto em que se deve contar o nmero de caracteres.

Sintaxe
StrLen( [ Str := ] <expresso (IN) do string> ) Uma funo com valor resultante do tipo de dado num.

Data Types do Sistema e Rotinas

3-StrLen-619

StrLen

Funes

Informao relacionada
Descrito em: Funes string Definio de string Valores de string Sumrio RAPID - Funes com Strings Tipos de dados - string Caractersticas Bsicas Elementos Bsicos

3-StrLen-620

Data Types do Sistema e Rotinas

Funes

StrMap

StrMap

Mapeia um texto

StrMap (String Mapping) usado para criar uma cpia do texto no qual todos os caracteres so traduzidos de acordo com um mapeamento especificado.

Exemplo
VAR string str; str := StrMap("Robotics","aeiou","AEIOU"); varivel str dado o valor "RObOtIcs". str := StrMap("Robotics",STR_LOWER, STR_UPPER); varivel str dado o valor "ROBOTICS".

Valor resultante

Tipo de dado: string

O texto criado por traduo do caracter no texto especfico, como especificado pelo texto "de" e "para". Cada caracter, do texto especificado, que achado no texto "de" recolocado pelo caracter na posio correspondente no texto "para" . Caracteres para os quais no mapeamento definido so copiados sem trocas para o texto resultante.

Argumentos StrMap
Str O texto a traduzir. FromMap ndice do mapeamento. ToMap Valor do mapeamento. Tipo de dado: string Tipo de dado: string

( Str FromMap ToMap)


(String) Tipo de dado: string

Data Types do Sistema e Rotinas

3-StrMap-621

StrMap

Funes

Sintaxe
StrMap( [ Str := ] <expresso (IN) do string> , [ FromMap:= ] <expresso (IN) do string> , [ ToMap:= ] <expresso (IN) do string> ) Uma funo com valor resultante do tipo de dado string.

Informao relacionada
Descrito em: Funes string Definio de string Valores de string Sumrio RAPID - Funes com Strings Tipos de dados - string Caractersticas Bsicas Elementos bsicos

3-StrMap-622

Data Types do Sistema e Rotinas

Funes

StrMatch

StrMatch

Busca por um modelo em um texto

StrMatch (String Match) usado para procurar em um texto, iniciando numa posio especificada, para um modelo especificado.

Exemplo
VAR num found; found := StrMatch("Robotics",1,"bo"); varivel found dado o valor 3.

Valor resultante

Tipo de dado: num

A posio do caracter no primeiro subtexto, de ou passado a posio especificada, que igual ao texto modelo especificado. Se nunhum subtexto encontrado, resulta no comprimento do texto +1.

Argumentos StrMatch
Str

(Str ChPos Pattern)


(String) Tipo de dado: string

O texto onde vai procurar. ChPos (Character Position) Tipo de dado: num

Inicia posio do caracter. Um erro de runtime gerado se a posio est fora do texto. Pattern Texto modelo para busca. Tipo de dado: string

Sintaxe
StrMatch( [ Str := ] <expresso (IN) do string> , [ ChPos := ] <expresso (IN) do num> , [ Pattern:= ] <expresso (IN) do string> ) Uma funo com valor resultante do tipo de dado num. Data Types do Sistema e Rotinas 3-StrMatch-623

StrMatch

Funes

Informao relacionada
Descrito em: Funes string Definio de string Valores de string Sumrio RAPID - Funes com Strings Tipos de dados - string Caractersticas Bsicas Elementos bsicos

3-StrMatch-624

Data Types do Sistema e Rotinas

Funes

StrMemb

StrMembVerifica se um caracter pertence a um grupo


StrMemb (String Member) usado para verificar se um caracter especificado em um texto pertence a um grupo especificado de caracteres.

Exemplo
VAR bool memb; memb := StrMemb("Robotics",2,"aeiou"); varivel memb dado o valor TRUE, como o um membro do grupo "aeiou". memb := StrMemb("Robotics",3,"aeiou"); varivel memb dado o valor FALSE, como b no um membro do grupo "aeiou". memb := StrMemb("S-721 68 VSTERS",3,STR_DIGIT); varivel memb dado o valor TRUE.

Valor resultante

Tipo de dado: bool

TRUE se o caracter na posio especificada no texto especificado pertence ao grupo de caracteres especificados.

Argumentos StrMemb
Str

(Str ChPos Set)


(String) Tipo de dado: string

O texto para ser verificado. ChPos (Character Position) Tipo de dado: num

A posio de caracter para verificar. Um erro de runtime gerado se a posio est fora do texto. Set Grupo de caracteres para testar novamente. Tipo de dado: string

Data Types do Sistema e Rotinas

3-StrMemb-625

StrMemb

Funes

Sintaxe
StrMemb( [ Str := ] <expresso (IN) do string> , [ ChPos := ] <expresso (IN) do num> , [ Set:= ] <expresso (IN) do string> ) Uma funo com valor resultante do tipo de dado bool.

Informao relacionada
Descrito em: Funes string Definio de string Valores de string Sumrio RAPID - Funes com Strings Tipos de dados - string Caractersticas Bsicas Elementos bsicos

3-StrMemb-626

Data Types do Sistema e Rotinas

Funes

StrOrder

StrOrder

Verifica se os textos esto ordenados

StrOrder (String Order) usado para verificar se dois textos esto em ordem, de acordo com uma sequncia de ordenao de caracter especificada.

Exemplo
VAR bool le; le := StrOrder("FIRST","SECOND",STR_UPPER); varivel le dado o valor TRUE, porque "FIRST" vem antes de "SECOND" na sequncia de ordenao de caracter especificada STR_UPPER.

Valor resultante

Tipo de dado: bool

TRUE se o primeiro texto vem antes do segundo texto (Str1 <= Str2) quando caracteres so ordenados como especificado. Caracteres que no esto inclusos na ordem definida so todos assumidos para os prximos caracteres presentes.

Argumentos StrOrder
Str1

( Str1 Str2 Order)


(String 1) Tipo de dado: string

Valor do primeiro texto. Str2 (String 2) Valor do segundo texto. Order Sequncia de caracter que define a ordem. Tipo de dado: string Tipo de dado: string

Data Types do Sistema e Rotinas

3-StrOrder-627

StrOrder

Funes

Sintaxe
StrOrder( [ Str1 := ] <expresso (IN) do string> , [ Str2 := ] <expresso (IN) do string> , [ Order := ] <expresso (IN) do string> ) Uma funo com valor resultante do tipo de dado bool.

Informao relacionada
Descrito em: Funes string Definio de string Valores de string Sumrio RAPID - Funes com Strings Tipos de dados - string Caractersticas Bsicas Elementos bsicos

3-StrOrder-628

Data Types do Sistema e Rotinas

Funes

StrPart

StrPart

Encontra uma parte de um texto

StrPart (String Part) usado para achar uma parte de um texto, como um novo texto.

Exemplo
VAR string part; part := StrPart("Robotics",1,5); varivel part dado o valor "Robot".

Valor resultante

Tipo de dado: string

O subtexto do texto especificado, que tinha o comprimento especificado e inicia de uma posio de caracter especificado.

Argumentos StrPart
Str

(Str ChPos Len)


(String) Tipo de dado: string

O texto no qual uma parte deve ser achada. ChPos (Character Position) Tipo de dado: num

Inicia posio de um caracter. Um erro de runtime gerado se a posio est fora do texto. Len (Length) Tipo de dado: num

Comprimento da parte do texto. Um erro de runtime gerado se o comprimento negativo ou maior que o comprimento do texto, ou se o subtexto est (parcialmente) fora do texto.

Sintaxe
StrPart( [ Str := ] <expresso (IN) do string> , [ ChPos := ] <expresso (IN) do num> , [ Len:= ] <expresso (IN) do num> ) Uma funo com valor resultante do tipo de dado string. Data Types do Sistema e Rotinas 3-StrPart-629

StrPart

Funes

Informao relacionada
Descrito em: Funes string Definio de string Valores de string Sumrio RAPID - Funes com Strings Tipos de dados - string Caractersticas Bsicas Elementos bsicos

3-StrPart-630

Data Types do Sistema e Rotinas

Funes

StrToByte

Converte um string em dados de byte StrToByte (String To Byte) usado para converter um string com um formato definido de dados de byte em dados de byte.

Exemplo VAR string con_data_buffer{5} := ["10", "AE", "176", "00001010", "A"]; VAR byte data_buffer{5}; data_buffer{1} := StrToByte(con_data_buffer{1}); O contedo do componente da matriz data_buffer{1} ser 10 decimal aps a funo StrToByte ... . data_buffer{2} := StrToByte(con_data_buffer{2}\Hex); O contedo do componente da matriz data_buffer{2} ser 174 decimal aps a funo StrToByte ... . data_buffer{3} := StrToByte(con_data_buffer{3}\Okt); O contedo do componente da matriz data_buffer{3} ser 126 decimal aps a funo StrToByte ... . data_buffer{4} := StrToByte(con_data_buffer{4}\Bin); O contedo do componente da matriz data_buffer{4} ser 10 decimal aps a funo StrToByte ... . data_buffer{5} := StrToByte(con_data_buffer{5}\Char); O contedo do componente da matriz data_buffer{5} ser 65 decimal aps a funo StrToByte ... .

Valor de retorno

Data type: byte

O resultado da operao de converso em representao decimal.

Argumentos StrToByte (ConStr [\Hex] | [\Okt] | [\Bin] | [\Char]) ConStr (Convert String) Data type: string

Os dados de string a serem convertidos.

Data Types do Sistema e Rotinas

3--631

Funes

Se o argumento chave opcional for omitido, o string a ser convertido tem formato decimal (Dec). [\Hex] (Hexadecimal) Data type: switch

O string a ser convertido tem formato hexadecimal. [\Okt] (Octal) Data type: switch

O string a ser convertido tem formato octal. [\Bin] (Binary) Data type: switch

O string a ser convertido tem formato binary. [\Char] (Character) Data type: switch

O string a ser convertido tem formato de caractere ASCII.

Limitaes Dependendo do formato do string a ser convertido, os seguintes dados de string so vlidos: Formato: Dec .....: 0 - 9 Hex .....: 0 - 9, a -f, A - F Okt ......: 0 - 7 Bin ......: 0 - 1 Char ....: Qualquer caractere ASCII (*) Comp. string: 3 2 3 8 1 Intervalo: "0" - "255" "0" - "FF" "0" - "377" "0" - "11111111" Um car. ASCII

Os cdigos de caracteres RAPID (ex. "\07" para o caractere de controle BEL) no podem ser usados como argumentos em ConStr.

Sintaxe StrToByte( [ConStr :=] <expression (IN) of string> [\ Hex ] | [\ Okt] | [\ Bin] | [\ Char] ) ; Uma funo com um valor de retorno do tipo de dados byte.

3--632

Data Types do Sistema e Rotinas

Funes

Pow

Informaes relacionadas Descrito em: Converter um byte em dados de string Outras funes de bit (byte) Outras funes de string Instrues - ByteToStr Sumrio RAPID - Funes de bit Sumrio RAPID - Funes de string

Data Types do Sistema e Rotinas

3-Pow-633

Pow

Funes

3-Pow-634

Data Types do Sistema e Rotinas

Funes

StrToVal

StrToVal

Converte uma string num valor

StrToVal (String To Value) usado para converter uma string num valor de qualquer tipo de dados.

Exemplo
VAR bool ok; VAR num nval; ok := StrToVal("3.85",nval); varivel ok dado o valor TRUE e nval dado o valor 3.85.

Valor resultante

Tipo de dado: bool

TRUE se a converso pedida teve sucesso, FALSE se no.

Argumentos StrToVal
Str

( Str Val )
(String) Tipo de dado: string

Um valor string contendo dados literais com um formato correspondente ao tipo de dados usado no argumento Val. Um formado vlido como para os agregados literais RAPID. Val (Value) Tipo de dado: num

Nome de uma varivel ou persistente de qualquer tipo de dados para armazenamento do resultado da converso. Os dados so inalterveis se a converso requerida falhar.

Exemplo
VAR string 15 := [600, 500, 225.3]; VAR bool ok; VAR pos pos15; ok := StrToVal(str15,pos15); varivel ok dada o valor TRUE e varivel p15 dado o valor que est especificado na string str15.

Data Types do Sistema e Rotinas

3-StrToVal-635

StrToVal

Funes

Sintaxe
StrToVal( [ Str := ] <expresso (IN) do string> , [ Val := ] <var ou pers (INOUT) de ANYTYPE> ) Uma funo com o valor retornado do tipo de dado bool.

Informao relacionada
Descrito em: Funes de string Definio de string Valores de string Sumrio RAPID - Funes com Strings Tipos de dados - string Caractersticas BsicasElementos Bsicos

3-StrToVal-636

Data Types do Sistema e Rotinas

Funes

Tan

Tan

Calcula o valor da tangente


Tan (Tangent) usado para calcular o valor da tangente de um ngulo.

Exemplo
VAR num angle; VAR num value; . . value := Tan(angle);

Valor retornado
O valor da tangente.

Tipo de dado: num

Argumentos Tan
Angle O valor do ngulo, expresso em graus.

(Angle)
Tipo de dado: num

Sintaxe
Tan( [Angle :=] <expresso (IN) de num> ) Uma funo com o valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues e Funes Matemticas Arc tangente com valor de resultante na faixa [-180, 180] Sumrio RAPID - Matemtica Funes - ATan2

Data Types do Sistema e Rotinas

3-Tan-637

Tan

Funes

3-Tan-638

Data Types do Sistema e Rotinas

Funes

TestDI

TestDI

Testa se uma entrada digital est acionada


TestDI usada para testar se uma entrada digital est acionada.

Exemplos
IF TestDI (di2) THEN . . . Se o valor atual do sinal di2 igual a 1, ento . . . IF NOT TestDI (di2) THEN . . . Se o valor atual do sinal di2 igual a 0, ento. . . WaitUntil TestDI(di1) AND TestDI(di2); A execuo do programa continua somente depois que tanto a entrada di1 como a entrada di2 estejam acionadas.

Valor resultante
TRUE =O valor atual do sinal igual a 1. FALSE = O valor atual do sinal igual a 0.

Tipo de dado: bool

Argumentos TestDI
Signal O nome do sinal a ser testado.

(Signal)
Tipo de dado: signaldi

Sintaxe
TestDI ( [ Signal := ] < varivel (VAR) de signaldi > ) Uma funo com valor resultante do tipo de dado bool.

Data Types do Sistema e Rotinas

3-TestDI-639

TestDI

Funes

Informao relacionada
Descrito em: Lendo o valor de um sinal de entrada digital Instrues de Entrada/Sada Funes - DInput Sumrio RAPIDSinais de Entrada e Sada

3-TestDI-640

Data Types do Sistema e Rotinas

Funes

TestAndSet

TestAndSet Testar varivel e ajustar se fora de ajuste


TestAndSet poder ser usada junto com um objeto de dados normal tipo bool, como um semforo binrio, para recuperar o direito exclusivo a especificar reas de cdigo RAPID ou recursos do sistema. A funo poder ser usada entre uma tarefa diferente do programa e nveis de execuo diferentes (TRAP ou Event Routines) dentro da mesma tarefa de programa. Exemplo de recursos que podero necessitar proteo a partir do acesso ao mesmo tempo: - O uso de alguma rotina RAPID com problema de funcionamento se em execuo paralela. - O uso da Consola Pendente do Operador para Entrada e Sada

Exemplo
Tarefa de programa MAIN: PERS bool tproutine_inuse := FALSE; .... WaitUntil TestAndSet(tproutine_inuse); TPWrite "First line from MAIN"; TPWrite "Second line from MAIN"; TPWrite "Third line from MAIN"; tproutine_inuse := FALSE; Tarefa de programa BACK1: PERS bool tproutine_inuse := FALSE; .... WaitUntil TestAndSet(tproutine_inuse); TPWrite "First line from BACK1"; TPWrite "Second line from BACK1"; TPWrite "Third line from BACK1"; tproutine_inuse := FALSE; .

Para evitar alterao de linhas, uma de MAIN e uma de BACK1,o uso da funo TestAndSet garante que todas as trs linhas de cada tarefa no so separadas. Se a tarefa do programa MAIN assume primeiro o semforo TestAndSet(tproutine_inuse), ento a tarefa do programa BACK1dever esperar at que a tarefa do programa MAIN tenha deixado o semforo.

Valor de retorno

Tipos de dados: num

TRUE se o semforo estiver certo, de outra maneira FALSE.

Data Types do Sistema e Rotinas

3-TestAndSet-641

TestAndSet

Funes

Argumentos TestAndSet
Objeto

Objeto
Tipo de dados: bool

O bjeto de dados definido pelo usurio para ser usado como semforo. O objeto de dados poder ser um VAR ou um PERS. Se o TestAndSet for usado entre tarefas de programas diferentes o objeto dever ser um PERS ou um VAR instalado (objetos de intertarefas).

Execuo do programa
Esta funo verificar em um passo indivisivel a varivel definida pelo usurio e a ajustar, se estiver fora de ajuste, e voltar TRUE, de outra maneira voltar FALSE. IF Object = FALSE THEN Object := TRUE; RETURN TRUE; ELSE RETURN FALSE; ENDIF

Exemplo
LOCAL VAR bool doit_inuse := FALSE; ... PROC doit(...) WaitUntil TestAndSet (doit_inuse); .... doit_inuse := FALSE; ENDPROC Se um mdulo for instalado embutido e partilhado, ser possvel usar uma varivel de mdulo local para proteo do acesso de tarefas de programas diferentes ao mesmo tempo. Notar neste caso: Se a execuo do programa for parado na rotina doit e o apontador for movido para main, a varivel doit_inuse no ser redefinida. Para evitar isto redefinir a varivel doit_inuse para FALSE na rotina de evento START.

Sintaxe
TestAndSet ( [ Object := ] < variable or persistent (INOUT) of bool> )

3-TestAndSet-642

Data Types do Sistema e Rotinas

Funes
Uma funo com um valor de retorno de tipo de dados bool.

TestAndSet

Informao relacionada
Descrta em: Mdulo embutido e partilhado Objetosde intertarefas Guia do Usurio - Parmetros Sistema Manual de Fomentadores RAPID Manual de Referncia Kernel RAPID Objetos intertarefas

Data Types do Sistema e Rotinas

3-TestAndSet-643

TestAndSet

Funes

3-TestAndSet-644

Data Types do Sistema e Rotinas

Funes

Trunc

Trunc

Limita um Valor Numrico


Trunc (Truncate) usado para limitar um valor numrico a um nmero especfico de decimais ou ao valor inteiro.

Exemplo
VAR num val; val := Trunc(0.38521\Dec:=3); varivel val dado o valor 0.385. reg1 := 0.38521 val := Trunc(reg1\Dec:=1); varivel val dado o valor 0.3. val := Trunc(0.38521); varivel val dado o valor 0.

Valor resultante

Tipo de dado: num

O valor numrico limitado para o valor numrico de decimais.

Argumentos Trunc
Val

( Val [\Dec] )
(Valor) Tipo de dado: num

O valor numrico a ser limitado. [\Dec] Nmero de decimais. Se o nmero especificado de decimais 0 ou se o argumento omitido, o valor limitado a um inteiro. O nmero de decimais no poder ser negativo ou maior que a preciso permitida para valores numricos. (Decimais) Tipo de dado: num

Data Types do Sistema e Rotinas

3-Trunc-645

Trunc

Funes

Sintaxe
Trunc( [ Val := ] <expresso (IN) de num> [ \Dec := <expresso (IN) de num> ] ) Uma funo com um valor resultante do tipo de dado num.

Informao relacionada
Descrito em: Instrues e Funes Matemticas Arredondando um valor Sumrio RAPID - Matemtica Funes - Round

3-Trunc-646

Data Types do Sistema e Rotinas

Funes

ValToStr

ValToStr

Converte um valor como um texto

ValToStr (Value To String) usada para converter qualquer tipo de dado para texto.

Exemplo
VAR string str; VAR pos p := [100,200,300]; str := ValToStr(1.234567); varivel str dado o valor "1.23457". str := ValToStr(TRUE); varivel str dado o valor "TRUE". str := ValToStr(p); varivel str dado o valor "[100,200,300]".

Valor de retorno

Tipo de dado: string

O valor convertido em um string com formato RAPID padro. Isto significa em princpio 6 dgitos importantes. Se a parte decimal for menor que 0.000005 ou maior que 0.999995, o nmero arredondado para um inteiro. Um erro de tempo de execuo gerado se o string for muito longo.

Argumento ValToStr
Val

( Val )
(Value) Tipo de dado: ANYTYPE

Um valor de qualquer tipo de dado.

Sintaxe
ValToStr( [ Val := ] <expresso (IN) de ANYTYPE> ) Uma funo com um valor resultante do tipo de dado string.

Data Types do Sistema e Rotinas

3-ValToStr-647

ValToStr

Funes

Informao relacionada
Descrito em: Funes de texto Definio de texto Valores de texto Sumrio RAPID - Funes String Tipos de dados - string Caractersticas BsicasElementos Bsicos

3-ValToStr-648

Data Types do Sistema e Rotinas

Funes

VectMagn

VectMagn

Magnitude de um vetor pos

VectMagn (Magnitude de vetor) se usa para calcular a magnitude de um vetor pos.

Exemplo
z A

Az

y Ay x Ax Um vetor A pode ser escrito como a sum de seus componentes nas trs direes ortogonais: A = Ax x + Ay y + Az z A magnitude de A : A = A x + Ay + A z
2 2 2

O vetor descrito pelo tipo de dados pos e a magnitude pelo tipo de dados num: VAR magnitude num; VAR vetor pos; . . vetor := [1,1,1]; magnitude := VectMagn(vector);

Valor devolvido
A magnitude do vetor (Tipo de dados pos).

Tipo de dados: num

Data Types do Sistema e Rotinas

3-VectMagn-649

VectMagn

Funes

Argumentos VectMagn
Vetor O vetor descrito pelo tipo de dados pos.

(Vetor)
Tipo de dados: pos

Sintaxe
VectMagn( [Vector :=] <expresso (IN) de pos> ) Uma funo com um valor devolvido do tipo de dados num.

Informaes relacionadas
Descrito em: Instrues e funes matemticas Sumrio RAPID - Matemtica

3-VectMagn-650

Data Types do Sistema e Rotinas

INDEX
Symbols \cydoniadranslitework ekniktext_29107098portugdatatypes _routinesnstruct ewfinalclriobuf.doc 125, 147, 245, 311, 455 \cydoniadranslitework ekniktext_29107098portugdatatypes _routinesfunction ewfinalcalcrobt.doc 503, 507, 541, 607 A Abs 487 absolute value 487 acceleration reduction 119 AccSet 119 ACos 489 ActUnit 121 Add 123 analog output set 345 arcus cosine 489 arcus sine 493 arcus tangent 495, 497 arithmetic 117 arquivo carregar 241 descarregar 431 escrever 457 fechar 323 rebobinar 323 spystart 67 array get size 539 ASin 493 assignment 117 ATan 495 ATan2 497 B bool 5 Break 129 byte 7 C C_MOTSET 79 C_PROGDISP 79 call 131 CallByVar 133 canal serial arquivo 457 rebobinar 323 carga acoplada 31 Carregar 241 CDate 511 chane texte 75 chamada de procedimento 133 CJointT 513 Clear 137 ClkRead 515 ClkReset 139 ClkStart 141 ClkStop 143 clock 9 reset 139 start 141 stop 143 Close 145 comment 149 Compact IF 191 condition 193 confdata 11 ConfJ 151 ConfL 153 CONNECT 155 Cos 519 CPos 521 CRobT 523 CTime 525 CTool 527 CWobj 529 D d ranslitework ekniktext_29107098portugdatat ypes_routinesnstruct oportfilefinalSpystart.doc 325 ranslitework

System Data Types and Routines

4-651

ekniktext_29107098portugdatat ypes_routinesnstruct oportfilefinalSpystop.doc 357 ranslitework ekniktext_29107098portugdatat ypes_routinesnstruct oportfilefinalstload.doc 361 ranslitework ekniktext_29107098portugdatat ypes_routinesdatatype oportfilefinalaskid.doc 37 Dado do sistema 79 data 511 DeactUnit 157 Decr 159 decrease velocity 443 decrement 159 DefDFrame 531 DefFrame 535 Descarregar 431 digital output 545 pulse 307 reset 315 set 343, 347 Dim 539 dionum 17 displace position 571 displacement tool direction 603 displacement frame 531 DotProd 543, 567, 649 DOutput 545 E eixos externos ativada 121 desativa 157 EOffsOff 161 EOffsOn 163 EOffsSet 165 erase teach pendant display 379 ERRNO 79 errnum 19, 83 error recovery retry 421 ErrWrite 167 escrever

na unidade de programao 389 espera sada digital 437 EulerZYX 547 EXIT 169 Exp 549 exponential value 499, 549, 585 extjoint 23 F file close 145 open 293 read 589, 595, 599 spystart 207, 219 unload 439 write 447, 451 fina 107 FOR 175 frame 535 frame mal colocado 535 Funes 179 G GetTime 555 GOTO 181 GOutput 557 GripLoad 183 group of I/O 349, 557 grupo de E/S 491 I IDelete 185 IDisable 187 IEnable 189 IF 191, 193 Incr 195 increment 195 interrupo ativar 237 conecta 155 de um sinal de entrada digital 223 desativar 231 numa posio 405 interrupt delete 185 disable 187

4-652

System Data Types and Routines

enable 189 identity 25 timed 233, 235 INTNO 79 intnum 25 InvertDO 197 IO unit disable 199 enable 203 iodev 3, 27 IODisable 199 IOEnable 203 ISignalDI 223 ISignalDO 227 ISleep 231 IsPers 559 IsVar 561 ITimer 233, 235 IWatch 237 J jump 181 L label 239 ler data atual 511 grupo de sadas 491 relgio 515 teclas de funo 381 linear movement 289, 377 load activate payload 183 loaddata 31 logical value 5 M manipulao de bits 7 maximum velocity 443 mechanical unit 39 MechUnitLoad 81 mecunit 39 MirPos 563 mirroring 563 motsetdata 41 MoveC 259 MoveCDO 265

MoveCSync 249 MoveJ 273 MoveJDO 269 MoveJSync 285 MoveL 281, 377 MoveLDO 277 MoveLSync 289 movement linear 289, 377 movimento circular 249, 265 circulo 259 eixo 269, 285 eixo a eixo 273 linear 277, 281 movimento circular 249, 259, 265 movimento de eixo 269, 285 movimento eixo a eixo 273 movimento linear 277, 281 N num 45 numeric value 45 NumToStr 569 O o_jointtarget 47 object coordinate system 97 Offs 571 offset 571 Open file 293 serial channel 293 operating mode read 573 OpMode 573 orient 49 OrientZYX 575 ORobT 577 P PathResol 297 payload activate 183 PDispOff 299 PDispOn 301 ponto fly-by 107

System Data Types and Routines

4-653

ponto parado 107 pos 55 pose 57 PoseInv 579 PoseMult 581 posio do rob 53 posio fixa E/S 409 Pow 585, 631 Present 587 ProcCall 131 procedure call 131 program displacement activate 301 deactivate 299 remove from position 577 PulseDO 307 Q quaternion 50 R RAISE 309 read current joint angles 513 current robot position 523 current time 525, 555 current tool data 527 current work object 529 digital output 545 file 589, 595, 599 group of outputs 557 serial channel 589, 595, 599 ReadBin 589 ReadMotor 593 ReadNum 595 ReadStr 599 Rebobinar 323 reinicia um erro reinicia 319 relgio ler 515 RelTool 497, 573, 585, 603, 611 repeat 175, 445 Reset 315 resoluo do trajeto alterar 297 RestoPath 317 RETRY 319

RETURN 321 robot position 63 robtarget 53, 63 Round 605 routine call 131 RunMode 611 running mode read 611 S sada numa posio 409 Sada G 491 SearchC 329 SearchL 335 serial channel close 145 file 451 open 293 read 589, 595, 599 write 447 Set 343 SetAO 345 SetDO 347 SetGO 349 signalai 69 signalao 69 signaldi 69 signaldo 69 signalgi 69 signalgo 69 Sin 613 SingArea 351 soft servo activating 353 deactivating 355 SoftAct 353 SoftDeact 355 speeddata 71 SpyStart 67, 207, 219 Sqrt 615 square root 615 StartMove 367 Stop 369 StopMove 371 stopwatch 9, 141 StorePath 373 StrFind 617

4-654

System Data Types and Routines

string 75 StrLen 619 StrMap 621 StrMatch 623 StrMemb 625 StrOrder 627 StrPart 629 StrToVal 635 symnum 77 T Tan 637 TEST 375 TestDI 639 time 525, 555 tooldata 85 TPErase 379 tpnum 91 TPReadFK 381 TPReadNum 385 TPShow 389 TPWrite 391 trajeto canto 107 TriggC 393 triggdata 93 TriggEquip 399 TriggInt 405 TriggIO 409 TriggJ 413 TriggL 417 Trunc 645 TRYNEXT 421 TuneReset 423 TuneServo 425 tunetype 95 U unidade mecnica ativada 121 desativa 157 unidades de drive comum 157 unidades de drive comuns 121 UnLoad 439 user coordinate system 97 V valor expoencial 631

ValToStr 647 velocity 71 decrease 443 max. 443 VelSet 443 W wait a specific time 459 any condition 461 until the robot is in position 459 WaitDO 437 WaitTime 459 WaitUntil 461 WHILE 445 wobjdata 97 work object 97 Write 447 write error message 167 on the teach pendant 391 WriteBin 451 WriteStrBin 457 WZBoxDef 463 WZCylDef 465 WZDisable 469 WZDOSet 471 WZEnable 475 WZFree 477 WZLimSup 479 WZSphDef 483 wzstationary 103 wztemporary 105 Z zonedata 107

System Data Types and Routines

4-655

You might also like