Você está na página 1de 98

ROBÓTICA

5ª REVISÃO

2018
Apostila desenvolvida exclusivamente para a disciplina
de robótica do curso técnico em mecatrônica do Centro de
Formação Profissional SENAI Volkswagen.

Autor: Prof. Cleiton Rodrigues Mendes

2
SUMÁRIO

CAPÍTULO 1 – ROBÓTICA INDUSTRIAL

1 HISTÓRICO.............................................................................................................07
2 CONCEITOS PRINCIPAIS......................................................................................09
2.1 GRAUS DE LIBERDADE ....................................................................................09
2.2 TIPOS DE JUNTAS OU EIXOS...........................................................................10
2.3 VOLUME DE TRABALHO....................................................................................12
2.4 CLASSIFICAÇÃO DOS ROBÔS INDUSTRIAIS................................................. 13
2.5 CARACTERÍSTICAS DOS ROBÔS INDUSTRIAIS............................................ 15
3 COMPONENTES DE UM ROBÔ INDUSTRIAL..................................................... 16
4 NORMAS DE SEGURANÇA ................................................................................ 18

CAPÍTULO 2 – MODO DE AJUSTAGEM

1 PROGRAMADOR (VKCP)......................................................................................29
2 PAINEL DE PROGRAMAÇÃO KUKA.IHM..............................................................31
3 SISTEMAS DE COORDENADAS...........................................................................34
4 DESLOCAMENTO MANUAL DO ROBÔ................................................................36
5 MODO DE SERVIÇO..............................................................................................38
5.1 AJUSTE DA POSIÇÃO DE ZERO MECÂNICO (MASTERIZAÇÃO)...................39
5.2 MEDIÇÃO DA FERRAMENTA (TCP)..................................................................42
5.3 ORIENTAÇÃO DA FERRAMENTA......................................................................46
5.4 DADOS DE CARGA DA FERRAMENTA.............................................................48
5.5 MEDIÇÃO DE BASE............................................................................................51

3
SUMÁRIO

CAPÍTULO 3 – MODO DE PROGRAMAÇÃO BÁSICA

1 ESTRUTURA DE PROGRAMAÇÃO.......................................................................54
1.1 ESTRUTURA DE UM PROGRAMA KRL.............................................................54
1.2 POSIÇÃO HOME.................................................................................................55
1.3 VARREDURA.......................................................................................................56
1.4 TIPO DE EXECUÇÃO DO PROGRAMA..............................................................56
1.5 AJUSTAR O OVERRIDE DO PROGRAMA (POV)..............................................57
2 TIPOS DE MOVIMENTOS......................................................................................57
2.1 MOVIMENTO PTP...............................................................................................57
2.2 MOVIMENTO LIN.................................................................................................60
2.3 MOVIMENTO CIRC..............................................................................................62
2.4 MODIFICAR PONTO PROGRAMADO................................................................66
2.5 APROXIMAÇÃO...................................................................................................67
3 INSTRUÇÕES LÓGICAS........................................................................................69
3.1 INSTRUÇÃO OUT................................................................................................70
3.2 INSTRUÇÃO PULSE............................................................................................71
3.3 INSTRUÇÕA ANOUT...........................................................................................72
3.4 INSTRUÇÃO WAIT..............................................................................................74
3.5 INSTRUÇÃO WAITFOR.......................................................................................75

4
SUMÁRIO

CAPÍTULO 4 – MODO DE PROGRAMAÇÃO AVANÇADA

1 METODOLOGIA DA PROGRAMAÇÃO AVANÇADA.............................................77


3 PROGRAMA KRL....................................................................................................78
3.1 COMENTÁRIOS...................................................................................................78
3.2 VARIÁVEIS E DECLARAÇÕES...........................................................................79
3.3 TIPOS DE DADOS SIMPLES..............................................................................80
3.4 MANIPULAÇÃO DE DADOS...............................................................................80
3.5 OPERADORES ARITMÉTICOS..........................................................................80
3.6 OPERADORES DE COMPARAÇÃO..................................................................81
3.7 OPERADORES LÓGICOS..................................................................................82
3.8 PRIORIDADE DOS OPERADORES...................................................................83
3.10 INSTRUÇÃO DE SALTO (GOTO).....................................................................83
3.11 RAMIFICAÇÃO CONDICIONAL (IF ELSE)........................................................84
3.12 DISTRIBUIDOR (SWITCH)................................................................................84
3.13 LOOP DE CONTAGEM (FOR)..........................................................................86
3.14 LOOP DE REJEIÇÃO (WHILE)..........................................................................87
3.15 LOOP DE NÃO REJEIÇÃO (REPEAT)..............................................................88
3.16 LOOP INFINITO (LOOP)...................................................................................89
3.17 TEMPOS DE ESPERA (WAIT SEC).................................................................90
4 SUBPROGRAMAS E FUNÇÕES...........................................................................91
4.1 SUBPROGRAMA.................................................................................................91
4.2 FUNÇÕES............................................................................................................92
4.3 ATIVAÇÃO E TRANSFERÊNCIA DE PARÂMETROS........................................95

REFERÊNCIAS BIBLIOGRAFICAS.........................................................................98

5
CAPÍTULO 1 – ROBÓTICA INDUSTRIAL

6
1 HISTÓRICO

Ao lermos à palavra robótica imediatamente nós nos lembramos dos robôs


mecanismos construídos em metal, semelhantes aos seres humanos e obedientes
aos seus comandos.

Ainda que instintivamente relacionemos os robôs aos seres humanos,


podemos afirmar que a aparência de um robô industrial é muito diferente da do
homem. Os robôs industriais foram projetados tendo como referência apenas uma
parte do corpo humano, o membro superior (braço), capaz de executar diversos
movimentos.

Características Antropomórficas

7
Características Antropomórficas do robô KUKA

Segundo a Robotic Industries Association (RIA), robô industrial é definido como


um "manipulador multifuncional reprogramável, projetado para movimentar materiais,
partes, ferramentas ou peças especiais, através de diversos movimentos
programados, para o desempenho de uma variedade de tarefas” (RIVIN, 1988).

Uma definição mais completa é apresentada pela norma ISO (International


Organization for Standardization) 10218: "uma máquina manipuladora com vários
graus de liberdade, controlada automaticamente, reprogramável, multifuncional, que
pode ter base fixa ou móvel, para utilização em aplicações de automação industrial".

Porém, o termo robótica refere-se ao estudo e à utilização de robôs. O termo


