Você está na página 1de 64

Área Tecnológica de Mecatrônica.

ROBÓTICA BÁSICA
ROBÔ FANUC
Área Tecnológica de Mecatrônica.

ROBÓTICA
BÁSICA
ROBÔ FANUC

SALVADOR
2003

Copyright 2003 por SENAI CIMATEC. Todos os direitos reservados.

Área Tecnológica de Mecatrônica


Elaboração: Eduardo José Lima II
Marise Carvalho Mota Arnaldo
Helder Lacerda de Araújo
Revisão Técnica: Milton Souza Bastos
Revisão Pedagógica: Maria Célia Calmon Santos
Normalização: Maria do Carmo Oliveira Ribeiro

Catalogação na fonte (Núcleo de Informação Tecnológica - NIT)


________________________________________________________

SENAI-BA CIMATEC – Centro Integrado de Manufatura


e Tecnologia. Robótica Básica: robô FANUC. Salvador,
2003. 67.p. il. (Rev.00)

I. Robótica I. Título
CDD 629
________________________________________________________

SENAI CIMATEC
Av. Orlando Gomes, 1845 - Piatã
Salvador – Bahia – Brasil
CEP 416050-010
Tel.: (71) 462-9500
Fax. (71) 462-9599
http://www.cimatec.fieb.org.br
MENSAGEM DO SENAI CIMATEC

O SENAI CIMATEC visa desenvolver um programa avançado de suporte tecnológico


para suprir as necessidades de formação de recursos humanos qualificados,
prestação de serviços especializados e promoção de pesquisa aplicada nas
tecnologias computacionais integradas da manufatura.

Com uma moderna estrutura laboratorial e um corpo técnico especializado, o


CIMATEC desenvolve programas de intercâmbio tecnológico com instituições de
ensino e pesquisa, locais e internacionais.

Tudo isso sem desviar a atenção das necessidades da comunidade, atendendo suas
expectativas de formação profissional, suporte tecnológico e desenvolvimento,
contribuindo para uma constante atualização da indústria baiana de manufatura e
para a alavancagem do potencial das empresas existentes ou emergentes no
estado.
APRESENTAÇÃO

Neste trabalho, o convidamos a entrar no mundo fascinante da robótica. Aqui você


encontrará os conceitos básicos necessários à compreensão do funcionamento dos
robôs, desde os aspectos construtivos aos fundamentos básicos de programação.
Não se pretende aqui esgotar o assunto, mas sim fornecer subsídios básicos para
aqueles que pretendem ter um contato inicial com a área e para aqueles que
pretendem se aprofundar posteriormente.

SUMÁRIO
1. IntroduÁão à Robótica.........................................................................................7
1.1 HISTÓRICO..................................................................................................................................................7
1.2 DEFINIÇÃO..................................................................................................................................................7
2. Arquitetura.............................................................................................................8
3. ClassificaÁão.........................................................................................................9
4. Graus de Liberdade............................................................................................13
5. Volume de Trabalho...............................................................................................14
6. Acessórios...........................................................................................................15
6.1 GARRAS:..................................................................................................................................................15
6.2 FERRAMENTAS ESPECIALIZADAS....................................................................................................................16
7. Capacidade de Carga.........................................................................................16
8. AplicaÁões Industriais de Robôs......................................................................16
8.1 SOLDAGEM................................................................................................................................................17
8.1.1 SOLDAGEM A PONTO..................................................................................................................................17
8.1.2 SOLDAGEM A ARCO....................................................................................................................................18
8.2 APLICAÇÃO DE FLUIDOS..............................................................................................................................19
8.3 MONTAGEM...............................................................................................................................................20
8.4 CARREGAMENTO / MOVIMENTAÇÃO..............................................................................................................21
9. SeguranÁa...........................................................................................................21
10. Tipos e dispositivos de ProgramaÁão.............................................................23
10.1 PROGRAMAÇÃO MANUAL............................................................................................................................25
10.2 REPETIÇÃO................................................................................................................................................26
11. Terminal de ProgramaÁão (Teach Pendant).....................................................26
12. Linguagens de ProgramaÁão.............................................................................29
12.1 GERAÇÕES DE LINGUAGENS DE PROGRAMAÇÃO..............................................................................................29
12.2 COMANDOS DE PROGRAMAÇÃO...................................................................................................................31
12.3 SIMULAÇÃO...............................................................................................................................................35
12.4 SISTEMA DE MOVIMENTAÇÃO DO ROBÔ.........................................................................................................35
12.5 MODO AUTOMÁTICO..................................................................................................................................36
12.6 CRIAÇÃO E EDIÇÃO DE PROGRAMAS.............................................................................................................36
12.7 SALVAMENTO DE PROGRAMAS......................................................................................................................37
12.8 VISUALIZAÇÃO DE ERROS............................................................................................................................37
12.9 TROCA DE FERRAMENTAS............................................................................................................................37
12.10 ETAPAS DA PROGRAMAÇÃO......................................................................................................................38
12.11 PLANEJAMENTO DE PROGRAMAS...............................................................................................................38
12.12 DOCUMENTAÇÃO DE PROGRAMAS..............................................................................................................40
12.13 INTERRUPÇÕES.......................................................................................................................................40
13. Elementos de ProgramaÁão (robô FANUC).....................................................40
13.1 INSTRUÇÕES DE MOVIMENTO........................................................................................................................40
13.2 REGISTRADORES.........................................................................................................................................42
13.3 ESTRUTURAS DE CONTROLE DE FLUXO...........................................................................................................42
13.3.1 CHAMADA DE PROGRAMAS......................................................................................................................43
13.3.2 SALTOS DENTRO DE UM PROGRAMA...........................................................................................................43
13.3.3 ESTRUTURA CONDICIONAL.......................................................................................................................44
13.3.4 REPETIÇÃO COM CONTAGEM.....................................................................................................................44
13.3.5 SELEÇÃO DE CONDIÇÕES.........................................................................................................................45
13.4 COMANDO DE ATRASO.................................................................................................................................45
13.5 COMANDO DE MENSAGEM............................................................................................................................45
13.6 ENTRADAS E SAÍDAS...................................................................................................................................45
13.6.1 FORÇANDO E SIMULANDO SINAIS..............................................................................................................46
ANEXO I – Robô Industrial da FANUC (ARC Mate 50 iL)......................................48
A1.1 SEGURANÇA..............................................................................................................................................48
A1.1.1 CONSIDERAÇÕES DE SEGURANÇA PARA A INSTALAÇÃO DO ROBÔ..................................................................48
A1.1.2 EXTINÇÃO DO FOGO..............................................................................................................................49
A1.1.3 USO DE DISPOSITIVOS DE AUMENTO DE SEGURANÇA.................................................................................49
A1.1.4 CRIANDO UM CÉLULA DE TRABALHO SEGURA..........................................................................................49
A1.1.5 PARADAS DE EMERGÊNCIA......................................................................................................................50
A1.2 APLICAÇÕES:.............................................................................................................................................50
A1.3 GRAUS DE LIBERDADE:...............................................................................................................................50
A1.4 EIXOS:.....................................................................................................................................................51
A1.4.1 EIXOS INTERNOS :..................................................................................................................................51
A1.4.2 EIXOS EXTERNOS :.................................................................................................................................51
A1.5 ABERTURA DE PROGRAMAS.........................................................................................................................51
A1.6 INICIANDO O PROGRAMA.............................................................................................................................52
ANEXO II – Roteiros de Aulas Práticas...................................................................53
PRÁTICA 1 – MOVIMENTAÇÃO DO ROBÔ (JOGGING)......................................................................................................53
PRÁTICA 2 - MARCAÇÃO DE PONTOS..........................................................................................................................55
PRÁTICA 3 - EDIÇÃO DE POSIÇÃO DE PONTOS...............................................................................................................58
PRÁTICA 4 - FUNÇÕES DE CHAMADAS DE PROGRAMAS...................................................................................................60
PRÁTICA 5 - COMANDO DE MOVIMENTO CIRCULAR.......................................................................................................61
PRÁTICA 6 - REPETIÇÃO DE PROGRAMA UM NÚMERO INDETERMINADO DE VEZES...............................................................63
PRÁTICA 7 - REPETIÇÃO DE PROGRAMA UM NÚMERO DETERMINADO DE VEZES..................................................................64
Referências Bibliográficas.......................................................................................66
1. IntroduÁão à Robótica
1.1 Histórico
Desde o início da humanidade busca-se o desenvolvimento de equipamentos
que possibilitem melhorar a forma de sobrevivência e/ou interação com o meio
ambiente.
O termo robô tem sua origem datada no início do século XX através da
imaginação de escritores de ficção científica como Karel Capek que introduziu o
termo em 1921 em sua peça Rossum´s Universal Robots (RUR). Este termo provem
do checo e significa trabalho árduo ou trabalho forçado. Já o termo robótica foi
introduzido por Isaac Asimov, no início dos anos 40 para descrever a arte e a ciência
que envolve a tecnologia de robôs. Na concepção de Capek os robôs podiam se
tornar malevolentes e dispostos a conquistar o mundo, enquanto que na de Asimov
os robôs seriam sempre benevolentes para a humanidade.
O conceito de robô industrial foi patenteado em 1954 por G.C. Devol. Ele
descreve como construir um braço mecânico controlado para realizar tarefas na
indústria. Porém somente em 1961 foi instalado o primeiro robô industrial pela
Unimation na General Motors em uma máquina de fundição.
Três tecnologias que nasceram durante ou após a II Guerra Mundial que
foram cruciais para o sucesso da robótica: A tecnologia de servo-mecanismos; a
computação digital; e o desenvolvimento de componentes eletrônicos. É
interessante notar que no princípio a eletrônica representava 75% do custo de
fabricação do robô, enquanto que 25% referia-se ao custo hidromecânico. Hoje
essas taxas se inverteram.
Os robôs industriais são considerados convenientes para trabalhos
considerados repetitivos, desagradáveis, arriscados ou insalubres para o homem. As
principais vantagens dos robôs são as seguintes:
• Flexibilidade
• Alta produtividade
• Melhor qualidade dos produtos
• Aumento da qualidade de vida humana, uma vez que realizam trabalhos
indesejáveis.
Muita discussão se forma ao redor dos robôs e sob seu uso em detrimento as
mãos-de-obra humana. Obviamente a implantação de robôs extingue algumas
atividades humanas, aquelas que são repetitivas e braçais, mas em contra-partida
desloca postos de trabalho para atividades de maior valor agregado, substituindo
assim a mão-de-obra pela mente-de-obra.

1.2 DefiniÁão
A Divisão Internacional de Robótica da Society Manufacturing Engineers
(SME) define o robô industrial como “manipulador multifuncional reprogramável
projetado para mover materiais, peÁas, ferramentas ou aparelhos
especializados através de movimento programados variável para a realizaÁão
de diversas tarefas”. As palavras chaves dessa definição são multifuncionais,
mostrando que o robô pode possuir mais do que uma função sendo que às vezes
pode possuir somente uma, reprogramável, mostrando que o robô pode ser
programado sempre e mover materiais, peças e ferramentas que definem as tarefas 7
do manipulador. Além dessas pode-se incluir as seguintes palavras chaves:
movimento sobre diversas direções (graus de liberdade), end effector (ferramenta do
robô anexada ao pulso do robô que exercerá a função desejada).

2. Arquitetura
Os sistemas robóticos consistem de, no mínimo, duas partes principais:
• Manipulador - Consiste na estrutura mecânica móvel que realiza a função de
movimento em um robô. Ele é composto por uma estrutura principal (main
frame), braço mecânico, que consiste de diversos ligamentos mecânicos
rígidos conectados por juntas que permitem o movimento relativo entre
ligamentos vizinhos. As juntas são dotadas normalmente de sensores de
posição que permitem medir o deslocamento relativo entre os ligamentos. Ao
pulso do robô (flange) se conectam ferramentas específicas que variam
segundo a aplicação.
• Controlador - Controla e armazena o programa tarefa, bem como atua nas
juntas do manipulador

As partes de um robô correspondem a algumas das partes de uma pessoa (e


outros animais), pois os problemas de percepção, movimento e controle que os
robôs devem resolver são análogos aos muitos problemas que os humanos e outras
criaturas vivas também enfrentam. De fato, a fim de descobrir como solucionar
esses problemas para os robôs os engenheiros freqüentemente preferem estudar
como a natureza tentou solucioná-los.

9
3. ClassificaÁão
A primeira classificação diferencia os diversos tipos de robô pela sua forma de
locomoção:
1. Tartarugas (turtlebots): São robôs dotados de características que os assemelham a
uma tartaruga.
2. Estacionários: São braços dotados de mãos ou garras que normalmente ficam fixos
em mesas e pedestais.
3. Andróides: Robôs que possuem formas baseadas na anatomia do corpo humano.
Os sistemas robóticos classificam-se também segundo a configuração das
juntas utilizadas, incluindo as características cinemática e estrutural, o número de
graus de liberdade, a faixa de trabalho e o tipo de controle do robô.
Para permitir a compreensão desta classificação, caracterizaremos os tipos
de junta como:

• Prismáticas: que podem ser de estágio simples e estágio múltiplo


