Você está na página 1de 211

Treinamento Básico de Robôs C5G

TP5

Anderson Bezerra
Engenharia de Manutenção

Betim
01 de janeiro de 2021
 Introdução à robótica

 Descrição e Funcionamento da Unidade


de Controle
 Descrição da comunicação entre o
Controlador e outros dispositivos
 Descrição do Teach Pendant
 Modos de operação do sistema
 Turn-set e Calibração
 Cálculo de TOOL e FRAME
 Movimentação do robô em modo
manual
 Introdução ao ambiente de
programação
 Descrição da estrutura de programação
básica
 Controle de movimento
 Criação de programas de movimento
 Trabalhando com programas
 Geração e restauração de BACKUP
2
Introdução à Robótica

 Precauções de segurança
 Relação homem x robô
 Robô industrial
 Tipos de robô
 Principais modelos
 Outros produtos
 Inovações Comau

3
INTRODUÇÃO À ROBÓTICA - Precauções de segurança.

 O integrador do sistema é responsável por garantir que o Sistema (Robô e Controlador) sejam
instalados e manuseados de acordo com as Normas de Segurança em vigor no país em que a
instalação ocorre.
 A COMAU declina qualquer responsabilidade por acidentes causados devido ao uso incorreto ou
impróprio do sistema (Robô e Controlador), por adulterações de circuitos, componentes ou
software, ou o uso de peças de reposição que não estão incluídas na lista de peças de reposição
da COMAU.
 A não observância das Normas de Segurança podem causar lesões aos operadores e danificar os
equipamentos.
 A instalação deve ser feita por pessoal qualificado e deve ser conforme todas as normas nacionais
e locais.
INTRODUÇÃO À ROBÓTICA - Precauções de segurança.

 NR-10: Norma regulamentadora que estabelece os requisitos e condições mínimas objetivando a


implementação de medidas de controle e sistemas preventivos, de forma a garantir a segurança e
a saúde dos trabalhadores que direta ou indiretamente, interajam com instalações elétricas e
serviços com eletricidade.
 É EXTREMAMENTE RECOMENDADO QUE SE FAÇA A LEITURA DO CAPÍTULO DO MANUAL
DO ROBÔ REFERENTE À SEGURANÇA ANTES DE INICIAR O TRABALHO SEM SUPERVISÃO.

5
INTRODUÇÃO À ROBÓTICA - Relação Homem x Robô.

 A flexibilidade do Robô se deve à suas características antropomórficas, isto é, semelhantes às do


homem.

 A característica androide mais evidente está no braço que, juntamente com a capacidade de ser
programado, faz dele um elemento ideal para desenvolver uma série de tarefas.

 Os movimentos do Robô podem ser divididos em movimentos do corpo, braço e movimentos do


punho.

6
INTRODUÇÃO À ROBÓTICA - Relação Homem x Robô.

7
INTRODUÇÃO À ROBÓTICA - Robô Industrial.

 O Robô industrial é um manipulador mecânico, programável e controlado por computador, que


contém diversos graus de liberdade e é capaz de executar uma diversidade de tarefas industriais.

 Também definido como uma unidade de deslocamento automático universalmente aplicável com
vários eixos, o Robô pode ser projetado para mover materiais, peças e ferramentas através de
movimentos variáveis e programados, sendo capaz de executar operações de manuseio e/ou
produção.

8
INTRODUÇÃO À ROBÓTICA - Principais Modelos.

SMART5 SIX SMART5 ARC4 SMART5 NS SMART5 NM

9
INTRODUÇÃO À ROBÓTICA - Principais Modelos.

SMART5 NJ SMART5 PAL SMART5 NJ4 SMART5 LASER

10
INTRODUÇÃO À ROBÓTICA - Outros Produtos.
Unidades de controle C5G e R1C-4.

11
INTRODUÇÃO À ROBÓTICA - Outros Produtos.
Terminais de Programação (TEACH PENDANT).

12
INTRODUÇÃO À ROBÓTICA - Outros Produtos.
Posicionadores.

13
INTRODUÇÃO À ROBÓTICA - Inovação COMAU.
Racer 3, Rebel Scara e Hollow Wrist.

14
INTRODUÇÃO À ROBÓTICA - Inovação COMAU.
AGV e AURA.

15
DESCRIÇÃO E FUNCIONAMENTO DA UNIDADE DE
CONTROLE.

 Unidade de Controle
 Ligar
 Desligar

16
DESCRIÇÃO E FUNCIONAMENTO DA UNIDADE DE CONTROLE -
Unidade de controle.

A Unidade de Controle do Robô C5G é um


equipamento industrial criado especificamente para o
controle do BRAÇO e é responsável por toda a
administração do sistema, potência e periféricos.

17
DESCRIÇÃO E FUNCIONAMENTO DA UNIDADE DE CONTROLE -
Unidade de controle.

 A: Arm Controller Electromechanical (ACE)

 B: CPU, Power Supplies and Power Modules

 C: Safety Distribution Module (SDM)

 D: Uninterruptible Power Supply (UPS)

 E: Operator Panel Devices (OPD)

 F: Connector Interface Panel (CIP)

18
INTRODUÇÃO À ROBÓTICA - Robô Industrial.

 Tensão de alimentação de 400 Vac -15% a 500 Vac + 10%,


controla robôs com até 16 eixos, podendo ser conectada através de interface de comunicação mais
comuns (USB, serial, Ethernet).
 Pode ser conectada através dos barramentos de campo mais comuns e protocolos de
comunicação (CanOpen, DeviceNet, Profibus-DP, EtherNet/IP, etc.)
 Pode ser um nó de rede Ethernet, para facilitar atualizações remotas e diagnósticos.
 Pode ser programada através do ‘Teach Pendant’ com tela colorida de 6,4” que pode ser wireless.
 Facilmente expansível através de módulos opcionais.
 Aceita programação off-line, na linguagem PDL2 adaptada para VB e Java.

19
DESCRIÇÃO E FUNCIONAMENTO DA UNIDADE DE CONTROLE –
Ligar.

Para ligar a unidade de controle siga os procedimentos abaixo:

 Feche a porta da unidade de controle do robô.


 Verifique se os seguintes cabos estão conectados:
• Cabo de alimentação
• Cabos X10 e X60 conectados ao robô
• Cabos dos dispositivos de segurança

Ligue o fornecimento de energia elétrica ligando o interruptor


principal (indicado na figura) em ON.

20
DESCRIÇÃO E FUNCIONAMENTO DA UNIDADE DE
CONTROLE – Desligar.
O sistema pode ser desligado movendo o interruptor principal para OFF.
Nesse caso, siga os procedimentos abaixo:

 Coloque o sistema em DRIVE OFF pelo ‘Teach


Pendant’(procedimento de shutdown)

 Coloque o interruptor principal em OFF

É EXTREMAMENTE RECOMENDADO SEGUIR O PROCEDIMENTO


DE DESLIGAMENTO DE SOFTWARE, PARA EVITAR O DESPERDÍCIO
DE CICLOS DA BATERIA, QUE CAUSAM REDUÇÃO DE SUA VIDA
ÚTIL.

Esperar pelo menos 20 segundos depois de ter desenergizado o


sistema antes de religá-lo à unidade de controle.
21
DESCRIÇÃO DA COMUNICAÇÃO ENTRE UNIDADE DE CONTROLE E
OUTROS DISPOSITIVOS.
Descrição da comunicação entre o controlador e outros dispositivos.

22
DESCRIÇÃO DA COMUNICAÇÃO ENTRE UNIDADE DE CONTROLE E
OUTROS DISPOSITIVOS.
 Descrição da comunicação entre o controlador e outros dispositivos.

POWERLINK
É UMA REDE ETHERNET INDUSTRIAL
USADA NOS ROBÔS C5G PARA
COMUNICAÇÃO COM A PPS8, IAM, BUS COUPLER
23
DESCRIÇÃO DA COMUNICAÇÃO ENTRE UNIDADE DE CONTROLE E
OUTROS DISPOSITIVOS.
 Descrição da comunicação entre o controlador e outros dispositivos

CANBUS
É UMA REDE INDUSTRIAL
USADA NOS ROBÔS C5G PARA
COMUNICAÇÃO COM A SDM

24
DESCRIÇÃO DA COMUNICAÇÃO ENTRE UNIDADE DE CONTROLE E
OUTROS DISPOSITIVOS.
Onde:
 A: Robô, dispositivos de posicionamento
e eixos auxiliares
 B: Linha
 C: Aplicação
 D: Programação e interface do usuário no PC

25
Descrição da DESCRIÇÃO DA INTERFACE DE
USUÁRIO TP5 – TEACH PENDANT.

26
Descrição da
DESCRIÇÃO DA
INTERFACE DE
USUÁRIO TP5 –
TEACH PENDANT.

 Apresentação
 Descrição da Interface
 Detalhamento da Interface

27
Apresentação da Interface de usuário TP5.
 O TP é a interface do operador com a Unidade de Controle.
 É usado para controlar manualmente os movimentos do robô,
programar, executar e modificar os movimentos passo a passo.
 Fornece funções de controle e monitoramento de sistema, incluindo
dispositivos de segurança e botão de parada de emergência.
 Possui design ergonômico, satisfatório para uso da mão direita ou
esquerda.
 O ‘Teach Pendant’ (exceto o wireless) é conectado ao sistema de controle
através da Ethernet e possui:
 LCD com luz de fundo LED TFT 7“ WVGA, 4096 cores, toque,
resolução 800 x 480.
 Seletor modal.
 Teclado, botões , LEDs e Porta USB (na parte superior direita).

28
Descrição da Interface de usuário TP5.

 1: Seletor modal.
 2: LEDs
 3: Botões
 4: Display
 5: Teclas azuis
 6: Outras teclas coloridas
 7: JPAD
 8: Teclas pretas e ‘JOG keys’

29
Detalhamento da Interface.
 Interruptor seletor modal.
Permite selecionar o modo de comando para a Unidade de Controle
• T1 - O operador do programa pode realizar sessões de edição, posições de ensino e verificar
corretamente os programas. O robô move-se a baixa velocidade, não mais do que 250 mm / s ao
centro da flange, ao ponto central da ferramenta (TCP) e a qualquer ferramenta externa. O
operador pode operar dentro da célula.
• AUTO - O operador pode verificar o funcionamento do programa na velocidade de trabalho,
ativando os comandos de início do TeachPendant. O operador não pode trabalhar dentro da célula.
• REMOTO - A execução do programa é controlada por equipamentos externos (por exemplo, PLC
de linha ou painéis de controle locais). O operador não pode trabalhar dentro da célula.

No caso da versão TP5 Europa, a chave seletora modal pode ser retirada em todas as posições.

30
Detalhamento da Interface.

As teclas azuis são divididas em teclas de funções, teclas de uso geral e teclas de navegação.
Teclas de funções:
As teclas de funções são usadas para ativar as teclas associadas aos diferentes menus.
Elas são divididas em:
 Chaves especiais.
 Chaves de uso geral.
 Teclas gerais de navegação.

31
Detalhamento da Interface.
 Chaves Especiais.
• MENU: Pressionar esta tecla permite acessar a página
principal contendo os ícones de todo o usuário
ambientes aviláveis.
• SPLIT: Pressionar a tecla SPLIT não produz nenhum
efeito. É reservado a futuras implementações, ao
pressionar as teclas SHIFT e SPLIT ao mesmo tempo, o
atual exibido a página é capturada.
• TOGGLE: Esta tecla permite mover o cursor entre os
painéis pertencentes ao atual ativo na tela TP.
• QUICK: Essa chave permite manipular "comandos
curtos" criados pelo usuário. Ao pressioná-lo, os
comandos curtos já existentes estão disponíveis e o
usuário é permitido criar novos.

