Buscar

ABB ROBÓTICA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 156 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 156 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 156 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

IRC5 Programming Basic
IRC5 
Programação 
Avançada
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-2
Bem-vindos!
Sejam Bem-vindos ao primeiro Centro de 
Treinamento ABB em Automação e Robótica da 
América Latina!
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
Conteúdo
Introdução 04
Informações Gerais do Curso 13
Objetivos do Curso 15
Segurança 16
Robot Studio Online, Sistema Operacional 23
Robot Studio Online, Configurações 51
TCP Complexos 58
Modulos, Rotinas e Dados 66
Interrupções e Traps 81
Instruções de Procura e Tratativa de erros 93
Deslocamento de Programa (PDisp) 106
Zonas de Trabalho (World Zones) 113
Instruções Avançadas 118
Work Objects 126
Exercícios de Revisão (Prog. Básica) 133
Resumo - Instruções Básicas/ Funções de Programa 150
Contatos ABB 151
Avaliação do Curso 153
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
Introdução
 Apresentações ABB
 Robótica ABB
 Treinamento ABB
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-5
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
 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 Advanced Programming
©
 A
B
B
 In
c.
-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 Advanced Programming
©
 A
B
B
 In
c.
-7
ABB - Portifólio
Como estamos organizados
5 Divisões Globais
Produtos de 
Potência
Sistemas de 
Potência
Discrete 
Automation 
and Motion
Automação de 
Processos
$11.2 bilhões
33.500 
funcionários
$6.5 bilhões
16.000 
funcionários
$5.4 bilhões
18.000 
funcionários
$7.8 bilhões
28.000 
funcionários
Faturamento em 2009 (US$; valores pró-forma para as divisões de automação)
Produtos de 
Baixa Tensão
$4.1 bilhões
19.000 
funcionários
 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 baixa-
tensão
 Robótica e sistemas 
robotizados
 Portfólio ABB:
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
ABB
Energia e automação estão em torno de nós
Você encontrará a tecnologia ABB...
cruzando oceanos e no fundo do mar,
funcionando em órbita ao redor do planeta,
nos trens em que viajamos e nas 
instalações que processam nossa água,
nos campos onde crescem nossas safras e 
nas embalagens dos nossos alimentos,
nas usinas que geram nossa 
energia e em nossas casas.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
Pioneira em tecnologia desde 1883
Os fundadores
1900
Robôs industriais
Turbochargers
HVDC
Ultra-alta tensão 
Painéis isolados 
a gás
Acionamentos e 
inversores de frequência
Turbina a vapor
1920 1930 1940
1990 2000
19601970
Turbina 
a gás
1950
Motor sem redutor
1980
Sistemas de 
propulsão elétrica
Sistemas de 
controle distribuído
ABB - Inovação
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
0
ABB
Inovação, paixão e diversidade são as marcas da ABB
"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 Advanced Programming
©
 A
B
B
 In
c.
-1
1
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 Advanced Programming
©
 A
B
B
 In
c.
-1
2
Treinamento ABB
 Centro de Treinamento
 Centro de Treinamentos na Região Sudeste e Sul
 Osasco – SP
 Curitiba – PR
 Treinamentos no cliente
 Escopos dos Treinamentos
 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 Advanced Programming
©
 A
B
B
 In
c.
-1
3
Informações Gerais do Curso
 Regulamentos
 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 Advanced Programming
©
 A
B
B
 In
c.
-1
4
Informações Gerais do Curso
 Perfil do Aluno:
Técnicos e engenheiros que irão atuar no desenvolvimento de programas robotizados.
 Pré-Requisitos:
Possuir o curso de Operação e Programação Básica para robôs IRC5 e/ou comprovar 
conhecimentos compatíveis com o solicitado. 
 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!!!
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
5
Objetivos do Curso
 Operar o robô e seus programas com segurança;
 Criar, Configurar e carregar software de Sistema;
 Criar e utilizar Módulos, Rotinas e Dados;
 Criar TCP complexo;
 Programar utilizando Instruções de Procura;
 Programar utilizando Instruções de deslocamento de pontos;
 Programar utilizando Tratativa de Erros; 
 Programar utilizando de Instruções de Interrupção e Traps;
 Utilizar instruções de configuração de juntas;
 Programar utilizando World Zones;
 Utilizar instruções de Controle de Movimento.
O objetivo deste treinamento é ensinar aos participantes elaborar e 
interpretar programmas de complexidade avançada, bem como 
atuar na correção/optimização de programmas conforme recursos 
apresentados.
Ao concluir o curso o aluno estará apto a:
IRC5 Programming BasicSegurança IRC5 Programação 
Avançada
IRC5 AdvancedProgramming
©
 A
B
B
 In
c.
-1
7
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 Advanced Programming
©
 A
B
B
 In
c.
-1
8
 Evitar Colisões
 Modo de Operação
 Auto
 Manual < 250 mm/s
 Manual 100%
 Travamento (Lock Outs)
 Botão Enabling device
(Dead mans grip)
Botão de Hold-to-run
(para destros ou canhotos)
 Botão Hold-to-run
 Limite de Área de Trabalho
 Parada de Emergência (ES)
 Cadeia de Segurança
(Safeguard stop/ Run-Chain)
Segurança - Revisão
Enabling deviceEnabling device
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
9
Procedimentos de Segurança ABB
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-2
0
Procedimentos de Segurança ABB
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-2
1
Procedimentos de Segurança ABB
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-2
2
Procedimentos de Segurança ABB
ABB - Osasco
IRC5 Programação 
Avançada
Robot Studio Online &
Sistema Operacional
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-2
4
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
 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 Advanced Programming
©
 A
B
B
 In
c.
-2
5
Conectando com o Controlador IRC5
Existe dois modos de se conectar ao Controlador IRC5:
•Porta de Serviço - Service (DHCP – endereçamento de IP automático)
•Porta de Rede - LAN (Configurável)(Necessário opcional de interface com PC)
Service
LAN
(Local Area Network)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-2
6
Carregando o Software no Controlador IRC5
 O Robot Studio Online é sempre o ponto inicial para 
instalação de um novo sistema operacional. O R.S.O. é a 
ferramenta onde configuramos as características do sistema 
e como este deverá funcionar, antes de carregá-lo no 
controlador do robô (Controlador IRC5).
 O Downloading do sistema poderá ser feito de três formas 
através do R.S.O.:
 Via USB (USB-memory).
 Através da porta de Serviço Ethernet.
 Através da porta de Rede Ethernet (LAN).
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-2
7
O que é RobotWare (RW)?
 Robotware (system pack, operating system, etc)
 É o Sistema Operacional do Controlador, poderíamos chamá-lo de 
“Windons” do Controlador. 
 Existem diferentes versões de RW. Na janeja Propriedades do 
Sistema (system properties) podemos visualizar a versão atual . Ex: 
5.06.0.0095
 A versão do RW está armazenada no Mediapool que é localizado 
por padronização em: C:\Program Files\ABB Industrial IT\Robotics 
IT\Mediapool
 RW é carregado para um diretório na Flash Disk do IRC5.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-2
