SlideShare uma empresa Scribd logo
1 de 98
Baixar para ler offline
ROBÓTICA
5ª REVISÃO
2018
2
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
3
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
4
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
5
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
6
CAPÍTULO 1 – ROBÓTICA INDUSTRIAL
7
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
8
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.
9
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.
10
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.
11
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.
12
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ô.
13
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.).
14
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;
15
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.
16
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.
17
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...).
18
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
19
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.
20
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.
21
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.
22
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.
23
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.
24
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.
25
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.
26
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.
27
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.
28
CAPÍTULO 2 – MODO DE AJUSTAGEM
29
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ô.
30
Visão traseira
31
2 PAINEL DE OPERAÇÃO KUKA.IHM
Statuskeys, menukeys, softkeys
32
Janela de superfície operacional
33
Barra de estado
34
3 SISTEMAS DE COORDENADAS
35
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.
36
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.
37
Movimentando o robô
38
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:
39
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;
40
41
42
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.
43
MEDIÇÃO DA FERRAMENTA
44
MÉTODO DE MEDIÇÃO DA FERRAMENTA
45
46
5.3 ORIENTAÇÃO DA FERRAMENTA
47
48
5.4 DADOS DE CARGA DA FERRAMENTA
49
50
51
5.5 MEDIÇÃO DE BASE
52
53
CAPÍTULO 3 – MODO DE PROGRAMAÇÃO BÁSICA
54
1 ESTRUTURA DE PROGRAMAÇÃO
Gestor de pastas do navegador
1.1 ESTRUTURA DE UM PROGRAMA KRL
55
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;
56
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.
57
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.
58
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
59
FIGURA DO DESLOCAMENTO DO MOVIMENTO PTP
Janela de opções para os parâmetros de movimento (movimento PTP)
60
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
61
62
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.
63
Formulário In line de movimento CIRC
64
FIGURA DO DESLOCAMENTO DO MOVIMENTO CIRC
Janela de opções dos parâmetros de movimento (LIN E CIRC)
65
66
2.4 MODIFICAR PONTO PROGRAMADO
67
2.5 APROXIMAÇÃO
68
69
3 INSTRUÇÕES LÓGICAS
70
3.1 INSTRUÇÃO OUT
71
3.2 INSTRUÇÃO PULSE
72
3.3 INSTRUÇÃO ANOUT
73
74
3.4 INSTRUÇÃO WAIT
75
3.5 INSTRUÇÃO WAITFOR
76
CAPÍTULO 4 – PROGRAMAÇÃO AVANÇADA
77
1 METODOLOGIA DA PROGRAMAÇÃO AVANÇADA
78
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
79
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.
80
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
81
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).
82
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
83
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.
84
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.
85
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
86
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
87
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
88
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
89
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
90
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
91
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.:
92
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:
93
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.
94
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
95
4.3 ATIVAÇÃO E TRANSFERÊNCIA DE PARÂMETROS
96
97
EXEMPLO:
98
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.

Mais conteúdo relacionado

Semelhante a Robotica 5a-revisao-2018-apostila-desenvolvida-exclusivamente-para-a-disciplina-de-robotica-do-curso-tecnico-em-mecatronica-do-centro-de-formacao-profissional-senai-volkswagen-autor-prof

Dream weaver 8
Dream weaver 8Dream weaver 8
Dream weaver 8
luizgcruz
 
Manual de bombas seção 4.4
Manual de bombas seção 4.4Manual de bombas seção 4.4
Manual de bombas seção 4.4
Grundfos Brasil
 
Manual de bombas seção 4.5
Manual de bombas seção 4.5Manual de bombas seção 4.5
Manual de bombas seção 4.5
Grundfos Brasil
 
Manual de bombas hidráulicas seções 4.2.1 a 4.2.4
Manual de bombas hidráulicas   seções 4.2.1 a 4.2.4Manual de bombas hidráulicas   seções 4.2.1 a 4.2.4
Manual de bombas hidráulicas seções 4.2.1 a 4.2.4
Grundfos Brasil
 
Manual de bombas cap.5 equação
Manual de bombas cap.5 equaçãoManual de bombas cap.5 equação
Manual de bombas cap.5 equação
Grundfos Brasil
 