32
Detalhamento da Interface.

 Chaves de uso geral.

• SHIFT: Sempre em combinação com outras chaves; o uso muda de


acordo com o ambiente e a função da chave que está associada.
• MORE: Quando as teclas do Menu Direto são mais de 6, a tecla MORE
permite a rolagem de todas. Eles são exibidos circularmente.

33
Detalhamento da Interface.

 Teclas gerais de navegação.

• ESC: Para voltar, excluindo a operação atual.


• ENTER: Para confirmar a operação atual.

• Teclas de cursor (para cima / baixo / direita / esquerda).

• Eles permitem mover-se entre os diferentes objetos na exibição


do TP; eles também podem ser usados em combinação com as
teclas SHIFT.

34
Detalhamento da Interface.
 Teclas pretas.

35
Detalhamento da Interface.
Essas chaves são dedicadas ao movimento do robô.

 BACK
Causa o movimento para trás, para a posição de
início do movimento atual, durante verificação
passo-a-passo de um programa.
 COORD
Seleciona o sistema de referência:
• JOINT
• UFRAME
• BASE
• TOOL
• WR-BASE, WR-TOOL, WR-UFRAME

36
Detalhamento da Interface.
 JOINT - Modo JOINT: As chaves são associadas a cada um dos eixos do braço
selecionado; quaisquer eixos auxiliares, se presentes, seguem os do braço.

 UFRAME - Modo de movimento linear, de acordo com o quadro de referência do usuário x,


y, z (por exemplo, o quadro da peça de trabalho usinada).

 BASE - Modo de movimento linear de acordo com o quadro de referência mundial x, y, z


(o quadro de referência da oficina).

 TOOL - Modo de movimento linear de acordo com o quadro de referência da ferramenta x,


y, z (ou quadro TCP).

 WR-BASE, WR-TOOL, WR-UFRAME - Se pressionado junto com a tecla SHIFT, a tecla


COORD permite passar entre os modos de movimento cartesiano (BASE, TOOL,USUÁRIO)
e pulso JNT (X, Y, Z e juntas dos eixos 4,5,6).

37
Detalhamento da Interface.
Essas chaves são dedicadas ao movimento do robô.
 ARM.
• Nos sistemas Multiarm, ele é usado para gerenciar o
índice do braço principal e do braço sincronizado, com
exibição subsequente na barra de status, exatamente na
mesma como entrando na página de movimento,
subpágina básica e modificando Arm \ SyncArm campo.
• Em DRIVE-OFF - Pressionando ARM aumenta no modo
circular o índice do braço principal, nunca alterando a
quantidade de braço na barra de status (se houver
apenas um braço, ele permanece um, se houver dois
braços, dois permanecem).
• Em DRIVE-ON - Pressionar ARM tem dois efeitos:
• se DRIVE-ON tiver ocorrido com apenas 1 braço
selecionado ($ TP_SYNC_ARM [2] = 0),O índice do
braço é incrementado, como em DRIVE-OFF;

38
Detalhamento da Interface.
• Se DRIVE-ON tiver ocorrido com 2 braços selecionados, a seleção é
invertida para o braço que será movido com teclas jog.

39
Detalhamento da Interface.
Essas chaves são dedicadas ao movimento do robô.

 %+/-
Eles podem ser usados ​para mudar o OVERRIDE.
Combinado com a tecla SHIFT, os seguintes valores podem
ser obtidos:
• - SHIFT -% -> 25%
• - SHIFT +% -> 100%

40
Detalhamento da Interface.
 JOG keys.
Essas chaves podem ser usadas para mover os eixos do robô. As chaves estão disponíveis para todos os eixos.
A Unidade de Controle pode manipular, ou seja, 1 a 10.

41
Detalhamento da Interface.
 JPAD.

42
Detalhamento da Interface.
 JPAD.

O grupo JPAD permite jogging referido à posição do USUÁRIO. Além disso:


• As duas teclas de seta à esquerda referem-se a movimentos ao longo do eixo z: para cima e
movimentos descendentes.
• As quatro teclas à direita são respectivamente para movimentos ao longo do eixo x (para cima
flecha e seta para baixo) e ao longo do eixo y (seta para a esquerda e seta para a direita). Os
movimentos ao longo do eixo x são para se afastar e para se aproximar do usuário; a os
movimentos ao longo do eixo y são para mover para a esquerda e para a direita, sempre se
referem ao usuário.

Essas chaves NÃO são permitidas nos seguintes casos:

• Quando um movimento cooperativo é ativo ou com ferramenta remota ou transportador.


• No eixo desabilitado.
• Quando uma tecla jog já está pressionada.

A posição do usuário pode ser configurada na subpágina avançada da página de movimento.

43
Detalhamento da Interface.
 Outras teclas de cores.

• RESET (branca).
Pressionar esta tecla permite redefinir o estado de ALARME; no caso do alarme ter sido causada no nível dos
dispositivos de segurança (por exemplo: botão de cogumelo TP5, botão de cogumelo externo, barreira de linha
automática, etc.), o alarme não é excluído até que a causa tenha sido removida. O LED vermelho
correspondente está associado à tecla RESET.

44
Detalhamento da Interface.
 Outras teclas de cores.
• HOLD (Amarelo).

Pressionar esta tecla faz com que todos os programas HOLDable e todos os movimentos do ARM para
ser parado. Na próxima pressão, o estado HOLD é removido.

• START (Verde).

No modo PROGR, ele é usado para executar a instrução atual (de qualquer edição / depuração
ambiente ou comando EXECUTE) durante todo o tempo em que é mantida pressionada. No modo
LOCAL, executa os programas de movimento que estão em estado PRONTO, aguardando isso chave
para ser pressionada.

45
Detalhamento da Interface.
 Teclas para reiniciar o Teach Pendant.

Se o TeachPendant ficar trancado em uma condição de qual autônomo. A reabilitação não é possível,
ou, em qualquer caso, um reinício é necessário por outros motivos, pressione simultaneamente os
quatro botões 7+, 8+, 9+ e 10+.

46
Detalhamento da Interface.
 Botões e LEDs.
• Botão de parada de emergência.

Na face frontal do TeachPendant, na posição superior direita, há o botão de parada de emergência; os


modos operacionais são os seguintes:
• Ativar pressionando.
• Soltar por aparafusar (sentido horário).

Com esta pressão do botão, a parada do robô ocorre com uma desaceleração controlada
rampa, de acordo com IEC 60204-1, classe 1.

47
Detalhamento da Interface.
 Dispositivo habilitador.

• Na parte traseira do TeachPendant existem dois botões que funcionam como o Dispositivo
habilitador. Eles estão inclinados em relação ao plano TeachPendant, para permitir que o polegar
facilmente chegar às teclas da frente.

O botão direito e o botão esquerdo operam exatamente da mesma maneira.


• Cada um destes é um dispositivo de segurança de três posições que deve ser mantido pressionado
no posição intermediária, para permitir movimentos quando o sistema está no modo de
programação. Quando este botão é pressionado, os motores são ativados automaticamente
(DRIVE ON).

48
Detalhamento da Interface.
 Dispositivo habilitador.
O tipo de operação para cada um deles é o seguinte:
• Liberado - Drive OFF.
• Pressão intermediária - Drive ON.
• Totalmente pressionado - Drive OFF (anti-panic).
• Pressionando ambos estes botões ao mesmo tempo é um erro, portanto, apenas um de cada vez é
para ser usado. De qualquer forma, é permitido pressionar os dois ao mesmo tempo, por um curto
intervalo de tempo predefinido, para poder alternar as mãos.

Ativando o modo de operação do dispositivo.

49
Detalhamento da Interface.
 LEDs.
Os LEDs disponíveis na frente do TeachPendant são os seguintes:

• LED verde

Quando ligado, significa DRIVE ON.

50
Detalhamento da Interface.
• LED vermelho.

Quando este LED, associado à tecla RESET (branco), está piscando, significa qualquer alarme (exceto
as indicações de tipo de aviso).

51
Detalhamento da Interface.
 Porta USB
Na parte da frente do TeachPendant existe uma porta USB.

Recomenda-se usar a porta USB para conectar um dispositivo de armazenamento, como um disco
flash
USB one.

52
Detalhamento da Interface.
A exibição TeachPendant pode ser considerada como dividida nas seguintes áreas:

 Barra de status

 Menu Direito

 Menu das teclas funcionais

 Páginas Área

53
Detalhamento da Interface.
 Barra de status.

A barra de status é composta por:

 Campos somente leitura.


 Campos para acesso direto a ambientes.

54
Detalhamento da Interface.
 Campos somente leitura.

 Reiniciar a notificação.
 Estado do sistema.
 Programas e movimentos do Estado de Holdable durante a programação.
 Estado atual do movimento.
 Estado do braço.
 Quantidade total de programas atualmente ativos.
 Estado da chave SHIFT.
 Mensagens de erro.

55
Detalhamento da Interface.
 Campos somente leitura.

 Reiniciar a notificação.

Quando o sistema detecta a necessidade de reiniciar, para tornar as modificações salvas operadas, um
ícone intermitente é exibido no primeiro campo da barra de status. Esse ícone desaparece assim que a
operação de reinicialização for executada
Estado do sistema.

• Progr programação.
• Sub-estado de programação T1P.
• Automático local.
• Remoto automático.

56
Detalhamento da Interface.
 Campos somente leitura.

 Programas e movimentos do Estado de Holdable durante a programação.

• **** - Indica que nenhum programa de movimento (holdable) está em execução.


• HOLD - O botão HOLD é pressionado e, portanto, a execução de programas holdable e todos os
movimentos dos braços são interrompidos; é mostrado em um fundo ocre.
• RUN Ao menos um programa holdable está sendo executado.

57
Detalhamento da Interface.
 Campos somente leitura.

 Estado atual de movimento.

• READY - Tudo está pronto para se mover.


• JOG - Está em andamento um movimento manual.
• FORW - Um movimento está em progresso.
• BACK - Um movimento de retorno está em progresso.
 Estado do braço.

• ‘-’ - braço configurado corretamente e pronto para mover.


• 'Turn' - braço requer a operação do turn-set.
• 'NotCal' - braço não calibrado.
• 'Simu' - braço simulado.

58
Detalhamento da Interface.
 Campos somente leitura.

 Estado do braço.
• 'Dis' - braço desabilitado.
• 'Coop' - braço-braço ('An, Am') ou cooperação no eixo ('Ji, An').
• 'Pallet' - funcionalidade de paletização ativa.
• 'Res' - braço deve ser retomado.
• 'Lock' - braço fechado.
 Quantidade total de programas atualmente ativos.

• É o contador de programas atualmente ativo. Inclui os programas ativos exibidos


na página Prog (não protegida) e as não exibidas (Protegidas).

59
Detalhamento da Interface.
 Campos somente leitura.

 Estado da chave SHIFT.

• 'S' é exibido quando uma das teclas SHIFT é pressionada.

 Mensagens de erro

Este campo exibe a última mensagem de erro / alarme ocorrida. A mensagem inclui o segue informações:
• Código de sinal de 5 dígitos, que identifica cada mensagem de forma única.
• Nível de gravidade de erro / alarme.
• Cadeia de descrição de mensagem de erro / alarme.
O plano de fundo pode ser:
• Transparente: nenhum alarme / erro ocorreu atualmente;
• Verde escuro: um alarme INFORMATIVO está atualmente ativo. O sistema NÃO ESTÁ Estado ALARME.

