Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
IRC5 – Operação e
Programação Básica
IRC5 Programming
Basic
© ABB Inc. -1
IRC5 Programação
Programming Básica
Basic
Bem-vindos!
Conteúdo
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
© ABB Inc. -3
Introdução
Apresentações ABB
Robótica ABB
Treinamento ABB
© ABB Inc. -4
IRC5 Programação
Programming Básica
Basic
O mundo ABB
Líder global em tecnologias de potência e automação
Posições de liderança de mercado nos principais negócios
© ABB Inc. -5
IRC5 Programação
Programming Básica
Basic
ABB - Visão
© ABB Inc. -6
© ABB Inc. -7
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,
© ABB Inc. -8
IRC5 Programação
Programming Básica
Basic
ABB - Inovação
Pioneira em tecnologia desde 1883
Os fundadores Turbina a vapor Turbochargers Turbina
a gás
1900 1920 1930 1940
1970 1960
1980
1990 2000
© ABB Inc. -9
IRC5 Programação
Programming Básica
Basic
ABB
Inovação, paixão e diversidade são as marcas da ABB
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
Treinamento ABB
Centro de Treinamento
Centro de Treinamentos na Região Sudeste e Sul
Osasco – SP
Curitiba – PR
Treinamentos no cliente
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.
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
.
Bom Curso!!!
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:
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.
Robótica
Tipo de Robôs e Aplicações
IRC5 Programming
Basic
IRC5
Programação Básica
Tipo de Robôs
Robôs Industriais
Androide
Scara
FlexPicker
Aplicações Robotizadas
Manipulação
Soldagem MigMag
Soldagem à Ponto
Pintura
Lavagem
Cola
Usinagem
Etc
Segurança
Repetibilidade
Qualidade
Produtividade
Competitividade
Introdução
deste treinamento.
IRC5 Programação
Programming Básica
Basic
Risco de Acidentes
Falha Humana
Reparo
Mudança de
Programa
Teste
Segurança – regulamentos
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).
Modos de Operação
Automático
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.
© ABB Inc. -27
IRC5 Programação
Programming Básica
Basic
Enabling device
IRC5 Programação
Programming Básica
Basic
Hold-to-Run
Enabling device
Hold-to-run buttons
(for left or right hand)
Segurança - Eletricidade
Segurança Pessoal
ABB - Osasco
Descrição do Sistema
IRC5
Programação Básica
Sistema do Robô
Controlador IRC5
FlexPendant
Robot Studio Online
Chave Geral
Módulo de Controle
(Control Module)
Módulo de Acionamento
(Drive Module)
© ABB Inc. -42
IRC5 Programação
Programming Básica
Basic
E-Stop
Motors On
Chave Modo Op.
Horímetro
© ABB Inc. -43
IRC5 Programação
Programming Básica
Basic
Manipulator IRB6600
IRC5 – FlexPendant
Tela Colorida ”Touch Screen” 4 Teclas Programáveis
Joystick
3-direções
© ABB Inc. -48
IRC5 – FlexPendant
ABB Menu Barra de Eventos (Status bar)
Main menu
© ABB Inc. -49
Atalho de Janelas
abertas (semelhante Tecla de Atalho
ao Windows) (Quickset or
“COG” Menu)
IRC5 Programação
Programming Básica
Basic
Movimentando o robô
© ABB Inc. -51
Movimentando o robô
+3 +4
-5 +6
-2
-3
-4 +5 -6
+2
+5
+2
-1 +1
-4 +4
-1 +1
+6 -6
+3 -3
-5
-2
+Z Z
Y
+Y
-X
-X
X
-Y +Y
-Y +Y
+Z -Z
+Z -Z +X
© ABB Inc. -52
+X
+X
IRC5 Programação
Programming Básica
Basic
Coordenadas de Sistema
TCPZ
Y
X
Ferramenta
(Tool coordinates)
Z
Y
X
Base (Base coordinates)
Z Z
Y
Y
X Objeto
Mundial (WorkObject)
(World coordinates) X
© ABB Inc. -53
IRC5 Programação
Programming Básica
Basic
+Z
+X
+Y
© ABB Inc. -54
IRC5 Programação
Programming Básica
Basic
IRC5 – FlexPendant
IRC5 – FlexPendant
IRC5 – FlexPendant
IRC5 – FlexPendant
Habilidade para construir aplicações Desenvolvimento OnLine
customizadas com uso de gráficos e e OffLine através do
controle de informações. Virtual IRC5.
Tecnologia Microsoft poderosa com
padrões e ferramentas de
desenvolvimento.
© ABB Inc. -59
IRC5 Programação
Programming Básica
Basic
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
© ABB Inc. -60
Mútiplos Idiomas
IRC5 Programação Básica
Mensagem de Eventos
IRC5
Programação Básica
Introdução
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.
O sistema não pode operar antes do restabelecimento
do estado atual (Emergency Stop).
Mensagem de Informação
Mensagem de Alarme
Mensagem de Erro
“Unacknowledged”
Mensagem Não Reconhecida
Pressionar as teclas
“setas amarelas” para
visualizar todo conteúdo!
Ou pressionar “Menu
ABB” e “Event Log”.
Categoria de Eventos
Categoria Núm. do Erro Area___________
Exercício 1
Fundamentos da
Programação IRC5
Programação Básica
Tópicos
PROC main()
Rotinas
Rotina_1;
Rotina_2;
ENDPROC
ModuleA.mod
PROC Rotina_1() MODULE ModuleA
MoveL; PROC Rotina_A1()
ENDPROC MoveL;
MoveL;
PROC Rotina_2() ENDPROC
© ABB Inc. -76
MoveL; ENDMODULE
ENDPROC Instruções
ENDMODULE
IRC5 Programação
Programming Básica
Basic
Exemplo de Programa
© ABB Inc. -77
IRC5 Programação
Programming Básica
Basic
•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
•Pressione “Carregar Programa”
(Load Program)
•Para carregar um programa
•Pressione “Salvar Programa como”
(Save Program as)
© ABB Inc. -78
Salvando um programa
O mesmo
nome
© ABB Inc. -79
IRC5 Programação
Programming Básica
Basic
Criando um Programa
MoveJ ou MoveL?
MoveJ
MoveL
Instruções de Movimento
Velocidade e Zona
z
MoveL p40, v1000, z40, tool0;
Selecione o item a
ser alterado com
“2 cliques”
Selecione o novo
valor e pressione
“OK”
© ABB Inc. -85
IRC5 Programação
Programming Básica
Basic
Selecione o ponto
a ser modificado.
Pressione
“Modificar Posição”
(Modify Position)
Ponteiro do
Programa - PP
(Program Pointer)
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”.
Instruções de Movimento
O
o - position
posiçãoinnoair
espaço
X
x –position
posiçãoon
nopaper
papel
ROBOT
ROBÔ
o pHome
o p60
p40 x x p10
x p50
p30 x x p20
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
3 Se o programa não está aberto pressione menu Como carregar um programa existente
“ABB”, “Editor do Programa” (Program Editor) e é detalhado na secção 6.7.1
selecione o programa desejado Trabalhando com programas (Handling
of Programs)
Start
Passo a Passo (frente/trás)
Stop
Parando o Programa
Procedimento
Exercício 2
Backup &
Restore
Tópicos
Backup
Porque?
Quando?
Como?
Precauções
O que é guardado?
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
troca do mesmo.
Pressione “ABB”
Pressione “Backup and Restore”
Pressione “BackUp Current System”
Backup
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.
Backup
Backup
Sempre
Dê ao backup um nome coerente
Guarde a data que o backup foi criado
Guarde o backup final num lugar seguro
Restore
Lembre-se
Um backup criado no controlador S4 não pode ser restaurado
no controlador IRC5.
Sempre verifique se está restaurando o sistema correto.
Backup
Procedimento
1 Pressione “ABB”.
xx0300000469
Procedimento
3 Pressione “Backup”.
Xx0300000440
Backup
Procedure
Info/
Passo Ação
Ilustração
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
Backup
Procedimento
Info/
Passo Ação
Ilustração
5 Selecione o diretório desejado.
xx0300000443
1 Pressione “ABB”.
Xx0300000439
3 Pressione “Restore”.
Xx0300000440
Restore
Procedimento
Info/
Passo Ação
Ilustração
4 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
xx0300000444
Exercício 3
TCP
Ponto Central da Ferramenta
IRC5 Programming
IRC5
Basic
Programação Básica
Sistema de Coordenadas
Coordenada da Ferramenta
Y (Tool coordinates)
Coordenada da Ferramenta (Tool0)
X Z
Benefícios ao utilizar
uma ferramenta:
Movimentação
Reorientação
Z
Y
Facilidade de alteração
do ponto
Coordenada de Base (Base coordinates)
Sistema de Coordenadas
TCP
TCP
TCP
TOOL0
TCP
Definição de Ferramenta
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.
T_Caneta
Ponta Fixa
Fixed point
Carga (PayLoad)
_________________
ManLoadIdentify é uma rotina utilizada para definir
carga dos eixos externos.
Lembre-se
Lembre-se:
O Eixo 6 não esteja próximo dos limites. Criar um dado de
Ferramenta (Tooldata) antes
de um dado de Carga de
O Eixo 4 esteja próximo de 0 (zero). Ferramenta (Tool Load).
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).
Teclas Programáveis
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”.
Exercício 4
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.
Utilizando o R.S.O.
Utilizando o R.S.O.
Adicionando controlador.
Robot View -> Add Controller OU Right click -> Add
Controller.
Utilizando o R.S.O.
Utilizando o R.S.O.
Exercício 5
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
Programação Estruturada
Programação Estruturada
Programação Estruturada
Sequência.
Decisão.
Iteração – Processo chamado na programação de repetição de
uma ou mais ações.
PROC main()
Rotinas
Rotina_1;
Rotina_2;
ENDPROC
ModuleA.mod
PROC Rotina_1() MODULE ModuleA
MoveL; PROC Rotina_A1()
ENDPROC MoveL;
MoveL;
PROC Rotina_2() ENDPROC
MoveL; ENDMODULE
ENDPROC Instruções
ENDMODULE
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).
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.
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.
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.
PERS num reg8:=0;
VAR num reg10:=0;
Tipo de Armazenamento
Tipo de Dados
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.
Tipo de Dados
WaitDI
A instrução ______________ é utilizada para
aguardar um sinal de uma entrada digital.
WaitUntil
A instrução ______________ é utilizada para
aguardar uma condição.
Waittime
A instrução ______________ é utilizada para
aguardar um tempo.
Instruções de I/O
© ABB Inc. -155
IRC5 Programação
Programming Básica
Basic
Instruções de I/O
p10
p40
p30 p20
DT
Instruções de I/O
p10
P40
P30
P20
Método JSP:
Programa Estruturado
Rotinas bem definidas
- Fácil para testar Instrução
- Fácil para alterar
- Fácil para identificar ProcCall
falhas
Facilidade para leitura e
compreensão
Main routine
(proc main)
MAIN
Exercício 6
1. Crie um novo programa. Este novo programa irá simular uma aplicação de
manipulação e deverá atender as seguintes solicitações:
Alimentador 1
(Infeeder 1)
Esteira de Saída Alimentador 2
(Exit Conveyor) (Infeeder 2)
Torno
(Lathe)
Exemplo de Programa
MAIN r_Lathe;
MoveJ pOvrLathe, v1000, z10, tGripper;
MoveJ pHome, v1000, fine, tGripper;
MoveL pin_Lathe, v400, fine, tGripper;
WaitDI di1_Style1, 1; Reset do9_Grip;
r_Feeder1 MoveL pOvrLathe, v800, fine, tGripper;
r_Lathe; PulseDO\Plength; = 1, do7_Start_Lathe;
Wait DI di7_Lathe_Done, 1;
r-Conveyor
MoveL pin_Lathe, v400, fine, tGripper;
RETURN; Set do9_Grip;
MoveJ pOvrLathe, v1000, z10, tGripper;
r_Feeder1; RETURN;
MoveJ pOvrPart, v500, z30, tGripper; r_Conveyor
MoveL pOnPart, v500, fine, tGripper; MoveJ pOvr_Conveyor, v1000, z60, tGripper;
IF di1_Style1=1 THEN
rFeeder1 ;
ELSE
return ;
ENDIF
IF
THEN ELSE
Di1_Style1=
1
rFeeder1 Return
ENDIF
IF di1_Style1=1 THEN
rFeeder1 ;
Argumento Opcional ELSEIF di2_Style2=1 THEN
(Optional Argument) rFeeder2 ;
ELSE
return ;
ENDIF IF
THEN ELSEIF
Di1_Style1=
1
rFeeder1
THEN ELSE
Di2_Style2=1
rFeeder2 Return
ENDIF
di1=1 di2=1
Exercício 7
r_Conveyor;
MoveL pOvr_Conveyor, v1000, z60, tGripper;
MoveL pOn_Conveyor, v800, fine, tGripper;
Reset do9_Grip;
MoveI pOvr_Conveyor, v1000, z60, tGripper;
RETURN;
Trabalhando com
Numerais
IRC5
Programação Básica
Variável
Você fará uso de uma ______________ deste tipo de dados.
MAIN
rLathe Quench
nCount>=3
rFeeder1 rFeeder2
Peça boa Peça Ruim
rDropOff rReject
rGotoCalib
r_QUENCH
MoveJ pOvrQuen, v500, z30, tGripper;
MoveL pOnQuen, v500, fine, tGripper;
MoveL pOvrQuen, v500, z30, tGripper;
RETURN;
Comunicando
com o Operador
IRC5
Programação Básica
Instrução TPReadFK
TPReadFK nFigure, “Is this a GOOD or BAD part?”, stEmpty, “GOOD”, stEmpty, “BAD”, stEmpty;
Quench rLathe
nCount>=3
Decisão do Operador
rInspect
rDropOff rReject
Instrução TPReadNum
TPReadNum nfigures, “How many figures do you want?
Outras Instruções
IRC5
Programação Básica
Tópicos
Instruções de Clock
Instruções de Clock
Quando utilizar um relógio como cronômetro:
Funções de Clock
Funções de Clock
ClkRead – Lê o valor do cronômetro
Exemplo:
FOR i FROM 1 TO 8 DO
MoveJ ..... ;
MoveJ ..... ;
8 WaitTime..... ;
MoveJ ..... ;
... ;
ENDFOR
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
Label
Instrução TEST
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.
Work Object
IRC5
Programação Básica
Z
Y
X
Coordenada de Base
(Base coordinates)
Object (Objeto)
User (Usuário) User (Usuário)
Origin y1
x2
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 --
work object
Programando com
Offsets IRC5
Programação Básica
Movemento Circular
MoveC
pCircle20
pCircle30
pCircle40
Movimento Circular
pCircle20
pCircle30
pCircle50
pCircle40
Press Modify pos
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
Tipo de Utilizado para deslocar a partir
Movimento da posição original Velocidade
Precisão
C, J, L
Move_ Offs(pStart,-100,0,0), v500, fine, toolx;
Z Offset
Dado de
Y Offset
Posicionamento
X Offset
para referência
de deslocamento
Horário ou Anti-horário
© ABB Inc. -210
IRC5 Programação
Programming Básica
Basic
Exemplo - Offset
Exemplo
MM X
Exemplo Em qual quadrante o
100
quadrado será
75
1 2 desenhado?
50
25 1 2 3 4
100 75 50 25 -25 -50 -75 -100
Y MM
-25 pSTART
-50
3 4
-75
-100
Calibração e IRC5
Sincronismo Programação Básica
Tópicos
Calibração – IRC5
Calibração ou Sincronismo?
O sincronismo poder ser realizado facilmente sem
necessiadade de ferramentas especiais.
Calibração necessita de ferramentas especiais.
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).
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.
Procedimento de Sincronismo
1. Mova o robô para as marcas de sincronismo.
2. Pressione ABB : Calibração (Calibration)
3. Selecione o robô a ser calibrado.
4. 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.
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
Ferramentas Especiais
Nível Eletrônico
Dispositivo ABB (para eixo 1)
Base de Nivelamento
Exercício 12
Exercícios
IRC5
Programação Básica
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.
Exercício 2
2 – Crie um TCP utilizando o método dos 4 pontos.
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
o pHome x posição no papel
o p_aprox
p40 x x p10
p30 x x p20
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
o pHome x posição no papel
o p_aprox
o p_aprox_1
p40 x x p10
p_quad
100mm
p30 x x p20
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
o pHome x posição no papel
o p_aprox
o p_aprox_1
p40 x x p10
p_quad
100mm
x
p_centro
p_aprox_2 o o p_aprox_3
p30 x x p20
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
p_aprox_2 o o p_aprox_3
p30 x x
p20
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.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.
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.
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.
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).
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
operador solicitar. O operador pode solicitar apenas uma peça por vez.
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
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.
Exercício 13
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.
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.
Exercício 15
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.
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
DI08 Pegar na esteira A Pegar na esteira B
C/ S/
DI09 Posição (A1/B1) sem Logo Posição (A1/B1) com Logo A6 A3 LOGO LOGO B3 B6
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
DO01 Desliga Vácuo Liga Vácuo
A4 A1 C5 C2 B1 B4
DO08
DO09 C4 C1
DO10
DO11 Esteira de
DO12 Palete Incompleto Pelete Completo Saída C
Contatos ABB
Coordenação de Treinamentos
Charles Souza 11 3688-8481
charles.souza@br.abb.com
Coordenação Técnica
Margareth Silva 11 3688-9223
margareth.silva@br.abb.com
Suporte Técnico
Ricardo Maia 11 3688-9032
ricardo.maia@br.abb.com
Em Branco
Avaliação do Curso
Avaliação do Curso
Em Branco