Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Segurança
Classificação do pessoal
Escolha do pessoal conforme a aplicação
Procedimentos de segurança
2 Visão geral do robô
Unidade mecânica
Controlador
Tipos de controlador
Teach pendent
Sistema de coordenadas
Singularidade
3 Configurações do sistema de coordenadas
Métodos de configurações do TCP
Método de três pontos do TCP
Método de seis pontos do TCP
Método direto do TCP
Métodos de configurações do USER
Método de três pontos do USER
Método direto do USER
4 Programação
Criando programas
Mudando o nome do programa
Mudando o tipo do programa
Inserir comentários
Grupo de movimentação
Inserir proteção de escrita
5 Configurações da linha de programação
Nome do programa
Número da linha
Tipos de movimentos
Indicador da posição atual do robô na linha de programação
Configurações das coordenadas na linha de programação
Velocidade na linha de programação
Tipo de terminação ou precisão
Final de execução do programa
6 Modificando o programa
Copiando um programa
Deletando um programa
Modificando dados da posição (touchuing up)
Inserindo linhas
Apagando linhas
Copiando linha de programações
7 Instruções logicas de programação básica
PR
UTOOL_NUM
UFRAME_NUM
UFRAME [ ]
UTOOL [ ]
JMP/LBL
CALL
REMARK (escreve comentários)
REGISTRADOR DIRETO
WAIT TEMPO
IF
REMARK (linha de programação vira comentário)
OVERRIDE
POSIÇÃO COM SINAL
8 Instruções logicas de programação intermediaria
VELOCIDADE COM REGISTRADORES
SELECT
MESSAGE (mensagem na tela do TP)
END
REGISTRADOR INDIRETO
TIMER
TIMEOUT
REGISTRADOR COM TIMER
LPOS/JPOS
FOR
MONITOR
9 Configurações de I/O
Hardware
Software
Tipos de I/O
Digital
Robot
Group
UOP
10 Instruções logicas de programação avançada
RUN
WAIT DI
WAIT DI COM INSTRUÇÕES LOGICAS AND OU OR
WAIT GI
SKIP
Comando macro
PR [i, j]
INC
OFFSET PR [ ]
OFFSET CONDITION
11 BACKUP
Procedimento para backup
BACKUP PELO PC
12 MASTERIZAÇÃO
Procedimento para masterização
13 Instruções logicas de programação especialista
Programa de segurança usando quadrantes
OPERAÇÃO
1 Segurança
Para a segurança do operador e do sistema, siga todas as precauções de segurança durante a operação do
robô e dos seus dispositivos periféricos instalados numa célula de trabalho. Nós recomendamos que consulte
o “MANUAL DE SEGURANÇA Robô FANUC” para maiores detalhes, pois aqui será feita algumas abordagem
para um entendimento mais básico.
Classificação do pessoal
O pessoal pode ser classificado da seguinte forma.
Operador:
• Ligar/desligar a alimentação do controlador do robô
• Inicialização do programa do robô com o painel do operador
Programador ou operador do sistema:
• Operação do robô
• Programação dentro da vedação de segurança
Engenheiro de manutenção:
• Operação do robô
• Programação dentro da vedação de segurança
• Manutenção (ajuste, substituição)
De acordo com a norma ANSI/RIA R15-06, o proprietario ou usuário deve ser advertido a consultar as normas
para segurança que requerem o design do sistema robótico, forma de uso, operação, manutenção e serviços.
Adicionalmente, como o proprietário, empregado ou usuário do sistema robótico é sua responsabilidade
disponibilizar um treinamento para o operador de um sistema robótico para reconhecimento e consciência
dos riscos associados ao seu sistema robótico e estar ciente dos procedimentos necessários de operação
para sua aplicação particular e instalação do robô.
Procedimentos de segurança
Tem que ter responsabilidade e sempre fazer o procedimento de segurança:
Rodar o programa passo a passo.
Entrar com o TP na célula.
Ter uma rota de fuga na célula.
Manter na chave T1.
Verificar se a célula é segura.
Nunca entra em uma célula funcionando.
Quando entra mais de duas pessoas aqueles que estiverem sem o tp devem se manter atrás da pessoa que
possui o TP.
Fazer de uma forma rápida não significa deixar de fazer os procedimentos de segurança
2 Visão geral do robô
O sistema robótico FANUC consiste do robô (ou braço mecânico), controlador, painel de operador e software
aplicativo. O robô consiste de uma série de barras conectadas acionadas por servo-motores. A área de cada
junção entre as conexões é denominada junta ou eixo. Os três primeiros eixos são classificados como eixos
maiores enquanto os três últimos são eixos menores.
Unidade mecânica
Redutores
A vida do redutor é reduzida se a carga do robô for exercida.
Os robôs fanuc utilizam dois tipos de redutores:
Orbital ou planetário que é utilizado em robôs de grande porte, devido a sua relação de redução.
Harmônico que é utilizado em robôs de pequeno porte, devido a sua relação de redução.
Ficar atento, pois cada um tem o seu tipo de lubrificação. No manual de unidade mecânica informa qual a
lubrificação correta do seu robô.
Encoder
A FANUC usa um encoder absoluto
Uma volta do encoder tem 140 mil pulsos
O encoder lê o valor de pulsos que converte para graus
Para manter a configuração do encoder é usado 4 pilhas (alcalina) que passa 6 volts.
Obs.: o cabo RP1 atrás do robô alimenta o encoder.
Freios
O freio libera o eixo em uma tensão de 90 volts DC, pois ele vence o K da mola.
Não passando 90 volts para os freios eles ficam travados.
Motor
A velocidade varia, pois como está ligado, cada eixo tem a sua velocidade em relação ao grau. Cada eixo tem
o seu peso e isso afeta muito na velocidade. Ou seja, a velocidade é definida pela soma das resultantes.
A velocidade do motor é de 4000mm/s.
Uma volta do encoder é referente a meio grau do motor.
Obs.: O cabo RM1 atrás do robô alimenta o motor e o freio.
Controlador
O controlador RJ-3 contém a fonte de alimentação, controles de operação, controles de circuitos, e memórias.
É responsável diretamente pela operação e movimentação do robô e comunicação com equipamentos
externos. O comando e controle do robô pelo usuário são realizados através do teach pendant ou pelo painel
de operação.
Os controladores RJ-3 podem ser tipo I-SIZE (gabinete tipo B - com painel de operador separado) ou B - SIZE
(gabinete tipo I - com painel de operador integrado).
Tipos de controlador
O controlador é dividido em duas partes: A primeira parte é a potência onde fica a fonte de alimentação. A
segunda parte é as placas eletrônicas.
O controlador não é dividido e todos os componentes estão juntos.
Teach pendent
O TP é por onde vai controlar o robô, fazer movimento, criação de programas, modificação de configurações
de coordenadas, configurações do sistema e etc.
Botões de movimentos do robô mais e menos X, Y e Z
Teclas de acesso ao menu do F1 a F5, PREV e NEXT
Teclado numérico de 0 a 9
Chave liga e desliga
Botão STEP que é para o passo a passo do programa
Botão ENTER para confirmação
Botão COORD para mudar as coordenadas de movimento do robô
Botão FWD para rodar o programa para frente
Botão BWD para rodar o programa para trás
Botão SHIFT é um botão auxiliar para acesso a outras telas e executar comando
Botão SELECT para verificar a lista de programas
Botão MENU para acessos mais avançados
Botão DATA para acesso imediato do último programa
Botões de SETAS para movimento do curso
Botão RESET para reiniciar programas
Botão HOLD para parada suave do robô
Botão de VELOCIDADE para aumentar e diminuir a velocidade
Botões auxiliares para programas macros
Botão BACK SPAC para apagar
Botão FCTN para funções especiais
Sistemas de coordenadas
Joint
É o movimento de cada junta e é representado em graus (é medido em graus). É o movimento de cada junta
e é representado em graus (é medido em graus).
World
Nas coordenadas world o ponto de origem está na user frame zero (0).
Quando move o robô em uma direção inclinada tem que usar mais de um botão.
O plano cartesiano do movimento em world é padrão e não pode ser mudado:
O Z+ é para cima do robô
O X+ é para frente do robô
O Y+ é para a esquerda do robô
Tool
Nas coordenadas tool ele vai mover o robô pelo centro da ferramenta, pois o ponto de origem vai ser na
ponta da ferramenta.
No plano cartesiano do movimento em tool pode ser alterar as coordenadas do plano.
Quando move o robô em uma direção inclinada apenas com um botão é possível fazer o movimento.
User
Nas coordenadas user ele vai mover o robô por uma base, pois o ponto de origem vai ser nessa base.
No plano cartesiano do movimento em user pode ser alterar as coordenadas do plano.
Quando move o robô em uma direção inclinada apenas com um botão é possível fazer o movimento.
Método dos três pontos: os dados serão calculados pelo robô a partir de três posições de referência
gravados. Neste método, o robô reconhece apenas a localização do TCP com relação á coordenada tool
padrão de forma linear (não se refere a orientação angular da ferramenta).
Método dos seis pontos: os dados serão calculados pelo robô a partir de seis posições de referência
gravados. Neste método, o robô reconhece a localização do TCP de forma linear e a orientação angular da
ferramenta com relação á coordenada tool padrão.
Método de três pontos do TCP
Se a ferramenta do robô for uma ferramenta reta e não tiver nenhuma curva ou inclinação o método de três
pontos se aplicar perfeitamente.
Menu
Setup
F1 (type)
Frames
F3 (other)
Tool frame
F2 (detail)
F2 (method)
Three point
Ponto 1
Selecione comment
Digite o nome da ferramenta
Mova o cursor para approach point 1
Mova o robô até a ponta da ferramenta na posição de referência
Segure a tecla shift e pressione F5(record)
Pressione a tecla coord até world
Afaste o robô aproximadamente 8 polegadas em linear
Ponto 2
Mova o cursor para approach point 2
Pressione a tecla coord até joint
Rotacione o eixo J6 mais que 90 graus
Pressione a tecla coord até world
Mova o robô até a ponta da ferramenta na posição de referência
Segure a tecla shift e pressione F5(record)
Pressione a tecla coord até world
Afaste o robô aproximadamente 8 polegadas em linear
Ponto 3
Mova o cursor para approach point 3
Pressione a tecla coord até joint
Rotacione os eixos J5 e J4 mais que 15 e menos que 90 graus
Pressione a tecla coord até world
Mova o robô até a ponta da ferramenta na posição de referência
Segure a tecla shift e pressione F5(record)
Pressione a tecla coord até tool
Segure shift e aperte coord para selecionar o tool,
Agora movimente o robô para testar a configuração da ferramenta
Método de seis pontos do TCP
Para a ferramenta inclinado ou curva dever ser feito o TCP de seis pontos.
Menu
Setup
F1 (type)
Frames
F3 (other)
Tool frame
F2 (detail)
F2 (method)
Six point
Ponto 1
Selecione comment
Digite o nome da ferramenta
Mova o cursor para approach point 1
Mova o robô até a ponta da ferramenta na posição de referência
Segure a tecla shift e pressione F5(record)
Pressione a tecla coord até world
Afaste o robô aproximadamente 8 polegadas em linear
Ponto 2
Mova o cursor para approach point 2
Pressione a tecla coord até joint
Rotacione o eixo J6 mais que 90 graus
Pressione a tecla coord até world
Mova o robô até a ponta da ferramenta na posição de referência
Segure a tecla shift e pressione F5(record)
Pressione a tecla coord até world
Afaste o robô aproximadamente 8 polegadas em linear
Ponto 3
Mova o cursor para approach point 3
Pressione a tecla coord até joint
Rotacione os eixos J5 e J4 mais que 15 e menos que 90 graus
Pressione a tecla coord até world
Mova o robô até a ponta da ferramenta na posição de referência
Segure a tecla shift e pressione F5(record)
Afaste o robô aproximadamente 8 polegadas em linear
Ponto 4
Mova o cursor para approach point 4
Pressione a tecla coord até joint
Movimente o robô de modo que a ferramenta fique paralela com a coordenada Z de world
Segure a tecla shift e pressione F5(record)
Pressione a tecla coord até world
Ponto 5
Mova o robô na direção +X da ferramenta
Segure a tecla shift e pressione F5(record)
Ponto 6
Mova o robô na direção +Z da ferramenta
Segure a tecla shift e pressione F5(record)
Pressione a tecla coord até tool
Segure shift e aperte coord para selecionar o tool,
Agora movimente o robô para testar a configuração da ferramenta
Método direto do TCP
No método direto apenas coloque os valores em cada coordenada e apertar enter.
Menu
Setup
F1 (type)
Frames
F3 (other)
Tool frame
F2 (detail)
F2 (method)
Direct entry
Digite os valore de X, Y, Z, W, P, R
Métodos de configurações do USER
USER FRAME = USER = UF
Método dos três pontos: a coordenada do plano de trabalho será criada a partir de três pontos: um ponto de
origem da coordenada (a partir de onde os pontos gravados irão se referenciar), um ponto na direção X da
coordenada e um ponto na direção X da coordenada e um na direção Y.
Método da entrada direta: os dados de referência do novo plano de trabalho são inseridos manualmente. As
distâncias serão tomadas do ponto de origem do novo sistema com relação a coordenada world do robô.
Devem ser inseridos também os ângulos de inclinações do plano.
Método dos três pontos usando um relógio de pressão: para esse procedimento basta repetir o primeiro
método dos três pontos, pois é igual a diferença é que vai usar um relógio para uma maior precisão.
Método de três pontos do USER
Menu
Setup
F1 (type)
Frames
F3 (other)
User frame
F2 (detail)
F2 (method)
Three point
Ponto 1
Selecione comment
Digite o nome da base
Mova o cursor até orient origin point
Mova o robô até o ponto de origem
Segure a tecla shift e pressione F5(record)
Ponto 2
Mova o cursor até x direction point
Mova o robô na direção +X
Segure a tecla shift e pressione F5(record)
Ponto 3
Mova o cursor até y direction point
Mova o robô na direção +Y
Segure a tecla shift e pressione F5(record)
Método direto do USER
No método direto apenas coloque os valores em cada coordenada e apertar enter.
Menu
Setup
F1 (type)
Frames
F3 (other)
User frame
F2 (detail)
F2 (method)
Direct entry
Digite os valore de X, Y, Z, W, P, R
4 Programação
Nessa parte vamos fazer a criação de programas, alterações e configurações necessarias para sua
aplicação.
Criando programas
Pressione select
Aperte F2 (Create) (Se a opção create não aparecer, precione a tecla next)
Escolha o método de escrita
Escreva o nome do programa
Aperte enter
Para ver e alterar o detalhamento do programa, pressionar a função detail(F2)
Os tipos de programas definidos como NONE são os programas comuns, que podem ser executados de
forma automática ou não e que contém dados de posições e lógicas.
Os tipos de programas definidos como MACRO são programas que são associáveis a instruções para
programação e funções que podem ser executadas a partir de atalhos.
Os tipos de programas definidos como COND são programas condicionais. Estes tipos de programa possui
apenas uma instrução condicional lógica.
Inserir comentários
Mova o cursor até a linha comment
Pressione enter
Selecione um método para escrever o comentário
Escreva o comentário
Ao terminar, pressione enter.
Grupo de movimentação
Obs: se não estiver trabalhando com eixos externos adicionais ao robô, selecione 1 para o primeiro grupo e *
para os demais. Se você quiser fazer programas sem seleção de grupos (apenas com lógica), você pode
configurar todos os grupos em * .
Mova o cursor para o grupo que você quer habilitar ou desabilitar. Pressione a função 1 ou *.
Se você quiser habilitar o grupo, posicione o cursor sobre o grupo desejado e pressione F4.
Se você quiser desabilitar o grupo, posicione o cursor sobre o grupo desejado e pressione F5.
Se você desabilitar todos os grupos, você não poderá inserir instruções de movimento no programa.
Obs.: O mascaramento de grupo não pode ser alterado para programas existentes.
Nome do programa
Onde está escrito MAIN é o nome do programa
Número da linha
1: O número da linha e não pode ser mudado e sempre vai estar em sequência.
Tipos de movimentos
J =Tipo de movimento e podemos alterar. Depende da sua aplicação e o que vai fazer. Os tipos de
movimento que tem são:
JOINT que é um movimento livre do robô, ou seja, o robô vai fazer o caminho mais fácil para ele.
O joint é mais usado quando o caminho não é importante.
LINEAR é um tipo de movimento aonde o robô é obrigado a passar por um determinado caminho e tem de
fazer em forma linearmente.
Nesse momento o caminho passa a ser importante.
CIRCULAR é um tipo de movimento que faz um semicírculo e é usado quando precisa fazer um círculo,
porém tem que fazer dois semicírculos para fazer um círculo completo.
CIRCULAR ARC é um tipo de movimento que é similar ao semicírculo, porém já é mais especifico para
arco.
Copiando um programa
Aperte o botão Select
Mova o cursor para o programa que você quer copiar
Aperte o botão Next
Aperte botão F1(copy)
Selecione o modo de escrita (1 words (nomes prontos), 2 upper case (letras maiúsculas), 3 lower case
(letras minúsculas))
Escreva o nome do programa
Aperte ENTER e F4(yes)
Deletando um programa
Aperte o botão Select
Mova o cursor para o programa que você quer copiar
Aperte o botão F3(delete)
Aperte o botão F4(yes)
Inserindo linhas
Aperte o botão Select
Mova o curso para o programa que você quer inserir instruções
Aperte o botão enter
Mova o curso até aonde quer inserir linha
Aperte o botão Next
Aperte o botão F5(EDCMD)
Escolha Insert e aperte o botão enter
Digite quantas linhas vai inserir e aperte o botão enter
Apagando linhas
Aperte o botão Select
Mova o curso para o programa que você quer apagar linhas
Aperte o botão enter
Mova o curso até aonde quer apagar linhas
Aperte o botão Next
Aperte o botão F5(EDCMD)
Escolha delete e aperte o botão enter
Mova o curso para definir a quantidade de linhas que vai apagar
Aperte F4(yes)
Copiando linha de programações
Aperte o botão Select
Mova o curso para o programa que você quer copia as linhas
Aperte o botão enter
Aperte o botão Next
Aperte o botão F5(EDCMD)
Escolha copy e aperte o botão enter
Aperte o botão F2(copy)
Mova o curso para selecionar a quantidade de linhas para copiar
Aperte o botão F2(copy)
Mova o curso para onde quer copiar as linhas
Aperte o botão F5(paste)
Aperte o botão F3(posid)
Obs.: É possível copia as instruções de um programa e colocar em outro programa: na tela de programação
em F5 [EDCMD], escolha Copy, selecione F2 Copy e mova o curso para todas as linhas que deseja copiar,
aperte SELECT do TP selecione o outro programa e aperte F5 [EDCMD], escolha Copy, selecione F2
(PASTE) e depois F4 (POSITION)
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Escolha registers
Escolha a operação
Selecione PR [ ]
UTOOL_NUM
É possível variar a ferramenta dependendo do tipo de aplicação
Exemplo
1: UTOOL_NUM = 1
2: J P[1] 100% FINE
3: J P[2] 100% FINE
4: UTOOL_NUM = 2
5: J P[3] 100% FINE
6: J P[4] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione Offser/Frames
Escolha UTOOL_NUM=...
Selecione Constant
Digite o número do TCP
UFRAME_NUM
É possível variar a base dependendo do tipo de aplicação
Exemplo
1: UFRAME_NUM = 1
2: J P[1] 100% FINE
3: J P[2] 100% FINE
4: UFRAME_NUM = 2
5: J P[3] 100% FINE
6: J P[4] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione Offser/Frames
Escolha UFRAME_NUM=...
Selecione Constant
Digite o número do user frame
UFRAME [ ]
É possível variar a ferramenta dependendo do tipo de aplicação
Exemplo
1: UFRAME [1] = PR [1]
2: J P[1] 100% FINE
3: J P[2] 100% FINE
4: UFRAME [1] = PR [2]
5: J P[3] 100% FINE
6: J P[4] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione Offset/Frames
Escolha UFRAME [ ]
Digite o número do user frame
Na condição selecione PR [ ]
Digite o número do PR
UTOOL [ ]
É possível variar a ferramenta dependendo do tipo de aplicação
Exemplo
1: UTOOL [1] = PR [1]
2: J P[1] 100% FINE
3: J P[2] 100% FINE
4: UTOOL [1] = PR [2]
5: J P[3] 100% FINE
6: J P[4] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione Offset/Frames
Escolha UFRAME [ ]
Digite o número do TCP
Na condição selecione PR [ ]
Digite o número do PR
JMP/LBL
A instrução JMP LBL [ ] executa uma busca do endereço no programa. O endereço destino será indicado por
LBL [ ].
Exemplo
1: LBL[1]
2: J P[1] 100% FINE
3: J P[2] 100% FINE
4: JMP LBL[1]
Na tela de programação
Aperte o botão Next
Aperto o botão F1(INST)
Selecione JMP/LBL
Escolha JMP LBL [ ] ou LBL [ ]
CALL
A instrução CALL ira chamar um programa secundário para ser executado, a partir de um programa principal.
Quando o programa secundario terminar sua execução, ele retornara a primeira ação do programa principal
após a instrução CALL.
Exemplo
1: CALL MAIN
2: J P[1] 100% FINE
3: J P[2] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione CALL
Escolha CALL program
REMARK (escreve comentários)
A instrução REMARK habilita a inserir comentários no programa. Estes comentários serão inseridos em
qualquer linha de programação (obs.: o comentário sempre aparecerá sozinho em uma linha de
programação: qualquer outra instrução virá na linha posterior ou anterior). O comentário pode ter até 32
caracteres alfabéticos, numéricos, pontuações ou espaços. A instrução de comentário sempre aparecerá
precedida de um ponto de exclamação “!”. Para inserir um comentário. Você deve:
Exemplo
1: ! PONTO_HOME
2: J P[1] 100% FINE
3: J P[2] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione Miscellaneous
Escolha Remark
Aperte enter e escreva seu comentário
REGISTRADOR DIRETO
Um registrador armazena valores numéricos. Podemos realizar cálculos, usamos como base de índice,
atribuir valores e solicitar valores de registradores dentro de um programa.
Exemplo
R[1]=10
R[2]=6
R[10]=9
Exemplo
Contador
1: R [1] = R[1] + 1
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione registers
Escolha a operação
Selecione R[ ]
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione WAIT
Selecione WAIT...(sec)
IF
Instruções condicionais são instruções que desviam de um ponto a outro do programa, dependendo de
determinadas condições.
Instruções IF – desviam para um identificador quando determinadas condições no programa são verdadeiras.
As isntruções if podem ser usadas com registradores e instruções de entrada e saida.
Exemplo
1: R[1]=1
2: LBL[1]
3: CALL CIRCULO
4: CALL QUADRADO
5: R[1]=R[1]+1
6: IF R[1] < = 3; JMP LBL [1]
7: J P[1] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione IF/SELECT
Escolha a operação
Selecione R [ ]
Depois você cria as condições
REMARK (linha de programação vira comentário)
Com essa instrução é possível transformar uma linha de programação em um comentário, assim pode ser
comentar linhas de programação sem precisar excluir.
1: //J P[1] 100% FINE
2: J P[2] 100% FINE
Na tela de programação
Selecione uma linha de programação
Aperte o botão Next
Aperte o botão F5 (EDCMD)
Selecione o remark
OVERRIDE
A instrução OVERRIDE configura a velocidade global em porcentagem da execução do programa. 10%
indica que o robô irá executar o programa a 10% da velocidade programada em cada ponto. Não importa qual
a velocidade que seja colocada no TP quando o programa ler o OVERRIDE o robô vai assumir a velocidade
que esta no OVERRIDE.
Exemplo
1: OVERRIDE = 40%
2: J P[1] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1 (INST)
Escolha Miscellaneous
Selecione OVERRIDE
Escolha constant
Digite o valor do OVERRIDE
O OVERRIDE pode ser usado com registradores também, assim quando fizer alguma configuração em um
CLP ou IHM pode modificar a velocidade apenas modificando o valor do registrador.
Nesse exemplo o robô chega na posição o sinal não aciona, porém quando vai para a próxima posição o sinal
aciona indicando que passou pela posição.
Na tela de programação
Coloque o curso no final da linha do programa
Aperte o botão F4 (CHOICE)
Selecione um sinal DO/RO/GO/AO
Nesse outro exemplo o robô chega na posição o sinal não aciona na posição 1, porém quando o robô vai
para a posição 2 o sinal aciona, mas como a posição 1 é igual a posição 2 é como se o sinal fosse acionado
na posição. Assim fica como se o sinal aciona quando chega na posição.
8 Instruções logicas de programação intermediaria
VELOCIDADE COM REGISTRADORES
A instrução REGISTER é uma instrução que podemos usar para varia velocidade no próprio programa, basta
colocamos um REGISTER na linha de programação.
Exemplo
1: R[10] = 1000
2: J P[1] R[10]% FINE
3: J P[2] R[10]% FINE
4: J P[3] R[10]% FINE
Na tela de programação
Na linha de programação coloque o cursor no 100%
Aperte o botão F1 (REGISTER)
Coloque o número do registrador
MESSAGE (mensagem na tela do TP)
Com essa instrução é mostrado uma mensagem na tela do TP. Para limpa a tela tem que desligar e ligar o
controlador.
Exemplo
1: J P[1] 100% FINE
2: MESSAGE [POSIÇÃO_INICIAL]
3: J P[2] 100% FINE
4: J P[3] 100% FINE
5: MESSAGE [POSIÇÃO_FINAL]
Na tela de programação
Aperte o botão Next
Aperte o botão F1 (INST)
Escolha Miscellaneous
Selecione Message
Aperte enter e escreva a mensagem
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione CALL
Escolha END
REGISTRADOR INDIRETO
Muitas instruções são empregadas com técnicas diretas ou indiretas de endereçamento. Quando o
endereçamento direto é utilizado, o valor atual é inserido na isntrução. Por exemplo, se o registrador R(2)
armazena o valor 5, a instrução de registrador será R(2) = 5.
Quando usamos o endereçamento de forma indireta, a instrução contém um endereço contido dentro de um
registrador. Por exemplo. Se R(3) = 2, e R(2) = 5, podemos dizer que R(R(3)) = 5.
Exemplo
Registrador direto
R[1]=10
R[2]=6
R[10]=9
R[5]=4
R[4]=5
R[7]=11
R[11]=1
R[6]=7
Registrador indireto
R[R[1]]=9
R[R[2]]=7
R[R[5]]=5
R[R[7]]=1
TIMER
A instrução timer tem três opções, iniciar, parar e resetar dez diferentes temporizadores dentro de um
programa. Estes temporizadores podem determinar, por exemplo, qual o tempo de execução de uma
determinada rotina. Temporizadores podem iniciar em um programa e parar em outro. O status do
temporizador pode ser visto na variável $TIMER [n] onde n é o indicador de qual temporizador está sendo
usado.
Existem duas telas do teach pendant que devem ser observadas:
Listagem de temporizadores em programas e
Detalhamento de temporizadores de programas.
Aperte o botão Menu
Selecione STATUS
Aperte o botão F1 (TYPE)
Escolha PRG TIMER
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione Miscellaneous
Escolha TIMER [ ]
Exercício
Fazer um quadrado usando logicas PR, PRij, LBL, JMP LBL, CALL, REMARK e TIMER
Resposta
1: LBL [1]
2: ! PONTO_HOME
3: J P[1] 100% FINE
4: ! CRONOMETRO
5: TIMER[1]=RESET
6: TIMER[1]=START
7: CALL LOGICA_PRij
8: TIMER[1]=STOP
9: JMP LBL [1]
TIMEOUT
Essa instrução espera alguns segundo e se a condição não for verdade ele manda para o LBL [1].
Se a condição for verdadeira passa para a próxima linha tem atua o TIMEOUT.
Exemplo
1: R [1] = TIMER [1]
2: R [2] = TIMER [2]
Na tela de programação
Aperte o botão Next
Aperte o botão F1 (INST)
Selecione REGISTERS
Coloque no 1...=...
Selecione R [ ] e digite o número do registrador
Depois do sinal do igual selecione TIMER e digite o número do TIMER
LPOS/JPOS
O LPOS pega a posição atual em linear.
O JPOS pega a posição atual em joint.
Exemplo
1: J PR [20] 100% FINE
2: PR [10] = LPOS
Na tela de programação
Coloque uma linha de programação
Mova o curso até P [1]
Aperte F4 (CHOICE)
Selecione PR [ ]
Digite o número do PR [ ]
Exercício
Fazer um quadrado apenas com lógicas PR e aplicar o LPOS ou JPOS.
Resposta
1: J PR [1] 100% FINE
2: PR [2] = JPOS
3: LBL [1]
4: PR [2, 1] = PR [2, 1] + 100
5: J PR [2] 100% FINE
6: PR [2, 2] = PR [2, 2] + 100
7: J PR [2] 100% FINE
8: PR [2, 1] = PR [2, 1] - 100
9: J PR [2] 100% FINE
10: PR [2, 2] = PR [2, 2] - 100
11: J PR [2] 100% FINE
12: JMP LBL [1]
Obs.: tem que limpa o PR[2], pois se tiver dados de posição no PR[2] vai ser executado junto com os dados
que estive na PR[2].
Nesse exemplo cada vez que passa pela segunda linha o FOR já aciona e iguala o registrador igual a 0.
Rodando o programa passa pelas linha 3, 4 e 5.
Quando chega na sexta linha no ENDFOR conta mais um no registrador 1 e volta para a linha 2.
Ele fica voltado até o registrador chegar no valor 5 e passa para a 7 linha.
Na tela de programação
Aperte o botão Next
Aperte o botão F1 (INST)
Selecione FOR/ENDFOR
MONITOR
Essa instrução monitora uma parte do programa ou todo o programa dependendo de onde estiver iniciando a
instrução MONITOR e terminando a instrução MONITOR END.
Na tela de programação
Aperte o botão F1 (INST)
Escolha a instrução WHEN
Crie uma condição de logica chamando o programa contador
Crie um programa principal com as instruções MONITOR e MONITOR END
É possível colocar um sensor e como esse slot é um slot de entrada o sensor manda o sinal para o slot.
No slot que tiver o código C154 é o slot de entrada.
No slot que tiver o código C104 é o slot de saída.
O primeiro pino é a alimentação, pois quando aperta o botão 1 no painel vai está acionando a chave 2.
Software
Na parte de software tem que escolher o sinal que vai ser utilizado para manipular todo o processo.
No modulo da FANUC pode configurar no máximo 16 entradas ou saídas.
A comunicação é feita pelo controlador através de ethernet, profbus, interbus e etc.
A fanuc tem seu próprio protocolo de comunicação que é o módulo I/O fanuc.
Tipos de I/O
Instruções com entradas e saidas ou I/O, habilitam o programa a enviar e receber sinais digitais ou
analógicos, discretos ou em rede. Existem vários tipos de instruções de I/O:
Entradas e saidas digitais
Entradas e saidas digitais de robô
Entradas e saidas analogicas
Entradas e saidas grupos
Entradas e saidas do sistema UOP
Digital
Aperte o botão Menu
Selecione I/O
Aperte o botão TYPE (F1)
Selecione digital
Aperte o botão CONF (F2)
Aperte o botão IN/OUT (F3)
Exemplo 1
RANGE RACK SLOT START STATUS
1 DI(3-3) 1 1 1 Active
Exemplo 2
RANGE RACK SLOT START STATUS
2 DI(1-1) 1 1 2 Active
Exemplo 3
RANGE RACK SLOT START STATUS
3 DI(1-4) 1 1 1 Active
Exemplo 5
RANGE RACK SLOT START STATUS
5 DI(1-10) 1 2 5 Active
Exemplo 6
RANGE RACK SLOT START STATUS
6 DI(3-5) 1 2 3 Active
Exemplo 7
RANGE RACK SLOT START STATUS
7 DI(5-5) 1 2 3 Active
# SIM STATUS
RI [1] U ON
# SIM STATUS
RO [1] U ON
RI (É um sinal de entrada)
RO (É um sinal de saída)
[ 1 ] (Número do sinal)
U (Nesse modo ele não simula). Se quiser simular o sinal no programa basta alterar para S simulação.
ON (Abre a ferramenta)
OFF (Fecha ferramenta)
Exemplo
1 L P[1] 4000 mm/sec FINE
2 L P[2] 4000 mm/sec FINE
3 RO [1] = ON
4 RO [1] = OFF
Resposta
1 LBL [1]
2 J P[1] 100 % FINE
3 RO [1] = ON
4 J P[2] 100 % FINE
5 RO [1] = OFF
6 J P[1] 100 % FINE
7 RO [1] = ON
8 RO [1] = OFF
9 JMP LBL [1]
Group
Aperte o botão Menu
Selecione I/O
Aperte o botão TYPE (F1)
Selecione group
Aperte o botão CONF (F2)
Aperte o botão IN/OUT (F3)
Exemplo 1:
GI RACK SLOT START NUM PTS
1 1 1 3 2
Exemplo 2:
GI RACK SLOT START NUM PTS
2 1 1 2 1
Exemplo 2:
GI RACK SLOT START NUM PTS
3 1 1 1 4
Resposta
1: LBL[3]
2: R[2]=1
3: LBL[4]
4: SELECT R[2]=1, CALL MAIN1
5: SELECT R[2]=2, CALL MAIN2
6: R[2]=R[2]+1
7: IF R[2]<=2, JMP LBL [4]
8: WAIT DI[1] = ON
9: ! PONTO_HOME
10: LBL [2]
11: R [1] = 1
12: LBL [1]
13: TIMER [R[1]] = RESET
14: TIMER [R[1]] = START
15: CALL CIRCULO
16: CALL LOGICA_PRij
17: CALL QUADRADO
18: TIMER [R[1]] = STOP
19: R [1] = R[1] + 1
20: IF R [1] < = 6, JMP LBL [1]
21: PR [1] 100% FINE
22: WAIT 3.00 (sec)
23: RO [1] = ON
24: RO [1] = OFF
25: JMP LBL [2]
26: JMP LBL [3]
UOP
AS UOPs são I/Os do sistemas e ela não podem ser alteradas, pois através dela é que acessa o sistema de
controle do robô em automático. Tem as UIs que são sinais de entrada do sistema e UOs que são sinais de
saída do sistema
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione Multiple control
Escolha RUN
Selecione um programa sem instrução de movimentos
Um outro exemplo é quando uma condição tem que ser constantemente monitorada ou testado.
O programa abaixo é o exemplo perfeito para testar um sensor com ou sem peça
WAIT DI
WAIT condition executa um programa só quando a condição for satisfeita.
Exemplo
1: WAIT DI[1] = ON
2: J P[1] 100% FINE
3: J P[2] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione WAIT
Selecione WAIT ...=...
Escolha DI [ ]
Digite o número do DI
Escolha a condição do DI
WAIT DI COM INSTRUÇÕES LOGICAS AND OU OR
WAIT condition com instruções logicas executa um programa só quando as condições forem satisfeitas, porém
uma condição pode ser verdadeira(on) ou falsa(off) dependedo do tipo de processo. Na logica AND o programa
só avança se todas as condições colocada na linha de programação forem feitas. Na logica OR apenas uma
condição basta para o programa avança. Obs só pode ser colocar 5 Dis na linha de programação
Exemplo 1
1: WAIT DI[1] = ON AND DI[2] = OFF
2: J P[1] 100% FINE
3: J P[2] 100% FINE
Exemplo 2
1: WAIT DI[1] = ON OR DI[2] = OFF
2: J P[1] 100% FINE
3: J P[2] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione WAIT
Selecione WAIT ...=...
Escolha DI [ ]
Digite o número do DI
Escolha a condição do DI
Estando o curso no final de linha
Aperte o botão F4 (CHOICE)
Escolha a logica
Defina mais uma DI, o número e a condição
WAIT GI
Essa instrução tem a mesma função do WAIT DI, porém seria um modo de minimizar o programa tendo
menos linhas. Pois um GI seria um conjunto de DIs.
Exemplo
1: WAIT DI[1] = ON (número binário 1 – sensor 1)
2: WAIT DI[2] = ON (número binário 2 – sensor 2)
3: WAIT DI[3] = ON (número binário 4 – sensor 3)
4: P [1] 100% FINE
5: P [2] 100% FINE
6: P [3] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione WAIT
Selecione WAIT ...=...
Escolha GI [ ]
Digite o número do GI
Escolha a condição Constant
Digite o valor do GI
SKIP
A instrução SKIP é uma instrução de desvio. Caso alguma peça não seja detectada pelo sensor o robô pode
desviar para uma outra posição.
Exemplo
DI NÃO ACIONADA
DI ACIONADA
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione SKIP
Escolha SKIP...=...
Selecione DI [ ]
Digite o número do DI
Escolha a condição do DI
As teclas que podemos utilizar no TP são Tool 1, Tool 2, Move Menu, Set Up, Status, I/O e Posn. Essas
teclas são teclas especiais que vão chamar um determinado programa macro. Basta fazer a configuração e
selecionar a tecla digitando de 1 a 7 (onde 1 é Tool, 2 é Tool 2, 3 é Move Menu, 4 Set Up, 5 Status, 6 I/O e 7
é Posn). O valor máximo é 7, pois não tem mais teclas especiais para programas macro.
Mova o cursor até um nome de instrução vazio (instruction name) e pressione ENTER.
Selecione o método a ser utilizado para escrever o nome.
Escrever o nome desejado, quando terminar pressione enter.
Mova o cursor para a coluna program e pressione F4, [CHOICE].
Selecione o nome do programa e pressione enter.
Mova o curso para a coluna com dois tracinhos
Selecione o tipo de execução do comando macro: UK, SU, MF ou SP
Mova o cursor para a coluna Assign
Digite o número e aperte enter.
Obs.: O UK só pode ser utilizado com programa de lógicas e não funciona com programas que tem
movimentos. Quando criar um programa coloque no GROUP MASK tudo *. Assim poderá utiliza-lo como
macro, pois UK aceita programas apenas de lógica. Caso já tenha um programa só com logica e não
consegui habilitar tem que verificar a configuração:
Aperte o botão SELECT
Escolha o programa
Aperte o botão NEXT
Aperte o botão DETAIL (F2)
Verifique se o GROUP MASK está tudo com *
Se estiver com 1 tem que modificar para *
PR [i, j]
Instruções que contém PR (i, j), manipulam os elementos dos registradores de posição. Um elemento do
registrador de posição é um dos componentes do registrador de posição: x, y, z, w, p ou r.
O i significa qual PR estou usando e j significa qual eixo cartesiano vou alterar: 1=X, 2=Y, 3=Z, 4=W, 5=P e
6=R.
Exemplo
1: J PR [1] 100% FINE
2: PR [2] = PR [1]
3: PR [2, 1] = PR [2, 1] + 100
4: J PR [2] 100% FINE
5: PR [2, 2] = PR [2, 2] + 100
6: J PR [2] 100% FINE
7: PR [2, 1] = PR [2, 1] - 100
8: J PR [2] 100% FINE
9: PR [2, 2] = PR [2, 2] - 100
10: J PR [2] 100% FINE
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Selecione registers
Escolha a operação
Selecione PR[ i, j ].
INC
O INCREMENTAL soma a posição anterior com a posição atual.
Exemplo
QUADRADO COM INC
1: J P[1] 100% FINE
P [1] --> X = 395, Y = 000, Z = 295, W = 180, P = 000, R = 000
Exemplo
1: J P[1] 100% FINE
2: J P[2] 100% FINE INC
3: J P[3] 100% FINE INC
4: J P[4] 100% FINE INC
5: J P[5] 100% FINE INC
Na tela de programação
Coloque uma linha
Coloque o cursor no final da linha depois do fine ou cnt
Aperte o botão F4 (CHOISE)
Selecione incremental
OFFSET PR [ ]
O offset soma posições que são colocadas na linha, porém deve ficar atento com a user frame criada, pois
seu ponto de origem pode fazer a diferença na posição na hora de aplicar o offset.
Exemplo
QUADRADO COM OFFSET PR [ ]
Exemplo
1: J P[1] 100% FINE OFFSET, PR[1]
2: J P[1] 100% FINE OFFSET, PR[2]
3: J P[1] 100% FINE OFFSET, PR[3]
4: J P[1] 100% FINE OFFSET, PR[4]
Na tela de programação
Coloque uma linha
Coloque o cursor no final da linha depois do fine ou cnt
Aperte o botão F4 (CHOISE)
Selecione Offset PR [ ]
OFFSET CONDITION
Exemplo
QUADRADO COM OFFSET CONDITION
1: R[1] = 1
ESSA LINHA COLOCA O R[1] IGUAL A 1.
2: LBL [1]
O LBL É O SELO AONDE ELE VAI VOLTA QUANDO PULAR
5: R[1] = R[1] + 1
ESSA LINHA É UM CONTADOR QUE VAI FAZER O R[1] VARIA E ASSIM VAI VARIAR A POSIÇÃO
Exemplo
1: R[1] = 1
2: LBL [1]
3: OFFSET CONDITION PR[R[1]]
4: J P[1] 100% FINE OFFSET
5: R[1] = R[1] + 1
6: IF R[1] <= 4, JMP LBL[1]
Na tela de programação
Aperte o botão Next
Aperte o botão F1(INST)
Escolha next page
Selecione Offset/Frames
Escolha Offset condition
Escolha PR [ ]
Na tela de programação
Coloque o cursor no final da linha depois do fine ou cnt
Aperte o botão F4 (CHOICE)
Escolha Offset/Frames
Exercício
Fazer um quadrado com a instrução PR[i,j]
Fazer um quadrado com a instrução incremental
Fazer um quadrado com a instrução offset PR
Fazer um quadrado com a instrução offset condition
Resposta
1: J P[1] 100% FINE
2: J P[2] 100% FINE INC
3: J P[3] 100% FINE INC
4: J P[4] 100% FINE INC
5: J P[5] 100% FINE INC
1: R[1] = 1
2: LBL [1]
3: OFFSET CONDITION PR[R[1]]
4: J P[1] 100% FINE OFFSET
5: R[1] = R[1] + 1
6: IF R[1] <= 4, JMP LBL[1]
11 BACKUP
Procedimento para backup
1.FERRAMENTAS NECESSÁRIAS
Memory Card (Cartão PCMCIA-ATA) de 32MB ou maior.
Porta PCMCIA para descarregar o backup.
ALL OF ABOVE
Contém todos os arquivos individualmente, menos o sistema operacional.
IMAGEM
Contém todos os arquivos em blocos incluindo o sistema operacional.
OBS:
ORDEFIL - VISUALIZA OS OPCIONAIS
BACKDATE - BACKUP DO SIMULADOR
SYSMAST.VA - DADOS DE MASTERIZAÇÃO
12 MASTERIZAÇÃO
Procedimento para masterização
Para a utilização deste procedimento o alarme SRVO-062 – BZAL deverá estar sendo exibido.
Este procedimento deverá ser utilizado para confirmar os dados de masterização quando ocorrerem os
alarmes SRVO-036 E SRVO-038.
Pressione MENU;
Selecione 0 (NEXT)
Selecione SYSTEM
Pressione F1
Selecione Master/Cal (*)
Selecione Calibrate
Pressione F4 (YES)
Pressione F5 (DONE).
13 Instruções logicas de programação especialista
Programa de segurança usando quadrantes
Em alguns casos o robô não pode sair de qualquer jeito e para isso precisa definir um espaço especifico
para que saia sem bater em nada.
Um exemplo é o robô dentro de uma máquina CNC, pois dentro de um CNC é muito fechado e o robô não
tem muita condição de se mover para qualquer canto.
Podemos fazer um programa pensando em um quadrante como na figura acima aonde definimos valores
em registradores para saber o quadrante que o robô está.
Exemplo
1 quadrante – X+, Y+, Z+ = R[150], R[151], R[152]
2 quadrante – X-, Y+, Z+ = R[153], R[151], R[152]
3 quadrante – X-, Y-, Z+ = R[153], R[154], R[152]
4 quadrante – X+, Y-, Z+ = R[150], R[154], R[152]