Uploaded by lincon com.br

TREINAMENTO OPERAÇÃO PROGRAMAÇÃO BASICA IRC5 ABB

advertisement
IRC5 Programação Básica
IRC5 – Operação e
Programação Básica
© ABB Inc. -1
IRC5 Programming
Basic
IRC5 Programação
Programming Básica
Basic
Bem-vindos!
© ABB Inc. -2
Sejam Bem-vindos ao primeiro Centro de
Treinamento ABB em Automação e Robótica da
América Latina!
IRC5 Programação
Programming Básica
Basic
Conteúdo
© ABB Inc. -3
Introdução
4
Informações Gerais do Curso
13
Objetivos do Curso
15
Robótica - Tipo de Robôs e Aplicações
16
Segurança
20
Descrição do Sistema
40
Mensagem de Eventos
61
Fundamentos da Programação
74
Backup and Restore
97
TCP (Ponto Central da Ferramenta)
115
Robot Studio Online
131
Programação Estruturada
141
Controlando o Fluxo do Programa
164
Trabalhando com numerais
172
Comunicando com o Operador
179
Outras Instruções
189
Work Objects
198
Programando com OffSets
206
Calibração e Sincronismo
214
Exercícios
225
Resumo - Instruções / Funções de Programa
242
Contatos ABB
243
Avaliação do Curso
245
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -4
Introdução

Apresentações ABB

Robótica ABB

Treinamento ABB
IRC5 Programação
Programming Básica
Basic
O mundo ABB
© ABB Inc. -5
Líder global em tecnologias de potência e automação
Posições de liderança de mercado nos principais negócios

Cerca de 117.000 funcionários
em mais de 100 países

Formada em 1988, com a fusão
de empresas de engenharia
suíça e sueca

Empresas precursoras fundadas
em 1883 e 1891

Empresa de capital aberto com
sede na Suíça
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -6
ABB - Visão
Como uma das empresas líderes mundiais
em engenharia, ajudamos nossos clientes a
utilizarem energia elétrica de forma eficiente,
aumentarem sua produtividade industrial e
diminuírem seu impacto ambiental de forma
sustentável.
IRC5 Programação
Programming Básica
Basic
ABB - Portifólio
Como estamos organizados
5 Divisões Globais
Produtos de
Potência
Sistemas de
Potência
Discrete
Automation
and Motion
Produtos de
Baixa Tensão
$11.2 bilhões
33.500
funcionários
$6.5 bilhões
16.000
funcionários
$5.4 bilhões
18.000
funcionários
$4.1 bilhões
19.000
funcionários
Automação de
Processos
$7.8 bilhões
28.000
funcionários
Faturamento em 2009 (US$; valores pró-forma para as divisões de automação)

Portfólio ABB:
© ABB Inc. -7


Equipamentos elétricos,
automação, controle e
instrumentação para
geração de energia e
processos industriais
Transmissão de energia

Soluções de distribuição

Produtos de baixatensão

Robótica e sistemas
robotizados
IRC5 Programação
Programming Básica
Basic
ABB
Energia e automação estão em torno de nós
Você encontrará a tecnologia ABB...
funcionando em órbita ao redor do planeta,
cruzando oceanos e no fundo do mar,
nos campos onde crescem nossas safras e
nas embalagens dos nossos alimentos,
© ABB Inc. -8
nos trens em que viajamos e nas
instalações que processam nossa água,
nas usinas que geram nossa
energia e em nossas casas.
IRC5 Programação
Programming Básica
Basic
ABB - Inovação
Pioneira em tecnologia desde 1883
Os fundadores
Turbochargers
Turbina a vapor
1900
1920
1930
1940
Motor sem redutor
Painéis isolados
a gás
Robôs industriais
Turbina
a gás
HVDC
1950
1960
1970
1980
© ABB Inc. -9
Acionamentos e
inversores de frequência
1990
Sistemas de
controle distribuído
Sistemas de
propulsão elétrica
2000
Ultra-alta tensão
IRC5 Programação
Programming Básica
Basic
ABB
Inovação, paixão e diversidade são as marcas da ABB
© ABB Inc. -10
"A ABB é uma equipe dinâmica e
multicultural distribuída pelo planeta,
trabalhando em um mundo fascinante de
alta tecnologia.
Nosso portfólio é amplo, mas os benefícios
são claros: ajudamos no fornecimento
confiável de energia e no aumento da
produtividade, ao mesmo tempo em que
diminuímos o impacto ambiental."
Joe Hogan, CEO
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -11
Robótica ABB

Robô Produto

Robô Automação

Robô Serviços

Treinamentos

Serviços de Campo

Peças de Reposição

Retrofit e Reparos

Projetos de Melhoria

Contratos de Manutenção
IRC5 Programação
Programming Básica
Basic
Treinamento ABB

Centro de Treinamento




Osasco – SP

Curitiba – PR
Treinamentos no cliente
Escopos dos Treinamentos

© ABB Inc. -12
Centro de Treinamentos na Região Sudeste e Sul

Treinamentos Padrão

Op e Programação Básica IRC5 e S4

Programação Avançada IRC5 e S4

Op e Manutenção Mecânica IRC5 e S4

Op e Manutenção Elétrica IRC5 e S4

Programação Off-Line via Software de simulação Virtual IRC5 e S4
Treinamentos Personalizado conforme necessidade do cliente
IRC5 Programação
Programming Básica
Basic
Informações Gerais do Curso

Regulamentos




© ABB Inc. -13


Almoço:
No horário do almoço, as salas ficarão fechadas. O almoço já está incluso no treinamento,caso
deseje almoçar fora, a região oferece outras opções.
Durante as aulas:
No interior das salas de aula e hall do ABBI, não é permitido fumar, existe uma área externa
reservada para fumantes, contamos com sua colaboração. Para evitar interrupções e distrações,
bem como incômodos aos outros alunos, o uso de celulares e pagers devem ser evitados durante
as aulas. Caso seja extremamente necessário, manter o aparelho celular/pager ligado, deixe-o no
modo vibra-call.
Visando a qualidade e higiene, nossos sanitários constantemente são vistoriados e limpos. Por este
motivo, temos sanitários disponíveis no andar superior também.
Guarda do Material Didático:
Cada aluno é responsável por seu material de estudo (Kit do Estudante) e pertences pessoais, não
cabendo a ABB a responsabilidade por perda ou roubo destes materiais. Recomendamos aos
alunos que ao término do curso, levem seu material consigo, pois a ABB não fará a guarda do
mesmo.
Coffee-breaks:
Durante os intervalos será servido um coffee-break no hall do ABBI térreo. Por favor, não leve
alimentos e bebidas para as salas de aula e laboratórios, contribuindo desta forma, para a boa
conservação do local.
Telefones:
Estará disponível um ramal para efetuar ligações externas. Gentileza se informar com o instrutor
sobre o procedimento.
Estacionamento:
A Utilização será orientada na Portaria.
IRC5 Programação
Programming Básica
Basic
Informações Gerais do Curso



Perfil do Aluno:
Operadores, técnicos e engenheiros que irão atuar na operação e/ou desenvolvimento de
programas robotizados.
Duração:
4 dias. (Carga Horária Total de 28 Horas).
Horários:
08:30h
Início de Aula
10:15 - 10:30h
Coffee-break
12:45 – 13:45h
Almoço
15:15 – 15:30h
Coffee-break
16:30h
Final da Aula
.
© ABB Inc. -14
Bom Curso!!!
IRC5 Programação
Programming Básica
Basic
Objetivos do Curso
O objetivo deste treinamento é ensinar os princípios básicos de operação com o
robô, apresentando de maneira simples e direta os elementos necessários para
operadores, técnicos e engenheiros poderem manusear e operacionalizar uma
célula de robô em produção, bem como criar, interpretar, efetuar
alterações/correções em programas simples, operacionalizando uma célula
robotizada.
Ao concluir o curso o aluno estará apto a:









© ABB Inc. -15



Operar o robô e seus programas com segurança nos seus diversos modos de operação.
Interpletar e responder eventos do controlador.
Compreender conceitos básicos de Calibração/Sincronismo.
Compreender o sistema de Coordenadas juntamente com TCP e WorkObject.
Criar, Editar e Analisar programas básicos.
Utilizar instruções de movimentação nos programas.
Utilizar instruções de Controle de Fluxo nos programas.
Utilizar instruções Matemáticas nos programas.
Utilizar instruções de I/O nos programas.
Utilizar instruções de Interface nos programas.
Utilizar instruções de tempo nos programas.
Realizar Backup e Restaurar programas.
IRC5 Programação Básica
Robótica
Tipo de Robôs e Aplicações
IRC5 Programming
Basic
IRC5
© ABB Inc. -16
Programação Básica
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -17
Tipo de Robôs

Robôs Industriais

Androide

Scara

FlexPicker
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -18
Aplicações Robotizadas

Manipulação

Soldagem MigMag

Soldagem à Ponto

Pintura

Lavagem

Cola

Usinagem

Etc…
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -19
Vantagens com a Automação Robotizada

Segurança

Repetibilidade

Qualidade

Produtividade

Competitividade
IRC5 Programação Básica
Segurança
IRC5 Programming
Basic
IRC5
© ABB Inc. -20
Programação Básica
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -21
Introdução

O Aluno deve conhecer e entender
os procedimentos de segurança
descritos no Manual do Operador
e Manual do Produto.

Adicionalmente as informações de
segurança que serão passadas
pelo Instrutor, o aluno deverá
observar os procedimentos de
segurança descrito nos manuais.

Compreender Segurança e seus
Procedimentos no trabalho com
robôs industriais é uma premissa
deste treinamento.
IRC5 Programação
Programming Básica
Basic
Risco de Acidentes

Falha Humana

Reparo

Mudança de
Programa

Teste
© ABB Inc. -22
Sempre evite a área de risco!
IRC5 Programação
Programming Básica
Basic
Travamento (Lock Out)
© ABB Inc. -23
Utilize dispositivo de travamento para fontes de energia.
IRC5 Programação
Programming Básica
Basic
Recursos de Segurança ABB

Parada de Emergência (ES)

Modo de Operação


Auto

Manual < 250 mm/s

Manual 100%
Dispositivo de Segurança
em Manual (Enabling device /
Dead mans grip)

Dispositivo de Segurança
em Manual 100% (Hold-to-run)

Cadeia de Segurança
(Safeguard stop/ Run Chain)
(Auto and Manual)
© ABB Inc. -24

Limite Área de Trabalho
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -25
Segurança – regulamentos

Os robôs ABB cumprem as exigências requeridas na
ISO 10218, Jan 1992, segurança de robôs Industriais.
Os mesmos também cumprem exigências da ANSI/RIA
15.06-1999.

Definição de Segurança função/regulamento:

Emergency stop – IEC 204-1, 10.7

Enabling device – ISO 11161, 3.4

Safeguard – ISO 10218 (EN 775), 6.4.3

Reduced speed – ISO 10218 (EN 775), 3.2.17

Interlock – ISO 10218 (EN 775), 3.2.8

Hold to run – ISO 10218 (EN 775), 3.2.7
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -26
Parada de Emergência (Emergency Stop)

Os botões de emergência
estão localizados no
FlexPendant e no Módulo de
Controle padrão.

Pode-se adicionar botões de
Emergência na célula
robotizada bastando
conectá-los a Cadeia de
Segurança do robô (Run
Chain).
Para reset das falhas de Emergência o botão
“Motors On” deverá ser pressionado.
IRC5 Programação
Programming Básica
Basic
Modos de Operação

Automático

© ABB Inc. -27

Modo de Produção (sem limite de velocidade)
Manual

< 250 mm/s – velocidade máx. 250 mm/s

100 % – Opcional. Robô pode ser testado sem
limitação de velocidade.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -28
Enabling Device (Dead Mans Grip)

O botão “Enabling device” possui três estágios
(posições).

Para ativação dos motores o botão precisa
necessáriamente estar na posição intermediária.