60
Detalhamento da Interface.
 Campos somente leitura.

 Mensagens de erro.

• Azul: mensagem de AVISO.


• Branco: o texto é preto. Esta é uma mensagem de tipo interligado, pelo que o usuário deve confirmá-la
explicitamente. Para fazer isso, dentro da Página de Alarme, remova a causa do alarme e pressione Ack.
• Ocre: este é um erro gerado pelo processo de aplicação. O sistema não está no estado ALARME; o texto
desaparece apenas quando é reiniciado. Para fazer isso, dentro da página de alarme, remova a causa do
alarme e escolha um dos comandos disponíveis no menu das teclas funcionais.
• Vermelho: esta mensagem é uma mensagem de ERRO. O sistema está em estado ALARME (um
exemplo é mostrado na figura a seguir).
• Roxo: esta é uma mensagem FATAL. O sistema está em estado FATAL ERROR.

61
Detalhamento da Interface.
 Campos para acesso direto a ambientes.

 Alarme.

Toque no campo mais à esquerda na barra para acessar diretamente a Página de Alarme.
 GenOVR
Este campo, terceiro a partir da direita, exibe o valor atual de substituição geral para o braço principal, bem
como o estado ativado / desabilitado para o movimento incremental. se esse campo for exibido o caractere 'I'
(por exemplo: '75% (I) ') significa que o sistema está em movimento incremental modo. Neste caso, a cor de
fundo é ocre.

Toque neste campo para acessar diretamente a página simplificada para lidar com esses dados: Página de
substituição do braço.

62
Detalhamento da Interface.
 Campos para acesso direto a ambientes.

 Velocidade do braço.

Nesta página, o usuário pode


• Modifica a velocidade geral do braço ativo.
• Habilitar / desativar Incremental Jog.

63
Detalhamento da Interface.
 Campos para acesso direto a ambientes.

 Braço.
Este campo, segundo a partir da direita na barra, indica a combinação atual de Arm e SyncArm (se presente).

• Em um sistema Multiarm com movimento sincronizado ativado, este campo contém primeiro o número
do braço principal e, em seguida, o do SyncArm; exemplo:
Braço: 1 <2 significa que o braço 1 é o braço principal eo braço 2 é o braço sincronizado

64
Detalhamento da Interface.
 Campos para acesso direto a ambientes.
 Página Configurações do braço.
• Esta página permite configurar as seguintes opções:
- Combinação de Arm e SyncArm se existente - selecione o
item desejado em cada um dos dois grupos de verificação.
- Modalidade para manipulação das coordenadas de
movimento de jog. Selecione a modalidade desejada entre
as exibidas no grupo de controle Coord:
• Modo TP JOG
• JOINT
• BASE
• TOOL
• UFRAME
Modo WRIST (movimento referido ao pulso do robô).
• WR-BASE
• WR-TOOL
• WR-UFRAME

65
Detalhamento da Interface.
 Campos para acesso direto a ambientes.
 Coord.
Este campo, último campo na barra (veja a figura a seguir), exibe a modalidade atual
usado para as coordenadas em movimentos Jog.

Toque neste campo para acessar o ambiente simplificado associado no qual o usuário pode
definir a escolha desejada.

66
Detalhamento da Interface.
 Right Menu.
Este menu é dedicado a comandos tecnológicos, como abertura ou fechamento de pinças, configurações de
hardware de parâmetros de soldagem e gerenciamento de Processo Tecnológico
status no modo de programação (T1P substate)
Descrição
O significado das teclas é diferente dependendo do sistema
Estado.
Teclas U1..U4 estão disponíveis para necessidades personalizadas do
usuário.
- no estado Local ou Remoto, a 5ª chave é sempre dedicada
para ligar / desligar de acordo com as seguintes regras:
• No local, representa os comandos DRIVE ON e DRIVE OFF; o LED
correspondente é verde quando as unidades estão LIGADAS;
• No estado remoto, ele representa o comando DRIVE OFF (o comando
DRIVE ON vem do PLC); o LED correspondente é verde quando as
unidades estão ligadas.
- No estado do Progr
• As teclas 5ª e 6ª são dedicadas às funções Hand1 e Hand2 para
controlar as ferramentas 1 e 2, alternando entre OPEN e CLOSE.
• A 7ª chave, T1P (disponível pressionando a tecla MORE), atua sobre o
subtítulo T1P, de acordo com regras e limites bem definidos, descritos em
Status T1P.

67
Detalhamento da Interface.
 Right Menu.
Este menu é dedicado a comandos tecnológicos, como abertura ou fechamento de pinças, configurações de
hardware de parâmetros de soldagem e gerenciamento de Processo Tecnológico
status no modo de programação (T1P substate)
Descrição

Pressionar uma tecla faz com que o comando


correspondente seja executado e seu estado para
ser exibido (led verde = comando ativo; led preto =
comando NÃO ativo).

68
Detalhamento da Interface.
 Menu das teclas funcionais.
Este menu é um grupo de 8 teclas de função, contextual para o item selecionado (estado atual e página, campo
selecionado, etc.). As funções mostradas correspondem às possíveis ações no item selecionado.
Na figura abaixo, o menu de teclas funcionais disponíveis para a Página inicial é mostrado como um exemplo.

Geralmente, ao tocar uma tecla funcional, a função associada é ativada.

69
Detalhamento da Interface.

70
Modos de Operação do Sistema.
 Introdução

 Modo T1

 Modo AUTO

 Modo REMOTE

71
Modos de Operação do Sistema.

A Unidade de Controle do Robô C5G pode operar em três modos que podem ser selecionados

através da chave seletora modal no Painel da Unidade de Controle ou no ‘Teach Pendant’. Os três

modos são:

 Programação (T1).

 Automático Local (AUTO).

 Automático Remoto (REMOTE).


72
Modos de Operação do Sistema.

O modo de Programação (T1) é usado par criar e verificar programas de movimento do robô. Por

razões de segurança, a velocidade é menor (máxima de 250 mm/s no centro da flange) do que a

velocidade no modo automático.

Quando o seletor está na posição T1, os programas podem ser desenvolvidos usando o ambiente

de edição e os pontos podem ser obtidos do ‘Teach Pendant’ movendo o robô manualmente

através das teclas de movimento; os programas podem ser depurados usando as ferramentas do

sistema. No modo de programação, a execução de uma instrução de movimento requer que o

operador pressione START e habilite o dispositivo de habilitação no ‘Teach Pendant’.

Se o seletor está na posição T1, o sistema está sob controle do operador. 73


Modos de Operação do Sistema.
O modo Automático Local (AUTO) é usado para executar programas, pois eles contêm instruções

para o movimento do robô, para ser capaz de iniciá-lo é necessário apertar a tecla START no ‘Teach

Pendant’. A chave seletora deve estar na posição AUTO.

TOOL, BASE e FRAME ativos não podem ser alterados (pelo ‘Teach Pendant’) quando trabalhando

em AUTO.

Se o seletor está na posição AUTO, a tecla R5 (menu direito do ‘Teach Pendant’) é utilizada para

ligar e desligar os drives.

74
Modos de Operação do Sistema.

O modo Automático Remoto (REMOTE) é usado da mesma forma que o modo Automático Local

(AUTO), mas os comandos (por exemplo para ligar) são enviados de um dispositivo remoto (por

exemplo um PLC). A chave seletora deve estar na posição REMOTE.

TOOL, BASE e FRAME ativos não podem ser alterados (pelo ‘Teach Pendant’) quando trabalhando

em REMOTE.

Se o seletor está na posição REMOTE, DRIVEs ON e OFF são controlados remotamente.

75
Movimentação do robô – Modo Manual.

 Frames de referência

 Sistemas de frames de referência

 Movimento manual

76
Movimentação do robô – Modo Manual.

Um sistema cartesiano de referência é um conceito geométrico para permitir a representação de


um objeto no espaço. Por exemplo, o canto de uma mesa pode ser escolhido como um sistema de
referência para representar a mesa. O mesmo método pode ser aplicado para um livro deitado
sobre uma mesa, como uma pinça de solda montada na flange do robô.

A conversão de coordenadas descreve a posição de um sistema de referência em relação a outro.


Esta é descrita como variável ‘POSITION’. Por exemplo, se uma mesa está localizada em uma
sala, sua posição em relação à sala é indicada por ‘POSITION p_mesa’, que descreve a
conversão de coordenadas entre os dois sistemas de referência.

77
Movimentação do robô – Modo Manual.
O Controlador têm três sistemas de variáveis ($BASE, $TOOL e $UFRAME) que permite a
descrição das principais conversões de coordenadas. Antes de começar explicar estas
conversões, é necessário definir algumas referências;

 World frame: frame de referência em relação ao local onde as máquinas estão posicionadas.
 Base frame: frame que indica a base do robô.
 User frame: frame que indica a peça.
 Flange frame: frame que indica a flange do robô.
 TCP frame: frame que indica a ponta da ferramenta.

78
Movimentação do robô – Modo Manual.

A variável $TOOL descreve a posição do TCP em relação a flange; a variável $BASE descreve a
posição do base frame em relação ao world frame, a variável $UFRAME descreve a posição da
peça em relação ao world frame.
A conversão POS indica o ponto gravado P onde o TCP será posicionado durante a execução do
programa. Deve ser lembrado que todas as POSIÇÕES gravadas são definidas em relação ao
frame de referência do usuário (definido pelo $UFRAME, com determinados valores de $BASE e
$TOOL).

Lembre-se que, alterando $TOOL ou $BASE ou $UFRAME, a mesma posição (POS) corresponde
a uma posição atual diferente do robô!

79
Movimentação do robô – Modo Manual.
 JOINT: modo juntas. As teclas ‘+/-’ são
relacionadas a cada um dos eixos do ‘arm’
selecionado; as teclas associadas aos eixos
auxiliares presentes (geralmente são as teclas
7 e 8 (‘+/-’)). Quando uma destas teclas é
pressionada, o eixo correspondente se move
na direção positiva ou negativa, de acordo com
a direção indicada na placa do eixo.

80
Movimentação do robô – Modo Manual.
 BASE: modo de movimento linear de
acordo com a referência X, Y e Z
atribuídas à base. As primeiras três
teclas ‘+/-’ (à esquerda) são usadas
para movimento linear na direção dos
três eixos do sistema de referência. As
outras três teclas ‘+/-’ (à direita) são
usadas para rotacionar a ferramenta
em torno dos mesmos eixos mantendo
a posição do TCP inalterada.
Z
Lembrete:
Regra da mão direita
X
Y

81
Movimentação do robô – Modo Manual.
 TOOL: modo de movimento linear de acordo
com a referência X, Y e Z atribuídas à
ferramenta. As primeiras três teclas ‘+/-’ (à
esquerda) permitem movimentos lineares na
direção dos três eixos do sistema de
referência da ferramenta. As outras três
teclas ‘+/-’ (à direita) são usadas para
rotacionar a ferramenta em torno dos
mesmos eixos mantendo a posição do TCP
inalterada.O eixo z é sempre de aproximação
ou afastamento da ferramenta.

82
Movimentação do robô – Modo Manual.
A figura ao lado mostra as referências
definidas anteriormente:

1 – Flange frame
2 – Tool frame
3 – Posição gravada
4 – User frame
5 – Base frame
6 – World frame

Vamos imaginar que uma caneta fixada na flange do robô, tenha que escrever a palavra COMAU
na mesa. A conversão $BASE define o ponto onde a base do robô está localizada, a $TOOL indica
a caneta e $UFRAME indica a posição da mesa.