8
O que é um Robot System?
 Um Robot System é:
 Um determinado número de arquivos são necessários para que 
o robô possa funcionar/ operar, estes arquivos são carregados 
no HardDrive do Controlador IRC5. O arquivo System.xml é o 
arquivo que aponta par todos demais arquivos de sistema.
Diretórios Padrão no 
Sistema IRC5
 O diretório BACKUP pode ser usado para armazenar backups 
do robô.
 Atenção! Na execução de um Cold Start todas informações deste 
diretório serão perdidas.
 O diretório INTERNAL tem informações específicas de sistema. 
Este diretório é protegido e não está disponível para o usuário.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-2
9
O que um Robot System contém?
 Home- Diretório Padrão 
 Este diretório é destinado aos 
usuários, por exemplo, neste 
diretório o usuário pode salvar 
programas e outros arquivos que 
se deseja acessar diretamente do 
controlador. Dentro deste diretório 
usuário poderá ainda criar seus 
subjacentes diretórios/ estrutura 
de arquivos.
 OBSERVE! Este diretório está 
localizado abaixo do seu Robot 
System. Exemplo: Se seu Robot 
System foi nomeado como 
14_50048 o diretório Home estará 
localizado abaixo/ dentro dele. 
14_50048/Home. 
 Atenção! Na execução de um Cold 
Start todas informações deste diretório 
serão perdidas.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
0
O que um Robot System contém?
 Diretório Padrão SYSPAR
 Neste diretório são armazenados informações dos 
parâmetros gerados na criação do sistema (Robot System).
 Neste diretório encontra-se os Parâmetros de Sistema, estes 
parâmetros são únicos para cada robô (Robot System). 
 Não modifique nenhuma configuração dos Parâmetros de 
Sistema a menos que tenha certeza do que está fazendo.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
1
Métodos para carregar um sistema
 Memória USB
 Porta de Serviço
 Porta LAN
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
2
Carregando sistema utilizando Memory stick
Vantagens
 Rápido e seguro comparando-se 
a utilização de disquetes (Floppy 
Disk). 
Desvantagens
 Não é possível ler/ escrever 
arquivos uma vez que o é criado 
e armazenado no Memory Stick. 
 Download lento quando 
comparado ao uso da porta 
Ethernet visto que uma etapa 
adicional é necessária: Carregar 
do R.S.O para Memorystick e do 
Memorystick para o Controlador.
 Sistema somente carregado do 
diretório raiz.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
3
Carregando sistema utilizando a Porta LAN
Vantagens
 Tudo pode ser controlado através 
de um PC
 Todos controladores conectados a 
LAN podem ser acessados através 
do R.S.O.
 Rápido
Desvantagens
 Necessita de maiores configurações 
quando comparado com o uso de 
Memory Stick
 Necessário interface de software 
no PC
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
4
Carregando sistema através da porta Service
Vantagens
 Configuração de rede que é 
valida para todos controladores 
IRC5, dada automaticamente a 
partir da porta de serviço 
(Service). 
 Rápido quando comparado ao 
uso de Memory stick.
Desvantagens
 Necessário conecção Ethernet 
entre PC e Controlador IRC5. 
(cabo trançado ou hub/switch)
 Não pode conectar múltiplos 
robôs.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
5
Antes de carregar um sistema!
 Para carregar um sistema executar um X-start ou um C-start.
 Não necessário se carregarmos a partir do R.S.O.
 Para caregar o sistema a partir do R.S.O. é necessário autorização de escrita (write 
access).
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
6
Telas do Robot Studio Online
Robot View ExplorerWork SpaceMenu BarController StatusTool Bars
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
7
RSO System Builder (construção do Sistema)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
8
Licença parainstalação do Robot System
 A Licença (KeyString) é encontrada na folha de especificação do 
produto que é entregue ao cliente junto com o robô.
 As chaves de licença (KeyString) irão “desbloquear” os opcionais 
que o cliente comprou e deseja instalar.
 As chaves de licença também podem ser encontradas no backup.
Licença do 
Módulo de 
Controle
Licença do Móduo 
de Acionamento
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-3
9
O que um Robot System contém?
 Software opcionais / preferências
 Os opcionais de software podem 
ser diferentes para cada robô. Por 
exemplo, se você estiver 
utilizando um manipulador para 
solda à ponto (Spot welding) 
provavelmente necessitará de um 
opcional chamado SpotWare.
 Existem muitos opcionais 
disponíveis de acordo com a 
aplicação que o manipulador terá.
 A chave de Licença desbloqueia 
os opcionais adquiridos para o 
robô.
 OBSERVE! Não é necessário 
instalar todos opcionais de 
software caso não forem 
utilizados.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
0
RSO System Builder (Construindo Sistema)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
1
Utilizando o Robot Studio Online
Tela inicial do Robot Studio
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
2
Utilizando o Robot Studio Online
Crie um novo robô (robot view).
(Pode utilizar-se de vários robôs)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
3
Utilizando o Robot Studio Online
Clique com botão 
direito no 
Controlador
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
4
Adicione um Controlador
Adicione um 
controlador para 
se comunicar.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
5
Visualização de Eventos
Visualização de 
eventos atuais e 
passados no 
sistema.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
6
IRC5 FlexPendant & R.S.O
 O FlexPendant e RobotStudioOnline trabalham juntos
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
7
Utilizando o R.S.O.
 Localizando seu programa Rapid.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-4
8
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 Advanced Programming
©
 A
B
B
 In
c.
-4
9
RSO - Relembrando
Assista a demonstação do Instrutor.
Lembre-se dos seguintes detalhes:
•Você está conectado e modificando o robô ao vivo!
•É necessário solicitar escrita “Request Write Access” e 
concedê-la através do FP (grant) antes de realizar 
quaisquer modificações.
•A Autorização de Usuário pode ser utilizada para limitação 
de acesso (User Authorization).
•Feche o aplicativo ao término das modificações.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-5
0
Exercício 1
1. Crie um simples programa de movimentos.
2. Crie um Backup do sistema atual.
3. Localize a Chave de Licença no backup.
4. Crie um novo sistema a partir do backup criado no passo 2.
5. Restaure o Backup.
IRC5 Programação 
Avançada
Robot Studio Online
Configurações
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-5
2
RSO Configurações
Existem 5 tipo de 
parâmetros. Com um 
duplo clique você 
visualizará o conteúdo.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-5
3
I/O Configurações
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-5
4
Adicionando sinais de I/O
Para adicionar um sinal de I/O:
1. Duplo Clique no robô e solicitar acesso de escrita.
2. Expandir a visualização do robô em “árvore”.(pressionar “+” 
em frente do controlador)
3. Expandir “Configuration” 
4. Escolha janela “I/O” através de um duplo clique
5. Clique em “signal”.
6. Clique com botão direito em “signal”.
7. Escolha “Add Signal”.
8. Defina o Nome “Name”, Tipo do Sinal “Type of Signal”, 
Atrubuindo à Unidade “Assigned to unit” e Endereço “Unit 
Mapping”.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-5
5
Configurações de Movimento
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-5
6
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”.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-5
7
Exercício 2
1. Configure o sistema de I/O.
2. Configure via software a limitação do eixo1.
3. Configure a Tecla Programável 1 para abrir e fechar uma Garra.
IRC5 Programação 
Avançada
TCP(s) Complexos
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-5
9
Sistema de Coodenadas da Ferramenta
 Sistema de Coordenadas
 Benefícios ao utilizar 
