0% acharam este documento útil (0 voto)
2K visualizações102 páginas

Apostila de Robótica SENAI Campinas

Este documento apresenta os conceitos básicos de robótica, incluindo: 1) Graus de liberdade de um robô e os tipos de pares cinemáticos; 2) Componentes principais de um robô, incluindo mecanismo, acionamento e sistema de controle; 3) Classificação de robôs industriais de acordo com o tipo de coordenadas de movimento.

Enviado por

fabio fernandes
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
2K visualizações102 páginas

Apostila de Robótica SENAI Campinas

Este documento apresenta os conceitos básicos de robótica, incluindo: 1) Graus de liberdade de um robô e os tipos de pares cinemáticos; 2) Componentes principais de um robô, incluindo mecanismo, acionamento e sistema de controle; 3) Classificação de robôs industriais de acordo com o tipo de coordenadas de movimento.

Enviado por

fabio fernandes
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Escola SENAI “Roberto Mange”

Campinas – S.P.

2006

Robótica
Robótica

 SENAI-SP, 2003

Trabalho adaptado e atualizado por: Everson de Aro Capobianco


SENAI Roberto Mange – 5.01

Coordenação Técnica: Marcílio Manzan

Diretoria Técnica Walter Vicioni Gonçalves

Coordenação geral João Ricardo Santa Rosa


Célio Torrecilha

Capa José Joaquim Pecegueiro

Todos os direitos reservados. Proibida a reprodução total ou parcial, por qualquer meio ou processo. A
violação dos direitos autorais é punível como crime com pena de prisão e multa, e indenizações diversas
(Código Penal Leis No 5.988 e 6.895).

SENAI Serviço Nacional de Aprendizagem Industrial


Unidade de Gestão Corporativa SP
Alameda Barão de Limeira, 539 - Campos Elíseos
São Paulo - SP
CEP 01202-001

Telefone (0XX11) 3273 - 5000


Telefax (0XX11) 3273 - 5228
SENAI on-line 0800 - 55 - 1000

E-mail senai@[Link]
Home page http:// [Link]
Apresentação

Esta apostila serve como referência básica para a disciplina de Robótica, cujos
conceitos abordados são destinados aos alunos do curso Técnico de Mecatrônica do
SENAI.

O conteúdo abrange toda teoria básica de programação dos robôs Motoman


(Yaskawa) cujos controladores pertencem a família Yasnac XRC.

Ao final deste curso, os alunos serão capazes de elaborar programas com o mesmo
conteúdo e complexidade de diversas aplicações industriais onde esses robôs são
utilizados em larga escala.
Sumário

Graus de Liberdade................………………………………………………… 07

Controlador Yasnac XRC....…………………………………….……………... 17

Programando o Robô............…………..……………………………………... 23

Edição de Programas………………………………………………………….. 31

Calibração de Ferramentas……………………………………………………. 43

Instruções de Controle...……………………… ........…………..……………. 47

Variáveis Aritméticas e Instruções.............................................................. 53

Instruções de I/O........................................................................................ 59

User Frame................................................................................................ 65

Função Deslocamento Paralelo................................................................. 67

Anexo 1 – Linguagem de Robô.................................................................. 71

Funções Básicas (Robô Mitsubishi) ........................................................ 87

Modos de Controle.................................................................................... 89

Comandos Mitsubishi................................................................................ 91

Exemplos de Programas............................................................................ 97
Robótica

Graus de liberdade

Um corpo livre no espaço pode realizar 6 ( seis ) movimentos independentes entre si, assim,
dizemos que ele tem 6 ( seis ) graus de liberdade.

Par cinemático

Par cinemático é a união de dois elementos que estão em contato permitindo o movimento
relativo entre ambas as partes.

Fig. 01

Se unirmos um elemento (corpo livre) ao sistema de eixos (x, y, z), dependendo das
características dessa união, o elemento poderá realizar 1, 2, 3, 4, ou 5 movimentos
relacionados com o elemento de fixação, ou seja, ou o elemento A é restrito a não realizar
nenhum movimento ou ao elemento A foram proibidos 5, 4, 3, 2, ou 1 movimentos.
Os movimentos possíveis de um elemento em relação ao outro podem ser de giro (G) ou de
translação (T).

O número de graus de liberdade de um mecanismo espacial pode ser obtido pela equação:

N = 6 ( n – 1 ) – 5p1 – 4p2 – 3p3 – 2p4 – 1p5

Onde:
N = número de graus de liberdade do mecanismo
n = número de elementos do mecanismo
p1 = número de pares cinemáticos de um movimento
p2 = número de pares cinemáticos de dois movimentos
p3 = número de pares cinemáticos de três movimentos
p4 = número de pares cinemáticos de quatro movimentos
p5 = número de pares cinemáticos de cinco movimentos

SENAI 7
Robótica

A simbologia utilizada para representação da “cadeia cinemática” segue na tabela abaixo:

Sistema eixo de rotação tipo pivô

Sistema eixo de translação telescópica

Sistema eixo de translação transversal

Sistema eixo de rotação tipo dobradiça

Sistema ferramenta

Sistema de aço separação do braço - punho

Exercícios:

Identifique quantos graus de liberdade a cadeia cinemática possui e quais sistemas estão
envolvidos.

a)

8 SENAI
Robótica

b)

c)

Componentes de um robô:

De um ponto de vista macroscópico, um sistema robótico pode ser “explodido” em três grandes
componentes, conforme a figura.
• Mecanismo
• Acionamento
• Sistema de controle

O mecanismo, ou parte mecânica que tem liberdade de movimentos, por sua vez, se subdivide
em três outras partes:
• Braço
• Punho
• Órgão terminal (atuador)

O braço determina o alcance do “atuador” no espaço “euclidiano”, enquanto o punho, sua


orientação.

O órgão terminal é escolhido em função da tarefa a ser realizada pelo robô e pode ser:
• Garra
• Tocha de solda
• Pistola de pintura
• Pistola de cola

SENAI 9
Robótica

O acionamento é responsável pela movimentação física de cada junta do mecanismo, além de


acionar as juntas dos braços, do punho e vários tipos de “atuadores”. Os dispositivos de
acionamento têm a função de transformar energia elétrica, hidráulica, pneumática, ou uma
combinação destas, em energia cinética para as juntas do braço, do punho e para o órgão
terminal.

O acionamento também é parte física do mecanismo, uma vez que as massas interferem na
dinâmica do manipulador.

O sistema de controle é responsável pela coordenação e controle do movimento do Órgão


Terminal, objeto principal de aplicação do robô. Sua forma mais simples consiste apenas em
uma série de paradas mecânicas ajustáveis ou chaves limitadoras.

Nas formas mais complexas, é necessário que o controle e a coordenação do movimento sejam
efetuados por computador, que dispõe de uma memória programável, permitindo pilotar o órgão
terminal ao longo de uma trajetória precisamente definida.

Possibilita ainda o sincronismo com outros robôs e equipamentos periféricos (como por
exemplo, correia transportadora).

Visa à maior eficiência e segurança na execução de tarefas.

Classificação do robô industrial


(JIRA –Associação Japonesa de Robôs Industrias)

A) Classificação quanto à informação de Entrada e Aprendizagem.

B) Classificação quanto aos tipos de coordenadas de movimento do braço.

- Manipulador controlado manualmente pelo homem.


• Robô Seqüencial – Cada passo do movimento é solicitado de uma seqüência
preestabelecida.
− Robô de Seqüência Fixa
− Robô de Seqüência Programável
• Robô “Play Back” – Repete a seqüência programada de movimentos, dirigindo
fisicamente, ou por meio de um “Teach in Box”, a ponta do robô.
• Robô NC – Programação feita com entrada de forma numérica.
• Robô inteligente – O sistema robótico já dispõe de sensores externos (como visão, tato,
etc.).

Classificação das coordenadas


1. robô de coordenadas cartesianas
2. robô de coordenadas cilíndricas
3. robô de coordenadas esféricas
4. robô articulado
5. outros tipos (inclusive o “SCARA” - Selective Compliance Articulated Robot Arm)

Fig. 02

10 SENAI
Robótica

Robô de coordenada esférica

Fig. 03

Robô de coordenada cilíndrica

Fig. 4

Robô de coordenada retangular

Fig. 5

SENAI 11
Robótica

Robô articulado

Fig. 6

Configurações típicas de braços e punhos na indústria de robôs.

Fig. 7

12 SENAI
Robótica

Controle espacial

Introdução
O que neste texto é chamado Controle espacial tem outras notações na literatura referente à
Robótica. Algumas são:

• Controle de trajetória
• Planejamento de trajetória
• Coordenação de movimentos
• Coordenação de movimentos cartesianos

O controle espacial se refere ao procedimento para gerar referências para juntas do robô,
fazendo que o movimento individual das juntas, executado simultaneamente, desloque o
“atuador” (órgão terminal) do robô.

Controle dos movimentos

De uma forma geral, as linguagens de programação


robótica propiciam a capacidade de gerar
movimentos conhecidos, bem como a integração de
equipamentos periféricos com o robô. A principal
preocupação será em registrar os conceitos robóticos
de uma forma que possibilite o entendimento do
processo de ensino aplicado ao robô e a integração
que se faça necessária.

Fig. 8

A fig.8 ilustra um robô do tipo articulado, com seis graus de liberdade. Quando analisarmos o
diagrama da fig.9, estaremos reportando ao exemplo ilustrado na fig.01. Esse robô articulado é
constituído de seis motores que irão trabalhar para gerar os movimentos para cada eixo. Este
tipo de configuração é chamado de robô do tipo RRRRRR, que significa seis juntas de rotação.
Cada motor é sensoriado e funciona no processo de malha fechada, ou seja, é possível
gerenciar o funcionamento em tempo real, obtendo, a cada ∆t, a sua posição real. O
sensoriamento pode ser realizado por “encoders” ou “resolvers” dependendo exclusivamente de
cada fabricante a melhor escolha para fazer parte de seus projetos.

Analisando-se o controle do robô, é possível deixar claro alguns comportamentos dos


movimentos que ele realiza quando o processo de ensino é realizado.

Fig. 9

SENAI 13
Robótica

• Θ = matriz de posição ( existe uma matriz de transformação de posição para cada junta
“Θ1, Θ2, Θ3, Θ4, Θ5, Θ6 ” )
• X = modelo de deslocamento, em função de Θ
• Θnr = matriz de posicionamento, pertencente ao trajeto a se realizar
• Θn = matriz de posicionamento, pertencente à posição real do robô

A fig.9 descreve, em forma de um diagrama de blocos, o processamento de uma tarefa que é


composto por várias trajetórias, tendo como resultado final a movimentação de todos os eixos
do robô ou a movimentação individual de cada eixo, dependendo do tipo de coordenada de
movimento que se deseje.

Na fig.9, os motores estão representados pelos servos de cada junta, que são justamente a
parte referente ao sensoriamento do motor. O processo é decomposto a partir da entrada de
um trajeto no controle do robô. Neste instante, são executados alguns algoritmos que irão
separar o modelo de posicionamento do robô em partes correspondentes a cada junta que irá
participar no movimento, assim teremos em cada motor parcela de responsabilidade para gerar
o movimento final no robô.

Fig. 10

Conforme a fig.10, a malha fechada realimenta e orienta a posição final do motor, garantindo a
posição desejada na entrada do trajeto.

Malha fechada é o nome dado a um sistema de controle com realimentação. Neste caso, é
calculada a diferença entre o sinal de entrada e o sinal de saída, e essa diferença é transferida
na entrada do aparelho executivo. Este procedimento acontece simultaneamente em todos os
motores do robô, garantindo um movimento suave e em sincronia. Após a identificação de
todas as informações, é montado o modelo de deslocamento.

Este tipo de informação é processado quando atuamos de forma a executar um trajeto


chamado de cartesiano, deslocamento final paralelo aos eixos de referência X, Y, Z.

Se formos realizar um trajeto do tipo PTP, a informação do trajeto interfere diretamente no


motor do eixo que se deseja movimentar, não sendo necessária a informação do modelo
matemático de deslocamento do robô.

Outro aspecto que deve ser levado em consideração é o sistema de leitura dos “encoders”
usados nos motores dos robôs. Estes leitores podem possuir algumas características que diferem
segundo sejam absolutos ou incrementais, que influenciam de forma direta no processo de
programação do equipamento. De forma geral, os encoders incrementais precisam se referenciar
sempre que iniciam o funcionamento do robô e os encoders absolutos, que não necessitam desta
informação, facilitam o início de funcionamento do equipamento.

Nestas considerações, buscamos demonstrar como são processadas as informações no controle


do robô quando definimos simplesmente o tipo de movimento que o robô irá executar. Este
conceito é valido para qualquer robô existente no Mercado de trabalho, variando a forma do
procedimento para implementar o processo de ensino do robô.

14 SENAI
Robótica

Como exemplo, podemos citar dois tipos de robôs de diferentes fabricantes, o da Mitsubishi e o
da Yaskawa, que, apesar apresentarem diferenças na seleção e na sintaxe de programação, não
apresentam alteração no conceito dos tipos de coordenadas de movimento.

No robô da Yaskawa, precisamos informar o tipo de coordenada de movimento com que iremos
trabalhar. Temos algumas opções, como a coordenada de Junta (trajeto PTP), que exprime o
movimento em cada junta individualmente, e coordenada WLD (trajeto cartesiano), que exprime o
movimento em sincronia de todos as juntas, garantindo um movimento paralelo aos eixos X, Y, Z.

Já no robô Mitsubishi, selecionamos tipo de coordenada de movimento PTP ou o tipo de


coordenadas de movimento XYZ, que exprimem movimento individual de cada junta e movimento
simultâneo das juntas, respectivamente, garantido sincronia de movimento.

Este enfoque precisa ser considerado para entendermos que cada fabricante procura se
diferenciar em relação ao seu equipamento, porém o conceito não foge à concepção básica.

É possível dividir o controle espacial em dois grandes grupos:


• Controle espacial explícito
• Controle espacial implícito

Controle espacial explícito

Este tipo de controle é hoje utilizado em quase todos os robôs industriais em operação.

Na forma explícita, há a necessidade de planejar a trajetória explicitamente, enquanto que na


forma implícita a equação do segmento da curva é embutida no algoritmo de geração de
trajetória, tornando-a autônoma.

A forma explícita de controle espacial exige que se faça um plano de trajetória explícita. É
necessário gravar um conjunto de pontos, pelos quais o órgão terminal do robô deve passar
quando estiver executando uma tarefa.

É armazenada na memória do computador que faz o controle espacial do robô, uma seqüência
de pontos (cada ponto é um conjunto de valores das variáveis das juntas, além de informações
adicionais, como por exemplo, garra aberta / fechada), e então enviada aos respectivos servos
das juntas. Estes pontos podem ser gravados diretamente nos sensores das juntas ou,
adicionalmente, executando-se um algoritmo de interpolação para geração dos pontos
intermediários.

Sem interpolação

Nessa categoria podem ser citados dois tipos de robôs muitos utilizados na indústria:
• robô PTP de manuseio de peças (Point to Point)
• robô CP de pintura (Continuous Path)

Na maioria dos robôs PTP, utilizados para manuseio de peças, a gravação (programação) da
seqüência de pontos que compõem a tarefa é feita por um periférico (Teaching Box / Teach
Pendant / Programming Pendant), com o qual se movimenta o robô até um ponto no espaço
tridimensional desejado, e, neste ponto, com o robô parado, é feita a gravação do ponto
(conjunto de variáveis das juntas), de acordo com a figura.

SENAI 15
Robótica

Fig. 17

Já no robô CP, utilizado em pintura, a gravação é feita de forma diferente. Neste caso, o robô
possui um modo de operação no qual as juntas, passivas, permitem que o operador movimente
diretamente o órgão terminal do robô, isto é, sem necessidade do “Teaching Box”.

Simultaneamente, um dispositivo auxiliar mostra os valores das variáveis das juntas, em uma
freqüência de amostragem 1/Ts, conforme é ilustrado.

Fig. 18

Ilustração de um robô de pintura (Cp).


A cada instante de amostragem Ts, o conjunto de variáveis das juntas é retido em um sistema
de aquisição de dados multicanal, permitindo sua repetição posteriormente de acordo com a
tabela.

No caso do robô PTP, é possível depurar parcialmente o programa, isto é, é possível inserir,
apagar, e/ou substituir um ou mais pontos da seqüência, enquanto que no robô de pintura não é
possível, pois a seqüência é temporal.

16 SENAI
Robótica

Controlador Yasnac XRC

Introdução ao Controlador XRC

O controlador XRC é o cérebro do robô MOTOMAN. Ele é o responsável tanto pelo


processamento das informações transmitidas pelo usuário como pelos cálculos e acionamentos
necessários para movimentação dos braços do manipulador.

Seu painel de comando é composto de 8 chaves cujas funções são descritas a seguir:

• Main Power Switch (Chave Geral): serve para ligar o controlador, inicializando as
funções de diagnóstico do sistema. É sempre bom lembrar que o desligamento do
controlador deve ser precedido do acionamento do botão de emergência que corta a
alimentação dos servo-motores.

• E-Stop (Emergência): o acionamento deste botão implica no desligamento dos servos e


aplicação dos freios. Para liberar o botão de emergência basta gira-lo no sentido
horário.

• Start (Início): este botão dá início à execução do programa a partir da linha na qualo o
cursor se encontra. Seu indicador luminoso permanece aceso durante toda execução
do programa.

• Hold (Parada): quando o Hold é acionado, a execução do programa é interrompida


porém os servos permanecem acionados e os freios não são aplicados. Para continuar
a execução do programa basta apertar o Start.

• Servo On Ready (Liga os Servos): este botão serve para acionar os servos e liberar os
freios. Em modo Teach, o indicador luminoso deste botão fica piscando. Já no modo
Play, o mesmo permanece aceso durante todo o tempo. Toda vez que se muda d o
modo Teach para Play, os servos são desligados automaticamente. No sentido oposto,
quando se muda do modo Play para o modo Teach, isso não é necessário.

• Play (Execução): este botão habilita o modo de execução automática de um programa.

• Teach (Aprendizagem): neste modo, o operador assume o controle da movimentação


do robô, permitindo a criação ou edição de um programa.

• Remote (Remoto): este modo de operação permite que o robô seja controlado por uma
estação externa ou um computador, por exemplo.

• Edit Lock (Trava de Edição): o acionamento desta chave impede que o operador possa
editar um programa armazenado no controlador.

Programming Pendant

O Programming Pendant ou Teach Pendant como é mais conhecido, é a interface que permite
o operador controlar os movimentos do robô e ainda criar, editar e acompanhar os passos de
execução de um programa.

Ele possui um display dividido em quatro áreas específicas: Menu, Status, Geral e Interface
com o Usuário.

SENAI 17
Robótica

Menu: a área de menu no topo da tela muda de acordo com a função exibida na área Geral.
As funções contidas no menu estão relacionadas com o tipo de ciclo, segurança, tipo de
programa, edição, exibição e utilidades do software de programação do robô.

Status: a área de status exibe as condições atuais do controlador. Os itens que a compõe
estão relacionados abaixo:

Geral: a área geral é onde o conteúdo do meu corrente é exibido. É, por exemplo, nesta área
que se faz a geração ou edição de um programa.

18 SENAI
Robótica

Interface com o Usuário: esta área mostra dados ou informações para o usuário como
escolha do tipo de movimento e velocidade antes de serem gravados, mensagens de erro, etc

Botões

Todos os diversos Menus de cada seção da Tela (Menu, General Purpose e Human Interface)
podem ser acessados utilizando-se os botões de TOP MENU, AREA, CURSOR (8 Vias) e
SELECT ou até mesmo a combinação destes botões. Cada opção depende dos Níveis de
Segurança de Operação. Existem três (3) níveis de Segurança:

• OPERATING (Não requer senha - Password)


• EDITING (4 - 8 Dígitos determinados pelo Usuário)
• MANAGEMENT (4 - 8 Dígitos determinados pelo Usuário)

NOTA: Este Manual é baseado no nível de Segurança EDITING.

BOTÃO TOP MENU: o botão TOP MENU retoma o display do P.P. à tela principal com o cursor
no ícone de JOB. Os botões de Select e Cursor devem ser utilizados para selecionar as
funções desejadas dos seguintes ícones do Menu:

• JOB
• HANDLING
• VARIABLE
• IN/OUT
• ROBOT
• SYSTEM INFO
• FD/PC CARD
• SETUP

JOB: esta opção nos leva a uma tela que nos permite selecionar uma das seguintes
opções: selecionar um programa, criar um programa, visualizar a capacidade de um programa
existente, etc.

Handling: este ícone nos leva às opções relacionadas com o tipo de controlador utilizado,
que no nosso caso é o Handling (Manuseio).

Variable: esta opção nos dá acesso as variáveis que podem ser utilizadas pelos usuários
para cálculos, armazenamento de informações e posições do robô.

In/Out: acessando esta opção é possível visualizar o status das entradas e saídas
existentes no controlador de forma simples (com várias saídas ao mesmo tempo) ou detalhada
(uma de cada vez). É possível ainda, em modo TEACH, ativar ou desativar cada uma dessas
saídas.

Robot: é nesta opção que podemos visualizar alguns dados de posicionamento pré-
determinados para o robô como posição de origem, posição atual, etc. Também é possível
determinar alguns parâmetros de coordenadas do usuário ou de ferramentas.

System Info: o menu SYSTEM INFO fornece informações sobre versão de software e
hardware, histórico de alarme e monitoramento do tempo (MONITORING TIME) para Power
On, Servo On, Job Play, Robot TraveI Time e Device/Tool Operating Time.

AREA KEY: este botão é responsável por deslocar o cursor para diferentes áreas da tela de
display. Como a programação requer o uso de seleções de diferentes áreas, o cursor deve ser
movido para a área apropriada. Se houver mais de uma mensagem sendo mostrada na linha de
mensagens, o cursor irá circular por esta área também. Segure a tecla SHIFT e o Botão de
Cursor para a Direita para rolar as mensagens disponíveis.

SENAI 19
Robótica

CURSOR: é um botão direcional de 8 vias que move o cursor para cima e para baixo, para um
lado e para o outro de acordo com a marcação das setas. O cursor pode ser movido também
diagonalmente, quando necessário, de acordo com as marcações entre as setas dos botões.
Ele deve ser utilizado para movimentar o cursor entre as linhas de programação de um Job,
uma lista, etc. ou marcar um determinado menu que pode ser selecionado utilizando-se o botão
de SELECT.