83
Movimentação do robô – Modo Manual.

 UFRAME: modo de movimento linear de acordo com a referência do frame definido pelo
usuário. As primeiras três teclas ‘+/-’ (à esquerda) permitem movimentos lineares na
direção dos três eixos do sistema de referência do usuário (definido pela variável
$UFRAME). As outras três teclas ‘+/-’ (à direita) são usadas para rotacionar a ferramenta
em torno dos mesmos eixos mantendo a posição do TCP inalterada .

84
Movimentação do robô – Modo Manual.

 Velocidade: a velocidade do movimento manual pode ser selecionada com as


teclas +% e -%, que atuam sobre um valor porcentual mostrado na barra de estado
do ‘Teach Pendant’. Este valor porcentual atua em todos os tipos de movimento,
nos modos programação e automático.

85
Controle de movimento.

 Movimento contínuo.

 Terminação do movimento.

86
Controle de movimento.
O Movimento Contínuo permite a execução de Programas sem a parada do ‘arm’ na posições
gravadas.
Para indicar um movimento contínuo, a instrução MOVEFLY deve ser usada, ao invés da instrução
MOVE. Se mais um movimento procede o MOVEFLY, o ‘arm’ não irá parar no primeiro destino,
movimentando da posição inicial até a posição final do segundo movimento, sem parar na posição
comum entre os dois movimentos.
Quando o movimento que o robô realiza não exige uma grande precisão, utilizamos o movimento
contínuo.

Movimentos FLY entre trajetórias Joint e Cartesiana não são permitidos.

87
Controle de movimento.
Um exemplo de movimento contínuo no caso de movimento linear (figura abaixo) mostra um canto
arredondado durante a transição (FLY) do movimento de A para B e do movimento de B para C.
Este arredondamento é resultado da desaceleração do primeiro movimento combinado com a
aceleração do segundo movimento. A forma e a quantidade de tal arredondamento é função das
configurações de usuário ($FLY_PER, $FLY_DIST, $FLY_TRAJ), a velocidade dos dois
movimentos, os valores usados para aceleração e desaceleração, e a capacidade do ‘servo
system’ do ‘arm’ e do ‘payload’.

88
Controle de movimento.
A variável predefinida $FLY_TYPE determina qual dos vários algoritmos são usados para controlar
o movimento contínuo. O algoritmo usado afeta não somente a velocidade e a forma da trajetória
durante movimentos ‘fly’, mas também a quantidade de tensão colocado no ‘arm’ e nos
componentes ou ferramenta conectados a ele.
 FLY_NORM: com $FLY_TYPE definido para $FLY_NORM, MOVEFLY faz
com que a desaceleração do movimento atual seja combinada com a
aceleração do próximo movimento.

A variável predefinida, $FLY_PER (a única associada ao FLY_NORM),


pode ser usada para reduzir o tempo de ‘fly’ e trazer a trajetória mais
próxima da posição intermediária ensinada. FLY_NORM é o valor ‘default’.

89
Controle de movimento.
O ‘fly’ começará no início da desaceleração normal do movimento mais um tempo igual a 100% menos a
porcentagem especificada no $FLY_PER. Por exemplo, se o valor do $FLY_PER é 100%, o ‘fly’ começa no
início da desaceleração do movimento ‘fly’. Se $FLY_PER é 75%, o ‘fly’ começará depois de 25% da
desaceleração (75% será combinada com o próximo movimento). Segue abaixo alguns exemplos de
$FLY_PER:

A velocidade do movimento durante o ‘fly’ geralmente não é constante.


A velocidade do movimento durante o ‘fly’ geralmente não é constante.

90
Controle de movimento.
Especifica a precisão do posicionamento do robô sobre o destino final do movimento, para
movimentos sem ‘FLY’, antes da próxima operação ser realizada.
Para movimentos descontínuos, a variável predefinida $TERM_TYPE é usada para determinar
quando o movimento será terminado baseando na proximidade do ‘arm’ do seu destino.
As constantes predefinidas COARSE, FINE, JNT_COARSE, JNT_FINE, ou NOSETTLE podem ser
atribuídas às variáveis $TERM_TYPE, com NOSETTLE sendo o ‘default’.

 COARSE: deve ser usada em movimentos Cartesianos e indica que o movimento é realizado
se o TCP fica dentro da esfera que está centrada no destino final, com raio especificado pela
variável $TOL_COARSE, por um tempo maior ou igual à $TOL_ABT.

91
Controle de movimento.
 FINE: deve ser usada em movimentos Cartesianos e indica que o
movimento é realizado se o TCP fica dentro da esfera que está centrada
no destino final, com raio especificado pela variável $TOL_FINE, por um
tempo maior ou igual à $TOL_ABT.
A variável predefinida $TOL_ABT indica o tempo em que o ‘arm’ está
dentro da tolerância especificada antes que o movimento seja declarado
concluído. Esta variável tem uma faixa de 0 a 2000 milissegundos e o
valor ‘default’ é 0 milissegundo. Um valor de 0
milissegundo significa que o movimento é encerrado
assim que entra na tolerância especificada.

92
Controle de movimento.
 JNT_COARSE e JNT_FINE: especificam as duas tolerâncias diferentes
que podem ser usadas para definir a conclusão do movimento. As variáveis
predefinidas $TOL_JNT_COARSE e $TOL_JNT_FINE indicam os valores
das tolerâncias COARSE e FINE respectivamente, para cada eixo, medida
em graus. Elas representam, para cada eixo, a faixa de tolerância aceitável
em graus, para ser capaz de afirmar que o movimento terminou no ponto
final.

 NOSETTLE: indica que o movimento é declarado concluído assim que o


perfil de desaceleração tiver sido concluído. Não existe tempo definido para
o ‘arm’ posicionar-se precisamente dentro da tolerância especificada.

93
Criação de programa de movimento.
Os programas usados no Controlador C5G são escritos na linguagem de programação PDL2.
Existem vários métodos para criar tais programas, dependendo do programador e da aplicação
desejada. Basicamente, existe dois ambientes para criação de um programa PDL2:

 IDE: ambiente de desenvolvimento usado para desenvolver movimento


utilizando o ‘Teach Pendant’.

 WinC5G: software usado para desenvolver programas utilizando o


computador, tipicamente para programa que não envolvem movimento .

94
Criação de programa de movimento.
Passo 1: Preliminares
Para criarmos um programa de movimentação para o robô, antes de qualquer procedimento,
devemos ter consciência de todos os riscos intrínsecos e de que somos capazes da realização do
mesmo. Os seguintes tópicos devem ser previamente analisados:

 Condições do robô de realizar tais tarefas almejadas;


 Integridade dos equipamentos na execução da nova tarefa;
 Possibilidade do processo existente de absorver a nova tarefa;
 Possíveis interferências mecânicas com outros robôs ou equipamentos;
 Segurança dos profissionais que trabalham na área e proximidades da
operação do robô.

95
Criação de programa de movimento.
Passo 2: Criar um nome
Crie um nome que seja bem sugestivo, para que assim, qualquer programador consiga prever a
origem e o trabalho deste programa. Normalmente utiliza-se no nome do programa a operação de
trabalho, o nome do robô, a tarefa realizada e/ou etapa do processo, etc. Segue abaixo alguns
exemplos:

Exemplo 1: R1_SOLDA_PONTO.COD
Exemplo 2: R3_PEGA_LATERAIS.COD
Exemplo 3: R2_DEP.COD

96
Criação de programa de movimento.
Passo 3: Criar o programa
Acesse a Página de Prog no menu , em seguida a opção Memória no menu inferior, e a seguir a opção Novo
programa . Insira o nome do programa e tecle OK.

97
Criação de programa de movimento.
Passo 4: Abrir o programa
Acesse a Página Prog através do menu, em seguida a opção Programa no menu inferior, e a seguir a
opção Abre IDE [ENTER] e tecle ENTER. Toque neste comando para abrir o programa selecionado no
Programa de Desenvolvimento Integrado, Ambiente (IDE). Se o programa não estiver ativo no momento,
ele é ativado automaticamente e colocado no estado Held.

98
Criação de programa de movimento.
Passo 5: Configurar a tecla REC
Toque rapidamente esta tecla, os seguintes itens são inseridos no programa:
 - uma instrução de movimento e
 - a declaração da variável posicional correspondente que é atribuída à posição atual do braço.
Ao tocar esta tecla, o ambiente de configuração REC está ativado (conforme mostrado na figura abaixo)

Ao tocar no item de configuração REC, é aberto um ambiente dedicado que permite configurar todos
os recursos peculiares da instrução de movimento que é inserida cada vez que a tecla REC é tocada.

99
Criação de programa de movimento.
Passo 7: Gravar os pontos
 Posicione o cursor na linha do programa abaixo da linha que a instrução MOVE será inserida.
 Movimente o robô para a posição a ser gravada.
 Pressione a tecla REC no menu inferior. Esta operação insere uma instrução MOVE ou MOVE FLY
(de acordo com a configuração da tecla REC) e a declaração da variável posicional usada pelo
MOVE ou MOVE FLY dentro do programa.

Repita o passo 7 para todos os demais pontos do programa, e o passo 5 quando for necessário alterar
a configuração da tecla REC.

100
Trabalhando com Programas.

 POSITION:
O tipo de dados POSITION é usado para descrever a posição de um ‘frame’ cartesiano de
referência em relação a outro.
Os componentes da localização representam a distância, medida em milímetros, ao longo dos
eixos x, y e z do frame de referência.
Os componentes de orientação representam três ângulos de rotação, medidos em graus,
chamados ângulos Euler.

101
Trabalhando com Programas.

 JOINTPOS:
O tipo de dados JOINTPOS representa a posição atual dos eixos do ‘arm’ em graus. Um
componente real corresponde a cada eixo do ‘arm’.

Dados JOINTPOS são usados para posicionar o ‘arm’ usando um conjunto particular de
movimentos dos eixos. Cada valor real é a distância real que o eixo deve mover a partir de sua
posição predefinida ‘zero’.

Cada variável JOINTPOS é associada com um ‘arm’ particular e não pode ser usado com um ‘arm’
diferente.

102
Trabalhando com Programas.
 XTNDPOS:
O tipo de dados XTNDPOS representa a posição de um ‘arm’ que possui mais de seis eixos. Ele é
usado para integrar o movimento de um grupo de eixos, composto por um robô e alguns eixos
auxiliares, tratados como uma única unidade pelo sistema.

Por exemplo, um XTNDPOS pode ser usado para representar um robô montado em uma esteira.
O robô e a esteira seriam tratados como um só ‘arm’ pelo sistema.
Cada variável XTNDPOS é associada com um ‘arm’ particular e não pode ser usado com um ‘arm’
diferente.

103
Trabalhando com Programas.
A trajetória representa o movimento do ‘arm’ da posição inicial até a posição final. A trajetória do
movimento entre dois pontos gravados é gerada pela interpolação de vários conjuntos de
variáveis de seus valores iniciais na posição inicial para seus valores finais na posição de destino.

A variável predefinida $MOVE_TYPE indica o tipo de interpolação a ser usada. As constantes


predefinidas JOINT, LINEAR ou CIRCULAR podem ser atribuídas à $MOVE_TYPE. A trajetória
também pode ser expressada nas instruções de movimento acrescentando as palavras
reservadas JOINT, LINEAR ou CIRCULAR à instrução MOVE.

104
Trabalhando com Programas.
 JOINT:

Durante a interpolação joint ($MOVE_TYPE:=JOINT ou MOVE JOINT TO), os ângulos dos eixos
do ‘arm’ são interpoladas dos seus valores iniciais aos valores finais.

Todos os eixos iniciam e terminam o movimento no mesmo tempo. O caminho seguido pelo TCP
não é previsível, embora possa se repetir.

Movimentos interpolados joint entre duas posições sempre são possíveis.

105
Trabalhando com Programas.
 LINEAR:

Durante a interpolação linear ($MOVE_TYPE:=LINEAR ou MOVE LINEAR TO), o TCP move em


linha reta a partir da posição inicial até a posição final.

A orientação da ferramenta também muda a parir da posição inicial até a posição final de acordo
com o modo definido pela variável $ORNT_TYPE.

106
Trabalhando com Programas.
 CIRCULAR:

Durante a interpolação circular ($MOVE_TYPE:=CIRCULAR ou MOVE CIRCULAR TO), o TCP


segue um arco circular a partir da posição inicial até a posição final. Uma posição adicional,
chamada posição VIA, deve ser especificada para definir o arco. Somente a localização da
posição VIA é usada, a sua orientação não afeta o movimento.

A variável predefinida $ORNT_TYPE indica o tipo de evolução do movimento.

107
Trajetórias
p1 p2
Joint

p1 p2

Linear

p1 p2
Circular
108
Trabalhando com Programas.
Segue abaixo o passo a passo de como criar uma trajetória circular:

• Posicione a ferramenta no ponto 1;


• Pressione a tecla REC;
• Configure a tecla REC (trajetória circular);
• Pressione a tecla REC;
• Posicione a ferramenta no ponto 2;
• Pressione MOD (F6) selecione o ponto 2 e pressione OK (F5);

109
Trabalhando com Programas.
• Posicione a ferramenta no ponto 3 (ponto de via);
• Pressione MOD (F6) selecione o ponto 3 e pressione OK (F5);
• Pressione a tecla REC;
• Posicione a ferramenta no ponto 4;
• Pressione MOD (F6) selecione o ponto 4 e pressione OK (F5);
• Posicione a ferramenta no ponto 5 (ponto de via);
• Pressione MOD (F6) selecione o ponto 5 e pressione OK (F5).

110
Criação de programa de movimento.
Passo 8: Configurar o modo passo a passo
Acesse a Página IDE através do menu, em seguida a opção Programa no menu inferior, a opção Passo
( STEP) em seguida a opção Instrução.

111
Criação de programa de movimento.

Passo 9: Executar o programa no modo passo a passo


Após ter configurado o modo passo a passo conforme descrito no passo 8 execute o programa mantendo a
tecla START pressionada. O programa irá parar após a execução de cada instrução, para executar a instrução
subsequente posicione o cursor na linha subsequente e mantenha a tecla START pressionada novamente.

112
Criação de programa de movimento.
Passo 10: Salvar o programa.
Acesse a Página IDE através do menu, selecione a opção Programa no menu inferior, e em seguida a
opção Salva (cod e var)’.

113
Criação de programa de movimento.
Passo 11: Fechar o ambiente IDE.
Acesse a Página IDE através do menu, em seguida o X no menu inferior a esquerda.

114
Trabalhando com Programas.
Quando a Página IDE é acessada, o programa atualmente ativo é aberto. Se não existe programa ativo,
uma mensagem de erro é exibida.
Se o programa a ser aberto na IDE não for um dos ativos, ou se não existir nenhum programa ativo, siga
os passos a seguir:

 Acesse a Página de Programas através do menu;


 Selecione o programa que será aberto. Se o programa não estiver na memória de execução,
carregue-o selecionando a função Carrega no menu inferior, marque a opção de Ativar e aperte OK;
 O programa selecionado é automaticamente ativado. Se um outro programa está ativo, este será
desativado e o programa selecionado anteriormente será ativado.
No final deste procedimento o sistema está no ambiente IDE.

115
Trabalhando com Programas.
 Selecionando uma ou mais linhas de texto.

 Pressione Modificar no menu inferior , em seguida Selecionar .


 Selecione a linha ou as linhas desejadas com as teclas de navegação. Três opções são
exibidas no
menu central:
• Corta : corta a parte do texto selecionada.
• Copia : copia a parte do texto selecionada.
• Des- seleciona : cancela a seleção.

116
Trabalhando com Programas.
 Excluindo/restaurando uma ou mais linhas de texto.

 Para excluir a linha apontada pelo Cursor, siga o procedimento abaixo:


• Pressione Modificar no menu principal da Página IDE;
• No menu ‘pop-up’ aberto pelo sistema, escolha Apagar linha.
 Para restaurar o que foi deletado, siga o procedimento abaixo:
• Pressione Modificar no menu principal da Página IDE;
• No menu ‘pop-up’ aberto pelo sistema, escolha Cancelar eliminação da linha . O texto é inserido na
linha abaixo da posição atual do Cursor de edição.

117
Trabalhando com Programas.
 Movendo o cursor de edição.

Para mover o Cursor de Edição, a maneira mais fácil é usando a tecla do cursor no TP. Se desejar
movimentar para uma posição específica, siga o procedimento abaixo:

• Pressione Modificar no menu principal da Página IDE;


• No menu ‘pop-up’ aberto pelo sistema, escolha Vai;
• Escolher entre a instrução BEGIN, ou a instrução END ou indicar precisamente o número da linha.

118
Trabalhando com Programas.
 Inserindo uma nova instrução

• Pressione Introduza no menu principal da Página IDE.


• Vamos inserir uma nova linha de programa contendo as instruções FOR. Depois de selecionar o tipo de
declaração desejada (por meio da tecla Declaração), confirme (OK ou ENTER) para preparar a sua
inserção.
• O sistema exibe o modelo correspondente da declaração escolhida (em nosso por exemplo, a instrução
FOR ).

119
Trabalhando com Programas.
 Comentar/retirar um comentário de uma linha de programa.

• Pressione Linha no menu principal da Página IDE;


• No menu ‘pop-up’ aberto pelo sistema, escolha Comentar/Não comentar. Esta tecla inverte o estado
atual cada vez que é pressionada.

 Alterando uma instrução existente.

• Posicione o Cursor de Edição na linha da instrução que será alterada e pressione ENTER;
• Use o Teclado Alfanumérico ou os comandos do menu inferior, da mesma forma descrita no slide
anterior ‘Inserindo uma nova instrução’.

120
Trabalhando com Programas.

 Inserir, visualizar e excluir variáveis.


Para inserir uma nova variável na linha do programa em que o Cursor de Edição está posicionado, siga
o procedimento abaixo:
• Pressione Introduza no menu principal da Página IDE;
• Selecione a opção Variáveis;
• Selecione a variável desejada;
• Depois de fazer as alterações, confirme com Ok e Enter.

121
Trabalhando com Programas.

 Alterar uma posição existente.


Se o conteúdo de uma variável posicional existente deve ser alterado, siga o procedimento abaixo:
• Movimente o Cursor de Edição para a instrução MOVE onde a variável posicional deve ser alterada;
• Movimente o robô para a nova posição;
• Pressione MOD tecla no menu principal da Página IDE;
• O sistema mostra uma janela de diálogo em que uma lista de linhas de variáveis posicionais é exibida;
• O usuário tem que selecionar a variável desejada e confirmar com ENTER ou cancelar com ESC.

122
Trabalhando com Programas.
 Ativar/desativar um programa.
O programa atualmente aberto na IDE é sempre o ATIVO. Para reiniciá-lo depois de fazer mudanças, siga o
procedimento abaixo:
• Pressione Programa tecla no menu principal da Página IDE;
• No menu ‘pop-up’ aberto pelo sistema, escolha a opção Inicializar (Reset). Dessa forma o programa é
desativado e depois reativado.

 Para desativar um programa, siga o procedimento abaixo:


• Pressione Programa tecla no menu principal da Página IDE;
• No menu ‘pop-up’ aberto pelo sistema, escolha a opção Desativa.

123
Trabalhando com Programas.

 Abortar a execução de uma instrução.

Para abortar a execução da instrução atual:


 Pressione Programa, tecla no menu principal da Página IDE.
 No menu ‘pop-up’ aberto pelo sistema, escolha a opção Interromper.
Para continuar a executar o programa a partir da instrução seguinte a que foi abortada, pressione START.

124
Trabalhando com Programas.
 Configurar o modo de execução.
Geralmente a execução de um programa é contínua. Para configurar os passos de execução, siga o
procedimento:
• Pressione Programa tecla no menu principal da Página IDE;
• No menu ‘pop-up’ aberto pelo sistema, escolha a opção Passo (Step);
• Na nova lista aberta pelo sistema, escolha Instrução individual ou Desabilitado.
• Instrução individual: o programa será executado passo a passo. O programa irá parar após a
execução de cada instrução, para executar a instrução subsequente pressione START.
• Desabilitado: o programa será executado de maneira contínua.

125
Trabalhando com Programas.
 Verificar o estado do movimento
O cursor de movimento indica o estado do movimento conforme abaixo:
 O robô está na trajetória, mas o movimento não foi finalizado.

 O robô alcançou a posição final.

 O robô está fora de trajetória.

 O movimento foi abortado.

Se não há nenhum movimento em desenvolvimento o cursor aponta para a última instrução de movimento
executada.

126
Introdução ao Ambiente de Programação.

 Introdução .

 Conexão com o Robô.

 Interface de usuário.

 Principais comandos.

127
Introdução ao Ambiente de Programação.

O software WinC5G permite:

• Exibir os arquivos instalados no robô.

• Editar e traduzir os arquivos na forma executável (.COD).

• Pesquisar e exibir os erros.

• Abrir um terminal de comandos para a Unidade de Controle.

• Converter os programas já existentes como função para novos pontos de

referência.

128
Introdução ao Ambiente de Programação.
A conexão do PC com a Unidade de Controle do Robô é baseada no protocolo TCP/IP. Para realizar a conexão, uma rede
local entre o PC e a Unidade de Controle deve ser criada. Segue abaixo uma das maneiras de realizar a conexão:
• Conecte o cabo Ethernet na porta Ethernet do PC e na porta Ethernet da placa APC.
• Clique no menu iniciar.
• Clique em Painel de controle.
• Clique duas vezes em Conexões de rede.
• Clique com o botão direito em Conexão de rede local (LAN)
• e clique em propriedades.
• Clique em Protocolo de Internet (TCP/IP).
• Clique em propriedades.

129
Introdução ao Ambiente de Programação.
Nas propriedades do Protocolo Internet:
• O endereço IP deve ter o mesmo endereço da ‘Subnet’ do controlador.
Exemplo, se o controlador tem o endereço
IP 172.22.121.9, o endereço IP pode ser
especificado 172.22.121.5.
• A máscara sub rede deve ser o mesmo
valor do Controlador.
• O Gateway ‘default’ permanece vazio.

130
Introdução ao Ambiente de Programação.
Depois de ter feito a conexão inicie o WinC5G e abra a janela propriedades para definir o campo
relacionado com o tipo de conexão.

• Selecione TCP/IP como tipo de conexão.


• Especifique o endereço IP da
Unidade de Controle.
Se o endereço for desconhecido
leia o mesmo na página Inicial do
‘Teach Pendant’

131
Introdução ao Ambiente de Programação.
A interface WinC5G consiste de quatro painéis principais, e cada um pode conter uma ou mais
janelas com informações para o usuário. Para mover entre painéis as teclas (CTRL + Tab) são
usadas, para mover entre as janelas de um determinado painel as teclas (CTRL + Alt + Tab) são
usadas. Onde:

1: Painel de Diretórios
2: Painel de Arquivos
3: Painel de Ferramentas
4: Painel de Saída

132
Introdução ao Ambiente de Programação.
Painel de Ferramentas: é o principal painel do aplicativo. É nesta área que a maioria das
informações são exibidas.
• O Terminal: exibe a Página TP-INT no PC.
• ‘File Translation’: janela onde o usuário pode exibir e traduzir os
programas.
• Causa/Remédio: janela onde o usuário pode ler a causa de um
determinado erro e encontrar uma possível solução para o problema.
• ‘Errors Display and Actions’: janela onde o usuário pode destacar e
colocar em ordem os erros que ocorreram na Unidade de Controle e
ações tomadas pelo usuário e gravadas na Unidade de Controle.
• ‘Files Manipulation’: janela que agrupa as operações para verificação e/ou
conversão dos valores de variáveis (.VAR).

133
Introdução ao Ambiente de Programação.
Painel de Diretórios: mostra a estrutura dos diretórios do PC e da Unidade de Controle.

O Painel de diretórios possui uma ou duas janelas de acordo com o estado da conexão. Se a
conexão está inativa, somente uma janela é exibida, e indica os discos presentes no PC com seus
diretórios correspondente. Se ao invés disso a conexão está ativa a estrutura dos diretórios na UD
também é exibida.

O visor pode ser atualizado usando o menu Exibir, comando Atualiza lista de arquivos.

134
Introdução ao Ambiente de Programação.
Painel de Arquivos: mostra a lista de arquivos contidos no dispositivo ou pasta que foi selecionado
no painel de Diretórios.
Para cada arquivo é mostrado informações como nome, tipo, tamanho, e data de revisão. Os
arquivos podem ser abertos clicando no nome do arquivo, e podem ser fechados através do
comando Fechar no menu de Arquivos.

Painel de Saída: mostra as mensagens que um aplicativo gera para o usuário. O principal uso é
mostrar o resultado da tradução de programas, como .PDL e .LSV, incluindo erros de tradução e
mensagens provenientes de operações de manipulação de arquivos.
Para abrir este painel, use Mostra Janela de Output no menu Exibir, para fechá-lo use Fecha
Janela de Output no menu Exibir.

135
Introdução ao Ambiente de Programação.
Menu Arquivos:
• Novo: abre uma página nova para escrever um arquivo em ASCII. Este
arquivo pode ser salvo e se necessário traduzido.
• Abrir: abre um arquivo já existente. Se o arquivo é binário, ele é traduzido
em ASCII para edição.
• Fechar: fecha a janela ativa no Painel de Ferramentas. Se um arquivo
.COD ou .VAR estiver aberto, este comando inicia automaticamente o
processo de tradução antes de salvá-lo.
• Fechar Tudo: fecha todas as janelas abertas no Painel de Ferramentas
exceto a página Causa/Remédio.
• Salvar: salva o conteúdo ativo na janela do Painel de Ferramentas na
pasta onde ele foi aberto.

136
Introdução ao Ambiente de Programação.
Menu Arquivos:
• Salvar no PC: salva o conteúdo ativo na janela do Painel de Ferramentas
em uma pasta que pode ser selecionada no PC.
• Salvar no Robô: salva o conteúdo ativo na janela do Painel de
Ferramentas em uma pasta que pode ser selecionada na Unidade de
Controle do Robô.
• Salvar Tudo com nome: se a página ativa é Causa e Remédio, a lista de
todas as mensagens Causa e Remédio pode ser salva em um arquivo .txt.
• Conectar: permite ao usuário conectar ao Controlador desejado.
• Desconectar: fecha a conexão com a Unidade de Controle.
• Cancela: deleta o arquivo selecionado no Painel de Arquivos.

137
Introdução ao Ambiente de Programação.

Menu Arquivos:
• Imprime: imprime o conteúdo da janela em primeiro plano no Painel de Arquivos.
• Imprime Tudo: imprime tudo que está exibido na janela ativa.
• Impostação da Página: para configurar a impressão da página que será mpressa.
• Propriedades: abre propriedades.
• Sair: fecha o aplicativo.

138
Introdução ao Ambiente de Programação.
Menu Editar:
• Anula: cancela a última operação executada na janela em primeiro plano
do Painel de Ferramentas.
• Corta: copia o texto selecionado e exclui o mesmo da janela aberta do
Painel de Ferramentas.
• Cópia: copia o texto contido na área de transferência onde o cursor está
posicionado, na janela ativa do Painel de Ferramentas.
• Cola: copia o conteúdo da área de transferência onde o cursor está
posicionado, na janela ativa do Painel de Ferramentas.
• Seleciona Tudo: seleciona o texto inteiro do arquivo aberto e ativo no
Painel de Ferramentas.

139
Introdução ao Ambiente de Programação.
Menu Editar:
• Procura: para procurar e/ou substituir um identificador no texto do arquivo
aberto do Painel de Ferramentas.
• Traduzir: traduz o arquivo que está ativo na janela do Painel de
Ferramentas em um formato binário correspondente. Se existirem erros,
estes são exibidos na janela de erros do Painel de Saída.
• Observação das Propriedades: permite editar as notas de propriedade do
arquivo selecionado.
• Filtro: ativa um filtro na janela Causa/Remédio, para limitar o número de
erros mostrados.
• Esconde Seleção: para ocultar temporariamente a exibição de informações
previamente selecionadas na janela de erros e ações.

140
Introdução ao Ambiente de Programação
Menu Editar:

• Visualiza Tudo: para retomar a exibição completa das informações ocultadas na janela erros e
ações, depois do comando Esconde ter sido executado.
• Modifica cadastro file de log: para modificar o título de um arquivo de erros e ações gravado.
• Acrescenta/Elimina file de log: para adicionar ou remover um arquivo exibido em erros e
ações.
• Acrescenta comentário: para adicionar um comentário para um erro exibido na janela Causa e
remédio.

141
Introdução ao Ambiente de Programação.

Menu Exibir:

• Barra de ferramentas: ativa e desativa a Barra de Ferramentas.


• Barra de estado: ativa e desativa a Barra de Estado.
• Abre Terminal: exibe a Página TP-INT se o usuário estiver conectado à Unidade de Controle.
• Visualiza Erros do Robô: os arquivos que contém os erros gravados (.LBE) são abertos.
• Visualiza Ações do Robô: os arquivos que contém as ações gravadas (.LBA) são abertos.
• Próximo erro: exibe o próximo erro de tradução.
• Atualiza Lista dos Arquivos: atualiza a lista de arquivos no Painel de Arquivos.

142
Introdução ao Ambiente de Programação.

Menu Exibir:
• Limpa Janela de Output: remove as informações atuais da Janela de Saída no Painel de
Saída.
• Mostra Janela de Output: exibe a Janela de Saída.
• Fecha Janela de Output: oculta a Janela de Saída.

Menu Ajuda:
• Significado teclas do Terminal: abre a caixa de diálogo que descreve a correspondência entre
as teclas do teclado do PC e algumas funções de edição da Unidade de Controle, nos
ambientes de Edição de Programa e ‘Memory Debug’ e na Página do Terminal.
• Registro: para ser usado para obter uma nova licença WinC5G.
• Sobre o WinC5G: abre a janela que dá uma visão geral do aplicativo.

143
Introdução ao Ambiente de Programação.

Menu Instrumentos:

• Proteger: para proteger o arquivo selecionado no Painel de Arquivos. Uma senha deve ser
especificada.
• Desproteger: para remover a proteção do arquivo selecionado no Painel de Arquivos. O
usuário tem que digitar a senha que foi especificada quando a proteção para o arquivo foi feita.
• Aceita remoto: permite a configuração WinC5G em modo Proxy.
• Desativa remoto: desativa a configuração WinC5G em modo Proxy.

144
Descrição da Estrutura de Programação Básica.
 Introdução
 Estrutura básica PDL2
 Declarações de constantes
 Declarações de variáveis
 Instrução PROGRAM
 Instrução BEGIN
 Instrução CYCLE
 Instrução END
 Instrução IF
 Instrução GOTO
 Instrução WAIT FOR
 Instrução FOR
 Instrução HOLD

145
Descrição da Estrutura de Programação Básica
Programação significa desenvolver uma lista de instruções que o controlador executa para realizar
uma determinada aplicação. Os programas podem incluir instruções para:

• Mover os ‘arms’ do robô.


• Enviar ou receber uma informação.
• Controlar a ordem na qual as instruções são executadas.
• Checar erros ou outras condições especiais.

A linguagem PDL2 é usada para programar o Controlador Comau C5G. O Controlador C5G pode
executar múltiplos programas simultaneamente para lidar com todos os aspectos de um aplicativo.

146
Descrição da Estrutura de Programação Básica.
Os programas PDL2 são divididos em duas categorias de acordo com o atributo, que são:

• Holdable (indicados pelo atributo HOLD): são controlados pelos comandos


START e HOLD. Geralmente, tais programas incluem movimentos, mas
não é um requisito.
• Non-holdable (indicados pelo atributo NOHOLD): não são controlados
pelos comandos START e HOLD. Geralmente, são usados como
programas de controle de processo. Programas Non-holdable não podem
conter instruções de movimentos, entretanto, eles podem usar variáveis
posicionais para outros fins.

147
Descrição da Estrutura de Programação Básica.

Um programa inicia com a instrução PROGRAM. Esta instrução identifica o programa com um nome
definido pelo usuário. O mesmo nome identifica o arquivo em que o programa está armazenado.
Os programas são divididos em uma seção de declaração e em uma seção executável. A seção de
declaração é uma lista de todos os dados e rotinas definidos pelo usuário que o programa irá utilizar.
A seção executável é uma lista de todas as instruções que o controlador irá executar para efetuar
uma tarefa.

A instrução BEGIN separa a seção de declaração da executável. O programador pode incluir a opção
CYCLE com a instrução BEGIN para criar um ciclo contínuo. A instrução END indica o fim do
programa e também inclui o nome do programa.

148
Descrição da Estrutura de Programação Básica.
Skeleton
PROGRAM <nome>
Área de declaração
BEGIN Esse é o mínimo para
Ser um programa PDL2 válido

Área de execução

END <nome>

149
Descrição da Estrutura de Programação Básica.
Skeleton exemplo

PROGRAM teste_01
Área de declaração Lembrete:
O nome do programa deve
BEGIN
Estar no início, no fim e no nome
Do arquivo:
teste_01.cod
Área de execução teste_01.pdl

END teste_01

150
Descrição da Estrutura de Programação Básica.
Constantes são declaradas na seção CONST de um programa. A declaração de uma constante estabelece um
identificador constante com dois atributos: um nome e um valor imutável.
O tipo de dados da constante é compreendido pelo seu valor atribuído, que podem ser INTEGER, REAL, BOOLEAN
ou STRING. Dentro do programa, o identificador pode ser usado no lugar do valor.
As declarações de constantes aparecem na seção de declaração, após a palavra reservada CONST.

Por exemplo: Lembrete:


CONST <nome> = <valor>
producao = 4
test_flag = TRUE
tecla_U1 = 21
led_U3 = 23

151
Descrição da Estrutura de Programação Básica.

Exemplo didático:
CONST

<nome> = <valor>

INTEGER, REAL, BOOLEAN ou STRING

Por exemplo:
CONST
producao = 4 --representa tipo número inteiro - INTEGER
pi = 3.14 --representa tipo número real - REAL
led_ligado = TRUE --representa tipo lógico - BOOLEAN
msg_erro = ‘erro 521 – disjuntor desarmado’ --representa tipo texto – STRING (aspas simples)