(juntas telescópicas), as de estágio simples são feitas de uma
superfície móvel que desliza linearmente sobre uma superfície
fixa; as de estágio múltiplo são na verdade um conjunto de juntas
de estágio simples (à semelhança de uma antena de carro).
Produzem deslocamentos lineares entre os ligamentos.
10
• De movimento Rotativo: projetadas para permitir rotação pura
com o mínimo de movimentos axiais e radiais. Produzem
deslocamentos angulares entre os ligamentos. São também
chamadas de juntas angulares.

Há, ainda, juntas especiais, como as juntas esféricas:

• Esféricas: projetadas para combinar três juntas de rotação,


realizando a rotação em torno de três eixos. No corpo humano
existem algumas juntas esféricas como a junta entre o ombro e o
braço, o braço e o punho, o tronco e as pernas.

Assim, estruturalmente os robôs podem ser classificados de acordo com o


sistema de coordenadas adotado pela sua estrutura principal, ou seja, seus três
primeiros eixos a contar a partir da base:

Cartesiano (três eixos lineares - PPP): possuem uma


estrutura principal que consiste em três linhas ortogonais
(prismáticas ou deslizantes). Em robôs cartesianos, o
hardware do manipulador e o programa de controle são
similares aos das máquinas ferramentas CNC. O pulso de
um robô cartesiano pode ser programado para traçar uma
trajetória linear simplesmente controlando cada um dos
eixos com velocidade constante. Outra importante
característica dos robôs cartesianos é sua resolução
espacial constante, isto é sua resolução é fixa em todas as
direções da trajetória. Não é tão popular na indústria
devido a sua deficiente flexibilidade mecânica, não
conseguindo alcançar objetos no chão ou alcançar pontos
invisíveis da sua base. Além disso, a velocidade de
operação no plano horizontal é inferior aos robôs que
possuem uma base rotacional.
Cilíndricos (um eixo angular e dois eixos lineares RPP):
consistem em um braço horizontal montado sobre uma
coluna vertical que é inserida em uma base rotacional. Seu
volume de trabalho é um cilindro de base anular. Sua
resolução não é constante e depende da distância r entre
a coluna e a garra inserida no braço horizontal. A
resolução do braço sobre a base possui uma ordem de
grandeza duas vezes maior que nos robôs cartesianos,
além disso, possui maior velocidade no fim do braço.
Entretanto essa velocidade é limitada em muitos robôs
devido à variação do momento de inércia do braço do robô
11
que depende da carga da ferramenta inserida no braço do
robô e a posição do próprio braço. Porém uma boa
performance dinâmica é difícil de ser alcançada, pois o
torque que o motor que está na base deve fornecer
depende da posição, velocidade e aceleração das outras
juntas e causa variação que reflete no torque e momento
de inércia. O momento de inércia depende da massa do
objeto carregado pela garra e também da distância entre o
eixo da base e o objeto manipulado. Esta distância é
função da posição instantânea da garra e das outras
juntas durante o movimento, logo o momento de inércia
varia com a posição e o tempo.
Esféricos (dois angulares e um linear RRP): consistem
em uma base rotatória, um eixo elevado e um braço
telescópico. Seu volume de trabalho é de uma casca
esférica. Sua desvantagem em relação aos robôs
cartesianos é que os robôs esféricos possuem dois eixos
com resolução relativamente baixa que varia com o
comprimento do braço. Sua vantagem em relação aos
robôs cartesianos e cilíndricos é sua melhor flexibilidade
mecânica, seu eixo elevado permite acesso aos pontos no
nível da base ou abaixo dela.
SCARA (dois angulares e um linear RRP): A sigla
SCARA provém do inglês e significa “Selective Compliant
Assembly Robot Arm''. A principal vantagem desta
configuração é que os atuadores das duas primeiras
juntas estão livres de suportar os pesos do próprio
manipulador e da carga e podem ser alocados na base
do manipulador, podendo então ser relativamente
grandes, o que garante altas velocidades de movimento.
Como o próprio nome indica, esta configuração é
indicada para tarefas de montagem, tais como inserir
pinos em buracos ou componentes de circuitos
eletrônicos em soquetes.
Articulados (três eixos angulares RRR): consistem em
três membros rígidos conectados por duas juntas de
revolução e apoiados sobre uma base rotatória. Os robôs
articulados possuem três eixos angulares e sua resolução
espacial depende da posição do braço. Sua precisão é
pobre pois os erros das juntas são acumulados no fim do
braço. Por outro lado podem mover-se em altas
velocidades e possuem uma excelente flexibilidade
mecânica, o que torna o seu uso mais comum em robô de
tamanho pequeno ou médio.

Geralmente, além dos três eixos mencionados, os robôs articulados possuem


mais três eixos que têm o objetivo de orientar a ferramenta, são eles o roll, o pitch e
o yaw.
12
• Yaw é uma rotação ao redor de um eixo vertical que
vai da parte superior à parte inferior através do
punho. Isto produz um movimento da direita para a
esquerda, assim como aquele usado para dizer
“não”.
• Pitch é uma rotação ao redor de um eixo horizontal
que vai da esquerda para à direita através do punho.
. Isto produz um movimento de sobe e desce da mão,
assim como aquele usado para dizer “até logo”.
• Roll é uma rotação ao redor de um eixo horizontal
que vai de trás para frente através do punho. Isto
produz um balanço lateral da mão, assim como
aquele usado para dizer “mais ou menos”.

Alguns robôs utilizam outra configuração para os eixos de orientação da


ferramenta. Nestes robôs temos dois eixos de roll e um eixo de picth/yaw. Desta
forma obtemos também a orientação da ferramenta em roll, pitch e yaw.

A figura seguinte mostra como a ferramenta


pode ter várias orientações na mesma posição:

4. Graus de Liberdade
Braços de robôs são freqüentemente descritos
como tendo um certo número de graus de liberdade
ou um certo número de eixos de movimento. Em
robótica, o número de graus de liberdade é o número
de movimentos distintos que o braço pode realizar.
Normalmente o número de graus de liberdade
iguala-se ao número de juntas, de forma que um robô de cinco graus de liberdade
possui cinco juntas, e um robô com seis eixos tem seis juntas. Porém, em certos
casos é possível que duas juntas não tenham movimentos independentes, como,
por exemplo, em um compasso com engrenagens. Nesses casos apenas um grau
de liberdade é contado para as duas juntas.
A noção de graus de liberdade tem limites definidos. Por exemplo, uma junta
não possui apenas uma direção de movimento, mas também limites a este
movimento. Essa faixa de movimento permitido, que não tem nada a ver diretamente
com graus de liberdade, é muito importante. Por exemplo, quando seguramos uma
bola de tênis na mão, a seguramos mantendo a palma da mão em contato com ela.
Isto ocorre porque as juntas de nossos dedos só dobram na direção da palma da
mão e não em direção às costas desta. Caso nossas juntas tivessem uma faixa de

13
movimento que lhes permitisse dobrar nas duas direções, seríamos capazes de
pegar uma bola de tênis tanto com a palma como com as costas da mão.
Assim, usamos os graus de liberdade adicionais das juntas de nossos
punhos, cotovelo e ombro para mover nossa mão de tal forma que a palma fique de
frente para a bola. Portanto ter mais juntas (punho, cotovelo e ombro) e em
conseqüência mais graus de liberdade, ajuda-nos a compensar o fato de ter uma
faixa de movimentos um tanto limitada em nossos dedos. Um robô precisa de
apenas dois ou três graus de liberdade para ser útil, mas às vezes mais que seis
graus são necessários para estendê-lo a realizar manobras, como, por exemplo, no
interior de um automóvel.
5. Volume de Trabalho
Uma das características mais importantes dos manipuladores é o seu volume
de trabalho, ou seja, a região do espaço que o mesmo consegue alcançar com seu
órgão terminal. A superfície desse volume depende do sistema de coordenadas
empregado e o tamanho depende das dimensões físicas do braço do robô.
Robôs em movimento especialmente de grande porte, acumulam uma grande
energia. Os robôs podem aparentar estarem desligados, mas podem mover-se
repentinamente e sem advertência, pois pode estar esperando por sinais de
entradas que vem de outras máquinas ou mesmo esperando um período de tempo
passar. A segurança do usuário depende do respeito ao volume de trabalho do
robô. É importante observar também que o acoplamento de uma ferramenta no
flange do robô aumenta esse volume de trabalho.

Volume de Trabalho do homem e de um robô

14
Volume de Trabalho do FANUC ARC Mate 50 iL

6. Acessórios
A junta terminal do robô é também conhecida como punho ou flange. A ela
podem ser acoplados acessórios efetuadores ou ferramentas apropriadas para
diferentes aplicações. As ferramentas podem ser classificadas em dois grandes
grupos: garras e ferramentas especializadas, respectivamente usadas para mover
objetos e para executar tarefas especiais.

6.1 Garras:
• Garras de dois dedos: É o tipo de garra mais
comum, variando em tamanho e/ou movimento dos
dedos. A desvantagem básica da garra de dois dedos
é a sua limitação de abertura, impossibilitando o
manuseio de objetos maiores que sua abertura total.

• Garras de três dedos: É similar à garra de dois


dedos, mas permite maior segurança no agarrar
objetos, podendo segurar formas esféricas,
triangulares, etc.

• Garras para objetos cilíndricos: Consiste de dois


dedos, cada um deles possuindo três ou mais
depressões circulares, possibilitando a pega de
objetos cilíndricos de diversos tamanhos.

15
• Garras para objetos frágeis: Projetadas para pegar
um objeto frágil sem quebrá-lo, através da distribuição
do ponto de força ao longo da peça.

• Garras de Juntas: Apropriadas para pegar objetos


de vários tamanhos e de superfícies irregulares. As
conexões são movidas por pares de cabos. Um cabo
de cada par flexiona a junta, e o outro a estende. Para
pegar um objeto, as juntas dos dedos envolvem-no e
seguram-no firmemente. Quanto menor o tamanho
das juntas dos dedos, maior é a firmeza e a
capacidade de pegar objetos irregulares.

• Garra Eletromagnética ou a Vácuo: Projetadas para


pegar objetos lisos e chatos através de um vácuo
criado nas suas ventosas. Já as Garras
Eletromagnéticas são designadas para pegar objetos
metálicos através de campo magnético. Ambos os
tipos de garras são eficientes, já que elas podem
pegar objetos de diversos tamanhos, e não requerem
grande precisão na localização do objeto. As garras a
vácuo são usadas para pegar objetos de superfície
plana, como chapas de metal e caixas de papelão.
Geralmente cada garra a vácuo possui um
determinado número de ventosas conforme sua
aplicação, isto para reduzir o risco de
escorregamento, bem como para aumentar a
capacidade de transporte.

6.2 Ferramentas especializadas


As ferramentas especializadas que os robôs podem usar nas diversas
operações que executam incluem pistolas de pintura e de solda a ponto, tochas de
solda a arco, cortadores a jato d’água e a laser e rebitadeiras automáticas.

Pistola de Pintura Tocha Ponteadeira de Solda Cortadora Laser

16
7. Capacidade de Carga
Como vimos previamente, existem diferentes tipos de robôs para a execução
das mais variadas funções. Logo a capacidade de carga irá diferir a depender da
tarefa a ser executada pelo robô. Robôs podem chegar a ter uma capacidade de
carga de até mais de uma tonelada. Os Robôs da FANUC, o ARC Mate 50 iL e o
120 possuem uma capacidade de carga de 3 kg e de 130 kg respectivamente.

8. AplicaÁões Industriais de Robôs


A principal vantagem da utilização de robôs na indústria se refere a sua
capacidade de executar tarefas repetitivas e com grande precisão (repetibilidade).
Com isso pode-se conseguir um aumento na produtividade e na qualidade dos
produtos. Além disso, há casos onde há risco para os operários e a utilização de
robôs se faz por questões de segurança.
São apresentadas a seguir uma série de aplicações de robôs na indústria.

8.1 Soldagem
8.1.1 Soldagem a Ponto
Este tipo de soldagem se caracteriza pela união das peças apenas em
determinados pontos sem que haja inclusão de material novo. O calor necessário à
soldagem provém da corrente elétrica que passa por dois eletrodos permanentes.
Os principais parâmetros que influenciam a qualidade da solda são: corrente
elétrica, pressão entre os eletrodos, tempo de duração da corrente e espessura do
material.
As operações do processo de solda a ponto, integrando o robô, são:
• Movimento rápido do braço do robô, com a pistola de solda fixa, para
se aproximar do ponto a ser soldado;
• Aproximação dos eletrodos da pistola de solda a ambos os lados da
parte a ser soldada e posicionamento destes exatamente em frente a ponto
de solda;
• Fixação dos eletrodos no ponto a ser soldado;
• Envio de corrente elétrica através dos eletrodos e do material a ser
soldado;
• Espera;
• Abertura dos eletrodos;
• Movimentação do braço do robô para se aproximar do novo ponto de
solda.

17
Podemos concluir que este tipo de trabalho é ideal para a utilização de robôs,
afinal estes podem repetir com grande precisão os valores dos três primeiros
parâmetros, durante todo o trabalho. Nestas aplicações o robô usa como ferramenta
a pistola de solda que geralmente é pesada ( 10 a 80 Kg ), por isso, são geralmente
usados robôs com fonte de potência hidráulica. A precisão de posição não é um
ponto crítico.

Sem dúvida a utilização de robôs na