uma ferramenta:
 Movimentação
 Reorientação
 Facilidade de alteração 
do ponto 
Z
Y
Coordenada de Base (Base coordinates)
Z Y
X
X
Coordenada da Ferramenta
(Tool coordinates)
Coordenada da Ferramenta (Tool0)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-6
0
Sistema de Coordenadas
 Veja diferentes exemplos de ferramenta e TCPs (Tool Center Points).
TCP
TCP
TCP
TCP
TOOL0
A Tool0 sempre é a referência de
Posicionamento para as demais
ferramentas
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-6
1
Métodos de TCP
 
Ponteira Fixa 
 Existem três métodos para se definir um TCP:
 TCP (Sem orientação)
 TCP & Z
 TCP & Z, X
Através do X e Z 
“Elongators” podemos 
definir a orientação de uma 
coordenada de ferramenta.
Z - Elongator
X - Elongator
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-6
2
Coordenada de Ferramenta sem Elongators 
Se o método de TCP (Sem 
orientação) é usado a 
ferramenta assumirá a 
coordenada de ferramenta 
padrão conforme ilustração 
abaixo.
+Z
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-6
3
Coordenada de Ferramenta com Elongators
 
X
Z
Se o médoto TCP & Z ou 
TCP & Z, X é usado, podemos 
definir a coordenada da 
Ferramenta (orientação).
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-6
4
TCP Estacionário
Um TCP Estacionário é um TCP que não está fixo no robô.
T_Nozzel
Wobj_Peca
T_Garra
Um TCP Estacionário é sempre 
utilizado com um Work Object 
fixo ao robô. 
Um TPC Estacionário é 
ensinado utilizando outroTCP 
que esteja fixo ao robô.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-6
5
Exercício 3
1. Crie um TCP para a ferramenta fixada ao seu robô utilizando o 
Método TCP Z ,X. Teste.
2. Crie outro TCP considerando uma ferramenta que não está 
fixada ao robô.
IRC5 Programação 
Avançada
Módulos, Rotinas e Dados
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-6
7
Utiliza-se módulos para dividir a Memória de Programa em secções.
Facilita Salvar e Restaurar informações de programa.
Existem dois tipos de Módulos que são:
1. Módulos de Programa (Program Modules)
2. Módulos de Sistema (System Module)
Módulos
Lembre-se que não pode haver módulos com nomes iguais.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-6
8
Memória de Sistema
Sistema
Operacional
VXWorks
Parâm
etros de Sistem
a (SysPar)
Memória do UsuárioAplicativo de
Software
RAPID
Fora de escala. Utilizado somente para fins didáticos.
IRC5 Advanced Programming
©
 A
B
B
 Inc.