152
Descrição da Estrutura de Programação Básica.
Skeleton exemplo

PROGRAM teste_01
CONST
producao = 4
test_flag = TRUE
Área de declaração
tecla_U1 = 21
led_U3 = 23

BEGIN

Área de execução

END teste_01

153
Descrição da Estrutura de Programação Básica.
Variáveis são declaradas na seção VAR de um programa. A declaração de uma variável
estabelece um identificador constante com dois atributos: um nome e um tipo de dado.
Dentro do programa, pode ser atribuído qualquer valor do tipo de dados declarado a uma variável.
As declarações de variáveis aparecem na seção de declaração, após a palavra reservada VAR.
Por exemplo:
Lembrete:
VAR <nome> : <tipo>
tempo : INTEGER
angulo, distancia : REAL
ponto_01, ponto_02 : POSITION

154
Descrição da Estrutura de Programação Básica.

Exemplo didático:
VAR
<nome> : <tipo>

INTEGER, REAL, BOOLEAN, STRING[num_char], POSITION, JNTPOS

Por exemplo:
VAR
producao : INTEGER -- tipo número inteiro
pi : REAL --tipo número real
led_ligado : BOOLEAN --tipo lógico
msg_erro : STRING[16] --tipo texto –[Número máximo de caracteres]

155
Descrição da Estrutura de Programação Básica.

Exemplo didático:
VAR
<nome> : <tipo>

Por exemplo:
VAR
contador, n, producao : INTEGER -- variáveis do mesmo tipo podem ser separadas por
vírgula

156
Descrição da Estrutura de Programação Básica.
PROGRAM teste_01
CONST
producao = 4
test_flag = TRUE
tecla_U1 = 21
led_U3 = 23 Área de declaração
VAR
tempo : INTEGER
angulo, distancia : REAL
ponto_01, ponto_02 : POSITION
BEGIN

Área de execução
END teste_01

157
Descrição da Estrutura de Programação Básica
PROGRAM teste_01
CONST
producao = 4
test_flag = TRUE
tecla_U1 = 21
Lembrete:
led_U3 = 23
Não importa se as letras estão em
VAR
MAIÚSCULO
tempo : INTEGER
Ou
angulo, distancia : REAL
minúsculo
ponto_01, ponto_02 : POSITION
BEGIN

END teste_01

158
Descrição da Estrutura de Programação Básica.

A instrução PROGRAM identifica o programa e seus atributos. É sempre a primeira instrução de


um programa PDL2. Sua sintaxe segue abaixo:

PROGRAM name <attribute_list>

Comentários:
name é um identificador definido pelo usuário usado para o nome do
programa e do arquivo em que ele está armazenado.
A seção executável de um programa é localizada entre a instrução BEGIN
e a instrução END.

159
Descrição da Estrutura de Programação Básica.
A instrução BEGIN marca o início do código executável em um programa ou rotina. Segue abaixo
sua sintaxe:
BEGIN
Comentários:
As declarações devem ser colocadas antes da instrução BEGIN.
Exemplos:
PROGRAM example_1 PROGRAM example2

-- área de declaração -- área de declaração


BEGIN BEGIN CYCLE
-- área de execução -- área de execução
END example_1 END example2

160
Descrição da Estrutura de Programação Básica.
A instrução CYCLE permite ao programador criar um ciclo contínuo. Segue abaixo sua sintaxe:
CYCLE
Comentários:
• Somente uma instrução CYCLE é permitida no programa e deve ser no programa principal.
• A instrução CYCLE não é permitida em rotinas.
• A instrução CYCLE não é permitida se a opção CYCLE é usada na instrução BEGIN.
• A diferença entre a instrução CYCLE e a opção CYCLE é que usando a instrução CYCLE a
inicialização do código não é executado a cada ciclo.

161
Descrição da Estrutura de Programação Básica.

• Quando a instrução END (do programa) PROGRAM example1


é encontrada, a execução continua de -- declaration section
volta a instrução CYCLE. O ciclo
BEGIN
continua até o programa ser desativado
ou uma instrução EXIT CYCLE ser -- initial executable
executada. Quando uma instrução EXIT -- section
CYCLE é executada, o ciclo em
CYCLE
andamento é finalizado e continua a
execução imediatamente de volta a -- cycled executable
instrução CYCLE. -- section
Segue exemplo ao lado:
END example1

162
Descrição da Estrutura de Programação Básica.
PROGRAM garra
BEGIN

Essa parte será


Executada somente
Ao iniciar o programa

CYCLE

END garra

163
Descrição da Estrutura de Programação Básica.
PROGRAM garra
BEGIN

CYCLE

Essa parte ficará


Repetitiva

END garra

164
Descrição da Estrutura de Programação Básica.

A instrução END marca o fim de um programa ou de uma rotina. Segue abaixo sua sintaxe:
END name
Comentários:
• O name é o identificador definido pelo usuário utilizado para dar um nome
ao programa ou rotina.
• Se a instrução END estiver em uma rotina de procedimento, ele retorna o
controle do programa à rotina ou programa que a chama.
• É um erro se a instrução END de uma rotina de função é executada. Uma
rotina de função deve executar a instrução RETURN para retornar o
controle do programa à rotina ou programa que a chama.

165
Descrição da Estrutura de Programação Básica.
• Se a opção CYCLE foi usada com a instrução BEGIN ou a instrução
CYCLE é usada no programa, a instrução END transfere o controle para o
CYCLE e as instruções entre BEGIN e END são executadas novamente.
Isso mantém o programa em execução até que ele seja desativado.
Exemplos:

PROGRAM example ROUTINE r1


-- declaration section -- local declaration section
BEGIN CYCLE BEGIN
-- executable section --routine executable section
END example END r1

166
Descrição da Estrutura de Programação Básica.

A instrução IF é usada para escolher entre dois possíveis fluxos de execução, baseado no resultado
de uma expressão Booleana. Segue abaixo sua sintaxe:
IF <teste> THEN
<comando>
ENDIF
Comentários:
• teste é qualquer expressão que produz um resultado Booleano.
• Se o resultado é TRUE (verdadeiro), as instruções após a cláusula IF são
executadas. Se o resultado é FALSE (falso), o controle do programa é
transferido para a primeira instrução depois do ENDIF.

167
Descrição da Estrutura de Programação Básica.

Linguagem humana:
SE hoje é sábado THEN
passear
ENDIF
Comentários:
• hoje é sábado é qualquer expressão que produz um resultado Booleano.
• Se o resultado é TRUE (verdadeiro), as instruções após a cláusula IF são
executadas que será “passear”. Se o resultado é FALSE (falso), o controle do programa é
transferido para a primeira instrução depois do ENDIF.

168
Descrição da Estrutura de Programação Básica.

Linguagem humana:
SE hoje é sábado então
vou passear.

Linguagem humana estruturada:


SE hoje é sábado THEN
passear
ENDIF Linguagem PDL2:
IF hoje = sábado THEN
routine_passear
ENDIF

169
Descrição da Estrutura de Programação Básica.
A instrução IF é usada para escolher entre dois possíveis fluxos de execução, baseado no resultado
de uma expressão Booleana. Segue abaixo sua sintaxe:
IF <teste> THEN
<comando>
ELSE
<outros comando>
ENDIF
Comentários:
• teste é qualquer expressão que produz um resultado Booleano.
• Se o resultado é TRUE (verdadeiro), as instruções após a cláusula IF são
executadas. Se o resultado é FALSE (falso), o controle do programa é
transferido para a primeira instrução depois do ELSE.

170
Descrição da Estrutura de Programação Básica.

Linguagem humana:
SE hoje é sábado THEN
passear
SENÃO
trabalhar
ENDIF
Comentários:
• hoje é sábado é qualquer expressão que produz um resultado Booleano.
• Se o resultado é TRUE (verdadeiro), as instruções após a cláusula IF são
executadas que será “passear”. Se o resultado é FALSE (falso), o controle do programa é
transferido para a primeira instrução depois do ELSE<SENÃO>(trabalhar).

171
Descrição da Estrutura de Programação Básica.

Linguagem humana:
SE hoje é sábado então
vou passear
Senão Linguagem humana estruturada:
vou trabalhar SE hoje é sábado ENTÃO
passear
Linguagem PDL2:
SENÃO
IF hoje = sábado THEN
trabalhar
routine_passear
FIM_DO_SE
ELSE
routine_trabalhar
ENDIF

172
Descrição da Estrutura de Programação Básica.

IF hoje = sábado THEN


routine_passear Comandos Aninhados:
routine_restaurante
ELSE Um comando dentro de outro
IF hoje = domingo THEN comando
routine_viajar
ELSE Nesse exemplo, vemos um IF
routine_trabalhar dentro de outro IF,

ENDIF Isto é aceito pela linguagem

ENDIF

173
Descrição da Estrutura de Programação Básica.
COMPARADORES E OPERADORES:
IF (hoje = sábado) AND (horas > 6) THEN
AND – elemento E
routine_passear
OR – elemento OU
routine_restaurante
> Maior que
ELSE
< Menor que
IF hoje = domingo THEN
<> Diferente
routine_viajar
>= Maior e/ou igual
ELSE
<= Menor e/ou igual
routine_trabalhar
:= Atribuir valor
ENDIF
+= Incremento
ENDIF
-= Decremento

174
Descrição da Estrutura de Programação Básica.

• Se a cláusula ELSE é especificada e bool_expr é FALSE (falsa), as instruções entre ELSE e


ENDIF são executadas.
Exemplo:
SE a saída digital “13” estiver
IF $DOUT[13]=OFF THEN
desligada:
WRITE LUN_TP(‘***ERROR***’)
Irá escrever na página TP_INT
ELSE
(Menu esquerdo do iTP)
WRITE LUN_TP(‘Loading data...’)
A mensagem ***ERROR***
ENDIF
SENÃO
Irá escrever na página TP_INT
(Menu esquerdo do iTP)
A mensagem Loading data...

175
Descrição da Estrutura de Programação Básica.

A instrução GOTO incondicionalmente transfere o controle do programa para o lugar do programa


especificado pelo label. Segue abaixo sua sintaxe:
GOTO statement_label
Comentários:
• statement_label é um identificador, na margem esquerda, seguido por dois
pontos consecutivos (::).
• Instruções executáveis podem seguir na mesma linha, ou em qualquer
linha após o label. O label deve estar dentro da mesma rotina ou campo
do programa que a instrução GOTO ou um erro de tradução ocorrerá.

176
Descrição da Estrutura de Programação Básica.

A instrução GOTO não deve ser usada para pular, ou sair de, um ciclo FOR. Se o ENDFOR é
alcançado sem ter executado a instrução FOR correspondente, um erro ocorrerá. Se o GOTO é
usado para pular fora de um ciclo FOR depois da instrução FOR ter sido executada, informações
pertinentes a execução da instrução FOR serão perdidas.

177
Descrição da Estrutura de Programação Básica.

Exemplo:
PROGRAM example
BEGIN
-- . . .
IF $DIN[21]=ON THEN
GOTO err_prt
ENDIF
...
err_prt::
WRITE lun_tp(‘This is where the GOTO transfers to.’, NL )
WRITE lun_crt(‘This is where the GOTO transfers to.’, NL )
END example

178
Descrição da Estrutura de Programação Básica.

Exemplo:
PROGRAM example
BEGIN
... SE a entrada digital “13” estiver ligada:
IF $DIN[21]=ON THEN Acontecerá um “SALTO” e a instrução