SELECT: é utilizado para selecionar o item que estiver marcado pelo cursor. É também
utilizado em conjunto com o botão de INTERLOCK para ligar as UNIVERSAL OUTPUTS
(Saídas Universais).

TEACH LOCK: este botão ativa o controle do robô através do Teach Pendant e impede que o
mesmo seja colocado em modo Play. Deve-se lembrar que o programa pode ser alterado sem
que o Teach Lock esteja ativado. O Botão de Teach Lock deve estar ligado para que seja
possível alimentar-se os servo-motores utilizando-se a Deadman Switch (Chave Homem-Morto)
localizado na parte de trás do P.P.

DEADMAN SWITCH: toda vez que necessário movimentar o robô, modificar posições dos
JOBS ou até mesmo programar uma nova posição em um programa, os servo-motores deverão
estar ligados. Para ligar os servo-motores em Modo TEACH o botão SERVO ON READY
deverá ser pressionado seguido pelo botão TEACH LOCK e então pela Deadman Switch. Esta
última, é uma chave de três (3) posições. Liberando-se a chave (deixando-a solta) ou
pressionando-a ao máximo causará o desligamento dos servo-motores pelo P.P. Dessa forma,
para acionarmos o manipulador, esta chave deve estar na posição intermediária.

E-STOP: pressionando-se o E-Stop a alimentação dos servo-motores será cortada e os freios


serão acionados. A Mensagem "!Robot is stopped by P.P. emergency stop" aparecerá e cada
uma das luzes indicativas de Servo On Ready será desligada.

ENTER: o botão de ENTER insere dados selecionados no controlador. Ele deverá ser
pressionado após a seleção de cada instrução através do teclado. Cuidado, quando estiver
programando ou editando um passo ou uma instrução; verifique o conteúdo da linha de entrada
intermediária de dados antes de pressionar Enter e inserir a informação no Job.

CANCEL: a tecla de CANCEL é utilizada para limpar uma mensagem de erro. Pressionando-a
a linha de entrada de dados será apagada permitindo a entrada de novos dados ou então
aborta-se toda a instrução.

INSERT: a tecla de INSERT deverá ser pressionada antes da tecla ENTER toda vez que se
desejar inserir instruções adicionais entre linhas de programação já existentes. A linha será
inserida sempre imediatamente abaixo do cursor.

MODIFY: esta opção é utilizada toda vez que se deseja fazer alguma alteração na posição ou
em comando de um programa.

DELETE: esta tecla permite nos apagar uma linha do programa. Para executar o comando é
preciso confirmá-lo através da tecla ENTER. Para apagar uma posição gravada é necessário
que o robô esteja exatamente na posição programada.

SHIFT: existem duas teclas de SHIFT que podem ser confortavelmente acessadas por ambas
as mãos do operador. Esta tecla pode ser utilizada em conjunto com as seguintes funções
(teclas):
• TOP MENU (Para retornar à tela anterior)
• PAGE KEY (Para retomar à página anterior)
• CURSOR (para retornar ou avançar a página quando o programa ou lista for mais
extenso que uma tela ou, para rolar para esquerda ou direita quando o lado da
instrução do job for mais extenso que uma tela)
• COORD (Para selecionar a ferramenta desejada ou o plano do usuário)
• RESERVE DISPLA Y (Para armazenar uma tela a qual se deseja acesso rápido)

20 SENAI
Robótica

INTERLOCK: esta tecla é utilizada em conjunto com as seguintes teclas:

• SELECT (Para ligar e desligar as Universal Outputs)


• TEST START (Para simulação da programação quando em modo TEACH)

PORTA SERIAL ElA 232D: esta porta serial de 9 pinos é utilizada para comunicação entre o
controlador XRC e um drive externo (FCI ou FC2), ou entre o controlador XRC com um
computador externo provido de software FDE (Floppy Disk Emulator) ou outra forma de
comunicação.

JOINT COORDINATES: quando em coordenada Joint, aplicam-se as letras S, L, U, R, B e T


nos seis pares de eixos permitindo ao operador movimentar um eixo (motor) de cada vez. Este
é o sistema padrão apresentado quando se liga o controlador ou quando seleciona-se um JOB.

WORLD, CYLINDRICAL, TOOL OU USER: neste sistema de coordenadas o TCP (Tool Center
Point) é controlado pelas teclas dos eixos. As teclas marcadas com X, Y ou Z se aplicarão
definindo a direção de movimentação do TCP (e robô). Essas teclas, porém, irão movimentar o
robô diferentemente em cada um dos sistemas de coordenadas. As coordenadas World, Tool e
User são baseadas no sistema retangular (Sistema Cartesiano). No sistema World o TCP
move-se em linha reta. A coordenada Tool é baseada no sistema X-Y-Z em relação à
orientação da ferramenta. A coordenada User é definida à partir de um plano no espaço
definido pelo usuário.

Para selecionar alternar o sistema de coordenada entre World e Cylindrical , execute os


seguintes passos:

1. Pressione a Tecla TOP MENU


2. Leve o Cursor para a opção SETUP e pressione SELECT.
3. Leve o Cursor para a opção TEACHING COND e pressione SELECT.
4. Leve o Cursor para a opção RECT/CYLINDRICAL.
5. Pressionado a Tecla SELECT alternarão-se as opções "CYL" e "RECT".
6. Pressione a Tecla TOP MENU para retomar ao menu principal.

Quando utilizando-se as coordenadas WLD/CYL, TOOL ou USER, pressionando-se as teclas


de eixo "rotação ao redor" (rotate about - rx, ry e rz) o
ângulo de orientação da ferramenta mudará, porém o TCP deverá permanecer na mesma
posição. Isto pode ser utilizado para verificar os dados da ferramenta (TOOL DATA) em
utilização estão precisos.

COORD: esta tecla é utilizada quando se deseja alterar o sistema de coordenadas de


deslocamento do robô.

MANUAL SPEED:
A velocidade manual é utilizada para determinar a velocidade na qual os eixos do robô ou eixos
externos irão operar quando pressionadas as teclas FWD e BWD ou em simples movimentação
manual. As quatro velocidades possíveis são selecionadas utilizando-se as teclas FST (Fast-
Rápido) ou SL W (Slow - Devagar). O ícone na Área de Display de Status irá mudar de acordo
com a velocidade selecionada.
Quando o modo INCHING (I) for selecionado no sistema Joint, cada vez que se pressionar as
teclas de eixo o robô irá contar apenas um pulso de movimentação. Em todos os outros
sistemas de coordenadas o padrão selecionado para cada vez que se pressiona as teclas de
eixo é de movimentar o robô em O.30mm/O.30 graus.

HIGH SPEED: esta tecla é utilizada apara deslocar o robô de um ponto a outro em alta
velocidade quando pressionada juntamente com as teclas de deslocamento de eixo ou FWD.
Deve-se lembrar que esta opção só esta disponível para deslocamento de um único eixo de
cada vez. Outra ressalva é que esta função também não funciona quando a opção de
velocidade é a INCHING ou quando utilizada juntamente com o botão BWD.

SENAI 21
Robótica

ROBOT KEY: em um sistema montado apenas com robôs RI, R2 e R3 (nenhuma estação
externa) o Led da tecla ROBOT acenderá automaticamente toda vez que os servos forem
acionados. Pressionando-se a tecla Robot seleciona-se o robô designado e esta seleção é
mostrada na Área de Diasplay de Status. Entretanto, em um sistema com servomotores
controlando eixos externos (que não os do robô), o operador deverá ligar o grupo de eixos
designado utilizando-se as teclas ROBOT e [Link].

AXIS KEY: pressionando-se esta tecla configura-se o eixo a ser movimentado, seja ele uma
estação externa ou um trilho para o robô.

CURRENT POSITION: Para mostrar a posição na qual o robô se encontra, em Pulso (PULSE
S,L,U,R, B e T) ou XYZ para as coordenadas Base, Robot ou User, execute os seguintes
passos:

1. Pressione a Tecla TOP MENU


2. Leve o Cursor para o ícone ROBOT e pressione SELECT.
3. Leve o Cursor para o ícone CURENT POS e pressione SELECT. A tela de CURRENT
POS aparecerá, porém, se uma forma diferente de apresentação é desejada, prossiga
como os passos 4 e 5.
4. Pressione SELECT e leve o Cursor para o ícone PULSE ou BASE ou ROBOT ou ainda
USER e pressione SELECT novamente.
5. Se o modo USER for selecionado, então determine o número do plano usuário na Linha
de Entrada (>User_coord_no.=) e pressione ENTER.

MOSTRANDO UMA POSIÇÃO ENSINADA: para visualizar uma posição ensinada em um


passo do programa, execute os seguintes passos:

1. Pressione a Tecla TOP MENU


2. Leve o Cursor para o ícone ROBOT e Presione SELECT
3. Leve o Cursor para a opção COMMAND POS e pressione SELECT.
4. A coluna da esquerda mostrará a posição ensinada para aquele passo [CMD], e na
coluna da direita mostrará a posição atual do robô [CURR] (em relação ao seu TCP).

POSIÇÃO DE ORIGEM: a Posição de Origem de Operação (Ope ORIGIN POS) pode ser
utilizada para mover o robô freqüentemente para uma posição designada. A seleção padrão é
definida pelo zeramento de todos os eixos do robô, porém é possível modifica-la para uma
posição mais adequada conforme a necessidade. Para modificar esta posição execute os
seguintes passos:

1. Em Modo Teach, com os servos ligados, leve o robô para o posição designada.
2. Pressione a tecla TOP MENU.
3. Leve o Cursor para o ícone ROBOT e pressione SELECT.
4. Leve o Cursor para a opção OPE ORIGIN POS e pressione SELECT. A mensagem
"!Available to move or modify OPE ORIGIN POS."
5. Pressione MODIFY e em seguida ENTER.

Para Mover para a OPE ORIGIN POS, execute os seguintes passos:

1. Em Modo Teach, e com os servos ligados pressione a Tecla TOP MENU.


2. Leve o Cursor para o ícone ROBOT e pressione SELECT.
3. Leve o Cursor para a opção OPE ORIGIN POS pressione SELECT. A mensagem
"!Available to move or modify OPE ORIGIN POS."
4. Selecione o sistema de Coordenada JOINT, escolha a velocidade manual, então
pressione a tecla FWD até o robô parar na OPE ROIGIN POS.

22 SENAI
Robótica

Programando o robô

CRIANDO UM JOB

NOTA: O controlador deverá estar no nível de Segurança EDITING para poder acessar a
opção CREATE NEW JOB (Criar Novo Job / Programa) no menu JOB.

Para criar um novo Job, este deverá primeiramente ser nomeado. Um Job pode ser nomeado
de diversas maneiras podendo conter números, letras e símbolos com até 8 caracteres sem
espaços entre eles.

CRIANDO UM NOVO JOB NOVO

Para criar um Job novo, siga os seguintes passos:

1. Se ainda não estiver em Modo Teach. pressione Teach no Painel de Playback.


2. Pressione a Tecla TOP MENU no P.P e pressione a Tecla SELECT para escolher o
ícone JOB.
3. Leve o Cursor para CREATE NEW JOB (Criar um Novo Job ou Programa) e pressione
a tecla SELECT.
4. Leve o Cusrsor para JOB NAME: ******** e pressione a tecla SELECT.
5. A) Entre com o Nome do Programa utilizando o teclado numérico.
ou
B) Leve o cursor até a letra desejada e Presione SELECT. Mova o cursor até a
próxima letra desejada e pressione SELECT novamente. Continue esta operação até o
nome do programa estar completo ou atingir 8 caracteres.

NOTA: Pressionando a tecla de Área (AREA KEY) o cursor se moverá para a linha de input.
Utilizando-se as teclas de cursor para direita ou para esquerda o cursor se moverá sobre o
nome digitado. Caso se deseje inserir um caractere no meio do nome do programa, este será
inserido à esquerda do cursor. Pressionando a tecla de cursor para baixo o cursor irá apagar o
caractere imediatamente à esquerda do cursor.

Pressionando-se a tecla CANCEL a linha de lnput será apagada.

6. Pressione a tecla ENTER para aceitar o nome mostrado na linha de lnput.


7. Pressione a tecla ENTER para criar um novo Job Novamente.

A tela de JOB CONTENT irá mostrar o Job recentemente criado com apenas duas linhas de
instrução: 000 NOP (NO Operation, no topo do programa) e 001 END.

NOTA: JOBS podem ser criados a partir da tela de JOB CONTENT. Pressione a tecla de Área
(AREA KEY) para mover o cursor para a linha de Menu. Com o cursor em JOB, pressione
SELECT. Leve o cursor par CREA TE NEW JOB e pressione SELECT. Continue conforme os
passos 4-7 anteriormente demonstrados.

NOTA: Pressionando a tecla SELECT quando o cursor estiver na linha COMM de CREATE
NEW JOB um comentário poderá ser adicionado e aparecerá no JOB HEADER.

SENAI 23
Robótica

SELECIONANDO UM JOB

Para trazer para a tela principal um Job existente em Modo Play ou Teach:

1. Pressione TOP MENU


2. Pressione SELECT e escolha o ícone JOB.
3. Leve o cursor para SELECT JOB e pressione SELECT.
4. Leve o cursor para o nome do programa desejado e pressione SELECT.

NOTA: Outros programas não poderão ser selecionados durante a execução de um Programa
(Quando a luz de START estiver acesa), em modo Play.

MASTER JOB

Muitas vezes um único programa serve como base para execução de outros programas, então
este passa a ser um fator comum em diversas rotinas de trabalho. Quando isto acontece,
podemos utilizar um programa principal que interliga diversas outras rotinas de execução. Este
programa é denominado Master Job. Apenas um Job poderá ser registrado como Master neste
controlador.

REGISTRANDO O MASTER JOB

Para registrar o nome do MASTER JOB, complete os seguintes passos:

1. Se ainda não estiver em modo T each, selecione o Modo T each no Painel de Playback.
2. Pressione TOP MENU.
3. Leve o cursor parTa o ícone JOB e pressione SELECT.
4. Pressione SELECT.
5. Leve o cursor para SETTING MASTER JOB e pressione SELECT.
6. Leve o cursor para o nome do Job desejado e pressione SELECT.

O Master Job selecionado será registrado na tela de Job Content que irá aparecer.

CHAMANDO O MASTER JOB PARA TELA

Para chamar o Job Master na tela em modo Play ou Teach, execute os seguintes passos:

1. Pressione TOP MENU e em seguida a tecla SELECT


2. Leve o cursor para a opção MASTER JOB e em seguida a tecla SELECT
3. Pressione SELECT (Para escolher CALL MASTER JOB)
4. Pressione a tecla SELECT (Para mostrar o Job na tela)

NOTA: O Master Job não pode ser chamado quando a luz de START estiver acesa ou durante
a execução de um programa.

MOSTRANDO O CONTEÚDO DE UM JOB ATIVADO

Para retornar para a tela de JOB CONTENT a partir de outra tela qualquer, execute os
seguintes passos:

1. Pressione TOP MENU.


2. Leve o Cursor para o ícone JOB e pressione a tecla SELECT.
3. Leve o Cursor para a opção JOB e pressione SELECT.

24 SENAI
Robótica

CRIAÇÃO DE UM CAMINHO

Utilizando as teclas de seleção de MOTION TYPE e PLAY SPEED no P.P, o tipo de movimento
e a velocidade com que o robô se moverá para um determinado ponto poderão ser alterados.
Após criar o caminho que o robô deverá percorrer, as teclas FWD, BWD e TEST START
poderão ser utilizadas para a verificação do mesmo.
A tecla MOTION TYPE, seleciona o tipo de trajetória que o robô irá percorrer até um ponto
programado. Os quatro tipos de movimentação, em ordem, são: JOINT, LINEAR, CIRCULAR e
SPLINE. Cada vez que a tecla MOTION TYPE é pressionada um tipo de movimentação é
mostrado.
Os primeiros dois tipos de movimentação JOINT e LINEAR, requerem apenas um passo de
posição, já os outros dois tipos, CIRCULAR e SPLINE requerem no mínimo três (3) passos
consecutivos de movimentação.

MOVIMENTO JOINT (MOVJ)

Selecionando o movimento JOINT para um passo do programa, o controlador executará o


caminho mais fácil para chegar ao ponto ensinado. O caminho NÃO será direto porque o
controlador não calcula o caminho a ser seguido. A Movimentação Joint é utilizada
primeiramente para aproximação e afastamento da peça a ser trabalhada. O primeiro e o último
passo de um Job são normalmente programados com este tipo de movimento.

MOVIMENTAÇÃO LINEAR (MOVL)

Selecionando o movimento LINEAR para um passo do programa, o controlador moverá o TCP


(Tool Center Point) do robô em linha reta até o ponto ensinado. A movimentação Linear é um
tipo de movimento interpolado. Isto significa que o TCP irá mover-se em linha reta mesmo se
houver uma mudança no ângulo da ferramenta.

VELOCIDADE DE EXECUÇÃO (PLAY SPEED)

Quando se seleciona um movimento do tipo Joint, a velocidade de execução (PLAY SPEED) é


configurada para uma porcentagem da velocidade máxima do robô. O padrão de PLAY SPEED
são 8 velocidades de 0,78 a 100%.
Quando o selecionado é o linear, a velocidade de execução para o TCP será configurada. Esta
velocidade é indicada por "V" e suas unidades são cm/min, mm/sec, inc/min ou mm/min. A
seleção de velocidade de execução padrão para a movimentação linear também possui 8
velocidades que vão de 66/9000 cm/min, 11.0/1500.0 mm/sec, 26/3543 inc/min ou 660/90.0000
mm/min.
A seleção de Velocidade de execução permite ao programador selecionar a velocidade que o
robô irá possuir para chegar ao ponto ensinado. Selecione o tipo de movimentação apropriado
antes de selecionar a Play Speed (Velocidade de execução).

Para selecionar uma das 8 velocidades de execução disponíveis, execute os seguintes passos:

1. Com o cursor no lado de instrução do programa pressione SELECT para mover o


cursor para a linha de Input.
2. Leve o cursor para a direita até os dígitos de velocidade
3. Enquanto segura a tecla de SHIFT, use as setas da teclas de cursor acima ou abaixo
até encontrar a velocidade desejada.
4. Pressione ENTER.

NOTA: Quando o ENTER é pressionado na posição atual do robô, o tipo de movimentação


selecionado e a velocidade configurada serão inseridos no Job logo abaixo do cursor. O
número da ferramenta (00-23) gravada para aquele passo é mostrado no lado superior direito
da tela.

SENAI 25
Robótica

ENSINANDO POSIÇÕES COMO PASSOS DO PROGRAMA

Para programar um passo em um programa, execute os seguintes passos:

1. Pressione TEACH e SERVO ON READY no painel de Playback.


2. Mostre o Job na tela do P.P
3. Mova o cursor para o lado de endereçamento (esquerdo) da tela do P.P para a linha
imediatamente acima da qual a instrução de movimentação será programada. (para a
primeira linha do JOB será a linha de NOP).
4. Escolha o sistema de COORD (coordenadas) para movimentar o robô.
5. Ligue o TEACH LOCK e então ligue os servo motores com o Dead Man Switch (Botão
de Homem Morto) e movimente o robô para a posição desejada.
6. Note que o tipo de movimentação é mostrado na linha de Input. Para modificar o tipo de
movimentação pressione a tecla MOTION TYPE.
7. Selecione a velocidade desejada na linha de Input e pressione ENTER.

Todas as informações relativas à posição gravada como tipo de movimento, velocidade e o


número da ferramenta são mostrados na tela.

SOBREPONDO A PRIMEIRA E ÚLTIMA POSIÇÃO

Quando possível o primeiro e o último passo de um programa devem ser ensinados na mesma
posição. Esta sobreposição mantém o robô na mesma posição no final de um programa e no
começo do próximo ou do mesmo quando executado novamente.
1,6

2 5

3 4

LINE INSTRUCTION
0000 NOP
0001 MOVJ VJ=0.78
0002 MOVJ VJ=1 00.00
0003 MOVJ VJ=25.00
0004 MOVLV=138
0005 MOVJ VJ=50.00
0006 MOVJ VJ=100.00
0007 END

Para programar o último passo na mesma posição do primeiro execute os seguintes passos:

1. Mova o cursor para o primeiro passo (Step 001) no lado de endereçamento.


2. Certifique que possui um caminho livre até o ponto ensinado e então pressione a tecla
FWD até o robô parar no passo 001. O cursor parará de piscar quando o robô estiver
exatamente na posição demonstrada na linha de programação.
3. Leve o cursor para seu último passo gravado (Step 005 no exemplo acima)
4. Escolha o tipo de movimento. Este será, normalmente, movimento Joint.
5. Escolha a velocidade de execução apropriada.
6. Pressione ENTER.

O último passo (Step 006 do exemplo) estará programado na mesma posição do primeiro passo
(Step 001).

26 SENAI
Robótica

CONFIRMAÇÃO DE TRAJETORIA

O programming pendant possui duas funções para permitir ao operador a verificação da


trajetória programada, usando os botões Interlock, Test Start, FWD e BWD.

MÉTODO 1: BOTÕES FWD E BWD

A tela irá mostrar o passo programado. Se o manipuIador não estiver fisicamente no passo
onde se encontra o cursor, o lado Address da tela ficará piscando até se chegar na posição.
Para deslocar o braço para o passo onde se encontra o cursor, escolha uma velocidade em
MANUAL SPEED, pressione e mantenha pressionada a tecla FWD (forward). O robô se
movimentará até o passo e cessará o movimento, fazendo com que o cursor pare de piscar.
Para continuar checando a trajetória, pare de pressionar a tecla FWD e pressione novamente.
O robô irá se deslocar para o próximo passo. Se quiser retornar para o passo anterior,
pressione a tecla BWD (backward). O robô irá se deslocar para o passo anterior. Enquanto as
teclas FWD e BWD são pressionadas, o manipulador se deslocará conforme a velocidade
manual (MAN SPD) selecionada. Quando parar de pressionar a tecla FWD ou BWD a
movimentação do robô pára. A tecla HIGH SPD é habilitada para o FWD mas não para o BWD.

MÉTODO 2: INTERLOCK / TEST START

Este método para confirmação de trajetória permitirá ao robô agir como se estivesse no modo
PLAY. Todos as instruções serão executadas conforme programado. Movimentos gravados
com velocidades acima de 20% da velocidade máxima do robô serão executados em
velocidade de 20% da capacidade máxima. Para as velocidades programadas abaixo deste
limite de 20%, o movimento será executado na velocidade programada. A seleção do ciclo
afetará a execução do TEST START, então, é recomendada a seleção de 1-CYCLE.
Para executar esta função, comece com o cursor em NOP. Enquanto estiver pressionando a
tecla INTERLOCK, pressione e mantenha pressionada a tecla TEST START. O botão de
START do painel de playback acenderá e o robô executará os passos e instruções
programadas. O botão INTERLOCK pode ser solto quando o robô estiver em movimento. Para
parar a execução do programa, apenas solte o botão TEST START.

