Você está na página 1de 26

Introduo ao RAPID

Robtica



Introduo ao RAPID 1


ndice


0. Prefcio
1


1. A Estrutura da Linguagem
2

2. Controle do Fluxo do Programa 3
2.1 Princpios de Programao
3

3. Vrias Instrues 8

4. Ajuste de Movimentos 11

5. Movimentao 15
5.1 Princpios de Programao
15

6. Sinais de Entrada e Sada 19
6.1 Princpios de Programao 19

7. Comunicao 20
7.1 Princpios de Programao 20

8. Sistema e Tempo 23
8.1 Princpios de Programao 23
Introduo ao RAPID 1
Prefcio

Pretende-se com este manual introduzir sucintamente a linguagem de programao
utilizada nos sistemas robotizados ABB gerao S4.

Destinado-se essencialmente a utilizadores com pouca experincia nestes sistemas,
este manual apenas um complemento documentao fornecida com o equipamento
devendo, para efeitos de anlise mais detalhada, utilizar-se a referida documentao.






ACAD










































Introduo ao RAPID 2
1. A Estrutura da Linguagem

O programa constitudo por um nmero de instrues que descrevem o trabalho do
rob. Portanto, existem instrues especficas para os vrios comandos, tais como,
movimentar o rob, ligar uma sada, etc.

Existem trs tipos de rotinas procedimentos, funes e rotinas trap.

um procedimento usado como um subprograma.
uma funo retorna um valor de um tipo especfico e usado como um
argumento de uma instruo.
as rotinas trap so um meio de responder a interrupes. Uma rotina trap
pode ser associada a uma interrupo especfica; p. ex. quando uma entrada
for ligada, ela automaticamente executada se a interrupo em particular
ocorrer.

As informaes podem tambm ser armazenadas em dados (data), por exemplo, dados
de ferramenta (que contem todas as informaes sobre a ferramenta, tais como, seu
TCP e peso) e dados numricos (que podem ser usados, por exemplo, para contar o
nmero de peas a serem processadas). Os dados so agrupados em diferentes tipos de
tipos de dados (data types) que descrevem diferentes tipos de informaes, tais como
ferramentas, posies e cargas. Como estes dados podem ser criados e possuirem
nomes arbitrrios, no existe limite de seu nmero (exceto imposto pela memria).
Estes dados podem existir tanto globalmente no programa ou localmente dentro da
rotina.

Existem trs de dados constantes, variveis e persistentes.

uma constante representa um valor esttico e seu valor somente pode ser
alterado manualmente.
uma varivel pode ter seu valor alterado durante a execuo do programa.
uma persistente pode ser descrita como uma varivel persistente. Quando
um programa salvo, os valores de inicializao refletem os seu valores
atuais.
Introduo ao RAPID 3
2 Controle do Fluxo do Programa

Normalmente o programa executado seqencialmente, isto , instruo por
instruo.
Algumas vezes, instrues que interrompem esta seqncia e chamam outras
instues so necessrias para o tratamento de diferentes situaes que podem ocorrer
durante a execuo.


2.1 Princpios de programao

O fluxo do programa pode ser controlado de acordo com cinco princpios diferentes:

chamada de outra rotina (procedimento) e, quando a rotina tiver sido
executada, a execuo continua a partir da instruo que chamou a rotina.
execuo de instrues diferentes dependendo se uma dada condio tiver sido
ou no satisfeita.
repetio de uma seqncia de instrues um certo nmero de vezes ou at que
uma dada condio seja satisfeita.
ida para uma etiqueta (label) dentro da mesma rotina.
parada da execuo do programa.


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.

Introduo ao RAPID 4
Compact IF Se uma condio alcanada, ento...
(uma instruo)

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.


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.


Introduo ao RAPID 5
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.


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.


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;
Introduo ao RAPID 6
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.


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.


Stop Parar a execuo do programa

Stop usado para parar temporariamente a execuo do programa.
Introduo ao RAPID 7
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.



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).


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 pro-
grama.

Introduo ao RAPID 8
3 Vrias Instrues

Vrias instrues so usadas para

atribuir valores aos dados,
esperar um certo perodo de tempo at que uma condio ser satisfeita,
inserir um comentrio no programa.


:= 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.


WaitTime Espera um tempo determinado

Wai t Ti me 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.


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.
Introduo ao RAPID 9

Exemplo

WaitUntil di4 = 1;

A execuo do programa continua somente aps a entrada di4 ser ligada.


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 desli-gada.


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.


Comment Comentrio

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

Introduo ao RAPID 10
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.












































Introduo ao RAPID 11
4 Ajuste de movimentos

Algumas das caractersticas de movimento do rob so determinadas pela utilizao
de instrues lgicas que se aplicam a todos os movimentos:

Velocidade mxima e sobrevelocidade
Acelerao
Deslocamento do programa


VelSet Muda a velocidade programada

Vel S e t 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.


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.


EOffsOn Ativa o offset para eixos externos

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