área de soldagem se mostra muito maior na
linha de montagem de automóveis. Os
primeiros robôs do setor foram instalados
pela General Motors em 1969. Neste tipo de
aplicação ocorrem muitos pontos de solda
(300) em cada estrutura e, além disso, os
pontos são próximos uns dos outros o que
cria uma grande vantagem na utilização de
robôs. Podemos citar ainda outras aplicações deste tipo de robôs na indústria como:
estruturas metálicas e produção de eletrodomésticos.

8.1.2 Soldagem a Arco


Este método de soldagem é
utilizado para unir metais ao longo
de uma trajetória contínua. O
princípio de operação é igual à
soldagem de ponto, porém neste
caso há introdução de material de
solda, geralmente de mesma
composição das peças a serem
soldadas. Outra diferença está no
fato de que neste caso um eletrodo
não entra em contato com a peça e a corrente é transmitida por um arco. Nos
sistemas robotizados geralmente se utiliza o processo de escudo por gás inerte
(IGS) onde a oxidação da solda que é muito intensa àquela temperatura, é inibida
pela introdução de gás inerte na região entre o eletrodo e a peça. A ferramenta neste
caso não é tão pesada e robôs com servo motores podem ser utilizados. A
velocidade de soldagem varia de 0,25 a 3 m/min. O ciclo de soldagem é controlado
pelo equipamento de solda que na verdade controla o fluxo do gás inerte, a tarefa do
robô é de conduzir a ferramenta na trajetória correta, com a velocidade desejada e
com distância constante em relação à base. As operações realizadas pelo robô são:
• Rápido movimento para a área de contato a ser soldada;
• Transmissão de sinais para causar a dispersão do gás e aplicação de
tensão ao eletrodo;
• Movimento preciso ao longo do caminho de solda enquanto mantém
um constante vão de ar;
• Preservar constante a orientação do eletrodo em relação à superfície a
ser soldada;

18
• Manter a pistola de solda se movendo a uma velocidade constante;
• Habilidade para realizar movimentos de "tecelagem", para se atingir
uma boa junção entre os dois corpos de metal e garantir a qualidade da
solda.

Este tipo de aplicação geralmente requer robôs com quatro ou cinco eixos de
movimentação e se constitui numa das mais difíceis tarefas a ser realizadas por
robôs na indústria. Porém a maior vantagem da utilização de robôs é a otimização
do tempo de trabalho. Quando analisamos o trabalho realizado por um homem
verificamos que o tempo gasto efetivamente com a soldagem é aproximadamente
30% do tempo total, sendo que os 70% restantes são despendidos com ajuste do
equipamento de proteção ou das peças. Este tempo pode ser eliminado se o
operador for um robô. A principal aplicação da soldagem de arco na indústria se
encontra na fabricação de cascos de navios e barcos. Além da melhoria no tempo de
produção a soldagem de partes internas se torna muito perigosa para um ser
humano devido aos gases tóxicos liberados.

8.2 AplicaÁão de Fluidos


Os setores de aplicação de fluidos tais como tinta, cola e resina de uma
indústria, são ambientes não adequados para o ser humano em função da toxidez
dos produtos utilizados e do ruído provocado pelo fluxo de ar. Assim, esses
processos se tornam candidatos potenciais ao uso de robôs em substituição a mão-
de-obra humana. Neste tipo de aplicação as características desejadas dos robôs
são bastante específicas:
• Grande “habilidade” para aplicação do fluido em áreas pouco
acessíveis;
• Elevado volume de trabalho;
• Devem ocupar pequeno espaço no solo pois as áreas são geralmente
pequenas;
• Ferramenta leve e com baixa precisão.

19
Neste tipo de aplicação ocorre também um grande predomínio de robôs no
setor de produção de automóveis onde os robôs devem dispor das características
citadas acima para alcançar partes internas do veículo. Apresentamos a seguir um
exemplo que ilustra a aplicação de robôs no setor de pintura.

Os principais problemas
da integração de robôs aos
processos de aplicação de
fluidos são:
– Proteção dos robôs de
fumaça e sujeira do ambiente
externo;
– Isolação de fontes de faíscas
elétricas durante a operação,
durante a manipulação de
fluidos inflamáveis;
– Necessidade de coordenação
entre os movimentos do robô
e a localização das partes a
serem pintadas;
– Necessidade de alcance de áreas difíceis.

8.3 Montagem
Esta operação é uma das áreas mais desafiadoras e com maior potencial de
crescimento na aplicação de robôs. Ela requer precisão, repetibilidade, grande
variedade de movimentos e alto grau de sofisticação das garras. Geralmente o fator
mais importante na decisão de substituir uma linha de montagem com mão-de-obra
humana por uma automatizada seja a produtividade e os custos. Neste setor o
ambiente normalmente não apresenta grandes riscos aos humanos, portanto para
ser viável a aplicação de robôs, estes devem ser mais rápidos ou mais precisos que
os humanos.
A aplicação mais comum de robôs na montagem industrial é encontrada em
produtos com dimensões reduzidas, onde a precisão é fator importante, como
elementos eletrônicos ou pequenos motores elétricos. Este sistema permite uma
solução extremamente econômica para este tipo de montagem. Há uma
peculiaridade neste tipo de aplicação. Devido às dimensões serem bastante
reduzidas, as trajetórias das ferramentas são, geralmente, muito curtas. Para atingir
velocidades consideráveis e diminuir o tempo de montagem, o robô precisa ter
acelerações muito altas. A principal desvantagem da utilização de robôs neste tipo
de operação está no fato de que as peças a serem montadas precisam estar
dispostas de forma correta para o robô funcionar. Isto faz com que em certas
aplicações o sistema de alimentação do robô custe mais caro que ele próprio.

20
8.4 Carregamento / MovimentaÁão
Este processo é historicamente um dos mais perigosos da indústria, devido às
grandes cargas e pressões que normalmente envolvem. A aplicação de robôs neste
tipo de operação, normalmente pouco ergonômica, trás vantagens principalmente
para a segurança e saúde dos operários.

9. SeguranÁa
Um ponto que deve ser analisado com cuidado se refere à segurança dos
operários que podem trabalhar próximos aos robôs. Pode parecer antagônico, mas
os robôs que em certos casos são utilizados para diminuir os riscos às vidas
humanas, podendo se tornar fonte de perigo. Devemos encarar aqui o robô como
uma outra máquina qualquer e, portanto deve este ser tratado como um agente
perigoso se operado impropriamente. Um fato agravante na utilização de robôs é
que seu volume de trabalho não se limita ao volume realmente ocupado por ele,
criando assim uma zona de perigo que às vezes pode não ser percebida pelo
operador. Há uma série de normas que regem a instalação de robôs no chão e
fábrica. Os pontos mais importantes destas normas são:
• O volume de trabalho do robô deve estar constantemente isolado da
fábrica, impedindo que qualquer pessoa tenha acesso a ele durante a operação
do robô
• A abertura da proteção do volume de trabalho do robô deve interromper o
seu funcionamento
• Deve haver uma indicação luminosa para mostrar que o robô está em
operação
• Botões de emergência devem estar dispostos em locais de fácil acesso
• Deve-se tomar especial cuidado durante a manutenção onde o contato com
o robô é inevitável

21
Essas são apenas algumas das instruções para instalação do robô no chão
de fábrica. Elas devem ser seguidas rigorosamente para que a integração do robô
na fábrica traga aumento da segurança aos operários e não o contrário.
Os cuidados de segurança são imprescindíveis durante o manuseio de robôs,
principalmente os de porte industrial. As velocidades de operação envolvidas aliado
à falta de “inteligência” do equipamento, que meramente reproduz os movimentos
pré-programados, os tornam verdadeiras armas mortíferas quando as devidas
precauções não são tomadas.
Colisões com robôs em movimento podem trazer graves danos tanto ao
pessoal envolvido quanto aos equipamentos no entorno. Algumas precauções
devem então ser tomadas:
1. Área de trabalho - Não entrar na área de trabalho do robô durante a operação
no modo automático.
2. Travas de seguranÁa – Uma vez ocorrida uma parada no sistema provocada
por uma trava, o programa reinicia de onde parou. Se a trava faz parte do
circuito de emergência, precisa reiniciar. Algumas das travas possíveis são:
• Cerca com porta, munida de sensor.
• Cortina de luz
3. Fim de curso - Limitação da área de trabalho
• Via software (todos os eixos. O próprio controlador impede movimentos além
dos valores determinados)
• Via hardware (stops mecânicos nos eixos 1,2 e 3)
É aconselhável o uso de limitação por software em valores inferiores aos
bloqueios por hardware pelo esforço e conseqüente desgaste mecânico provocado
por estes últimos
4. Modo de operaÁão - Usualmente costuma-se operar o robô de três formas
distintas:
– Automático – Usado quando se roda programas prontos, em produção. Não é
possível movimentar o robô através do “teach pendant” neste modo.
– Modo Aprendizado – É utilizado quando se trabalha dentro da área de trabalho
do robô e durante a fase de programação e debug. Normalmente deve-se usar
velocidades reduzidas.
– Manual Pleno – É utilizado para testar o robô à velocidade de programação
plena.
Nos modos manuais (modos aprendizagem e manual pleno) a energização
dos motores se dá através de um botão de um dispositivo de habilitação localizado
no teach pendant.
5. Emergency Stop – botão de parada brusca
• Terminal de programação
• Painel de controle
OBS: Deve ser usado apenas em caso de real emergência pelo esforço
aplicado nas engrenagens, causando desgaste mecânicos .

22
6. Bom Senso – A execução de qualquer programa deve ser primeiramente
realizada com velocidade reduzida. Só após todos os testes, efetuar em
velocidade normal.

10. Tipos e dispositivos de ProgramaÁão


Os robôs utilizados na indústria atualmente são basicamente mecanismos
automáticos projetados para desenvolver determinadas tarefas que podem ser parte
ou até mesmo todo o processo produtivo de determinado produto. Quando executa
sua tarefa o robô deve ser capaz de perceber certas mudanças no ambiente e de
acordo com elas alterar seu ciclo de operações. Além disso, um mesmo tipo ou até
mesmo um mesmo robô deve ser capaz de realizar diferentes tarefas de acordo com
a utilização que se faz dele. Os modos de programação dos robôs devem ser
capazes de atender a essas exigências, ou seja, permitir a variação do ciclo de
operação.
A combinação de seis graus de liberdade com o sistema de coordenas não
cartesiano geralmente utilizado por robôs torna a programação destas máquinas
muito mais complexa do que a de outras utilizadas na manufatura. Por isso muitas
técnicas tem sido desenvolvidas para auxiliar e tornar mais completa a programação
de robôs.
Inicialmente devemos entender a diferença entre os sistemas de coordenadas
geralmente utilizados na programação de robôs. Há basicamente três sistemas
importantes neste tipo de problema:
• o sistema de coordenas global, que se refere ao mundo do usuário e é
fixo
• o sistema de coordenadas das juntas do robô que se refere aos valores
assumidos por cada junção do robô
• o sistema de coordenadas da ferramenta (TCP) que é solidário ao ponto
central da ferramenta.
Cada ponto do espaço cartesiano interno ao volume de trabalho do robô pode
ser representado por uma família de coordenadas de junção.
O mais importante para o usuário é a localização da ferramenta. Esta pode
estar disposta em várias direções mesmo que o ponto central da ferramenta esteja
no mesmo local. Geralmente é mais importante programar o movimento com
referência na ferramenta e não no robô ou em coordenadas cartesianas globais.
Neste ponto fica claro que uma característica importante de um sistema de
programação de robôs é a capacidade de realizar a transformação das coordenadas
entre os diversos sistemas de referência. Essa transformação deve ser realizada em
tempo real, principalmente para aplicações mais complexas.
Os métodos comercialmente utilizados na programação de robôs são: manual
e repetição ( “on-line”) e linguagens de programação ( “of-line” ).
O método de programação “on-line” utiliza o robô diretamente na fase de
programação. O operador deve guiá-lo e mostrar a ele o que fazer. Ou seja, deve-se
de alguma maneira levar o robô até a posição desejada e mandá-lo realizar
determinada tarefa, sendo que todos os dados vão sendo armazenados pelo robô.
Com os dados armazenados o robô pode repetir a tarefa quantas vezes forem
desejadas.

23
Ao contrário, o método “off-line” não utiliza o robô na fase de programação.
As ordens são passadas ao robô através de um programa de computador escrito em
uma linguagem específica. O programa consiste na verdade de uma seqüência de
ordens ao robô para orientá-lo na execução da tarefa. A linguagem usada deve
permitir ao programador pensar em termos das coordenadas da ferramenta. Assim
ele pode programar mais facilmente sendo que todos os cálculos de transformação
para as coordenadas de junção ficam sob responsabilidade do processador. Depois
que o programa for escrito ele é compilado e seu código é passado ao robô que
pode então executar as tarefas determinadas.
No caso da programação off line, as coordenadas dos pontos podem ser
fornecidas no próprio programa, caso sejam conhecidas previamente, ou podem ser
obtidas posteriormente, movimentando-se o robô para esses pontos.
Antes de passarmos ao estudo de cada um destes métodos de programação
é interessante apresentar os tipos de sistemas de movimentação utilizados:
• Ponto a Ponto (PTP): O robô trabalha apenas em pontos específicos e a
trajetória usada para atingir estes pontos não é importante. Este tipo de
movimentação é usado, por exemplo, em aplicações de solda a ponto e de
movimentação de objetos.
• Sistema Contínuo de Trajetórias (CP): Robôs que devem trabalhar sobre
trajetórias bem determinadas, onde não apenas os pontos iniciais e finais são
importantes. Este tipo de movimentação é usado, por exemplo, em aplicações de
solda a arco.
10.1 ProgramaÁão Manual
Este método de programação é o mais simples e o mais usado para robôs
que utilizam o sistema PTP. A programação é feita movendo-se o robô manualmente
em cada eixo até que se obtenha a posição desejada. Os comandos para realizar
esta movimentação são dados pelo programador através de uma série de botões
geralmente dispostos numa caixa de controle ligada ao robô (teach pendant).
Quando a posição desejada é atingida, o programador armazena esta informação na
memória do processador. Pode-se com uma seqüência de pontos levar o robô a
qualquer posição do seu volume de trabalho e executar a tarefa desejada. Com
todos os passos gravados, o robô pode repetir os passos, assim, podemos realizar a
tarefa quantas vezes forem necessárias.