surgiu pela primeira vez pelo cientista americano e escritor, Isaac Asimov que
escreveu prodigiosamente sobre uma vasta diversidade de disciplinas e objetos,
ficando célebre pelos seus trabalhos de ficção científica.
A palavra robótica foi usada pela primeira vez em uma pequena estória
publicada por Isaac Asimov em 1942.

8
2 CONCEITOS PRINCIPAIS

2.1 GRAUS DE LIBERDADE


Os graus de liberdade (GL) determinam os movimentos do braço robótico no
espaço bidimensional ou tridimensional.
Cada junta define um ou dois graus de liberdade, e assim, o número de graus
de liberdade do robô é igual à somatória dos graus de liberdade de suas juntas. Por
exemplo, quando o movimento relativo ocorre em um único eixo, a junta tem um
grau de liberdade; caso o movimento se dê em mais de um eixo, a junta tem dois
graus de liberdade.
Observa-se que quanto maior a quantidade de graus de liberdade, mais
complicada é a cinemática, a dinâmica e o controle do manipulador.
O numero de graus de liberdade de um manipulador está associado ao
número de variáveis posicionais independentes que permitem definir a posição de
todas as partes de forma unívoca.

Os graus de liberdade indicam o quanto um robô pode se mover no espaço


sem as restrições.

Um robô totalmente livre sem as restrições apresenta 6 graus de liberdade.

Na medida em que adicionamos as restrições estes graus de liberdade vão


diminuindo até o robô ficar totalmente fixo.

Os seis movimentos possíveis são:

 1 movimento linear para os eixos X, Y e Z .

 1 movimento rotacional para os eixos A, B e C.

9
2.2 TIPOS DE JUNTAS OU EIXOS

Os braços de robôs podem ser formados por três tipos de juntas:

 Juntas deslizantes;
 Juntas de rotação;
 Juntas de encaixe esférico.

A maioria dos braços dos robôs é formada pelas juntas deslizantes e de


revolução, embora alguns incluam o de bola e encaixe. A seguir será descrito cada
um destes tipos de juntas.

Juntas deslizantes

Este tipo de junta permite o movimento linear entre dois vínculos. É composto
de dois vínculos alinhados um dentro do outro, onde um vínculo interno escorrega
pelo externo, dando origem ao movimento linear.

Juntas de rotação

Esta conexão permite movimentos de rotação entre dois vínculos. Os dois


vínculos são unidos por uma dobradiça comum, com uma parte podendo se mover
num movimento cadenciado em relação à outra parte. As juntas de rotação são
utilizadas em muitas ferramentas e dispositivos, tal como tesouras, limpadores de
pára-brisa e quebra-nozes. Podem ser do tipo dobradiça ou eixo rotativo.

10
Junta de encaixe esférico

Estas juntas são usadas em um pequeno número de robôs, devido à


dificuldade de ativação.
De qualquer maneira, para se ter a performance de uma junta de encaixe
esférico, muitos robôs incluem três juntas rotacionais separadas, cujos eixos de
movimentação se cruzam em um ponto.

11
2.3 VOLUME DE TRABALHO

É o espaço dentro do qual o robô pode manipular a extremidade de seu punho


(o efetuador). Em hipótese alguma poderá haver funcionários nesta região enquanto
o robô estiver em funcionamento, evitando-se desta maneira acidentes. Alguns
autores e fabricantes usam a expressão ‘Envelope de Trabalho’ para esta
característica.

A figura a seguir apresenta alguns exemplos:

Os catálogos de fabricantes de robôs normalmente ilustram os volumes de


trabalho por diagramas, tais como, os mostrados abaixo, que são as vistas laterais e
superiores da faixa de movimentos possíveis do robô.

12
Volume de trabalho do robô KUKA

2.4 CLASSIFICAÇÃO DOS ROBÔS INDUSTRIAIS

a) Quanto à informação de entrada e aprendizagem:

• Robô Seqüencial Cada passo do movimento é solicitado de uma seqüência


preestabelecida. Divide-se em:

- robô de seqüência fixa;


- robô de seqüência programável.

• Robô “Play Back”, Repete a seqüência programada de movimentos,


dirigindo fisicamente, ou por meio de um “Teach in Box”, a ponta do robô.

• Robô NC, Programação feita com entrada de forma numérica.

• Robô inteligente, O sistema robótico já dispõe de sensores externos (como


visão, tato, etc.).

13
b) Quanto aos tipos de coordenadas de movimento do braço manipulador,
controlado manualmente pelo homem:

 Robô de coordenadas cartesianas;

 Robô de coordenadas cilíndricas;

 Robô de coordenadas esféricas ou polar;

 Robô articulado;

14
2.5 CARACTERÍSTICAS DOS ROBÔS INDUSTRIAIS

Velocidade de movimento

Depende muito da estrutura mecânica do robô, de seu sistema de acionamento


e sistema de controle e da carga controlada, podendo atingir valores de até 120°/s
para movimentos rotacionais e até 3m/s para movimentos translacionais.

Capacidade de carga ou “Payload”

É a massa máxima em quilogramas que um robô consegue manipular


mantendo as suas especificações. Nos robôs atuais esta capacidade de carga varia
desde algumas gramas até aproximadamente 1000 kg, dependendo do modelo do
robô.

Precisão de movimento

A precisão de movimento é definida em função de três características:

a) Resolução espacial: É o menor incremento de movimento em que o


robô pode dividir seu volume de trabalho. É normalmente dependente da capacidade
de carga do robô, e varia desde alguns milímetros até alguns centésimos de
milímetro nos mais precisos.

b) Precisão: Refere-se à capacidade de um robô de posicionar a


extremidade de seu punho em um ponto meta desejado dentro de seu volume de
trabalho.

c) Repetibilidade: É a capacidade do robô de posicionar seu punho ou


órgão terminal ligado ao seu punho num ponto meta no espaço previamente
indicado.

15
3 COMPONENTES DE UM ROBÔ INDUSTRIAL

Do ponto de vista macroscópico, um sistema robótico pode ser “explodido” em três


grandes componentes:
 1 - Manipulador;
 2 - Programador;
 3 - Controlador;

O manipulador, ou parte mecânica que apresenta liberdade de movimentos,


se subdivide em cinco outros componentes:
 Base;
 Braço;
 Antebraço;
 Punho;
 Órgão terminal;
O braço determina o alcance do órgão terminal no espaço “euclidiano”,
enquanto o punho, sua orientação.
O órgão terminal é escolhido em função da tarefa a ser realizada pelo robô e
pode ser:
 Garra ou ventosa;
 Tocha de solda;
 Pistola de pintura.