-6
9
Memória do Usuário (User Memory)
Task: T_Rob1
MainModule
Main
Data
Data
User (system Module)
Data
Base (system Module)
More…
Task: T_Rob2
MainModule
Main
Data
Data
User (system Module)
Data
Base (system Module)
More…
Task: BackGround1
MainModule
Main
Data
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
0
Existem dois tipos de Módulo:
Program (.mod)
System (.sys)
Um módulo consiste em:
Rotinas
Dados
Tipos de Módulos
MainModule
Main
Data
rPickUp rDropOff
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
1
MODULE 
modulo1(SYSMODULE,VIEWONLY)
!Declaração de Dados
!Rotinas
!Instruções
ENDMODULE
Atributo de Módulos
Um módulo pode ter os seguintes atributos:
SYSMODULE
NoStepIn
ViewOnly
ReadOnly
NoView
Os Atributos de Modulos podem ser adicionados somente em offline.
(Exceto SYSMODULE)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
2
Pasta Novo_programa
MODULE MainModule
PROC main()
Rotuine1; 
Routine2;
ENDPROC
PROC Routine1()
MoveL;
ENDPROC
PROC Routine2()
MoveL;
ENDPROC
ENDMODULE
<?xml version="1.0" encoding="ISO-8859-1" ?>
<Program>
<Module>ModuleA.mod</Module>
<Module>MainModule.mod</Module>
</Program>
Novo_programa.pgf
MainModule.mod
MODULE ModuleA
PROC RoutineA1()
MoveL; 
MoveL;
ENDPROC
ENDMODULE
ModuleA.mod
Estrutura de Arquivo de Programa
O Backup salvará todas informações
SAVING PROCEDURE
1. Pressione menu “ABB”.
2. Pressione “Program Editor”.
3. Selecione “Robot Task”.
4. Pressione “Tasks and Programs”.
5. Selecione uma Task se existem 
múltiplos robôss.
6. Pressione “File”
7. Pressione “Save Program as”.
8. Escolha o destino para 
armazenamento e digite o nome 
desejado.
9. Pressione “OK”
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
3
O Backup salvará todas informações
Salvando Módulos
1. Pressione menu “ABB”.
2. Pressione “Program Editor”.
3. Selecione a Task.
4. Pressione “Modules”.
5. Pressione “Module to save”.
6. Pressione “File” and “Save Module As”.
7. Escolha o destino para armazenamento e digite o nome 
desejado.
8. Pressione “OK”.
MODULE ModuleA
PROC RoutineA1()
MoveL; 
MoveL;
ENDPROC
ENDMODULE
ModuleA.mod
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
4
Main Routine
MoveJ p10 . . .
IF . . .
rStyle1
ELSEIF . . .
rStyle2
.
.
.
Return
rStyle1
MoveL p20 . . .
.
.
.
Return
rStyle2
MoveL p210 . . .
.
.
.
Return
P10
DATA: P20
P210
Rotinas
Todo programa precisa ter uma rotina Main.
A instrução ProcCall é utilizada para chamada de outras rotinas.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
5
Rotinas são usadas para:
1. Organizar o Programa.
2. Repetir uma Tarefa.
Tipo de Rotinas:
1. PROCEDURE = Para movimentos e processos.
2. FUNCTION = Para cálculos matemáticos.
3. TRAP = Para controle de instruções de Interrupção.
Rotinas
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
6
Dados
Existem dois tipos de dados (Data Types):
Atomic (Bool, Num, and String)
Record (Robtarget, Tooldata, Wobjdata, …)
Existem três diferentes tipos de declaração de dados:
Variable
Constant
Persistant
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
7
Extensão de Dados
As diferenças entre Dados de Programa e Dados de Rotina são:
Dados de Programa – Pode ser “visto” em qualquer parte do programa.
A extensão de um dado pode ser definida como:
Global
Local
MODULE module1(SYSMODULE)
LOCAL Var num nCounter:=0;
PROC routine1()
Var num nLocalCounter;
!Instructions
EndProc
ENDMODULE
Dados de Rotina – Pode ser “visto” somente dentro da rotina.
Task
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
8
Matriz de Dados
3132 3145 4532 1276 8634
3344 22 1276 11 7886
5569 6 332 556 665
8944 456 11 -677 446
nOffsets
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-7
9
Um tipo de dado ARRAY se constitui uma Matriz, 
portanto é uma forma de armazenar vários dados 
em um único local.
Uma Matriz pode ser de 1, 2, ou 3 dimensões.
Programa exemplo:
CONST num reg6{5}:=[3132,3145,4532,1276,8634]
For i from 1 to 5 do
TPWrite “O valor atual é "\Num:=reg6{i};
…
Matriz de Dados
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
0
Exercício 4
1. Crie um novo Módulo de Sistema.
2. Coloque as declarações de ferramenta do último exercício dentro do novo 
Módulo.
3. Crie 1 dos programas descritos abaixo:
A. Crie um programa que simule dispensing. O Programa deverá usar um TCP fixo ao 
manipulador ou um TCP estacionário. Crie as seguintes rotinas: Main, rPega, rDeposita, 
rDispenserOn, rDispenserOff, rStyle1, rStyle2. Programe a rotina Main para executar 
rPega, rStyle1 e rDeposita quando o sinal de entrada _______ for acionado. Programe a 
rotina Main para executar rPega, rStyle2 e rDeposita quando o sinal de entrada _______ 
for acionado. Nas rotinas rStyle1 e 2 mova o robô até a folha e desenhe a inicial de seu 
nome. Coloque as rotinas rPega e rDeposita em um novo Módulo de Sistema.
B. Crie um programa que simule manipulação de Materiais (MH). O Programa deverá 
usar um tGarra parra o TCP. Crie as seguintes rotinas: Main, rAlimentador1, 
rAlimentador2, rTorno, rInspecao, rEsteira e rService. Programe a rotina Main para 
executar rAlimentador1, rTorno, rInspecao e rEsteira quando o sinal de entrada _______ 
for acionado. Se o sinal de entrada _______ for acionado programe a rotina Main para 
executar rAlimentador2, rTorno, rInspecao e rEsteira. Programe o robô para a cada 3 
peças inspecionadas na rotina rInspecao aguarde o sinal de entrada _______ ser 
acionado. 
4. Adicione Matrizes de Dados (Arrays) no seu programa: (uma matriz com mais de 8 
componentes.)
A. Para o programa que simula dispensing. Criar 2 matrizes simples para utilizá-la como 
offset. Crie uma nova rotina de estilo (rStylexx) que desenhe circulos no papel através de 
offset e arrays.
B. Para o programa que simula (MH). Crie 2 matrizes simples representando configuração 
de offset de um palete. Substitua a Esteira por um Palete que utiliza valores de uma Matriz 
para gerar os offsets de empilhamento. 
(Opcional)
IRC5 Programação 
Avançada
Interrupções e Traps
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
2
Definição de Interrupção
Um evento que dispara um salto temporário 
para uma rotina Trap.
O que é uma Interrupção?
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
3
Associa uma interrupção com uma específica rotina Trap.
Desassocia uma interrupção de uma específica rotina Trap.
Atribui um sinal de entrada Digital a uma interrupção.
Atribui um sinal de saída Digital a uma interrupção.
Ativa uma interrupção APÓS um tempo específico.
Não permite ocorrer interrupções, mas registra eventos de 
interrupção em um buffer para processamento posterior.
Permite interrupções ocorrerem novamente.
Desativa uma interrupção, e NÃO registra eventos de 
interrupção para um processamento posterior.
Ativa uma interrupção novamente.
Instruções de Interrupção
INSTRUÇÃO DESCRIÇÃO
CONNECT
IDELETE
ISIGNALDI
ITIMER
IDISABLE
IENABLE
ISLEEP
IWATCH
ISIGNALDO
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
4
Ativa um Evento de Interrupção a partir de um erro
Ativa um Evento de Interrupção a partir da mudança de valor 
de um dado tipo Persistente
Ativa um Evento de Interrupção a partir da mudança de valor 
de um dado Variável.
Ativa um Evento de Interrupção a partir de uma AI
Ativa um Evento de Interrupção a partir de uma AO
Ativa um Evento de Interrupção a partir de um GI
Ativaum Evento de Interrupção a partir de um GO
Instruções de Interrupção
INSTRUÇÃO DESCRIÇÃO
IError
IPers
ISignalAI
ISignalGI
ISignalGO
IVarValue
ISignalAO
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
5
Criando uma rotina "TRAP" para utilizar com uma interrupção
Rotina Trap
Ao criar uma rotina selecionar o campo Type.
Escolher “Trap”.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
6
Exemplo de Interrupção
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
7
Interrupção - Connect
Conecta uma 
interrupção com 
uma rotina TRAP
Variável nomeada 
para interrupção.
TRAP rotina 
nomeada para 
interrupção
intFlowFault with trapFAULT
Connect
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
8
Interrupção - ISignalDI
Associa um INPUT 
/Evento com um 
sinal digital Sinal Digital
Interrupção
OPT ARG /Single = Somente uma ocorrência
No OptArg. = Todas ocorrências
Valor do sinal para ativar 
Evento de disparo da 
interrupção deslocando o 
programa para TRAP
Di6_Flowing, 0, intFlowFault
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-8
9
Exemplo de Rotina Trap
fine
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
0
Event Routines 
Existem vários eventos de sistema que podem ser utilizados 
na linguagem de prgramação RAPID como:
11a
POWER ON
START
RESTART
STOP
QSTOP
RESET
O robô é ligado.
Quando o programa é inicializado.
Quando o robô é inicializado da última posição que estava.
Quando o programa é parado (não cycle stop).
Quando o programa é parado bruscamente (ES).
Quando o programa antigo é apagado.
COMANDO DESCRIÇÃO
20 rotinas podem ser associadas para cada evento.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
1
Configurando um Evento de Sistema
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
2
Exercício 5
1. Dependendo do programa que você fez no último exercício 
faça os seguintes:
A. Para o programa que simula dispensing. Adicione rotinas para acionar e 
desacionar o fluxo. Monitore o fluxo após acionado. Se o fluxo desacionar 
enquanto o robô executa o desenho o mesmo deverá parar, mover-se para posição 
de serviço e aguardar o operador pressionar “Continue” na tela do FlexPendant. 
Após autorização do operador, o robô deverá continuar o programa do mesmo 
ponto que parou.
B. Para o programa que simula (MH). Adicione uma rotina para pegar e soltar 
a peça. Monitore se há presença de peça na Garra (use a imaginação, simule 
através de um sinal de entrada). Se a peça cair enquanto o programa estiver 
rodando o robô deverá parar, mover-se para posição de serviço e aguardar o 
operador pressionar “Continue”na tela do FlexPendant. Após autorização do 
operador, o robô deverá continuar o programa do mesmo ponto que parou.
2. Adicione uma Event Routine que: 
A. Para o programa que simula dispensing. Se o programa for parado 
enquanto desenha, desacione o fluxo. Quando reiniciado, acione novamente o 
fluxo.
B. Para o programa que simula (MH). Se o programa for parado no meio do 
ciclo acione a saída ________ . Após reinício do ciclo desacione a mesma.
IRC5 Programação 
Avançada
Instruções de Procura e 
Tratativa de Erros
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
4
Porque utilizar Instruções de Procura (Searching) ?
Instruções de Procura é um modo de adicionar flexibilidade ao Robô.
Instruções de Procura podem ser utilizadas para:
Inspeção
Localizar partes
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
5
Instruções de Procura
SearchL é utilizado para efetuar procura ao longo de uma 
tragetória linear.
SearchC é utilizado para efetuar procura ao longo de uma 
tragetória em arco.
Exemplo:
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
6
Instruções de Procura
SearchL \Stop, di_SearchSensor, pFound, pEndSearch, v100, tSensor
Para 
quando a 
parte é 
encontrada
Sinal de 
disparo
Variável de 
ponto que 
armazena a 
posição 
encontrada 
(p_Found 
precisa ser 
uma 
variável)
Ponto Final Velocidade 
durante 
procura.
TCP
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
7
Características de Instruções de Procura
pSearchStart pFound STOP pSearchEnd
escorregamento
Posição onde o 
sinal de disparo foi 
acionado. 
(robtarget data 
type=Variável)
Percurso 
deslocado após 
detecção do sinal 
de disparo.
Ponto final para 
Procura. Pto de 
destino.
MOVEJ pSearchStart ,V1000, fine, tSearchSensor;
Utilizado como uma referência inicial para procura
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
8
Tratativa de Erros (Error Handling)
Todas rotinas podem ter Tratativa de Erros. 
Uma Tratativa de Erro (Error Handling) é 
configurado na declaração de uma rotina.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-9
9
Identificação de Erros
A variável “ERRNO” armazena o erro atual do 
sistema.
Esta variável pode ser usada na Tratativa de Erros 
para identificar que erro ocorreu e programar a 
apropriada ação para o mesmo.
O Tipo de Dados “Errnum” tem uma listagem de 
todos Erros padrão. (Veja próxima página)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
00
Tipo de Dados - Errnum
Name Cause of error
ERR_ACC_TOO_LOW Too low acceleration/deceleration specified in
instruction "2or 2
ERR_ALRDYCNT The interrupt variable is already connected to a TRAP
routine
ERR_ALRDY_MOVING The robot is already moving when executing a ,
!+,!+instruction
ERR_AO_LIM ,2 analog signal value outside limit in 0&
0/K or0,
ERR_ARGDUPCND More than one present conditional argument for the
same parameter
ERR_ARGNAME Argument is expression, not present or of type switch
when executing ArgName
ERR_ARGNOTPER Argument is not a persistent reference
ERR_ARGNOTVAR Argument is not a variable reference
ERR_AXIS_ACT Axis is not active
ERR_AXIS_IND Axis is not independent
ERR_AXIS_MOVING Axis is moving
ERR_AXIS_PAR Parameter axis in instruction TestSign and SetCurrRef
is wrong.
ERR_BWDLIMIT Limit StepBwdPath
ERR_CALLIO_INTER If an IOEnable or IODisable request is interrupted by
another request to the same unit
ERR_CALLPROC Procedure call error (not procedure) at runtime (late
binding)
ERR_CFG_INTERNAL Not allowed to read internal parameter- #
ERR_CFG_ILLTYPE Type mismatch - #, #
ERR_CFG_LIMIT Data limit - #
ERR_CFG_NOTFND Not found - #, #
ERR_CNTNOTVAR CONNECT target is not a variable reference
ERR_CNV_NOT_ACT The conveyor is not activated.
ERR_CNV_CONNECT The ? instruction is already active.
ERR_CNV_DROPPED The object that the instruction ? was waiting
for has been dropped.
ERR_DEV_MAXTIME Timeout when executing a ReadBin, ReadNum or a
ReadStr instruction
ERR_DIPLAG_LIM Too big 2 in the instruction 0,connected
to current 02-0#-0>
Name Cause of error
ERR_DIVZERO Division by zero
ERR_EXCRTYMAX Maximum number of retries exceeded.
ERR_EXECPHR An attempt was made to execute an instruction using a
place holder
ERR_FILEACC A file is accessed incorrectly
ERR_FILEEXIST A file already exists
ERR_FILEOPEN A file cannot be opened
ERR_FILNOTFND File not found
ERR_FNCNORET No return value
ERR_FRAME Unable to calculate new frame
ERR_ILLDIM Incorrect array dimension
ERR_ILLQUAT Attempt to use illegal orientation (quaternion) valve
ERR_ILLRAISE Error number in RAISE out of range
ERR_INOMAX No more interrupt numbers available
ERR_IODISABLE Timeout when executing IODisable
ERR_IODN_TIMEOUT Timeout when executing IODNGetAttr or IODNSetAttr
ERR_IOENABLE Timeout when executing IOEnable
ERR_IOERROR I/O Error from instruction Save
ERR_LOADED The program module is already loaded
ERR_LOADID_FATAL Only internaluse in LoadId
ERR_LOADID_RETRY Only internal use in LoadId
ERR_LOADNO_INUSE The load session is in use in StartLoad
ERR_LOADNO_NOUSE The load session is not in use in CancelLoad
ERR_MAXINTVAL The integer value is too large
ERR_MODULE Incorrect module name in instruction ,+ and /-
ERR_MSG_PENDING The unit is busy
ERR_NAME_INVALID If the unit name does not exist or if the unit is not allowed
to be disabled
ERR_NEGARG Negative argument is not allowed
ERR_NORUNUNIT If there is no contact with the unit
ERR_NOTARR Data is not an array
ERR_NOTEQDIM The array dimension used when calling the routine does
not coincide with its parameters
ERR_NOTINTVAL Not an integer value
ERR_NOTPRES A parameter is used, despite the fact that the corresponding
argument was not used at the routine call
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
01
Tipo de Dados - Errnum
Name Cause of error
ERR_NOTSAVED Module has been changed since it was loaded into the
system.
ERR_OUTOFBND The array index is outside the permitted limits
ERR_OVERFLOW Clock overflow
ERR_PATH Missing destination path in instruction Save
ERR_PATHDIST Too long regain distance for ,!+ or ,!+
instruction
ERR_PATH_STOP Stop of the movement because of some process error
ERR_PID_MOVESTOP Only internal use in LoadId
ERR_PID_RAISE_PP Error from ParIdRobValid or ParIdPosValid
ERR_PROGSTOP The robot is program stop state when executing a
,!+ or ,!+ instruction
ERR_RANYBIN_CHK Check sum error detected at data transfer with instruction
ReadAnyBin
ERR_RANYBIN_EOF End of file is detected before all bytes are read in
instruction ReadAnyBin
ERR_RCVDATA An attempt was made to read non numeric data with
ReadNum
ERR_REFUNKDAT Reference to unknown entire data object
ERR_REFUNKFUN Reference to unknown function
ERR_REFUNKPRC Reference to unknown procedure at linking time or at
run time (late binding)
ERR_REFUNKTRP Reference to unknown trap
ERR_ROBLIMIT Axis outside working area or limits exceeded for at
least one coupled joint
ERR_SC_WRITE Error when sending to external computer
ERR_SIGSUPSEARCH The signal has already a positive value at the beginning
of the search process
ERR_STARTMOVE The robot is in hold state when executing a ,!+
or ,!+ instruction
ERR_SOCK_CLOSED The socket is closed, or is not created
ERR_SOCK_CONNREF The connection was refused by the remote computer
ERR_SOCK_ISCON The socket is already connected
ERR_SOCK_TIMEOUT The connection was not established within the time out
time
ERR_STRTOOLNG The string is too long
ERR_SYM_ACCESS Symbol read/write access error
ERR_SYNCMOVEOFF Timeout from SyncMoveOff
ERR_SYNCMOVEON Timeout from SyncMoveOn
Name Cause of error
ERR_TP_DIBREAK A TPRead instruction was interrupted by a digital
input
ERR_TP_DOBREAK A TPRead instruction was interrupted by a digital 
output
ERR_TP_MAXTIME Timeout when executing a TPRead instruction
ERR_TP_NO_CLIENT No client to interact with when using TPReadFK
instruction
ERR_TRUSTLEVEL Not allowed to disable IO unit
ERR_UI_INITVALUE Initial value error in function UINumEntry
ERR_UI_MAXMIN Min value is greater then max value in function 
UINumEntry
ERR_UI_NOTINT Value is not a integer when specified that an 
integer
should be used when using UINumEntry
ERR_UNIT_PAR Parameter Mech_unit in TestSign and SetCurrRef 
is wrong
ERR_UNKINO Unknown interrupt number
ERR_UNKPROC Incorrect reference to the load session in 
instruction WaitLoad
ERR_UNLOAD Unload error in instruction UnLoad or WaitLoad
ERR_WAITSYNCTASK Time-out from WaitSyncTask
ERR_WAIT_MAXTIME Timeout when executing a WaitDI or WaitUntil 
instruction
ERR_WHLSEARCH No search stop
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
02
Exemplo de Tratativa de Erro (Error Handling)
Cuidado ao utilizar o argumento ELSE, no caso abaixo, controla todos demais erros.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
03
Instruções de Error Handling
EXIT
2. _________ Cria um erro no programa causando um salto na execução do 
mesmo para o Error Handler da rotina. Também pode ser utilizado 
no Error Handler para saltar para rotina específica que trata erros.
6. __________ Reinicia a execução do programa a partir da próxima instrução que 
causou o erro.
RAISE
RETRY
RETURN
STOP or 
BREAK
TRYNEXT
1. _________ Termina a execução do programa. O programa poderá ser 
reiniciado somente do começo, ou seja, rotina Main.
3. _________ Reinicia a execução do programa a partir da mesma instrução que 
causou o erro.
4. _________ Finaliza a execução da rotina. 
5. _________ Para a execução do programa.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
04
Tratativa de Erros
Exemplo de Tratativa de Erro
O erro pode ser tratado no Error Handler e o 
programa pode ser reiniciado automaticamente 
como mostrado abaixo.
Main
rSearchPartrSearchPart
SearchL …
ERROR
ERROR
If ERRNO=ERRWHLSEARCH Then
…
Retry
TryNext
Return
Raise
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
05
Exercício 6
1. Crie uma nova rotina chamada rSearch em um novo módulo. 
Programe o robô para procurar uma peça metálica sobre a 
mesa, utilize o sinal de entrada _________ do sensor.
2. Se o robô não encontrar a peça o mesmo deverá tentar a 
procura novamente. Após 2 tentativas, o robô deverá parar, 
resetar o contador e enviar uma mensagem para que o 
operador corrija o problema. Com o problema solucionado o 
operador pressionará “Continue” na tela do FlexPendant para 
que o robô retorne a procurar a peça novamente.
IRC5 Programação 
Avançada
Deslocamento de Programa 
(PDisp)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
07
Existem três instruções referentes a deslocamento de 
programa.
São elas:
1. PDispOn
2. PDispOff
3. PDispSet
Instruções de deslocamento de Programa
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
08
SearchL \Stop, di_SearchSensor, pFound, pEndSearch, v100, tSensor;
PdispOn pSearchStart, tSensor;
MoveL P3, v1000, fine, tSensor;
PdispOff;
Instrução PdispOn
pFound STOP pSearchEnd
MOVEL pSearchStart, V100, Fine, tSensor;
Utilizado como uma referência inicial para procura
P3 (ORIGINAL) P3 (DESLOCADO)
pSearchStart
No exemplo, o deslocamento total é determinado pela 
diferença entre a Posição Atual do robô e o 
pSearchStart.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
09
No exemplo, o deslocamento total é determinado pela 
diferença entre o ponto pFound e o ponto pSearchStart.
A barra “\” indica um ARGUMENTO OPCIONAL.
Argumento Opcional PdispOn
SearchL \Stop, di_SearchSensor, pFound, pEndSearch, v100, tSensor;
PdispOn \Exep:=pFound, pSearchStart, tSensor;
MoveL P3, v1000, fine, tSensor;
PdispOff;
pSearchStart pFound STOP pSearchEnd
MOVEL pSearchStart, V100, Fine, tSensor;
Utilizado como uma referência inicial para procura
P3 (ORIGINAL) P3 (DESLOCADO)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
10
Regra do Deslocamento de Programa
 Ocorre um COLD START-UP
 Um NOVO PROGRAMA É CARREGADO
 O programa é REINICIALIZADO do começo.