Teach Pendant da ABB (esquerda) e FANUC (direita)

24
Além da seqüência de operações a serem realizados pelo robô os
programadores deve também fornecer os tempos de cada uma destas operações.
Para programadores experientes podem-se programar simultaneamente as
operações e os tempos de duração. Pode-se por outro lado, programar inicialmente
o ciclo de operações e na seqüência ajustar o tempo de cada operação, passo a
passo, sendo este método muito útil para programadores inexperientes.
Este método dispõe ainda de uma série de ferramentas que auxiliam na
programação do robô. Podemos mudar a qualquer instante o sistema de
coordenadas utilizado pelo programador. Assim ele pode, de acordo com suas
necessidades, entrar com os valores de movimento com referencial global, na
ferramenta ou nas juntas. Outra possibilidade é a memorização de operações que
serão disparadas pelo simples toque em uma tecla.
Podemos concluir que este método de programação é uma ferramenta muito
poderosa para programar tarefas simples. Ele é especialmente utilizado para
operações de “pegar e soltar”, onde a fonte e o destino do objeto são fixos. Este
método não é eficaz para programar caminhos complicados como curvas, por
exemplo, e também não dispõe de técnicas mais sofisticadas de programação.

10.2 RepetiÁão
Foi visto no item anterior um método eficaz de programação de robôs que
utilizam o sistema de movimentação PTP. Porém será que este método é também
eficiente para robôs com movimento contínuo CP? Uma rápida análise do processo
de movimentação CP mostra que não. Neste caso deve-se armazenar toda a
trajetória do robô, afinal não se quer que ele apenas chegue ao ponto final, mas que
ele faça isso pelo caminho determinado.
Pode-se deduzir que o método mais fácil de se programar um robô para
realizar movimentos contínuos (CP) seja conduzir o robô pela trajetória desejada,
sendo que o posicionamento em cada eixo seja simultaneamente armazenado.
Depois pode-se reproduzir estes dados para que o robô realize a mesma trajetória,
desta vez “sozinho”. Há casos onde pode-se desacoplar os mecanismos de
transmissão de potência do robô e através de forças externas movimentá-lo através
da trajetória desejada. Porém há casos onde isso não é possível, nestes casos
geralmente se constrói um mecanismo idêntico ao do robô apenas com os sensores
de posicionamento. Este mecanismo pode então ser guiado pela trajetória desejada
e os dados podem ser fornecidos ao robô. Apesar da grande facilidade de
programação introduzida por este método ele possui grandes desvantagens:
• Geralmente é necessário um investimento adicional para construção do
simulador
• Todos os movimentos, mesmos os indesejados, são gravados e repetidos
pelo robô.
• A precisão dos movimentos é limitada à precisão do movimento inicial
• O armazenamento dos dados requer uma grande quantidade de memória

11. Terminal de ProgramaÁão (Teach Pendant)


O “teach pendant”, também chamado de unidade de programação, é um
pequeno painel de controle que possibilita realizar várias funções como:
25
• Movimentar o manipulador
• programar
• Carregar programas
• Iniciar e interromper um programa (inclusive parada de emergência)
• Alterar sinais de saída e verificar sinais de entrada

26
Teach pendant - FANUC

27
Parada de emergência: O robô pára imediatamente depois que o botão de parada
de emergência é pressionado (independente de qual situação ou modo o sistema
esteja).

Dispositivo de habilitaÁão: É um botão na parte traseira do teach pendant que, só


quando pressionado, libera o movimento do robô. Quando o dispositivo de
habilitação for solto, o robô para instantaneamente.

Teclas de Movimento: Como o próprio nome já diz, essas teclas são usadas para
mover o robô manualmente, por exemplo, durante a programação.

Tela: Usada para mostrar todas as informações durante a programação, mudar


programas, etc.

Seletor de Liga/Desliga do TP (Teach Pendant): Este seletor deverá estar em ON


para que seja possível a movimentação manual do robô.

Reset: Esta tecla é utilizada para o reconhecimento de falhas, habilitando o controle.

Seletor de Coordenadas: Tecla de seleção do tipo de coordenada a ser utilizada


para movimento manual.

NavegaÁão: Estas teclas são utilizadas para acessar funções extras.

SeleÁão de FunÁões (select): Tecla utilizada para selecionar ou criar programas.

Fwd:Utilize esta tecla para avançar na execução de um programa. Com o TP ligado


deverá ser utilizada em conjunto com a tecla SHIFT.

Bwd:Utilize esta tecla para retroceder na execução de um programa. Com o TP


ligado deverá ser utilizada em conjunto com a tecla SHIFT.

Tipo de ExecuÁão: Através desta tecla você determina se a execução do programa


será passo a passo ou contínua

Hold: Para parar a execução de um programa ou instrução utilize a tecla “HOLD”,


parada suave.

28
12. Linguagens de ProgramaÁão
Em muitas aplicações o uso de métodos “on-line” de programação pode
despender muito tempo. Principalmente em casos onde o trabalho deve ser
realizado em um número muito grande de pontos e os dados referentes a esses
pontos já sejam conhecidos de alguma fase do projeto, é interessante analisar a
possibilidade de utilização de uma linguagem específica para programar o robô. Por
exemplo, na indústria aeroespacial as estruturas devem receber milhares de furos e
estes devem ser rebitados para fixação das peças. Os processos de programação
manual seriam muito tediosos e consumiriammuito tempo, além do que a posição de
todos os furos é um dado conhecido do projeto. O principal problema introduzido
por este tipo de programação são os erros que ocorrem devido a diferentes
situações de uso. O posicionamento de uma ferramenta, por exemplo, pode ser
alterado devido às deflexões da estrutura do robô que são diferentes para diferentes
cargas aplicadas a ele. Nos método “on-line” de programação este tipo de problema
não aparece, afinal as cargas podem ser incluídas no processo de programação.
Existe um grande número de linguagens de programação utilizadas
comercialmente. São apresentadas aqui algumas das mais utilizadas para ilustrar o
processo e as possibilidades deste tipo de programação.

12.1 GeraÁões de Linguagens de ProgramaÁão


Como as linguagens de programação para computadores, as linguagens de
programação de robôs possuem uma variedade de estruturas e capacidades,
surgindo novas linguagens mais evoluídas a cada dia.

Linguagem de Primeira GeraÁão


As linguagens de primeira geração usam declarações de listagens de
comandos e procedimentos de “teach pendant” para desenvolver programas de
robôs. Essas linguagens foram principalmente desenvolvidas para implementar
controle de movimento com uma linguagem textual de programação e são, às vezes,
chamadas de “motion level language”. Características típicas incluem a capacidade
de definir movimentos do manipulador (usando as declarações para definir a
seqüência dos movimentos e o “tech-pendant” para definir a localização dos pontos),
interpolação linear, ramificação e comandos elementares por sensores, envolvendo
sinais binários (liga-desliga).
A linguagem VAL (“Victor Assembly Language”) é um exemplo de uma
linguagem de programação de robôs de primeira geração.
As linguagens de programação são uma ferramenta poderosa na solução de
problemas complexos, porém apresentam uma série de desvantagens:
• Sua utilização é complicada para os trabalhadores da fábrica
• Não há padronização entre as linguagens
• Erros de posicionamento
As limitações comuns das linguagens de primeira geração incluem:
incapacidade de especificar cálculos aritméticos complexos para usar durante a
execução do programa; incapacidade de usar sensores complexos e dados
29
fornecidos pelos mesmos e uma capacidade de limitada de comunicação com outros
computadores.

Linguagem de Segunda GeraÁão


Essas linguagens foram chamadas de linguagens de programação
estruturadas, porque possuem grupos de comandos estruturados, usados em
linguagens de programação de computadores. Linguagens de segunda geração
comercialmente disponíveis incluem: AML, RAIL. MCL e VAL II.
As características e capacidades dessas linguagens são:
1. Controle de movimento: esta característica é, basicamente, a mesma para
as linguagens de primeira geração;
2. Capacidade de sensoriamento avançada: os melhoramentos nas
linguagens de segunda geração normalmente incluem: a capacidade de
manusear muito mais do que simples sinais binários (liga/desliga) e a
capacidade de controlar dispositivos através dos dados fornecidos pelos
sensores;
3. Inteligência limitada: isto é, a capacidade de utilizar as informações
recebidas sobre o ambiente de trabalho para modificar o comportamento
do sistema de forma programada;
4. Comunicações e processamentos de dados: linguagens de segunda
geração geralmente possuem meios para interagir com computadores e
bases de dados de computadores com a finalidade de manter registros,
gerar relatórios e controlar atividades nas células de trabalho.

Um sistema operacional de um robô contém os três modos básicos de


operação, indicados abaixo:
1. Modo monitor
2. Modo execução
3. Modo edição

O modo monitoré usado para realizar um controle global de supervisão do


sistema. É, às vezes, chamado de modalidade supervisora. Nesse modo de
operação, o usuário pode: definir posições no espaço, usando “teach pendant”;
ajustar o controle da velocidade do robô; armazenar programas e transferir
programas do armazenador de dados na memória de controle ou movimentar-se em
vaivém entre outros modos de operação, como edição ou execução.
O modo execuÁão é usado para executar um programa robótico. Neste
modo, o robô está realizando a seqüência de instruções no programa durante a
execução.
Quando se testa um novo programa no modo execução, o usuário pode
utilizar procedimentos de correção embutidos na linguagem, para ajudar a
desenvolver um programa correto. Por exemplo: o programa pode indicar ao
usuário que exceda seus limites de articulação ao movimentar o manipulador de um
ponto especificado no programa para o próximo. Já que o robô não pode fazer isso,
uma mensagem de erro aparece no monitor de vídeo, e o robô para. Essa indicação
30
pode ser corrigida voltando para o modo de edição e ajustando o programa ou o
referindo ponto. A maioria dos modernos sistemas operacionais de robôs permite ao
usuário voltar para o modo monitor ou edição, enquanto o programa está sendo
executado, de modo que um outro programa possa ser escrito. Em alguns casos, é
mesmo possível editar o programa em andamento, apesar de existirem perigos
inerentes ao fazer isto.
O modo ediÁãoproporciona um conjunto de instruções que permite ao usuário
escrever novos programas ou editar programas existentes. Apesar da operação do
modo edição que pode ser diferente de um sistema de linguagem para outro, os
tipos de operações de edição que podem ser realizadas incluem: digitação de novas
linhas de instruções em seqüência, anulação ou alteração de instruções existentes e
inserção de novas linhas num programa. Como nos casos de linguagem de
programação, o programa do robô é pode ser interpretados ou compilados pelo
sistema operacional. Um interpretador é um programa no sistema operacional que
executa cada instrução do programa-fonte (nessecaso, o programa-fonte é o
programa em linguagem de programação de robô), uma de cada vez. A linguagem
VAL é um exemplo de linguagem de programação de robôs que é processada por
um interpretador. Um compilador é um programa no sistema operacional que passa
através do programa-fonte inteiro e traduz todas as instruções em código de
máquina, que pode ser lido e executado pelo controlador do robô. Programas
compilados resultam finalmente em tempos menores de execução. Por outro lado,
um programa-fonte processado por um interpretador pode ser editado com mais
facilidade, já que a recompilação do programa inteiro não é necessária.

12.2 Comandos de ProgramaÁão


A linguagem de programação utilizada varia de fabricante para fabricante.

Marca Linguagem de
ProgramaÁão
FANUC RJ3
ABB RAPID
MITSUBISH MELPHA BASIC

Elementos e funções de um sistema de programação de robôs:


-Constantes, variáveis e outros tipos de dados;
-Comandos de movimento;
-Comandos para atuadores e sensores
-Computação e operações;
-Controle do programa e chamadas a sub-rotinas;
-Comunicações e processamento de dados;
-Comandos no modo monitor.

Constantes e variáveis
Uma constante é um valor que não muda durante a execução do programa.
Uma variável em programação de computadores é um símbolo ou um nome
31
simbólico que pode mudar de valor durante a execução do programa. Constantes e
variáveis podem ser números inteiros, números reais contento um ponto decimal ou
cadeias que podem ser colocadas entre aspas:
Constantes:
+8
-289.34
1.56e+4 (exponencial)
[23.4;45.98;-34.05] (vetor)
Variáveis:
E
R2UI
FOI[3,4] – arranjo com doze elementos.