16
O programador é responsável pela movimentação física de cada junta ou eixo
do manipulador, além de acionar as juntas dos braços, do punho e vários tipos de
“efetuadores”. Os dispositivos de acionamento têm a função de transformar energia
elétrica, hidráulica, pneumática, ou uma combinação destas, em energia cinética
para as juntas do braço, do punho e para o órgão terminal.

O controlador é responsável pela coordenação e controle do movimento do


Órgão Terminal, objeto principal de aplicação do robô. Sua forma mais simples
consiste apenas em uma série de paradas mecânicas ajustáveis ou chaves
limitadoras.

Nas formas mais complexas, é necessário que o controle e a coordenação do


movimento sejam efetuados por computador, que dispõe de uma memória
programável, permitindo pilotar o órgão terminal ao longo de uma trajetória
precisamente definida.

Possibilita ainda o sincronismo com outros robôs e equipamentos periféricos


(como por exemplo, esteira transportadora, prensas, aplicação de cola. Etc...).

17
4 NORMAS DE SEGURANÇA PARA ROBÓTICA INDUSTRIAL

Como usar de maneira correta os robôs industriais.

O aumento do número de robôs industriais devidamente utilizados nas


indústrias trouxe evidente melhoria no processo produtivo tornando-nos mais
competitivos nos mercados nacionais e internacionais. O ganho de qualidade nos
produtos e a redução do tempo de fabricação foram os responsáveis diretos deste
salto competitivo.

Entretanto, toda a inovação tecnológica vem acompanhada da necessidade de


mão-de-obra especializada e devidamente preparada para o convívio diário com
esta tecnologia. Profissionais atuando conscientemente e adotando medidas
consistentes de segurança.

Afinal, por serem máquinas dotadas de grande mobilidade, flexibilidade e


velocidade, devemos atentar cuidadosamente para os procedimentos relacionados à
segurança das pessoas que trabalharão diretamente e também com as que
eventualmente estarão nas proximidades do equipamento.

Risco de colisão

Qual a intensidade do choque que um operador sofre numa colisão com um


manipulador?

Como isso não pode ser verificado na prática, foram realizados testes com
corpos de prova semelhantes aos empregados em ensaios de acidentes
automobilísticos. Ao submeter o corpo de prova a um choque em alta velocidade
contra o manipulador de um robô tipo hidráulico de grande porte, detectou-se uma
aceleração de choque de 200G. No caso de um robô tipo elétrico de porte médio,
foram atingidos valores elevados, como 90G. Se o ser humano for submetido a uma
aceleração de 100G, mesmo que instantaneamente, poderá ser fatal, conclui-se,
então, o quão potente e perigoso é o manipulador de um robô.

Testes realizados com corpos de prova

18
Robôs de grande porte desenvolvem uma aceleração de choque de 200G;
robôs de porte médio, 90G (O ser humano corre risco de morte com 100G).

Exemplos típicos de acidente

É frequente a ocorrência de acidentes no uso de máquinas automáticas e de


sistemas automáticos de produção industrial. Esses acidentes podem ser, de
maneira geral, classificados de acordo com seis exemplos seguintes:

1 O operador opera incorretamente a máquina e sofre o acidente;


2 Na ocorrência de um problema durante a operação da máquina automática, o
operador tenta inadvertidamente fazer o reparo, introduzindo a mão ou entrando na
área de risco, vindo a colidir com a parte móvel e sofrendo o acidente;
3 O operador, sem perceber que a máquina automática estava em operação,
entra na linha de produção automática sem nenhuma proteção. É atacado por um
movimento de uma direção não perceptiva, sofrendo um acidente;
4 Durante uma parada momentânea da máquina automática (em espera), o
operador detecta um problema e resolve repará-lo, achando que a máquina está em
repouso; quando é atingido por uma parte móvel, sofre o acidente;
5 Por um defeito no controlador, a máquina automática sai repentinamente do
estado de repouso e, devido a um movimento descontrolado e na impossibilidade de
ser paralisada, acaba causando acidente;
6 Devido a um defeito no dispositivo de segurança, a máquina automática não é
paralisada e acaba ocasionando um acidente.

19
Exemplos de acidentes

a) uma pessoa que estava treinando, querendo aproveitar às 3 horas do intervalo de


descanso para estudos práticos junto ao robô, penetra na área de ação do robô
de solda.

Quando o operador responsável retorna ao local, aciona o botão de operação sem


perceber a presença dessa pessoa na área de ação, prensando o treinando.

b) um robô, para descarte de item defeituoso que surge em uma correia


transportadora, deixa cair uma peça. Percebendo isso, o operador tenta retirar a
peça entrando na área de ação sem antes paralisar o robô. O operador acaba
prensado entre a correia transportadora e o manipulador.

20
c) para inspecionar o processo de MC (machining center, centro maquinário), o
operador paralisa a linha automática de produção no modo bloqueio. Depois de
constatar que todas as máquinas no seu campo de visão estão paradas, o
operador entra na área de produção quando é atingido por um robô de
carregamento aéreo.

21
d) devido a uma falha no processo, o operador percebe que todas as máquinas
ficaram paralisadas e sobe na correia transportadora para remover a peça
defeituosa com as duas mãos. Quando a peça é removida, a chave de limite de
carga (limit switch) do robô, acoplada à correia transportadora, é acionada e o
operador fica comprimido pelas costas, entre o braço do robô e a correia
transportadora.

22
e) por um defeito no controlador, a máquina automática sai repentinamente do
estado de repouso e, devido a um movimento descontrolado e na impossibilidade de
ser paralisada, acaba causando acidente.

23
f) enquanto o operador executava um processo de instrução de um robô em baixa
velocidade, utilizando um teaching box (painel de instrução), um ruído
eletromagnético gerado por faíscas de solda interfere no controlador, fazendo o
manipulador trabalhar em alta velocidade, provocando acidente.

g) durante a limpeza diária, o operador abre a porta e entra na área cercada do robô.
Devido a uma falha na chave de segurança, o robô não é paralisado e causa o
acidente.

24
Mesmo circundando a área de ação do robô com uma cerca de segurança, deve-se
confirmar a paralisação do robô antes da aproximação do operador. Para isso,
geralmente se instala uma chave de segurança na porta, de modo que o robô
sempre seja paralisado assim que a porta é aberta, num modo “interlock”. A
implementação deve ser tal que a paralisação do robô seja garantida mesmo em
casos de falha na chave de segurança.

Os exemplos anteriores evidenciaram-nos uma série de possíveis acidentes, e