SELEÇÃO DE CICLO

Três seleções de ciclo determinam como o controlador irá operar o Job selecionado quando o
botão START for pressionado no modo PLA Y. Isto também afeta a operação do TEST START
do Programming Pendent. Estas seleções são STEP, 1-CYCLE e AUTO. O ciclo selecionado é
indicado na linha de Status do P.P.

STEP: O controlador irá executar apenas uma linha na qual o cursor estiver localizado a cada
vez que o botão START for pressionado. As instruções de ferramenta NÃO serão executadas
enquanto estiver no ciclo STEP.

1-CYCLE: O controlador irá executar o job selecionado uma vez, de onde o cursor estiver
localizado até a instrução END quando o botão START for pressionado.

AUTO: O controlador irá executar o job selecionado repetidamente, de onde o cursor estiver
localizado quando o botão START for pressionado.

Para selecionar o ciclo, siga os seguintes passos:

1. Pressione TOP MENU.


2. Pressione o botão AREA para mover o cursor para o Menu Line.
3. Mova o cursor para CYCLE.
4. Pressione SELECT.
5. Selecione o ciclo desejado e pressione SELECT. O símbolo de ciclo da tela mudará
conforme o ciclo selecionado.

SENAI 27
Robótica

EXECUTANDO UM JOB

Para executar um programa, após verificado com os dois métodos mencionados anteriormente,
siga os seguintes passos:

1. Selecione um JOB e verifique onde o cursor começará a execução do programa


(normalmente em NOP).
2. Certifique-se de que o LED do botão TEACH LOCK está desligado.
3. Pressione o botão de modo PLAY na caixa de Playback.
4. Pressione o botão de SERVO ON READY.
5. Selecione o ciclo desejado (AUTO, 1-CYCLE ou STEP) como descrito no item 8.6.
6. Pressione o botão ST ART para iniciar a execução do programa.

TIPOS DE MOVIMENTO QUE REQUEREM TRÊS OU MAIS POSIÇÕES

Além dos tipos movimento JOINT e LINEAR, o XRC suporta dois outros tipos de movimento:
CIRCULAR e SPLINE (parabólico).

MOVIMENTO CIRCULAR

Num movimento circular, o robô irá realizar uma trajetória circular, referenciada no TCP (Tool
Center Point), entre os pontos ensinados. Para o manipulador realizar uma trajetória circular, no
mínimo de três pontos consecutivos são necessários. Para definir um círculo completo (360°),
cinco pontos devem ser usados para uma melhor interpolação.
Para programar pontos circulares, pressione o botão MOTION TYPE até que apareça MOVC na
linha de entrada. Quando um movimento circular for selecionado, a tecla PLAY SPEED é
configurada em unidades de cm/min, mm/seg, in/min ou mm/min, idêntico ao movimento linear.

NOTA: O robô irá se mover linearmente para o primeiro passo da trajetória circular.

1 3

MOVIMENTO SPLINE (PARABÓLICO)

Num movimento do tipo spline, o robô irá realizar uma trajetória parabólica (curva) referenciada
no TCP, entre os pontos ensinados. Para o manipulador realizar esta trajetória são necessários
no mínimo três pontos consecutivos.
Para programar esses pontos, pressione o botão MOTION TYPE até que apareça MOVS na
linha de entrada. Quando o movimento parabólico é selecionado, a tecla PLAY SPEED é
configurada para as unidades cm/min, mm/seg, in/min ou mm/min, assim como o movimento
linear. O ponto 2 precisa ser programado na linha perpendicular à linha entre os pontos 1 e 3.

NOTA: O robô irá se deslocar linearmente para o primeiro ponto da seqüência da parábola.

1 3

28 SENAI
Robótica

COPIAR, DELETAR E RENOMEAR UM JOB

Muitas das funções de gerenciamento são realizadas na lista de jobs, na qual mostra os nomes
de todos os JOBS registrados. COPY, DELETE e RENAME são consideradas funções de
gerenciamento. Para realizar as funções de gerenciamento, a lista de jobs deve ser chamada
na tela.

COPY JOB: A função COPY JOB permitirá ao operador fazer uma cópia idêntica de um Job
onde somente o nome do Job será diferente. Isto é feito sempre que uma célula possui vários
jobs com pequenas diferenças. Isto deve também ser utilizado sempre que um job for ser
editado (modificado). É melhor fazer uma cópia (backup) e trabalhar na própria cópia efetuada.
No caso da edição não ser feita com sucesso, o job de produção original não foi modificado.
Para copiar um Job, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Pressione TOP MENU
3. Mova o cursor para o ícone JOB e pressione SELECT.
4. Selecione SELECT JOB e pressione SELECT.
5. Selecione o Job a ser copiado.
6. Pressione o botão AREA para mover o cursor para MENU Line.
7. Mova o cursor para JOB e pressione SELECT.
8. Selecione COPY JOB e pressione SELECT. O nome do Job aparecerá na linha de
entrada. O nome existente pode ser modificado, ou pressione CANCEL e crie um novo
nome para o Job.
9. Após renomear a cópia do Job na linha de entrada, pressione ENTER.
10. Selecione [YES] e pressione SELECT.

NOTA: COPY JOB pode também ser usado pela tela do JOB CONTENT. Use apenas os
passos de 6 ao 10.

DELETE JOB: A função DELETE JOB permitirá ao operador deletar um job que não estiver
sendo utilizado, estiver desatualizado ou não for mais necessário ao controlador.
Para apagar um Job, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Pressione TOP MENU
3. Mova o cursor para o ícone JOB e pressione SELECT.
4. Selecione SELECT JOB e pressione SELECT.
5. Selecione o Job a ser apagado.
6. Pressione o botão AREA para mover o cursor para MENU Line.
7. Mova o cursor para JOB e pressione SELECT.
8. Selecione DELETE JOB e pressione SELECT.
9. Selecione [YES] e pressione SELECT.

NOTA: DELETE JOB pode também ser usado pela tela do JOB CONTENT. Use apenas os
passos de 6 ao 9.

RENAME JOB: A função RENAME JOB permitirá ao operador renomear um job. Isto se fará
necessário se um job com o mesmo nome de um job já existente tiver de ser importado de um
disquete. O software que permite importar arquivos de um disquete não permitirá que um
arquivo seja regravado, portanto o job que estiver no controlador deverá ser renomeado.
Para renomear um Job, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Pressione TOP MENU
3. Mova o cursor para o ícone JOB e pressione SELECT.
4. Selecione SELECT JOB e pressione SELECT.
5. Selecione o Job a ser renomeado.
6. Pressione o botão AREA para mover o cursor para MENU Line.
7. Mova o cursor para JOB e pressione SELECT.

SENAI 29
Robótica

8. Selecione RENAME JOB e pressione SELECT. O nome do Job aparecerá na linha de


entrada. O nome existente pode ser modificado, ou pressione CANCEL e crie um novo
nome para o Job.
9. Após renomear o Job na linha de entrada, pressione ENTER.
10. Selecione [YES] e pressione SELECT.

NOTA: RENAME JOB pode também ser usado pela tela do JOB CONTENT. Use apenas os
passos de 6 ao 10.

NAME/DA TE JOB LISTS: O JOB LIST pode ser selecionado para mostrar o nome dos JOBS
em ordem alfabética (NAME), ou em ordem da data de criação (DATE).

SELECIONANDO A ORGANIZAÇÃO DO JOB LIST PELO NOME OU DATA: Para selecionar


a organização do JOB LIST pelo nome ou data, siga os seguintes passos:

1. Pressione TOP MENU.


2. Mova o cursor para o ícone JOB e pressione SELECT.
3. Selecione SELECT JOB e pressione SELECT.
4. Pressione o botão AREA para mover o cursor para MENU Line.
5. Mova o cursor para DISPLA Y e pressione SELECT.
6. Selecione NAME ou DATE e pressione SELECT.

DETAIL DISPLAY: Detalhes de um Job podem ser mostrados na lista de JOBS quando o
DETAILS estiver selecionado. Informações sobre o Job sob o cursor são mostradas em uma
pequena parte da tela. Para habilitar ou desabilitar o DET AIL, siga os seguintes passos:

1. Pressione TOP MENU


2. Mova o cursor para o ícone JOB e pressione SELECT.
3. Selecione SELECT JOB e pressione SELECT.
4. Pressione o botão AREA para mover o cursor para MENU Line.
5. Mova o cursor para DISPLA Y e pressione SELECT.
6. Selecione DETAIL e pressione SELECT.

NOTA: O display DETAIL sempre aparecerá quando a lista do SELECT JOB estiver na tela até
que a seleção do DETAIL seja desabilitada.

JOB HEADER: O JOB HEADER é como uma página título do Job. Ele mostra detalhes
adicionais e informações sobre o Job selecionado. O JOB HEADER mostra o nome do Job,
comentários, o total de memória usada, o número de passos e linhas do job, o tempo e a data
da última edição e se foi feito Back Up além de mostrar o estatus do EDlT PROTECTION.
Para entrar na tela do JOB HEADER, siga os seguintes passos a partir da tela do JOB:

1. Pressione o botão AREA para mover o cursor para MENU Line.


2. Mova o cursor para DISPLA Y e pressione SELECT.
3. Com o cursor em JOB HEADER, pressione SELECT.

Para retomar à tela do JOB, siga os seguintes passos a partir da tela do JOB HEADER:

1. Pressione o botão AREA para mover o cursor para MENU Line.


2. Mova o cursor para DISPLA Y e pressione SELECT.
3. Com o cursor em JOB CONTENT, pressione SELECT.

CAPACIDADE

Esta tela mostra o número de JOBS, bytes usados e restantes, e o número de passos usados e
restantes para os eixos ROBOT, BASE ou STATION.
Para checar a capacidade da memória, siga os seguintes passos:

1. Pressione TOP MENU, e selecione o ícone JOB.


2. Mova o cursor para JOB CAPACITY e pressione SELECT.

30 SENAI
Robótica

Edição de programas

EDIÇÃO DE PROGRAMAS

Existem várias maneiras de se editar uma instrução do job ou urna posição do robô. Este
capítulo inclui: correção de posição, especificação de nível de posição, recortar, copiar, colar e
colar inverso.
A tela do job é dividida em duas partes, como é mostrado na figura abaixo.

O lado esquerdo da tela é de endereçamento (address), o qual contem o número da linha. Cada
linha do job tem um número. Cada linha inclui o tipo do movimento, como MOVJ, e também o
número do passo, isto é indicado na parte superior do job perto do nome do job (job name). O
cursor deverá estar no lado de endereçamento para iniciar a programação, para inserir,
modificar ou excluir passos e instruções.
O lado direito da tela é o de instruções (instruction) e informações (information). O cursor
deverá estar do lado direito da tela para se editar uma linha e para mudar o tipo de movimento.

CORREÇÃO DE POSIÇÃO

Os métodos descritos a seguir são utilizados para modificar uma posição programada.

INSERINDO UM PASSO

Para inserir um passo entre linhas/passos existentes em um job, siga os seguintes passos:

1. Se não estiver em modo TEACH, pressione TEACH no Painel de Playback.


2. Selecione o job a ser editado.
3. Mova o cursor para o lado de endereçamento, depois coloque o cursor sobre a linha
acima do passo a ser inserido. O novo passo deverá aparecer abaixo do cursor.
4. Habilite os servos e leve o robô para o ponto desejado.
5. Escolha o tipo de movimento desejado (MOTION TYPE).
6. Para escolher a velocidade, pressione SELECT, leve o cursor para o valor da
velocidade na linha do buffer. Segure o botão SHlFT e selecione a velocidade desejada
apertando para cima/baixo no cursor.
7. Pressione INSERT.
8. Pressione ENTER.

SENAI 31
Robótica

MODIFICANDO UMA POSIÇÃO

Para modificar uma posição de um passo no job, siga os seguintes passos:

1. Se não estiver em modo TEACH, pressione TEACH no Painel de Playback.


2. Selecione o job a ser editado.
3. Mova o cursor, para o lado de endereçamento, depois leve o cursor ao passo que você
quer modificar.
4. Habilite os servos e leve o robô para a posição desejada.
5. Pressione MODIFY.
6. Pressione ENTER.

EXCLUINDO UM PASSO

Para excluir um passo no job, siga os seguintes passos:

1. Se não estiver em modo TEACH, pressione TEACH no Painel de Playback.


2. Selecione o job a ser editado.
3. Mova o cursor para o lado de endereçamento, depois leve o cursor no passo que você
quer excluir.

NOTA: Para excluir um passo, o robô deverá estar posicionado no passo a ser excluído.
Quando o robô não está na posição de comando, o número do passo onde está o cursor
piscará.

4. Para mover o robô exatamente ao ponto programado, assegure-se de que seja esta
posição e pressione FWD até o cursor parar de piscar.
5. Pressione DELETE.
6. Pressione ENTER.

MUDANDO O TIPO DE MOVIMENTO

Para mudar o tipo de movimento do passo programado, siga os seguintes passos:

1. Se não estiver em modo TEACH, pressione TEACH no Painel de Playback.


2. Selecione o job a ser editado.
3. Mova o cursor para o passo desejado no lado de instruções da tela e pressione
SELECT. O cursor ficará sobre o =>MOV na linha do buffer (canto inferior esquerdo).
4. Segure o botão SHIFT e selecione o tipo de movimento desejado pressionando o cursor
para cima ou para baixo.
5. Pressione ENTER.

NOTA: A mudança do tipo de movimento do passo irá alterar a posição programada. Sempre
faça a confirmação da trajetória para verificar/confirmar a trajetória.

RESUMO DO INSERT, MODIFY, DELETE E LOCAIS DO CURSOR

O cursor deverá estar no lado de endereçamento do job para se usar os botões DELETE,
INSERT e MODIFY. O botão DELETE é usado para excluir uma linha de instrução ou um passo
de movimento. O botão INSERT deve ser usado quando se vai adicionar uma linha/passo entre
linhas/passos existentes no programa. O cursor deverá estar no lado de instruções para mudar
o tipo de movimento.

32 SENAI
Robótica

ESPECIFICAÇÃO DO NÍVEL DE POSIÇÃO

Em altas velocidades, devido à rampa de desaceleração dos servos motores, o manipulador


não irá atingir um ponto ensinado se este ponto está num canto, por exemplo. O robô irá fazer
uma pequena curva.
Se alta velocidade e alta precisão são necessários, um nível de precisão pode ser utilizado. O
controlador possui cinco níveis de precisão PL=O a PL=4. Estes níveis de precisão forçam o
manipulador a percorrer a distância correta do ponto ensinado.
O nível de posição é uma opção em todos os passos de posição.

SELECIONANDO O NÍVEL DE POSIÇÃO DURANTE A PROGRAMAÇÃO INICIAL

Para selecionar um nível de precisão durante a programação dos passos, siga os seguintes
passos depois de levar o robô para uma posição desejada e escolher o tipo de movimento e a
velocidade na linha do buffer:

1. Com o cursor no => MOV na linha do buffer, pressione SELECT.


2. Leve o cursor até o POS LEVEL "UNUSED"e pressione SELECT.
3. Leve o cursor para o "PL=" e pressione SELECT.
4. Leve o cursor onde está setado o valor "O" e pressione SELECT.
5. Entre com o valor (O, 1, 2, 3 ou 4) na linha de entrada do valor ">Positioning_level=" e
pressione ENTER.
6. Pressione ENTER na tela JOB CONTENT com a linha do buffer.
7. A posição, o tipo de movimento, velocidade e o nível de posição selecionado são
registrados no passo depois de pressionado o ENTER novamente. (Os servo motores
deverão estar ligados.)

ADICIONANDO UM NÍVEL DE POSIÇÃO PARA UM PASSO EXISTENTE

Para adicionar um nível de posição para um passo existente, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH no Painel de Playback.


2. Selecione o JOB CONTENT desejado.
3. Mova o cursor para o lado de Instruções e vá para o passo desejado, onde é
necessário o nível de posição e pressione SELECT.
4. Com o cursor sobre o => MOV na linha do buffer, pressione SELECT. (A tela DETAIL
EDIT aparecerá).
5. Leve o cursor ao POS LEVEL "UNUSED" e pressione SELECT.
6. Leve o cursor ao "PL=" e pressione SELECT.
7. Leve o cursor ao valor padrão e pressione SELECT.
SENAI 33
Robótica

8. Entre com o valor (O, 1, 2, 3 ou 4) na linha de entrada de valor ">Positioning_level=" e


pressionar ENTER.
9. Pressione ENTER na tela JOB CONTENT com a linha do buffer.
10. Pressione ENTER novamente para adicionar o PL em um passo do job.

EXCLUINDO UM NÍVEL DE POSIÇÃO DE UM PASSO EXISTENTE

Para excluir o POS LEVE L, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH no Painel de Playback.


2. Selecione o job desejado.
3. Mova o cursor para o lado de instruções, leve o cursor à linha onde o nível de posição
será excluído e pressione SELECT.
4. Com o cursor sobre o =>MOV na linha do buffer, pressione SELECT. (A tela DETAIL
EDIT aparecerá).
5. Leve o cursor ao POS LEVEL "PL=O" e pressione SELECT.
6. Selecione "UNUSED" com o cursor e pressione SELECT.
7. Pressione ENTER na tela do JOB CONIENT com a linha do buffer.
8. Pressione ENTER novamente no passo modificado no job.

COPY, CUT, PAST, & REVERSE PASTE

As funções de edição de jobs Cut, Copy, Paste & Reverse Paste usam a memória do buffer
como a seguir:

COPY - Copia um especificado grupo de linhas/passos na memória do buffer.

CUT - Recorta um especificado grupo de linhas/passos do job e copia para a memória do


buffer.

PASTE - Insere o conteúdo da memória do buffer no job abaixo do cursor.

REVERSE - Reverte a ordem do conteúdo da memória do buffer e insere no job abaixo do


cursor.

Os valores de Copy e Cut podem ser colados em qualquer job com o mesmo formato, usando
as funções de PASTE e REVERSE.

COPY: Para copiar um especificado grupo de linhas/passos do buffer, siga os seguintes


passos:

1. Se não estiver em modo Teach, pressione TEACH no Painel de Playback.


2. Selecione o job content que contem as linhas a serem copiadas.
3. Mova o cursor para o lado das instruções, depois leve o cursor para a primeira linha do
grupo a ser copiado. Segure o botão SHIFT e pressione SELECT.
4. Se houver mais de uma linha a ser copiada, mova o cursor até a linha final do grupo
desejado. Os números das linhas ficarão realçados.
5. Pressione o botão AREA até o cursor ficar sobre a linha do Menu.
6. Leve o cursor até a opção EDIT e pressione SELECT.
7. Leve o cursor até a opção COPY e pressione SELECT.

34 SENAI
Robótica

CUT: Para recortar (remover/cut) um especificado grupo de linhas/passos de um job para o


buffer, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH no Painel de Playback.


2. Selecione o job content que contenha as linhas a serem recortadas.
3. Mova o cursor para o lado de instruções, depois leve o cursor para a linha inicial do
grupo a ser recortado, segure o botão SHIFT e pressione SELECT.
4. Se houver mais de uma linha a ser recortada, mova o cursor para a linha final do grupo
desejado. Os números das linhas serão realçados.
5. Pressione o botão AREA.
6. Leve o cursor até a opção EDIT e pressione SELECT.
7. Leve o cursor até a opção CUT e pressione SELECT.
8. Leve o cursor ao[YES] na tela do "Delete?" e pressione SELECT.

PASTE: Para colar um especificado grupo de linhas/passos do buffer, siga os seguintes


passos:

1. Se não estiver em modo Teach, Pressione TEACH no Painel de Playback.


2. Selecione o job destinatário.
3. Mova o cursor para o lado de instruções, a informação será colada abaixo do cursor.
4. Pressione o botão AREA.
5. Leve o cursor para a opção EDIT e pressione SELECT.
6. Leve o cursor para PASTE e pressione SELECT.
7. Se o conteúdo estiver correto, Leve o cursor para [YES] na tela do "Paste?" e pressione
SELECT.

COLAR INVERTIDO: Para colar um especificado grupo de linhas/passos invertidos, siga os


seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH no Painel de Playback.


2. Selecione o job destinatário.
3. Mova o cursor para o lado de instruções, a informação será colada abaixo do cursor em
ordem inversa.
4. Pressione o botão AREA.
5. Leve o cursor para a opção EDIT e pressione SELECT.
6. Desça o cursor para a opção REVERSE PASTE e pressione SELECT.
7. Se o conteúdo estiver correto, leve o cursor para o [YES] na tela do "Paste?" e
pressione SELECT.

EDIÇÃO DE LINHA GERAL

A edição de linha geral é usada para modificar dados existentes em alguma linha da mesma
forma que é feita a mudança de tipo de movimento de um passo. Este tipo de edição é todo
feito na linha do buffer, o restante da tela do JOB CONTENT já foi visto.
A edição de linha geral é feita na linha do buffer. Para fazê-lo siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH no Painel de Playback.


2. Mova o cursor para a linha a ser editada no lado de instruções da tela e pressione
SELECT.
3. Desloque o cursor para a direita ou esquerda até selecionar o dado a ser alterado na
linha do buffer.
4. Segure o botão SHIFT e desloque o cursor para cima/baixo para escolher o lugar onde
vai ser efetuada a mudança na linha do buffer.
5. Repita os passos 3 e 4 até aparecerem todas as coisas a serem alteradas na linha do
buffer.
6. Pressione ENTER.

SENAI 35
Robótica

EDIÇÃO DE DETALHES

A tela DETAIL EDlT deve ser acessada para adicionar condições e/ou identificação como o
exemplo "PL=" ou para fazer mudanças no tipo de dado, da mesma forma que é feita a
mudança dos dados.
Para efetuar o DETAIL EDlT, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione o TEACH no Painel de Playback.


2. Mova o cursor para a linha a ser editada no lado de instruções da tela e pressione
SELECT.
3. Com o cursor sobre a instrução inicial, pressione SELECT. A tela do DETAIL EDIT
aparecerá.
4. Usando o cursor e o botão SELECT, faça todas as mudanças desejadas nas opções
disponíveis.
5. Pressione ENTER para confirmar a linha do buffer e retomar a tela do JOB CONTENT .
6. Pressione ENTER para mudar o lugar dentro do job.