Comando de movimento
Uma das funções mais importantes da linguagem e a principal característica
que distingue as linguagens robóticas das de programação de computadores é o
controle de movimento do manipulador. Basicamente utilizam-se dois tipos de
movimentos:
• Movimento Junta a Junta – neste caso o robô é orientado a deslocar-se de
um ponto a outro e a trajetória utilizada é calculada pelo controlador, de forma
a atingir o destino com um mínimo de esforço.
• Movimento de Trajetória – neste caso, o robô é orientado a seguir uma
trajetória definida que pode ser:
○ Linear – traça um segmento entre dois pontos;
○ Circular – traça um arco entre 3 pontos;

DefiniÁões de pontos no espaÁo de trabalho


A definição de posições de pontos é, geralmente, feita por meio de um “teach
pendant”. O “teach pendant” é usado para movimentar o braço do robô para a
posição e orientação desejadas. Em seguida, com um comando digitado no teclado,
as coordenadas de posição e orientação de cada articulação são captadas na
memória de controle.
Por exemplo:
<59.43; 235.67; 46.224; 165.34; 44.678; 67.78>,
os primeiros três valores são as coordenadas espaciais (x,y,z), e os valores
restantes são ângulos de rotação de punho.

DefiniÁão de Trajetórias

32
Vários pontos podem ser ligados para definir uma trajetória específica no
espaço de trabalho.

Comandos de Entrada / Saída


Utilizados para monitorar entradas e saídas digitais (on/off) e/ou analógicas
(faixa contínua de valores), para comandar eixos externos, ou usados para abrir e
fechar garras.

Comandos Numéricos
Realizar cálculos aritméticos e outros tipos de operação com constantes,
variáveis e outros tipos de dados. Faz-se necessário em vários programas de robôs.
O conjunto padrão de operadores matemáticos em linguagem de segunda geração
é:
+ adição;
- subtração;
* multiplicação;
/ divisão
** potência
= igual a

A seguir, está exposta uma lista de funções que poderão também ser usadas:
Seno de um ângulo A;
Cosseno de um ângulo A;
Tangente de um ângulo A;
Cotangente de um ângulo A;
Arco seno de um ângulo A;
Arco cosseno de um ângulo A;
Arco tangente de um ângulo A;
Arco cotangente de um ângulo A;
Logarítmo;
Valor absoluto de X;
Raiz quadrada de X; Entre outros.

33
Além dos operadores aritméticos e trigonométricos, operadores relacionais
são usados para avaliar e comparar expressões. Os operadores relacionais mais
comuns são indicados abaixo:
Igual a;
Não igual a;
Maior que;
Maior ou igual a;
Menor que;
Menor ou igual a.

Comandos de fluxo do programa


• Desvio: é um comando que depende de condições para executar o
movimento. Caso a condição for verdadeira ele prossegue o
movimento, caso seja falsa o robô interrompe o caminho original e
percorre um caminho alternativo.
• Condicional: como o comando de desvio, o condicional também é um
comando que depende de uma condição para que ele seja executado.
Caso uma condição seja verdadeira ele executa uma tarefa e caso esta
condição esteja falsa ela executa outra tarefa.
• Ciclo: é um comando em que o robô repete seus movimentos por uma
quantidade pré-determinada de vezes.

Chamada a Sub-rotina
Algumas vezes, quando um certo grupo de instruções é executado várias
vezes durante o programa, pode-seagrupar estas instruções em rotinas. Toda vez
que se deseja executar essas instruções, pode-se chamar a rotina. O programa
então desviará seu curso, executará as instruções e retornará para a instrução
seguinte à chamada da rotina.
É possível enviar um número de argumentos para a nova rotina. Eles
controlam o comportamento da rotina e tornam possível que a mesma rotina seja
utilizada para diversas tarefas.

Comandos do modo monitor


Geralmente, o modo monitor é usado para funções tais como: entrada de
dados de posição por meio do “teach pendant” e ajuste da velocidade inicial para a
execução de um programa de robô. Várias funções relacionadas com a supervisão
do sistema, processamento de dados e comunicações são também realizadas com
os comandos do monitor, ou seja, as instruções da linguagem de comando.
Tipicamente, são usados os seguintes comandos:
Abertura de um arquivo;
Armazenagem de um programa na memória do controlador;
Armazenagem de um programa no disco flexível;

34
Leitura do arquivo do disco para a memória
Obtenção de uma listagem dos nomes do programas que são
armazenados na memória;
Execução de um programa;
Interrupção da execução e parada do movimento do robô;
Apagamento de um programa;

12.3 SimulaÁão
Esta ferramenta, cuja aplicação vem crescendo de forma substancial, pode
auxiliar muito a programação de robôs pelos métodos anteriores. O modelo do robô
pode ser representado no computador e todos os seus movimentos podem ser
simulados por processos de animação. O ambiente de trabalho pode também ser
incluído, permitindo uma previsão dos principais problemas que poderão ocorrer na
aplicação real. Além disso, este tipo de programação possibilita o desenvolvimento e
testes preliminares dos programas sem a necessidade de interromper a operação do
robô. Um exemplo de software de simulação é o Workspace.

12.4 Sistema de MovimentaÁão do Robô


Pode-se mover (jog) o robô usando as teclas de movimento na unidade de
programação.
Existem Três modos de movimentar o robô:
• Coordenadas Base: movimenta-se a ferramenta, fazendo com que o TCP
(ponto central da ferramenta) percorra linhas paralelas aos eixos do
sistema cartesiano imaginário(x,y,z) com origem na base do robô;
• Coordenadas do Usuário: são coordenadas definidas pelo usuário com o
objetivo de facilitar o movimento do robô para a atividade a ser executada
No robô FANUC, para selecionar o movimento linear deve-se pressionar a
tecla:

selecionando xyz.
O ponto que irá se mover linearmente, ao longo dos eixos do sistema de
coordenadas acima é chamado Tool Center Point (TCP). Esse ponto é um ponto da
ferramenta definido pelo programador. Quando não há definição de ferramenta, está
localizado na frente do braço superior, no centro da placa frontal do robô.

35
12.5 Modo Automático
O modo automático é utilizado para executar programas prontos.
Movendo o seletor de modo de operação no TP para a posição OFF e
segurando o botão CICLE START no Painel do Operador por 3 segundos.

QUANDO FOR INICIAR O PROGRAMA, ASSEGURE-SE DE QUE NÃO HÁ


NINGUÉM DENTRO DA ÁREA DE SEGURANÇA AO REDOR DO RÔBO.

Para parar o programa, pressione o botão HOLD na unidade de programação.

12.6 CriaÁão e EdiÁão de Programas


Através do teach pendant podem-se criar novos programas, assim como
editar programas já existentes, adicionando e removendo instruções ou alterando
seus argumentos.
Para criar ou alterar os pontos de instruções de movimento, tem-se a função
F[POINT]. Para isto, coloca-se o robô na posição desejada, movimentando-o
através das teclas de movimento e pressiona-se a tecla de função à qual se refere o
texto [POINT] na tela to TP, juntamente com a tecla SHIFT. Note que este é o
método de programação manual, descrito anteriormente na seção “Tipos e
dispositivos de programação”.

12.7 Salvamento de Programas


Após criar ou editar um programa, pode-se salvá-lo em disquete ou outro
meio de armazenamento, na janela SELECT.

12.8 VisualizaÁão de Erros


Um texto visualizado na parte superior da tela mostrando as mensagens de
erro aparece sempre que há algum tipo de erro. Esta linha contém:
Número do código de erro
Um único número para cada erro.

Categoria do erro
Classifica o erro em grupos relacionados por tipos de erros. Cada categoria
de erro tem sua própria série de códigos.
Motivo
Descreve os motivos do erro em linguagem comum. Para maiores
informações a respeito de defeitos no hardware, consultar o Manual do
Produto.

36
Quando ocorre um erro o robô bloqueia todos os movimentos e execução de
programas. Para continuar deve-se pressionar a tecla RESET.

12.9 Troca de Ferramentas


O robô vem ajustado para conhecer o posicionamento do centro do seu flange
(punho), ou seja, sem nenhuma ferramenta acoplada. O centro geométrico da ponta
de uma dada ferramenta é denominado de TCP (Tool Centre Point). O TCP do flange
do robô é normalmente chamado de tool0.
Normalmente são instaladas no flange do robô as ferramentas específicas
necessárias ao desenvolvimento das aplicações a que se destina. Essas
ferramentas deslocam a ponta do robô para outra posição. É necessário que o robô
conheça a nova posição e a nova orientação dessa ponta.
Devem ser cadastrados os TCPs de todas as ferramentas a serem utilizadas
durante as aplicações. Cada ferramenta recebe um novo nome e este fica
armazenado na memória do computador. Em alguns robôs, todos os movimentos a
serem programados no robô devem informar qual a ferramenta que será utilizada
(chamando-a pelo nome de cadastro), pois ela irá indicar qual sistema de
coordenadas será utilizado para o cálculo dos movimentos. Em outros robôs, basta
informar que a ferramenta foi trocada e a partir daí todos os movimentos são
realizados considerando o uso dessa ferramenta.
Por questão de segurança, o robô FANUC não permite, usando uma
ferramenta, o movimento para um ponto criado utilizando outra ferramenta.

12.10 Etapas da programaÁão


O primeiro passo da programação é fazer um esquema do que se deseja que
o robô faça.
Em seguida, devem-se definir os pontos que serão utilizados para realizar o
movimento. (O robô será movimentado, seqüencialmente, de um ponto a outro, na
ordem definida no programa.)
O próximo passo é escrever o programa, ou seja, traduzir o que se deseja
que o robô faça em instruções da linguagem utilizada.
Depois deve-se testar, a velocidade baixa, o programa e verificar se o robô
está fazendo os movimentos esperados, sem tocar em objetos do ambiente. Deve-
se lembrar que o robô não fará nada que não for instruído a fazer, e nem vai
“adivinhar” o que o programador quer. Devem-se dar instruções detalhadas
informando todos os movimentos.
Por último, por segurança, deve-se testar novamente o programa utilizando a
velocidade normal de trabalho.

12.11 Planejamento de programas


MovimentaÁão
JUNTA A JUNTA
Deve-se utilizar movimentação junta a junta sempre for possível. Este tipo de
coordenada proporciona um tempo de ciclo menor que a movimentação em
coordenadas lineares, além de minimizar esforços do robô.
37
LINEAR E CIRCULAR
Esses tipos de movimentos devem ser utilizados quando é necessária uma
trajetória precisa do robô, por exemplo, durante a realização de um trabalho.

TERMINAÇÃO FINA
A terminação fina (fine) é utilizada quando é necessário que o robô chegue
exatamente ao ponto destino antes de mudar de direção para o próximo ponto.
Porém, esse tipo de terminação provoca uma parada do robô antes do próximo
movimento.

TERMINAÇÃO CONTÍNUA
A terminação contínua faz o robô mudar de direção para alcançar o próximo
ponto antes de alcançar o ponto desejado. A distância de aproximação pode ser
configurada e normalmente é expressa em milímetros. Isso faz com que o robô não
pare entre um movimento e outro. Essa terminação pode ser utilizada para se
movimentar ao redor de obstáculos, ou quando o trabalho realizado não exige muita
precisão.

FINA --- CONTÍNUA

PLANEJAMENTO DA MOVIMENTAÇÃO
• Movimente o robô manualmente em todas as posições do processo, e avalie,
eventuais interferências, obstruções e reorientações da ferramenta;
• Procure visualizar mentalmente a movimentação do robô durante todo o
processo;
• Procure identificar possíveis reduções nas trajetórias;
• Posicione o robô na primeira posição do trecho, tenha certeza de que o robô
está corretamente posicionado e grave a posição;
• Leve o robô manualmente até a última posição do trecho a ser considerado.
Tenha certeza de que esta posição está correta e que ela represente a
primeira posição do trecho seguinte. Grave a posição;
• Grave quantas posições você acreditar serem necessárias para se criar a
trajetória entre o primeiro ponto e o último ponto;
38
POSIÇÕES PRÉ-DEFINIDAS
Posições pré-definidas são posições que irão se repetir inúmeras vezes
dentro de seu processo, não necessitando desta forma serem armazenadas
diversas vezes. Posições pré-definidas podem ser criadas através de diversos
métodos:

TRECHOS REPETITIVOS DE LÓGICA


Trechos repetitivos na lógica do programa podem ser agrupados em uma sub-
rotina tornando assim mais segura a manutenção dos programas.

CONDIÇÕES INICIAIS
O programador deverá analisar o contexto no qual o programa se insere
criando um conjunto de instruções iniciais que garantam a segurança pessoal, de
ferramental e de produção.

12.12 DocumentaÁão de programas


Programas de aplicações industriais normalmente possuem muitas linhas de
código. É conveniente que, quando da elaboração de um programa, sejam
colocados bastantes comentários referentes às sub-tarefas que estão sendo
realizadas de forma a facilitar a correção de erros (“debug”).

12.13 InterrupÁões
Interrupções são utilizadas pelo programa para tornar possível tratar
diretamente de um evento, independente de qual instrução estiver sendo executada.
Uma interrupção pode ocorrer, por exemplo, quando uma entrada muda de
valor (por exemplo, uma peça é colocada no alimentador e identificada por um
sensor). Quando esta interrupção ocorre, o programa é interrompido e uma rotina
especial é executada. Quando esta tiver sido totalmente executada, o programa
continua de onde ele foi interrompido.

13. Elementos de ProgramaÁão (robô FANUC)

13.1 InstruÁões de movimento