Uma configuração de deslocamento de 
programa é automaticamente resetada 
quando:
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
11
PdispSet pose1;
O deslocamento total é dado pelo valor da variável pose1.
Existem alguns modos para alterar valores de um tipo de dado pose.
São eles:
Manualmente
Atribuindo Valor
Carregando Valor
Algumas funções que podem ser utilizadas são:
DefDFrame -
DefFrame -
Requer 3 pontos originais e 3 novos robtargets.
Define um frame a partir de 3 robtargets.
Instrução PdispSet
PERS pose pose1 := [[0,0,0],[1,0,0,0]];
[[X,Y,Z],[Q1,Q2,Q3,Q4]]
IRC5 Advanced Programming
©
 A
B
BIn
c.
-1
12
Exercício 7
1. Adicione ao programa existente
A. Para o programa que simula dispensing. Adicione sua rotina de procura. 
O Robo deve se mover até a identificação do sinal de procura e então desenhar um 
quadrado no papel.
B. For the program that simulates Material Handling. Adicione sua rotina 
de procura. O Robô deve se mover até encontrar a peça sobre a mesa. Quando a 
peça for encontrada o robô deverá pegá-la.
IRC5 Programação 
Avançada
Zonas de Trabalho
(World Zones)
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
14
Zonas de Trabalho (World Zones)
DEFINIÇÃO –
É a monitoração de uma delimitada área de trabalho do robô outrora definida.
Para prevenir que o robô não entre numa área indesejada
Veja dois exemplos de aplicações para o World Zones
Para obter indicativo de quando o robô estiver próximo a determinado ponto. Ex. Home.
No máximo 10 World Zones 
podem ser utilizadas ao 
mesmo tempo.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
15
Instruções de World Zone Shape
Instruções utilizadas para definir World Zones:
WZBoxDef [\Inside][\Outside], Shape, Low Point*, High Point*;
WZCylDef [\Inside][\Outside], Shape, Center Point*, Radius, Height;
WZSphDef [\Inside][\Outside], Shape, Center Point*, Radius;
WZHomeJointDef [\Inside][\Outside], Shape, MiddleJointVal, DeltaVal;
WZLimJointDef [\Temp][\Stat], Shape, LowJointVal, HighJointVal;
• \Inside & \Outside = escolha de definição de área.
*Low, High, e Center Point são tipo de dados POS.
(Definidos como Constante ou Persistente)
• Valores das Juntas utilizado em tipo de dados JointTarget.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
16
Instruções de World Zone Action
Instruções utilizadas para acionamento de monitoração de uma World Zone:
WZLimSup [\Temp][\Stat], World Zone**, Shape;
WZDOSet [\Temp][\Stat], World Zone**, [\Inside][\Outside],[\Before]Shape, Signal, SetValue;
\Temp = Uma WorldZone que pode ser ativada e desativada no programa.
\Stat = Uma WorldZone que somente pode ser ativada em evento de PowerOn dentro de uma rotina.
**World Zone é um tipo de dado WZtemporary ou WZstationary
Quando utilizar \Stat e WZDOSet a saída precisa ser definida como acesso “Internal".
Instruções utilizadas para Ativar e Desativar uma World Zones:
WZDisable WorldZone; _____________________
WZEnable WorldZone; _____________________
WZFree WorldZone; _______________________
Desativa uma Temp. World Zone
Reativa uma Temp. World Zone
Apaga uma Temp. World Zone
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
17
Exercício 8
1. Adicione um contador de ciclos no programa. Conte o número de 
ciclos realizados. Após 4 ciclos o robô deve ir para posição de 
serviço. O robô aguardará o operador pulsar o sinal de entrada 
___________ para continuar a execução do programa.
3. Crie uma World Zone que não permitirá o robô se mover a menos que 
o TCP esteja sobre a mesa.
2. Crie uma Zona Esférica em torno da posição de serviço com raio de 
50mm. Sempre que o robô estiver dentro da zona definida o sinal de 
saída ___________ deverá ser acionado. Esta zona deverá ser 
habilitada sempre que o robô for ligado (PowerOn).
IRC5 Programação 
Avançada
Instruções Avançadas
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
19
VelSet é utilizado para aumentar ou diminuir a velocidade programada para 
todas as subsequêntes instruções de movimentação. Esta instrução é 
também utilizada para limitar a velocidade máxima. Esta instrução pode ser 
utilizada na task Main ou, caso utiliza-se Multimove, nas tasks de 
movimentação.
Instruções de Performance
AccSet -AccSet 100,50;
VelSet -VelSet 100,5000;
GripLoad -GripLoad IoPart1;
% Limite de Aceleração
% Rampa de Aceleração
% Configura porcentagem de Velôcidade
Define velôcidade MAX. em mm/sec.
Nome definido para carga.
AccSet é utilizado quando manipula-se cargas frágeis, permitindo uma 
aceleração lenta resultando numa movimentação mais suave. Esta instrução 
pode ser utilizada na task Main ou, caso utiliza-se Multimove, nas tasks de 
movimentação.
GripLoad é utilizada para definir qual carga será manipulada pela 
ferramenta do robô. Esta instrução pode ser utilizada na task Main ou, 
caso utiliza-se Multimove, nas tasks de movimentação.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
20
Instruções de Performance
SoftAct -Softact 3,30;
SoftDeact -SoftDeact;
Eixo Complacência/ Suavidade em %
SoftAct é utilizado para ativar uma complacência “soft” de um eixo do 
robô ou eixo externo. Esta instrução pode ser utilizada na task Main ou, 
caso utiliza-se Multimove, nas tasks de movimentação.
SoftDeact é utlizado para desativar uma complacência “soft” de um eixo 
do robô ou eixo externo. Esta instrução pode ser utilizada na task Main 
ou, caso utiliza-se Multimove, nas tasks de movimentação.
Observação: O valor de complacência varia percentualmente de 0 -100% 
sendo que 100 denota a complacência máxima e 0 denota a intolerância 
máxima. 
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
21
Instruções Avançadas de I/O
TriggIO -TriggIO trigg1,10\Dop:=doGun,1;
TriggEquip -TriggEquip trigg2,10,0.1\Dop:=doGun,1;
TriggIO é utilizado para definir condições e modelo de acionamento de um 
sinal digital, um grupo de digitais ou um sinal analógico que está 
correlacionado a uma posição fixa ao longo de uma trajetória do robô. O dado 
definido é utilizado para implementação de uma ou mais instruções de 
movimentação como TriggL, TriggJ, ou TriggC.
TriggEquip é utilizado para definir condições e modelo de acionamento de um 
sinal digital, um grupo de digitais ou um sinal analógico que está correlacionado 
a uma posição fixa ao longo de uma trajetória do robô ainda possibilitando 
temporização para compensação de atraso no equipamento externo. O dado 
definido é utilizado para implementação de uma ou mais instruções de 
movimentação como TriggL, TriggJ, ou TriggC.
TriggInt -Trigg2,5,IntWeld;
TriggInt é utilizado para definir condições e ações para “rodar” uma 
rotina de interrupção que está correlacionado a uma posição fixa a longo 
de uma trajetória do robô. O dado definido é utilizado para 
implementação de uma ou mais instruções de movimentação como 
TriggL, TriggJ, ou TriggC.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
22
Instruções Avançadas de I/O
TriggL/TriggJ -TriggJ p1,v500,trigg1,fine,tPen;
TriggC -TriggC p1, p2,v500,trigg2,fine,tPen;
TriggCheckIO -TriggCheckIO checkgrip, 100, airok, EQ, 1, intno1;
TriggCheckIO é utilizado para definir condições para teste de um valor digital, 
um grupo digital, uma entrada ou saída analógica que está correlacionado a uma 
posição fixa ao longo de uma trajetória do robô. Se a condição for atendida não 
haverá nenhuma ação específica, porém se não for atendida, provocará o 
acionamento de uma rotina de interrupção que rodará após a parada do robô 
(parada acrescentada com argumento opcional -> \StopMove). O dado definido é 
utilizado para implementação de uma ou mais instruções de movimentação como 
TriggL, TriggJ, ou TriggC.
TriggL e TriggJ são utilizados para acionar sinais de saída e/ou rodar rotinas de 
interrupção em uma determinada posição de uma trajetória enquanto que o robô 
executa uma trajetória linear ou livre (joint).
TriggC é utilizado para acionar sinais de saída e/ou rodar rotinas de interrupção em 
uma determinada posição de uma trajetória enquanto que o robô executa uma 
trajetória circular.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
23
Instruções Avançadas de I/O
Distância ou tempo
TriggIO trigg1,10\Dop:=doGun,1;
…
…
TriggJ p1,v500,trigg1,fine,tPen;
A saída digital doGun é 
acionada quando o TCP 
estiverneste ponto.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
24
Instruções de Configuração
Conf J [\on] | [\off]
ConfJ (Configuração Joint) é utilizado para especificar se a configuração do 
robô será controlada ou não durante o movimento Joint. Se não for controlada, 
o robô pode algumas vezes utilizar diferentes configurações que não foram 
programadas.
Conf L [\on] | [\off]
ConfL (Configuração Linear) é utilizada para especificar se a configuração do 
robô será monitorada durante movimento linear ou circular. Se não for 
monitorada, a configuração durante a execução pode ser diferente da 
programada. Isso pode também resultar num inesperado movimento quando o 
tipo de movimento for trocado para Joint.
SingArea [\Wrist] | [\off]
SingArea é utilizado para definir como o robô moverá quando próximo a 
posições de singularidade. Singarea é também utilizado para definir 
interpolação linear e circular para robôs com menos de 6 eixos.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
25
Exercício 9
1. Crie uma nova rotina para praticar as instruções vista neste 
capítulo.
IRC5 Programação 
Avançada
Work Objects
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
27
Work Object
Work Object
Um Work Object pode ser usado para:
1. ________________________________
2. ________________________________
3. ________________________________
DESLOCAMENTO DO PROGRAMA 
PROGRAMAÇÃO OFF-LINE
FACILITAR MOVIMENTAÇÃO DO ROBÔ
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
28
Work Object
Use a janela _______________ para ativar um 
work object.
Um work object consiste em _____________________ 
e _____________________.
JOGGING
COORDENADA DE OBJETO
COORDENADA DE USUÁRIO
Work Object
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
29
Work Object
Quando definir um work object, é importante utilizar 
um preciso _________________________.
Exemplo:
MoveL p1,v1000,z5,tGripper,/Wobj:=ob_fix
TCP (TOOL CENTER POINT)
No programa, um work object é utilizado com 
instruções de ______________. MOVIMENTO
Work Object
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
30
Work Object
Criando um Work Object
ABB : Program Data : wobjdata : Show Data : New
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
31
Work Object
Definindo um Work Object
Pressione “Edit” : Define
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
32
Work Object - Exercício
1. Crie um work object no canto de uma 
folha retangular. Utilize as arestas da 
folha para definir os pontos de referência.
2. Crie uma rotina onde o robô se desloque 
para dois pontos específicos da folha. 
(grave os pontos utilizando work object)
3. Desloque a folha, regrave o work object e 
teste o programa.
Exercícios de Revisão
Programação Básica
IRC5 Programação 
Avançada
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
34
Exercício de Revisão - 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.
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 Advanced Programming
©
 A