NOTA: A edição de detalhes é a única forma de acessar o menu para utilizar o


VR=Angle_speed (Velocidade Angular) mudando o V=Control_point_speed no movimento de
passos MOVL, MOVC ou MOVS. A velocidade em unidades de 1º a 360º por segundo para a
taxa de mudança de ângulo deve ser usada no passo onde o TCP não vai.

CORREÇÃO DE VELOCIDADE/AJUSTES

Existem quatro métodos para mudar as velocidades programadas em modo TEACH no


controlador XRC:

• Lista PLAY SPD (edição de linha geral)


• Valor padrão PLAY SPD (Detail Edit)
• CHANGE SPEED (RELATIVE ou ABSOLUTE)
• TRANSVERSE RUN TIME (TRT)

PLAY SPD (EDIÇÃO DE LINHA GERAL)

Para modificar a velocidade programada para qualquer uma das oito velocidades presentes na
lista de velocidades, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH no Painel de Playback.


2. Mova o cursor para o lado de instruções da tela, depois leve o cursor para o passo
requerido para mudar e pressione SELECT. O cursor aparecerá na linha do buffer,
sobre o MOV .
3. Desloque o cursor para o dado da velocidade a ser mudada.
4. Segure o botão SHIFT enquanto pressionar o cursor para cima para incrementar ou
para baixo para decrementar a velocidade.
5. Pressione ENTER no local do dado na linha do buffer dentro do job.

NOTA: Esta função de correção de velocidade apenas permite você mudar a velocidade de
uma das oito velocidades padrões presentes. Se você quiser uma velocidade diferente de uma
dessas velocidades, use o próximo método.

Para modificar a velocidade programada para as velocidades de um a oito velocidades padrões


presentes, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH no painel de Playback.


2. Mova o cursor para o lado das instruções da tela, depois leve o cursor para o passo a
ser mudado e pressione SELECT. O cursor aparecerá na linha do buffer sobre o MOV.

36 SENAI
Robótica

3. Desloque o cursor para a direita onde se localiza o dado a ser mudado.


4. Pressione SELECT e uma nova linha do buffer aparecerá. Entre com a velocidade junto
com um grupo apropriado.
5. Pressione ENTER sobre o valor na linha de entrada de dado.
6. Pressione ENTER sobre o valor do dado na linha de entrada dentro do job.

ENTRANDO COM UM VALOR ESPECÍFICO DE VELOCIDADE

A tela Detail Edit permite mudar a velocidade programada juntamente com o grupo de tipos de
movimentos programados. O Detail Edit também permite mudar o tipo de velocidade.
Para mudar as velocidades através do Detail Edit, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH no Painel de Playback.


2. Mova o cursor para a linha a ser editada no lado de instruções da tela e pressione
SELECT, o cursor irá para a linha do buffer.
3. O cursor inicialmente ficará sobre a instrução =>MOV, pressione SELECT. A tela do
Detail Edit aparecerá.

NOTA: Existem dois tipos diferentes de velocidade para o MOVL, MOVC e o MOVS (V= ou
VR=). Para mudar para VR=, leve o cursor até o "V=" e pressione SELECT.

4. Leve o cursor até o dado da velocidade a ser mudada, pressione SELECT.


5. Entre com o dado da velocidade desejada com os botões numéricos e pressione
ENTER.

• VJ = Velocidade Joint do MOVJ. [0.01-100.00%]


• V = Controle de velocidade do ponto do MOVL, MOVC e MOVS [1-9000 cm/min
0.1-1500.0 mm/sec; 1-3543 in/min ou 1-90000 mm/min.]
• VR= Velocidade Angular do MOVL, MOVC, MOVS. [1-360 deg/sec]
• VE= velocidade do eixo externo é utilizado para mudar a velocidade de um eixo
externo [0.01-100.00 %]

6. Pressione ENTER para confirmar a linha do buffer e retomar a tela do JOB CONTENT.
7. Pressione ENTER sobre o dado na linha de entrada dentro do job.

MUDANDO A VELOCIDADE

Existem basicamente dois métodos usados para mudar a velocidade futuramente:

• Relativo
• Absoluto

Os dois métodos são importantes para se entender a diferença entre as opções CONFIRM e o
NO CONFIRM na categoria MODIFICATION TYPE.

NO CONFIRM - Se for escolhido a opção NO CONFIRM, e depois selecionar EXEC, todos os


passos serão mudados simultaneamente.

CONFIRM - Se for escolhido a opção CONFIRM, e depois selecionar EXEC, cada passo deve
ser mudado individualmente usando o botão ENTER.

NOTA: A tela CHANGE SPEED está padronizada em NO CONFIRM; RELATIVE 50%.

SENAI 37
Robótica

MUDANÇA DE VELOCIDADE RELATIVA: Selecione RELATIVE no menu CHANGE SPEED


que permite decrementar (1-99%) ou incrementar (101-200%) a porcentagem de todos os tipos
de velocidades programadas existentes em um job. A mudança será feita instantaneamente
após o EXEC quando o NO CONFIRM for setado. Entretanto, se apenas um passo correto for
designado, então selecione CONFIRM. O cursor ficará em seqüência a cada passo apropriado
e a velocidade será alterada pressionando ENTER.
Para mudar a velocidade com a especificação RELA TIVE, siga os seguintes passos:

1. Se não estiver em modo TEACH, pressione Teach.


2. Selecione o JOB CONTENT desejado com o cursor no lado das instruções.
3. Pressione o botão AREA até o cursor ir para a linha do menu.
4. Selecione EDlT.
5. Selecione CHANGE SPEED e pressione SELECT.
6. Selecione SPEED KIND e pressione SELECT.
7. Selecione RELA TIVE e pressione SELECT.
8. Selecione SPEED e pressione SELECT.
9. Entre com a velocidade desejada mudando o valor pelo keypad (1-200%) e pressione
ENTER.
10. Se desejado fazer cada passo individualmente, selecione MODIFICATION TYPE: NO
CONFIRM e pressione SELECT para mudar selecione CONFIRM.
11. Selecione EXEC e pressione SELECT.
12. Quando o NO CONFIRM já está selecionado, todas as velocidades do job serão
alteradas.

MUDANÇA DE VELOCIDADE EM UNIDADES ABSOLUTAS: O menu CHANGE SPEED


também permite selecionar um tipo de velocidade (VJ=, V=, VR= E VE=) e entrar com um dado
específico.
Para mudar uma velocidade com um tipo especifico de velocidade e dado, siga os seguintes
passos:

1. Se não estiver em modo Teach, pressione TEACH.


2. Selecione o JOB CONTENT desejado com o cursor no lado das instruções.
3. Pressione o botão AREA.
4. Leve o cursor até o EDIT e pressione SELECT.
5. Selecione o CHANGE SPEED, pressione SELECT.
6. Leve o cursor até o SPEED KIND; pressione SELECT.
7. Leve o cursor ao tipo de velocidade desejado (VJ=, V=, VR= ou VE=) e pressione
SELECT.
8. Leve o cursor até a velocidade e pressione SELECT.
9. Leve o cursor até o dado e entre com o dado desejado no painel numérico; pressione
ENTER.
10. Se você desejar fazer cada passo individualmente, leve o cursor até o MODIFICATION
TYPE: NO CONFIRM e pressione SELECT para mudar isto para CONFIRM.
11. Selecione o EXEC, pressione SELECT.
12. Quando confirmado, o cursor pára no passo do tipo de velocidade selecionado.
Pressione ENTER aplicando a mudança da velocidade, pressione o cursor para baixo
mantendo a velocidade do passo e o cursor vai para o próximo passo igual ao tipo de
velocidade.

TRANSVERSE RUN TIME

O Transverse Run Time (TRT) permite você fazer com que a tarefa do manipulador seja
cumprida em um intervalo de tempo especificado. A função do TRT é calcular e reler as
velocidades para alcançar o tempo desejado em um ciclo.
O job selecionado deverá ser executado para estabelecer o tempo de movimentação existente
de modo que possa ser feita uma análise do tempo requisitado.
Para usar o TRT, siga os seguintes passos:

38 SENAI
Robótica

1. Se não estiver em modo TEACH, pressione TEACH.


2. Mova o cursor para a primeira linha do grupo medido no lado de instruções da tela.
3. Seguro SHIFT e pressione SELECT.
4. Leve o cursor para baixo selecionando todos os endereços de linhas a ser medido.

NOTA: As instruções CALL e JUMP não são permitidas no grupo medido.

5. Pressione o botão AREA.


6. Selecione o EDIT e pressione SELECT.
7. Selecione o TRT e pressione SELECT.
8. Selecione SETTING TIME e pressione SELECT.
9. Entre com o tempo desejado em segundos no teclado numérico e pressione ENTER.
10. Leve o cursor ao EXEC e pressione SELECT. O tempo de movimentação será
mostrado de acordo com a mudança.

NOTA: Se o TRT desejado não alcançar na primeira execução, pressione SELECT novamente,
até alcançar os resultados desejados.

11. Ao terminar o TRT, leve o cursor ao Cancel e pressione SELECT para retomar a tela do
JOB CONTENT.

NOTA: Se algumas das velocidades do grupo medido for um valor máximo ou mínimo, a
mensagem "!Limited to maximum speed" ou "!Limited to minimun speed" aparecerá.

TEMPO DE UM CICLO

A tela CYCLE TIME mostra o PLAYBACK TIME (a quantidade de tempo desde que o botão
START foi apertado da última vez), e o tempo de movimentação do manipulador para todas as
posições executadas desde o último START.
Para acessar o tempo mostrado, siga os seguintes passos:

1. Se não estiver em modo Play, pressione PLAY.


2. Pressione o botão AREA.
3. Pressione SELECT em DISPLAY.
4. Pressione SELECT em CYCLE TIME. Um "√" (checar posições) aparecerá abaixo
indicando que a tela agora irá mostrar o tempo de ciclo quando estiver em modo Play.

Para remover a tela CYCLE TIME, repita os passos do um até o quatro.

NOTA: Se o job estiver rodando em ciclo automático, a tela de tempo do ciclo irá mostrar um
dado tempo acumulado. Para determinar o tempo para apenas um ciclo, rode o job do NOP até
o END em modo 1-Cycle.

MODOS ESPECIAIS DE PLAYBACK

Os modos especiais de Playback, os quais estão listados abaixo, permitem que os programas
rodem em baixa velocidade, executando ou não instruções de ferramentas, e com ou sem
movimento do manipulador. São eles:

• Low Speed Start


• Speed Limit
• Dry-Run Speed
• Check-Run
• Machine Lock

SENAI 39
Robótica

LOW SPEED START

O Low Speed Start move o manipulador a uma velocidade constante de 10% da velocidade
máxima, sem a execução de instrução de ferramenta. Caso ocorra uma instrução de
ferramenta, o robô pára e fica aguardando um novo START. Este modo pode ser usado para
recuperar uma parada de emergência E-Stop.

NOTA: O Programming Pendant mostra "!SLOW SPEED mode" na área de mensagem


enquanto está em rodando em modo Low Speed.

Para ligar ou desligar o low speed na tela do job content, siga os seguintes passos:

1. Se não estiver em modo Play, Pressione PLAY.


2. Pressione o botão AREA.
3. Pressione SELECT sobre o UTILITY.
4. Pressione SELECT sobre o SETUP SPECIAL RUN.
5. Pressione SELECT sobre o LOW SPEED START. A tela entrará em um item que
mudará para VALID.
6. Pressione SELECT sobre o COMPLETE para retornar ao JOB CONTENT com o modo
habilitado.

NOTA: Depois do manipulador terminar o ciclo, pressione START novamente para continuar o
playback normal. O LOW SPEED START é automaticamente “resetado” quando desligado.

LIMITE DE VELOCIDADE

O modo Speed Limit limita a velocidade do manipulador para não mais que 25% da velocidade
máxima e as instruções de ferramentas são executadas. Este modo pode ser usado, por
exemplo, no teste de novos jobs cujos passos programados a 100% serão executados a uma
velocidade segura de 25%. O modo Speed Limit não é recomendado para testar jobs onde a
instrução de ferramenta envolve velocidades programadas excedentes a 25%, pois isto afetará
o processo (resultados inferiores e possíveis riscos).

Para ligar ou desligar o Speed Limit na tela do Job Content, siga os seguintes passos:

1. Se não estiver em modo Play, Pressione PLA Y .


2. Pressione AREA.
3. Pressione SELECT sobre o UTILITY.
4. Pressione SELECT sobre o SETUP SPECIAL RUN.
5. Pressione SELECT sobre o SPEED LIMIT. Na tela aparecerá um item a ser mudado
para VALID.
6. Pressione SELECT sobre o COMPLETE para retornar ao JOB CONTENT com o modo
selecionado habilitado.

NOTA: O Programming Pendant mostrará "!Speed Limit mode" na área da linha de mensagem
enquanto o modo Safety Speed opera.

DRY -RUN SPEED

No modo Dry-Run o manipulador percorre todos os passos a uma velocidade constante de 10%
da velocidade máxima e as instruções de ferramentas não são executadas. Este modo é mais
utilizado para verificar o tipo de movimento através dos caminhos e dos pontos programados.

Para ligar ou desligar a velocidade Dry-Run na tela do Job Content, siga os seguintes passos:

1. Se não estiver em modo Play, Pressione PLA Y.


2. Pressione AREA.
3. Pressione SELECT sobre o UTILITY.

40 SENAI
Robótica

4. Pressione SELECT sobre o SETUP SPECIAL RUN.


5. Pressione SELECT sobre o DRY-RUN. Na tela aparecerá um item a ser mudado para
VALID.
6. Pressione SELECT sobre o COMPLETE para retomar para o JOB CONTENT com o
modo selecionado habilitado.

NOTA: O Programming Pendant mostrará "!DRY-RUN mode" na área da linha de


mensagem enquanto está em modo Dry-Run.

CHECK-RUN

O modo Check-Run roda o programa na velocidade programada, porém sem execução de


instruções de ferramenta. Isto é usado primeiramente para checar as trajetórias programadas e
as velocidades programadas. E freqüentemente usado em conjunto com o Speed Limit Mode.
Para ligar ou desligar o check speed na tela do Job Content, siga os seguintes passos:

1. Se não estiver em modo Play, pressione PLAY.


2. Pressione o botão AREA.
3. Pressione SELECT sobre o UTILITY.
4. Pressione SELECT sobre o SETUP SPECIAL RUN.
5. Pressione SELECT sobre o CHECK. Na tela aparecerá um item a ser mudado para
VALID.
6. Pressione SELECT sobre o COMPLETE para retornar ao JOB CONTENT com o modo
selecionado habilitado.

NOTA: O Programming Pendant mostrará "!Check mode" na área da linha de mensagem


durante o modo Check.

MÁQUINA NÃO HABILITADA

O modo Machine Lock permite o controlador executar um job na velocidade programada, não
executa instruções de ferramenta e o manipulador não se move. O Machine Lock é tipicamente
usado para checar a comunicação entre o controlador e os dispositivos externos.

Para ligar ou desligar o machine lock, siga os seguintes passos:

1. Se não estiver em modo Play, pressione PLAY.


2. Pressione o botão AREA.
3. Pressione SELECT sobre UTILITY.
4. Pressione SELECT sobre o SETUP SPECIAL RUN.
5. Pressione SELECT sobre o MACHINE LOCK. Na tela aparecerá um item para mudar
para VALID.
6. Pressione SELECT sobre o COMPLETE para retomar ao JOB CONTENT com o modo
selecionado habilitado.

NOTA: O Programming Pendant mostrará "!Machine Lock mode" na área da linha de


mensagem enquanto estiver em modo machine lock.

DESLIGANDO TODOS OS MODOS ESPECIAIS DE PLAYBACK

Todos os cinco modos são selecionados (isto é, pressione SELECT para ligar; Pressione
SELECT novamente para desligar). Se dois ou mais destes modos especiais estiverem ligados
ao mesmo tempo, o controlador usa a velocidade mais lenta e sem ferramenta.

NOTA: Todos os modos especiais de playback inicialmente estão desligados, quando o


controlador é desligado, e depois ligado.

SENAI 41
Robótica

Para desativar todos os modos especiais siga os seguintes passos:

1. Se não estiver em modo Play, pressione PLAY.


2. Pressione AREA.
3. Pressione SELECT sobre o UTILITY.
4. Pressione SELECT sobre o SETUP SPECIAL RUN.
5. Pressione SELECT sobre o modo para desabilitar. Na tela aparecerá um item a ser
alterado para INVALID.
6. Pressione SELECT sobre o COMPLETE para retornar ao JOB CONTENT com o modo
selecionado desabilitado.

42 SENAI
Robótica

Calibração de ferramenta

A calibração de ferramenta é uma prática necessária devido o sistema de controle do robô.


Quando as partes do robô são fabricadas e montadas, é realizada uma calibração, ajustando-se
as partes móveis a um único sistema de referência, garantindo movimentos referenciados. Este
ajuste é concebido de tal forma que definirá as características funcionais do equipamento, tais
como resolução, precisão, etc.

O ponto para onde o robô deverá ser deslocador estará referenciado no centro geométrico da
flange do robô e qualquer tipo de movimento que se exija estará sendo desenvolvido em função
deste ponto.

Quando empregamos um robô em um processo qualquer, é necessária a definição e montagem


de um órgão terminal (garra, por exemplo). Porém, a calibração original está levando em
consideração a referência da flange e, se não ajustarmos a calibração inicial do robô para a
calibração da ferramenta montada na flange, não teremos o movimento referenciado à esta
ferramenta.

Z
Y

O processo de calibração de ferramenta é conhecido como “TCP” (Tool Center Point - ponto
central da ferramenta), que é de onde se obtém o ponto que será tomado como referência para
os movimentos da ferramenta, permitindo a obtenção das características de precisão,
resolução, etc, no percurso de movimento do robô.

Neste procedimento, observa-se que os fabricantes utilizam processos diferenciados para a


obtenção da calibração e para integração do procedimento irá gerar o banco de dados da
ferramenta com as características geométricas, tais como: dimensão em relação a cada eixo de
coordenada X,Y, Z (indicando o tamanho) e orientação em relação a cada eixo de rotação da
coordenada X, Y, Z (indicado o posicionamento). Podemos concluir que, para cada ferramenta
utilizada será criado um arquivo com os dados que serão gerados na calibração da mesma,
quando se executa o processo de definição do TCP.

A calibração de forma genérica necessita de um ponto específico e fixo no espaço dentro da


área de alcance do robô, para se ter como referência e a partir do qual serão executados os
movimentos do robô com a ferramenta fixada na flange. São feitas diferentes gravações no
ponto, cujo número de vezes de gravações depende da concepção de cada fabricante, sempre
posicionando o robô de forma diferente. O número de pontos gravados permite a obtenção das
dimensões da ferramenta fixada através de um algoritmo que expressará o resultado que define
o ponto médio dos pontos gravados no espaço de referência X, Y, Z.

Alguns fabricantes introduzem neste processo as gravações de pontos que indicam o sentido
de referência da ferramenta, como por exemplo o eixo Z.

SENAI 43
Robótica

Para que o manipulador possa executar operação de interpolação, como interpolação linear e
interpolação circular corretamente, a informação de precisão dimensional na ferramenta, de
tochas e pistolas, deve ser registrada e a posição do ponto central da ferramenta (TCP), será
definido. A calibração da ferramenta é uma função que permite obter esta informação
dimensional fácil e precisamente.

Quando esta função é usada, o ponto central da ferramenta (TCP) é automaticamente


calculado e registrado no arquivo da ferramenta. O que é registrado na calibração de fábrica é a
coordenada do ponto central do sistema de coordenada da flange.

Para executar a calibração da ferramenta, cinco diferentes posições (TC1 – TC5) devem ser
ensinadas, tendo o ponto central da ferramenta como referência. A dimensão da ferramenta é
automaticamente calculada com base nesses cinco pontos.

1. Executando calibração de ferramenta manualmente

A definição manual do TCP é tipicamente usada para modificar os valores de RX, RY e RZ,
em graus, após ter sido feita a determinação dos valores de X, Y e Z, em milímetros, da
ferramenta.

Para isso suga as seguintes instruções:

a) Ative o modo TEACH


b) Pressione TOP MENU e selecione a opção ROBOT
c) Selecione a opção TOOL
d) Mova o cursor para o primeiro campo de dimensão a ser modificado e aperte SELECT

44 SENAI
Robótica

e) Digite a dimensão/ângulo da ferramenta, referenciando-se na flange do robô e aperte


ENTER
f) Repita os passos de 4 a 6 para cada dimensão a ser modificada.

Para verificar se os ajustes foram realizados com sucesso, utilize os botões RX, RY e RZ nas
coordenadas WLD ou TOOL para rotacionar a ferramenta em torno seu TCP.

g) Registrando valores das coordenadas

Quando usamos entrada numérica para registrar arquivo ferramenta, o (TCP) é registrado
como valor de coordenada para cada eixo em função da coordenada da flange.

O valor a ser registrado das coordenadas das ferramentas A, B ou C para cada eixo deve
ser feito conforme a figura abaixo.

SENAI 45
Robótica

2. Definição Automática do TCP

A definição automática do TCP calibra as dimensões X, Y e Z (deslocados, em milímetros, a


partir do flange do punho do eixo T) para o arquivo TOOL. As orientações em graus devem ser
inseridas manualmente. A direção Z+ deverá operar na direção da aplicação.

Para definir ou entrar manualmente os valores do TCP, siga os seguintes passos:

1. Determine um ponto fixo em um dispositivo. Tenha certeza que este ponto não pode
ser deslocado.
2. Pressione TEACH, caso ainda não esteja neste modo.
3. Pressione TOP MENU, mova o cursor para ROBOT e pressione SELECT.
4. Selecione TOOL e pressione SELECT.
5. Pressione AREA KEY, selecione a opção UTILITY e pressione SELECT.
6. Mova o cursor para CALIBRATION e pressione SELECT.

NOTA: Para apagar uma calibração existente, pressione AREA KEY, selecione DATA e
pressione SELECT. Com o cursor em CLEAR DATA, pressione SELECT. Selecione YES e
pressione SELECT.

7. Pressione TEACH LOCK e ligue os motores. Escolha uma coordenada sem ser TOOL.
8. Se o TC1 não estiver selecionado, pressione SELECT, selecione TC1 e pressione
SELECT novamente.
9. Mova o robô para o ponto fixo até a ponta da ferramenta chegar exatamente no ponto e
então pressione MODIFY e ENTER.

Com isso, o primeiro ponto (TC1) já se encontra gravado.