A instrução de movimento direciona o robô para movimentar-se em um
caminho especificado para um local especificado com uma velocidade especificada
na célula de trabalho, ou seja, o robô se movimenta de um ponto a outro com um
caminho, local e velocidade definidos pelo operador.

1-Tipo de Movimento: Como o robô se movimenta para a posição, (Junta a Junta -


Joint, Linear e Circular);

39
Joint (J): O robô irá se mover do ponto inicial para o final sem se preocupar
com a trajetória percorrida.
Linear (L): O robô irá mover o TCP em uma linha reta do ponto inicial para o
final.
Circular (C): O robô irá o TCP em um arco do ponto inicial, passando por um
ponto intermediário e chegando ao ponto final.

CIRCULAR

2-Tipo de PosiÁão: Ponto destino, gravado na memória do robô (P posição, PR


registro de posição);

3-Tipo de TerminaÁão: Como o robô termina o movimento na posição final (Fine,


CNT contínuo);
Fine: O robô pára no ponto de destino antes de ir para a próxima posição;
CNT: O robô desacelera ao se aproximar do ponto de destino, mas não pára,
mudando de direção para o próximo ponto.

4-Velocidade: A rapidez com que o robô se move para uma posição (%, mm/seg,
graus/seg, cm/min);

5-OpÁões de Movimento: Comandos adicionais para executar uma tarefa


específica durante o movimento do robô(No option, ACC, Coord, Arc Start [ ], Arc
End [ ], Skip, LBL [ ], Offset, Inc, Pth);
Skip, LBL [ ]: Esse comando redireciona a execução do programa baseado
numa condição predefinida. Se ela for satisfeita, o programa é redirecionado
através do comando LABEL (LBL). Se ela não for satisfeita, ele mantém a
seqüência.

40
Arc Start [ ]: O robô abre o arco elétrico e inicia o movimento.
Arc End [ ]: O robô fecha o arco elétrico ao final do movimento.
Exemplos:
J P[1] 50% FINE – Movimento junta a junta para o ponto P[1], a 50%
da velocidade máxima e terminação fina.
L P[2] 200mm/s CNT10 – Movimento linear para o ponto P[2], a 200
mm/seg e terminação contínua.
C P[3]
P[4] 500mm/s FINE – Movimento circular para o ponto P[4],
passando pelo ponto P[3], a 500 mm/seg e terminação fina.
13.2 Registradores

Registradores são posições de memória, utilizados para armazenar valores.


Esses registradores são numerados, e podem ser acessados por R[n] onde n é o
número do registrador.
Para atribuir um valor a um registrador utiliza-se a estrutura:
R[1]=10
Nessa estrutura, o valor 10 será armazenado no registrador R[1].
Pode-se, por exemplo, somar o valor de dois registradores e armazenar o
resultado em um terceiro:
R[5]=R[2]+R[7]

13.3 Estruturas de controle de fluxo


Normalmente o programa é executado seqüencialmente, isto é, instrução por
instrução, na ordem em que elas foram escritas. Algumas vezes, porém, instruções
que interrompem esta seqüência e chamam outras instruções são necessárias para
o tratamento de diferentes situações que podem ocorrer durante a execução, para:

41
– Chamar outra rotina ou sub-rotina (procedimento) e, quando esta tiver sido
executada, retornar o controle do programa para a instrução imediatamente
posterior à que chamou a sub-rotina;
– Executar uma seqüência ou outra de instruções dependendo se uma dada
condição tiver sido ou não satisfeita;
– Repetir uma seqüência de instruções um certo número de vezes ou até que uma
dada condição seja satisfeita;
– Desviar o controle de programa para uma determinada instrução (identificada por
um rótulo) dentro da mesma rotina;
– Parar a execução do programa.

13.3.1 Chamada de programas

Algumas funções de um programa podem ser agrupadas. Isso é útil, por


exemplo, quando certos blocos do programa devem ser executados várias vezes e
em várias partes do programa. Em muitas linguagens de programação esses grupos
de funções são chamados rotinas e são escritos dentro do próprio programa. No
robô FANUC, isso deve ser feito através da criação de outro programa. Esse
programa é então chamado a partir do programa principal através do comando
CALL. Após a execução do programa chamado, a execução volta ao principal no
ponto em que ocorreu a chamada.
Por exemplo, para chamar um programa chamado GIRAPECA a partir de um
programa principal, utiliza-se a estrutura:
CALL GIRAPECA

13.3.2 Saltos dentro de um programa


Dentro de um mesmo programa pode ser necessário pular certos comandos
ou voltar para uma linha anterior. Isso pode ser feito marcando-se uma linha do
programa com a instrução label: LBL[n]. Essa intrução vem sempre acompanhada
de um número correspondente ao número do label a ser dado àquela linha. Não
podem existir em um mesmo programa dois labels com o mesmo número.
Pode-se então utilizar o comando jump label: JMP LBL[n] para pular para
uma linha marcada, informando o número do label da linha.
Uma utilização de tais saltos é quando se deseja fazer um programa cíclico.
Marca-se então com um label a primeira do programa e se instrui o programa a pular
para esse label no final:
LBL[1]
(programa)
JMP LBL[1]
Nesse caso, o robô irá repetir o programa até que um comando externo o faça
parar.

42
13.3.3 Estrutura condicional
A estrutura condicional indica ao robô que uma instrução deve ser executada
se uma condição for verdadeira (por exemplo, se um registrador possuir um
determinado valor).
Assim, pode-se, por exemplo, selecionar se uma parte do programa deve ser
executada se uma condição for satisfeita. No exemplo abaixo, o robô inicialmente vai
para o ponto P[1]. Se o registrador R[8] possuir o valor 30, o programa passa pelos
pontos P[2] e P[3] antes de ir para o ponto P[4]. Caso contrário o robô salta
diretamente para o ponto P[4].
J P[1] 20% FINE
IF R[8]=30 JMP LBL[10]
J P[2] 20% FINE
J P[3] 20% FINE
LBL[10]
J P[4] 20% FINE

13.3.4 RepetiÁão com contagem


Linguagens de programação estruturadas possuem instruções específicas
para provocar a repetição de trechos de programa um determinado número de
vezes. Como a linguagem do robô FANUC não dispõe de tal recurso, utiliza-se um
registrador como contador e uma estrutura de salto condicional para realizar a
repetição até que o registrador alcance determinado valor:
Esse contador pode começar com o valor 0 e ser incrementado após cada
repetição do trecho do programa. Para zerar o contador 1 utiliza-se R[1]=0. Para
incrementar seu valor utiliza-se R[1]=R[1]+1, ou seja, o valor de R[1] é determinado
por seu valor anterior mais 1.
Após incrementar o valor de R[1] deve-se verificar se ele é ainda menor que o
número de vezes que o trecho de programa deve ser repetido. Se for, o programa
deve retornar ao início do trecho. Para isso utiliza-se, por exemplo, IF R[1]<3 JMP
LBL[1]. Isso significa que se o registrador 1 for menor que 3 então o programa deve
pular para o label 1.
Observe que o contador deve ser zerado antes da instrução LBL[1], do
contrário seu valor seria zerado a cada ciclo, e nunca alcançaria o valor desejado.
R[1]=0
LBL[1]
(trecho de programa)
R[1]=R[1]+1
IF R[1]<3 JMP LBL[1]
13.3.5 SeleÁão de condiÁões
Selec / Else: Compara o valor de um registro com um de muitos valores e caso
uma comparação seja verdadeira, executa uma ação:
SELECT R[X] = [Valor 1], [AÁão]
[Valor 2], [AÁão]
43
[Valor N], [AÁão]
Else [AÁão]
A Ação pode ser: JMP LBL [X] ou Call programa.

13.4 Comando de atraso


Quando a execução de um programa deve ser atrasada um intervalo de
tempo específico, utiliza-se o comando WAIT seguido do tempo em segundos.

13.5 Comando de mensagem


Message: Mostra na tela do Teach Pendant uma mensagem com no máximo 23
caracteres
Message [mensagem]

13.6 Entradas e saídas


Entradas e saídas (I/O) são sinais elétricos que habilitam um controlador de
comunicar com o robô e com outros dispositivos externos como sensores e
atuadores.
Para usar uma I/O, você precisa fazer:
1. Identificar o hardware de I/O que precisa;
2. Instalar o hardware se necessário;
3. Conectar o hardware de I/O nos dispositivos necessários;
4. Configurar o I/O usando o “teach pendant”. Isto informará o software
controlador que I/O você instalou para que este possa ser usado pelo robô.
Os seguintes tipos de I/O estão disponíveis: Analógico, Digital,Grupo, PLC
(Controlador Lógico Programável), Painel do Operador(UOP) e Robô.

Analógico: Um sinal analógico de entrada ou saída (AI ou AO) são voltagens de


entrada ou saídas que tem um valor dentro do limite do módulo usado.
As entradas analógicas convertem sinais analógicos para sinais numéricos para uso
no controlador. Já as saídas analógicas permitem que sinais analógicos sejam
mandados para dispositivos externos.

Digitais: Um sinal digital (DI ou DO) é um sinal de controle mandado para ou de um


controlador. Sinais Digitais podem ter somente um de dois estados: Ligado ou
Desligado.

Grupo(Group): Sinais de Gupo I/O (GI ou GO) foram criados para uma seqüência
de sinais digitais. Eles são interpretados como inteiros binários.
Um grupo de sinais é um grupo de até 16 uns(1) e zeros(0), indicando Ligado e
Desligado.

44
Painel do Operador(UOP): O painel do operador disponibiliza 18 sinais de entrada
e 20 ou 24 sinais de saída, que podem ser conectados para dispositivos remotos ou
para um painel de operador remoto, para controlar o robô.

PLC: PLC I/O (PI ou PO) são dispositivos opcionais controlados pelo PLC

Robô (Robot): Sinais do Robôs (RI ou RO) consistem de sinais de entrada e saída
entre o controlador e o robô. Estes sinais são enviados para o conector EE
localizado no robô. O número de sinais do robô de entrada e saída varia de acordo
com o número de eixos do sistema.

O comando WAIT pode também ser utilizado para aguardar até que uma
condição de sinal de entrada seja verdadeira. Por exemplo, deseja-se aguardar até
que um sinal de entrada digital esteja em ON para iniciar a execução de um
programa. Utiliza-se então a instrução:
WAIT DI[3]=ON

13.6.1 ForÁando e simulando sinais


Durante a programação é possível forçar sinais de saída para testar
dispositivos conectados ao robô.
É possível também simular sinais de entrada para se testar a resposta do
programa a tais sinais.

OBSERVAÇÕES:
-Sempre que for forçar uma saída digital lembre-se de que a saída irá ser atuada e
que acidentes podem ocorrer.
Ex: acionar uma pinça, liberar um dispositivo, etc.
-Sempre que for simular um sinal lembre-se que programa do robô irá interpretar o
sinal como se o mesmo estivesse presente podendo ocorrer acidentes.
Ex: sinal de OK liberando o robô para executar um programa de movimentação

PROCEDIMENTO:

MENUS -> m[I/O] -> F[TYPE] -> Selecione o tipo de sinal

45
46
ANEXO I – Robô Industrial da FANUC (ARC Mate 50 iL)
A1.1 SeguranÁa
FANUC Robotics não é e nem se representa como sendo peritos em sistemas
de seguranças, equipamentos de segurança ou aspectos específicos de seguranças
da sua empresa e/ou da sua força de trabalho. É de responsabilidade do dono,
empregado ou usuário fazer todos os passos necessários para garantir a segurança
de todos em um ambiente de trabalho.
Os níveis apropriados de segurança para suas aplicações e instalação podem
ser mais bem determinados por um profissional em segurança do trabalho. FANUC
Robotics, portanto, recomenda que cada cliente consulte com um profissional em
ordem de ter um ambiente de trabalho que permita uma aplicação, uso e operação
segura dos sistemas da FANUC Robotics.
De acordo com os padrões industriais ANSI/RiA R15-06, o dono ou usuário
deverá consultar os padrões to assegurar um bom uso para o design, usabilidade,
operação, manutenção e serviço. Adicionalmente, como dono, empregado ou
usuário de um sistema robótico, é sua a responsabilidade de conseguir treinamento
para o operador de um sistema robótico reconhecer e responder para danos
associados com o seu sistema robótico e estar ciente dos procedimentos de
operação recomendados para sua aplicação particular e instalação do robô.
FANUC Robotics, portanto, recomenda que todo o pessoal que pretenda
operar, programar, reparar ou outros que manipularem o sistema robótico deve ser
treinado por um curso de treinamento aprovado pela FANUC Robotics e esteja
familiarizado com a forma conveniente de operar o sistema. Pessoas responsáveis
por programar o sistema – incluindo o design, a implementação dos programas de
aplicação – devem ser familiares com os processos de programação recomendadas
para sua aplicação e a instalação do robô.
Nas próximas linhas estão contidos materiais para enfatizar a importância da
segurança no ambiente de trabalho.

A1.1.1 ConsideraÁões de SeguranÁa para a InstalaÁão do Robô


Segurança é essencial todas as vezes que os robôs forem usados. Tenha na
cabeça os seguintes fatores com consideração à segurança:
• A segurança de pessoal e equipamentos;
• O uso de dispositivos de aumento de segurança;
• Técnicas seguras de ensinamento e operação manual dos robôs;
• Técnicas seguras para inspeção do robô e da célula de trabalho;
• Manutenção correta do robô.
A segurança do pessoal é sempre de primordial importância em qualquer
situação. Porém, os equipamentos também devem estar seguros. Quando priorizar
como aplicar segurança no seu sistema robótico, você deverá considerar os
seguintes:
• Pessoas
47
• Dispositivos externos;
• Robôs;
• Ferramentas;
• Trabalho.