Os movimentos do robô irão parar imediatamente caso
o botão seja solto ou pressionado até o final.
Enabling device
IRC5 Programação
Programming Básica
Basic
Hold-to-Run

Opcional (esta função poderá ser utilizada
somente no modo manual 100%).

No modo de operação manual 100% os
motores só serão ativados ao pressionar
simultaneamente os botões “Enabling device”
e “Hold-to-Run”.
© ABB Inc. -29
Enabling device
Hold-to-run buttons
(for left or right hand)
IRC5 Programação
Programming Básica
Basic
Cadeia de Segurança (Safeguard Stop/ Run Chain)

As conecções da Cadeia de Segurança (Run Chain) possibilita o
intertravamento de equipamentos externos como portas, curtinas
de luz, Tapete de Segurança, etc.

Existem duas categorias de Cadeia de segurança:
© ABB Inc. -30


Manual – A parada de segurança é ativada por qualquer um dos Elos
de Segurança com exceção ao “AutoStop” (Emergency Stop, General
Stop, Superior Stop)

Auto – A parada de segurança é ativada quando o controlador opera
no modo automático (Auto Stop)
É possível configurar um retardo para atuação da Cadeia de
Segurança (Soft Stop). O robô irá parar aproximadamente 1
segundo após acionamento da Cadeia de Segurança sem desviar
da trajetória original do programa, isso ocorre devido a um retardo
na desabilitação do “Motors On”
IRC5 Programação
Programming Básica
Basic
Limitando a Área de trabalho (Workspace)
© ABB Inc. -31

Para evitar riscos de colisão
entre o robô e equipamentos
dentro da área de trabalho do
robô, por exemplo o
fechamento de segurança, A
área de trabalho do robô
(Workspace) pode ser limitada:

Todos eixos podem ser limitados
via software

Os eixos 1-3 podem ser limitados
mecanicamente através de
batentes mecânicos e chaves fimde-curso (Limit Switches)
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -32
Segurança – Ferramentas de Manipulação

Toda ferramenta de manipulação (Garras -Grip Devices)
deveria ser projetada para não soltar a peça em caso
pane. Ex.: Falta de alimentação

O projeto deverá possibilitar liberação da peça
manualmente
IRC5 Programação
Programming Básica
Basic
Segurança - Eletricidade

Alta tensão de alimentação nos painéis de controle e
manipulador

Módulo de controle (Control Module)
© ABB Inc. -33


Alimentação da Fonte (Power supply) – 230 VAC

Outros equipamentos do usuário (Customer equipment) – …
Módulo de Drives (Drive Module)

Alimentação da Rede (Power Source) – 480 VAC

Alimentação da Fonte (Power supply) – 230 VAC

Alimentação para motores – 370VDC até 700 VDC
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -34
Segurança – Liberando Freios

Os freios dos motores do robô podem ser liberados
manualmente

Antes de liberar o freio, certifique-se que o braço do
robô esteja apoiado a fim de não provocar acidentes
envolvendo pessoas ou equipamentos
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -35
Segurança Pessoal

Controle de acesso a Área de Trabalho do robô

Posicionando adequadamente os dispositivos que compõem a
célula, em função da Área de Trabalho do robô (Work space),
pode-se minimizará o risco de contato pessoal com o manipulador
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -36
Procedimentos de Segurança ABB
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -37
Procedimentos de Segurança ABB
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -38
Procedimentos de Segurança ABB
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -39
Procedimentos de Segurança ABB
ABB - Osasco
IRC5 Programação Básica
Descrição do Sistema
IRC5
© ABB Inc. -40
Programação Básica
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -41
Sistema do Robô
Controlador IRC5
Manipulador IRB6600
IRC5 Programação
Programming Básica
Basic
Controlador IRC5
FlexPendant
Robot Studio Online
Chave Geral
Módulo de Controle
(Control Module)
© ABB Inc. -42
Módulo de Acionamento
(Drive Module)
IRC5 Programação
Programming Básica
Basic
Controlador Flexivel DCX
Chave Geral
E-Stop
Motors On
Chave Modo Op.
Run Chain Status
Porta USB
Porta Ethernet
© ABB Inc. -43
Horímetro
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -44
Exemplo de Robô Industrial – IRB 6600
Manipulator IRB6600
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -45
Movimentos do robô de 6 eixos
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -46
Exemplo de Robô Industrial – IRB 140
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -47
Movimentos do robô de 6 eixos
IRC5 Programação
Programming Básica
Basic
IRC5 – FlexPendant
Tela Colorida ”Touch Screen”
4 Teclas Programáveis
© ABB Inc. -48
Joystick
3-direções
4 Teclas para rodar programa
Start
Passo a Passo (frente/trás)
Stop
IRC5 Programação
Programming Básica
Basic
IRC5 – FlexPendant
© ABB Inc. -49
ABB Menu
Main menu
Atalho de Janelas
abertas (semelhante
ao Windows)
Barra de Eventos (Status bar)
Tecla de Atalho
(Quickset or
“COG” Menu)
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -50
Menu da Tecla de Atalho (Quickset or COG)
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -51
Movimentando o robô
Para a figura acima, considera-se que o operador encontra-se em frente ao robô
IRC5 Programação
Programming Básica
Basic
Movimentando o robô
+3
-2
+4
-4
+4
-4
-6
+6
-3
-5
-2
+Z
Z
Y
+Y
-X
-X
© ABB Inc. -52
-6
+1
+1
+3
+5
+5
-1
-1
+6
-3
+2
+2
-5
+Y
-Y
+Z
-Z
+X
+Y
-Y
+X
-Z
+Z
+X
X
IRC5 Programação
Programming Básica
Basic
Coordenadas de Sistema
TCPZ
Y
X
Ferramenta
(Tool coordinates)
Z
Y
Z
X
Base (Base coordinates)
Z
Y
Y
X
© ABB Inc. -53
Mundial
(World coordinates)
Objeto
(WorkObject)
X
IRC5 Programação
Programming Básica
Basic
Regra da Mão Direita
+Z
+X
© ABB Inc. -54
+Y
IRC5 Programação
Programming Básica
Basic
IRC5 – FlexPendant
© ABB Inc. -55

Menu Principal ABB
IRC5 Programação
Programming Básica
Basic
IRC5 – FlexPendant

Entradas e Saídas (I/O Window).
© ABB Inc. -56
Output On
Output Off
IRC5 Programação
Programming Básica
Basic
IRC5 – FlexPendant
© ABB Inc. -57

Janela “Colocação em Movimento” (Jogging)
IRC5 Programação
Programming Básica
Basic
Log de Eventos (Handling Events)

Quando um problema ou um possível problema ocorre no robô, uma Mensagem de
Evento é mostrada e armazenada no Log de Eventos (Event Log).
© ABB Inc. -58


Para Limpar o evento pressione “Confirmar”/ “Acknowledge”
Se um evento é ignorado a mensagem aparecerá na Barra de Eventos (Status bar).
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -59
IRC5 – FlexPendant

Habilidade para construir aplicações
customizadas com uso de gráficos e
controle de informações.

Tecnologia Microsoft poderosa com
padrões e ferramentas de
desenvolvimento.

Desenvolvimento OnLine
e OffLine através do
Virtual IRC5.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -60
IRC5 – FlexPendant