10. Repita os passos 8 e 9, até gravar todos os outros pontos, até o quinto ponto.
11. Após gravar o último ponto, mova o cursor para COMPLETE e pressione SELECT.

O cálculos é automaticamente refeito e na tela TOOL irá aparecer com as novas dimensões
para X, Y e Z da ferramenta utilizada no processo de definição do TCP.

12. Se necessário, mova o cursor para o lado direito da tela para inserir os valores dos
ângulos manualmente.

Para testar a definição do novo TCP, utilize os botões de rotação Rx, Ry e Rz nas coordenadas
WLD ou TOOL, para rotacionar a ferramenta em torno do TCP, sem move-lo. Cheque também
as direções de X, Y e Z operando em coordenada TOOL. A direção Z+ deverá operar na
direção da aplicação.

46 SENAI
Robótica

Instruções de controle

Neste capítulo serão apresentadas as instruções de controle disponíveis no controlador Yasnac


e que são comuns tanto para o robô SV3X como UP6.

INFORM LIST

A Inform List é uma tabela que contém todas as instruções não relacionadas com
movimentação. Estas instruções são utilizadas para executar seqüências de operações de
controle, realizar funções aritméticas, analisar I/O (entradas e saídas) e controlar ferramentas.

UTILIZANDO A INFORM LIST

A Inform List possui uma tecla própria no Teach Pendant. Ao pressiona-la, uma janela abrirá
permitindo selecionar um dos grupos de funções. Esses grupos são:

• IN / OUT
• CONTROL
• DEVICE
• MOTION
• ARITH
• SHIFT

Pressionando o SELECT sobre um dos grupos, uma nova janela será disponibilizada contendo
as instruções específicas do grupo escolhido.
Para retornar à Inform List, pressione o SELECT sobre os dois pontos que aparecem no início
da lista ( . . ). Para sair da INFORM LIST pressione a tecla correspondente novamente.

INSTRUÇÕES DE CONTROLE

CALL

A instrução CALL permite que um job abra outro como se fosse uma sub-rotina. O job faz a
chamada tomando como referência o job pai. O job pai (Master Job) chama o job filho.

LIGANDO JOBS: Os jobs podem ser ligados simplesmente criando um job pai com uma
instrução CALL em alguma parte do programa direcionada para um job filho desejado em
ordem de execução. Observe os jobs filhos ligados em seqüência no job pai:

SENAI 47
Robótica

NOTA: O controlador XRC automaticamente retoma para a próxima linha de execução do job
pai depois do final (END) do job filho. O job chamado pode ser um job de movimento. Neste
caso você deve ter o cuidado de garantir que limpou o trajeto para a execução do job filho. Os
botões FWD e BWD não executam a instrução CALL. Isto pode ser feito apenas no modo
TEACH usando o Test Start para confirmação do trajeto enquanto estiver em Step Cycle ou
usando a função Direct Open.

JOBS LIGADOS

A instrução CALL pode ser usada em um job filho para chamar outro job filho. Neste caso, o
primeiro job filho torna-se o job pai do próximo. Isto pode ser fieto com até oito níveis de jobs
interligados.
Observe os jobs filhos ligados no job pai correspondente:

NOTA: No final de cada job filho o controlador automaticamente retornará na próxima linha de
instruções do job pai que o chamou. O alarme 4443 aparecerá quando mais de 8 (JOB CALL)
níveis ocorrer. Para mostrar o JOB STACK em modo PLAY, pressione o botão AREA para
mover o cursor para a linha do menu, mova o cursor para o DISPLAY, pressione SELECT.
Pressione SELECT sobre o <JOB STACK>. O " √ " aparecerá indicando que o JOB STACK

48 SENAI
Robótica

aparecerá na tela, quando em modo PLAY. Para remover o STACK, repita os passos aqui
descritos.

Para programar a instrução CALL no job pai, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH.


2. Mova o cursor para o lado de endereçamento da tela na linha onde o call será usado.
3. Pressione o botão INFORM LIST

A INFORM LIST aparecerá em uma coluna da direita, este botão não é ativado em modo de
edição.

4. Pressione SELECT sobre o CONTROL .


5. Pressione SELECT sobre o CALL.
6. O texto "CALL JOB:" aparecerá na linha do buffer; pressione SELECT sobre o job name
7. Pressione SELECT sobre o job a ser chamado na lista de jobs. A linha do buffer
mostrará as instruções.

NOTA: Quando você insere qualquer instrução entre linhas existentes (não apenas da instrução
END) o botão INSERT deve estar ligado pressionando-o e ao final pressione ENTER na linha
do buffer no job. Para modificar a instrução já existente na linha do buffer, o botão MODIFY
precisa estar ligado.

8. Pressione (INSERT?/MODIFY?) ENTER para inserir uma instrução no job.

RET (RETORNO)

A instrução RET (Returno) é usada para o controlador fechar o job filho e retornar ao job pai. O
RET da a opção de se usar apenas uma parte do job filho.

PARENT CHILD
JOB:ABC JOB:123

LINE INSTRUCTION L1NE INSTRUCTION


0000 NOP 0000 NOP
0001 MOVJ VJ=50.00 0001 MOVL V=276
0002 MOVJ VJ=6.25 0002 MOVL V=276
0003 CALL JOB:123 0003 RET
0004 MOVJ VJ=25.00 0004 MOVL V=276
0005 MOVJ VJ=100.00 0005 MOVL V=276
0006 END 0006 END

NOTA: Lembre-se de ter certeza de limpar o trajeto ao final do job filho.

Para programar a instrução RET no job filho, siga os seguintes passos:

1. Se não estiver em modo Teach, Pressione TEACH.


2. Mova o cursor até o lado de endereçamento da tela.
3. Pressione o botão INFORM LIST
4. Pressione SELECT sobre o CONTROL na lista.
5. Pressione SELECT sobre o RET na lista.
6. Pressione (INSERT?/MODIFY?) ENTER.

NOTA: Se o job filho é executado independentemente (sem ser chamado pelo job pai) e tentar
executar a instrução RET, o alarme 4440 ocorrerá indicando UNDEFINED RETURN JOB.

SENAI 49
Robótica

DIRECT OPEN

A função Direct Open permite visualizar as informações relatadas. Pressione o botão DIRECT
OPEN enquanto o cursor está na instrução CALL e ele abrirá o job filho designado.
Pressionando o botão DIRECT OPEN enquanto o cursor está em um passo de movimentação,
ele mostrará a tela do Command Position.
A figura abaixo mostra o botão DIRECT OPEN. Esta função apenas mostra um nível abaixo do
nível original.

JUMP

A instrução JUMP é a mesma função de "Go To" em linguagem C, por exemplo. Isto instrui o
controlador a ir para um outro local no mesmo job (é usado depois de definir o Label). Isto
também pode instruir o controlador a ir para um outro job. Isto não é considerado normal em
situações de programação básica. O controlador não irá retornar ao job original quando saltar
para um outro job com a função JUMP.

EXECUTANDO UMA INSTRUÇÃO JUMP PARA UM LABEL NO JOB

A instrução JUMP pode ser usada para avançar ou retroceder para um especificado Label no
job. Depois da execução da instrução JUMP para o Label, o cursor continuará a partir do label.
No job abaixo, o controlador executará o programa do L:0004 para L:0008 sem executar as
linha 0005, 0006 e 0007.

0003 MOVJ VJ=25.00


0004 JUMP *1
0005 MOVC V=150
0006 MOVC V=150
0007 MOVC V=150
0008 *1
0009 MOVLV=150
0010 MOVJ VJ=25.00

Para programar a instrução JUMP, siga os seguintes passo:

1. Se não estiver em modo Teach, pressione TEACH.


2. Mova o curso r para o lado de instruções na linha onde o comando JUMP será inserido.
3. Pressione INFORM LIST.
4. Pressione SELECT sobre o CONTROL na lista.
5. Pressione SELECT sobre o JUMP na lista.
6. "JUMP" aparecerá na linha do buffer. Leve o cursor ao LABEL e pressione SELECT.

NOTA: A definição do LABEL é automática e precedida por um asterisco (*). O Label pode
conter no máximo 8 caracteres e pode ser definido com letras, números, símbolos ou qualquer
combinação destes. Use o underscore "_"para espaço, se for precIso.

7. Pressione Cancel para limpar a linha do buffer, depois selecione o caracter desejado.
Quando terminar, pressione ENTER.
8. Pressione (INSERT?/MODIFY?) ENTER para inserir a instrução nojob.

50 SENAI
Robótica

LABEL

Depois da instrução Jump entre com o Label. O label precisa ser definido no programa. O Label
é o indicador para onde o controlador deve levar o cursor. Quando programado, um asterisco
automaticamente aparecerá antes do Label. O Label precisa ser exatamente o mesmo Label
especificado na instrução Jump.
Para programar o Label no job, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH.


2. 2. Mova o cursor para o lado de endereços da tela.
3. 3. Pressione o botão INFORM LIST.
4. Pressione SELECT sobre o CONTROL na lista.
5. Pressione SELECT sobre o LABEL na lista.
6. Um asterisco (*) aparecerá na linha do buffer. Pressione SELECT sobre o LABEL.
7. Pressione CANCEL para limpar a linha do buffer, depois selecione os caracteres
desejados. Ao final pressione ENTER.
8. Pressione (INSERT?/MODIFY?) ENTER no lugar do Label no job.

COMENTÁRIO

Comentários são anotações do programador / operador. Ele não afeta a operação do job.
Comentários são precedidos de apóstrofe e são limitadas por 32 caracteres por a linha.
Para introduzir um comentário no job, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH.


2. Mova o cursor Para o lado dos endereços da tela na linha onde você vai introduzir o
comentário.
3. Pressione o botão INFORM LIST.
4. Pressione SELECT sobre o CONTROL na lista.
5. Pressione SELECT sobre o COMMENT na lista.
6. Um apostrofe aparecerá na linha do bufIer. Pressione SELECT sobre COMMENT.
7. Pressione CANCEL para limpar a linha do bufIer, depois selecione os caracteres
desejados. Ao final pressione ENTER.
8. Pressione (INSERT?/MODIFY?) ENTER para inserir o comentário no job.

TIMER (TEMPORIZADOR)

Esta função causa uma parada do manipulador na posição corrente por um período de tempo
definido pelo usuário. Tempos são utilizados quando o manipulador precisa de um atraso de
tempo (Estabelecimento de arco, tempo para pegar alguma peça e etc.). A função TIMER
segue uma faixa de 0.01 até 655.35 segundos.
Para programar uma instrução de tempo, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH.


2. Mova o cursor para o lado de endereços da tela, na linha que vai ser introduzida a
instrução TIMER.
3. Pressione o botão INFORM LIST.
4. Pressione SELECT sobre o CONTROL na lista.
5. Pressione SELECT sobre o TIMER na lista.
6. Pressione SELECT sobre o dado.
7. Entre com o valor de tempo requerido e pressione ENTER.
8. Pressione (INSERT?/MODIFY?) ENTER para inserir o TIMER no job.

SENAI 51
Robótica

PAUSE

Esta função causa a parada da execução de um job. O led START desliga e o manipulador se
mantém na posição. As instruções PAUSE são utilizadas sempre que um HOLD programado é
necessário. Para continuar o job, pressione o botão START.
Para programar a instrução PAUSE, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH.


2. Mova o cursor para o lado de endereços da tela, na linha onde será introduzida a
instrução PAUSE.
3. Pressione o botão INFORM LIST.
4. Pressione SELECT sobre o CONTROL na lista.
5. Pressione SELECT sobre o PAUSE na lista.
6. Pressione (INSERT?/MODIFY?) ENTER para inserir o PAUSE no job.

52 SENAI
Robótica

Variáveis aritméticas e
instruções
A linguagem do INFORM LIST suporta quatro diferentes tipos de variáveis, são eles: Integer
(Inteira), Double Precision Integer (Inteira com Precisão Dupla), Real e Byte. A tabela 15-1
descreve os atributos e também o tipo de variável.

VARIÁVEIS ARITMÉTICAS

Tipo Endereços Faixa Aplicação


Integer I000 – I099 -32768 a 32767 Contagem
Double Precision D000 – D099 -2147483648 a 2147483648 Distância em microns
Real R000 – R099 ± 3,400000x1038 Cálculos Aritméticos
(mínimo e máximo) Precisos (DIV, SQRT,
± 9,999999x10-38 SIN, COS, etc)
(valores entre –1 e 1)
Byte B000 – B099 0 a 255 Comunicações de I/O

MOSTRANDO AS VARIÁVEIS

Para ver o conteúdo de um valor armazenado em uma variável, independente do modo TEACH
ou PLAY, siga os seguintes passos:

1. Pressione TOP MENU e pressione SELECT sobre o ícone V ARIABLE.


2. Pressione SELECT sobre o tipo de variável (INTEGER, DOUBLE PRECISION, REAL
ou BYTE).
3. Utilize o cursor para localizar a variável de endereço apropriada ou pressione SELECT
na variável número, entre com o número utilizando o teclado e pressione SELECT, ou
ainda, procure utilizando o search:

3.1. Pressione o botão AREA, pressione SELECT sobre o EDIT.


3.2. Pressione SELECT sobre o SEARCH.
3.3. Entre com a variável de endereço desejada e pressione ENTER

EDIÇÃO DAS VARIÁVEIS

Todos os valores podem ser modificados manualmente como a seguir:

1. Encontre a variável de endereço desejada como é descrito na seção anterior.


2. Pressione SELECT sobre o VALUE (conteúdo da variável de endereço).
3. Entre com o valor desejado através do teclado numérico e pressione SELECT.

SENAI 53
Robótica

INSTRUÇÕES ARITMÉTICAS

Função Formato Exemplo Resultado


INC Adiciona 1 no INC B<endereço> INC B023 Se o conteúdo é 6,
conteúdo do INC I<endereço> INC I023 após o INC passa a
endereço INC D<endereço> INC D023 ser 7
especificado
DEC Subtrai 1 do DEC B<endereço> DEC B045 Se o conteúdo é 5,
conteúdo do DEC I<endereço> DEC I045 após o INC passa a
endereço DEC D<endereço> DEC D045 ser 4
especificado
SET Faz Dado 1 igual SET <Dado1><Dado2> SET I012 3 O Dado1 armazena o
a Dado 2 valor 3
CLEAR Limpa o conteúdo CLEAR <endereço> CLEAR I006 4 Limpa o conetúdo de
de uma faixa de CLEAR <endereço> CLEAR I006 ALL I006, 7, 8 e 9 ou até o
endereços 39
especificados

NOTA: Todas as instruções aritméticas são acessadas pelo INFORM LIST.

INC (INCREMENTAR)

A instrução INC aumenta o valor armazenado em uma variável de um. Por exemplo, se o
endereço 1013 tem o valor 6, depois da instrução INC 1013, ele terá o valor 7.
A instrução INC pode ser usada primeiramente para contar. Por exemplo, a instrução INC pode
ser usada, se necessário, para contar o número de vezes de um job que está rodando, o que
pode significar a quantidade total de peças feitas. Entre com a instrução INC no final do job,
como é mostrado abaixo:

0003 MOVJ VJ=25.00


0004 MOVJ VJ=100.00
0005 INCI012
0006 END

A instrução aritmética INC é apenas usado com as variáveis B, I e D. Se o comando INC


guardar um valor que exceda o seu máximo, ocorrerá um ALARM: 4446 OVER VARIABLE
LIMIT, parando a execução do job na linha de instrução. Para continuar, pressione SELECT
(Para “resetar” o alarme) e faça as mudanças necessárias para prevenir um futuro alarme.
Para programar a instrução INC em um job, siga os seguintes passos:

1. Senão estiver em modo Teach, Pressione TEACH.


2. Mova o cursor para o lado de endereços da tela.
3. Pressione o botão INFORM LIST.
4. Pressione SELECT sobre o ARITHMETIC na lista.
5. Pressione SELECT sobre o INC na lista.
6. Pressione SELECT sobre o INC na linha do buffer. A tela de detalhes aparecerá.
7. Pressione SELECT sobre o RESULT (TOKEN) para [>>].
8. Pressione SELECT sobre uma variável apropriada do tipo B, I ou D.
9. Pressione SELECT no lado dos endereços, depois entre com o endereço (O a 99)
usando o teclado numérico e pressione ENTER.
10. Pressione Enter para inserir a instrução no job.

54 SENAI
Robótica

DEC (DECREMENTAR)

A instrução DEC decrementa valores armazenados em uma variável de um. Por exemplo, Se o
endereço 1022 tem o valor 11, após a execução da instrução DEC 1022 o valor será 10. A
instrução DEC pode ser usada em aplicações que precisam alcançar uma produção pré-
estabelecida. A variável é escolhida para armazenar um número requerido de peças que
necessitam ser feitas. A variável deve decrementar (DEC) a cada peça completada. Para
melhores resultados, mude a contagem apenas depois que o job foi completado. Entre com a
instrução DEC ao final do job, como é mostrado abaixo:

0003 MOVJ VJ=25.00


0004 MOVJ VJ=1 00.00
0005 DE C 1022
0006 END

A instrução DEC pode ser usada apenas com variáveis do tipo B, I ou D. Se a instrução DEC
armazenar um valor que exceda um valor mínimo ou máximo dom seu limite, irá ocorrer o
ALARME: 4446 OVER VARIABLE LIMIT, parando a execução do job na linha de instrução.
Para continuar, pressione SELECT (para resetar o alarme) e faça as mudanças necessárias
para prevenir futuros alarmes.
Para programar a instrução no job, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH.


2. Mova o cursor para o lado de endereços da tela.
3. Pressione o botão INFORM LIST.
4. Pressione SELECT sobre o ARITHMET1C na lista.
5. Pressione SELECT sobre o DEC na lista.
6. Com o cursor sobre o DEC na linha do buffer, pressione SELECT. A tela DETAIL EDIT
aparecerá.
7. Pressione SELECT no RESUL T (TOKEN).
8. Pressione SELECT sobre uma variável apropriado do tipo B, I ou D.
9. Pressione SELECT sobre o endereço, entre com o endereço (O até 99) usando o
teclado numérico e pressione ENTER.
10. Pressione ENTER para inserir a instrução no job.

SET

A instrução SET coloca um valor específico em uma variável de endereço específica. Isto
permite você colocar um valor automaticamente em uma variável.
Na linha 0006 do job abaixo, o SET é usado para carregar o conteúdo da variável 1015 com o
valor zero.

0004 MOVJ VJ=25.00


0005 MOVJ VJ=50.00
0006 SET 1015 O
0007 END

Para programar a instrução SET no job, siga os seguintes passos:

1. Se não estiver em modo Teach, pressione TEACH.


2. Mova o cursor para o lado de endereços da tela.
3. Pressione o botão INFORM LIST.
4. Pressione SELECT sobre o ARITHMETIC na lista.
5. Pressione SELECT sobre o SET na lista.
6. Com o cursor sobre o SET na linha do buffer pressione SELECT. A tela DETAIL EDlT
aparecerá.
7. Pressione SELECT sobre o DESTINATION.
8. Pressione SELECT sobre uma variável apropriada do tipo B, I ou D.

SENAI 55
Robótica

9. Pressione SELECT sobre o endereço, depois entre com endereço (O até 99) usando o
teclado numérico e pressione ENTER.
10. Pressione SELECT sobre o SOURCE, entre com um valor através do teclado numérico
e pressione ENTER.
11. Pressione ENTER para armazenar na linha do buffer e retornar ao JOB CONTENT.
12. Pressione ENTER para inserir a instrução no JOB.

NOTA: Como todas as variáveis aritméticas de endereço são globais, temos que ter o cuidado
ao utilizar o comando SET para ter certeza de que cada job use um valor inicial apropriado.

CLEAR

A instrução CLEAR permite zerar um dado de uma variável. Esta instrução apagará o dado de
uma pasta ou de um grupo de pastas. Com a instrução CLEAR, o endereço inicial e o número
do grupo de endereços a ser definido devem ser especificados. No exemplo abaixo, a instrução
CLEAR 1007 4 apagará os dados dos endereços 1007, 1008, 1009 e 1010 (quatro endereços
começando pelo 1007). Podemos selecionar ALL no lugar do número, zerando todas as
variáveis de endereços, desde o endereço que você especificou até o último. Por exemplo, o
CLEAR 1007 ALL apagará os dados de todos os endereços desde o 1007 até 1039.

0004 MOVJ VJ=25.00


0005 MOVJ VJ=50.00
0006 CLEAR 1007 4
0007 END

Para programar a instrução CLEAR no job, siga os seguintes passos.

1. Se não estiver em modo Teach, pressione TEACH.


2. Mova o cursor para o lado de endereços da tela.
3. Pressione o botão INFORM LIST.
4. Pressione SELECT sobre o ARITHMETIC na lista.
5. Pressione SELECT sobre o CLEAR na lista.
6. Com o cursor sobre o CLEAR na linha do buffer, pressione SELECT. A tela DETAIL
EDIT aparecerá.
7. Pressione SELECT sobre a linha do TARGET.
8. Pressione SELECT sobre um tipo de variável desejada.
9. Pressione SELECT sobre o endereço, depois entre com o endereço e pressione
SELECT.

Escolha o passo 10a ou 10b abaixo:

10a. Para entrar com um número para definir um grupo de endereços iniciais em um endereço
especificado, siga os seguintes passos:

1. Pressione SELECT sobre o CLEAR NUM.


2. Entre com o número do endereço a ser zerado e pressione ENTER.
3. Pressione ENTER para inserir a instrução no job.

Ou

10b. Para limpar de um especificado endereço até 099. siga os seguintes passos:

1. Pressione SELECT sobre o CLEAR NUM.


2. Leve o cursor para a direita e pressione SELECT.
3. Pressione SELECT sobre o ALL
4. Pressione ENTER para inserir a instrução no job.

56 SENAI
Robótica

CONSTRUÇÃO DA CONDICIONAL "IF"

A declaração IF é uma condicional, ou seja, uma instrução de controle que executa a instrução
apenas se a condição for satisfeita. Por exemplo, chame o job limpeza de ferramenta se a
variável tiver alcançado um certo valor ou pule a seqüência de passos se a variável alcançar
um certo valor.
A instrução IF é disponibilizada toda vez que se utiliza uma instrução de controle (CONTROL):

1. JUMP
2. CALL
3. RETURN
4. PAUSE

Estas instruções são definidas como uma instrução de origem. Qualquer instrução que vem
primeira na linha (exemplo MOVL, CALL, INC) é uma instrução de origem.

Opções Condicionais:

As opções condicionais disponíveis para usar juntamente com a declaração IF são as


seguintes:

Var - Compara valores de variáveis


IN# - Checa o status de input
IG# - Checa um valor binário do status de um input group.

0000 NOP
0001 SET 1039 O
0002 MOV J V J=25.00
0003 MOVJ VJ=100.00
0004 MOVJ VJ=12.50
0005 *Line5
0006 MOVC V=558
0007 MOVC V=558
0008 MOVC V=558
0009 MOVL V=558
0010 INCI039
0011 JUMP *Line5 IF 1039<3 0012 END

PROGRAMANDO A CONSTRUÇÃO DO "IF"

Para programar a declaração IF nas instruções: CALL, RET, JUMP ou PAUSE, siga os
seguintes passos:

1. A entrada de instruções é usualmente sem pressionar um ENTER final.


2. Pressione SELECT sobre a instrução de origem.
3. Pressione SELECT sobre o CONDITION "UNUSED".
4. Pressione SELECT sobre o IF.
5. Pressione SELECT sobre o T ARGET.
6. Escolha um tipo de variável: B, I, D ou R.
7. Pressione SELECT sobre uma variável de endereço mostrada.
8. Usando o teclado numérico, entre com a variável de endereço, pressione ENTER.
9. Pressione SELECT sobre o CONDITION "=".
10. Pressione SELECT sobre um símbolo apropriado de igualdade/desigualdade.
11. Pressione SELECT sobre o CONDITION [0] (value).
12. Usando o teclado, entre com o valor.
13. Pressione ENTER para colocar a informação na linha do buffer.
14. Pressione (INSERT?/MODIFY/) ENTER para inserir a instrução no job.

SENAI 57
Robótica

ADICIONANDO A CONDIÇÃO "IF" A UMA INSTRUÇÃO DE CONTROLE EXISTENTE

Para adicionar a declaração IF a uma instrução CALL, RET, JUMP ou PAUSE existente, siga os
seguintes passos:

1. Se não estiver em modo Teach, Pressione ENTER no Painel de Playback.


2. Mova o cursor para o lado de instruções da tela na linha a ser editada.
3. Pressione SELECT duas vezes.
4. Pressione SELECT sobre o CONDITION "UNUSED"
5. Pressione SELECT sobre o IF.
6. Pressione SELECT TARGET.
7. Escolha um tipo de variável: B, I, D ou R.
8. Pressione SELECT sobre a variável de endereço mostrada.
9. Usando o teclado numérico, entre com a variável de endereço, pressione ENTER.
10. Pressione SELECT sobre o CONDITION "=".
11. Pressione SELECT sobre um símbolo apropriado de igualdade/desigualdade.
12. Pressione SELECT sobre o CONDITION [0] (value).
13. Selecione a constante.
14. Usando o teclado, entre com o valor.
15. Pressione ENTER para colocar a informação na linha do buffer.
16. Pressione (INSERT?/MODIFY?) ENTER para inserir a instrução no job.

58 SENAI
Robótica

Instruções de I/O
Um robô raramente trabalha sem uma interface com outros equipamentos. Como exemplo, o
controlador pode se comunicar com fontes de solda, posicionadores, dispositivos de fixação,
sensores, etc. Esta comunicação é realizada através de Inputs e Outputs (l/O). A linguagem
Inform 11 suporta um número de instruções de l/O, como descrito abaixo.

DOUT (DIGITAL OUTPUT)

Este comando é usado toda vez que um dispositivo (led, garra etc.) deve ser ligado (ON) ou
desligado (OFF) até que algum outro ponto seja alcançado no programa. Esta instrução é uma
instrução de saída digital. A seguir temos um exemplo de instrução DOUT usado com uma
saída universal simples.

0003 DOUT OT#(3)= ON

Para programar uma instrução DOUT, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Mova o cursor para o lado Address da tela.
3. Leve o cursor ao endereço anterior àquele que conterá a instrução.
4. Pressione a tecla INFORM LIST.
5. Selecione IN/OUT e pressione SELECT.
6. Selecione DOUT e pressione SELECT.
7. Pressione SELECT para acessar a tela DETAIL EDIT.
8. Selecione a linha OUTPUT TO, pressione SELETCT, selecione OT e pressione
SELECT. Entre com o número da OT#( ) e pressione ENTER.
9. Mova o cursor para DATA, pressione SELECT para escolher ON/OFF.
10. Pressione ENTER para aceitar e retomar para a tela do programa.
11. Pressione (INSERT?/MODIFY?) ENTER.

NOTA: Cada saída que foi ligada, permanecerá ligada até que o comando DOUT "OFF" seja
executado pelo programa ou manualmente desligado.

PULSE (DIGITAL OUTPUT)

Este comando age como uma chave de contato momentâneo para saídas. O comando PULSE
será usado toda vez que um dispositivo deve ser ligado (ON) e mantido nesta situação por um
período de tempo. Exemplos de dispositivos que são usados: cortador de arame, pistola de
cola, comunicação com CLP, contadores, alarmes etc.. O controlador continua executando o
programa enquanto a saída é pulsada.

NOTA: Para interromper a execução do programa durante o tempo de pulso, insira um


comando TIMER com o tempo maior ou igual ao tempo do pulso (dependendo da aplicação)
imediatamente após a instrução PULSE. Adicionando este TIMER, o ciclo será interrompido até
o término do tempo programado. O exemplo abaixo contém os dois comandos "PULSE" e
"TIMER".

0003 MOVJ VJ = 12.50 PL=O


0004 PULSE OT#(1) T= 0.50
0005 TIMER T= 0.55
0006 MOVJ VJ = 6.25

SENAI 59
Robótica

Para programar uma instrução PULSE, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Mova o cursor para o lado Address da tela.
3. Leve o curso r ao endereço anterior àquele que conterá a instrução.
4. Pressione a tecla INFORM LIST.
5. Selecione IN/OUT e pressione SELECT.
6. Selecione PULSE e pressione SELECT.
7. Pressione SELECT para acessar a tela DETAIL EDIT.
8. Selecione a linha OUTPUT TO, pressione SELETCT, selecione OT e pressione
SELECT. Entre com o número da OT#( ) e pressione ENTER.

NOTA: Se nenhum tempo for especificado, o tempo padrão é de aproximadamente 0.3


segundos.

Para especificar o tempo de pulso:

9. Selecione TIME [UNUSED] e pressione SELECT. Mova o cursor para o campo do valor
e pressione SELECT. Entre com o tempo em segundos (0.01 - 655.35) e pressione
ENTER.
10. Pressione ENTER para aceitar e retornar para a tela do programa.
11. Pressione (INSERT?/MODIFY?) ENTER.

MONITORANDO UNIVERSAL OUTPUTS

É possível monitorar e/ou determinar a descrição/nomes das saídas universais em modo


THEACH ou em modo PLA Y.
Para visualizar os nomes e monitorar/operar as saídas universais, siga os seguintes passos:

1. Pressione TOP MENU, selecione o ícone IN/OUT e pressione SELECT.


2. Selecione UNIVERSAL OUTPUT e pressione SELECT.

NOTA: Esta tela oferece duas diferentes visualizações. SIMPLE mostra apenas os grupos de
saídas com indicador de Bit para cada saída. DET AIL mostra as saídas individuais com nomes
e status. Se a visualização DETAIL aparecer, desconsidere os passos 3 e4.

3. Pressione o botão AREA, selecione DISPLAY e pressione SELECT.


4. Selecione DETAIL e pressione ENTER.

Para localizar uma saída pelo número:

1. Selecione EDlT, pressione SELECT, selecione SEARCH SIGNAL NO. e pressione SELECT.
Entre com o número da saída e pressione ENTER.

Ou

Leve o cursor para qualquer OT#( ), pressione SELECT, entre com o número da saída e
pressione ENTER.

Com a tela DETAIL, as saídas universais podem ser ligadas (ON) ou desligadas (OFF). Para
forçar as saídas individualmente, siga os seguintes passos no modo TEACH:

1. Mova o cursor para o símbolo de status [O] da saída à ser modificada.


2. Mantenha pressionado o botão INTERLOCK e pressione SELECT para variar o status da
saída entre ON e OFF.

60 SENAI
Robótica

AOUT (ANALOG OUTPUT)

Coloca uma determinada tensão na porta de saída analógica. Algumas vezes se faz necessário
ligar um dispositivo e levá-lo a algum nível. Por exemplo, deseja-se acionar um dispositivo de
colagem a 200 cm3/min. A instrução AOUT é usada nestes casos. O XRC, na sua versão
standard para solda, possui 3 saídas analógicas (robôs de manipulação de materiais não
possuem nenhuma). A tensão de saída dos canais pode variar de -14V a +I4V.

0004 AOUT AO#(I) = 7.00

Para programar uma instrução AOUT, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Mova o cursor para o lado Address da tela.
3. Leve o cursor ao endereço anterior àquele que conterá a instrução.
4. Pressione a tecla INFORM LIST.
5. Selecione IN/OUT e pressione SELECT.
6. Selecione AOUT e pressione SELECT.
7. Pressione SELECT para acessar a tela DETAIL EDIT.
8. Selecione a linha [ ] e pressione SELECT. Escolha constante ou variável para o canal de
saída.
9. Mova o cursor para a esquerda em "1" e pressione SELECT.
10. Entre com o número do canal e pressione ENTER.
11. Mova o cursor para ANALOG DATA "0.00" e pressione SELECT.
12. Digite o valor entre O e +/- 14.0 volts e pressione SELECT.
13. Pressione ENTER para aceitar e retomar para a tela do programa.
14. Pressione (INSERT?/MODIFY?) ENTER.

MONITORANDO ANALOG OUTPUTS

É possível monitorar as saídas analógicas em modo TEACH ou em modo PLAY. Para visualizar
as saídas analógicas, siga os seguintes passos:

1. Pressione TOP MENU, selecione o ícone IN/OUT e pressione SELECT.


2. Selecione ANALOG OUTPUT e pressione SELECT.

WAIT (DIGITAL INPUT)

Às vezes um programa depende de um sinal de um sensor (fim-de-curso, sensor de


proximidade), neste caso uma instrução WAIT poderá ser usada. A seguir temos um exemplo
do comando WAIT usando uma UNIVERSAL INPUT com e sem temporizador:

0011 W AIT IN#(3) = ON [Espera indefinidamente a IN#(3) ser ON]

0052 WAIT IN#(5)=OFF T=3.25 [Espera a IN#(5) ser OFF por 3.25
segundos, então continua o programa]

NOTA: Se o status da condição for "verdade", quando o controlador for executar a instrução, o
programa não executará nenhuma espera.

Para programar uma instrução W AIT, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Mova o cursor para o lado Address da tela.
3. Leve o cursor ao endereço anterior àquele que conterá a instrução.
4. Pressione a tecla INFORM LIST.
5. Selecione IN/OUT e pressione SELECT.
6. Selecione WAIT e pressione SELECT.

SENAI 61
Robótica

7. Pressione SELECT para acessar a tela DETAIL EDIT.


8. Selecione a linha WAIT TARGET e pressione SELETCT.
9. Mova o cursor para IN#( ) e pressione SELECT.
10. Mova o cursor para "1" e pressione SELECT.
11. Entre com o número da IN#( ) e pressione ENTER.
12. Se o OFF estiver selecionado, mova o cursor para CONDITION ON e pressione
SELECT.
13. Se necessário, selecione TIME UNUSED, pressione SELECT, selecione T= e pressione
SELECT. Selecione o campo do valor e pressione SELECT. Entre com o valor
desejado e pressione ENTER.
14. Pressione ENTER para aceitar e retomar para a tela do programa. 15. Pressione
(INSERT?/MODIFY?) ENTER.

MONITORANDO UNIVERSAL INPUTS

É possível monitorar e/ou determinar a descrição/nomes das entradas universais em modo


TEACH ou em modo PLAY.
Para visualizar os nomes e monitorar as entradas universais, siga os seguintes passos:

1. Pressione TOP MENU, selecione o ícone IN/OUT e pressione SELECT.


2. Selecione UNIVERSAL INPUT e pressione SELECT.

NOTA: Esta tela oferece duas diferentes visualizações. SIMPLE mostra apenas os grupos de
saídas com indicador de Bit para cada saída. DETAIL mostra as saídas individuais com nomes
e status. Se a visualização DETAIL aparecer, desconsidere os passos 3 e 4.

3. Pressione o botão AREA, selecione DISPLAY e pressione SELECT.


4. Selecione DETAIL e pressione ENTER.

Para localizar uma saída pelo número:

1. Selecione EDlT, pressione SELECT, selecione SEARCH SIGNAL NO. e pressione


SELECT. Entre com o número da saída e pressione ENTER.

Ou, leve o cursor para qualquer IN#( ), pressione SELECT, entre com o número da saída e
pressione ENTER.

DECLARAÇÃO CONDICIONAL "IF" BASEADA EM UM STATUS DE INPUT

Freqüentemente, as instruções de controle são condicionadas em base de sinais de INPUT.


Isto permite o uso de chaves seletoras para chamar (CALL) jobs ou satisfazer outras instruções
de controle. Conforme visto anteriormente, as únicas funções que aceitam a condicional IF são
CALL, RET, JUMP ou PAUSE.
Para programar uma condicional IF em uma instrução CALL, RET, JUMP ou PAUSE, baseada
em um status de INPUT, siga os seguintes passos:

1. Entre com uma instrução normalmente sem pressionar o último ENTER.


2. Mova o cursor para o nome da instrução e pressione SELECT.
3. Mova o cursor para CONDITION "UNUSED" e pressione SELECT.
4. Selecione "IF" e pressione SELECT.
5. Selecione TARGET e pressione SELECT.
6. Selecione IN# e pressione SELECT.
7. Mova o cursor para o valor de IN# e pressione SELECT.
8. Digite o número da IN# desejado e pressione ENTER.
9. Selecione CONDITION "ON". Pressione SELECT para escolher ON ou OFF.
10. Pressione ENTER.
11. Pressione (INSERT?/MODIFY?) ENTER.

62 SENAI
Robótica

NOTA: Para alterar ou adicionar informações nas instruções de controle, faça o mesmo
procedimento mas comece com o cursor no lado das instruções.

DIN (DIGITAL INPUT)

Este comando é usado para armazenar um estado de I/0 em uma variável do tipo byte. É usado
sempre que o controlador estiver recebendo informações de um PLC ou outro dispositivo de
entrada de múltiplos pontos. Esta técnica é usada primeiramente quando algum dispositivo é
usado para indicar ao robô qual job deve ser executado.
O valor decimal é baseado no sistema binário. Cada Input ou Output são lidas como (1) ou (0).
A tabela abaixo mostra o valor binário para um grupo de I/0 (8-bit).

IN#/OT# (8) (7) (6) (5) (4) (3) (2) (1)


Binary place value 27 26 25 24 23 22 21 20
Decimal value 128 64 32 16 8 4 2 1
Sample ON/OFF 1 0 0 1 0 0 0 0 =144

Quando a instrução DIN é usada, o controlador "enxergará" a informação e gravará na variável


tipo Byte especificada, tanto o valor decimal quanto o valor binário.

0001 DIN B0l2 IG#(I)

Usando a tabela e a instrução acima, a instrução DIN gravará o valor decimal 144 e o valor
binário 10010000 na variável B0I2. Isto pode ser visualizado na tela das vaiáveis BYTE. O valor
de B0l2 agora pode ser usado como no exemplo:

0004 CALL JOB: PARTI IF B0I2= 144


0005 JUMP *1 IF BOI2<> 144

Para programar uma instrução DIN, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Mova o cursor para o lado Address da tela.
3. Leve o cursor ao endereço anterior àquele que conterá a instrução.
4. Pressione a tecla INFORM LIST.
5. Selecione IN/OUT e pressione SELECT.
6. Selecione DIN e pressione SELECT.
7. Pressione SELECT para acessar a tela DETAIL EDIT.
8. Selecione a linha INPUT TO, pressione SELETCT, digite o endereço byte e pressione
ENTER.
9. Mova o cursor para INPUT FROM, pressione SELECT, selecione IG#( ) e pressione
SELECT.
10. Mova o cursor para "1" e pressione SELECT. Entre com o numero do grupo e pressione
SELECT.
11. Pressione ENTER para aceitar e retornar para a tela do programa.
12. Pressione (INSERT?/MODIFY?) ENTER.

DOUT (DIGITAL OUTPUT) PARA GRUPOS

Este comando além de ser usado para saídas individuais, pode ser usado em grupos de saída.
Os valores são baseados conforme a tabela apresentada no item anterior. Com esta instrução,
múltiplas saídas podem ser acionadas ou desligadas ao mesmo tempo.

0004 DOUT OG#(I) 17


0005 TIMER T= 1.00
0006 DOUT OG#(I) O

SENAI 63
Robótica

Para programar uma instrução DOUT em um grupo de saídas, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Mova o cursor para o lado Address da tela.
3. Leve o cursor ao endereço anterior àquele que conterá a instrução.
4. Pressione a tecla INFORM LIST.
5. Selecione IN/OUT e pressione SELECT.
6. Selecione DOUT e pressione SELECT.
7. Pressione SELECT para acessar a tela DETAIL EDIT.
8. Selecione a linha OUTPUT TO, pressione SELETCT, selecione OG# e pressione
SELECT.
9. Mova o cursor para o campo do valor do grupo e pressione SELECT.
10. Entre com o número da OG#( ) e pressione ENTER.
11. Mova o cursor para DATA, pressione SELECT.
12. Selecione CONSTANT e pressione SELECT.
13. Selecione o campo de valor e pressione SELECT.
14. Digite o valor e pressione ENTER.
15. Pressione ENTER para aceitar e retomar para a tela do programa.
16. Pressione (INSERT?/MODIFY?) ENTER.

64 SENAI
Robótica

User frame
Quando se trabalha em planos inclinados ou rotacionados, o sistema de Coordenadas World
perde a sua funcionalidade. A programação torna-se muito mais fácil se for realizada com a
ajuda de um sistema de coordenadas que coincida com o plano de trabalho. O XRC suporta 24
sistemas de coordenadas definidos pelo usuário. Estes são referenciados como User Frames
(UF# 1 - 24).
Um User Frame é definido por três pontos:

• O ponto de origem, ponto zero para XYZ (ORG).


• Um ponto na direção do eixo X, no sentido positivo (XX).
• Um ponto na direção do eixo Y, no sentido positivo (XY).

Através destes três pontos, a linguagem INFORM 11 forma um sistema de coordenadas


Cartesianas. Como convenção, a origem (ORG) é selecionada para ser o lado direito do
dispositivo mais próximo do robô e o ponto XY é fixado à esquerda da linha criada por ORG e
XX. Isto é feito para forçar o eixo Z positivo a estar fora do dispositivo.

CRIANDO USER FRAMES

A criação de um USER FRAME é uma função disponível no ícone ROBOT. Para definir um
USER FRAME, siga os seguintes passos:

1. Pressione TEACH, caso não esteja neste modo.


2. Pressione TOP MENU, mova o cursor para ROBOT e pressione SELECT.
3. Selecione USER COORDINATE e pressione SELECT.
4. Escolha o USER FRAME e pressione SELECT.
5. Certifique se o cursor está selecionado em "SET POS: ORG".
6. Com o SERVO READY ligado, pressione TEACH LOCK e ligue os motores.
7. Escolha qualquer coordenada em COORD a não ser a USER, e movimente o TCP para o
ponto de origem.
8. Pressione MODIFY, ENTER. O buffer de ORG será gravado.
9. Pressione SELECT, selecione XX e pressione SELECT.
10. Movimente o TCP para o ponto XX.
11. Pressione MODIFY, ENTER. O buffer de XX será gravado.

SENAI 65
Robótica

12. Pressione SELECT, selecione XY e pressione SELECT.


13. Movimente o TCP para o ponto XY.
14. Pressione MODIFY, ENTER. O buffer de XY será gravado.
15. Quando os três pontos estiverem corretamente gravados, mova o cursor para COMPLETE
e pressione SELECT.
16. Para nomear o USER FRAME, mova o cursor para o [campo do nome] e pressione
SELECT. Escolha até 16 caracteres e pressione ENTER.

NOTA: Para verificar/visualizar as posições gravadas ORG, XX e XY, escolha um deles (como
descrito nos passos 5, 9 ou 12), e pressione o botão FWD até que a posição (ORG, XX, XY)
pare de piscar.

ACESSANDO OS USER FRAMES

Qualquer USER FRAME definido pode ser acessado pela lista de USER FRAMES em qualquer
momento, conforme necessidade.
Para acessar um USER FRAME, siga os seguintes passos:

1. Pressione COORD até que o símbolo da coordenada USER apareça.


2. Pressione e mantenha pressionado o botão SHIFT, então pressione COORD. A lista de
USER FRAMES aparecerá.
3. Mova o cursor para uma das coordenadas do usuário. Este USER FRAME agora está
selecionado.
4. Retorne para o Job ou qualquer outra tela pressionando TOP MENU.

NOTA: Uma vez selecionado um USER FRAME, o robô se movimentará neste coordenada,
quando estiver em USER, até que outro USER FRAME seja selecionado.

66 SENAI
Robótica

Função deslocamento
paralelo

Deslocamento paralelo significa mover um objeto de uma posição para outra, bem como
todos os pontos desse objeto, numa mesma distância.

No modelo para deslocamento paralelo, mostrado abaixo, o valor do deslocamento pode ser
definido como uma distância l (coordenada do deslocamento tri-dimensional).

A função de deslocamento paralelo é muito importante na programação dos manipuladores


(robôs) atuais porque ele pode reduzir a quantidade do trabalho envolvido no ensinamento das
diferentes posições de um caminho qualquer.

No exemplo da figura abaixo, o ponto ensinado (A) é deslocado até o ponto (B) cuja distância
vale L. Caso sejam necessários vários deslocamentos com o mesmo comprimento L, é possível
utilizar a função de deslocamento paralela ao invés de gravar todos os outros pontos até o
ponto G.

SENAI 67
Robótica

O bloco que parte da instrução SFTON até a instrução SFTOF é submetido à operação de
deslocamento paralelo.

LINHA PASSO INSTRUÇÃO


0000 000 NOP
0001 001 MOVJ VJ = 50.00
0002 002 MOVL V = 100.00
0003 SFTON P000 UF#(1)
Bloco de
0004 003 MOVL V = 100.00
mudança
0005 004 MOVL V = 100.00
0006 005 MOVL V = 100.00
0007 SFTOF
0008 006 MOVL V = 100.00

Quando se modifica uma série de movimentos, as linhas de programação podem ser dispostas
conforme o exemplo apresentado acima, onde os passos de 2 a 6 são alterados. Porém, pode-
se desejar deslocar toda uma seqüência ou programa, conforme o exemplo mostrado abaixo.

Ajustando valor do deslocamento

Sistema de coordenadas

O valor da distância para o deslocamento paralelo pode ser feito em X,Y e Z com incremento
em cada sistema de coordenada. Os sistemas de coordenadas são quatro:

• Base;

• Robô;

• Ferramenta; e

• Usuário.

68 SENAI
Robótica

X
Y
Z
Z

Y
Y
X
X

X
Y

Num sistema sem eixo, a coordenada de base e a coordenada do robô são as mesmas.

Ajustando o valor de deslocamento

Ao ajustar o valor do deslocamento em uma variável de posição, use a posição corrente (atual)
do manipulador (robô). O valor do deslocamento é a coordenada X,Y, Z, que corresponde à
diferença entre a posição atual e a posição ensinada sem esquecer da diferença no
deslocamento angular RX, RY, RZ, (normalmente ajustado em “0”).

Se a mudança for executada em pontos com intervalos iguais, por exemplo para
armazenamento, para se determinar este intervalo calcula-se a diferença entre a posição
ensinada e a posição final do deslocamento e depois divide o resultado pelo número de
intervalos.

A posição do punho é definida pelo deslocamento angular das coordenadas do eixo do punho.

Conseqüentemente, se o valor do deslocamento é especificado em X,Y e Z somente


(RX=RY=RZ=0), a posição do punho se mantém no mesmo ângulo utilizado na posição
ensinada.

Como a modificação é normalmente executada sem mudança de posição, não há necessidade


de especificar um deslocamento angular para o punho.

O movimento de uma mudança paralela é mostrado abaixo.

SENAI 69
Robótica

0)