que devemos observar todos os quesitos relacionados à segurança sempre que o
trabalho com os robôs ou equipamentos automáticos fizer necessário.

Devemos dispensar toda atenção possível ao interagirmos com estes


equipamentos, e os mesmos cuidados deverão ser observados pelos projetistas no
desenvolvimento e implantação de sistemas robotizados.

Um pequeno erro humano pode acabar num grave acidente causado pelo robô.
Entretanto, não sendo possível eliminar totalmente as falhas humanas, torna-se
necessário e importante incorporar dispositivos de segurança no controlador para
que o robô seja paralisado quando for detectada a entrada do operador na área de
ação.
Para sua implementação, utilizam-se dispositivos de segurança junto ás portas
como sensores ópticos, esteiras de segurança e os sensores de ultrassom.

Entretanto, se o próprio dispositivo de segurança vier a falhar a presença


humana não poderá ser detectada o que incorrerá num acidente. Uma vez que
mesmo os dispositivos de segurança são susceptíveis a falha, é importante projetar
o sistema de tal forma que o robô seja paralisado mesmo na falha de um dos
dispositivos de segurança. Um sistema de segurança à prova de falhas (safe fail) é
primordial para a segurança no trabalho.

25
Exemplo de célula de segurança

Para minimizar os riscos de acidentes de colisão em células com robô, é


padrão o procedimento de montar uma cadeia de segurança para trabalho na célula,
que é dividida em partes:

Área de trabalho

É a área de atuação do manipulador, onde o robô pode se movimentar


devendo seu acesso permanecer restrito, para evitar riscos de colisão. Esta área
deve ser cercada com grades de proteção ou protegida através de fotocélulas.

Operadores e equipe de manutenção devem permanecer na área somente


quando são executados reparos na célula, devendo para isso acionar a parada de
emergência, ou ligar o robô em modo manual.

Travas de segurança (fotocélulas ou grades de proteção)

São dispositivos que quando atuados, bloqueiam o movimento do robô,


acionando comando de emergência. Como padrão existe uma porta de entrada na
célula, que possui uma chave fim de curso que quando a porta é aberta, aciona o
comando de emergência.

26
Botões de emergência

São botões de comando dos operadores, que bloqueiam imediatamente o robô


caso sejam acionados. Existem nos painéis de comando da célula, no painel de
comando do robô, na unidade de programação e em alguns casos em pontos
estratégicos da célula.

Botões de emergência e botões de homem morto na unidade de programação

Ambos param o robô sendo usados somente quando o robô esta sendo
programado.

Modo de operação manual ou automático com velocidade reduzida.

Quando robô esta sendo programado, ele roda no modo manual, obedecendo
aos comandos da unidade de programação. Para teste inicial, a velocidade de robô
é reduzida para evitar riscos.

27
CAPÍTULO 2 – MODO DE AJUSTAGEM

28
1 PROGRAMADOR (VKCP)

Visão Frontal
O VKCP (Volkswagen KUKA Control Panel) é uma unidade manual de programação
para o sistema do robô. O VKCP dispõe de todas as funções necessárias à
operação e à programação do sistema de robô.

29
Visão traseira

30
2 PAINEL DE OPERAÇÃO KUKA.IHM

Statuskeys, menukeys, softkeys

31
Janela de superfície operacional

32
Barra de estado

33
3 SISTEMAS DE COORDENADAS

34
Sistema de coordenadas WORD ou MUNDIAL

O sistema de coordenadas WORLD é um sistema de coordenadas cartesiano


definido. A posição predeterminada do sistema de coordenadas WORLD é na base
do robô.

Sistema de coordenadas BASE

O sistema de coordenadas BASE é um sistema de coordenadas cartesiano


que descreve a posição da peça. Ele refere-se ao sistema de coordenadas WORLD.
Como ajuste predefinido, o sistema de coordenadas BASE é idêntico ao
sistema de coordenadas WORLD. Ele é deslocado do robô para a peça.

35
Sistema de coordenadas TOOL ou FERRAMENTA

O sistema de coordenadas TOOL é um sistema de coordenadas cartesiano


que está no ponto de trabalho da peça. Ele refere-se ao sistema de coordenadas
BASE.
Como ajuste predefinido, a origem do sistema de coordenadas TOOL
encontra-se no ponto central do flange. O sistema de coordenadas TOOL é
deslocado da flange do robô para o ponto de trabalho da ferramenta.

4 DESLOCAMENTO MANUAL DO ROBÔ – EIXO A EIXO

Há 2 modos de deslocar manualmente o robô:


 Deslocamento cartesiano
O TCP é deslocado em direção positiva ou negativa, ao longo dos eixos de um
sistema de coordenadas.
 Deslocamento específico do eixo
Todos os eixos poderão ser deslocados individualmente na direção positiva e
negativa.

36
Movimentando o robô

37
Deslocamento específico eixo a eixo do robô.

5 MODO DE SERVIÇO

Ajuste de contraste
Para o tipo de deslocamento é necessário que a seguinte statuskey seja
exibida:

38
5.1 AJUSTE DA POSIÇÃO DE ZERO MECÂNICO (MASTERIZAÇÃO)

Durante o ajuste o robô é transportado para a posição zero mecânica e o


valor do codificador para cada eixo é memorizado. Deste modo a posição zero
mecânica e a posição zero eletrônica são colocados em concordância.
Só um robô ajustado pode deslocar-se para posições programadas e
movimentado cartesianamente.
Um robô deve ser ajustado nos seguintes casos: „
 Ao colocar em funcionamento pela primeira vez;
 Após reparações (p.ex. após substituir o motor ou RDW);
 Quando o robô foi movimentado sem a unidade de comando do robô (p.ex.
com o dispositivo de rotação livre);
 Após a substituição de uma engrenagem;
 Após uma colisão;

39
40
41
5.2 MEDIÇÃO DA FERRAMENTA (TCP)

Durante a medição da ferramenta o utilizador atribui um sistema de


coordenadas cartesiano (Sistema de coordenadas TOOL) a uma ferramenta
montada na flange de fixação.
O sistema de coordenadas TOOL tem a sua origem em um ponto definido
pelo utilizador. Este se chama TCP (Tool Center Point). Normalmente o TCP é
colocado no ponto de trabalho da ferramenta.

Vantagens da medição da ferramenta:


 A ferramenta pode ser deslocada em linha reta, na direção de trabalho;
 A ferramenta pode ser girada em volta do TCP, sem alterar a posição do TCP;
 No modo de programa: A velocidade de deslocamento programada é mantida