A1.1.2 ExtinÁão do Fogo


USE DIÓXIDO DE CARBONO SE O ROBÔ OU PAINEL DE CONTROLE PEGAR
FOGO.

A1.1.3 Uso de Dispositivos de Aumento de SeguranÁa


Sempre dê uma atenção apropriada para a área de trabalho que envolve o
robô. A segurança da área de trabalho pode ser acrescida, instalando alguns ou
todos os seguintes dispositivos:
• Grades, barreiras ou correntes de seguranças;
• Cortinas;
• Fechaduras internas;
• Marcas no chão;
• Paradas mecânicas;
• Botões de PARADA DE EMERGÊNCIA;
• Alavancas DEADMAN.

A1.1.4 Criando um Célula de Trabalho Segura


Uma célula de trabalho segura é essencial para proteger pessoas e
equipamentos. Observe as linhas seguintes para garantir que uma célula de
trabalho segura seja preparada. Essas sugestões foram feitas para complementar e
não para substituir leis federais, estaduais ou municipais, regulamentos e guias
pertinentes à segurança.
• Patrocine seu pessoal um curso de treinamento relacionado à
aplicação em um curso aprovado pela FANUC Robotics. Nunca
permita pessoas sem treinamento de operar os robôs;
• Instale um dispositivo com código de acesso para que pessoas sem
autorização de operar o robô;
• Use uma lógica “anti-tie-down” para prevenir o operador de ultrapassar
as medidas de seguranças;
• Arrume a célula de trabalho que operador olhe para a célula de
trabalho e possa ver o que se passa dentro da célula.
• Identifique claramente a área de trabalho de cada robô no sistema com
marcas no chão, placas e barreiras especiais. A área de trabalho é a

48
área definida pelo alcance máximo de movimento do robô, incluindo
qualquer ferramenta anexada no flange que estenda esse alcance.
• Posicione todos os controladores fora da área de trabalho do robô;
• Nunca confie em um software como sendo o elemento primordial de
segurança;
• Monte um número adequado de botões de PARADA DE EMERGÊNCIA
ou alavancas que esteja de fácil alcance do operador e em pontos
críticos dentro e fora da célula de trabalho;
• Instale Luzes que piscam e/ou dispositivos de áudio que são ativados
enquanto o robô está em funcionamento;
• Sempre que possível, instale grades de segurança para se proteger
contra entradas não autorizadas de pessoas na área de trabalho;

A1.1.5 Paradas de emergência


A parada de emergência deve ser ativada se há perigo para alguma pessoa
ou equipamento. Os botões para parada de emergência estão localizados no Painel
de Operação e na Unidade de Programação.
Os dispositivos de parada de emergência externos (botões, etc.) podem ser
conectados no elo de segurança pelo usuário (veja Manual do Produto/Instalação).
Eles devem ser conectados de acordo com as normas para os circuitos de paradas
de emergência.
Antes do comissionamento do robô, todos os botões de parada de
emergência ou outro equipamento de segurança devem ser verificados pelo usuário
para assegurar seu bom funcionamento.

A1.2 AplicaÁões:
É usado em todo tipo de aplicação industrial de porte exceto para
manipulação de líquidos (pintura, colagem etc), por não possuir o molejo necessário
nas suas articulações para este tipo de tarefa.

A1.3 Graus de Liberdade:


O ARC Mate 50 iL possui 6 graus de liberdade. Os três primeiros graus de
liberdade possibilitam o posicionamento da ferramenta. Os três seguintes são
responsáveis pela sua orientação.

49
A1.4 Eixos:
A1.4.1Eixos internos :

• Os eixos 1,2 e 3 são conhecidos como eixos inferiores


• Os eixos 4,5 e 6 são conhecidos como eixos superiores

A1.4.2Eixos externos :
É possível se adicionar ao robô eixos externos, como por exemplo, um eixo
de translação (trilho) que possibilite aumentar sua área de trabalho, ou uma mesa
giratória para posicionamento de peças.

1) Trilho 2)Mesa – Giro de mesa

A1.5 Abertura de Programas


Quando se abre um programa, este programa substitui o programa existente
na memória do robô.
A tecla de janela Select é utilizada para mostrar o programa e funções
relacionadas a ele.

Através desta janela pode-se, entre outras opções, abrir um programa


armazenado em disquete, memória ou outro dispositivo de armazenamento.
Também podemos criar programas nesta mesma janela.

50
A1.6 Iniciando o Programa
Pode-se executar o programa de três maneiras através de teclas de função
diferentes:
– SHIFT + FWD: roda o programa uma vez;
– Com o Led do STEP acionado + SHIFT + FWD: executa uma instrução para
frente.
– SHIFT + BWD: uma instrução para trás.
Pode-se também escolher a velocidade utilizando as teclas de função -%, +%
(para decrementos e incrementos de %),
QUANDO FOR RODAR UMA INSTRUÇÃO OU O PROGRAMA COMPLETO,
ASSEGURE-SE DE QUE NÃO HÁ NINGUÉM DENTRO DA ÁREA DE
SEGURANÇA AO REDOR DO ROBÔ.
Sempre se lembre de que para iniciar o programa em um dos modos
manuais, deve-se pressionar o Deadman e segurar a tecla SHIFT.
Para parar o programa deve-se pressionar a tecla HOLD ou o botão de
emergência na unidade de programação.

51
ANEXO II – Roteiros de Aulas Práticas

Prática 1 – MovimentaÁão do robô (jogging)

Objetivos
Movimentar o robô manualmente

Introdução
Para se fazer a programação de um robô é necessário movimentá-lo
manualmente e informar ao robô a ordem de movimentação para esses pontos.
O robô pode ser movimentado com o uso do teach pendant em vários
sistemas de coordenadas. Os mais comuns são o junta a junta e o linear. No
movimento junta a junta pode-se movimentar o robô em cada uma de suas juntas
por vez. No movimento linear, pode-se movimentá-lo em cada um dos eixos de
coordenadas x, y e z e de orientação da ferramenta roll, pitch e yaw.

Metodologia
Nessa prática o aluno aprenderá a movimentar o robô FANUC nos sistemas
de coordenadas de junta e linear.

Procedimentos

1 Selecione o tipo de movimento junta a junta


a Aperte a tecla COORD várias vezes até aparecer na tela o tipo de
movimento JOINT.

2 Selecione a velocidade de movimento do robô para 10%


a Pressione as teclas -% e +% até que a velocidade 10% apareça na tela

3 Movimente o robô em cada uma de suas juntas


a Mantenha pressionados o dead man e o botão SHIFT.
b Pressione as teclas J1- e J1+ para movimentar a junta 1 do robô,
pressione as teclas J2- e J2+ para movimentar a junta 2 do robô e assim
por diante.

4 Selecione o tipo de movimento linear


a Aperte a tecla COORD várias vezes até aparecer na tela o tipo de
movimento WORLD.

5 Selecione a velocidade de movimento do robô para 10%


a Pressione as teclas -% e +% até que a velocidade 10% apareça na tela

6 Movimente o robô em cada uma das coordenadas cartesianas


a Mantenha pressionados o dead man e o botão SHIFT.
b Pressione as teclas J1- e J1+ para movimentar o robô no eixo x, as teclas
J2- e J2+ para movimentar o robô no eixo y e as teclas J3- e J3+ para
movimentar o robô no eixo z.

52
c Pressione as teclas J4-, J4+, J5-, J5+, J6- e J6+ para alterar a orientação
da ferramenta.

53
Prática 2 - MarcaÁão de pontos

Objetivos
Criar um programa novo
Nomear o programa
Criar linhas de movimentação
Marcar pontos
Executar o programa

Introdução
Programas para robôs industriais são constituídos basicamente de comandos
de movimentos. Esses comandos informam ao robô para que ponto ir, velocidade e
precisão do ponto final.
Assim, é necessário que as posições dos pontos utilizados no programa
sejam informadas previamente ao robô. Em algumas linguagens, como a utilizada
pelos robôs da ABB, os pontos podem ter nomes definidos pelo usuário. Em
linguagens como a utilizada pelos robôs da FANUC, os pontos são identificados pelo
número.
A identificação dos pontos é feita normalmente de duas maneiras:
- Levando o robô à posição desejada e “marcando o ponto”.
- Informando as coordenadas do ponto, quando essas forem conhecidas.

Metodologia
Nessa prática será desenvolvido um programa simples com apenas dois
movimentos, para demonstrar como marcar pontos no robô FANUC.

Procedimentos

1 Crie um novo programa.


a Entre na tela de seleção de programas utilizando a tecla SELECT.
b Utilize a função CREATE, utilizando a tecla de função corespondente.

2 Nomeie o novo programa com o nome P1Dx, em que x é o número da dupla.


a Na lista da parte superior da tela, selecione UPPER CASE (letras
maiúsculas), utilizando as setas de navegação.
b Escreva o nome do programa utilizando as teclas de função, como em um
telefone celular. Por exemplo, pressionando a tecla F1 uma vez, tem-se a
letra A. Pressionando a segunda vez, tem-se a letra B. Os números devem
ser escritos utilizando as teclas numéricas. Para passar para a letra
seguinte pressione a seta para a direita. Para apagar a última letra
digitada, pressione a tecla BACK SPACE.
c Após escrever o nome do programa, pressione a tecla ENTER duas vezes.

3 Na tela de edição de programas, crie um comando de movimento


a Movimente o robô para a posição desejada
b Pressione a tecla SHIFT juntamente com a tecla de função correspondente
à função POINT.

4 Edite o comando de movimento para a seguinte maneira:

J P[1] 40% CNT50


54
a Para alterar o tipo de movimento, leve o cursor utilizando as teclas de
navegação até o comando e pressione a tecla de função correspondente à
função [CHOICE]. Selecione o movimento JOINT e pressione a tecla
ENTER.
b Para alterar a velocidade do movimento, leve o cursor até o valor da
velocidade e digite o novo valor (40), pressionando em seguida a tecla
ENTER.
c Para alterar o tipo de terminação do movimento (CNT), leve o cursor até o
parâmetro e pressione a tecla de função correspondente à função
[CHOICE]. Selecione o tipo de terminação CNT e pressione a tecla
ENTER.
d Para alterar o valor da terminação do movimento (CNT50) leve o cursor até
o valor atual e digite o novo valor (50), pressionando em seguida a tecla
ENTER.

5 Movimente o robô para uma nova posição, leve o cursor para a última linha do
programa ( [END] ) e crie um novo comando de movimento, como no passo 3.

6 Repita o passo 4 para deixar o comando de movimento da seguinte maneira:

L P[2] 500mm/s FINE

a No passo 4a, selecione o movimento LINEAR.


b Ao se selecionar o movimento linear, a unidade de velocidade passa
automaticamente para mm/sec, bastando então alterar o valor da
velocidade para 500.
c No passo 4c, selecione o tipo de terminação FINE.

7 Execute o programa passo a passo


a Leve o cursor para a primeira linha do programa.
b Pressione a tecla STEP e verifique se o led correspondente acendeu na
parte esquerda do teach pendant.
c Regule a velocidade de execução do programa para 10%, com as teclas -
% e +%.
d Afaste-se do robô para uma posição segura.
e Verifique se não há objetos na área de trabalho do robô.
f Mantenha pressionados o dead man e a tecla SHIFT.
g Para executar o primeiro passo do programa, pressione uma vez a tecla
FWD.
h Para executar o segundo passo do programa, pressione novamente a tecla
FWD.
i Para encerrar o programa (comando [END]), pressione mais uma vez a
tecla FWD.

8 Execute o programa completo


a Leve o cursor para a primeira linha do programa.
b Pressione a tecla STEP e verifique se o led correspondente se apagou na
parte esquerda do teach pendant.
c Mantenha pressionados o dead man e a tecla SHIFT.
d Pressione uma vez a tecla FWD.

55
Prática 3 - EdiÁão de posiÁão de pontos

Objetivos
Atribuir a pontos valores conhecidos de coordenadas

Introdução
Em muitos casos, os valores das coordenadas de certos pontos são
previamente conhecidos, por exemplo, com base no projeto. Nesses casos pode-se
editar o ponto e informar o valor de tais coordenadas.
As coordenadas dos pontos podem estar em dois sistemas diferentes: junta
ou cartesiano.
Quando se utiliza o sistema de coordenadas de junta, os valores de giro em
graus de cada uma das juntas é informado diretamente.
Quando o sistema utilizado é o cartesiano, são informados os valores x, y, z,
roll, pitch e yaw do ponto a ser alcançado pelo TCP. O controlador do robô calcula
então os valores de giro de cada uma das juntas para que seja alcançado o ponto
desejado.

Metodologia
Nessa prática será utilizado o programa P1Dx criado na prática anterior e
serão editados os valores de seus dois pontos, utilizando o sistema de coordenadas
de junta e cartesiano.

Procedimentos

1 Abra o programa P1Dx, criado na prática anterior.


a Entre na tela de seleção de programas utilizando a tecla SELECT.
b Localize o programa desejado utilizando as teclas de navegação e
pressione a tecla ENTER para abrir o programa. Dica: pressione a tecla
SHIFT juntamente com as teclas de navegação para avançar várias linhas
da lista de uma só vez.