70 SENAI
Robótica

Anexo 1 - Linguagem de robô

( INFORM II )

Instruções básicas

• < > indicação numérica ou dados alfabéticos


• se itens múltiplos são mostrados em uma seção, selecione um dos itens

Instruções de movimento

MOVJ
função Mover para um ponto ensinado, com o tipo de movimento
“JOIN ”
formato Dados de posição do eixo base, e de posição do eixo da Estes dados não
estação. aparecem no
“Display”
VJ = < velocidade de operação ( % ) > VJ:
0.01 – 100.00
PL = < nível de posicionamento > PL: 0 - 4
UNTIL declaração/ estado
NWAIT
exemplo
MOVJ VJ=50.00 PL=2 UNTIL IN # (16)= 0N NWAIT
MOVL
função Mover para um ponto ensinado com movimento “LINEAR ”
formato Dados de posição do eixo base, e de posição do eixo da Estes dados não
estação aparecem no
“Display”
V = < velocidade de operação >, VR = < velocidade de V:
operação da posição >, VE = < velocidade de operação do 0.1 – 1500.0
eixo externo > mm/Seg.
0.6 – 9000.0 cm/Seg.
VR: 0.1-180.0º/Seg.
VE: 0.01 – 100.00%
PL = < nível de posicionamento > PL: 0-4
UNTIL declaração / estado
NWAIT
exemplo
MOVL V=138 PL=0 UNTIL IN # (16)= 0N NWAIT

SENAI 71
Robótica

MOVC
função Mover para um ponto ensinado, com o tipo de movimento
“CIRCULAR ”
formato Dados de posição do eixo base e de posição do eixo da Estes dados não
estação. aparecem no
“Display”
V = < velocidade de operação >, VR = < velocidade de V:
operação da posição >, VE = < velocidade de operação do 0.1– 1500.0 mm/Seg.
eixo externo > 0.6 – 9000.0 cm/Seg.
VR: 0.1-180.0º/Seg.
VE: 0.01 – 100.00%
PL = < nível de posicionamento > PL:→ 0 - 4
NWAIT
exemplo
MOVC V=138 PL=0 NWAIT
MOVS
função Mover para um ponto ensinado com movimento “curva
livre”
formato Dados de posição do eixo base e de posição do eixo da Estes dados não
estação aparecem no
“Display”
V = < velocidade de operação >, VR = < velocidade de V:
operação da posição >, VE = < velocidade de operação do 0.1– 1500.0 mm/Seg.
eixo externo > 0.6 – 9000.0 cm/Seg.
VR: 0.1-180.0º/Seg.
VE: 0.01 – 100.00%
PL = < nível de posicionamento > PL: 0-4
NWAIT
exemplo
MOVS V=120 PL=0
SPEED
função Ajustar a velocidade da operação.
formato V = < velocidade de operação >, VR = < velocidade de V , VR, VE . igual em
operação da posição >, VE = < velocidade de operação do MOVL.
eixo externo >, VJ = < velocidade de operação (%) > VJ. Igual em MOVJ
exemplo SPEED VJ= 50.00

72 SENAI
Robótica

IMOV
função Mover para um incremento especificado, partindo da
posição corrente com o tipo de movimento “LINEAR ”
formato P < número da variável >, PB < número da variável >,
EX< número da variável >
V = < velocidade de operação >, VR = < velocidade de V:
operação da posição >, VE = < velocidade de operação do 0.1– 1500.0 mm/Seg.
eixo externo >, VS = < velocidade de cada ponto > 0.6 – 9000.0 cm/Seg.
VR: 0.1-180.0º/Seg.
VE: 0.01 – 100.00%
VS:
0.1– 1500.0 mm/Seg.
0.6 – 9000.0 cm/Seg.
PL = < nível de posicionamento > PL: 0-4
UNTIL declaração / estado
NWAIT
BF : coord. De base
BF, RF, TF, UF# ( < número da coordenada de uso > ),MTF RF : coord. Do robô
TF : coord. Da
ferramenta
UF : coord. De uso
MTF: coord. Da
ferramenta para o
mestre ( na coord. Do
programa de
trabalho)
exemplo IMOV P000 V= 138 RL = IRF
IMOV P001 BP002 MTF
+ IMOV P000
REFP
função Define um ponto de referência ( ex. ponto na parede para
movimento ondulado na soldagem )
formato Dados de posição do eixo base e de posição do eixo da Estes dados não
estação. aparecem no
“Display”
< número ponto de referência > V:
0.1– 1500.0 mm/Seg.
0.6 – 9000.0 cm/Seg.
VR: 0.1-180.0º/Seg.
VE: 0.01 – 100.00%
PL = < nível de posicionamento > PL:→ 0 - 4
NWAIT
exemplo REFP1

SENAI 73
Robótica

Instruções de I/0

DOUT
função Liga e desliga o sinal externo de saída
formato OT# (< número de saída >), OGH# (< número do grupo de
saída >), OG# (< número do grupo de saída >)
Número de endereçamento do sinal de saída:
OT# (xx) = 1; OGH# ( xx ) = 4 ( por grupo );
OG# ( xx ) = 8 ( por grupo )

OT#(1) OT#(2) OT#(3) OT#(4) OT#(5) OT#(6) OT#(7) OT#(8)

OGH#(1) OGH#(2)

OG#(1)
OGH#(xx) não é submetido para checar paridade, somente a
especificação binária é permitida

exemplo
DOUT OT # (12) ON
PULSE
função Sair um sinal de pulso como um sinal de saída externo
formato OT # ( < número de saída > )
T = < tempo ( Seg. ) > 0.30 Seg.
( padrão)
exemplo PULSE OT # ( 10 ) T = 0.60
WAIT
função Aguardando até que a situação do sinal externo de entrada
iguale a situação especificada
formato IN # ( < número de entrada > ), IG # ( < número do grupo de
entrada > )
< estado >, B < número da variável >
T = < tempo ( Seg.) >
exemplo WAIT IN # (12) = ON T= 10.00
WAIT IN # (12) = B02

74 SENAI
Robótica

DIN
função Ajusta o sinal de entrada na variável
formato B < número da variável >
IN # (< número de entrada >), IGH# (< número do grupo de
entrada >), IG# (< número do grupo de entrada >)
OT# (< número de saída geral >), OGH# (< número do grupo
de saída >), OG# (< número do grupo de saída >)
SIN # ( < específico número de entrada > )
SOUT # ( < específico número de saída > )
Número de endereçamento do sinal de entrada:
IN# (xx) = 1; IGH# ( xx ) = 4 ( por grupo );

IG# ( xx ) = 8 ( por grupo )

IN#(1) IN#(2) IN#(3) IN#(4) IN#(5) IN#(6) IN#(7) IN#(8)

IGH#(1) IGH#(2)

IG#(1)

Número de endereçamento do sinal de saída:

OT# (xx) = 1; OGH# ( xx ) = 4 ( por grupo );


OG# ( xx ) = 8 ( por grupo )

OT#(1) OT#(2) OT#(3) OT#(4) OT#(5) OT#(6) OT#(7) OT#(8)

OGH#(1) OGH#(2)

OG#(1)
IGH#(xx) e OGH#(xx) não são submetidos para checar
paridade. Somente a especificação binária é permitida

exemplo DIN B016 IN # (16)


DIN B002 IG # (2)

SENAI 75
Robótica

AOUT
função Saindo a tensão especificada para o propósito geral, porta
de saída analógica
formato AO# (< número da porta de saída >)
< tensão de saída > -14.1 - +14.0
exemplo
AOUT AO # (2) 12.7

Instruções de controle

JUMP
função Pula para faixa especificada ou trabalho
formato < número da faixa >, JOB: < nome do trabalho >, IG# (<
número do grupo de entrada >), B < número da variável >,
I < número da variável >, D < número da variável >,

IF declaração
exemplo
JUMP JOB: TEST1 IF IN # (14) = OFF
*LABEL
função Indica o destino do “JUMP”
formato < destino do “jump” > 8 caracteres ou
sem
exemplo
*123
CALL
função Chama o trabalho especificado
formato JOB: < nome do trabalho >,
IG# (< número do grupo de entrada >),
B < número da variável >, I < número da variável >,
D < número da variável >,

IF declaração
exemplo CALL JOB: TEST1 IF IN # (24) = ON
CALL IG # (2)
( o trabalho é chamado pelo padrão do sinal de entrada,.
exemplo, job 0 não pode ser chamado.)
Para maiores detalhes de checagem de paridade, consultar o
capítulo 10 “parâmetros “do “manual das funções user”.
RET
função Retorno para o trabalho chamado
formato IF declaração
exemplo
RET IF IN # (12) = OFF

76 SENAI
Robótica

END
função Declarar o fim do trabalho
formato
exemplo
END
NOP
função Sem operação.
formato
exemplo
NOP
TIMER
função Parada pelo tempo especificado.
formato T = < tempo ( seg. ) > T: 0.01 – 655.35
exemplo
TIME T = 12.5
CWAIT
função Aguardando a execução de uma instrução de movimento.
formato
exemplo
CWAIT
IF
declaração
função Avalia a condição especificada e faz um julgamento.
Conseqüentemente. descreve, após uma instrução, tal
como especificado, certa ação.
Formato: < item 1 > =, <>,<=,>=,<,> < item 2 >
formato < item 1 >
< item 2 >
exemplo
JUMP *12 IF IN # (12) = OFF

JUMP
função Pula para faixa especificada ou trabalho
formato < número da faixa >, JOB: < nome do trabalho >, IG# (<
número do grupo de entrada >), B < número da variável >,
I < número da variável >, D < número da variável >.

IF estado.
exemplo
JUMP JOB: TEST1 IF IN # (14) = OFF

SENAI 77
Robótica

Instruções de mudanças

SFTON
função Inicia uma operação de mudança
formato P < número da variável >, BF, RF, TF, BF: coord. de base
UF # (< número do sistema de coordenada de RF: coord. do robô
uso >), TF: coord. da
EX < número da variável > ferramenta
UF: coord. de uso
exemplo
SFTON P001 UF # (1)
SFTOF
função Termina uma operação de mudança
formato
exemplo
SFTOF
MSHIFT
função Obtém o valor da mudança paralela entre a posição de
referência e a posição da mudança, marcada pelo
elementos do sistema de coordenada especificado,
considerando o deslocamento cartesiano e a mudança
de postura. Armazena os valores obtidos na posição
da variável especificada.
formato PX ( numero da variável), formata a mudança do
valor ( x, y, z )

sistema de
BF: coord. de base coordenada acordado
RF: coord. do robô para o qual a mudança
TF: coord. de ferramenta do valor será
UF # : coord. de uso ( UF # 1 – UF # 24 ) convertido.
MTF: coord. De ferramenta para o mestre

PX: ( número da variável )


PX: ( número da variável ) posição de referência.
posição marcada.
exemplo
MSHIFT PX000 RF PX001 PX002

78 SENAI
Robótica

Instruções de operações

ADD
função Soma dados 1 e dados 2, e armazena o resultado em
dados 1
Formato: ADD < dados 1> < dados 2 >
formato Dados 1 Dados 1 devem
sempre ser uma
Dados 2 variável.
exemplo
ADD I012 I013
SUB
função Subtrai dados 2 de dados 1e armazena o resultado em
dados1.
Formato: SUB < dados 1> < dados 2 >
formato Dados 1 Dados 1 devem
sempre ser uma
Dados 2 variável.
exemplo
SUB I012 I013
MUL
função Multiplica dados 1 por dados2, e armazena o resultado no
dados 1.
Formato: MUL < dados 1> < dados 2 >
Dados 1 pode ser um elemento na posição variável
Pxxx (0): todos dados do eixo, Pxxx (1): dados eixo X
Pxxx(2): dados eixo Y, Pxxx(3): dados do eixo Z,
Pxxx(4): dados do eixo Tx, Pxxx(5): dados do eixo Ty,
Pxxx(6): dados do eixo Tz
formato Dados 1 Dados 1 devem
sempre ser uma
Dados 2 variável.
exemplo
MUL P000(3) 2 ( multiplica o dados do eixo z por 2)

SENAI 79
Robótica

DIV
função Divide dados 1 por dados2 e armazena o resultado em
dados 1
Formato: MUL < dados 1> < dados 2 >
Dados 1 pode ser um elemento na posição variável.
Pxxx (0): todos dados do eixo, Pxxx (1): dados eixo X
Pxxx(2): dados eixo Y, Pxxx(3): dados do eixo Z.
Pxxx(4): dados do eixo Tx, Pxxx(5): dados do eixo Ty.
Pxxx(6): dados do eixo Tz
formato Dados 1 Dados 1 devem
sempre ser uma
Dados 2 variável
exemplo DIV I012 I013
DIV P000(3) 2 ( divide os dados do eixo z por 2)
INC
função Incrementa o valor da variável especificada por 1.
formato B < número da variável >, I < número da variável >
exemplo INC I43
DEC
função Decrementa o valor da variável especificada por 1
formato B < número da variável >, I < número da variável >
exemplo DEC I43
AND
função obtém o E do dados 1 e dados 2, e armazena o resultado
no dados 1.
Formato: AND < dados1 > < dados 2 >
formato Dados 1 B < número da variável >
Dados 2 B < número da variável >
exemplo AND B12 B20
OR
função Obtém o OU dos dados 1 e dados 2 , e armazena o
resultado em dados 1.
Formato: OR < dados1 > < dados 2 >
formato Dados 1 B < número da variável >
Dados 2 B < número da variável >
exemplo OR B12 B20

80 SENAI
Robótica

NOT
função Obtém o NÃO dos dados 1 e dados 2 e armazena o
resultado em dados 1.
Formato: NOT < dados1 > < dados 2 >
formato Dados 1 B < número da variável >
Dados 2 B < número da variável >
exemplo OR B12 B20
XOR
função Obtém o exclusivo OU dos dados 1 e dados 2 , e
armazena o resultado em dados 1.
Formato: XOR < dados1 > < dados 2 >
formato Dados 1 B < número da variável >
Dados 2 B < número da variável >
exemplo XOR B12 B20
SET
função ajusta dados 2 para dados 1.
Formato: SET < dados1 > < dados 2 >
formato Dados 1 Dados 1 deve
sempre ser uma
Dados 2 variável
exemplo SET I12 I20
SET P000 P001
SETE
função Ajusta dados para um elemento na posição da variável.
formato P <número da variável > (< número do elemento>),
BP < número da variável > (< número do elemento>),
EX < número da variável > ( < número do elemento >)
D < número da variável > < dupla posição interage o tipo
de constante >
exemplo SETE P12(3) D05
GETE
função extrai um elemento na posição da variável
formato P <número da variável > (< número do elemento>),
BP < número da variável > (< número do elemento>),
EX < número da variável > ( < número do elemento >)
D < número da variável > < dupla posição interage o tipo
de constante >
exemplo GETE D06 P012

SENAI 81
Robótica

GETS
função Ajusta uma situação da variável para uma variável
específica.
formato B < número da variável >, I < numero da variável > Dados 1 devem
R < número da variável >, PX < numero da variável > sempre ser uma
variável.
$B < número da variável >, $I < número da variável >
$R < número da variável >, $PX < número da variável > Situação da variável
$D < número da variável >
exemplo GETS B000 $ B000
GETS I001 $ I(1)
GETS PX003 $ PX001
CNVRT
função Converte a posição da variável ( dados 2 ) para uma
posição da variável do sistema de coordenada
especificado, e armazena a variável convertida em
dados 1.
Formato: CNVRT <dados 1> <dados 2 > <sistema de
coord.>
formato Dados 1 PX <número da variável >
Dados 2 PX <número da variável >
BF: coordenada. da base
BF, RF, UF # (<número do sistema de coord. em uso > ), RF: coordenada. do robô
MTF UF: coordenada de uso
MTF: coordenada. de
movimento para o mestre
exemplo CNVRT PX000 PX001 BF
CNVRT LPX000 LPX001 MTF

82 SENAI
Robótica

CLEAR
função Começando com o número da variável no dados 1,
limpa ( ajusta para zero ) muitas variáveis especificadas
por um número no dados 2.
Formato: CLEAR < dados1 > < dados 2 >
formato Dados 1
B <número da variável >, I < número da variável >,
D < número da variável >, R < número da variável >
Dados 2 TODAS: limpa as
< número das variáveis >, TODAS, ACUMULADO variáveis do número
das variáveis em
dados 1 e todos os
números das variáveis,
como seguem.
ACUMULADO: limpa
todas as variáveis no
trabalho, chamando
acumulado.
exemplo CLEAR B000 ALL
CLEAR STACK
SIN
função Obtém o seno do dados 2 e armazena o resultado em
dados 1 .
Formato: SIN <dados 1 > < dados 2 >
formato Dados 1 Dados 1 devem
R < número da variável > sempre ser um tipo de
real de variável.
Dados 2
< constante >,R < número das variáveis >
exemplo SIN R000 R001 ( ajusta o seno de R001 para R000. )
COS
função Obtém o coseno do dados 2 e armazena o resultado em
dados 1.
Formato: COS <dados 1 > < dados 2 >
formato Dados 1 Dados 1 devem
R < número da variável > sempre ser um tipo de
real de variável.
Dados 2
< constante >,R < número das variáveis >
exemplo COS R000 R001 ( ajusta o coseno de R001 para R000)

SENAI 83
Robótica

ATAN
função Obtém o arco tangente do dados 2 e armazena o
resultado no dados 1 .
Formato: ATAN <dados 1 > < dados 2 >
formato Dados 1 Dados 1 devem
R < número da variável > sempre ser um tipo de
real de variável.
Dados 2
< constante >,R < número das variáveis >
exemplo ATAN R000 R001 ( ajusta o arco tangente de R001 para
R000. )
SQRT
função Obtém a raiz quadrada do dados 2 e armazena o
resultado em dados 1.
Formato: SQRT <dados 1 > < dados 2 >
formato Dados 1 Dados 1 devem
R < número da variável > sempre ser um tipo de
real de variável.
Dados 2
< constante >,R < número das variáveis >
exemplo SQRT R000 R001 ( ajusta a raiz quadrada de R001
para R000. )

84 SENAI
Robô

Mitsubishi
Robótica

Funções básicas

Neste capítulo damos início ao aprendizado da programação do robô Mitsubishi da família


Movemaster EX, mais precisamente do modelo RV-M1 existente na célula de montagem dos
cilindros do kit fornecido pela FESTO.

Painel de Controle Frontal

POWER: led amarelo que acende quando o controlador é ligado. O fato de não acender após
ligar a chave pode indicar a queima do fusível de proteção localizado atrás do painel.

EMG. STOP: Esta é uma chave do tipo pushbutton. Quando ela é acionada, os motores são
desligados e os freios acionados, provocando uma parada imediata do robô. Ao mesmo tempo,
o led indicador de erro pisca no painel frontal do controlador.

ERROR: O acionamento deste led indica a existência de erro no sistema. Uma campainha
também é acionada para indicar sonoramente o erro.

EXECUTE: Este led permanece aceso sempre que um comando esta sendo executado ou em
todo o momento que um programa estiver sendo executado.

START: Inicia um programa ou o reinicia após uma interrupção.

STOP: Pára a execução de um programa. Quando este botão é pressionado, o robô termina de
executar o comando corrente antes de parar.

RESET: quando esta chave é pressionada o programa retorna ao seu início e, se algum erro
ocorreu, o led de erro é apagado.

ST1: Esta chave seleciona o modo de controle do robô, ou seja, se ele será comandado pelo
controlador (para cima) ou pelo computador(para baixo).

ST2: Esta chave faz a transferência dos dados armazenados na EPROM para a memória RAM
do controlador quando este é ligado. Quando esta chave estiver para cima, os dados são
transferidos, do contrário, quando ela estiver para baixo os dados da EPROM não serão
transferidos para a memória RAM.
Obs: os programas que serão executados deverão estar na memória RAM.

Teach Box

ON/OFF: esta chave serve para habilitar o comando do robô através do teach box. Devemos
desligá-la quando a operação for controlada pelo computador. Ela também pode ser utilizada
para apagar um comando errado digitado através do teach box.

EMG STOP: Idem ao botão equivalente encontrado no painel frontal do controlador.

INC + ENT: este comando incrementa a posição atual de um e move o robô para posição
incrementada, ou seja, se quiser rodar uma seqüência de comandos gravados é só apertar
essas teclas várias vezes que o robô percorrerá posição por posição.

DEC + ENT: esta função é o inverso da função descrita anteriormente INC + ENT.

SENAI 87
Robótica

PS + NÚMERO + ENT: grava a posição atual do robô no endereço de memória definido pelo
número indicado. Se duas posições forem gravadas no mesmo endereço, a última prevalecerá.

PC + NÚMERO + ENT: apaga a posição gravada no endereço especificado.

NST + ENT: leva o robô para a posição de origem.

ORG + ENT: leva o robô para uma posição de referência (origem) no plano cartesiano.