no TCP ao longo do trajeto;

São memorizados os seguintes dados:


 X, Y, Z:
Origem do sistema de coordenadas TOOL, referente ao sistema de coordenadas
da FLANGE.

 A, B, C:
Orientação do sistema de coordenadas TOOL, referente ao sistema de
coordenadas da FLANGE.

42
MEDIÇÃO DA FERRAMENTA

43
MÉTODO DE MEDIÇÃO DA FERRAMENTA

44
45
5.3 ORIENTAÇÃO DA FERRAMENTA

46
47
5.4 DADOS DE CARGA DA FERRAMENTA

48
49
50
5.5 MEDIÇÃO DE BASE

51
52
CAPÍTULO 3 – MODO DE PROGRAMAÇÃO BÁSICA

53
1 ESTRUTURA DE PROGRAMAÇÃO

Gestor de pastas do navegador

1.1 ESTRUTURA DE UM PROGRAMA KRL

54
1.2 POSIÇÃO HOME
A posição HOME é uma posição válida para todo do programa. Normalmente
ela é utilizada como primeira e última posição no programa porque ela é
inequivocamente definida e não crítica.
A posição HOME é predefinida e criada na unidade de comando do robô.
Podem ser programadas até 9 outras posições HOME.
Uma posição HOME deve cumprir os seguintes requisitos:
 Favorável posição inicial para a execução do programa;
 Favorável posição de repouso. Por exemplo, o robô não deve apresentar um
obstáculo quando estiver em repouso;

55
1.3 VARREDURA

A varredura é o máximo número de conjuntos de movimentos que a unidade


de comando do robô calcula e planeja antes da execução do programa. O número
real depende do grau de aproveitamento do computador. A varredura refere-se à
posição atual do apontador de passo.
O valor predefinido é 3.
Entre outros, a varredura é necessária para poder calcular movimentos de
aproximação.
Algumas instruções acionam uma parada da varredura. Instruções que
influenciam a periferia, p.ex. instruções OUT fazem parte destas instruções.

1.4 TIPO DE EXECUÇÃO DO PROGRAMA

O tipo de execução de programa é selecionado na barra de statuskey esquerda.

56
1.5 AJUSTAR O OVERRIDE DO PROGRAMA (POV)
O override do programa é a velocidade do robô durante o deslocamento do
programa.

O override do programa é exibido em porcentagem e refere-se à velocidade


programada.

Aumentar ou reduzir o override na barra de statuskey direita.

2 TIPOS DE MOVIMENTOS

Os seguintes tipos de movimentos podem ser programados:


 Movimento PTP;
 Movimento LIN;
 Movimento CIRC;

2.1 MOVIMENTO PTP

Movimento PTP o robô conduz o TCP ao longo do trajeto mais rápido até o
ponto de destino. Normalmente o trajeto mais rápido não é o trajeto mais curto e,
portanto não é reto. Como os eixos do robô se movimentam em rotações, os trajetos
em forma de arcos podem ser executados com maio rapidez do que trajetos retos.

57
A programação de um movimento PTP abrange:
 Memorizar as coordenadas do ponto de destino.
 Configurar diversos parâmetros, p.ex. velocidade.

Formulário In line de movimento PTP

58
FIGURA DO DESLOCAMENTO DO MOVIMENTO PTP

Janela de opções para os parâmetros de movimento (movimento PTP)

59
2.2 MOVIMENTO LIN

Movimento LIN o robô conduz o TCP, com a velocidade definida, ao longo do


trajeto mais curto, até o ponto de destino. O trajeto mais curto é sempre uma reta.

A programação de um movimento LIN abrange:


 Memorizar as coordenadas do ponto de destino; „
 Configurar diversos parâmetros, p.ex. velocidade;

Formulário In line de movimento LIN

60
61
FIGURA DO DESLOCAMENTO DO MOVIMENTO LIN

2.3 MOVIMENTO CIRC

O robô conduz o TCP, com a velocidade definida, ao longo de um trajeto


circular, até o ponto de destino. O trajeto circular é definido pelo ponto de partida,
pelo ponto auxiliar e pelo ponto de destino.

A programação de um movimento CIRC abrange:


 Memorizar as coordenadas do ponto de ajuda.
 Memorizar as coordenadas do ponto de destino.
 Configurar diversos parâmetros, p.ex. velocidade.

62
Formulário In line de movimento CIRC

63
FIGURA DO DESLOCAMENTO DO MOVIMENTO CIRC

Janela de opções dos parâmetros de movimento (LIN E CIRC)

64
65
2.4 MODIFICAR PONTO PROGRAMADO

66
2.5 APROXIMAÇÃO

67
68
3 INSTRUÇÕES LÓGICAS

69
3.1 INSTRUÇÃO OUT

70
3.2 INSTRUÇÃO PULSE

71
3.3 INSTRUÇÃO ANOUT

72
73
3.4 INSTRUÇÃO WAIT

74
3.5 INSTRUÇÃO WAITFOR

75
CAPÍTULO 4 – PROGRAMAÇÃO AVANÇADA

76
1 METODOLOGIA DA PROGRAMAÇÃO AVANÇADA

77
3 PROGRAMA KRL

O software da unidade de comando KR C1 distingue entre o utilizador e o


perito. O utilizador não necessita de conhecimentos acerca da sintaxe de
programação, uma vez que ele cria os programas com a ajuda dos menus. Sempre
que o sistema for iniciado, encontra--se selecionado, automaticamente, o nível de
utilizador.
Quando as funções do nível de utilizador se revelar insuficientes, poderá ser
mudado para o nível de perito. O perito poderá então programar através do teclado
ASCII na linguagem de programação de robôs KRL (KUKA Robot Language), bem
como editar ficheiros de sistema ou de inicialização (sistemas de bus).
KRL é uma linguagem de programação mais elevada, semelhante à
linguagem PASCAL, sendo também adequada para a programação de tarefas
complexas.
O acesso ao nível de perito é protegido por uma senha. Para mudar para o
nível de perito, acione o botão menukey “Config.” e abra um menu de seleção que
contenha a opção “Grupo de utilizadores”, ao encontrar no nível de utilizador acione
o botão softkey “Perito”, aparecerá o pedido de introduzir a senha de acesso ao nível
de perito, que é “kuka”.
NO MODO PERITO EXISTEM ARQUIVOS COM EXTENÇÃO DAT E SRC.
SOMENTE OS ARQUIVOS SRC PODEM SER EDITADOS, OS ARQUIVOS DAT
SÃO ARQUIVOS DE SISTEMA.