B
B
 In
c.
-1
35
Exercício de Revisão - 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?
2.2 – Liste 2 vantagens que há quando utilizamos uma ferramenta e 
fazemos a correta declaração da mesma no robô.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
36
Exercício de Revisão - 3
o posição no espaço
x posição no papel
ROBOT
x p10
x p20p30 x
p40 x
o p_aprox
o pHome
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).
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
37
Exercício de Revisão - 4
o posição no espaço
x posição no papel
ROBOT
x p10
x p20p30 x
p40 x
o p_aprox
o pHome
p_quad
100mm
o p_aprox_1
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.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
38
Exercício de Revisão - 5
o posição no espaço
x posição no papel
ROBOT
x p10
x p20p30 x
p40 x
o p_aprox
o pHome
p_quad
100mm
x 
p_centro
o p_aprox_1
o p_aprox_3p_aprox_2 o
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).
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
39
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.
Exercício de Revisão - 6
o posição no espaço
x posição no papel/ peça
ROBOT
x p10
x 
p20
p30 x
p40 x
o p_aprox
o pHome
p_quad
100mm
x 
p_centro
o p_aprox_1
o p_aprox_3p_aprox_2 o
o p_aprox_4
P_circ x
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
40
Exercício de Revisão - 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).
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 Advanced Programming
©
 A