Manual de bombas seção 4.4
Manual de bombas seção 4.4Manual de bombas seção 4.4
Manual de bombas seção 4.4
Grundfos Brasil
 
Manual de bombas exemplo lcc
Manual de bombas   exemplo lccManual de bombas   exemplo lcc
Manual de bombas exemplo lcc
Grundfos Brasil
 
Manual de bombas apendice a
Manual de bombas apendice aManual de bombas apendice a
Manual de bombas apendice a
Grundfos Brasil
 
Manual de bombas hidráulicas seção 4.3
Manual de bombas hidráulicas seção 4.3Manual de bombas hidráulicas seção 4.3
Manual de bombas hidráulicas seção 4.3
Grundfos Brasil
 
Manual de bombas elementos da formula lcc
Manual de bombas   elementos da formula lccManual de bombas   elementos da formula lcc
Manual de bombas elementos da formula lcc
Grundfos Brasil
 
Plano Estratégico dos Transportes Mobilidades Sustentável
Plano Estratégico dos Transportes Mobilidades Sustentável Plano Estratégico dos Transportes Mobilidades Sustentável
Plano Estratégico dos Transportes Mobilidades Sustentável
Cláudio Carneiro
 

Semelhante a Robotica 5a-revisao-2018-apostila-desenvolvida-exclusivamente-para-a-disciplina-de-robotica-do-curso-tecnico-em-mecatronica-do-centro-de-formacao-profissional-senai-volkswagen-autor-prof (20)

Calculo i
Calculo iCalculo i
Calculo i
 
Cinematica de robôs
Cinematica de robôsCinematica de robôs
Cinematica de robôs
 
Robótica
RobóticaRobótica
Robótica
 
Dream weaver 8
Dream weaver 8Dream weaver 8
Dream weaver 8
 
Manual de bombas seção 4.4
Manual de bombas seção 4.4Manual de bombas seção 4.4
Manual de bombas seção 4.4
 
Manual de bombas seção 4.5
Manual de bombas seção 4.5Manual de bombas seção 4.5
Manual de bombas seção 4.5
 
Manual de bombas hidráulicas seções 4.2.1 a 4.2.4
Manual de bombas hidráulicas   seções 4.2.1 a 4.2.4Manual de bombas hidráulicas   seções 4.2.1 a 4.2.4
Manual de bombas hidráulicas seções 4.2.1 a 4.2.4
 
Manual de bombas cap.5 equação
Manual de bombas cap.5 equaçãoManual de bombas cap.5 equação
Manual de bombas cap.5 equação
 
Manual de bombas seção 4.4
Manual de bombas seção 4.4Manual de bombas seção 4.4
Manual de bombas seção 4.4
 
Manual de bombas exemplo lcc
Manual de bombas   exemplo lccManual de bombas   exemplo lcc
Manual de bombas exemplo lcc
 
Manual de bombas apendice a
Manual de bombas apendice aManual de bombas apendice a
Manual de bombas apendice a
 
Manual de bombas hidráulicas seção 4.3
Manual de bombas hidráulicas seção 4.3Manual de bombas hidráulicas seção 4.3
Manual de bombas hidráulicas seção 4.3
 
Manual de bombas elementos da formula lcc
Manual de bombas   elementos da formula lccManual de bombas   elementos da formula lcc
Manual de bombas elementos da formula lcc
 
Introducao a ergonomia vidal ceserg
Introducao a ergonomia vidal cesergIntroducao a ergonomia vidal ceserg
Introducao a ergonomia vidal ceserg
 
Robotica apostila
Robotica apostilaRobotica apostila
Robotica apostila
 
Apostila de robotica
Apostila de roboticaApostila de robotica
Apostila de robotica
 
Monografia - Peixe Robô
Monografia - Peixe RobôMonografia - Peixe Robô
Monografia - Peixe Robô
 
27569 ubi
27569 ubi27569 ubi
27569 ubi
 
Trabalho robotica pedro fernandes UBI
Trabalho robotica pedro fernandes UBI Trabalho robotica pedro fernandes UBI
Trabalho robotica pedro fernandes UBI
 