3.1 COMENTÁRIOS

Os comentários são uma parte integrante muito importante de todos os


programas de computador. Com a ajuda de um comentário, o programa poderá
tornar mais claro e compreensível. A velocidade de processamento do programa não
é influenciada pelos comentários.
Os comentários poderão ser introduzidos em qualquer local do programa. São
iniciados sempre com um ponto e vírgula “;”, p.ex.:

PTP P1
; Movimento para ponto de saída
; --- Fazer o reset das saídas ---
FOR I = 1 TO 16
$OUT[I] = FALSE
ENDFOR

78
3.2 VARIÁVEIS E DECLARAÇÕES

As variáveis são necessárias para a programação dos robôs industriais, p.ex.,


para a integração dos sensores.
As variáveis permitem memorizar o valor lido pelo sensor e fazer a sua
avaliação em vários locais do programa. Além disso, podem ser realizadas
operações aritméticas, p.ex., para calcular uma posição nova.
Uma variável é representada no programa por meio de um nome, podendo a
designação do nome ser escolhida livremente, dentro de determinados limites.

Os nomes em KRL:
Podem ter um comprimento máximo de 12 caracteres;
Podem conter letras (A--Z), números (0--9) e os caracteres ’_’e ’$’;
Não podem começar com números;
Não podem ser palavras chave (OUT, IN, INT, REAL);

Uma variável deve ser considerada como uma área fixa da memória, cujo
conteúdo é acessível através do nome da variável. Por isso, a variável é realizada
em relação ao tempo de execução do programa, através de um espaço de memória
(local) e um conteúdo de memória (valor).
O símbolo de igualdade (=) atribui à variável valores. Assim, a instrução
MENDES = 5
Implica que na área de memória com o endereço de MENDES é introduzido o
valor 5.

79
3.3 TIPOS DE DADOS SIMPLES

Em KRL, poderá atribuir o numero 90 a uma variável INTEIRA de três


maneiras diferentes:
INT TESTE = 90 (sistema decimal)
INT TESTE = ’B1011010’ (sistema binário)
INT TESTE = ’H5A’ (sistema hexadecimal)

3.4 MANIPULAÇÃO DE DADOS

Para a manipulação dos vários objetos de dados existe uma quantidade de


operadores e funções, com a ajuda dos quais podem ser construídas fórmulas. O
poder de uma linguagem de programação de robôs depende também dos objetos de
dados admissíveis e das suas possibilidades de manipulação.

3.5 OPERADORES ARITMÉTICOS

Os operadores aritméticos dizem respeito aos tipos de dados INTEIRO e


REAL. Todos os tipos de cálculos básicos são admissíveis em KRL.

O resultado de uma operação aritmética é INT, apenas no caso de os dois


operandos serem do tipo INTEIRO. Se o resultado de uma divisão (INTEIRO) não for
números inteiros, a posição a seguir à vírgula é cortada. Se pelo menos um dos dois
operandos for REAL, também o resultado é do tipo REAL

80
O exemplo de programa seguinte serve para a exemplificação:

DEF ARITH()
;------------------------- Seção de declaração -------------------------
INT A,B,C
REAL K,L,M
;------------------------- Inicialização ------------------------------------
;antes da inicialização todas as variáveis são declaradas
A = 2 ;A=2
B = 9.8 ;B=10
C = 7/4 ;C=1
K = 3.5 ;K=3.5
L = 0.1 E01 ;L=1.0
M = 3 ;M=3.0
;------------- Seção principal ---------------------------------------------
A =A *C ;A=2
B = B - ’HB’ ;B=-1
C =C +K ;C=5
K = K * 10 ;K=35.0
L = 10 / 4 ;L=2
L = 10 / 4.0 ;L=2.5
L = 10 / 4. ;L=2.5
L = 10./ 4 ;L=2.5
C = 10./ 4. ;C=3
M = (10/3) * M;M=9.0
END

3.6 OPERADORES DE COMPARAÇÃO

Com a ajuda dos operadores de comparação podem ser formadas


expressões lógicas. O resultado de uma comparação é sempre do tipo de dados
BOOL, uma vez que uma comparação só pode ser verdadeira (TRUE) ou falsa
(FALSE).

81
Exemplo:

BOOL A,B
B = 10 < 3 ;B=FALSE
A = 10/3 == 3 ;A=TRUE
B = ((B == A) <> (10.00001 >= 10)) == TRUE ;B=TRUE
A = “F” < “Z” ;A=TRUE

3.7 OPERADORES LÓGICOS

Os operadores destinam--se à interligação de variáveis booleanas, constantes


e expressões lógicas simples, como aquelas que são formadas com a ajuda dos
operadores de comparação. Assim, p.ex., a expressão (A > 5) AND (A < 12) tem
o valor TRUE, apenas quando A se situa na gama entre o 5 e o 12. Estas
expressões são utilizadas, freqüentemente, em instruções para o controle de
execução.

Alguns exemplos em relação a interligações lógicas:

BOOL A,B,C
A = TRUE ;A=TRUE
B = NOT A ;B=FALSE
C = (A AND B) OR NOT (B EXOR NOT A) ;C=TRUE
A = NOT NOT C ;A=TRUE

82
3.8 PRIORIDADES DE OPERADORES

Se utilizar expressões mais complexas com vários operadores, terá de estar


com atenção às diferentes prioridades dos vários operadores, uma vez que as várias
expressões são executadas pela ordem da respectiva prioridade.

3.10 INSTRUÇÃO DE SALTO (GOTO)

A forma mais simples de ramificar um programa é a instrução de salto


incondicional. Esta é executada, em qualquer dos casos, sem que haja uma reflexão
sobre uma determinada condição. Com a instrução
GOTO MARCA
O ponteiro de programa salta para a posição MARCA. A posição também terá
de ser definida com:
MARCA:
A instrução de salto propriamente dita não permite conclusões acerca da
estrutura de programa criada desta forma. Por isso, o nome da marca de salto
deverá ser escolhido de forma a que a ação de salto provocada se torne mais
compreensível.
Uma vez que a instrução GOTO pode dar origem, rapidamente, a programas
não estruturados e confusos, e visto cada instrução GOTO poder ser substituída por
uma instrução de loop, o GOTO deverá ser utilizado o menos possível.

83
3.11 RAMIFICAÇÃO CONDICIONAL (IF ELSE)

A instrução estruturada IF permite a formulação de instruções condicionadas


e a escolha entre duas alternativas. Na forma geral, a instrução é:

IF condição de execução THEN


Instruções
ELSE
Instruções
ENDIF

A condição de execução é uma expressão booleana. Em função do valor da


condição de execução é executado o primeiro bloco (bloco THEN) ou o segundo
bloco de instrução (bloco ELSE). O bloco ELSE é opcional, e por isso também pode
faltar. Se a condição de execução=FALSE, não é executada nenhuma instrução,
continua--se com a instrução a seguir ao ENDIF.

INT A,B
INI
IF $IN[10]==FALSE THEN
PTP HOME
ELSE
IF A>B THEN
$OUT[1]=TRUE
LIN PONTO1
ENDIF
A=A+1
PTP HOME
ENDIF

3.12 DISTRIBUIDOR (SWITCH)

Quando há mais que 2 alternativas, estas podem ser programadas através


de uma construção IF ou - bastante mais simples - através do distribuidor SWITCH.
A instrução SWITCH é uma instrução de seleção para vários ramos de
programa. Um critério de seleção é definido por um determinado valor, antes da
instrução SWITCH. Se este valor corresponder a uma identificação de bloco, é
executado o respectivo ramo de programa e o programa salta para a instrução
ENDSWITCH, sem considerar as identificações de bloco seguintes. Se nenhuma
identificação de bloco corresponder ao critério de seleção, é executado um bloco
DEFAULT, caso exista. Caso contrário, continua--se com a instrução a seguir à
instrução ENDSWITCH.
É permitido atribuir a um ramo de programa várias identificações de bloco. Ao
contrário, não faz sentido utilizar uma identificação de bloco várias vezes, uma vez
que é sempre considerado apenas o primeiro ramo de programa que tem a
respectiva identificação.

84
Os tipos de dados admissíveis do critério de seleção são INT, CHAR e
ENUM. O tipo de dados do critério de dados terá de corresponder ao da identificação
de bloco.
A instrução DEFAULT pode faltar, mas numa instrução SWITCH poderá ser
incluída apenas uma vez.
Com a instrução SWITCH poderão ser ativados, p.ex., vários subprogramas,
em função de um número de programa. O número de programa poderá ser enviado,
p.ex., pelo PLC às entradas digitais da KR C1 Assim, este encontra--se à disposição
como critério de seleção, na forma de um valor INTEIRO.

DEF MAIN( )

SIGNAL PROG_NR $IN[1] TO $IN[4]


;Na variável INT Nº_PROG o PLC introduz agora
;o número de programa pretendido

SWITCH PROG_NR
CASE 1 ;se Nº_PROG=1
TEIL_1( )
CASE 2 ;se Nº_PROG=2
TEIL_2 ( )
TEIL_2A( )
CASE 3,4,5 ;se Nº_PROG=3, 4 ou 5
$OUT[3]=TRUE
TEIL_345( )
DEFAULT ;se Nº_PROG<>1,2,3,4 ou 5
ERROR_UP( )
ENDSWITCH

END

85
3. 13 LOOP DE CONTAGEM (FOR)

Os loops de contagem são executados até uma variável de contagem


ultrapassar ou não atingir um determinado valor final, contando para baixo ou para
cima. Para esse efeito, existe em KRL a instrução FOR.

FOR contador = start TO fim STEP largura de passos


instruções
ENDFOR

Poderá ser programado, com bastante clareza, um determinado número de


passagens. Como o valor de início e valor do fim do contador e que indique sempre
uma expressão do tipo INTEIRO. As expressões são avaliadas uma vez antes do
início do loop. A variável INT contador (tem de ser declarada antes) é predefinida
com um valor inicial, e depois de cada loop é aumentada ou reduzida pela largura de
passo.
A largura de passos não pode ser uma variável e não pode ser zero. Se a
largura de passos não estiver indicada, ela tem o valor padrão 1. Para a largura de
passos são também permitidos valores negativos.
Para cada instrução FOR terá de haver uma instrução ENDFOR. Depois de
terminar o último loop, o programa é continuado com a primeira instrução que se
segue a ENDFOR.
O valor do contador poderá ser utilizado, tanto fora como dentro do loop.
Dentro dos loops, o valor do contador serve p.ex., como índex atual para a edição de
campos. Depois de sair do loop, o contador fica com o último valor adotado (portanto
fim+largura de passos).

DEF ( )
INT CONT ; declaração da variável CONT
INI
CONT = 0 ; atribuição do valor zero à variável CONT
FOR CONT = 1 TO 5
PTP {A1 45}
PTP {A2 -70,A3 50}
PTP {A1 0,A2 -90,A3 90}
ENDFOR
END

86
3. 14 LOOP DE REJEIÇÃO (WHILE)

O loop WHILE procura no início da repetição uma condição de repetição. Este


loop é um loop de rejeição porque não é percorrido vez nenhuma, se a condição de
execução não estiver já preenchida desde o início. A sintaxe do loop WHILE é:

WHILE condição de execução


instruções
ENDWHILE

A condição de execução é uma expressão lógica que poderá ser uma variável
booleana, uma ativação de função booleana ou uma combinação lógica com um
resultado booleano.
O bloco de instruções é executado, desde que a condição lógica tenha o valor
TRUE, ou seja, desde que a condição de execução esteja cumprida. Quando a
condição lógica tem o valor FALSE, o programa continua com a instrução que se
segue a ENDWHILE. Por isso, cada instrução WHILE terá de ser terminada com
uma instrução ENDWHILE.
A utilização de WHILE é explicada no exemplo:

X = 1
W = 1
WHILE W < 5
;percorrido enquanto W é MENOR que 5
X =X *W
W =W + 1
ENDWHILE

87
3.15 LOOP DE NÃO REJEIÇÃO (REPEAT)

O oposto do loop WHILE é o loop REPEAT. Com REPEAT é procurada uma


condição de cancelamento, apenas no fim do loop. Assim, os loops REPEAT são
percorridos, em qualquer dos casos, uma vez, mesmo quando a condição de
cancelamento já se verifica antes de iniciar o loop.
REPEAT
Instruções
UNTIL condição de cancelamento

A condição de cancelamento é, analogamente à condição de execução do


loop WHILE, uma expressão lógica que poderá ser uma variável booleana, uma
ativação de função booleana ou uma combinação lógica com um resultado
booleano:

INT W
REPEAT
PTP PALETTE
$OUT[2]=TRUE
PTP POS_2
$OUT[2]=FALSE
PTP HOME
UNTIL $IN[4] == TRUE ;percorrido até ser ativada a entrada 4