B
B
 In
c.
-1
41
Exercício de Revisão - 8
Sinal do PLC Robô
0 Executar 1 Arco Executar 1 Retângulo
1 Executar 1 Círculo Executar 1 Quadrado
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.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
42
Exercício de Revisão - 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.
Sinal do PLC Robô
0 Executar 2 Quadrados Executar 3 Retângulos
1 Executar 2 Círculos Executar 1 Arco
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
43
Exercício de Revisão - 10
10 – Crie um programa que interajacom o operador. O robô deverá executar a 
“peça” que o operador escolher (retângulo, quadrado, arco, circulo).
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 Advanced Programming
©
 A
B
B
 In
c.
-1
44
Exercício de Revisão - 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.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
45
Exercício de Revisão - 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.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
46
Exercício de Revisão - 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.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
47
Exercício de Revisão - 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.
14.1 – Implemente o programa. Informe ao operador qual foi o tempo de ciclo do 
último lote produzido.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
48
Exercício de Revisão - 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.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
49
Exercício de Revisão - 16
0 1
DI08 Pegar na esteira A Pegar na esteira B
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
DI12
DI13 Robô desabilitado Robô habilitado
DO01 Desliga Vácuo Liga Vácuo
DO08
DO09
DO10
DO11
DO12 Palete Incompleto Pelete Completo
DO13
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 
Entrada A
Esteira de 
Entrada B
A6 A3
C/ 
LOGO
S/ 
LOGO B3 B6
A5 A2 C6 C3 B2 B5
A4 A1 C5 C2 B1 B4
C4 C1
Esteira de 
Saída C
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
50
Resumo - Instruções Básicas / Funções de Programa
 Instruções de Movimento
 MoveJ
 MoveL
 MoveC
 MoveAbsJ
 Instruções de Controle de Fluxo
 ProcCall
 IF
 Compact IF
 While
 For
 Goto
 Label
 Test
 Stop
 Instruções de I/O
 Set
 Reset
 SetDO
 InvertDO
 PulseDO
 Instruções de Espera
 WaitTime
 WaitDI
 WaitUntil
 Instruções de Matemáticas
 :=
 ADD
 Incr
 Decr
 Clear
 Instruções Interface
 TPWrite
 TPErase
 TPReadFK
 TPReadNum
 Instruções de Tempo
 CDate
 CTime
 CLKStart
 CLKReset
 CLKStop
 Funções de Movimento
 OffSet
 Funções de Clock
 CLKRead
OBS: Para conhecer demais Instruções / Funções consultar manual de Programação RAPID
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
51
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
 Plantão 24h ABB
plantão.24horas@br.abb.com 0800-12-2500
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
52
Crie uma rotina que simule o processo de pintura em uma folha.
-O robô deverá ligar a saída de fluxo de tinta assim que entrar na folha.
-O robô deverá desligar a saída de fluxo de tinta assim que sair na folha.
-Caso o robô seja parado no meio do processo, a saida de fluxo de tinta 
deve ser desligada. Ela deve ser religada quando o robô for 
reiniciado.
-Caso a entrada de falta de tinta seja ligada, o robô deverá parar 
imediatamente e aguardar o sinal ser desligado para continuar o 
movimento.
-O operador deve ser capaz de mudar o plano da folha.
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
53
Avaliação do Curso
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
54
Avaliação do Curso
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
55
Em Branco
IRC5 Advanced Programming
©
 A
B
B
 In
c.
-1
56

Continue navegando