Plano Estratégico dos Transportes Mobilidades Sustentável
Plano Estratégico dos Transportes Mobilidades Sustentável Plano Estratégico dos Transportes Mobilidades Sustentável
Plano Estratégico dos Transportes Mobilidades Sustentável
 

Mais de Edson Silva

0d6b874a f491-11e8-9be7-6cae8b4eb554.data
0d6b874a f491-11e8-9be7-6cae8b4eb554.data0d6b874a f491-11e8-9be7-6cae8b4eb554.data
0d6b874a f491-11e8-9be7-6cae8b4eb554.data
Edson Silva
 
0cbc4834 8e89-4034-902d-8b430f6761ef.data
0cbc4834 8e89-4034-902d-8b430f6761ef.data0cbc4834 8e89-4034-902d-8b430f6761ef.data
0cbc4834 8e89-4034-902d-8b430f6761ef.data
Edson Silva
 
0c439902 630e-11e7-b4fe-6cae8b4eb554.data
0c439902 630e-11e7-b4fe-6cae8b4eb554.data0c439902 630e-11e7-b4fe-6cae8b4eb554.data
0c439902 630e-11e7-b4fe-6cae8b4eb554.data
Edson Silva
 
0c13ca75 8cb1-11e7-973d-6cae8b4eb554.data
0c13ca75 8cb1-11e7-973d-6cae8b4eb554.data0c13ca75 8cb1-11e7-973d-6cae8b4eb554.data
0c13ca75 8cb1-11e7-973d-6cae8b4eb554.data
Edson Silva
 
0bc16564 4464-11e8-adfa-6cae8b4eb554.data
0bc16564 4464-11e8-adfa-6cae8b4eb554.data0bc16564 4464-11e8-adfa-6cae8b4eb554.data
0bc16564 4464-11e8-adfa-6cae8b4eb554.data
Edson Silva
 
0b35553a f441-11e6-87bc-6cae8b4eb554.data
0b35553a f441-11e6-87bc-6cae8b4eb554.data0b35553a f441-11e6-87bc-6cae8b4eb554.data
0b35553a f441-11e6-87bc-6cae8b4eb554.data
Edson Silva
 
0b3b7b0c 483c-11e6-9f89-6cae8b4eb554.data
0b3b7b0c 483c-11e6-9f89-6cae8b4eb554.data0b3b7b0c 483c-11e6-9f89-6cae8b4eb554.data
0b3b7b0c 483c-11e6-9f89-6cae8b4eb554.data
Edson Silva
 
0a356668 92cb-11e5-8eb4-6cae8b4eb554.data
0a356668 92cb-11e5-8eb4-6cae8b4eb554.data0a356668 92cb-11e5-8eb4-6cae8b4eb554.data
0a356668 92cb-11e5-8eb4-6cae8b4eb554.data
Edson Silva
 
0a906efb 706e-11e8-91a7-6cae8b4eb554.data
0a906efb 706e-11e8-91a7-6cae8b4eb554.data0a906efb 706e-11e8-91a7-6cae8b4eb554.data
0a906efb 706e-11e8-91a7-6cae8b4eb554.data
Edson Silva
 
0a9ae367 319f-11e8-adfa-6cae8b4eb554.data
0a9ae367 319f-11e8-adfa-6cae8b4eb554.data0a9ae367 319f-11e8-adfa-6cae8b4eb554.data
0a9ae367 319f-11e8-adfa-6cae8b4eb554.data
Edson Silva
 
0a009a5d f72d-11e5-ad59-6cae8b4eb554.data
0a009a5d f72d-11e5-ad59-6cae8b4eb554.data0a009a5d f72d-11e5-ad59-6cae8b4eb554.data
0a009a5d f72d-11e5-ad59-6cae8b4eb554.data
Edson Silva
 
0a6dca9a 59df-11e8-91a7-6cae8b4eb554.data
0a6dca9a 59df-11e8-91a7-6cae8b4eb554.data0a6dca9a 59df-11e8-91a7-6cae8b4eb554.data
0a6dca9a 59df-11e8-91a7-6cae8b4eb554.data
Edson Silva
 