2 Edite o ponto P[1] para as seguintes coordenadas de juntas:

J1 = 0 deg
J2 = 0 deg
J3 = 0 deg
J4 = 0 deg
J5 = -90 deg
J6 = 0 deg

a Movimente o cursor para o ponto P[1] utilizando as teclas de navegação.


b Pressione a tecla de função correspondente à função POSITION.
c Na parte superior da tela aparecerão os valores das coordenadas
cartesianas do ponto. Pressione a tecla de função correspondente à função
[REPRE] e selecione o sistema de coordenadas JOINT, pressionando a
tecla ENTER em seguida.
d Edite cada uma das coordenadas de junta movimentando o cursor para
seu valor, digitando o novo valor e pressionando a tecla ENTER ao final de
cada uma.
e Após feitas todas as alterações pressione a tecla de função
correspondente à função DONE.
56
3 Edite o ponto P[2] para as seguintes coordenadas cartesianas:

X = 700 mm
Y = 100 mm
Z = -20 mm
W = -180 deg
P = 0 deg
R = 0 deg

a Movimente o cursor para o ponto P[2] utilizando as teclas de navegação.


b Pressione a tecla de função correspondente à função POSITION.
c Na parte superior da tela aparecerão os valores das coordenadas
cartesianas do ponto. Se essas coordenadas estivessem no sistema de
junta, deveria ser pressionada a tecla de função correspondente à função
[REPRE] e selecionado o sistema de coordenadas CARTESIAN,
pressionada em seguida a tecla ENTER.
d Edite cada uma das coordenadas de junta movimentando o cursor para
seu valor, digitando o novo valor e pressionando a tecla ENTER ao final de
cada uma.
e Após feitas todas as alterações pressione a tecla de função
correspondente à função DONE.

4 Execute normalmente o programa.

57
Prática 4 - FunÁões de chamadas de programas

Objetivos
Fazer programas que chamem outros programas (comando CALL)

Introdução
Algumas funções de um programa podem ser agrupadas. Isso é útil, por
exemplo, quando certos blocos do programa devem ser executados várias vezes e
em várias partes do programa. Em muitas linguagens de programação esses grupos
de funções são chamados rotinas e são escritos dentro do próprio programa. No
robô FANUC, isso deve ser feito através da criação de outro programa. Esse
programa é então chamado a partir do programa principal através do comando
CALL. Após a execução do programa chamado, a execução volta ao principal no
ponto em que ocorreu a chamada.

Metodologia
Nessa prática será utilizado criado um programa que chama outros dois
programas em sequência.

Procedimentos

1 Crie dois programas, um que desenha o retângulo e outro que desenha o losango
da bandeira do Brasil. O primeiro deve ter o nome de RETDx e o segundo deve
ter o nome de LOSDx. Ambos os programas devem possuir 5 pontos sendo 4
deles os vértices das figuras e o quinto um ponto marcado fora do plano de
desenho. Todos os movimentos devem ter terminação FINE.

2 Faça um terceiro programa que faz as chamadas aos dois outros, chamado de
BRx:

CALL RETDx
CALL LOSDx

a Para inserir o comando CALL, pressione a tecla NEXT para que apareça
na tela a função [INST] (para ver novamente as funções anteriores,
pressione novamente a tecla NEXT). Pressione a tecla correspondente à
função [INST].
b Selecione na lista na parte superior da tela a opção CALL e pressione a
tecla ENTER.
c Selecione o comando CALL program e pressione ENTER.
d Selecione o programa a ser chamado. Se não aparecer na tela, selecione a
opção 8 ---next page--- para mostrar mais programas. Pressione ENTER.

5 Execute normalmente o programa.

4 Altere o programa do retângulo para movimentos contínuos (CNT50). E execute


novamente o programa BRx. Qual a diferença entre os movimentos das duas
figuras?

58
Prática 5 - Comando de movimento circular

Objetivos
Fazer um programa que desenhe um círculo

Introdução
Foram vistos em práticas anteriores os comandos de movimentos de junta a
junta e linear. Para se fazer movimentos circulares é utilizado o comando C. Os
comandos J e L necessitam de apenas um ponto, que é o ponto final do movimento.
O comando C necessita de 2 pontos, sendo que um é o ponto final e o outro é um
ponto intermediário, pertencente ao arco de círculo. A sintaxe do comando é a
seguinte:
C P[1]
P[2] (velocidade) (terminaÁão)
Nesse caso, o ponto P[1] é o ponto intermediário e o ponto P[2] é o ponto final
do arco.
Para se fazer uma circunferência completa são necessários dois comandos
de movimento C e a marcação de 4 pontos:

O programa poderia ser o seguinte:


J P[1] 30% FINE
C P[2]
P[3] 100 mm/s FINE
C P[4]
P[1] 100 mm/s FINE
O primeiro comando posiciona a ferramenta no primeiro ponto do desenho. O
comando seguinte desenha um arco de círculo iniciando no ponto P[1], passando
pelo ponto P[2] e terminando no ponto P[3]. O último comando desenha um arco de
círculo iniciando no ponto P[3], passando pelo ponto P[4] e terminando no ponto
P[1].

Metodologia
Nessa prática será criado um programa que desenha um círculo e será
introduzida uma chamada a esse programa no programa da prática anterior (BRx).

Procedimentos

1 Crie um novo programa chamado CIRx.


59
2 Leve o robô para o ponto inicial do círculo e insira um comando de movimento.

3 Leve o robô para o ponto intermediário, insira um comando de movimento e o


altere para o comando de movimento circular (comando C). O comando deverá
ficar da seguinte maneira:

C P[2]
P[ ... ] (velocidade) (terminaÁão)

As reticências significam que o ponto intermediário foi marcado, mas o ponto final
ainda não.

4 Leve o robô para o ponto final, posicione o cursor no início da segunda linha do
movimento ( P[ ... ] (velocidade) (terminaÁão) ) e pressione a tecla de função
correspondente à função TOUCHUP juntamente com a tecla SHIFT. Isso marcará
o ponto P[3].

5 Leve o robô para o ponto P[4] (ponto intermediário do segundo movimento), insira
outro comando de movimento e altere para movimento circular. Informe
manualmente que o ponto final desse movimento é o ponto P[1], levando o cursor
para as reticências (...) e digitando o valor 1 e a tecla ENTER.

6 Execute o programa normalmente

7 Modifique a terminação do primeiro movimento circular para CNT50 e execute o


programa. Qual a diferença?

8 Insira no programa BRx a chamada ao programa CIRx.

9) Execute o programa BRx.

60
Prática 6 - RepetiÁão de programa um número indeterminado de vezes

Objetivos
Aprender as intruções LBL e JMP LBL
Fazer um programa que se repita número indeterminado de vezes

Introdução
Dentro de um mesmo programa pode ser necessário pular certos comandos
ou voltar para uma linha anterior. Isso pode ser feito marcando-se uma linha do
programa com a instrução label: LBL[n]. Essa intrução vem sempre acompanhada
de um número correspondente ao número do label a ser dado àquela linha. Não
podem existir em um mesmo programa dois labels com o mesmo número. Pode-se
então utilizar o comando jump label: JMP LBL[n] para pular para uma linha
marcada, informando o número do label da linha.
Para se fazer um programa cíclico deve-se, então, marcar a primeira linha do
programa e instruir o robô a pular para aquela linha ao final de sua execução.

Metodologia
Nessa prática será alterado o programa (BRx) de modo a fazê-lo cíclico.

Procedimentos

1 Abra o programa BRx.

2 Insira uma linha antes da primeira linha do programa


a Movimente o cursor para o início da primeira linha do programa.
b Pressione a tecla NEXT para que apareça na tela a função [EDCMD].
Pressione a tecla correspondente a essa função.
c Selecione no menu a opção INSERT e pressione ENTER.
d Digite o número de linhas a serem inseridas (1 linha) e pressione ENTER.

3 Insira a intrução LBL[1] na linha recém inserida.


a Pressione a tecla de função correspondente a [INST].
b Selecione a opção JMP/LBL e pressione ENTER.
c Selecione a opção LBL[ ] e pressione ENTER.
d Dê um número para o label criado, por exemplo LBL[1].

4 Na última linha do programa, insira o comando JMP LBL[1].


a Movimente o cursor para a última linha do programa ( [END] ).
b Pressione a tecla de função correspondente a [INST].
c Selecione a opção JMP/LBL e pressione ENTER.
d Selecione a opção JMP LBL[ ] e pressione ENTER.
e Informe o número do labelpara o qual o programa deve pular, no caso
JMP LBL[1] e pressione ENTER.

5 Execute normalmente o programa. Para fazê-lo parar, solte o botão SHIFT.


Somente solte o dead man antes do SHIFT em casos de emergência, pois ocorre
a parada brusca, levando a desgastes das engrenagens.

61
Prática 7 - RepetiÁão de programa um número determinado de vezes

Objetivos
Aprender as intruções R[n]=c e IF
Fazer um programa que se repita número determinado de vezes

Introdução
Para se fazer um programa cíclico que pare após a execução de um certo
número de cliclos, deve ser usado um contador. O robô FANUC dispõe de um
número de variáveis, chamadas registradores. Um desses registradores pode ser
utilizado como contador, por exemplo o registrador 1 ( R[1] ).
Esse contador pode começar com o valor 0 e ser incrementado após cada
ciclo do programa. Para zerar o contador 1 utiliza-se R[1]=0. Para incrementar seu
valor utiliza-se R[1]=R[1]+1, ou seja, o valor de R[1] é determinado por seu valor
anterior mais 1.
Após incrementar o valor de R[1] deve-se verificar se ele é ainda menor que o
número de vezes que o programa deve ser repetido. Se for, o programa deve
retornar ao início do ciclo. Para isso utiliza-se, por exemplo, IF R[1]<3 JMP LBL[1].
Isso significa que se o registrador 1 for menor que 3 então o programa deve pular
para o label 1.
Observe que o contador deve ser zerado antes da intrução LBL[1], do
contrário seu valor seria zerado a cada ciclo, e nunca alcançaria o valor desejado.

Metodologia
Nessa prática será alterado o programa (BRx) de modo a fazê-lo repetir 3
vezes.

Procedimentos

1 Abra o programa BRx.

2 Insira uma linha antes da linha LBL[1] (como na prática anterior, passo 2).

3 Insira a intrução R[1]=0 na linha recém inserida.


a Pressione a tecla de função correspondente a [INST].
b Selecione a opção Registers e pressione ENTER.
c Selecione a opção ...=... e pressione ENTER.
d Selecione a opção R[ ] e pressione ENTER.
e Digite o número do registrador (no caso, registrador 1) e pressione ENTER.
f Selecione a opção Constant e pressione ENTER.
g Digite o valor da constante (no caso, valor 0) e pressione ENTER.

4) Apague a última linha do programa (linha JMP LBL[1])


a Movimente o cursor para a linha a ser apagada.
b Pressione a tecla correspondente à função [EDCMD]. Se necessário
pressione a tecla NEXT.
c Selecione no menu a opção DELETE.
d Pressione a tecla de função correspondente a YES.

5 Na última linha do programa, insira o comando R[1]=R[1]+1


a Movimente o cursor para a última linha do programa ( [END] ).
b Pressione a tecla de função correspondente a [INST].
62
c Selecione a opção Registers e pressione ENTER.
d Selecione a opção ...=..+.... e pressione ENTER.
e Selecione a opção R[ ] e pressione ENTER.
f Digite o número do registrador (no caso, registrador 1) e pressione ENTER.
g Selecione a opção R[ ] e pressione ENTER.
h Digite o número do registrador (no caso, registrador 1) e pressione ENTER.
h Selecione a opção Constant e pressione ENTER.
i Digite o valor da constante (no caso, valor 1) e pressione ENTER.

6 Insira o comando IF R[1]<3, JMP LBL[1]


a Movimente o cursor para a última linha do programa ( [END] ).
b Pressione a tecla de função correspondente a [INST].
c Selecione a opção IF/SELECT e pressione ENTER.
d Selecione a opção IF ...<... e pressione ENTER.
e Selecione a opção R[ ] e pressione ENTER.
f Digite o número do registrador (no caso, registrador 1) e pressione ENTER.
i Selecione a opção Constant e pressione ENTER.
j Digite o valor da constante (no caso, valor 3) e pressione ENTER.
k Selecione a opção JMP LBL[ ] e pressione ENTER.
l Informe o número do labelpara o qual o programa deve pular, no caso
JMP LBL[1] e pressione ENTER.

7 Execute normalmente o programa. O programa deverá desenhar a bandeira 3


vezes e parar.

63
Referências Bibliográficas

[1] Toss, D.J. Fudamentals of robot technology.


[2] Holzbock, Werner G. Robotic technology, principles and pratice.
[3] Asfahl, C. Ray. Robots and manufacturing automation.
[4] Koren, Yoram. Robotics for engineers.
[5] Handbook of industrial robotics.
[6] Apostila de Robótica – UFRGS / GCAR].
[7] User´s Guide – ABB.
[8] Manual de Referência Rápida – ABB.
[9] Polonskii, Mikhail M. Introdução à Robótica e Mecatrônica. Caixias do
Sul: EDUSC, 1996.
[10] User´s Guide – FANUC.

64

Você também pode gostar