TRN + ENT: transfere o conteúdo da EPROM do usuário para a RAM do controlador.

WRT + ENT: escreve o programa e as posições contidas na RAM dentro da EPROM do


usuário.

MOV + NÚMERO + ENT: move a garra para uma posição especificada. A velocidade do
deslocamento é equivalente a SP4.

STEP + NÚMERO + ENT: executa o programa passo a passo iniciando pelo número da linha
especificada. Para que um programa seja executado seqüencialmente de um passo para outro
é só repetir a seqüência dos botões, não sendo necessário digitar o número.

PTP: seleciona a operação do robô através do deslocamento independente dos 5 eixos (JOG).

XYZ: seleciona a operação do robô para deslocar a garra em coordenadas cartesianas.

TOOL: seleciona a operação do robô para que os deslocamentos sejam realizados em função
da garra.

X+, X-, Y+, Y-, Z+ E Z-: movimentam a extremidade final do braço do robô no sentido dos eixos
X, Y e Z, respectivamente, quando o robô se encontra em coordenada cartesiana.

B+, B-, S+, S-, E+, E-, P+, P-, R+ E R-: movimentam os respectivos eixos do robô
independentemente, quando este se encontra em coordenada jog.

<O>: abre a garra.

>C<: fecha a garra.

Relação entre comandos do Teach Box e comandos enviados pelo Computador

A tabela abaixo apresenta os comandos que devem ser utilizados nos programas criados
através do computador e que correspondem a cada tecla do teach box.

TEACH BOX COMPUTADOR TEACH BOX COMPUTADOR


INC IP DEC DP
P.S HE P.C PC
NST NT ORG OG
TRN TR WRT WR
MOV MO
<O> GO >C< GC

88 SENAI
Robótica

Modos de controle

Executar um programa pelo computador


Para efetuar o controle do robô Mitsubishi pelo computador a chave ST1 deve estar na posição
inferior (para baixo).

Este modo permite que um computador execute comandos do robô diretamente, escreva e
transmita um programa, e inicie um programa transferido para memória RAM do controlador.

Nota: O teach box deve estar desligado quando o robô for operado neste modo.

Execução direta: permite executar um comando diretamente. Por exemplo, mover o


manipulador para uma posição gravada (1) usando o comando MO. A sintaxe é a seguinte:

MO 1 (Move para posição 1)

Nota: Os comandos seqüencialmente transmitidos são executados um a um, sendo assim eles
não constituirão um programa gravado dentro do controlador.

Geração de programa: é possível criar um programa no computador usando os comandos do


robô. Neste caso, o programa é armazenado na memória RAM do controlador. Por exemplo,
crie um programa para realizar a movimentação do manipulador conforme sintaxe abaixo:

10 MO 1

O número 10 transmitido serve para indicar o número da linha que indicará a ordem de
armazenamento do programa na memória da mesma maneira que é feita nos programas do
torno CNC. O programa será executado em ordem numérica das linhas. O número de linhas vai
de 1 até 2048.

Execução do programa: nesta etapa, o programa gravado na memória RAM do controlador é


executado. O programa é iniciado pela transmissão do comando RN que corresponde a RUN.

PD 10, 0, 0, 20, 0, 0
PD 20, 0, 0, 30, 0, 0
30 SP 7
40 MA 1, 10, O
50 MO 1, O
60 GC 30 mm
20 mm
70 MA 1, 10, C
80 MA 2, 20, C
90 MO 2, C Posição 1 Posição 2
100 GO
110 MA 2, 20, O
120 GT 40

SENAI 89
Robótica

Executar um programa pelo controlador


Um programa gravado no controlador pode ser executado diretamente sem o comando do
computador. Para isto, deve posicionar a chave ST1 para cima. Esta chave está localizada no
interior do controlador.
Este modo permite que programas gravados na EPROM do controlador ou na memória RAM
sejam executados através das teclas do painel frontal.
É importante lembrar que os comandos vindos do computador não terão efeito quando a chave
ST1 estiver na posição superior.

Editando um programa
Para se criar um programa é necessário primeiramente gravar as posições do robô. Para isso,
siga os seguintes passos:

1. Desative os botões de emergência e ligue o controlador;


2. Referencie os eixos do robô;
3. Coloque as chaves ST1 e ST2 encontradas na parte interna do controlador para baixo;
4. Grave as posições desejadas levando o braço até elas e, em seguida, pressione as
teclas P.S, o número da posição a ser gravada e a tecla ENT;

Uma vez que as posições já se encontram gravadas, é hora de fazer o programa para utilizá-
las. Neste caso:

1. Abra o programa COSIPROG;


2. Crie um novo programa de comando( *.MRL);
3. Faça um download do programa de comando;
4. Faça um upload das posições gravadas no controlador para mantê-las armazenadas
em arquivo caso alguém possa alterá-las;
5. Teste o programa.

90 SENAI
Robótica

Comandos Mitsubishi

Nas tabelas a seguir são apresentados os comandos para programação do robô Mitsubishi
junto com uma breve descrição das suas respectivas funções.

Instruções de Controle de Posição e Movimento

Name Input Format Function Program Remarks


Moves robot to a predefined position
Decrement
1 DP with a position number smaller than Yes
Position
the current one
Moves hand end to a position away
from the current one covering the
2 Draw Dw x, y, z Yes
distance specified in X, Y e Z axis
directions
Defines the coordinates of the
3 Here HE a current position by assigning Yes 1≤ a ≤ 629
position number (a) to it.
Establishes the reference position
4 Home HO in the cartesian coordinate Yes
system.
Moves robot to a predefined
Increment
5 IP Position with a position number Yes
Position
greater than the current one.
Moves hand end from the current 1≤ a1, a2 ≤ 629
Move position to a position away from O: Hand opened;
6 MA a1, a2, [O/C] Yes
Approach position (a1) in increments C: Hand Closed;
as specified for position (a2).
Moves robot continuously through
Move predefined intermediate points
7 MC a1, a2 Yes 1≤ a1, a2 ≤ 629
Continuous between position numbers
(a1) and (a2).
Turns each joint the specified angle
8 Move Joint MJ w, s, e, p, r No
from the current position.

SENAI 91
Robótica

1≤ a1, a2 ≤ 629
9 Move MO a [O/C] Moves hand end to position (a). Yes O: Hand opened;
C: Hand Closed;
Moves hand end to a position
Move whose coordinates (position
10 MP x, y, z, p, r No
Position and angle) are specified as x, y, z,
p, and r.
Moves robot to position (a) 1≤ a ≤ 629
Move through n intermediate points 1≤ n ≤ 99
11 MS a, n [O/C] Yes
Straight on a straight line. O: Hand opened;
C: Hand Closed;
Moves hand end from the current
position to a position 1≤ a≤ 629
12 Move Tool MT a, b [O/C] away from a specified position Yes O: Hand opened;
(a) in incremental distance b in C: Hand Closed;
the tool direction.
13 Nest NT Returns robot to mechanical origin. Yes
Moves robot to the reference
14 Origin OG position in the cartesian coordinate Yes
system.
Defines the number of grid
Pallet 1≤ i ≤ 9
15 PA i, j, k points (j, k) in the column and Yes
Assign 1≤ j, k ≤ 255
row directions for pallet (i).
a1 ≤ a2
16 Position PC a1 [a2] Clears all position data from No 1≤ a1, a2 ≤ 629
Clear position a1 to a2. (or a1 =0);

Position Defines the coordinates


17 No 1≤ a≤ 629
Define PD a, x, y, (x, y, z, p, r) of position (a).

Position Assigns the coordinates of position


18 PL a1, a2. Yes 1≤ a1, a2 ≤ 629
Load (a2) to position (a1).
Calculates the coordinates of a
grid points on pallet (a) and
19 Pallet PT a Yes 1≤ a ≤ 9
identifies the coordinates as
position (a).
Position Exchanges the coordinates of
20 Exchange PX a1, a2. position (a1) for those of position Yes 1≤ a1, a2 ≤ 629
(a2).

92 SENAI
Robótica

Shifts the coordinates of position


(a1) in increments representing
21 Shift SF a1, a2 the coordinates of position Yes 1≤ a1, a2 ≤ 629
(a2) and redefines the new
coordinates.
0≤a≤9
Sets the operating velocity H: High acceleration/
and acceleration/deceleration deceleration
22 Speed SP a [H/L] Yes
time for robot. time; L: Low
0: Minimum speed; 9: Maximum acceleration/
speed. deceleration time.

Halts motion for time (a)


23 Timer TI a Yes 0 ≤ a ≤ 32767
(Unit: 0.1 second)
Establishes the distance between 0 ≤ a ≤ +300.0
24 Tool TL a hand mounting surface Yes Unit: mm;
and hand end.

Compare Loads value in counter (a) into


25 CP a Yes 1≤ a ≤ 99
Counter the internal register.

Disables interrupt by a signal


Disable Act
26 DA a through bit (a) of external input Yes 0 ≤ a ≤ 7 (15)
terminal.

Decrement
27 DC a Decrements counter (a) by 1. Yes 1≤ a ≤ 99
Counter

Deletes contents of line numbers A1 ≤ a2


28 Delete Line DL a1 [ a2] from a1 to a2. No 1 ≤ a1, a2 ≤ 2048

Enables interrupt by a signal


through bit (a1) of external (-15) (+15).
29 Enable Act EA a1, a2 input terminal and specifies Yes -7≤ a1 ≤ +7
line number (a2) to which the +: ON; -:OFF
program jumps when interrupt occurs. 1≤ a2 ≤ 2048

30 End ED Ends the program. Yes

SENAI 93
Robótica

Causes a jump to occur to line (-32767) (+32767)


number (a2) if externaI input 0≤ a1 ≤ 255 (dec.)
31 If Equal EQ a1 (or &b), a2 data or counter data equals a1 Yes 0≤ b ≤ &FF(Hex.)
(or &b). (&8001) (&7FFF)
1≤ a2 ≤ 2048
Permits the instruction sequence
to jump to sub-routine
32 Go Sub GS a Yes 1≤ a ≤ 2048
which starts with line number
(a)
Permits the program sequence
33 Go To GT a to jump to line number (a) Yes 1≤ a ≤ 2048
unconditionally.
Increment
34 IC a Increments counter (a) by 1. Yes 1≤ a ≤ 99
Counter
(-32767) (+32767)
Causes a jump to occur to line
0≤ a1 ≤ 255 (dec.)
number (a2) if externaI input data
35 If Larger LG a1 (or &b), a2 Yes 0≤ b≤ &FF (Hex.)
or counter data is greater than
(&8001) (&7FFF)
a1 (or &b).
1≤ a2 ≤ 2048
(-32767) (+32767)
Causes a jump to occur to line
0≤ a1 ≤ 255 (dec.)
number (a2) if externaI input data
36 If Not Equal NE a1 (or &b), a2 Yes 0≤ b≤ &FF (Hex.)
or counter data does not equal
(&8001) (&7FFF)
a1 (or &b).
1≤ a2 ≤ 2048
Deletes all program and position
37 New NW No
data in Ram.
Specifies the range of a loop in a
38 Next NX program executed by command Yes
RC.
Repeat Repeats the loop specified by
39 RC a Yes 1≤ a ≤ 32767
Cycle command NX (a) times.

Executes line numbers from (a1)


40 Run RN a1 [a2] No 1≤ a1, a2 ≤ 2048
to (a2), (a2) not included.

Completes subroutine activated by


41 Return RT command GS and returns to main Yes
program.

94 SENAI
Robótica

1≤ a1 ≤ 99
42 Set Counter SC a1 [a2] Loads (a2) into counter (a1). Yes
-32767 ≤a2 ≤ 32767
(-32767) (+32767)
Causes a jump to occur to line
0≤ a1 ≤ 255 (dec.)
SM a1 (or &b), number (a2) if externaI input data
43 If Smaller Yes 0≤ b≤ &FF (Hex.)
a2 or counter data is smaller than a1
(&8001) (&7FFF)
(or &b).
1≤a2 ≤ 2048

Instruções de Controle da Garra

44 Grip Close GC Closes hand grip Yes


Defines the open/close state of
45 Grip Flag GF a hand grip, used in conjunction with Yes A = 0 (open),
Command PD. 1 (closed)
46 Grip Open GO Opens hand grip. Yes
Grip 0≤ a1, a2 ≤ 15
Define gripping force and gripping
47 Pressure GP a1, a2, a3 Yes 0≤ a3 ≤ 99
Force retention time
(unit: 0.1 second)

Instruções de Controle de Entradas e Saídas (I/O)

Fetches External signal


48 Input Direct ID Yes
unconditionally from input port.
Fetches External signal
49 Input IN Yes
synchronously from input port.
-7≤ a ≤ +7
Sets the output state of bit (a) of
50 Output Bit OB a Yes (-15) (+15).
external output terminal.
+: ON, -:OFF
Output (-32767) (+32767)
Outputs data a (or &b)
Direct 0≤ a1 ≤ 255 (dec.)
51 OD a (or &b) unconditionally through output Yes
0≤ b≤ &FF (Hex.)
port.
(&8001) (&7FFF)
(-32767) (+32767)
Outputs data a (or &b)
0≤ a1 ≤ 255 (dec.)
52 Output OT a (or &b) synchronously through output . Yes
0≤ b≤ &FF (Hex.)
port
(&8001) (&7FFF)

SENAI 95
Robótica

-7≤ a ≤ +7
Causes a jump to occur to line number
(-15) (+15).
53 Test Bit TB a1, a2 a2 by means of bit (a1) in external Yes
+: ON, -:OFF
input terminal.
1≤ a2 ≤ 2048

Instruções de Controle de Entradas e Saídas (I/O)

54 Counter Read CR a Reads contents of counter (a). Yes 1≤ a≤ 99

Reads data in external input terminal


55 Data Read DR used in conjunction with commands Yes
ID and IN.
Reads status of error (no error: 0;
56 Error Read ER No
error mode I: 1; error mode II: 2).
57 Line Read LR a Reads contents of line number (a). No 1≤ a ≤ 2048
58 Position Read PR a Reads coordinates of position (a). Yes 1≤ a≤ 629
59 Where WH Reads coordinates of current position. Yes

Instruções Diversas

60 Reset RS Resets error mode II No

61 Transfer TR Transfers Contents of EPROM to RAM. No

62 Write WR Writes contents of RAM into EPROM. No

Allows programmer to write a


63 Comment Yes
comment following.

96 SENAI
Robótica

Exemplos de programas

Programa deslocamento do robô através de 3 posições gravadas

Linha Comando Comentário


10 NT Referencia o robô
12 SP 7 Ajusta a velocidade para o valor 7
14 MO 10, O Move o robô para posição 10 com a garra aberta
16 MO 11, C Move o robô para posição 11 com a garra fechada
18 MO 12, C Move o robô para posição 12 com a garra fechada
20 TI 30 Pára por 3 segundos
22 GT 14 Pula para linha 14

Programa para pegar peça utilizando sensor de presença de peça

Linha Comando Comentário


90 SP 5 Ajusta a velocidade para o valor 5
100 EA+1, 140 Habilita a interrupção através do bit 1
110 MO 1, O Move o robô para uma posição de
aproximação
120 DW 0, 0, -50 Move o robô 50 mm na direção –Z
130 GT 110 Pula a linha 110 fazendo com que o Posição 1
robô retorne para posição de
aproximação caso nenhuma peça seja
detectada
140 DA 1 Desabilita a interrupção através do bit
1
150 GC Fecha a garra, prendendo a peça Peça
160 MO 1, C Move o robô para posição de
aproximação com a peça presa

Programa que controla a execução de subrotinas através de entradas digitais

Linha Comando Comentário


10 NT Referencia o robô
15 OD 0 Desliga todos os LEDs
20 SP 5 Ajusta a velocidade para o valor 5
25 ID Lê as entradas do controlador
30 TB +0, 100 Pula para linha 100 quando a entrada 1 está ativada
31 TB +1, 200 Pula para linha 200 quando a entrada 2 está ativada
32 TB +2, 300 Pula para linha 300 quando a entrada 3 está ativada
33 TB +3, 400 Pula para linha 400 quando a entrada 4 está ativada
34 TB +4, 500 Pula para linha 500 quando a entrada 5 está ativada
35 TB +5, 600 Pula para linha 600 quando a entrada 6 está ativada
36 TB +6, 700 Pula para linha 700 quando a entrada 7 está ativada
37 TB +7, 800 Pula para linha 800 quando a entrada 8 está ativada

SENAI 97
Robótica

38 GT 25 Retorne à linha 25 quando todas as saídas estão desligadas

SUBROTINAS

100 OB +0 Liga o LED 1 indicando início do sub-programa 1


105 MO 10 Executa o sub-programa 1


198 OB -0
199 GT 25 Pula para linha 25


800 OB +7 Liga o LED 8 indicando início do sub-programa 8
805 MO 80 Executa o sub-programa 8


898 OB -7
899 GT 25 Pula para linha 25

Programa para paletização com verificação de peça

Posições usadas

1 Posição ajustada no palete 1 de acrdo com o commando PT


2 Posição ajustada no palete 2 de acrdo com o commando PT
10 Posição de aproximação no palete 1
11 Posição da última coluna no palete 1
12 Posição da última linha no palete 1
13 Posição no canto oposto do palete 1 para referência
20 Posição de aproximação no palete 2
21 Posição da última coluna no palete 2
22 Posição da última linha no palete 2
23 Posição no canto oposto do palete 2 para referência
30 Posição do equipamento de teste
50 Distância aérea de deslocamento entre os paletes

98 SENAI
Robótica

Contadores usados

11 Contador de coluna do palete 1


12 Contador de linha do palete 1
21 Contador de coluna do palete 2
22 Contador de linha do palete 2

Sinais de entrada utilizados

Bit 7 Fim do teste

Programas usados

Linha Comando Comentário


PD 50, 0, 0, Define a distância do deslocamento aéreo(Z = 20mm) e identifica a
20, 0, 0 posição aérea como posição 50
Ajustes Iniciais
10 NT Referencia o robô
15 TL 145 Calibra a ferramenta para um comprimento de 145mm
20 GP 10, 8, 10 Ajusta os parâmetros de abertura e fechamento da garra
25 PA 1, 10, 6 Define o número de colunas e linhas do palete 1
30 PA 2, 15, 4 Define o número de colunas e linhas do palete 2
35 SC 11,1 Carrega o valor inicial do contador de colunas do palete 1
40 SC 12,1 Carrega o valor inicial do contador de linhas do palete 1
45 SC 21,1 Carrega o valor inicial do contador de colunas do palete 2
50 SC 22,1 Carrega o valor inicial do contador de linhas do palete 2
Programa Principal
100 RC 60 Define o número de ciclos de repetição do loop para linha 140
110 GS 200 Faz o robô pegar uma peça no palete 1
120 GS 300 Faz com que o robô coloque a peça no equipamento de teste
130 GS 400 Faz com que o robô coloque a peça no palete 2
140 NX Retorna a linha 100
150 ED Fim

Sub-programas usados

Linha Comando Comentário


Sub-rotina 1: Pegar peça no palete 1 para testá-la
200 SP 7 Ajusta a velocidade para 7
202 PT 1 Identifica a coordenada da célula calculada no palete 1 como posição 1
204 MA 1,50,O Move o robô para um ponto acima da posição 1 (20mm em Z)
206 SP 2 Ajusta a velocidade para 2

SENAI 99
Robótica

208 MO 1,O Move o robô para posição 1 com a garra aberta


210 GC Fecha a garra
Move o robô para um ponto acima da posição 1 (20mm em Z) com a garra
212 MA 1,50,C fechada
214 IC 11 Incrementa de 1 o contador de colunas do palete 1
216 CP 11 Carrega o valor do contador 11 dentro de um registrador de comparação
218 EQ 11,230 Se o valor armazenado em CP for igual a 11 ele pula para linha 230
220 RT Se a condição da linha anterior não for satisfeita, finaliza a sub-rotina
230 SC 11,1 Reinicializa o contador de colunas do palete 1
232 IC 12 Incrementa de 1 o contador de linhas do palete 1
234 RT Finaliza a sub-rotina
Colocar peça no equipamento de teste
300 SP 7 Ajusta a velocidade para 7
302 MT 30,-50,C Move o robô para uma posição 50 mm acima do equipamento de teste
304 SP 2 Ajusta a velocidade para 2
306 MO 30, C Move o robô para posição 30 com a garra fechada
308 ID Lê os dados de entrada
310 TB-7,308 Faz com que o robô aguarde o fim do teste
312 MT 30,- 50,C Move o robô para uma posição 50 mm acima do equipamento de teste
314 RT Finaliza a sub-rotina
Colocar peça no palete 2
400 SP 7 Ajusta a velocidade para 7
402 PT 2 Identifica a coordenada da célula calculada no palete 2 como posição 2
Move o robô para um ponto acima da posição 2 (20mm em Z) com a garra
404 MA 2,50,C fechada
406 SP 2 Ajusta a velocidade para 2
408 MO 2,C Move o robô para posição 2 com a garra fechada
410 GO Abre a garra
Move o robô para um ponto acima da posição 2 (20mm em Z) com a garra
412 MA 2,50,O fechada
414 IC 21 Incrementa de 1 o contador de colunas do palete 2
416 CP 21 Carrega o valor do contador 21 dentro de um registrador de comparação
418 EQ 16,430 Se o valor armazenado em CP for igual a 16 ele pula para linha 430
420 RT Se a condição da linha anterior não for satisfeita, finaliza a sub-rotina
430 SC 21,1 Reinicializa o contador de colunas do palete 1
432 IC 22 Incrementa de 1 o contador de linhas do palete 2
434 RT Finaliza a sub-rotina

100 SENAI
Robótica

Bibliografia

“Industrial Robotics – Technology, Programming, and Applications”


GROOVER, Mikell P., WEISS, Mitchell, NAGEL, Roger N., ODREY, Nicholas G., Editora
Mc-Graw - Hill, 1986.

“Robótica Industrial – Aplicação na Indústria de Manufatura e de Processos”


ROMANO, Vitor Ferreira. Editora Edgard Blücher Ltda., 1ª Edição, 2002.

Manual de Programação Básica – XRC


Yaskawa, Revisão: 2000

“Handbook of Industrial Robótics”


NOF, Shimon Y. – John Wiley, New York.

“Robotics of Engineers”
KOREN, Yoram. McGraw – Hill, New York.

Educação Profissional Técnica Eletroeletrônica


SENAI

Apostila de Robótica
Educação Profissional Técnica Mecatrônica
SENAI

SENAI 101

Você também pode gostar