0a5ad0ee c2e3-11e7-9dec-6cae8b4eb554.data
0a5ad0ee c2e3-11e7-9dec-6cae8b4eb554.data0a5ad0ee c2e3-11e7-9dec-6cae8b4eb554.data
0a5ad0ee c2e3-11e7-9dec-6cae8b4eb554.data
Edson Silva
 
0a5a3124 4703-11e8-adfa-6cae8b4eb554.data
0a5a3124 4703-11e8-adfa-6cae8b4eb554.data0a5a3124 4703-11e8-adfa-6cae8b4eb554.data
0a5a3124 4703-11e8-adfa-6cae8b4eb554.data
Edson Silva
 
0a3d108a f490-11e8-9be7-6cae8b4eb554.data
0a3d108a f490-11e8-9be7-6cae8b4eb554.data0a3d108a f490-11e8-9be7-6cae8b4eb554.data
0a3d108a f490-11e8-9be7-6cae8b4eb554.data
Edson Silva
 
00fba0c9 1870-11e8-a72c-6cae8b4eb554.data
00fba0c9 1870-11e8-a72c-6cae8b4eb554.data00fba0c9 1870-11e8-a72c-6cae8b4eb554.data
00fba0c9 1870-11e8-a72c-6cae8b4eb554.data
Edson Silva
 
00f3eb1d 5795-11e8-91a7-6cae8b4eb554.data
00f3eb1d 5795-11e8-91a7-6cae8b4eb554.data00f3eb1d 5795-11e8-91a7-6cae8b4eb554.data
00f3eb1d 5795-11e8-91a7-6cae8b4eb554.data
Edson Silva
 
00e2570d 9642-11e8-91a7-6cae8b4eb554.data
00e2570d 9642-11e8-91a7-6cae8b4eb554.data00e2570d 9642-11e8-91a7-6cae8b4eb554.data
00e2570d 9642-11e8-91a7-6cae8b4eb554.data
Edson Silva
 
00e6cf47 d8f1-11e8-a5a4-6cae8b4eb554.data
00e6cf47 d8f1-11e8-a5a4-6cae8b4eb554.data00e6cf47 d8f1-11e8-a5a4-6cae8b4eb554.data
00e6cf47 d8f1-11e8-a5a4-6cae8b4eb554.data
Edson Silva
 
00c94250 000a-11e6-ad59-6cae8b4eb554.data
00c94250 000a-11e6-ad59-6cae8b4eb554.data00c94250 000a-11e6-ad59-6cae8b4eb554.data
00c94250 000a-11e6-ad59-6cae8b4eb554.data
Edson Silva
 

Mais de Edson Silva (20)

0d6b874a f491-11e8-9be7-6cae8b4eb554.data
0d6b874a f491-11e8-9be7-6cae8b4eb554.data0d6b874a f491-11e8-9be7-6cae8b4eb554.data
0d6b874a f491-11e8-9be7-6cae8b4eb554.data
 
0cbc4834 8e89-4034-902d-8b430f6761ef.data
0cbc4834 8e89-4034-902d-8b430f6761ef.data0cbc4834 8e89-4034-902d-8b430f6761ef.data
0cbc4834 8e89-4034-902d-8b430f6761ef.data
 
0c439902 630e-11e7-b4fe-6cae8b4eb554.data
0c439902 630e-11e7-b4fe-6cae8b4eb554.data0c439902 630e-11e7-b4fe-6cae8b4eb554.data
0c439902 630e-11e7-b4fe-6cae8b4eb554.data
 
0c13ca75 8cb1-11e7-973d-6cae8b4eb554.data
0c13ca75 8cb1-11e7-973d-6cae8b4eb554.data0c13ca75 8cb1-11e7-973d-6cae8b4eb554.data
0c13ca75 8cb1-11e7-973d-6cae8b4eb554.data
 
0bc16564 4464-11e8-adfa-6cae8b4eb554.data
0bc16564 4464-11e8-adfa-6cae8b4eb554.data0bc16564 4464-11e8-adfa-6cae8b4eb554.data
0bc16564 4464-11e8-adfa-6cae8b4eb554.data
 
0b35553a f441-11e6-87bc-6cae8b4eb554.data
0b35553a f441-11e6-87bc-6cae8b4eb554.data0b35553a f441-11e6-87bc-6cae8b4eb554.data
0b35553a f441-11e6-87bc-6cae8b4eb554.data
 