Introduo ao RAPID 12
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.


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.
- Contanto que este offset seja ativado, todas as posies estaro deslocadas
100 mm na direo do eixo x.


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;
Introduo ao RAPID 13

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.


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.






Introduo ao RAPID 14
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 .
- Uma vez que, o deslocamento de programa ativado, todas as posies sero
deslocadas 100 mm na direo do eixo-x.


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.


Introduo ao RAPID 15
5 Movimentao

Os movimentos do rob so programados passo a passo, isto , mova-se a partir da
posio atual para a nova posio. A trajetria entre estas duas posies ento
calculada automaticamnte pelo rob.


5.1 Princpios de programao

As caractersticas bsicas dos movimentos, tais como o tipo da trajetria, so
especificadas pela escolha da instruo de posicionamento apropriada.
As caractersticas restantes so especificadas pela definio de dados que so
argumentos da instruo:

Dados de posicionamento (posio final para eixos externos e do rob)
Dados de velocidade (velocidade desejada)
Dados de zona (preciso do posicionamento)
Dados de ferramenta (por exemplo, a posio do TCP)
Dados de objeto de trabalho (por exemplo, o sistema de coordenadas atual)


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;
Introduo ao RAPID 16
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.


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.


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.
Introduo ao RAPID 17

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.


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.


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;

Introduo ao RAPID 18
O rob movido para uma posio que 100 mm do p1 na direo da ferra-menta.

MoveL RelTool (p1, 0, 0, 0 \Rz:= 25), v100, fine, tool1;

A ferramenta sdorer rotao 25 o em volta do seu eixo z.


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.


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.
Introduo ao RAPID 19

6 Sinais de Entrada e Sada

O rob pode ser equipado com um nmero de sinais digitais e analgicos do usurio
que podem ser lidos e mudados a partir do programa.

6.1 Princpios de programao

Os nomes dos sinais so definidos nos parmetros do sistema e, usando estes nomes,
eles podem ser lidos pelo programa. Os valores simblicos para sinais digitais
tambm so definidos nos parmetros do sistema. Valores simblicos, como
ligado/desligado ou aberto/fechado, podem ser usados em vez de 1/0 para tornar o
programa mais fcil de ler.
O valor de um sinal analgico ou de um grupo de sinais digitais especificado por um
valor numrico.


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.


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.


Introduo ao RAPID 20
7 Comunicao

Existem quatro maneiras possveis de comunicao por meio de canais seriais:

Mensagens podem ser mostradas atravs do display da unidade de programao e
o usurio pode responder perguntas, tais como o nmero de peas a serem
processadas.
Informaes baseadas em caracteres podem ser esctitas ou lidas a partir de
arquivos de texto em um disquete. Deste modo, por exemplo, a estatstica de
produo pode ser armazenada e processada posteriormente em um PC. A
informao tambm pode ser impressa atravs de uma impressora conectada ao
rob.
Informaes binrias podem ser transferidas entre o rob e um sensor, por
exemplo.
Informaes binrias podem ser transferidas entre o rob e um sensor, por
exemplo, com um protocolo.


7.1 Princpios de programao

A deciso de escolher entre usar a informao baseada em caracteres ou a informao
binria depende de como o equipamento com o qual o rob se comunica trata a
informao.
Um arquivo, por exemplo, pode possuir dados que so armazenados de forma binria
ou baseado em caracteres.
Se a comunicao for necessria em ambas as direes simultaneamente, a
transmisso binria ser necessria.
Cada canal serial ou arquivo deve primeiramente ser aberto. Fazendo-se isso, o
canal/arquivo recebe um nome que usado como uma referncia para leitura/escrita.
A unidade de programao pode ser usada todas as vezes e no precisa ser aberta.
Ambos texto e valores de certos tipos de dados podem ser impressos.


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.
Introduo ao RAPID 21
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.


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). 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.







Introduo ao RAPID 22
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.

































Introduo ao RAPID 23
8 Sistema & Tempo

As instrues do sistema e de tempo possibilitam ao usurio medir, inspecionar e
gravar o tempo.

8.1 Princpios de programao

As instrues do relgio (clock) possibilitam ao usurio a utilizao do relgio para
funcionar como um monitorador para paradas. Deste modo, o programa do rob
pode ser usado para temporizar qualquer evento desejado.
A hora e a data atuais podem ser recuperadas em texto (string). Este pode ser
mostrado ao operador na unidade de programao ou ser usado em arquivos de
registro.
Tambm possvel recuperar componentes da hora atual do sistema como um valor
numrico. Isto possibilita ao programa do rob a executar uma ao em uma certa
hora ou em um certo dia da semana.


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.


ClkStart Liga o cronmetro

ClkStart usado para ligar o cronmetro.

Exemplo

ClkStart clock1;

O relgio clock1 ligado.


ClkStop Parar o cronmetro

ClkStop usado para parar o cronmetro.
Introduo ao RAPID 24
Exemplo

ClkStop clock1;

O relgio clock1 parado.


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.

Você também pode gostar