Escolar Documentos
Profissional Documentos
Cultura Documentos
em Programação de
Nível Intermediário
para o Controlador
DX-100
Curso: TP-12
Esse manual de treinamento foi criado de acordo com a estrutura diária do curso
de Programação Intermediária DX100. Foi criado para ajudar os estudantes a
entender as operações básicas e funções do controlador DX100 e um robô
Motoman correspondente. Use esse manual como um guia passo-a-passo através
do curso.
AVISO LEGAL
NOTA: Esse manual não pode ser revendido e não pode ser vendido
separadamente. Todos os manuais de treinamento desenvolvidos pelo Centro de
Educação Técnica Motoman são registrados. Não copie qualquer parte deste
manual.
A lista é aberta e fechada através da tecla INFORM LIST; ela aparece no lado
direito da tela conforme mostra a figura:
NOTA: Toque a tela para alternar o cursor entre a Inform List e a última linha do
programa selecionada pelo cursor.
NOTA: As teclas FWD/BACK não executam instruções que não sejam de movimento. A
instrução CALL deve ser executada em TEACH usando INTERLOCK+TEST
START para execução contínua.
Pressionar a tecla DIRECT OPEN com o cursor no lado dos endereços de uma
linha com uma instrução CALL JOB:1234 abrirá esse programa 1234.
NOTA: Acessar um programa por DIRECT OPEN permite a edição do mesmo, assim
como execução por FWD/BACK ou INTERLOCK+TEST START.
A instrução RET faz com que um programa filho seja finalizado antes que o
cursor chegue a linha final do programa. Isso faz com que apenas as instruções
anteriores ao RET sejam executadas.
CUIDADO! Garanta caminho livre para o robô caso a instrução RET seja
executada.
A instrução CALL pode ser usada dentro de programas filhos para chamar outro
programa. Com isso, uma seqüência de programas pai/filho é criada, permitindo
que o controlador saiba para qual programa voltar com as instruções RET ou
END.
Até doze programas podem ser seqüenciados, onde o primeiro programa está no
nível um. O exemplo abaixo mostra uma seqüência de programas filho:
Um asterisco “*” aparece indicando que a tela sempre será mostrada em modo
PLAY. Para remover a tela, repita o procedimento acima.
NOTA: O alarme 4452 STACK MORE THAN 12 (JOB CALL) surge caso mais de 12
programas sejam chamados em sequência.
Essas instruções podem ser utilizadas para pular uma parte do programa ou criar
um loop infinito.
1. Em TEACH, mova o cursor para o lado dos endereços da linha acima da qual
se deseja inserir a instrução JUMP;
2. Pressione a tecla INFORM LIST;
3. Selecione CONTROL;
4. Selecione JUMP;
5. “JUMP*LABEL” aparece na linha de buffer. Selecione a palavra LABEL (ou
algum outro nome que esteja após o asterisco, caso a instrução já tenha sido
usada) com o cursor e pressione SELECT;
6. Digite o novo nome da LABEL no teclado (até 8 caracteres) e pressione
ENTER;
7. Pressione [INSERT], ENTER para inserir a instrução no programa.
Uma instrução *LABEL sempre deve ser inserida em um programa quando uma
instrução JUMP*LABEL for usada. O nome da *LABEL deve ser exatamente
igual ao nome presente na instrução JUMP*LABEL
1. Em TEACH, mova o cursor para o lado dos endereços na linha acima onde se
deseja inserir a instrução JUMP JOB;
2.4 COMMENT
Comentários são mensagens do programados para o operador, identificados no
programa pelo apóstrofo (‘) e têm no máximo 32 caracteres
NOTA: O comentário pode ter até 32 caracteres, incluindo letras, números e símbolos.
Um botão de Espaço está disponível. Ao pressionar e segurar a tecla SHIFT o
cursor se move para a linha de nome, permitindo o uso do cursor para
direita/esquerda e o uso do Backspace para apagar caracteres individuais. A
tecla CANCEL apaga todos os caracteres digitados.
A instrução TIMER é usada quando o robô precisa ficar em uma posição por um
período de tempo, como por exemplo, antes do início de um arco de solda.
2.6 PAUSE
A instrução PAUSE é usada para programar um hold para suspender a execução
do programa. A lâmpada de START apaga, e o robô mantém sua posição
O programa abaixo mostra um exemplo para cada uso da instrução IF com várias
instruções de controle:
= Igual;
<> Diferente;
> Maior que;
>= Maior ou Igual;
< Menor que;
<= Menor ou Igual.
A tela de detalhes para “IF” pode ser acessada selecionando a tag “IF” na linha
temporária e pressionando SELECT ou selecionando o ícone “I” na tela de
detalhes da instrução principal da linha.
Esse procedimento também deve ser usado para remover um IF de uma linha já
existente no programa
A função INC é usada para contadores sem valor limite durante a execução de
programas. Pode ser usado para contar número de ciclos ou peças produzidas pela
célula.
A função INC deve estar depois do que deve ser contado de modo a evitar erros de
contagem caso haja interrupção no programa. Logo, a instrução INC deve ser
colocada no final de um programa conforme exemplo abaixo.
A instrução DEC deve ser usada para alcançar uma meta de produção. Uma
variável é selecionada para armazenar o valor necessário de peças a ser
produzidas. Ela será decrementada cada vez que uma peça for produzida. Para
melhor resultados, faça o decremento somente no final do programa de produção.
4.2.3 SET
A instrução SET armazena qualquer valor em uma variável. Isso permite que o
programa determine valores iniciais para variáveis sem depender da entrada
manual de valores. Pode também ser usada para zerar uma variável individual; se
for zerar mais de uma variável consecutiva, utilize a função CLEAR.
4.2.4 CLEAR
Na tela de detalhes de CLEAR, a tag ALL pode ser selecionada, fazendo com que
todas as variáveis, a partir da variável digitada na instrução, sejam zeradas. Por
exemplo, CLEAR B000 ALL zera todas as variáveis a partir de B000 (B000 até
B099).
NOTA: A tela de I/O para Entradas e Saídas Universais oferece dois modos de exibição.
A tela DETAIL mostra um grupo por tela, com nome e estado. A tela SIMPLE
mostra vários grupos por tela apenas com o indicador de Bit/Byte.
Para forçar uma entrada (simular que a entrada está acionada), faça o
seguinte em TEACH:
Para forçar uma saída (simular que a saída está acionada), faça o seguinte
em TEACH:
O exemplo abaixo mostra a função DOUT sendo utilizada com uma única saída
universal (OT#):
NOTA: Como padrão, uma output alterada para ON permanecerá nesse estado até que
seja alterada em um programa ou manualmente para OFF.
Por exemplo, o resultado de DOUT OG#(1) = 162 faz com que as saídas 2,6 e 8
sejam ligadas (2+32+128=162) e o restante seriam desligadas.
DOUT de grupo também pode referenciar uma variável Byte para valores 0-255
Porém, a instrução PULSE não pára a execução do programa; o cursor vai para a
próxima linha e continua processando as instruções enquanto a instrução PULSE
age na saída.
O programa abaixo mostra uma instrução PULSE com uma saída individual,
OT#(8), com uma tag de tempo T=1.50. Na linha 7, o PULSE em grupo, OG#(1)
127, vai pulsar as saídas 1 a 7 pelo tempo padrão de 0.3 segundos.
Para inserir uma instrução PULSE OT#( ) para uma saída, faça o seguinte:
NOTA: Insira um TIMER logo depois de um PULSE se necessário. Para acesso rápido
ao TIMER, pressione [1] no teclado numérico. Podem-se usar valores entre
0.01 e 655.35.
Para programar uma instrução WAIT para uma entrada universal, faça o
seguinte:
NOTA: O programa selecionado deve ser executado antes da função TRT para
estabelecer um primeiro tempo de movimentação.
NOTA: Instruções CALL e JUMP não podem ser selecionadas no passo anterior.
NOTA: Se o tempo desejado não for alcançado na primeira execução do TRT, pressione
EXEC novamente até que o resultado seja o desejado.
Para acessar essa função no menu UTILITY, o controlador deve estar em PLAY e
nenhum programa pode estar sendo executado.
NOTA: Se qualquer programa envolvido estiver com a opção EDIT LOCK: ON, o
SPEED OVERRIDE não pode ser executado. O alarme menor 4476 “Cannot
Edit (Edit Lock Job)” ocorrerá.
O modo Low Speed Start move o robô para o ponto selecionado a uma velocidade
constante de 10% da velocidade máxima (independente da velocidade
programada) sem executar qualquer instrução externa e pára. O modo é
automaticamente desabilitado e, ao pressionar novamente o botão START, o
programa é executado normalmente.
VJ = 25.00;
V=375.0 mm/sec;
VR=90.0 deg/sec.
CUIDADO! Instruções externas são executadas; por isso, ativar apenas o modo
SPEED LIMIT em programas que executam instruções DEVICE com
velocidades maiores que o limite de 25% não é recomendado.
Combinar os modos CHECK RUN e SPEED LIMIT faz com que o robô se
movimente devagar e não execute nenhuma instrução DEVICE.
Esse modo pode ser útil para movimentar o robô após manutenção da graxa do
manipulador.
9.1.4 Check-Run
NOTA: O pendant mostra a mensagem “Check Mode” quando o modo Check está
habilitado.
O modo Weave Prohibit não permite que as intruções WVON WEV#( ) e WVOF
sejam executadas em TEACH. Isso permite que trajetórias interpoladas sejam
checadas sem que a ferramenta faça o movimento de WEAVING programado.
O ponto XY, juntamente com os pontos ORG e XX, determinam o plano do user
frame. A direção Z+ é perpendicular ao plano XY.
CUIDADO! O operador deve confirmar qual User Frame será usado antes de
movimentar o robô na coordenada USER.
NOTA: Frames não definidos são indicados por um círculo vazio. Frames previamente
definidos são indicados por um círculo preenchido (●).
4. Selecione com o cursor “SET POS: ORG”;
5. Selecione qualquer coordenada (menos USER). Energize os motores e
movimente o TCP para o ponto ORG do sistema a ser definido;
6. Com motores energizados, pressione MODIFY, ENTER. O círculo do ponto
ORG é preenchido;
Um único robô pode precisar apenas de uma ferramenta para executar a aplicação,
conseqüentemente apenas um TCP, como uma tocha de solda por exemplo. Em
uma célula com vários robôs e ferramentas, mais TCPs são necessários.
Agora o TCP está definido. Para garantir a precisão da ferramenta, use as teclas
Rx, Ry e Rz em coordenada TOOL para rotacionar a ferramenta em volta do TCP.
O TCP não deve se mover durante a rotação. Se houver alguma movimentação,
algum dos pontos (X,Y ou Z) estão imprecisos.
Se a movimentação com as teclas +/- X,Y,Z não for como desejado, então Rx,Ry
ou Rz estão com valores incorretos.
NOTA: Para verificar o ponto que um TC foi gravado, use a tecla FWD para mover
para o ponto desejado. Quando o cursor parar de piscar o robô estará na
posição gravada.