Professional Documents
Culture Documents
Guia RobotStudio - Rapid - Modulo2
Guia RobotStudio - Rapid - Modulo2
RobotStudio
MÓDULO 2 - ROBOTSTUDIO COM RAPID
P R O F . D R . J O S É S O A R E S B A T I S T A L O P E S
2021
JOSÉ SOARES BATISTA LOPES, DR.
PROFESSOR DO CURSO DE MECATRÔNICA DO INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE -
CAMPUS PARNAMIRIM
UM
GUIA
BÁSICO E PRÁTICO PARA O SOFTWARE ROBOTSTUDIO
CEP: 59143-455
jose.soares@ifrn.edu.br
2021
DIAGRAMAÇÃO
José Soares Batista Lopes
CAPA
José Soares Batista Lopes
ILUSTRAÇÕES
canva.com
ÍCONES DA CAPA
canva.com
FICHA CATALOGRÁFICA
Catalogação da publicação na fonte elaborada pelo Bibliotecário
Cícero Filho Tavares – CRB: 15/511
ISBN: 978-65-00-20495-7
CDU 621.865.8
01
1. INTRODUÇÃO AO ROBOTSTUDIO
1. INTRODUÇÃO AO ROBOTSTUDIO
13
1.1 OBJETIVO
Para criar uma estação de trabalho. Deve-se clicar em File e depois em New. A Figura 1.2
apresenta as três opções: Solution with Station, Solution with Station and Virtual Controller e
Empty Station.
Figura 1.2 - Opções para criar estações.
A primeira opção Solution with Empty Station cria um ambiente vazio, ou seja, deve-se
nessa opção inserir o robô manipulador e o seu controlador. A segunda opção Solution wit
Station and Robot Controller cria um ambiente com o modelo do robô manipulador e o
controlador compatível. Já a terceira opção Empty Station cria um ambiente de trabalho vazio.
A opção escolhido neste guia é a segunda opção, pois já contempla o controlador de acordo
com o robô manipulador escolhido, Figura 1.3.
1 Nome da aplicação
3 Software do Controlador
Clique em Representation na Figura 1.4 e escolha o modo desejado: Surface, Wireframe, Both,
Hidden- line removal ou Wireframe-Triangles
Wireframe-Triangles,, Figura 1.5.
Surface
Wireframe
Wireframe-Triangles
Fonte: RobotStudio 2021.1.1 (64-bit)
Versão 21.1.9393.1
Questão 1. Crie uma nova estação de trabalho com o robô IRB120 3kg 0.58m e altere o
modo de visualização para Wireframe.
17
02
2. MOVIMENTOS DE JUNTAS
2. MOVIMENTAS DE JUNTAS 18
2. MOVIMENTOS DE JUNTAS
Neste modo, quando selecionado a junta, esta fica marcada, Figura 2.2. Experimente
movimentar cada junta. Para isso, use o mouse e selecione a opção Home -> Freehand -> Jog
Joint (opção 1, na Figura 2.1).
O Movimento Linear apresenta os eixos azul z, eixo vermelho x e eixo verde y. Com o
mouse você pode deslocar cada eixo para a posição desejada. Para isso, use o mouse e
selecione a opção Home -> Freehand -> Jog linear (opção 2, na Figura 2.1).
O Movimento Re-oriente apresenta também os eixos nas cores padrão. Esse movimento
é utilizado para movimentar as ferramentas com precisão. Para isso, use o mouse e selecione
a opção Home -> Freehand -> Jog re-orient (opção 3, na Figura 2.1).
Para realizar os movimentos na forma numérica. Deve-se clicar na aba Layout e clicar
com o botão direito no IRB 120_3_58___01, Figura 2.5. Em seguida, encontra-se as opções:
Mechanism Joint Jog, Mechanism Linear Jog, Move to Pose, Configurations e Show Work Envelope.
A janela da Figura 2.6 possibilita controlar com precisão junta por junta. Podendo alterar
o passo, e assim, aumentado ou diminuindo o step. Pode-se digitar um ângulo ou arrastar
com o mouse a junta para verificar o movimento.
Move to Pose
Esta opção coloca o robô na sua pose, ou seja, na sua postura inicial com todas as juntas
e os ângulos na sua posição zero. Para isso, escolha a opção Jump to Home.
Configurations
Para essa prática devemos inserir uma ferramenta e um box (quadrado) para o robô
realizar o movimento de percorrer as bordas com a ferramenta.
1. Clique na aba em Home, em seguida Import Library e escolha a opção Equipment. Clique em
myTool, Figura 2.9.
A ferramenta quando é inserida aparece na base do manipulador, Figura 2.10 (2). Para
que ela fique no punho do manipulador deve-se clicar na ferramenta MyTool, Figura 2.10 (1)
com o mouse e arrastar para cima do IRB120_3_58__01 na aba Layout e soltar botão do mouse.
Esse procedimento adiciona a ferramenta ao manipulador, Figura 2.10 (3).
Figura 2.10 - Layout (1), base do robô (2) e ferramenta aplicada (3).
2. Vamos inserir um Box. Clique na aba Modeling e depois, clique em Solid e escolha a opção
Box, Figura 2.11.
Figura 2.11 - Criar um box.
4. Clique na aba Home e depois em Target - > Create Target, Figura 2.13.
5. Vamos criar os 4 pontos relacionados aos vértices do Box. Devemos habilitar a função Snap
Object que funciona como um imã ajudando a encontrar os pontos da borda do quadrado,
Figura 2.15.
6. Selecione o campo position (mm), Figura 2.16 (1) em seguida clique no vértice 1 do box
como mostra a Figura 2.16 (2). Perceba que aparece uma bola ligando ao vértice. Isso
acontece porque foi habilitado o Snap Object.
7. Repita nas outras extremidades do box. Sempre selecionando antes o campo Position (mm)
com o mouse, Figura 2.17 (1) e depois, clicando no vértice do Box até completar todos os
vértices, Figura 2.17 (2). Por último, clique no botão Create.
9. Clique com o botão direito do mouse em cima do Target_10 e escolha a opção View Tool at
Target -> MyTool, Figura 2.19 (1). Observa-se na Figura 2.19 (2) a ferramenta na posição para
baixo. A posição da ferramenta nessa posição dificulta o robô manipulador encontrar os
ângulos necessários para criar o movimento. A próxima etapa vai rotacionar a ferramenta
para facilitar o algoritmo de trajetória do manipulador.
10. Clique com o botão direito em cima do Target_10 e escolha a opção Modify Target -> Rotate ,
Figura 2.20.
12. Agora clique com o botão direito em cima do Target_10 e escolha a opção Copy Orientation,
Figura 2.22.
13. Selecione os demais Targets e clique com o botão direito do mouse em cima dos Targets
selecionados e escolha a opção Apply Orientation, Figura 2.23.
14. Em seguida clique com o botão direito do mouse em Paths & Procedures e pressione Create
Path, Figura 2.24.
16. Para testar o movimento. Clique com o botão direito do mouse em cima do Path_10 e
selecione Move Along Path. Veja o movimento do robô, Figura 2.26.
03
3. CRIAR CAMINHOS OU
TRAJETÓRIAS (PATH)
31
3. CRIAR CAMINHOS OU TRAJETÓRIAS (PATH)
Vamos apresentar uma da formas de criar o Target Point ou as suas posições com os
seguintes passos:
1. Clique em Home, depois em Path em seguida, em Empth Path de acordo com a Figura 3.1.
Se for o primeiro Target Point irá surgir uma janela de aviso, Figura 3.2. Solicitando a
confirmação na utilização da ferramenta padrão tool0 e do workObjet0. Clique Sim e
marque a opção Don't show message about this again.
2. Clique em Jog Linear e mova o robô para a posição 1, Figura 3.3 a direita no eixo y negativo
em relação ao robô (posição inicial). Clique em seguida, em Teach Instruction para guardar a
posição, ou apreender a posição modificada (posição 1), Figura 3.1.
Figura 3.3 - Mostra o robô na posição inicial e depois com o movimento no eixo y para a posição 1.
3. Mova o robô da posição 1 para baixo no eixo z negativo para a posição 2. A Figura 3.4
mostra a posição final do movimento, em seguida, clique na instrução Teach Instruction.
Agora vamos criar um caminho. Clique com o botão direito do mouse em cima do Path_10
e selecione Move Along Path e observe o movimento. Em seguida, clique
novamente com o botão direito do mouse em cima do Path_10 e selecione a opção Set as
simulation entry point, Figura 3.6 .
Por último, clique com o botão direito do mouse em cima de Path 10 e selecione a opção
Synchronize to RAPID. Quando aparecer a janela da Figura 3.7 confirme clicando em no botão
Ok.
Figura 3.7 - Janela Synchronize to Rapid.
Para simular, clique na aba Simulation em Simulation Control e pressione o botão Play.
Para alterar o modo de simulação de Single cycle (ciclo único) para o modo Continuous
(contínuo). Clique em Simulation Setup e escolha o modo, em seguida pressione o botão Close,
Figura 3.8.
Figura 3.8 - Aba Simulation.
Para esse experimento o robô deverá realizar o movimento de subir e descer desviando
de uma divisória ( uma parede 3D) no percurso. Vamos seguir, os seguintes passos para a
implementação:
1. Inserir um Box e para isso, clique na aba Modeling e depois em Solid e escolha a opção Box,
Figura 3.9. Figura 3.9 - Inserir um Box.
3. Antes de criar o movimento devemos alterar a posição das juntas 5 e 6 para evitar os erros
de singularidades. Altere os ângulos iniciais 5 e 6, Figura 3.12.
5. Crie os Targets desviando da parede. Para isso, selecione todos na Figura 3.14 (1) e arraste
para a Figura 3.14(2).
Figura 3.14 - Etapas para criar um percurso.
Questão 1. Criar duas trajetórias para desviar do obstáculo "parede". O manipulador deve
percorrer as superfícies superiores do quadrado. A Figura 3.15 mostra as dimensões dos
quadrados e a posição. Já na Figura 3.16 mostra como deve ficar a disposição final.
Figura 3.16 - Disposição dos objetos: Box 1(1), Box 2(2) e Parede (3).
04
4. CRIAR UM WORKOBJECT
40
4. CRIAR UM WORKOBJECT
2. Clique na aba em Home, em seguida Import Library e escolha a opção Equipment. Depois
clique em myTool. Selecione MyTool e arraste para cima do IRB120_3_58__01 para a
ferramenta poder ser adicionada no punho do manipulador;
3. Em seguida, vamos inserir o box com as seguintes dimensões da Figura 4.1e posições na
estação de trabalho;
4. Vamos inserir o Curve Thing. Clique em Home, em seguida Import Library e escolha a opção
Equipment, Figura 4.2;
5. Quando adicionado o Curve Thing. O objeto posiciona-se no espaço de acordo com a Figura
4.3;
6. Para reposicionar o Curve Thing em cima da base (box) deve-se clicar com o botão direito
do mouse e escolher a opção Set Position, Figura 4.4;
7. A primeira Figura 4.5 (1) têm os parâmetros das coordenadas para reposicionar a peça. A
segunda da Figura 4.5 mostra o trajeto e a terceira quando pressionada o botão Apply.
8. Ative a opção Snap End ou Snap Object na Figura 4.6 (1). O Snap ajuda a ligar ou encontrar
os vértices, no ponto central por exemplo, ou no meio de um objeto, Figura 4.6 (2);
Figura 4.6 - Em (1) os tipos de Snap e em (2) um exemplo do Snap Object ativo.
9. Clique na aba Home -> Other -> Create Workobject, Figura 4.7;
10. Modifique o nome do Workobject para MeuWorkobject1, por exemplo. Clique no botão
Create, Figura 4.8;
11. Clique com o botão direito do mouse em cima MeuWorkobject1 em seguida escolha a
opção Paths&Targets e depois selecione escolha Modify Workobject, Figura 4.9.
12. A janela da Figura 4.10 aparecerá. Em seguida, clique na opção Frame by points e selecione
a opção Tree-point.
13. Selecione a coordenada no ponto 1 com o mouse em First point on X axis(mm), Figura 4.11
e depois de um clique no ponto 1 na peça onde tem a seta no canto do objeto (espere
aparecer a bola ativa pela função snap object). Em seguida, clique no ponto 2 em Second point
on X axis(mm) e clique na seta no ponto 2, na outra extremidade da peça. Por último, clique
no ponto em Point on Y axis (mm) e no terceiro ponto da peça com a seta, Figura 4.11.
05
5. CRIAR UM CAMINHO
BASEADO NO WORKOBJECT
47
5. CRIAR UM CAMINHO BASEADO NO WORKOBJECT
Vamos criar um caminho ou uma trajetória baseado no Workobject criado. Para isso,
vamos adicionar a ferramenta Mytool ( Home->Import Library->Equipament->MyTool).
1. Selecione a aba Home -> Target -> Create Target para poder criar as posições ou frames. Na
área sobrenhada em amarelo são adicionados os pontos dos vértices do workobject, Figura
5.2.
Figura 5.2 - Janelas para criar o workobject.
3
4
2
1
3. Ative o Snap End e clique na sequência: vértice 1 do Workobject e depois no botão Add, em
seguida no vértice 2, e assim, por diante nos 4 vértices, Figura 5.4.
Figura 5.4 - Passos para inserir o ponto ao vértice: (1) Seleciona o campo, (2) Clica no campo e em (3) o canto
selecionado com a ajuda do Snap End.
Selecione com o
Snap End
mouse o campo
Importante fazer com calma para não adicionar o mesmo ponto duas Possition (mm) e
vezes! depois clique no
vértice 1, Figura 5.4
(1).
49
5. CRIAR UM CAMINHO BASEADO NO WORKOBJECT
6. Selecione todas as Targets e clique com o botão do mouse com o botão direito em cima e
selecione a opção View tool at target e depois em MyTool, Figura 5.7.
Figura 5.7 - Visualização da ferramenta nos Targets.
7. Observa-se que a posição das ferramentas no workobject devem ser rotacionadas para
que o robô possa alcançar todas as posições. Selecione todas as Targets e clique com o botão
direito do mouse em cima e selecione Modify Target e depois a opção Rotate, Figura 5.8.
8. Rotatione o Target_10 180º no eixo X e confirme clicando no botão Apply, Figura 5.9.
Figura 5.9 - Target_10 rotacionado no eixo X.
8.2 Selecione agora o eixo Z e rotacione 180º e confirme. Observe que a ferramenta ficou na
posição adequada para o robô poder alcançar a posição, Figura 5.10.
9. Selecione o Target_10, clique com o botão direito do mouse e selecione a opção Jump To
Target. A janela da Figura 5.11 aparecerá contendo diversas configurações do robô, escolha a
primeira.
Figura 5.11 - Configurações do manipulador.
10. Selecione o Target_10, clique com o botão direito do mouse e selecione a opção Copy
Orientation. Selecione o restante dos Targets e clique com o botão direito do mouse e
selecione a opção Apply Orientation, Figura 5.12.
Figura 5.12 - Targets com orientações corrigidas.
11. Crie um novo caminho vazio (Home-> Path -> Empty Path), Figura 5.12 (1) em seguida
arraste todas as Targets para cima do Path_10, Figura 5.13 (2). Em 5.13 (3) o resultado final da
criação do caminho.
Figura 5.13 - Processo para a criação de um caminho - path_10.
12. Teste agora a execução do caminho. Clique com o botão direito do mouse e selecione
Path Tools -> Modify -> Move Along Path, Figura 5.14.
Figura 5.14 - Caminho criado.
13. Clique em Set as simulation entry point e depois em Sychronize to RAPID. Agora pode clicar
em PLAY.
Questão 1. Repita o procedimento explicado alterando a zona para fine e compare com o
resultado da Figura 5.14.
55
06
6. CRIAR UM CAMINHO
UM OBJETO
56
6. CRIAR UM CAMINHO BASEADO NOS VÉRTICES DO OBJETO
Vamos criar um percurso baseado nos vértices de um objeto. Para isso, vamos seguir as
etapas do processo:
1. Abra o ambiente anterior salvo e clique em Home e depois em Graphics Tools. Para esconder
o caminho criado Path_10 clique com o botão em Show/Hide para desabilitar a opção All Paths,
Figura 6.1.
Figura 6.1 - Funções Graphics Tools.
3. Selecione a opção Modelling -> Border around Surface e abrirá a janela Create Border Around
Surface, Figura 6.3.
Figura 6.3 - Acesso ao Create Border Around Surface.
4. Selecione a superfície da peça Curve_thing Figura 6.4(1), e em Create Figura 6.4(2) seguido
de Close.
Figura 6.4 - Criando a superfície.
1
2
Fonte: RobotStudio 2021.1.1 (64-bit)
Versão 21.1.9393.1
Criando assim uma curva ao longo da borda da surperfície selecionada, Figura 6.5.
Figura 6.5 - Curva na superfície.
5. Ative a opção Curve Selection e selecione a curva criada no ponto anterior, Figura 6.6.
6. Com a curva selecionada. Clique em Home-> Path -> AutoPath, abrirá uma janela de
configuração, Figura 6.7.
2 3
7.2 Crie Edge_2 clicando na borda 2, ou seja, uma continuidade da anterior no objeto
Curve_thing, Figura 6.9.
Figura 6.9 - Inserindo a borda 2.
1
2
3
2
7.4 Crie Edge_4 clicando na aresta seguinte do objeto Curve_thing, Figura 6.11.
Figura 6.11 - Inserindo a borda 4.
7.5 Crie Edge_5 clicando na aresta seguinte do objeto Curve_thing, Figura 6.12.
Figura 6.12 - Inserindo a borda 5.
5
3
7.6 Crie Edge_6 clicando na aresta seguinte do objeto Curve_thing, Figura 6.13.
3 5
7.7 Crie Edge_7 clicando na aresta seguinte do objeto Curve_thing, Figura 6.14.
6
7
Dica: Caso você pressione o Shift e clique na borda. O RobotStudio automaticamente cria
as referências para você. Apague todos os Edges e tente com esse recurso.
62
6. CRIAR UM CAMINHO BASEADO NOS VÉRTICES DO OBJETO
7.10 Altere o campo Aproximation Parameters para Circular ( Esta opção permite
movimentos circulares no caminho gerado e não apenas movimentos lineares, Figura
6.17). Observa-se que ao alterar esta opção diminiu o número de pontos nas zonas do
caminho.
7.14 Selecione o Target_50 e clique com o botão direito do mouse na opção View Tool at
Target -> MyTool, Figura 6.20.
Figura 6.20 - Verificando a posição da ferramenta.
7.17 Clique com o botão direito do mouse no Target_50 e escolha a opção Jump to target.
Aparecerá uma janela perguntando a configuração do robô, Figura 6.23 (1). Escolha a
primeira opção e confirme. Observe o robô em relação ao Target_50, Figura 6.23(2).
Figura 6.23 - Configuração do robô (1) e posição da ferramenta (2) no Target 50.
7.19 Selecione novamente todos Targets e agora rotacione todos no eixo z=-180º, Figura
6.25.
Figura 6.25 - Ajustando os Targets no eixo Z (1) antes e em (2) depois.
7.20 Clique nos Targets selecionados e depois com o botão direito do mouse no Target_50
e escolha a opção: Modify Target -> Align Target Orientation. A janela da figura 6.26.
7.21 Selecione o Campo Reference e escolha a opção Target_50 marcando a opção Lock Axis
Z, ou seja, mantendo o eixo Z bloqueado. Este recurso vai alinhar os demais Target com o
eixo Z bloqueado, Figura 6.27.
7.22 Clique com o botão direito do mouse em Path_20 e escolha a opção Move Along Path.
Observe o robô realizando o movimento.
67
6. CRIAR UM CAMINHO BASEADO NOS VÉRTICES DO OBJETO
7.23 Experimente alterar a zona de todos os movimentos para a opção da zona fine, Fiura
6.28 e repita o passo 7.22.
Figura 6.28 - Percurso alterado para a zona fine.
8. Pode ocorrer que você encontre um aviso de erro na instrução MoveL, Figura 6.29 e o
motivo pode ser o robô não conseguir resolver o percurso.
9. Para corrigir esse erro clique com o mouse com o botão direito na Target e escolha a opção
Check Reachability, Figura 6.30.
07
7. CRIAR VÁRIOS PATH'S
COM OS WORKOBJETOS E
SUAS TRAJETÓRIAS
7. CRIAR VÁRIOS PATH'S COM OS 69
WORKOBJETOS E SUAS TRAJETÓRIAS
Vamos criar dois caminhos: um para percorrer os vértices do quadrado e o outro para
percorrer o cilindro. Para isso, utilizaremos o RAPID no final. Crie um uma nova estação com
o robô IRB2600_12_165_C_01.
2. Para ser inserido na estação de trabalho. Deve-se clicar em Download File e copiar o
arquivo para a pasta C:\Program Files (x86)\ABB\RobotStudio 2020\ABB Library;
6. Agora vamos um criar o quadrado e um cilindro e inserir na estação de trabalho, Figura 7.5.
8. Vamos criar agora um Target para posição inicial do Robô (Ctrl+R) Target_10 e renomear
para INICIO. Verifiquem em Path&Targets, Figura 7.7.
Figura 7.7 - Atalho para criar um Target - Ctrl_+ R.
11. O próximo passo é criar os movimentos do robô nas faces superiores do quadrado e no
cilindro. Clique na aba Home em Path e AutoPath, Figura 7.10.
12.3 Escolher Linear se a superficie assim for ou Circular para que a autoconfiguração
possa escolher os melhores movimentos a serem vinculados, por exemplo: MOVL ou
MOVC.
Figura 7.11 - Parâmetros a serem ajustados.
12.1
12.2
12.3
Fonte: RobotStudio 2021.1.1 (64-bit)
Versão 21.1.9393.1
13. A Figura 7.12 mostra a janela AutoPath configurada. Confirme depois, clicando em Create.
Figura 7.12 - AutoPath configurado.
14. Selecione todos os Targets com o auxílio da tecla Shift e clique com o botão direito do
mouse sobre todos e escolha a opção View Tool at Target e clique na ferramenta, Figura 7.13.
15. Clique com o botão direito do mouse sobre Path_10 e escolha a opção Move Along Path
para verificar o movimento sobre a superfície do quadrado, Figura 7.15.
Figura 7.15 - Observando o movimento.
16. Observe que o movimento do manipulador sobre a superfície não chega aos cantos. Para
corrigir a rota. Selecione e clique com o botão direito do mouse sobre as instruções e
escolha a opção Modify Instruction e depois em Zone -> Fine, Figura 7.16.
18. Clique no Target INICIO e arraste para o início e o final do Path_10 e do Path_20, Figura 7.20.
19. Clique na aba RAPID em seguida edite o código adicionando as linhas abaixo. Clique no
botão (Apply) para confirmar as mudanças. Sincronize com a estação e simule e salve,
figura 7.21.
Figura 7.21 - Código RAPID.
08
SINAIS DO SISTEMA
79
8. REALIZAR PAUSA COM SINAIS DO SISTEMA
Vamos inserir o módulo digital no robô manipulador. Vocês têm a opção de continuar
com o projeto anterior ou criar um novo.
1. Clique com o botão direito do mouse em cima do robô e escolha a opção Change Options,
Figura 8.1.
Figura 8.1 - Acessando o change Options.
2. A janela a seguir é aberta. Selecione a opção Industrial Networks e marque a opção 709-1
DeviceNet Master/Slave. Depois, confirme, Figura 8.2.
Figura 8.3 - Janela solicitando reiniciar e janela apresentando o processo de reiniciar do controlador.
5. Clique com o mouse com o botão direito em cima Signal e configure a janela para adicionar
os sinais digitais, Figura 8.6.
Figura 8.6 - Janelas para adicionar os sinais digitais: DI0, DI1, DI2 e DI3.
8. Clique com o mouse com o botão direito em cima System input e configure a janela para
adicionar os sinais digitais, Figura 8.9.
11. Escolha Filter como Device em Device escolha DN_Internal_Device, Figura 8.11.
12. Pressione o Play e clique nas opções para ver o funcionamento do robô, Figura 8.12.
09
NO ROBOTSTUDIO
9. INSERIR MÓDULO DIGITAL NO 85
ROBOTSTUDIO
Vamos inserir os sinais digitais no robô manipulador. Vamos continuar com o projeto
anterior.
3. Clique com o mouse com o botão direito em cima do Signal e configure a janela para
adicionar os sinais digitais, Figura 9.3
8. A janela a seguir será aberta. Na opção Device selecione DN_Internal_Device, Figura 9.8.
Figura 9.8 - Configuração dos sinais no IRB2600_12_165.
10
MEMÓRIDA DO PROGRAMA
PROGRAMA
Dados de Programa
Rotina 1
Module Principal Rotina 2
Module 1
Module 2
Dados de Programa
Module 3
Rotina 3
Module 4 Rotina 4
Rotina 6
Modulo 2 do Sistema Rotina 7
10.2 VARIÁVEIS
Exemplo:
Os persistentes só podem ser declarados ao nível do módulo, não dentro de uma rotina.
Os persistentes podem ser declarados como sistemas globais (sem a necessidade de
prescrição), tarefa global ou local. Estas variáveis mantêm o seu valor mesmo após terminar e
reiniciar o programa.
Exemplo:
As variáveis persistentes só podem ser declaradas como Globais, ou seja, fora da função
main() caso contrário dará erro na declaração.
10.4 CONSTANTES
Exemplo:
10.5 OPERADORES
Exemplo:
Declaração de Vetores:
A = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Declaração de Matrizes:
A = { 0, 1, 2, 3 ; 4, 5, 6, 7}
Robtarget é usado para definir a posição do robô e eixos adicionais. Os dados de posição
são usados para definir a posição nas instruções de movimento para as quais o robô e eixos
adicionais devem se mover. Como o robô é capaz de alcançar a mesma posição de várias
maneiras diferentes, a configuração do eixo também é especificada. Isso define os valores do
eixo, se estes forem de alguma forma ambíguos, por exemplo:
se o robô estiver em uma posição para frente ou para trás;
se o eixo 4 for para baixo ou para cima;
se o eixo 6 tem uma revolução negativa ou positiva.
94
10. INTRODUÇÃO AO RAPID
Exemplo 1:
pos Orient confdata extjoint
CONST robtarget p15 := [ [600, 500, 225.3], [1, 0, 0, 0], [1, 1, 0, 0], [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ];
Vamos entender melhor a relação dos eixos do robô com os quatro números inteiros na
posição p15. Cada número representa um quadrante de uma revolução completa. Sendo zero
para a rotação positiva e 1 para a rotação negativa (sentido horário).
Por exemplo, a configuração de um robô industrial de seis eixos (como o IRB 140) pode ser
parecida com:
[0 -1 2 1]
4. Para visualizar a saída dos dados. Clique na aba Controller e depois clique no botão
Operator Windows, Figura 10.5.
5. Confirme a edição do código na aba RAPID e depois clique no botão Apply para confirmar as
alterações. Em seguida, simule pressionando o botão START, Figura 10.6.
Vamos repetir as etapas anteriores dos ensaios e alterar a parte da edição do código para
verificar a saída na Figura 10.9.
Figura 10.8 - Código RAPID com operando booleano.
Confirme a edição do código na aba RAPID, Figura 10.8 e depois clique no botão Apply
para confirmar as alterações. Em seguida, simule pressionando o botão START, Figura 10.9.
Vamos repetir as etapas anteriores dos ensaios e alterar a parte da edição do código para
verificar a saída na Figura 10.11.
Confirme a edição do código na aba RAPID, Figura 10.10 e depois, clique no botão Apply
para confirmar as alterações. Em seguida, simule pressionando o botão START, Figura 10.11.
instruções
Fonte: O Autor.
101
10. INTRODUÇÃO AO RAPID
Exemplo 1.
IF contador > 5 THEN
counter := 100;
ENDIF
Exemplo 2.
IF counter > 100 THEN
counter := 100;
ELSEIF counter < 0 THEN
counter := 0;
ELSE
counter := counter + 1;
ENDIF
Exemplo 3.
IF cont1> 5 THEN
counter := 0;
ELSE
counter := 1;
ENDIF
102
10. INTRODUÇÃO AO RAPID
Vamos repetir as etapas anteriores dos ensaios e alterar a parte da edição do código da
Figura 10.13 para verificar a saída na Figura 10.14.
Confirme a edição do código na aba RAPID e depois clique no botão Apply para confirmar
as alterações. Em seguida, simule pressionando o botão START, Figura 10.14.
Figura 10.14 - Resultado do ensaio 4 com o Operator Window.
Exemplo 1. Exemplo 2.
VAR num k;
FOR k FROM 1 TO 10 DO VAR num contador;
k := k + 1; FOR contador FROM 1 to 100 DO
ENDFOR TPWrite "Contador := "\num:= contador;
ENDFOR
Vamos repetir as etapas anteriores dos ensaios e alterar a parte da edição do código da
Figura 10.15 para verificar a saída na figura 10.16.
Confirme a edição do código na aba RAPID e depois clique no botão Apply para confirmar
as alterações. Em seguida, simule pressionando o botão START, Figura 10.16.
Vamos repetir as etapas anteriores dos ensaios e alterar a parte da edição do código da
Figura 10.17 para verificar o comportamento com o uso do STEP.
Figura 10.17 - Código RAPID com controle de fluxo - FOR com STEP.
O uso da função ValToStr(valor) que converte um valor númerico em uma string que pode
ser usado por exemplo com o TPWrite. Ex. TPWrite "Valor :=" + ValToStr(variável);
105
10. INTRODUÇÃO AO RAPID
Exemplo 1.
VAR num soma:=0;
VAR num k:=0;
WHILE soma < 100 DO
soma := soma + 1;
k := k + 1;
ENDWHILE
Vamos repetir as etapas anteriores dos ensaios e alterar a parte da edição do código da
Figura 10.18 para verificar a saída na Figura 10.19.
Figura 10.18 - Código RAPID com controle de fluxo - WHILE.
Confirme a edição do código na aba RAPID e depois clique no botão Apply para confirmar
as alterações. Em seguida, simule pressionando o botão START, Figura 10.19.
A próxima instrução é o TEST é igual a instrução switch case com a seguinte sintaxe:
TEST <expression>
{ CASE <test value> { ',' <test value> } ':'
<statement list>
}
[ DEFAULT ':'
<statement list>
]
ENDTEST
Exemplo 1.
TEST reg1
CASE 1,2,3 :
rotina1;
CASE 4 :
rotina2;
DEFAULT :
TPWrite "Escolha errada";
Stop;
ENDTEST
107
10. INTRODUÇÃO AO RAPID
Vamos repetir as etapas anteriores dos ensaios e alterar a parte da edição do código da
Figura 10.20 para verificar a saída na Figura 10.21.
Figura 10.20 - Código RAPID com controle de fluxo - TEST.
Confirme a edição do código na aba RAPID e depois clique no botão Apply para confirmar
as alterações. Em seguida, simule pressionando o botão START, Figura 10.21.
MoveL
MoveC
MoveJ
A instrução MoveL é usado para mover o ponto central da ferramenta (TCP) linearmente
para um determinado destino p1, por exemplo. Quando o TCP deve permanecer parado esta
instrução, também pode ser usada para reorientar a ferramenta.
Exemplo 1
Neste exemplo o TCP da ferramenta chama-se tool2. Ele é deslocado linearmente para p1
com velocidade v1000 e a zona é z30.
CONST robtarget p1 := [ [600, 500, 225.3], [1, 0, 0, 0], [1, 1, 0, 0], [ 11, 12.3, 9E9, 9E9, 9E9, 9E9] ];
Exemplo 2
Zone
Vamos analisar a zona, na Figura 10.22. Podemos observar a reta simulando o movimento
da ferramenta passando pelo ponto de forma precisa. Neste caso, o movimento utilizaria fine.
Fonte: O Autor.
Agora a zona seria z50 na Figura 10.23. O movimento executado não necessariamente
deve passar pelo ponto e sim próximo dele com uma margem de aproximação de 30mm.
VARIAVÉL VALORES
v5 5 mm/s
Velocidade máxima
vmax
Fonte: O Autor.
110
10. INTRODUÇÃO AO RAPID
Exemplo 1
Exemplo 2
MoveJ
A instrução MoveJ é usado para mover o robô rapidamente de um ponto para outro.
Principalmente quando esse movimento não tem que estar em linha reta. O robô e os eixos
externos se movem para a posição de destino ao longo de um caminho não-linear. Todos os
eixos chegam à posição de destino ao mesmo tempo.
Exemplo 1
REFERÊNCIAS
BIBLIOGRÁFICAS
112
REFERÊNCIAS BIBLIOGRÁFICAS
ABB AB Robotics and Motion. Manual de operação começar, IRC5 e RobotStudio: revisão
P. [S.l.]: ABB, 2018. Disponível em:
https://abb.sluzba.cz/Pages/Public/IRC5UserDocumentationRW6/pb/3HAC027097%20OM%2
0Getting%20started%20IRC5%20and%20RobotStudio-pb.pdf. Acesso em: 29 mar. 2021.
PAES, Koen et al. Energy efficient trajectories for an Industrial ABB Robot. Procedia CIRP.
v.15, 2014. p. 105–110. Disponível em:
https://www.sciencedirect.com/science/article/pii/S2212827114004661. Acesso em: 29 mar.
2021.
JOSÉ SOARES BATISTA LOPES possui graduação em