0b3b7b0c 483c-11e6-9f89-6cae8b4eb554.data
0b3b7b0c 483c-11e6-9f89-6cae8b4eb554.data0b3b7b0c 483c-11e6-9f89-6cae8b4eb554.data
0b3b7b0c 483c-11e6-9f89-6cae8b4eb554.data
 
0a356668 92cb-11e5-8eb4-6cae8b4eb554.data
0a356668 92cb-11e5-8eb4-6cae8b4eb554.data0a356668 92cb-11e5-8eb4-6cae8b4eb554.data
0a356668 92cb-11e5-8eb4-6cae8b4eb554.data
 
0a906efb 706e-11e8-91a7-6cae8b4eb554.data
0a906efb 706e-11e8-91a7-6cae8b4eb554.data0a906efb 706e-11e8-91a7-6cae8b4eb554.data
0a906efb 706e-11e8-91a7-6cae8b4eb554.data
 
0a9ae367 319f-11e8-adfa-6cae8b4eb554.data
0a9ae367 319f-11e8-adfa-6cae8b4eb554.data0a9ae367 319f-11e8-adfa-6cae8b4eb554.data
0a9ae367 319f-11e8-adfa-6cae8b4eb554.data
 
0a009a5d f72d-11e5-ad59-6cae8b4eb554.data
0a009a5d f72d-11e5-ad59-6cae8b4eb554.data0a009a5d f72d-11e5-ad59-6cae8b4eb554.data
0a009a5d f72d-11e5-ad59-6cae8b4eb554.data
 
0a6dca9a 59df-11e8-91a7-6cae8b4eb554.data
0a6dca9a 59df-11e8-91a7-6cae8b4eb554.data0a6dca9a 59df-11e8-91a7-6cae8b4eb554.data
0a6dca9a 59df-11e8-91a7-6cae8b4eb554.data
 
0a5ad0ee c2e3-11e7-9dec-6cae8b4eb554.data
0a5ad0ee c2e3-11e7-9dec-6cae8b4eb554.data0a5ad0ee c2e3-11e7-9dec-6cae8b4eb554.data
0a5ad0ee c2e3-11e7-9dec-6cae8b4eb554.data
 
0a5a3124 4703-11e8-adfa-6cae8b4eb554.data
0a5a3124 4703-11e8-adfa-6cae8b4eb554.data0a5a3124 4703-11e8-adfa-6cae8b4eb554.data
0a5a3124 4703-11e8-adfa-6cae8b4eb554.data
 
0a3d108a f490-11e8-9be7-6cae8b4eb554.data
0a3d108a f490-11e8-9be7-6cae8b4eb554.data0a3d108a f490-11e8-9be7-6cae8b4eb554.data
0a3d108a f490-11e8-9be7-6cae8b4eb554.data
 
00fba0c9 1870-11e8-a72c-6cae8b4eb554.data
00fba0c9 1870-11e8-a72c-6cae8b4eb554.data00fba0c9 1870-11e8-a72c-6cae8b4eb554.data
00fba0c9 1870-11e8-a72c-6cae8b4eb554.data
 
00f3eb1d 5795-11e8-91a7-6cae8b4eb554.data
00f3eb1d 5795-11e8-91a7-6cae8b4eb554.data00f3eb1d 5795-11e8-91a7-6cae8b4eb554.data
00f3eb1d 5795-11e8-91a7-6cae8b4eb554.data
 
00e2570d 9642-11e8-91a7-6cae8b4eb554.data
00e2570d 9642-11e8-91a7-6cae8b4eb554.data00e2570d 9642-11e8-91a7-6cae8b4eb554.data
00e2570d 9642-11e8-91a7-6cae8b4eb554.data
 
00e6cf47 d8f1-11e8-a5a4-6cae8b4eb554.data
00e6cf47 d8f1-11e8-a5a4-6cae8b4eb554.data00e6cf47 d8f1-11e8-a5a4-6cae8b4eb554.data
00e6cf47 d8f1-11e8-a5a4-6cae8b4eb554.data
 