GOTO err_prt $DOUT[44]:= ON

ENDIF Não será executada...

$DOUT[44]:= ON
err_prt::
WRITE (This is where the GOTO transfers to. )
END example

179
Descrição da Estrutura de Programação Básica.

A instrução WAIT FOR suspende a execução do programa até que uma condição especificada
seja satisfeita. Segue abaixo sua sintaxe:
WAIT FOR cond_expr
Comentários:
• cond_expr especifica uma lista de condições que o programa vai esperar.
A expressão pode ser construída com os operadores AND e OR.
• Quando cond_expr é satisfeita, a execução do programa continua.
Exemplo: Fica subentendido quando é “=ON”
WAIT FOR $DOUT[24] A linguagem entende, caso, deixe de
Ou declarar, pois pressupõe-se que se
WAIT FOR $DOUT[24] = ON espera
Alguma instrução em TRUE / ON...

180
Descrição da Estrutura de Programação Básica.

Exemplo:
Move joint to p1
Move joint to p2 STOP
WAIT FOR $FDIN[23]
Move joint to p3 ESPERE POR...
Move joint to p4 O PONTEIRO DO PROGRAMA IRÁ
FICAR PARADO NESSA LINHA
ESTA É A MANEIRA SEGURA DE
TRABALHAR AGUARDANDO A
SATISFAÇÃO DE ALGUMA CONDIÇÃO

181
Descrição da Estrutura de Programação Básica.
A instrução FOR executa uma sequência de instruções conhecidas um certo número de vezes.
Sua sintaxe segue abaixo:
FOR intvar := startval || TO || endval <STEP step_val> DO
<statement>...
ENDFOR
Comentários:
• À Intvar é inicialmente atribuído o valor de startval. Em seguida é
incrementado ou decrementado a cada ciclo até que endval seja
alcançado ou superado. O ciclo consiste de instruções executáveis entre
FOR e ENDFOR.
• startval, endval, e step_val podem ser qualquer expressão INTEGER
(inteira). intvar deve ser uma variável INTEGER (inteira).

182
Descrição da Estrutura de Programação Básica.

• Se TO é usado intvar é incrementado. startval deve ser menor que ou igual a endval ou o ciclo
será ignorado.

• Se a opção STEP é especificada, seu valor é indicado por step_val. O valor utilizado deve ser
um valor positivo INTEGER (inteiro) para garantir que o ciclo seja interpretado corretamente.
Se o valor STEP não for especificado, o valor unitário é utilizado.

183
Descrição da Estrutura de Programação Básica.
Exemplo:
VAR
I, signal_total : INTEGER
BEGIN
signal_total := 7
FOR i := 21 TO signal_total DO
$DOUT [ i ] := OFF
ENDFOR

184
Descrição da Estrutura de Programação Básica
A instrução HOLD coloca todos os programas ‘holdable’ em execução no estado pronto e causa a
desaceleração do movimento até parar. Sua sintaxe segue abaixo:
HOLD
Comentários:
• A instrução HOLD trabalha exatamente como a tecla HOLD no TP.
• HOLD causa uma lenta desaceleração do ‘arm’ até cessar o movimento. A
variável predefinida $HLD_DEC_PER indica a taxa de desaceleração.
• A tecla START deve ser pressionada para colocar os programas ‘holdable’
de volta em execução.
• A instrução HOLD pode ser usada em programas ‘holdable’ e
‘non-holdable’.

185
Turn-set e Calibração – Ementa .
 Turn-set

 Turn-set na posição de calibração de sistema

 Turn-set na posição de calibração do usuário

 Calibração

 Calibração de sistema

 Calibração de usuário

 Posição de calibração de sistema

186
Turn-set e Calibração – Turn-set .

187
Turn-set e Calibração – Turn-set.
A operação de turn-set é solicitada quando:
• Verificam-se movimentos dos eixos com o controlador desligado (por

exemplo, quando está sendo sinalizado o erro 59411 SAX – movimento

após desligamento) é mostrado.


• Verificam-se eventos que levam somente à perda do número de giros do

Encoder, e então, não requerem a execução do procedimento de

calibração. Na janela de estado do terminal de programação ou na tela do

PC a mensagem TURN é exibida.

Dependendo de como o turn-set venha a ser efetuado, com o Robô na posição de calibração de sistema ou na
posição de calibração do usuário, se obterá:
• Turn-set na posição de calibração de sistema.
• Turn-set na posição de calibração do usuário. 188
Turn-set e Calibração – Turn-set na posição de
calibração de sistema.

189
Turn-set e Calibração – Turn-set na posição de
calibração de usuário.

• Permite inicializar o número de giros do ENCODER dos eixos do Robô, na posição de

calibração do usuário (posição de calibração "fora de impedimento” definido pelo

usuário).

Para maiores informações usar como referência a Calibração do usuário ($CAL_USER).

190
Turn-set e Calibração – Calibração.
O objetivo do procedimento de calibração é estabelecer a posição dos eixos de um Robô referindo-a a um Robô ideal.

Isto permite inicializar as quotas dos eixos do Robô e tornar universais as variáveis posicionais usadas nos programas

do Robô.

Durante o procedimento de calibração, quando o eixo desejado está na posição de calibração, dois valores são

memorizados:

• O desvio, interno de um giro do Encoder, entre o valor da posição real

e o valor da posição teórica do eixo,

• O número de giros do Encoder.

191
Turn-set e Calibração – Calibração.
As marcas presentes em cada eixo permitem executar futuras operações de turn-set de um Robô já instalado.

A recuperação da calibração (executada pela COMAU), se necessário, deve ser efetuada durante a primeira
colocação em funcionamento do Robô.

Posteriormente, não será necessário executar a calibração novamente, a menos que ocorra uma falha
mecânica que envolva a substituição de um componente, ou em caso de impactos que danifiquem a estrutura
do robô.

A seguir são descritos os conceitos básicos relativos a:

• Calibração de sistema
• Calibração do usuário

192
Turn-set e Calibração – Calibração de sistema.

• Permite inicializar as quotas dos eixos do Robô, na posição de calibração

de sistema (posição de calibração predefinida pela COMAU Robotics –

$CAL_SYS).

Para determinar a correta posição de calibração, devem ser utilizados instrumentos específicos (relógio

comparador, suportes, etc.) adequados para que se tenha a precisão necessária da posição de cada um dos

eixos.

193
Turn-set e Calibração – Calibração de usuário.
• Define uma nova posição de calibração que é diferente da posição de sistema.

Este tipo de calibração (geralmente chamada de fora de impedimento) pode ser utilizada quando a posição de
calibração do sistema é de difícil acesso, uma vez que o robô está na aplicação final, e então, seja necessário
definir uma posição de calibração diferente, chamada posição de calibração do usuário ($CAL_USER).

É responsabilidade do usuário utilizar instrumentos adequados e checar o posicionamento correto do robô em


quaisquer recalibrações de usuário.

194
Turn-set e Calibração – Posição de calibração de
sistema.
6

A figura ao lado mostra as referências 5 4


para as posições de Calibração de 3
Sistema dos seis eixos do robô. 2

195
Turn-set e Calibração – Anotação.

196
Calculo de TOOL e FRAME.

Introdução

Cálculo do TOOL

Cálculo do UFRAME

197
Calculo de TOOL e FRAME.
• Importância: o $TOOL e $UFRAME devem ser sempre declarados no início de cada programa,
pois informa ao robô qual a ferramenta e qual área de trabalho será utilizada.

“ATENÇÃO: A FALTA DA DECLARAÇÃO DO TOOL E DO FRAME É


UMA POSSIBILIDADE IMINENTE DE COLISÃO DO ROBÔ”

198
Calculo de TOOL e FRAME.

Selecione a página Configuração no ícone Teach Pendant, Motion, Frames e, em seguida, no


ícone Tool, para ativar o Procedimento automático de cálculo do Tool e Frame.

Quando ativado, a seguinte página é exibida:

199
Calculo de TOOL e FRAME.

O usuário deve escolher o tipo de ferramenta que está sendo calculado:


• Local.
• Remote.
Indique o método a ser usado:
• Standard - o método Padrão é sugerido no caso do Mestre da Ferramenta estar disponível e não
existirem obstáculos que impeçam que o flange do robô se mova livremente.
• 4 pontos - o método de 4 pontos permite calcular as medidas da ferramenta, usando a própria
ferramenta, ensinando posições suficientes para obter suas dimensões.

200
Calculo de TOOL e FRAME.
Logo após ter feito a escolha, indique quais são os quatro pontos.
• Mova o TCP para o ponto de referência e indique-o .
• Mova o TCP para o ponto de referência com orientação diferente do ponto anterior e indique-o.
• Mova o TCP para o ponto de referência com orientação diferente dos pontos anteriores e indique-o.
Se a medição do TCP é possível, o usuário recebe uma avaliação da precisão do procedimento de aquisição (e
não a precisão da medição da ferramenta) com a possibilidade de aceitar a medida fornecida e continuar com o
cálculo da orientação ou continuar com a aquisição de pontos.

201
Calculo de TOOL e FRAME.
• Mova o TCP para o ponto de referência com orientação diferente dos ponto anteriores e
indique-o.
• Após a aquisição dos pontos, caso o algoritmo de cálculo avalie o cálculo como bom, a tela ao
lado
é exibida. Pressione OK.

202
Calculo de TOOL e FRAME.
• A mensagem ‘Orientar Z tool coincidente com – Z da base’ é exibida. Após indicar a orientação
conforme o ponto 4 da figura abaixo.
• Salve os valores calculado ,se a aquisição do oitavo ponto é alcançada sem a obtenção de
uma boa medida da ferramenta, o procedimento deve ser repetido desde o início.

203
Calculo de TOOL e FRAME.
Para o cálculo automático do UFRAME deve-se:

• Indicar qual ferramenta está montada na flange do robô, com suas dimensões declaradas na
variável de sistema $TOOL.

• Indicar três pontos de referência no espaço de trabalho:

• ORIGIN: onde a origem do FRAME será estabelecida.


• Xpos: direção e sentido x do FRAME.
• Xypos: direção e sentido y do FRAME.

A direção e sentido z do FRAME é sempre considerada saindo para cima do plano xy do FRAME.

204
Calculo de TOOL e FRAME.
Para o cálculo automático do UFRAME, acesse através do menu esquerdo, a Página de
Configurações (Setup) , motion , selecionar a pasta Frames selecione o ícone ToolFrame.

205
Calculo de TOOL e FRAME.
Ao abrir este ambiente, é exibida uma página na qual a ferramenta ativa no momento é mostrada
na caixa de seleção de seleção de ferramentas, juntamente com a indicação se é local ou remota.

206
Calculo de TOOL e FRAME.
Mova a ferramenta TCP para a posição ORIGIN.
Toque na tecla Ensinar para adquirir a posição atual, toque em uma das seguintes teclas, de
acordo com as necessidades reais:
• Next - permite acessar a fase de ensino do ponto Xpos
• Cancelar - permite repetir a fase de ensino desde o início

207
Calculo de TOOL e FRAME.
Mova a ferramenta TCP para a posição Xpos e, em seguida, toque na tecla Ensinar para adquiri-la.

208
Calculo de TOOL e FRAME.
Mova a ferramenta TCP para a posição XYpos e, em seguida, toque na tecla Teach para adquiri-
la.

209
Calculo de TOOL e FRAME.
O programa exibe valores calculados em $ UFRAME (realocações XYZ e orientações AER).

210
Calculo de TOOL e FRAME.
A página dedicada para salvar esses valores é exibida.

211

Você também pode gostar