88
3.16 LOOP INFINITO (LOOP)

Com a instrução LOOP podem ser programados loops infinitos:

LOOP
Instruções
ENDLOOP

A execução repetida do bloco de instruções só poderá ser terminada através


da instrução EXIT.
Qualquer loop poderá ser terminado antes do tempo, através de uma
instrução EXIT.
Ao ativar o EXIT dentro de um bloco de execução do loop, os percursos
através dos loops são terminados de imediato, e o programa continua a seguir à
instrução de loop.
Se as condições de cancelamento ou execução forem escolhidas com perícia,
a instrução EXIT nos loops REPEAT ou WHILE geralmente não é necessária. Para o
loop infinito, EXIT representa, no entanto, a única hipótese de terminar os loops.
Veja o exemplo seguinte:

DEF EXIT_PRO( )
PTP HOME
LOOP
;Início do loop infinito
PTP POS_1
LIN POS_2
IF $IN[1] == TRUE THEN
EXIT
;Cancelamento, quando for ativada a entrada 1
ENDIF
CIRC HELP_1,POS_3
PTP POS_4
ENDLOOP
;Fim do loop infinito
PTP HOME
END

89
3.17 TEMPOS DE ESPERA (WAIT SEC)

A instrução WAIT SEC é utilizada para a programação de tempos de espera


em segundos:

WAIT SEC tempo

Tempo é uma expressão REAL aritmética, através da qual é indicado o


número de segundos, durante os quais a execução do programa deverá ser
interrompida. Se o valor for negativo, a espera não se realiza.
Exemplos:

WAIT SEC 17.542


WAIT SEC TEMPO*4+1

90
4 SUBPROGRAMAS E FUNÇÕES

Para reduzir o trabalho de escrita, quando se trata de seções de programa


idênticas que se repetem com freqüência, e também para reduzir a extensão do
programa, foram introduzidos subprogramas e funções como construções de
linguagem.
O efeito dos subprogramas e das funções que se faz sentir em programas
mais extensos é considerável, uma vez que proporcionam a possibilidade de utilizar
os algoritmos uma vez escritos em outros programas e, sobretudo, a utilização dos
subprogramas na estruturação do programa. Esta estruturação poderá dar origem a
uma construção hierárquica, de modo a que os vários subprogramas, ativados por
um programa superior, podem executar tarefas parciais completas e fornecer os
resultados.

4.1 SUBPROGRAMA

Um subprograma ou uma função constituem uma seção separada do


programa, que dispõe de um cabeçalho de programa, uma seção de declaração e
uma seção de instrução e que poderá ser ativada a partir de um local qualquer do
programa principal. Depois da execução do subprograma ou da função realiza--se o
regresso à instrução que se encontra a seguir à ativação do subprograma.
A partir de um subprograma ou de uma função podem ser ativados outros
subprogramas e/ou funções. 19 programas constituem o máximo admissível para a
ativação sucessiva a partir de outros programas. Se este número for ultrapassado, é
emitida a mensagem de erro “SOBRECARGA DE PROGRAMAS”. A ativação
recursiva de subprogramas ou funções não é permitida. Isto significa que um
subprograma ou uma função não podem ativar--se novamente a si próprios.
Tal como os programas principais, são declarados também todos os
subprogramas através da declaração DEF mais o nome, terminando com END,
p.ex.:

91
4.2 FUNÇÕES

Uma função é uma espécie de subprograma, mas o nome do programa é,


simultaneamente, uma variável de um determinado tipo de dados. Assim, o resultado
da função poderá ser transferido para uma variável, através de uma simples
atribuição do valor. Na declaração das funções através da palavra chave especial
DEFFCT, terá de ser indicado, além do nome da função, também o tipo de dados da
função. Uma função é terminada com ENDFCT. Uma vez que uma função pretende
transferir um valor, este valor terá de ser especificado através da instrução
RETURN, antes da instrução ENDFCT. Exemplo:

DEFFCT INT FUNÇÃO( )


INSTRUÇÕES
RETURN(X)
ENDFCT

EXEMPLO:

92
Há uma diferença substancial entre subprogramas ou funções locais e
globais. Nos subprogramas ou funções locais, o programa principal e os
subprogramas/funções encontram--se no mesmo ficheiro SRC. O ficheiro tem o
nome do programa principal. No texto de origem, o programa principal encontra--se
sempre em primeiro lugar, enquanto os subprogramas e funções se encontram a
seguir ao programa principal, apresentando qualquer seqüência e qualquer número.
Os subprogramas/funções locais só podem ser ativados dentro do ficheiro
SRC no qual foram programados. Caso as ativações de subprogramas/funções
devam ser possíveis também a partir de outros programas, estes terão de ser
globais. Os subprogramas ou funções globais são memorizados num ficheiro SRC
próprio. Assim, todos os programas ativados por outro programa (programa principal,
subprograma ou função) são subprogramas.

93
Nos programas ou funções locais, são conhecidas todas as variáveis
declaradas no programa principal, desde que não tenham sido declaradas com
o mesmo nome novamente no subprograma ou na função.

Nos subprogramas ou funções globais não são conhecidas as variáveis


declaradas no programa principal.

No programa principal não são conhecidas as variáveis declaradas nos


subprogramas ou funções.

Um programa principal não tem acesso a subprogramas ou funções locais de


outro programa principal.

O nome de subprogramas/funções locais pode ter um comprimento máximo de


12 caracteres. Nos subprogramas/funções globais, o nome pode ter um
comprimento máximo de 8 caracteres (devido às extensões do ficheiro).

DIFERENÇA ENTRE SUB-PROGRAMA E FUNÇAO LOCAL E GLOBAL

94
4.3 ATIVAÇÃO E TRANSFERÊNCIA DE PARÂMETROS

95
96
EXEMPLO:

97
REFERÊNCIAS BIBLIOGRÁFICAS

PAZOS, Fernando. Automação de sistemas & robótica. Rio de Janeiro: Axcel


Books, 2002.

KUKA Robot GmbH. Programação avançada de robôs. Augsburg, 2006.

KUKA Robot Group. Manual de instruções operação e programação. Augsburg,


2006.

ROMANO, Vitor Ferreira. Robótica industrial: Aplicação na indústria de


manufatura e de processos. São Paulo: Edgard Blücher, 2002.

ROSÁRIO, João Maurício. Princípios de mecatrônica. São Paulo: Prentice-Hall,


2005.

SENAI Almirante Tamandaré. Introdução a robótica. São Paulo, SENAI-SP, 2005.

98

Você também pode gostar