00c94250 000a-11e6-ad59-6cae8b4eb554.data
00c94250 000a-11e6-ad59-6cae8b4eb554.data00c94250 000a-11e6-ad59-6cae8b4eb554.data
00c94250 000a-11e6-ad59-6cae8b4eb554.data
 

Último

apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
rosenilrucks
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
LeloIurk1
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
FabianeMartins35
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
AntonioVieira539017
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
LeloIurk1
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
RavenaSales1
 

Último (20)

COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Antero de Quental, sua vida e sua escrita
Antero de Quental, sua vida e sua escritaAntero de Quental, sua vida e sua escrita
Antero de Quental, sua vida e sua escrita
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptxProjeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
Projeto Nós propomos! Sertã, 2024 - Chupetas Eletrónicas.pptx
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 

Robotica 5a-revisao-2018-apostila-desenvolvida-exclusivamente-para-a-disciplina-de-robotica-do-curso-tecnico-em-mecatronica-do-centro-de-formacao-profissional-senai-volkswagen-autor-prof

  • 2. 2 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
  • 3. 3 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
  • 4. 4 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
  • 5. 5 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
  • 6. 6 CAPÍTULO 1 – ROBÓTICA INDUSTRIAL
  • 7. 7 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
  • 8. 8 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.
  • 9. 9 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.
  • 10. 10 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.
  • 11. 11 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.
  • 12. 12 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ô.
  • 13. 13 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.).
  • 14. 14 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;
  • 15. 15 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.
  • 16. 16 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.
  • 17. 17 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...).
  • 18. 18 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
  • 19. 19 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.
  • 20. 20 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.
  • 21. 21 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.
  • 22. 22 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.
  • 23. 23 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.
  • 24. 24 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.
  • 25. 25 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.
  • 26. 26 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.
  • 27. 27 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.
  • 28. 28 CAPÍTULO 2 – MODO DE AJUSTAGEM
  • 29. 29 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ô.
  • 31. 31 2 PAINEL DE OPERAÇÃO KUKA.IHM Statuskeys, menukeys, softkeys
  • 34. 34 3 SISTEMAS DE COORDENADAS
  • 35. 35 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.
  • 36. 36 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.
  • 38. 38 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:
  • 39. 39 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;
  • 40. 40
  • 41. 41
  • 42. 42 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.
  • 44. 44 MÉTODO DE MEDIÇÃO DA FERRAMENTA
  • 45. 45
  • 47. 47
  • 48. 48 5.4 DADOS DE CARGA DA FERRAMENTA
  • 49. 49
  • 50. 50
  • 52. 52
  • 53. 53 CAPÍTULO 3 – MODO DE PROGRAMAÇÃO BÁSICA
  • 54. 54 1 ESTRUTURA DE PROGRAMAÇÃO Gestor de pastas do navegador 1.1 ESTRUTURA DE UM PROGRAMA KRL
  • 55. 55 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;
  • 56. 56 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.
  • 57. 57 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.
  • 58. 58 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
  • 59. 59 FIGURA DO DESLOCAMENTO DO MOVIMENTO PTP Janela de opções para os parâmetros de movimento (movimento PTP)
  • 60. 60 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
  • 61. 61
  • 62. 62 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.
  • 63. 63 Formulário In line de movimento CIRC
  • 64. 64 FIGURA DO DESLOCAMENTO DO MOVIMENTO CIRC Janela de opções dos parâmetros de movimento (LIN E CIRC)
  • 65. 65
  • 68. 68
  • 73. 73
  • 76. 76 CAPÍTULO 4 – PROGRAMAÇÃO AVANÇADA
  • 77. 77 1 METODOLOGIA DA PROGRAMAÇÃO AVANÇADA
  • 78. 78 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
  • 79. 79 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.
  • 80. 80 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
  • 81. 81 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).
  • 82. 82 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
  • 83. 83 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.
  • 84. 84 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.
  • 85. 85 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
  • 86. 86 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
  • 87. 87 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
  • 88. 88 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
  • 89. 89 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
  • 90. 90 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
  • 91. 91 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.:
  • 92. 92 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:
  • 93. 93 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.
  • 94. 94 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
  • 95. 95 4.3 ATIVAÇÃO E TRANSFERÊNCIA DE PARÂMETROS
  • 96. 96
  • 98. 98 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.