Possibilidade de configurar
diferentes níveis de acesso para
grupos de usuários
(User Authentication system

Hot Plug – Possibilidade de
conectar e desconectar a
FlexPendant durante operação

Proteção a ambientes severos –
IP54 (Projecão dágua / Pó)

Múltiplos comprimentos de cabo

Tela “Touch Screen”:

7.7 inch

640 x 480 pixels

Usuários destros e canhotos

Mútiplos Idiomas
IRC5 Programação Básica
Mensagem de Eventos
IRC5
© ABB Inc. -61
Programação Básica
IRC5 Programação
Programming Básica
Basic
Introdução
I
Existem 3 tipos de Mensagem de Eventos:

Informação (Information)

Ex.: Botão “Hold to run” precisa ser pressionado.
Informação de como proceder

Alarme (Warning)

Ex.: Movimento Manual velocidade 100% selecionado.
O operador é informado sobre o risco.

Erro (Error)

Ex.:: Falha do “Motor On” por Parada de Emergência.
© ABB Inc. -62
O sistema não pode operar antes do restabelecimento
do estado atual (Emergency Stop).
IRC5 Programação
Programming Básica
Basic
Mensagem de Informação
© ABB Inc. -63

Ex.: Informação para rodar o programa no modo manual 100%:
IRC5 Programação
Programming Básica
Basic
Mensagem de Alarme
© ABB Inc. -64

Quando o sistema detecta uma situação que pode causar
problemas ou risco de segurança
IRC5 Programação
Programming Básica
Basic
Mensagem de Erro

Quando o sistema detecta um problema ou possibilidade de
problema é gerado uma mensagem de erro com descrição e ação.

Ex.: Mensagem “Unacknowledged” é mostrada em vermelho na Barra
de Eventos (Status bar).
© ABB Inc. -65
“Unacknowledged”
Mensagem Não Reconhecida
IRC5 Programação
Programming Básica
Basic
Conteúdo das Mensagens de Eventos

Uma Mensagem de Eventos consiste em:
Descrição
 Consequências
(opcional)
 Possíveis Causas (opcional)
 Ação
(opcional)

© ABB Inc. -66
Pressionar as teclas
“setas amarelas” para
visualizar todo conteúdo!
IRC5 Programação
Programming Básica
Basic
Visualizando Logs de Eventos na FlexPendant

Menu Principal – Menu ABB

Barra de Eventos – Atalho
Pressionar sobre a barra
para visualizar os eventos.
© ABB Inc. -67
Ou pressionar “Menu
ABB” e “Event Log”.
IRC5 Programação
Programming Básica
Basic
Log de Eventos (Event Log)
© ABB Inc. -68
Ícone
Código
Título
Horário do Registro
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -69
Log de Eventos (Event Log)
 Visualize a lista completa através das setas amarelas
 Selecione a mensagem para visualização dos detalhes
 Resolução do Horário de Registro em centésimos de
segundo
IRC5 Programação
Programming Básica
Basic
Log de Eventos (Event Log)

Os Logs são divididos em Tópicos

Pressionar ”Exibir” (View) e selecionar o Tópico desejado
© ABB Inc. -70

O Tópico ”Comum” (Common) consiste nos últimos Logs que ocorreram
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -71
Categoria de Eventos
Categoria
Núm. do Erro
Area___________
Operacional (Operational)
10xxx
Falha Operacional (Operational Status)
Sistema (System)
20xxx
Falha de Sistema (Panel unit)
Hardware
30xxx
Falha de Placas (Board Failure)
Programa (Program)
40xxx
Programação (Programming)
Movimentos (Motion)
50xxx
Problema de Movimento (Movement problem)
Operação (Operation)
60xxx
Operação FlexPendant (Flex Pendant Handling)
E/S (I/O communication)
errors
70xxx
Falha Comunicação (I/O board communication)
Solda à Arco (ArcWeld)
11xxx
Processo (Process)
Solda à Ponto (SpotWeld)
12xxx
Processo (Process)
Pintura (Paint)
13xxx
Processo (Process)
 Quando necessário suporte para resolução
da falha, verifique o número do erro!
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -72
Logs – Eventos no R.S.O

Os Logs estão disponíveis no R.S.O

Selecionar ”RobotView” e ”Events”.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -73
Exercício 1
1.
Movimente o robô nos modos Eixo-à-Eixo, Linear e Reorientação utilizando o
botão “Quick Set” e o Joystick. Quais são as diferenças entre os tipos de
movimentos possíveis?
2.
O que acontece quando você pressiona a barra superior na tela do
FlexPendant?
3.
Visualize o Log de Eventos. Qual foi o último evento que ocorreu?
4.
Pratique explorando os botões do FlexPendant, se você tiver alguma dúvida
questione o instrutor.
IRC5 Programação Básica
Fundamentos da
Programação
IRC5
© ABB Inc. -74
Programação Básica
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -75
Tópicos

Estrutura de Programa IRC5

Criando, Editando e Salvando um programa

Instruções de Movimento

Utilização de Velocidade e Zona

Execução Passo-a-passo (step-by-step)

Rodando no modo Manual
IRC5 Programação
Programming Básica
Basic
Estrutura de Programa IRC5
Diretório Exemplo_Programa
Exemplo_Programa.pgf
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Program>
<Module>ModuleA.mod</Module>
<Module>MainModule.mod</Module>
MainModule.mod
MODULE MainModule
CONST robtarget home:=[[....]];
VAR num reg1:=0;
PROC main()
Rotina_1;
Rotina_2;
ENDPROC
PROC Rotina_1()
MoveL;
ENDPROC
</Program>
Declaração de Dados
Constantes e Variáveis
Rotinas
ModuleA.mod
MODULE ModuleA
PROC Rotina_A1()
MoveL;
© ABB Inc. -76
MoveL;
PROC Rotina_2()
MoveL;
ENDPROC
ENDMODULE
ENDPROC
ENDMODULE
Instruções
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -77
Exemplo de Programa
IRC5 Programação
Programming Básica
Basic
Salvando e Carregando um programa
Para criar um novo programa, carregar programa existente ou salvar:
•Pressione “ABB”
•Pressione “Editor do Programa”
(Program Editor)
•Selecionar o “Robo Task”
(caso utilize Multimove)
•Pressionar “Tarefas e Programas”
(Task and Program)
•Selecionar a Tarefa/Programa
desejado
•Pressione “Arquivo”(File)
•Pressione “Novo Programa”
(New Program)
•Para criar novo programa
© ABB Inc. -78
•Pressione “Carregar Programa”
(Load Program)
•Para carregar um programa
•Pressione “Salvar Programa como”
(Save Program as)
•Para salvar um programa
IRC5 Programação
Programming Básica
Basic
Salvando um programa

Um diretório com o nome do programa é criado

Módulo: MainModule (todos programas possuem)

Extensão do Arquivo: pgf

© ABB Inc. -79
O mesmo
nome
É um arquivo XML que aponta para MainModule e outros módulos
de programa.
IRC5 Programação
Programming Básica
Basic
Criando um Programa

Para criar um novo Programa:
(se não existir)

Pressione “ABB”

Pressione “Editor do Programa”
© ABB Inc. -80
(Program Editor)

Selecionar o “Robot Task”

Pressione “Novo” (New).

Nomear o programa

Pressione “OK”
IRC5 Programação
Programming Básica
Basic
Adicionando Instruções de Movimento

Para adicionar instruções de movimento:

Pressione “Adicionar Instrução”
© ABB Inc. -81
(Add Instruction)

Mover o Robô para posição desejada

Pressione “MoveJ” ou “MoveL”

Mover o robô para próxima posição

Repetir o procedimento acima
IRC5 Programação
Programming Básica
Basic
MoveJ ou MoveL?
MoveJ
Movimento “Joint” (Joint interpolation) frequententemente é o caminho mais
rápido para mover de um ponto a outro quando não é necessário trajetória linear.
O eixos do robô e eixos externos se moverão ao longo de uma trajetória não
linear e alcançarão o ponto de destino todos ao mesmo tempo. Utilize-o em
espaços abertos como deslocamento de um dispositivo para outro.
© ABB Inc. -82
MoveL
Movimento “LINEAR” (Linear interpolation) é utilizado para mover
linearmente o robô do seu ponto inicial ao ponto de destino (referência
ao TCP). Se não for possível a realização do movimento um evento
será gerado e mostrado na FlexPendant. Utilize-o quando necessário
mover o robô próximo a objetos como dispositivos ou peças.
IRC5 Programação
Programming Básica
Basic
Instruções de Movimento
MoveJ pHome, v500, z5, tGripper
MoveL pHome, v500, z5, tGripper
Na instrução acima temos:
pHome
O Robô movendo para ___________________
v500
Com velocidade de ______________________
© ABB Inc. -83
Com uma Zona de _______________________
z5
tGripper
E um TCP declarado como _________________
IRC5 Programação
Programming Básica
Basic
Velocidade e Zona
z
MoveL p40, v1000, z40, tool0;
© ABB Inc. -84
MoveL p30, v300, z30, tool0;
Velocidade - tipo de dado “speeddata”
Zona - tipo de dado “zonedata”
IRC5 Programação
Programming Básica
Basic
Alterando um Argumento de Programa
Selecione o item a
ser alterado com
“2 cliques”
© ABB Inc. -85
Selecione o novo
valor e pressione
“OK”
IRC5 Programação
Programming Básica
Basic
Modificando uma Posição
Selecione o ponto
a ser modificado.
Mova o robô para
nova posição.
© ABB Inc. -86
Pressione
“Modificar Posição”
(Modify Position)
IRC5 Programação
Programming Básica
Basic
Depurando o programa (Debug)
Ponteiro do
Programa - PP
© ABB Inc. -87
(Program Pointer)
IRC5 Programação
Programming Básica
Basic
Checando Calibração (Robot Calibration)
© ABB Inc. -88

MoveAbsJ

Criar uma nova rotina (GotoCalib)

Inserir a instrução MoveAbsJ

Selecionar o ponto da instrução “*”, pressionar “Depurar” (Debug), “Exibir
Valor” (View Value) e inserir nos campos de cada um dos eixos o valor zero “0”.
IRC5 Programação
Programming Básica
Basic
Instruções de Movimento
o - position
O
posiçãoin
noairespaço
x –position
X
posiçãoon
nopaper
papel
ROBOT
ROBÔ
o pHome
p40 x
o p60
x p10
x p50
© ABB Inc. -89
p30 x
x p20
IRC5 Programação
Programming Básica
Basic
Rodando Programas em modo Manual

Procedimento
Passo Ação
1
Posisione a chave seletora no modo Manual.
Informação/Ilustração
Você encontará maiores
informações sobre o Modo de
operação dos robôs no Manual
de Operação.
Referência.
Manual de Operação (Operator’s manual)
IRC5 with FlexPendant
M2004
Document ID: 3HAC 16590-1
2
© ABB Inc. -90
ATENÇÃO!
Antes de rodar o robô, por favor observar as
informações de segurança na pagina 4
Risco – Manipuladores em movimento são
potencialmente letais
IRC5 Programação
Programming Básica
Basic
Rodando Programas em modo Manual

Procedimento
Passo Ação
Informação/Ilustração
3
Se o programa não está aberto pressione menu
“ABB”, “Editor do Programa” (Program Editor) e
selecione o programa desejado
Como carregar um programa existente
é detalhado na secção 6.7.1
Trabalhando com programas (Handling
of Programs)
4
Selecione o modo de operação do robô
Como selecionar modo de operação e
iniciar é detalhado no secção 6.9
Testando (Testing)
5
Pressione o botão de inicialização do programa
no Flex Pendant (“Start” / “Passo a Passo”)
Todos botões do FlexPendant são
mostrados na secção 2.2 O que é
FlexPendant? (What is a FlexPendant?)
© ABB Inc. -91
Start
Passo a Passo (frente/trás)
Stop
IRC5 Programação
Programming Básica
Basic
Iniciando Execução (Starting Execution)

Procedimento
Passo Ação
© ABB Inc. -92
1
Para rodar o programa utilize a botão na
FlexPendant correspondente ao modo de
execução desejado
Info/Ilustração
Modo de execução detalhado na
secção 6.9.4 Executar instrução
por instrução
(Stepping instructions by
instructions)
IRC5 Programação
Programming Básica
Basic
Execução Passo a Passo

No modo Manual, o programa poderá ser executado passo a passo (stepby-step) onde podemos rodar uma instrução de cada vez, a próxima
instrução ou a anterior

Existem teclas dedicadas na FlexPendant
Tecla Programável 1. Como definir esta função é detalhado
na secção 12.2.6 Alterando teclas Pprogramáveis
(Changing programmable Keys)
Tecla Programável 2. Como definir esta função é detalhado
na secção 12.2.6 Alterando teclas Pprogramáveis
(Changing programmable Keys)
Tecla Programável 3. Como definir esta função é detalhado
na secção 12.2.6 Alterando teclas Pprogramáveis
(Changing programmable Keys)
Tecla Programável 4. Como definir esta função é detalhado
na secção 12.2.6 Alterando teclas Pprogramáveis
(Changing programmable Keys)
Roda o programa - conjunto de instruções do programa
(Start)
© ABB Inc. -93
Roda instrução anterior – somente uma instrução
Roda próxima instrução – somente uma instrução
Para o programa (Stop)
IRC5 Programação
Programming Básica
Basic
Execução Passo a Passo

Selecione modo de passo
Passo
1

Info/Ilustração
Selecionar o modo de Passo - Atalho Quickset
Menu
Detalhes na secção 4.6.5
MenuQuickset, Modo Passo a Passo
Execução do próximo passo
Passo
1

Ação
Ação
Pressione na FlexPendant a tecla
correspondente a figura ao lado
Execução do passo anterior
Passo Ação
1
© ABB Inc. -94
Info/Ilustração
Pressione na FlexPendant a tecla
correspondente a figura ao lado
Info/Ilustração
IRC5 Programação
Programming Básica
Basic
Parando o Programa

Procedimento
© ABB Inc. -95
Passo Ação
Info/Ilustração
1
Durante operação no modo Manual 100%, libere
o botão “Hold-to-Run”
Todos botões do FlexPendant
são mostrados na secção 2.2 O
que é FlexPendant?
(What is a FlexPendant?)
2
Durante operação no modo Manual com
velocidade reduzida, pressione a tecla “Stop” na
FlexPendant
Todos botões do FlexPendant
são mostrados na secção 2.2 O
que é FlexPendant?
(What is a FlexPendant?)
3
Quando rodarmos o programa no modo Passo a
Passo o robô irá parar após a execução de cada
instrução
Execute a próxima instrução
pressionando uma das teclas
abaixo
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -96
Exercício 2
1.
Crie através da FlexPendant do robô um programa simples como descrito
neste capítulo e teste seu programa. Cada aluno deverá criar seu
programa. (Utilize somente as instruções de movimentação explicadas em
aula.)
2.
O que ocorre quando você pressiona o botão de emergência enquanto o
robô está rodando? É possível reiniciar o programa a partir do mesmo
ponto que parou?
3.
Salve o programa na FlashDisk.
4.
Pratique explorando os botões do FlexPendant, se você tiver alguma
dúvida questione o instrutor.
IRC5 Programação Básica
© ABB Inc. -97
Backup &
Restore
IRC5 Programação
Programming Básica
Basic
Tópicos
© ABB Inc. -98

Backup

Porque?

Quando?

Como?

Precauções

O que é guardado?
IRC5 Programação
Programming Básica
Basic
Backup

Possuir um backup perfeito é de suma importância para
uma rápida recuperação das configurações perdidas:

Quando fazê-lo…

Se há suspeitas do sistema atual

Após UpGrades de Software ou
© ABB Inc. -99
troca do mesmo.

Pressione “ABB”

Pressione “Backup and Restore”

Pressione “BackUp Current System”
IRC5 Programação
Programming Básica
Basic
Backup
© ABB Inc. -100

O que contém no backup?

Todos arquivos/pastas armazenadas no diretório Home do
sistema atual localizado na FlashDisk do robô.

Parâmetros de Sistema (ex. Declarações de sinais – I/O).

Programas, módulos e tarefas (Task) atuais na FlashDisk.

As informações do Backup permite restaurar as condições
anteriores do seu sistema.
IRC5 Programação
Programming Básica
Basic
Backup
© ABB Inc. -101

O que fazer antes do Backup!

No Controlador IRC5 assim como no S4C Plus podemos ter vários sistemas
instalados!

Sempre verifique qual sistema está ativo.
IRC5 Programação
Programming Básica
Basic
Backup
© ABB Inc. -102

Sempre

Dê ao backup um nome coerente

Guarde a data que o backup foi criado

Guarde o backup final num lugar seguro
IRC5 Programação
Programming Básica
Basic
Restore
© ABB Inc. -103

Lembre-se

Um backup criado no controlador S4 não pode ser restaurado
no controlador IRC5.

Sempre verifique se está restaurando o sistema correto.
IRC5 Programação
Programming Básica
Basic
Backup
© ABB Inc. -104

Recomendamos realizar o backup:

Antes da instalação de novo RobotWare

Antes de realizar alterações significativas de programa e/ou
parâmetros

Após realização de alterações de instruções e/ou parâmetros e
testá-lo, desejar guardar as novas alterações realizadas.
IRC5 Programação
Programming Básica
Basic
Backup

Procedimento
Passo Ação
1
Pressione “ABB”.
2
Pressione “Backup and Restore”.
© ABB Inc. -105
xx0300000469
Info/Ilustração
IRC5 Programação
Programming Básica
Basic
Backup

Procedimento
Passo Ação
3
Pressione “Backup”.
© ABB Inc. -106
Xx0300000440
O Diretório do Backup será mostrado.
Info/Ilustração
IRC5 Programação
Programming Básica
Basic
Backup

Procedure
Passo Ação
© ABB Inc. -107
4
O diretório mostrado é o correto?
Se sim: Pressione “Backup” e será criado o Backup
conforme configuração visualizada (nome do diretório).
Se não: Pressione … botão à direita e siga o
procedimento abaixo.
xx0300000441
Um backup nomeado de acordo com a data atual é
criado.
Info/
Ilustração
IRC5 Programação
Programming Básica
Basic
Backup

Procedimento
© ABB Inc. -108
Passo
Ação
5
Selecione o diretório desejado.
6
Quando o diretório desejado for mostrado, pressione “OK”.
xx0300000443
Info/
Ilustração
IRC5 Programação
Programming Básica
Basic
Restore


© ABB Inc. -109

Recomendamos restaurar o backup:

Se por alguma razão, suspeitar que o programa apresenta
problemas

Se alguma alteração de programa e/ou parâmetros não
promover o resultado esperado e a condição anterior for
desejada
Durante o procedimento de restore, todos parâmetros
de sistema serão trocados e todos módulos do diretório
de backup serão carregados
O diretório Home do backup é copiado para o novo
diretório Home de sistema durante o “Warm Start”
IRC5 Programação
Programming Básica
Basic
Restore

Procedimento
Passo Ação
1
Pressione “ABB”.
2
Pressione “Backup and Restore”.
© ABB Inc. -110
Xx0300000439
Info/Ilustração
IRC5 Programação
Programming Básica
Basic
Restore

Procedimento
Passo Ação
3
Pressione “Restore”.
© ABB Inc. -111
Xx0300000440
O diretório do backup será mostrado.
Info/Iustração
IRC5 Programação
Programming Básica
Basic
Restore

Procedimento
Passo
© ABB Inc. -112
4
Ação
O diretório mostrado é o correto?
Se sim: Pressione “Restore” e será restaurado o Backup
selecionado.
Se não: Pressione … botão à direita do campo e siga o
procedimento abaixo.
xx0300000441
Info/
Ilustração
IRC5 Programação
Programming Básica
Basic
Restore

Procedure
© ABB Inc. -113
Passo
Ação
5
Selecionar o diretório desejado.
6
Quando o diretório desejado é mostrado, selecione o
backup correto e pressione “OK”.
xx0300000444
A iniciar a restauração, o procedimento de “Warm
Started” ocorre automaticamente.
Info/
Ilustração
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -114
Exercício 3
1.
Crie o Backup do sistema existente.
2.
Salve o Backup no diretório de Backups na FlashDisk e se estiver
disponível, salve o mesmo em uma pen drive.
IRC5 Programação Básica
TCP
Ponto Central da Ferramenta
© ABB Inc. -115
IRC5 Programming
IRC5
Basic
Programação Básica
IRC5 Programação
Programming Básica
Basic
Sistema de Coodenadas da Ferramenta

Sistema de Coordenadas
Coordenada da Ferramenta
Y (Tool coordinates)
Coordenada da Ferramenta (Tool0)
X
© ABB Inc. -116
Z
Y
Z

Benefícios ao utilizar
uma ferramenta:

Movimentação

Reorientação

Facilidade de alteração
do ponto
Coordenada de Base (Base coordinates)
X
IRC5 Programação
Programming Básica
Basic
Sistema de Coordenadas

Veja diferentes exemplos de ferramenta e TCPs (Tool Center Points).
TCP
TCP
TCP
© ABB Inc. -117
TOOL0
TCP
A Tool0 sempre é a referência de
Posicionamento para as demais
ferramentas
IRC5 Programação
Programming Básica
Basic
Definindo e usando uma Ferramenta

T_Caneta
© ABB Inc. -118
Tool 0
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -119
Definindo e usando uma Ferramenta
IRC5 Programação
Programming Básica
Basic
Definição de Ferramenta
© ABB Inc. -120

Crie uma Tooldata no FlexPendant

Pressione “ABB” -> “Dados do Programa” (Program Data) -> Tooldata
-> “Mostrar Dados” (Show Data) -> “Novo” (New)

Nomeie a ferramenta.

Pressione “Valor Inicial” (Initial Value).

Preencha o campo Mass com o peso da ferramenta em Kg.

Preencha o campo COG X com o centro de Massa em mm.

Pressione OK : OK : OK
IRC5 Programação
Programming Básica
Basic
Definindo um TCP – Método dos 4 pontos








© ABB Inc. -121

Selecione a nova ferramenta e
pressione “Editar” (Edit).
Pressione “Definir” (Define).
Selecione Ponto1 (Point1).
Mova o robô para o ponto de
referência.
Pressione “Modificar Posição”
(Modify Position).
Reposicione o robô com nova
orientação.
Pressione “Modificar Posição”
(Modify Position).
Repita a sequência para todos os
pontos.
Pressione “OK”.
IRC5 Programação
Programming Básica
Basic
Definindo um TCP – Método dos 4 pontos

T_Caneta
Ponta Fixa
© ABB Inc. -122
Fixed point
IRC5 Programação
Programming Básica
Basic
Definindo Ferramenta

T_Garra
Tool 0
© ABB Inc. -123
TCP
T_Garra
IRC5 Programação
Programming Básica
Basic
Definindo Carga de Ferramenta (Tool Load)
Todo Controlador IRC5 possui uma rotina de serviço
chamada LoadIdentify. Ela é utilizada para definir a masa
e o centro de gravidade da Ferramenta e/ou Carga
(Payload or Loaddata).
Carga no Braço Superior
(Arm Load)
Carga (PayLoad)
© ABB Inc. -124
Carga da Ferramenta (Tool Load)
ManLoadIdentify é uma rotina utilizada para definir
_________________
carga dos eixos externos.
IRC5 Programação
Programming Básica
Basic
Definindo Carga de Ferramenta (Tool Load)
Vá para rotina LoadIdentify pressionando “Depurar” (Debug )
-> “Chamar Rotina” (Call Service Rout). Selecione
LoadIdentify e pressione “Ir para” (Go to). Pressione o botão
“Enable device” e inicie o programa.
© ABB Inc. -125
Siga as instruções que irão aparecer na tela.
IRC5 Programação
Programming Básica
Basic
Lembre-se
Antes de utilizar o Load Identification (LoadID) certifique-se que as
condições abaixo sejam verdadeiras:
A Ferramenta está montada corretamente.
Lembre-se:
O Eixo 6 não esteja próximo dos limites.
O Eixo 4 esteja próximo de 0 (zero).
A Carga do Braço Superior esteja definida.
Criar um dado de
Ferramenta (Tooldata) antes
de um dado de Carga de
Ferramenta (Tool Load).
Criar um dado de Carga
(LoadData) antes de definir a
carga (PayLoad).
© ABB Inc. -126
Parâmetro de Velocidade configurado em 100%.
IRC5 Programação
Programming Básica
Basic
Identificação de Carga (Load Identification)
Quando o programa perguntar sobre rodar em velocidade baixa,
responda NÃO (NO) porque nada é calculado em velocidade baixa.
Entretanto, se não há certeza sobre o comprimento dos cabos da
ferramenta, então a velocidade baixa deverá ser utilizada e as
trajetórias deverão ser observadas a fim de evitar acidentes.
Siga todas as instruções recomendadas pelo programa.
© ABB Inc. -127
Quando o programa perguntar sobre o ângulo que o eixo 6 moverá
durante o programa, é recomendável selecionar +90 ou -90 graus
para obter-se resultados de maior resolução. Se a ferramenta é
incapaz de mover-se 90 graus, escolha outra opção. No mínimo 30
graus deverá ser especificado.
IRC5 Programação
Programming Básica
Basic
Identificação de Carga (Load Identification)
Ao final do procedimento de Identificação de Carga (Load
Identification) as seguintes informações aparecerão:
© ABB Inc. -128
Massa (Mass) – kg =
Centro de Gravidade (Centrer of Gravity) - mm X=
Centro de Gravidade (Centrer of Gravity) - mm Y=
Centro de Gravidade (Centrer of Gravity) - mm Z=
Resolução Mensurada (Measurement Accuracy) = (Deverá
ser maior que 80%, caso contrário deverá rodar novamente a rotina).
IRC5 Programação
Programming Básica
Basic
Teclas Programáveis
© ABB Inc. -129

Configuranto uma tecla Programável.

Pressione “ABB” -> “Painel de Controle” (Control Panel) ->
“ProgKeys”

Selecione a tecla para configuração.

Selecione o “Tipo” (Type)
- usualmente do tipo Saída digital (Output)

Selecione a Saída digital.

Selecione campo
Tecla Pressionada
(Key Pressed).

Pressione “OK”.
IRC5 Programação
Programming Básica
Basic
Exercício 4
1.
Crie um TCP para a Caneta fixada ao robô utilizando o método de 4
pontos.
2.
Escreva a resolução dos valores de TCP para sua ferramenta criada:
© ABB Inc. -130
•
•
•
Erro Mínimo (Min Error) ________________
Erro Médio (Mean Error) ________________
Erro Máximo (Max Error) ________________
3.
Defina a carga da ferramenta.
4.
Ative a nova ferramenta e teste utilizando o movimento de Reorientação.
5.
Configure uma tecla programável para Habilitar e Desabilitar uma saída
digital.
6.
Se houver tempo disponível crie um novo TCP utilizando nova ferramenta.
7.
Salve o programa na FlashDisk.
IRC5 Programação Básica
© ABB Inc. -131
Robot Studio Online
IRC5 Programming
IRC5
Basic
Programação Básica
IRC5 Programação
Programming Básica
Basic
O que é Robot Studio Online?

Robot Studio Online (R.S.O.) é uma ferramenta de software utilizada
para todos robôs ABB e é entregue ao cliente na aquisição do robô
ABB.

R.S.O. possui três funções principais


© ABB Inc. -132

Instalar/ Criar um novo sistema operacional (system builder)

Modificar ou criar um novo sistema operacional para o controlador.

Carregar um sistema existente para o controlador ou memorystick.
Configuração/ Manutenção de sistemas de robôs existentes

Backup e Restore

Modificar e configurar parâmetros de sistema

Leitura de Eventos, status e Logs de Eventos.
Manipular programas RAPID

Criar um programa RAPID.

Editar um programa RAPID existente (editor de texto).
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -133
Conectando R.S.O ao Controlador

Utilize um cabo Ethernet crossover.

Conecte através do cabo, a saída Ethernet do PC a
porta de entrada Ethernet do controlador.
IRC5 Programação
Programming Básica
Basic
IRC5 FlexPendant & R.S.O
© ABB Inc. -134

A FlexPendant e o RobotStudioOnline trabalham juntos
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -135
Inicializando o R.S.O.

Inicializando o Robot Studio Online.
Start -> Program -> ABB Industrial IT -> Robot Studio
Online.

Crie uma nova visualização de robô.
File -> New Robot View.
IRC5 Programação
Programming Básica
Basic
Utilizando o R.S.O.
© ABB Inc. -136

Nomeie e guarde sua nova configuração criada.
IRC5 Programação
Programming Básica
Basic
Utilizando o R.S.O.
© ABB Inc. -137

Adicionando controlador.
Robot View -> Add Controller OU Right click -> Add
Controller.
IRC5 Programação
Programming Básica
Basic
Utilizando o R.S.O.
© ABB Inc. -138

Localize seu programa Rapid.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -139
Utilizando o R.S.O.

Solicite acesso de escrita ao controlador (Request Write access),
lembre-se de autorizar acesso através do FlexPendant (grant).

Pressione “Enable Edit”. Lembre-se que o R.S.O é uma ferramenta
de edição OnLine.
IRC5 Programação
Programming Básica
Basic
Exercício 5
© ABB Inc. -140
1.
Faça modificações no seu programa utilizando o Robot Studio OnLine.
Altere parâmetros de Velocidade e Zona e teste o programa.
IRC5 Programação Básica
Programação
© ABB Inc. -141
Estruturada
IRC5 Programming
IRC5
Basic
Programação Básica
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -142
Tópicos

Programação Estruturada

Estrutura de Programa IRC5

Conceitos

Programando instruções de I/O

Criando um programa utilizando método JSP

Adicionando Rotinas
IRC5 Programação
Programming Básica
Basic
Programação Estruturada
© ABB Inc. -143
Programação estruturada é uma forma de programação que
preconiza que todos os programas possíveis podem ser reduzidos a
apenas três estruturas: sequência, decisão e iteração,
desenvolvida por Michael A. Jackson no seu livro "Principles of
Program Design" de 1975 (Método JSP).
Tendo, na prática, sido transformada na Programação modular, a
Programação estruturada orienta os programadores para a criação
de estruturas simples em seus programas, usando as subrotinas e
as funções. Foi a forma dominante na criação de software anterior
à programação orientada por objetos POO.
Apesar de ter sido sucedida pela programação orientada por
objetos, pode-se dizer que a programação estruturada ainda é muito
influente, uma vez que grande parte das pessoas ainda aprendem
programação através dela. Além disso, por exigir formas de pensar
relativamente complexas, a programação orientada a objetos até
hoje ainda não é bem compreendida ou usada pela maioria.
IRC5 Programação
Programming Básica
Basic
Programação Estruturada
© ABB Inc. -144

Programação Estruturada

Sequência.

Decisão.

Iteração – Processo chamado na programação de repetição de
uma ou mais ações.
IRC5 Programação
Programming Básica
Basic
Estrutura de Programa IRC5
Diretório Exemplo_Programa
Exemplo_Programa.pgf
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Program>
<Module>ModuleA.mod</Module>
<Module>MainModule.mod</Module>
MainModule.mod
MODULE MainModule
CONST robtarget home:=[[....]];
VAR num reg1:=0;
PROC main()
Rotina_1;
Rotina_2;
ENDPROC
PROC Rotina_1()
MoveL;
ENDPROC
</Program>
Declaração de Dados
Constantes e Variáveis
Rotinas
ModuleA.mod
MODULE ModuleA
PROC Rotina_A1()
MoveL;
© ABB Inc. -145
MoveL;
PROC Rotina_2()
MoveL;
ENDPROC
ENDMODULE
ENDPROC
ENDMODULE
Instruções
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -146
Conceito de Variáveis
Na programação, uma variável é um objeto (uma posição, freqüentemente
localizada na memória) capaz de reter e representar um valor ou expressão. As
variáveis são associadas a "nomes", chamados identificadores.
Quando nos referimos à variável, do ponto de vista da programação, estamos
tratando de uma “região de memória (FlashDisk) previamente identificada cuja
finalidade é armazenar os dados ou informações de um programa”. A memória
de programa se organiza tal qual um armário com várias divisões. Sendo cada
divisão identificada por um endereço diferente, em uma linguagem que o
programa entende.
O computador do robô armazena os dados nessas divisões, sendo que em
cada divisão só é possível armazenar um dado e toda vez que o computador do
robô armazenar um dado em uma dessas divisões, o dado que antes estava
armazenado é eliminado. O conteúdo pode ser alterado, mas somente um dado
por vez pode ser armazenado naquela divisão.
O computador do robô identifica cada divisão por intermédio de um endereço no
formato hexadecimal, e a linguagem de programação RAPID permitem nomear
cada endereço ou posição de memória, facilitando a referência a um endereço
de memória. Uma variável é composta por dois elementos básicos: o conteúdo
(valor da variável) e identificador (um nome dado à variável para possibilitar
sua utilização).
IRC5 Programação
Programming Básica
Basic
Conceito de Constantes & Variáveis
Constantes
Na programação, uma constante é um valor que no decorrer do algoritmo
ou processamento sempre terá o mesmo valor. Perceba que a idéia de
constante é a mesma seja onde for o local que a constante será utilizada.
No robô ABB as constantes se classificam na categoria de tipo de
armazenamento definida como Constante. Veja abaixo exemplo:
CONST num reg7:=0;
reg7 é um tipo de dado que não sofre alteração de valor ao longo da execução do
programa.
© ABB Inc. -147
Constante X Variável
A diferença primordial entre estes dois conceitos é que constantes são
valores inalterados e variável é uma entidade capaz de manifestar
diferenças em valor, assumindo, inclusive, valores numéricos. Diz-se que a
variável possui qualquer valor dentro de um campo determinado, ele
atua como uma "gaveta", onde nessa "gaveta" nós podemos guardar
qualquer valor.
IRC5 Programação
Programming Básica
Basic
Variáveis & Tipo de Armazenamento
Variáveis
No robô ABB os dados variáveis se classificam em duas categorias
distintas pelo tipo de armazenamento do dado que são a Variável e
a Persistente. Conforme mensionado anteriormente, existe outra
categoria de tipo de armazenamento utilizada para dados constantes
chamada Constante.
As diferenças entre Variável e Persistente é que o dado (que pode
sofrer alteração de valor durante a execução do programa em ambos
casos), em caso do término da execução de um ciclo de programa
(main) o valor atual do dado persistirá (continuará com o último
valor) para o tipo de armazenamento Persistente. Já para o tipo de
armazenamento Variável o último valor será perdido. Veja abaixo
exemplo de declarações de dados com armazenamento Variável e
Persistente.
© ABB Inc. -148
PERS num reg8:=0;
VAR num reg10:=0;
IRC5 Programação
Programming Básica
Basic
Tipo de Armazenamento
© ABB Inc. -149
O tipo de armazenamento de um dado é definido
durante a declaração do mesmo.
IRC5 Programação
Programming Básica
Basic
Tipo de Dados
© ABB Inc. -150

Podemos dizer que as variáveis e constantes são posições de memória
criadas com objetivo de armazenamento de dados, porém, os dados
podem se diferenciar entre si no que diz respeito a sua estrutura. Para
que haja diferenciação entre os tipos de dados, o computador do robô
proporciona uma biblioteca com padrões diferenciados para os tipos de
dados. Veja alguns tipos de dados abaixo.

robtarget
(posição cartesiana)

Jointtarget
(posição de juntas)

tooldata
(coordenada ferramenta)

wobjdata
(coodenada objeto)

speedata
(velocidade)

zonedata
(zona)

signaldi
(entrada digital)

signaldo
(saída digital)

num
(registrador numérico)

Bool
(booleano)

Byte
(byte)

clock
(tempo)
IRC5 Programação
Programming Básica
Basic
Tipo de Dados
© ABB Inc. -151

Os Tipo de Dados (biblioteca de dados), podem ser
visualizados no FlexPendant pressinando o menu “ABB”
e “Dados do Programa” (data type).
IRC5 Programação
Programming Básica
Basic
Antes de iniciar o programa
Quatro atividades deverão ser realizadas antes de
criar um novo programa.
1. _______________________________________
RODAR ROTINA DE CALIBRAÇÃO
2. _______________________________________
VERIFICAR ALINHAMENTO DO ROBÔ
DEFINIR TCP E WORK OBJECT
3. _______________________________________
© ABB Inc. -152
PLANEJAR O PROGRAMA PREVIAMENTE
4. _______________________________________
IRC5 Programação
Programming Básica
Basic
Instruções básicas de I/O
As duas instruções mais utilizadas para acionar uma saída
digital são _________
e __________.
Set
SetDO
As duas instruções mais utilizadas para desacionar uma
saída digital são _________
SetDO
Reset and __________.
Para inverter o status de uma saída digital utilize a
InvertDO
instrução _______________.
© ABB Inc. -153
Para acionar uma saída digital durante um intervalo de
tempo e depois desacioná-la, utilize a instrução
PulseDo
_____________.
Para alterar a duração do pulso digital utilize
Opt. Arg.
____________.
(Argumento Opcional).
IRC5 Programação
Programming Básica
Basic
Instruções básicas de I/O
A instrução ______________
WaitDI
é utilizada para
aguardar um sinal de uma entrada digital.
WaitUntil
A instrução ______________
é utilizada para
aguardar uma condição.
© ABB Inc. -154
Waittime
A instrução ______________
é utilizada para
aguardar um tempo.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -155
Instruções de I/O
IRC5 Programação
Programming Básica
Basic
Instruções de I/O
p10
p40
p30
p20
© ABB Inc. -156
DT
DT indica um tempo variável em função da carga do processador.
IRC5 Programação
Programming Básica
Basic
Instruções de I/O
p10
P40
P30
© ABB Inc. -157
P20
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -158
Programação Estruturada - JSP
Desenhando um quadrado no papel.
IRC5 Programação
Programming Básica
Basic
Jackson Structured Programming (JSP)

Método JSP:

Programa Estruturado

Rotinas bem definidas
- Fácil para testar
- Fácil para alterar
- Fácil para identificar
falhas

Instrução
ProcCall
Facilidade para leitura e
compreensão
Main routine
(proc main)
© ABB Inc. -159
MAIN
rPickUp
rSquare
rDropOff
IRC5 Programação
Programming Básica
Basic
Criando Rotinas
© ABB Inc. -160

Como criar rotinas de programa ?
 Na tela de Edição de Programas
(Program Editor).
 Pressione: “Rotinas” -> “Arquivo”
(File) -> “Nova Rotina” (New routine)
 Pressione: “ABC…”
para renomear.
 Pressione: “OK”.
 Selecione a Rotina.
 Pressione: “Mostrar Rotina”
(Show routine).
IRC5 Programação
Programming Básica
Basic
Exercício 6
© ABB Inc. -161
1.
Crie um novo programa. Este novo programa irá simular uma aplicação de
manipulação e deverá atender as seguintes solicitações:
•
•
O programa deverá iniciar a partir de uma posição de Home.
O programa deverá estar bem estruturado com base em rotinas.
•
Utilize a saída digital ___________ para controlar a garra.
•
Quando o sinal ___________ for atuado o robô deverá pegar a peça no
Alimentador 1 (Infeeder1) - (utilize sua imaginação).
•
O Robô deverá colocar a peça no Torno (Lathe) e mover-se para uma
posição segura.
•
Com o robô numa posição segura, a saída _________ deverá ser
acionada por 1 segundo que acionará o torno (Lathe). O Trabalho do
torno estará finalizado quando o sinal __________ for atuado.
•
Após sinal __________ o robô pegará a peça acabada e colocará a
mesma na esteira de saída (Exit conveyor).
•
O robô deve retornar para home e aguardar a próxima peça.
•
Utilize recursos de Copiar e Colar a fim de implementar o
retorno do robô para Home no fim do processo.
IRC5 Programação
Programming Básica
Basic
Layout Robô – Exercício 6
Alimentador 1
(Infeeder 1)
© ABB Inc. -162
Esteira de Saída
(Exit Conveyor)
Alimentador 2
(Infeeder 2)
Torno
(Lathe)
IRC5 Programação
Programming Básica
Basic
Exemplo de Programa
r_Feeder1;
r_Lathe;
MoveJ pOvrLathe, v1000, z10, tGripper;
MoveL pin_Lathe, v400, fine, tGripper;
Reset do9_Grip;
MoveL pOvrLathe, v800, fine, tGripper;
PulseDO\Plength; = 1, do7_Start_Lathe;
Wait DI di7_Lathe_Done, 1;
MoveL pin_Lathe, v400, fine, tGripper;
Set do9_Grip;
MoveJ pOvrLathe, v1000, z10, tGripper;
RETURN;
MoveJ pOvrPart, v500, z30, tGripper;
r_Conveyor
MoveL pOnPart, v500, fine, tGripper;
MoveJ pOvr_Conveyor, v1000, z60, tGripper;
Set do9_Grip;
MoveL pOn_Conveyor, v800, fine, tGripper;
MoveL pOvrPart, v500, z30, tGripper;
Reset do9_Grip;
RETURN;
MoveL pOvr_Conveyor, v1000, z60, tGripper;
MAIN
MoveJ pHome, v1000, fine, tGripper;
WaitDI di1_Style1, 1;
r_Feeder1
r_Lathe;
r-Conveyor
© ABB Inc. -163
RETURN;
RETURN;
IRC5 Programação Básica
Controlando o
© ABB Inc. -164
Fluxo do Programa
IRC5 Programming
IRC5
Basic
Programação Básica
IRC5 Programação
Programming Básica
Basic
Controle do Fluxo do Programa – Instruções de Decisão

No exercício anterior, a estrutura do programa criado permitia a
execução sequencial das linhas de programa. Este tipo de estrutura
é extremamente limitada quando necessitamos de programas
maiores e mais complexos.
IF di1_Style1=1 THEN
rFeeder1 ;
ELSE
return ;
ENDIF
IF
THEN
Di1_Style1=
1
rFeeder1
Return
ENDIF
© ABB Inc. -165
ELSE
IRC5 Programação
Programming Básica
Basic
Controle do Fluxo do Programa – Instruções de Decisão
Argumento Opcional
(Optional Argument)
IF di1_Style1=1 THEN
rFeeder1 ;
ELSEIF di2_Style2=1 THEN
rFeeder2 ;
ELSE
return ;
ENDIF
IF
THEN
Di1_Style1=
1
ELSEIF
rFeeder1
THEN
ELSE
Di2_Style2=1
© ABB Inc. -166
rFeeder2
ENDIF
Return
IRC5 Programação
Programming Básica
Basic
Instrução de Controle do Fluxo - IF

Selecione o tipo de dados (data type)
O botão “+” adiciona
argumentos da expressão
© ABB Inc. -167
Filtro é utilizado para
limitar dados e funções
a serem visualizados.
IRC5 Programação
Programming Básica
Basic
Controlando com sinais de I/O

Rotina House keeping.

Rotina de Verificação de Calibração.

Seleção de Alimentador (Feeder).
rHousekeeping
rPickUp1
di1=1
© ABB Inc. -168
rGotoCalib
rFeeder1
MAIN
rLathe
di2=1
rFeeder2
rDropOff
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -169
Exercício 7
1.
Implemente seu programa atual considerando que o sinal
_________ seja utilizado para Alimentador 1(Feeder 1) e que o
sinal _________ seja utilizado para Alimentador 2 (Feeder 2).
2.
Adicione uma rotina de inspeção para todas as peças. Todas
as peças após processo de torneamento, deverão ser levadas
a estação de inspeção. Se após levar a peça a estação de
inspeção o sinal ________ for acionado significa que a peça
está ok. Caso o robô espere por mais de 5 segundos, a peça
deverá ser rejeitada depositando a mesma no barril de refugos.
(Dica: Verifique o argumento opcional da instrução WaitDI ).
3.
Adicione uma rotina de verificação de Calibração “rGotoCalib”
utilizando a insrução MoveAbsJ que irá mover o robô para
posição de calibração.
IRC5 Programação
Programming Básica
Basic
Exemplo de Programa – Exercício 7
MAIN
MoveJ pHome, v1000, fine,
tGripper;
IF di1_Style1=1 THEN
r_Feeder1;
ELSEIF di2_Style2=1 THEN
r_Feeder2;
ELSE;
RETURN;
ENDIF;
r_Lathe;
r_Inspect;
RETURN;
r_Feeder1;
MoveJ pOvrpart, v500, z30, tGripper;
© ABB Inc. -170
MoveL pOnPart, v500, fine, tGripper;
Set do9_Grip;
MoveL pOvrPart, v500, z30, tGripper;
RETURN;
r_Feeder2;
MoveJ pOvrPart2, v500, z30, tGripper;
MoveL pOnPart2, v500, fine, tGripper;
Set do9_Grip;
MoveL pOvrPart2, v500, z30, tGripper;
RETURN;
r_Lathe;
MoveJ pOvrLathe, v1000, z10, tGripper;
MoveL pin_Lathe, v400, fine, tGripper;
Reset do9_Grip;
MoveL pOvrLathe, v800, fine, tGripper;
PulseDO\Plength;=1, do7_Start_Lathe;
WaitDI di7_Lathe_Done, 1;
MoveL pin_Lathe, v400, fine, tGripper;
Set do9_Grip;
MoveJ pOvrLathe, v1000, z10, tGripper;
RETURN;
IRC5 Programação
Programming Básica
Basic
Exemplo de Programa – Exercício 7
r_Inspect;
MoveJ p_near_insp, v1000, fine, tGripper;
MoveJ p_at_insp, v1000, fine, tGripper;
WaitUntil di5_GoodPart=1\MaxTime=5, TimeFlag=bTimeout;
IF bTimeout=true THEN
MoveL p_Overeject, v500, z30, tGripper;
MoveL p_Onreject, v500, fine, tGripper;
Reset do9_Grip;
MoveL p_Overeject, v500, z30, tGripper;
ELSE
r_Conveyor;
ENDIF
RETURN;
r_Conveyor;
MoveL pOvr_Conveyor, v1000, z60, tGripper;
© ABB Inc. -171
MoveL pOn_Conveyor, v800, fine, tGripper;
Reset do9_Grip;
MoveI pOvr_Conveyor, v1000, z60, tGripper;
RETURN;
IRC5 Programação Básica
© ABB Inc. -172
Trabalhando com
Numerais
IRC5
Programação Básica
IRC5 Programação
Programming Básica
Basic
Trabalhando com Numerais
num
Quando trabalhar com números utilize o tipo de dados (data type)________.
Variável
Você fará uso de uma ______________
deste tipo de dados.
reg
n ou _____
Este tipo de dados geralmente é designado pelas letras ____
antes do nome.
Examplo: nCount, reg1, reg2, nCycles, nParts
O robô tem as seguintes instruções que podem ser usadas quando
trabalhamos com numerais:
ADD, Clear, Incr, Decr
:= (Atribui) _______________________
Exemplo:
nCounter := nCounter+1;
© ABB Inc. -173
Incr nCount;
nCount:=0;
Clear nCount;
Add nCount, 1;
IRC5 Programação
Programming Básica
Basic
Trabalhando com Numerais
A Instrução de atribuição (:=) pode também fazer outras operações
matemáticas como:
Adição,
___________________
Subtração,
___________________
Multiplicação, etc.
___________________
Para tomada de decisão utilizando numerais, utilize as instruções
Compact IF .
IF
___________
ou __________
© ABB Inc. -174
Exemplo:
IF nCount>=10 rTipClean;
ou
IF nCount>=10 THEN
rTipClean
ENDIF;
IRC5 Programação
Programming Básica
Basic
Inspecionando toda terceira peça

Inspecione toda terceira peça produzida.
MAIN
rLathe
Quench
nCount>=3
rInspect
di2=1
di1=1
rFeeder1
rFeeder2
© ABB Inc. -175
Peça boa
rGotoCalib
rDropOff
Peça Ruim
rReject
© ABB Inc. -176
IRC5 Programação
Programming Básica
Basic
Exercício 8
1.
Adicione uma rotina de Resfriamento da Peça (Quench) –
processo de tempera - após a rotina de Torneamento (Lathe).
2.
Adicione uma rotina para inspeção de peça no programa
existente de forma que a verificação só ocorra na terceira peça
produzida.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -177
Exemplo de Programa – Exercício 8
MAIN
MoveJ pHome, v1000, fine, tGripper;
IF di1_Style1=1 THEN
r_Feeder1;
ELSEIF di2_Style2=1 THEN
r_Feeder2:
ELSE
RETURN;
ENDIF
r_Lathe;
r_Quench;
IF nCount>=3 THEN
r_Inspect;
ELSE
r_Conveyor;
ENDIF
RETURN;
r_Feeder1;
MoveJ pOvrpart, v500, z30, tGripper;
MoveL pOnPart, v500, fine, tGripper;
Set do9_Grip;
WaitTime .5;
MoveL pOvrPart, v500, z30, tGripper;
RETURN;
r_Feeder2;
MoveJ pOvrPart2, v500, z30, tGripper;
MoveL pOnPart2, v500, fine, tGripper;
Set do9_Grip;
WaitTime .5;
MoveL pOvrPart2, v500, z30, tGripper;
RETURN;
r_Lathe;
MoveJ pOvrLathe, v1000, z10, tGripper;
MoveL pin_Lathe, v400, fine, tGripper;
Reset do9_Grip;
WaitTime .5;
MoveL pOvrLathe, v800, fine, tGripper;
PulseDO\Plength; =1, do7_Start_Lathe;
WaitDI di7_Lathe_Done, 1;
MoveL pin_Lathe, v400, fine, tGripper;
Set do9_Grip;
WaitTime .5;
MoveJ pOvrLathe, v1000, z10, tGripper;
RETURN;
r_Inspect;
nCount :=0;
MoveJ p_near_insp, v1000, fine, tGripper;
MoveJ p_at_insp, v1000, fine, tGripper;
WaitUntil di5_GoodPart=1/MaxTime=5, /TimeFlag=bTimeout;
IF bTimeout=true THEN
MoveL p_Overeject, v500, z30, tGripper;
MoveL p_Onreject, v500, fine, tGripper;
Reset do9_Grip;
MoveL p_Overeject, v500, z30, tGripper;
ELSE
r_Conveyor;
ENDIF
RETURN;
IRC5 Programação
Programming Básica
Basic
Exemplo de Programa – Exercício 8
r_Conveyor
MoveL pOvr_Conveyor, v1000, z60, tGripper;
MoveL pOn_Conveyor, v800, fine, tGripper;
Reset do9_Grip;
MoveL pOvr_Conveyor, v1000, z60, tGripper;
Incr nCount;
RETURN;
r_QUENCH
MoveJ pOvrQuen, v500, z30, tGripper;
MoveL pOnQuen, v500, fine, tGripper;
MoveL pOvrQuen, v500, z30, tGripper;
© ABB Inc. -178
RETURN;
IRC5 Programação Básica
© ABB Inc. -179
Comunicando
com o Operador
IRC5
Programação Básica
IRC5 Programação
Programming Básica
Basic
Comunicando com o Operador
© ABB Inc. -180
Mensagens podem ser escritas na tela de forma a
propiciar um programa mais amigável.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -181
Comunicando com o Operador

A instrução TPWrite é utilizada para escrever mensagens na tela.
Valores de dados podem ser escritos também.

A instrução TPErase é utilizada para limpar mensagens da tela.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -182
Comunicando com o Operador
O Operador/ Inspetor pode tomar decisões interagindo com o programa.
IRC5 Programação
Programming Básica
Basic
Comunicando com o Operador

Instrução TPReadFK
TPReadFK nFigure, “Is this a GOOD or BAD part?”, stEmpty, “GOOD”, stEmpty, “BAD”, stEmpty;
© ABB Inc. -183
(1)
2
(3)
4
(5)
IRC5 Programação
Programming Básica
Basic
Comunicando com o Operador
© ABB Inc. -184

Selecione um dado numérico ou uma escreva uma expressão
pressionando o botão virtual “Expressão” (Insert Expression).
IRC5 Programação
Programming Básica
Basic
Comunicando com o Operador

O alimentador a ser utilizado no processo será
escolhido pelo Operador via FlexPendant.

Rodar a rotina de Calibração também será uma decisão
do operador.
MAIN
Quench
rLathe
nCount>=3
Decisão do Operador
rGotoCalib
rFeeder1
rInspect
rFeeder2
© ABB Inc. -185
Peça Boa
rDropOff
Peça Ruim
rReject
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -186
Comunicando com o Operador
IRC5 Programação
Programming Básica
Basic
Comunicando com o Operador

Instrução TPReadNum
© ABB Inc. -187
TPReadNum nfigures, “How many figures do you want?
© ABB Inc. -188
IRC5 Programação
Programming Básica
Basic
Exercício 9
1.
Adicione ao programa existente. O Operador decidirá qual
alimentador deverá ser utilizado e quando deverá ser
verificado a calibração.
2.
Utilize a FlexPendant para inspeção. Escolha entre “Peça Boa”
ou “Peça Ruim”.
3.
Adicione mensagens para qualquer hora em que o robô não
está se movendo a fim de informar que o robô está esperando.
IRC5 Programação Básica
Outras Instruções
IRC5
© ABB Inc. -189
Programação Básica
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -190
Tópicos

Instruções de Clock (relógio)

Instruções de Controle de Fluxo/ Laços de repetição
IRC5 Programação
Programming Básica
Basic
Instruções de Clock

Instruções de Clock
Quando utilizar um relógio como cronômetro:
ClkReset – utilizado para zerar o cronômetro
ClkStart – utilizado para iniciar o cronômetro a partir
do status atual
© ABB Inc. -191
ClkStop – utilizado para parar o cronômetro
IRC5 Programação
Programming Básica
Basic
Funções de Clock

© ABB Inc. -192

Funções de Clock
ClkRead –
Lê o valor do cronômetro
Cdate -
Lê a data atual
Ctime -
Lê a hora atual
Exemplo:
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -193
Instruções de repetição - FOR

A instrução FOR é utilizada quando alguma Instrução/ Rotina
necessita ser repetida um determinado número de vezes, sendo
um número fixo de vezes ou variável.

A instrução For facilita mudar a quantidade de vezes que
determinada Instrução/ Rotina precisa ser repetida.

Possui um contador interno que é incrementado automaticamente.
IRC5 Programação
Programming Básica
Basic
Instruções de repetição - FOR

FOR
FOR i FROM 1 TO 5 DO
rotina_1;
ENDFOR
5
© ABB Inc. -194
8
FOR i FROM 1 TO 8 DO
MoveJ ..... ;
MoveJ ..... ;
WaitTime..... ;
MoveJ ..... ;
... ;
ENDFOR
IRC5 Programação
Programming Básica
Basic
Instruções de repetição - WHILE
A instrução WHILE é utilizada quando alguma Instrução/ Rotina necessita ser
repetida um determinado número de vezes (fixo ou variável), contudo,
somente quando uma dada condição é verdadeira.
 WHILE significa ENQUANTO, sendo assim, podemos ler a instrução da
seguinte maneira: ‘Enquanto a condição for verdadeira faça!’.
Veja exemplo da figura 2 onde temos a condição que enquanto o registrador
reg1 for menor do que 2 o programa executará a rotina QUADRADO.
Observe que para o programa executar a rotina desejada 2 vezes, foi
necessário prescrever a condição e incrementar um contador externo
diferentemente da instrução FOR.
© ABB Inc. -195

IRC5 Programação
Programming Básica
Basic
Instrução GOTO
A instrução GOTO é utilizada para desviar o ponteiro de execução do
programa (Program Point) para outra linha de programa que é
identificada com a instrução Label.
 Pode-se fazer o uso combinado de instruções Compact IF e GOTO
como se pode ver no exemplo abaixo que executa 3 vezes a rotina
QUADRADO

© ABB Inc. -196
Label
IRC5 Programação
Programming Básica
Basic
Instrução TEST
© ABB Inc. -197

A instrução TEST é utilizada quando diferentes instruções/ rotinas necessitam
ser executadas dependendo do valor de uma expressão ou dado.
Veja Exemplo abaixo onde caso o valor de reg1 seja igual a 1, 2 ou 3 a rotina
QUADRADO será executada, caso o valor de reg1 seja 4 a rotina
TRIÂNGULO será executada, caso reg1 não valha nenhum dos valores
mensionados anteriormente, o programa escreverá na tela ‘Escolha
Inexistente’ e parará o programa através da instrução STOP.
PS. Quando referimos a poucas alternativas, a utilização da instrução IF
somado aos argumentos ELSE e ELSEIF podem ser também uma solução.
IRC5 Programação Básica
Work Object
IRC5
© ABB Inc. -198
Programação Básica
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -199
Criando um Work Object
Figura desenhada com referência a um Work Object
IRC5 Programação
Programming Básica
Basic
Work Object e Sistema de Coordenadas

Sistema de Coordenada do Usuário

Sistema de Coordenada do Objeto
Z
Y
TCP
Z
Y
X
Coordenada da Ferramenta
(Tool coordinates)
Z
© ABB Inc. -200
Y
X
Coordenada de Base
(Base coordinates)
Coordenada do Objeto
(WorkObject)
X
IRC5 Programação
Programming Básica
Basic
Work Object e Sistema de Coordenadas

Definindo um Sistema de Coordenada
Object (Objeto)
© ABB Inc. -201
User (Usuário)
User (Usuário)
IRC5 Programação
Programming Básica
Basic
Criando um Work Object

Ative a ferramenta correta
(T_Caneta)

Crie um Work Object

Defina as coordenadas
Origin
y1
Work object axis Y
x1
© ABB Inc. -202
x2
Work object axis X
wobjA4
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -203
Ativando um Work Object
IRC5 Programação
Programming Básica
Basic
Utilizando um Work Object
MoveJ pHome, v1000 , z50 , T_Caneta;
MoveJ pTri10, v1000, z50, T_Caneta \ WObj := wobjA4;
.... ;
o pHome
o posição fora da folha
x posição na folha
Origem
o pTri10
y1
/
work object eixo Y
x1 --
x pTri20
pTri40 x
x pTri30
x2 --
© ABB Inc. -204
work object
work object eixo X
© ABB Inc. -205
IRC5 Programação
Programming Básica
Basic
Exercício 10
1.
Crie um novo programa para pegar uma caneta de um
magazine.
2.
Crie um Work Object no canto da folha. Create a Work Object
on the pad of paper.
3.
Crie uma rotina utilizando o Work Object para desenhar a
primeira letra do seu nome no papel.
4.
Agora mova o papel, redefina o Work Object e rode o programa
novamente.
IRC5 Programação Básica
Programando com
Offsets
IRC5
© ABB Inc. -206
Programação Básica
IRC5 Programação
Programming Básica
Basic
Movemento Circular

MoveC
pCircle20
pCircle30
© ABB Inc. -207
pCircle40
IRC5 Programação
Programming Básica
Basic
Movimento Circular

Criando uma circunferência com MoveC’s
pCircle20
This robtaget can be copied and pasted
© ABB Inc. -208
pCircle50
pCircle30
pCircle40
Press Modify pos
IRC5 Programação
Programming Básica
Basic
Função Offset
Função Offset
Na tela de definição de ponto para uma instrução de
movimento, escolha Função (Function) para habilitar
movimento com deslocamento (offset). A Função Offs
permite um deslocamento em referência a um ponto.
Exemplo
Utilizado para deslocar a partir
Tipo de
Velocidade
da posição original
Movimento
Precisão
C, J, L
Move_ Offs(pStart,-100,0,0), v500, fine, toolx;
© ABB Inc. -209
Z Offset
Dado de
Posicionamento
para referência
de deslocamento
Y Offset
X Offset
IRC5 Programação
Programming Básica
Basic
Trajetória circular Perfeita
Para fazer um círculo perfeito
MoveL pStart, v500, fine, toolx;
MoveC Offs(pStart,-100,-100,0),Offs(pStart,-200,0,0),v500,z1,toolx;
MoveC Offs(pStart,-100,100,0), pStart,v500,z1,toolx;
Que sentido o círculo será
desenhado?
© ABB Inc. -210
Horário ou Anti-horário
IRC5 Programação
Programming Básica
Basic
Exemplo - Offset
© ABB Inc. -211
Exemplo
IRC5 Programação
Programming Básica
Basic
Desenhando um Quadrado com Offsets
MM
Exemplo
X
100
75
1
2
Em qual quadrante o
quadrado será
desenhado?
50
1
25
100 75 50 25
Y
2
3
4
-25 -50 -75 -100
MM
-25
3
-50
pSTART
4
-75
-100
© ABB Inc. -212
A partir do exemplo anterior programe:
pSTART
_____________
é o PRIMEIRO ponto do desenho do
ÚLTIMO ponto.
quadrado e também é o ___________
IRC5 Programação
Programming Básica
Basic
1.
Exercício 11
Adicione ao seu novo programa três rotinas que desenhem um
um círculo, um quadrado e um triângulo utilizando somente
um ponto ensinado.
© ABB Inc. -213
Extra … Crie uma rotina que desenhe um espiral de 5 mm para 100
mm com passo de 5mm.
IRC5 Programação Básica
© ABB Inc. -214
Calibração e
Sincronismo
IRC5
Programação Básica
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -215
Tópicos

Sincronismo - Atualização do Contador de Revoluções
(Revolution Counters Update)

Calibração – (Fine Calibration)
IRC5 Programação
Programming Básica
Basic
Calibração – IRC5
© ABB Inc. -216

Calibração ou Sincronismo?

O sincronismo poder ser realizado facilmente sem
necessiadade de ferramentas especiais.

Calibração necessita de ferramentas especiais.
IRC5 Programação
Programming Básica
Basic
Sincronismo

Sincronismo (Rev.Counter)

Indica a quantidade de voltas que o motor realizou em relação a
posição zero absoluto do eixo.

Se o controlador perder o sincronismo, os programas não poderão ser
executados.

O controlador notifica através de uma mensagem que o sincronismo
precisa ser atualizado. (Ex.: Se o controlador for desligado com a
bateria da SMB descarregada).
© ABB Inc. -217
Se aparecer mensagem de
evento do sistema informando
diferença de valores:
Ao sincronizar o manipulador
e o controlador passam a ter
os mesmos valores de
calibração.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -218
Sincronismo (Updating Rev. Counters)
1. Utilizar o JoyStick para
mover o robô para
posição de sincronismo
(Calibration Position)
alinhando as marcas.
IRC5 Programação
Programming Básica
Basic
Procedimento de Sincronismo
Mova o robô para as marcas de sincronismo.
Pressione ABB : Calibração (Calibration)
Selecione o robô a ser calibrado.
Pressione Atualização do Contador de Rotações
(Update Revolution Counter)
5. Pressione SIM (YES) para confirmar a operação.
6. Se necessário selecione os eixos a serem atualizados.
7. Pressione Atualizar (Update) e Atualizar (Update)
novamente.
© ABB Inc. -219
1.
2.
3.
4.
IRC5 Programação
Programming Básica
Basic
Verificando posição de Calibração
© ABB Inc. -220

MoveAbsJ

Criar uma nova rotina (GotoCalib)

Inserir a instrução MoveAbsJ

Selecionar o ponto da instrução “*”, pressionar Depurar (Debug), Exibir
Valor (View Value) e inserir nos campos de cada um dos eixos o valor zero
“0”.
IRC5 Programação
Programming Básica
Basic
Calibração (Fine Calibration)

Calibração

Indica através do resolver, o angulo atual do motor definido como zero
absoluto do eixo.

É calibrado na ABB ou no site com equipamentos especiais

Somente se faz necessário novo ajuste de calibração quando é
realizado a troca de motor ou caixa de redução
© ABB Inc. -221
Requer ferramentas especiais!
Não pode ser feito corretamente
ajustando de forma visual.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -222
Editando os valores de calibração (Calibration Offsets)

Edite no campo “Valor de desvio” (Offset value) os valores de
calibração manualmente

Utilize os valores definidos no arquivo moc.cfg (extraído a partir do
Backup) ou os valores da etiqueta que está colada no manipulador
contendo os valores de calibração dos seis eixos (válido somente
para motores que não foram retirados).
IRC5 Programação
Programming Básica
Basic
Calibrando o robô com ferramentas especiais

Ferramentas Especiais

Nível Eletrônico

Dispositivo ABB (para eixo 1)
© ABB Inc. -223

Base de Nivelamento
IRC5 Programação
Programming Básica
Basic
Exercício 12
1.
© ABB Inc. -224
2.
Compare os valores de calibração configurados no controlador
com os valores impressos na etiqueta do manipulador.
Os valores conferem? Se não, notifique o instrutor.
IRC5 Programação Básica
Exercícios
IRC5
© ABB Inc. -225
Programação Básica
IRC5 Programação
Programming Básica
Basic
Exercício 1
1 – Criar um programa simples que o robô possa atestar sua repitibilidade num
ponto de referência ( ex. levar o TCP a uma Ponteira) e adicionalmente uma
rotina de serviço para verificação da calibração e sincronismo.
1.1 – A calibração confere com os valores originais?
1.2 – O Sincronismo confere com as referências?
1.3 – Edite os valores de calibração. Após alteração a execução do programa
sofreu alguma alteração? Justifique.
© ABB Inc. -226
1.4 – Volte os valores anteriores de calibração. Sincronize o manipulador for a
das marcas. Após alteração do sincronismo o programa sofreu alguma
alteração? Justifique.
IRC5 Programação
Programming Básica
Basic
Exercício 2
2 – Crie um TCP utilizando o método dos 4 pontos.
2.1 – Ative a nova ferramenta e responda. Quais são as diferenças de
coordenada da ferramenta após a criação do TCP?
© ABB Inc. -227
2.2 – Liste 2 vantagens que há quando utilizamos uma ferramenta e
fazemos a correta declaração da mesma no robô.
IRC5 Programação
Programming Básica
Basic
Exercício 3
3 – Crie um programa conforme pedido no layout (utilize o TCP adequado). O robô
deve contornar a folha e voltar p/ posição de Home executando trajetórias que
atendam ao exercício.
3.1 - Ajuste as velocidades e zonas de acordo com o processo. (velocidade
máxima permitida = 400mm/seg).
ROBOT
o posição no espaço
x posição no papel
o pHome
o p_aprox
© ABB Inc. -228
p40 x
p30 x
x p10
x p20
IRC5 Programação
Programming Básica
Basic
Exercício 4
4 – Implemente o programa com uma nova rotina chamada “quadrado”seguindo o
layout. Utilizando um único ponto gravado (p_quad), o robô deve partir do ponto
de aproximação e fazer um quadrado na folha. O quadrado deverá ter 100mm de
lado.
ROBOT
o posição no espaço
x posição no papel
o pHome
o p_aprox
o p_aprox_1
p40 x
p_quad
x p10
© ABB Inc. -229
100mm
p30 x
x p20
IRC5 Programação
Programming Básica
Basic
Exercício 5
5 – Implemente o programa com uma nova rotina chamada “arco”seguindo o layout.
O robô deve partir do ponto de aproximação (p_aprox_2) e fazer um arco na
folha passando pelo ponto (p_centro). A rotina termina com o robô no ponto de
aproximação (p_aprox_3).
ROBOT
o posição no espaço
x posição no papel
o pHome
o p_aprox
o p_aprox_1
p40 x
x p10
p_quad
100mm
x
p_centro
© ABB Inc. -230
p_aprox_2 o
p30 x
o p_aprox_3
x p20
IRC5 Programação
Programming Básica
Basic
Exercício 6
4 – Implemente o programa com uma nova rotina chamada “circulo”seguindo o
layout. Utilizando um único ponto gravado (p_circ), o robô deve partir do ponto
de aproximação e fazer um círculo contornando a parte superior da peça. O raio
do tubo é de 31mm.
ROBOT
o posição no espaço
x posição no papel/ peça
o p_aprox_4
o pHome
o p_aprox
P_circ x
o p_aprox_1
p40 x
x p10
p_quad
100mm
x
p_centro
© ABB Inc. -231
p_aprox_2 o
p30 x
o p_aprox_3
x
p20
IRC5 Programação
Programming Básica
Basic
Exercício 7
7 – A rotina main de um programa deve ser um “resumo de gerente”, portanto, deve
ser elaborada de forma que possibilite fácil compreensão do programa. A main
não possui detalhes do programa, porém, dá uma visão geral do que se trata o
mesmo.
7.1 - Baseado nas informações acima reestruture o programa em uma rotina
principal (main) e 4 sub-rotinas (retângulo, quadrado, arco, circulo).
© ABB Inc. -232
7.2 - Partindo a execução do programa da rotina main, o robô deve ir para home
e respectivamente executar o quadrado, circulo, arco, retangulo e após retornar
para home.
IRC5 Programação
Programming Básica
Basic
Exercício 8
8 – Modifique o programa considerando que o robô está integrado a uma célula
controlada por um PLC. O robô comporta-se como escravo (Slave) respondendo
as solicitações do PLC.
8.1 - De acordo com a tabela implemente o programa. Escolha uma das entradas
digitais configuradas no seu robô para simular o sinal do PLC.
© ABB Inc. -233
Sinal do PLC
Robô
0
Executar 1 Arco
Executar 1 Retângulo
1
Executar 1 Círculo
Executar 1 Quadrado
IRC5 Programação
Programming Básica
Basic
Exercício 9
9 – Modifique o programa seguindo a nova condição pedida na tabela. Utilize as
instruções de controle de fluxo e implemente soluções diferentes entre sinal do
PLC=0 e sinal do PLC=1.
© ABB Inc. -234
Sinal do PLC
Robô
0
Executar 2 Quadrados
Executar 3 Retângulos
1
Executar 2 Círculos
Executar 1 Arco
IRC5 Programação
Programming Básica
Basic
Exercício 10
10 – Crie um programa que interaja com o operador. O robô deverá executar a
“peça” que o operador escolher (retângulo, quadrado, arco, circulo).
© ABB Inc. -235
10.1 – Modifique o programa considerando que o robô está integrado a uma
célula controlada por um PLC. O robô comporta-se como escravo (Slave)
respondendo as solicitações do PLC.
Ao ser iniciado o robô deve ir para home e aguardar acionamento do sinal
do PLC como autorização para continuidade da execução do programa.
Escolha uma das entradas digitais configuradas no seu robô para simular o
sinal do PLC.
Sinal do PLC
Robô
0
Parado em Home aguardando autorização
1
Continuidade na execução do programa
IRC5 Programação
Programming Básica
Basic
Exercício 11
11 – Implemente o programa. O robô deverá executar a “peça” que o operador
escolher (retângulo, quadrado, arco, circulo) e a quantidade de “peça” que o
© ABB Inc. -236
operador solicitar. O operador pode solicitar apenas uma peça por vez.
IRC5 Programação
Programming Básica
Basic
Exercício 12
12 – Implemente o programa. O robô deverá executar a “peça” que o operador
escolher (retângulo, quadrado, arco, circulo) e a quantidade de “peça” que o
© ABB Inc. -237
operador solicitar. O operador pode solicitar quantas peças desejar de uma
só vez, porém o robô não precisa necessariamente executar na sequência
pedida.
IRC5 Programação
Programming Básica
Basic
Exercício 13
© ABB Inc. -238
13 – Implemente o programa. A cada 6 “peças” produzidas (independente do
modelo) o robô deverá acionar um sinal para o PLC informando que um lote foi
finalizado. O sinal que será disponibilizado pelo robô deverá ser mantido por 3
segundos.
Após a finalização de um lote o robô continua executando as demais peças
solicitadas pelo operador, se houver.
IRC5 Programação
Programming Básica
Basic
Exercício 14
14 – Implemente o programa. Após o término da execução das peças solicitadas
informe ao operador a quantidade total de “peças” produzidas no dia e por tipo
de peça.
© ABB Inc. -239
14.1 – Implemente o programa. Informe ao operador qual foi o tempo de ciclo do
último lote produzido.
IRC5 Programação
Programming Básica
Basic
Exercício 15
© ABB Inc. -240
15 – Implemente o programa. O robô deverá executar as “peças” escolhidas de
acodo com as quantidades respeitando a sequência pedida, ou seja, o robô
deve executar o programa na sequência exata conforme solicitado pelo
operador.
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -241
Exercício 16
16 – Em uma célula mestre/escravo onde o robô interage com o PLC programe. O
robô deve fazer a leituda dos sinais enviados pelo PLC conforme tabela e
manipular as peças da esteira de entrada para esteira de saída. O ciclo é
finalizado quando o palete estiver completo através do sinal do robô p/ PLC.
Utilize o mapa de sinais discretos descrito na tabela ou os grupos de entrada e
saída configurados assim:
grupo_entrada -> DI08 – DI13
grupo_saída -> DO08 – DO13
Esteira de
Esteira de
Entrada A
Entrada B
0
1
C/
S/
DI08
Pegar na esteira A
Pegar na esteira B
A6
A3
LOGO LOGO
B3
B6
DI09 Posição (A1/B1) sem Logo Posição (A1/B1) com Logo
DI10 Posição (A2/B2) sem Logo Posição (A2/B2) com Logo
DI11 Posição (A3/B3) sem Logo Posição (A3/B3) com Logo
A5
A2
C6
C3
B2
B5
DI12
DI13
Robô desabilitado
Robô habilitado
A4
A1
C5
C2
B1
B4
DO01
Desliga Vácuo
Liga Vácuo
DO08
DO09
C4
C1
DO10
Esteira de
DO11
Saída C
DO12
Palete Incompleto
Pelete Completo
DO13
IRC5 Programação
Programming Básica
Basic
Resumo - Instruções / Funções de Programa

Instruções de Movimento




























Instruções de Espera



WaitTime
WaitDI
WaitUntil

CDate
CTime
CLKStart
CLKReset
CLKStop
Funções de Movimento


TPWrite
TPErase
TPReadFK
TPReadNum
Instruções de Tempo
Set
Reset
SetDO
InvertDO
PulseDO

:=
ADD
Incr
Decr
Clear
Instruções Interface


© ABB Inc. -242

Instruções de I/O


ProcCall
IF
Compact IF
While
For
Goto
Label
Test
Stop
Instruções de Matemáticas

MoveJ
MoveL
MoveC
MoveAbsJ
Instruções de Controle de Fluxo



OffSet
Funções de Clock

CLKRead
OBS: Para conhecer demais Instruções / Funções consultar manual de Programação RAPID
IRC5 Programação
Programming Básica
Basic
Contatos ABB



© ABB Inc. -243

Coordenação de Treinamentos
Charles Souza
charles.souza@br.abb.com
11 3688-8481
Coordenação Técnica
Margareth Silva
margareth.silva@br.abb.com
11 3688-9223
Suporte Técnico
Ricardo Maia
ricardo.maia@br.abb.com
11 3688-9032
Plantão 24h ABB
plantão.24horas@br.abb.com
0800-12-2500
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -244
Em Branco
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -245
Avaliação do Curso
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -246
Avaliação do Curso
IRC5 Programação
Programming Básica
Basic
© ABB Inc. -247
Em Branco
Download