Vous êtes sur la page 1sur 101

Manual de Experincias

ED-7220C

SISTEMA DE TREINAMENTO EM ROBTICA

NDICE
ED-7220C
CAPTULO 1. VISO GERAL DO CONTROLADOR ED-MK4 ...................................................... 06 1.1 Introduo ................................................................................................................................. 06 1.2 Modos de Operao .................................................................................................................. 06 1.3 Operao do Rob .................................................................................................................... 06 1.4 As Portas do Motor ................................................................................................................... 07 1.5 Portas Auxiliares ....................................................................................................................... 08 1.6 Sistema de Coordenada ............................................................................................................ 08 1.7 Comandos de Movimento de Posio ........................................................................................ 09 1.8 Controles do Motor .................................................................................................................... 09 1.9 Movendo os Motores ................................................................................................................. 10 2.0 Operao de Entrada / Sada .................................................................................................... 10 2.1 Caractersticas de Proteo ....................................................................................................... 11 CAPTULO 2. O AJUSTE DE COMANDO DO CONTROLE MANUAL ......................................... 12 2.1 Iniciando um Comando ou Funo ............................................................................................ 12 2.2 Entrando Nmeros e Outras Informaes ................................................................................. 12 2.3 Se Voc Mudar de Idia ............................................................................................................ 12 2.4 Se Voc tem um Problema ....................................................................................................... 13 2.5 Descrio das Teclas ................................................................................................................ 13 2.5.1 Edit / Replace ........................................................................................................................ 13 2.5.2 Run / Halt ............................................................................................................................... 14 2.5.3 Erase / Delete Next ................................................................................................................ 14 2.5.4 On Input / Switch Go To ......................................................................................................... 15 2.5.5 Set Label ................................................................................................................................ 16 2.5.6 Go To Label ............................................................................................................................ 17 2.5.7 Set Output ............................................................................................................................. 17 2.5.8 Wait on Input / Switch ............................................................................................................ 18 2.5.9 Go To Soft Home .................................................................................................................... 19 2.5.10 Set Soft Home ...................................................................................................................... 20 2.5.11 Relative ................................................................................................................................. 20 2.5.12 Velocity ................................................................................................................................ 20 2.5.13 Delay .................................................................................................................................... 22 2.5.14 Open .................................................................................................................................... 22 2.5.15 Close .................................................................................................................................... 23 2.5.16 Aux ...................................................................................................................................... 23 2.5.17 As Chaves do Motor ............................................................................................................. 24 2.5.18 As Teclas das Setas ............................................................................................................ 29 2.5.19 Stop (Parar) .......................................................................................................................... 30 2.5.20 Config (Configurao) ........................................................................................................... 31 CAPTULO 3. EXEMPLO DE PROGRAMAS DO CONTROLE MANUAL ..................................... 35 3.1 Introduo ................................................................................................................................. 3.2 Setup ........................................................................................................................................ 3.3 Jump ......................................................................................................................................... 3.4 Criando Movimentos .................................................................................................................. 35 35 37 39

CAPTULO 4. ENTRADA E SADA .............................................................................................. 40 4.1 Introduo ................................................................................................................................. 4.2 Entrada de Aplicaes .............................................................................................................. 4.3 Sada de Aplicaes ................................................................................................................. 4.4 Obtendo 5V Atravs da Alimentao do I/O ............................................................................... 40 41 43 44

CAPTULO 5. DESCRIO DOS COMANDOS DO MENU PRINCIPAL ...................................... 47 5.1 Config ........................................................................................................................................ 48 5.2 Do ............................................................................................................................................. 49

5.3 Edit ........................................................................................................................................... 5.4 Files .......................................................................................................................................... 5.5 Load .......................................................................................................................................... 5.6 Quit ........................................................................................................................................... 5.7 Run ........................................................................................................................................... 5.8 Save .......................................................................................................................................... 5.9 Teach ........................................................................................................................................

49 50 50 50 50 51 51

CAPTULO 6. O EDITOR ............................................................................................................ 53 6.1 Append ..................................................................................................................................... 6.2 Delete ....................................................................................................................................... 6.3 Edit ........................................................................................................................................... 6.4 Examine .................................................................................................................................... 6.5 Find ........................................................................................................................................... 6.6 Insert ......................................................................................................................................... 6.7 List ............................................................................................................................................ 6.8 Listl ........................................................................................................................................... 6.9 New ........................................................................................................................................... 6.10 Print ........................................................................................................................................ 6.11 Printl ........................................................................................................................................ 6.12 Quit ......................................................................................................................................... 6.13 Remove ................................................................................................................................... 6.14 Skip ........................................................................................................................................ 6.15 Teach ...................................................................................................................................... 54 55 56 57 58 59 60 60 61 61 61 62 62 62 63

CAPTULO 7. DESCRIO DOS COMANDOS ........................................................................... 66 7.1 Acos ......................................................................................................................................... 7.2 Arc ............................................................................................................................................ 7.3 Arcx .......................................................................................................................................... 7.4 Aux ........................................................................................................................................... 7.5 Beep ......................................................................................................................................... 7.6 Clearpath ................................................................................................................................... 7.7 Close ........................................................................................................................................ 7.8 Cls ............................................................................................................................................ 7.9 Cos, sin,tan .............................................................................................................................. 7.10 End ......................................................................................................................................... 7.11 Error_check ............................................................................................................................. 7.12 For...To... / Next ...................................................................................................................... 7.13 Get_Answer ............................................................................................................................ 7.14 Gosub ..................................................................................................................................... 7.15 Goto ........................................................................................................................................ 7.16 Grip ......................................................................................................................................... 7.17 Hardhome ................................................................................................................................ 7.18 Home ...................................................................................................................................... 7.19 If...Then ................................................................................................................................... 7.20 Ifmicro... Then ......................................................................................................................... 7.21 Ifsig...Then .............................................................................................................................. 7.22 Input ........................................................................................................................................ 7.23 Local ....................................................................................................................................... 7.24 Move ....................................................................................................................................... 7.25 Move To ................................................................................................................................... 7.26 Movegh .................................................................................................................................... 7.27 Movegh To ............................................................................................................................... 7.28 Movep ..................................................................................................................................... 7.29 Moves ..................................................................................................................................... 7.30 Movexs .................................................................................................................................... 7.31 Movex ..................................................................................................................................... 7.32 Movex To ................................................................................................................................. 7.33 Movexp .................................................................................................................................... 7.34 Offline ...................................................................................................................................... 7.35 Offset ...................................................................................................................................... 7.36 OffsetX .................................................................................................................................... 7.37 Online ..................................................................................................................................... 66 67 68 68 69 69 69 70 70 71 71 72 72 73 73 74 74 74 75 76 76 77 78 78 79 80 80 81 82 82 83 83 84 84 85 87 87

7.38 Open ....................................................................................................................................... 7.39 Outsig ..................................................................................................................................... 7.40 Path ........................................................................................................................................ 7.41 Pause ..................................................................................................................................... 7.42 Point ....................................................................................................................................... 7.43 Rem ........................................................................................................................................ 7.44 Return ..................................................................................................................................... 7.45 Search .................................................................................................................................... 7.46 Send ....................................................................................................................................... 7.47 Seti ......................................................................................................................................... 7.48 Setpath ................................................................................................................................... 7.49 Setpathx ................................................................................................................................. 7.50 Troff ......................................................................................................................................... 7.51 Tron ......................................................................................................................................... 7.52 Type ........................................................................................................................................ 7.53 Vel ........................................................................................................................................... 7.54 Waitfor ....................................................................................................................................

87 88 89 91 91 92 92 93 94 94 94 95 95 95 96 97 97

APNDICE ...................................................................................................................................... 99 Cdigos de Erro .............................................................................................................................. 99

ED-7220C SISTEMA DE TREINAMENTO EM ROBTICA MANUAL DE INSTRUES NDICE CAPTULO 1 Viso Geral do Controlador ED-MK4 1.1 INTRODUO O ED-MK4 pode controlar a srie ED de robs e acessrios. Isto inclui o brao de rob ED-7220C, o brao de rob XR-4, o rob SCARA e um nmero bastante grande de acessrios tais como esteiras, mesas X-Y, motores experimentais com ou sem encoder e vrias garras de objetivos especiais ou de final de curso. At oito motores com encoder e dois motores sem encoder pode ser controlado. Um motor com encoder aquele que possui encoder incremental para fornecer informaes de distncia, direo e velocidade. Cada um dos motores com encoder podem ser programados para executar movimentos trapezoidais, rodar a uma velocidade constante programada, ter uma tenso aplicada programvel ou ainda o motor pode ser desabilitado. Cada um dos motores sem encoder podem ter uma tenso aplicada programvel. E ainda, o ED-MK4 pode ler oito entradas, ler oito chaves de entrada e controlar oito sadas. O ED-MK4 pode ser programado via computador ou atravs do Controlador Manual (Pendant). Uma maior flexibilidade obtida quando se trabalha conectado ao computador. Enquanto no modo de controle via computador, o Controlador Manual (Pendant) pode ser usado como um dispositivo para ensinar os pontos. 1.2 MODOS DE OPERAO O controlador ED-MK4 pode ser operado tanto via computador ou via Controlador Manual (Pendant). Daqui em diante, estes sero referenciados como modo computador e modo Controlador Manual respectivamente. No modo via computador, so obtidas todas as funes e maior flexibilidade. E ainda, o Controlador Manual (Pendant) pode ser usado como um dispositivo que proporcione um meio simples de mover o rob ou os motores sem a necessidade de qualquer conhecimento da posio atual do rob ou motores. O Captulo 4 fornece uma descrio completa de cada comando disponvel no modo computador. O modo Controlador Manual proporciona uma operao independente. Nenhum computador ser necessrio. Os programas podem ser editados, executados e armazenados para posterior acesso mesmo que o sistema seja desligado. Caso desejado, um computador pode ser conectado para transferir arquivos para armazenamento ou restaurao no ou do disco flexvel ou disco rgido. Adicionalmente um computador pode iniciar a execuo de um programa do Controlador Manual ou pode interrogar o controlador enquanto o Controlador Manual estiver em operao. Os Captulos 5 e 6 fornecem uma operao detalhada do modo Controlador Manual. 1.3 OPERAO DO ROB O controlador ED-MK4 pode ser configurado como o controlador do ED-7220C, controlador do XR-4, controlador do SCARA ou como um controlador genrico. O SCARA foi projetado para ser similar a srie IBM 7536 SCARA. Robs similares a estes so montados por alguns fabricantes japoneses e americanos. Algumas destas unidades possuem o eixo Z programvel enquanto outras no, embora sejam disponveis normalmente como opcionais.

Quando usado como controlador do XR-3 ou XR-4, as portas A F so usadas para controlar o rob e as portas G e H esto disponveis para acionarem acessrios. Os motores do rob so designados como: A B C D E F Abertura e fechamento da mo. Rotao da mo. Movimento azimutal da mo. Rotao do cotovelo. Rotao do ombro. Rotao do corpo.

Quando usado como um controlador do SCARA, as portas A E so usadas para controlar o rob e as portas F H esto disponveis para acionarem acessrios. Os motores do rob so designados como: A B C D E Abertura e fechamento da mo. Rotao da mo. Subida da mo (eixo Z). Rotao do cotovelo. Rotao do ombro.

Diferentemente do ED-7220C e XR-4, o SCARA possui trs micro chaves em todos os quatro eixos. Duas das chaves fornece os limites de posio e se excedido o motor correspondente ir parar. A terceira chave, como no ED-7220C e XR-4, proporciona um meio de mandar o motor para a posio HOME. Quando usado como um controlador genrico, todos as oito portas esto disponveis para acionarem motores sobre vrios modos. Quando configurado como controlador do ED-7220C, XR-4 ou SCARA, a porta A pode ser usada como controladora da garra (configurao padro) ou como uma porta de controladora de um acessrio. 1.4 AS PORTAS DO MOTOR Cada uma das portas de controle de motor com encoder podem ser configuradas de um de quatro modos: Modo Ocioso (Idle Mode): Neste modo nenhuma alimentao aplicada ao motor. A porta deve ser configurada para o modo ocioso se um motor no estiver conectado. Se um motor com encoder conectado, a posio do motor ser continuamente atualizada mas no ter significado. Modo Trapezoidal (Trapezoidal Mode): Neste modo um motor com encoder comandado para mover para uma posio especfica com uma dada velocidade e acelerao. chamado de modo trapezoidal porque uma plotagem da velocidade versus tempo fornecer uma curva trapezoidal. O motor acelera at uma dada velocidade e em um determinado ponto, desacelerar at que o destino final seja alcanado. Se, durante a desacelerao, o motor alcanar a metade do curso de seu movimento, o motor desacelerar sem ter alcanado sua velocidade programada. Neste caso um perfil triangular ser gerado. Geralmente, para mover um motor para uma determinada posio envolve a configurao de certos registros do motor seguido de algum tipo de comando de movimento.

V mx Velocidade Tempo
Movimento Trapezoidal Figura 1.1

V mx Velocidade Tempo
Movimento Triangular

Modo Velocidade (Velocity Mode): Neste modo um motor com encoder comandado para mover a uma velocidade especfica. Independentemente da velocidade ser alterada, o motor acelerar ou desacelerar at que sua velocidade alcance a velocidade programada. Modo Loop Aberto (Open Loop Mode): Neste modo uma tenso varivel aplicada ao motor sem encoder. Se um motor com encoder for conectado, a posio do motor ser continuamente atualizada mas no ter significado. Este modo no disponvel no modo Controlador Manual (Pendant). Na realidade, isto faz com que a porta seja uma porta auxiliar como descrito a seguir. Quando configurado para brao de rob ED-7220C ou XR-4, as portas B F devem estar no modo trapezoidal. Quando configurado como brao de rob SCARA, as portas B E devem estar no modo trapezoidal. Em ambos os casos, se a porta A usada para controlar uma das garras padro, esta tambm deve estar no modo trapezoidal. 1.5 PORTAS AUXILIARES As portas auxiliares podem ser conectadas at dois motores sem encoder e aplicar uma tenso e polaridade programada. Estas portas so teis para acionarem acessrios quando nem a posio e nem a velocidade importante. 1.6 SISTEMA DE COORDENADA Os robs XR3, XR-4 e SCARA podem ser movidos no sistema de coordenadas de articulao ou no sistema de coordenada XYZ. No sistema de coordenada de articulao, os motores so movidos a dadas distncias em funo do nmero de contagens do encoder. No sistema de coordenada XYZ, os motores so movidos a dadas distncias em milmetros ou graus. No modo computador voc pode usar ambos os sistemas de coordenada a qualquer momento enquanto que no modo Controlador Manual (Pendant) voc deve especificar um ou outro. O sistema de coordenada XYZ para o ED-7220C, XR-4 e SCARA ilustrado a seguir. O apndice fornece maiores detalhes do sistema de coordenada XYZ ou Cartesiana.

Figura 1.2 Se o ED-MK4 for configurado como controlador genrico, ento o sistema de coordenada de articulao deve ser usado.

1.7 COMANDOS DE MOVIMENTO DE POSIO Quando um nico motor comandado a mover para alguma posio, ele executa uma velocidade programada. Quando mais de um motor so comandados a executarem movimentos simultneos, eles executam uma velocidade que depende no somente da velocidade programada individualmente mas tambm do tipo de movimento especificado. Os motores podem ser comandados a executarem movimentos de modo que eles comeam ao mesmo tempo mas podem parar em tempos diferentes dependendo da distncia que cada motor deve mover e a velocidade que cada motor est programado. Este tipo de movimento referido como movimento independente. Um movimento coordenado aquele no qual os motores comeam ao mesmo tempo e tambm param ao mesmo tempo. Como os motores devem para ao mesmo tempo, suas velocidades tornam-se uma funo do motor que leva mais tempo para mover. Essencialmente o controlador computa o tempo e cada motor deve levar para percorrer o movimento. Aps determinar qual motor levar mais tempo para mover, o controlador computa a velocidade (menor) necessria para todos os outros motores que movero de tal modo que eles levem o mesmo tempo. Por ltimo, o movimento XYZ aquele no qual uma posio especificada no sistema de coordenada XYZ e os motores movem coordenadamente. Um movimento XYZ disponvel somente quando o ED-MK4 configurado para um brao de XR-3, XR-4 ou SCARA. No modo computador estes comandos podem ser misturados enquanto que no modo Controlador Manual (Pendant) voc deve especificar o sistema de coordenada de articulao para movimento independente ou coordenado ou o sistema de coordenada XYZ para movimento XYZ. Se o sistema de coordenada de articulao usado no modo Controlador Manual (Pendant), todos os movimentos do rob usaro automaticamente os comandos de movimento coordenado. As portas acessrias utilizaro automaticamente o movimento independente. Se o sistema de coordenada XYZ usado no modo Controlador Manual (Pendant), ento todos os movimentos do rob utilizaro automaticamente o movimento XYZ enquanto as portas acessrias utilizaro comandos de movimento independente. Se o ED-MK4 configurado como um controlador genrico, ento o Controlador Manual utilizar o comando de movimento independente. 1.8 CONTROLES DO MOTOR Cada uma das portas para motor com encoder possuem um conjunto de registradores ou informaes associadas. Dependendo do modo que o motor est e do movimento desejado voc deve efetuar a configurao de vrios registros antes que o comando de movimento seja acionado. Posio de Destino: Esta a posio para a qual o motor mover no modo de coordenada de articulao quando um comando de movimento coordenado ou independente for dado. Os tipos de movimentos disponveis so descritos a seguir. Ambos os registros de destino absoluto e relativo so disponveis. Um movimento relativo aquele no qual a distncia movida relativa a posio atual do motor. Posio de Destino XYZ: Esta a posio para o qual o eixo mover no modo de coordenada XYZ quando um comando de movimento XYZ for dado. Como no modo de articulao, um registro de destino XYZ relativo vlido. Velocidade Desejada do Motor: Esta a velocidade que o motor alcanar quando comandado para efetuar um movimento de posio ou quando no modo de velocidade. expresso como uma porcentagem da velocidade do sistema. Velocidade do Sistema: Esta a velocidade mxima que qualquer motor pode alcanar. tambm expressa como uma porcentagem. Reduzindo este valor, todos os motores tero a velocidade reduzida. Acelerao do Sistema: a porcentagem do valor mximo da acelerao do sistema que cada motor pode alcanar quando o comando executado.

PWM (Modulao da Largura do Pulso): o nvel de potncia do motor expresso como uma porcentagem associada com cada motor. Pode ser lido a qualquer momento mas pode ser escrito somente quando o motor associado estiver no modo de loop aberto. 1.9 MOVENDO OS MOTORES O procedimento geral para mover um motor o seguinte: Garanta que o modo correto do motor seja configurado. Configure os registros necessrios de acordo com o modo do motor. Execute o comando do movimento. Nem todos estes passos so necessrios para todos os modelos. Uma descrio mais detalhada para cada modo dado a seguir. Um Movimento Trapezoidal Para executar um movimento trapezoidal o motor deve estar no modo trapezoidal. A acelerao do sistema no pode ser zero assim como a velocidade do sistema e a velocidade do motor que voc deseja mover no pode ser zero. Voc deve configurar o registro de destino absoluto ou o registro de destino relativo. Se o registro de destino relativo no for zero, existir precedente e o registro de destino absoluto ser atualizado aps o movimento. Aps o movimento, o registro de destino relativo tornar zero para evitar futuros movimentos no intencionais. Note que nem o sistema de acelerao e nem o sistema de velocidade pode ser alterado se qualquer motor estiver executando um movimento trapezoidal. Voc tambm no pode alterar o destino ou a velocidade do motor que ainda estiver executando um movimento trapezoidal. Controlando a Velocidade Para fazer um motor mover a uma velocidade especfica, este deve estar no modo velocidade. A acelerao do sistema no deve ser zero assim como a velocidade do sistema. Configurando a velocidade do motor desejada, o motor ir acelerar at que a velocidade desejada seja alcanada. Voc pode alterar a velocidade do motor, a velocidade do sistema e a acelerao do sistema a qualquer momento. (Entretanto, se algum um outro motor ainda estiver executando um movimento trapezoidal, voc no pode alterar a acelerao do sistema ou a velocidade do sistema como indicado acima). Configurando Um Nvel de Potncia do Motor Para configurar um nvel de potncia do motor, voc simplesmente garante que o motor esteja no modo loop aberto e escreve a porcentagem de potncia do motor que voc deseja para o registro do PWM do motor. Voc pode alterar o nvel de potncia a qualquer momento. 2.0 OPERAO DA ENTRADA / SADA Tanto as entradas como as sadas so isoladas opticamente do resto do sistema. E ainda, todas as entradas e sadas possuem limitao de corrente. Isto proporciona proteo para os trabalhos internos do controlador contra rudo eltrico e no caso da corrente ou tenso mxima permitida ser excedida. As entradas e sadas podem fazer interface com uma grande variedade de dispositivos incluindo sensores padro industriais. O Captulo 4 fornece exemplos de aplicaes enquanto o apndice fornece detalhes de especificaes para cada porta. Tanto as entradas como as sadas possuem um LED associado que proporciona visualizao instantnea dos estados das portas. Se uma entrada estiver habilitada, isto , passando corrente, o LED correspondente acender. Similarmente se uma sada estiver habilitada, seu LED correspondente acender. E ainda, oito chaves so includas e podem ser usadas para facilitar o desenvolvimento do programa ou eles podem ser usados como oito entradas adicionais.

10

2.1 CARACTERSTICAS DE PROTEO Alm das caractersticas de proteo incorporadas as entradas e sadas, caractersticas adicionais so fornecidas para proteger o motor e as portas auxiliares e qualquer dispositivo como o rob conectado a elas. Estas caractersticas incluem deteco de final de curso, limitao de corrente do amplificador do motor e tecla de parada de emergncia no Controlador Manual (Pendant). Os finais de curso so condies quando o motor comandado para mover a alguma posio ou mover-se a alguma velocidade e no pode. Finais de curso somente podem ser detectados por motores com Encoder. Tipicamente, quando um final de curso detectado o motor comandado a parar e permanecer na posio em que o final de curso ordenou. Portanto o ED-MK4 e a serie ED de robs e acessrios so construdos para resistir a mal tratos, esta caracterstica prev a no necessidade de lubrificao no equipamento. Limites de corrente ocorrem quando a corrente atravs do amplificador do motor excede algum fator de ajuste de nvel. Estes limites so ajustados acima do limite da corrente de fim de curso do motor e tipicamente s ser ativada se ocorrer um curto nos terminais de alimentao do motor. Se uma corrente limite ocorrer a alimentao removida de todos os amplificadores dos motores e no pode ser religada novamente ate que um comando particular recebido pelo controlador, portanto fornece tempo ao operador para determinar e remover a falha que esta causando a corrente limite. A chave de parada de emergncia funciona como um boto de funo de pnico. Se, por alguma razo, um rob ou um acessrio parece estar fora de controle ou um obstculo est perto de ser encontrado, a chave stop pra o sistema imediatamente. ANOTAES

11

CAPTULO 2 O AJUSTE DE COMANDO DO CONTROLE MANUAL

2.1 INICIANDO UM COMANDO OU FUNO Certos comandos no so disponveis durante certos modos de operao. Por exemplo voc no pode ajustar um rtulo (LABEL) ou pular para um rtulo se o controle manual est em modo play. Neste caso o controle simplesmente ir ignorar a tecla. Geralmente se nada parece acontecer ou se o display no muda quando voc pressiona uma tecla, ento a funo designada no esta disponvel para o modo que voc esta rodando atualmente. Em outros casos o controle manual no pode executar um comando ou funo ate que ele tenha sido ajustado ou configurado. Por exemplo voc pode rodar um programa manual se o programa no foi editado ou carregado. Usualmente o controle ir lembra-lo mostrando uma mensagem no display. Um erro comum tentar entrar no modo de edio sem ter executado um hard home. A mensagem NO-HARD ir aparecer no display para lembra-lo. 2.2 ENTRANDO NMEROS E OUTRAS INFORMAES Certos comandos requerem dados para ento executar. Comandos podem requerer informao de simples digito, um nmero em alguma faixa, Uma tecla yes/no ou on/off ou uma combinao delas. Quando entrar com informao de dgito simples como um nmero de sada voc pressiona o dgito desejado. Para selecionar uma porta de entrada voc deve pressionar dois dgitos. Por exemplo para selecionar entrada 1 voc pressiona 0 seguido de 1. Para selecionar entrada 12 (chave 4) voc pressiona 1 ento 2. Alguns comandos, como o ajuste de uma sada, requerem um estado on ou off para ser inserido. Outros comandos requerem uma resposta yes ou no. Por exemplo, se voc tentar apagar um arquivo controle manual, o controle manual ir perguntar se voc realmente quer apagar este arquivo. Duas chaves so fornecidas para habilitar voc para ajustar estados ou responder perguntas. A tecla da SETA PARA CIMA serve para ajustar o estado ON ou responder perguntas afirmativamente. A tecla da SETA PARA BAIXO seve para ajustar o estado OFF ou responder as perguntas negativamente. Quando entrar com um numero de muitos dgitos, isto , um que possua uma gama de possveis valores voc pode usar as teclas de dgitos para entrar com eles ou as teclas de setas para percorrer a faixa para cima e para baixo atravs da faixa. Se a tecla de seta for usada os nmeros iro incrementar ou decrementar em uma relao to longa quanto a tecla for mantida pressionada. Todos os nmeros possuem um valor mnimo e mximo associado com eles. Se enquanto voc esta pressionando a seta para cima, o mximo valor ultrapassado, o nmero ir retornar ao valor mnimo vlido e continuar deste ponto. Da mesma maneira se enquanto voc estiver pressionando a tecla da seta para baixo, se o valor mnimo ultrapassado o nmero ir retornar ao valor mximo vlido e continuar. Se aps usar as teclas de setas, uma tecla de dgito pressionada o nmero ser apagado e substitudo pelo novo dgito. Com a adio de novos dgitos os dgitos anteriores iro se mover para a posio dos prximos dgitos. Se voc adicionou dgitos e o valor mximo excedido o nmero ser ajustado para o seu mximo. Alguns comandos requerem um nmero negativo. Por exemplo, um motor em modo velocidade tem uma faixa de velocidade de -100% a +100%. A chave +/- pode ser usada para trocar o sinal de um nmero a ser inserido. 2.3 SE VOC MUDAR DE IDIA A tecla ESCAPE geralmente tira voc de qualquer funo que esteja executando sem fazer nenhuma alterao. Por exemplo se voc iniciou a funo SET OUTPUT pressionando as teclas correspondentes, voc pode pressionar ESCAPE a qualquer momento ANTES DE PRESSIONAR ENTER, sem fazer nenhuma modificao no sistema ou programa atual. Tenha cuidado em teclar ESCAPE muitas vezes. Esta tecla tambm usada para terminar uma sesso de edio.

12

2.4 SE VOC TEM UM PROBLEMA Ocasionalmente algo sai errado. Voc pensou que o motor estivesse em modo trapezoidal mas quando voc programa sua velocidade voc descobre que esta em modo velocidade. Rapidamente o motor parte enviando os braos do rob diretamente para o seu copo de caf favorito. Ou algum tem a sua gravata presa pelas correias. A tecla STOP designada justamente para estes e outros tipos de emergncia. A tecla STOP para imediatamente todos os motores incluindo as portas auxiliares. A tecla STOP impe uma parada de emergncia e no permite que o motor desacelere. Como resultado objetos que estejam sendo transportados podero se arremessados como acontece com um carro em alta velocidade no qual o freio acionado de repente. Por esta razo, STOP dever ser usado somente em situaes onde podem ocorrer danos a objetos ou pessoas se no for parado rapidamente 2.5 DESCRIO DAS TECLAS Incluso na descrio dos comandos a seguir esto amostras do que o display ir mostrar quando voc pressionar as teclas. Desde que muitos dos comandos so disponveis em mais de um modo as descries a seguir so usadas para reduzir a explicao da funo. MODE refere-se aos modos PLAY ou EDIT. LINE# refere-se ao modo EDIT ( e algumas vezes ao modo RUN) e sempre o nmero de registro atual. LINE#+1 refere-se ao modo EDIT e o registro atual mais um. Note que o nmero da linha no ir mudar se a tecla REPLACE foi usada ao invs do ENTER. As descries presumem que a tecla ENTER seja usada. 2.5.1 EDIT/REPLACE Pressionando esta tecla quando em modo play permite a voc instruir um novo programa ou editar um programa existente. Pressionando esta tecla ao invs de ENTER quando voc tiver terminado em modo edit ir recolocar o registro atual no arquivo com o comando exato instrudo. O cabealho do registro no pode ser recolocado. Para entrar no modo edit, um hard home (posio zero) deve ser executado com sucesso. Entrando no modo edit, todos os motores em modo trapezoidal iro se mover para a posio zero, isto , suas posies 0 so definidas pela rotina hard home durante o movimento para a posio de zero o display ir mostrar:

Uma vez que a posio de zero foi alcanada todas as sadas sero desligadas e a edio pode ser iniciada. Se um programa ainda existe na memria o display ir mostrar:

Se no existir programa o display ir mostrar:

Para terminar uma sesso de edio pressione a tecla ESCAPE quando o controle no requisitar nenhuma entrada adicional.

13

2.5.2 RUN/HALT Pressionando esta tecla executa um programa de controle manual. O programa dever ter sido editado antes ou carregado de uma EEPROM ou um computador. Se no existir programa o display ir mostrar:

Como no modo edit, um hard home (posio zero) deve ser executado com sucesso. Entrando no modo run, todos os motores em modo trapezoidal iro se mover para a posio zero, isto , suas posies 0 so definidas pela rotina hard home durante o movimento para a posio de zero o display ir mostrar:

Uma vez que a posio de zero tenha sido alcanada todas as sadas sero desligadas e a execuo ir iniciar. Assim que cada registro executado seu nmero de linha e comando bsico ser mostrado.

Se a chave RUN/HALT pressionada, a execuo ser suspensa. Se o comando a ser executado um comando para mover o motor, o motor ir desacelerar ate a parada. O display ir mostrar:

Pressionando RUN/HALT neste ponto ir resumir a execuo enquanto pressionando a tecla ESCAPE ir terminar o modo run e o sistema ir entrar no modo play. Se durante a execuo ocorrer um erro, o modo run ir terminar, o sistema ir entrar no modo play e uma condio de erro ser anunciada no campo de funo do display. Um erro tpico poder ser se um motor engripou, um limite de corrente foi excedido, um rtulo de programa fui perdido ou a tecla de emergncia foi pressionada.

2.5.3 ERASE / DELET NEXT A funo erase disponvel quando o sistema esta em modo play. Isto usado para remover da memria um arquivo de instruo existente no controle manual. ( Isto no ir afetar nenhum arquivo armazenado em EEPROM). Para proteger contra apagamentos acidentais o controle ir mostrar:

14

Se voc deseja apagar o arquivo pressione YES a tecla com ( SETA ACIMA). Para abortar esta funo pressione NO (SETA ABAIXO ) ou a tecla ESCAPE. Uma vez que voc tenha respondido o display ir mostrar:

Uma vez que o arquivo tenha sido apagado ser perdido para sempre a no ser que tenha sido armazenado em EEPROM ou em um computador ou disco. A funo delet-next disponvel quando o sistema esta em modo edit. O registro atual apagado ou removido do arquivo do controle. Uma vez o registro removido do arquivo ele perdido para sempre. Voc no pode apagar o cabealho do registro.

Voc pode recolocar o registro apagado entrando um novo comando e pressionando a tecla ENTER ou REPLACE. Pressionando SETA ACIMA ou SETA ABAIXO sero mostrados os registros atuais ou prximos se eles existirem.

2.5.4 ON INP/SW GO TO IF THE INPUT (or SWITCH) MATCHES THE SPECIFIED STATE THEN JUMP TO LABEL *Se a entrada ( ou chave) coincidir com o estado especificado ento v para o rtulo Este comando implementa um atalho condicional para um rtulo especifico. Se a condio existe o atalho feito se no existe a execuo continua para o prximo registro no arquivo. Esta funo disponvel somente no modo edit. executada somente no modo run. Voc deve entrar com o nmero da entrada (ou chave) (01 a 08 ou 09 a 16 ) usando as teclas de dgitos, seguido do estado (ON/OFF) que voc deseja testar usando a tecla on/off e finalmente o rtulo que voc deseja alcanar usando as teclas de dgitos/ setas. A faixa de rtulo vlido de 1 a 99. Uma seqncia tpica de teclas para programar um JUMP TO LABEL 2 IF INPUT 04 IS OFF o seguinte:

Tecla ON INP/SW/ GO TO pressionada

Entrada 04 selecionada (Pressiona-se 0 e depois 4)

15

O estado desligado (estado a ser alcamado) selecionado.

Label 2 selecionado

Tecla ENTER pressionada


Este comando executado somente durante o modo run. Se um atalho deve ser pego o programa ir pular para o primeiro rtulo casado do arquivo inicial. Se no puder ser encontrados rtulos casados o modo run ir terminar e error ser mostrado. Rtulos em duplicata no sero checados. 2.5.5 SET LABEL Ajustes de rtulos para um comando de atalho condicional ou incondicional. Esta funo disponvel somente no modo edit. Voc deve inserir o rtulo usando as teclas de dgitos ou setas. A faixa vlida de rtulo 1 a 99. Os displays seguintes mostram um exemplo de um rtulo ajustado para o valor 2.

Tecla SET LABEL pressionada

Label 2 selecionado utilizando tanto os dgitos quanto as setas

Tecla ENTER pressionada

16

Rtulos em duplicata no so checados. Se o programa faz um atalho para um rtulo ele usa o primeiro rtulo encontrado no inicio do arquivo. 2.5.6 GO TO LABEL Este comando implementa um atalho incondicional para um rtulo especificado. Esta funo disponvel somente no modo edit. executada somente no modo run. Voc deve inserir com o rtulo usando a tecla de dgitos ou setas. A faixa vlida de rtulo 1 a 99. Os displays seguintes mostram um exemplo onde o rtulo 2:

Tecla GO TO LABEL pressionada

Label 2 selecionado utilizando tanto os dgitos quanto as setas

Tecla ENTER pressionada Este comando executado somente durante o modo run. Se um atalho deve ser pego o programa ir pular para o primeiro rtulo casado do arquivo inicial. Se no puder ser encontrados rtulos casados o modo run ir terminar e error ser mostrado. Rtulos em duplicata no sero checados. 2.5.7 SET OUTPUT Este comando ajusta uma sada especificada para um estado especificado. Voc deve entrar com o nmero da sada ( 1 a 8 ) usando as teclas de dgitos, seguido do estado (ON/ OFF) que voc deseja ajustar usando as teclas on/off. O exemplo seguinte torna a sada 2 off.

Tecla SET OUTPUT pressionada

A Sada 2 selecionada utilizando as teclas de dgitos

17

Estado desligado selecionado utilizando as teclas Desligar e Seta para Baixo

Tecla ENTER pressionada A sada ser ajustada imediatamente. 2.5.8 WAIT ON INP/SW Espera at que a entrada selecionada (ou chave) combine com o estado especificado. Este comando implementa uma espera at que o estado atual da entrada (ou chave) selecionada coincida com o estado especificado. Voc deve entrar com o nmero da entrada (ou chave) de 01 at 08 ou de 09 at 16 utilizando as teclas de dgitos, seguido do estado (ligado/desligado) que voc quer comparar utilizando as teclas liga/desliga. Uma seqncia tpica para programar uma espera na entrada 02 para ser desligada seria a seguinte:

Tecla WAIT ON INP/SW pressionada

Entrada 02 selecionada (0 pressionado e depois 2)

O estado desligado (estado de espera) selecionado

18

A tecla ENTER pressionada O estado desejado no combina com o estado atual e o sistema fica em espera.

Este resultado do display ocorre se uma espera no for requisitada ou se a tecla ESCAPE pressionada quando o sistema est esperando por uma combinao como no display anterior. 2.5.9 GO TO SOFT HOME Se o modelo do rob for 7220 ou XR-4 com controle ativado, os motores de B at F que esto no modo trapezoidal iro se mover para a ltima posio de descanso (soft home) definida. Se o controle estiver desativado, o motor A ir se mover para sua posio de descanso. Se o modelo do rob for o SCARA com controle ativado, os motores de B at F que estiverem no modo trapezoidal iro se mover para a ltima posio de descanso definida. Se o controle estiver desativado, o motor A ir se mover para sua posio de descanso. Se o controlador estiver configurado para o modo genrico ento todos os motores que estiverem no modo trapezoidal iro se mover para a posio de descanso. A posio descanso definida como a posio em que os motores esto ao ligar, depois que um hard home executado ou sempre que a tecla SET SOFT HOME pressionada, o que ocorrer por ltimo. Quando no modo de edio, esta funo no armazenada no programa pendente. Em vez de um conjunto de kernels PD ou PX seguido de um kernel MC ou MC ser armazenado, a gravao parecida com qualquer gravao de movimento do motor. Note que a funo GOTO SOFT HOME no permitida no sistema de coordenadas XYZ. Uma seqncia tpica de exibies a seguinte:

Tecla GO TO SOFT HOME pressionada

Tecla ENTER pressionada

19

Ao completar o movimento.
2.5.10 SET SOFT HOME Este comando define a posio atual de todos os motores e suas posies de descanso (soft home). Ao ligar e aps a execuo de um hard home, a posio de descanso definida como zero. A posio armazenada esta nas coordenadas das junes. Soft home no determinado no sistema de coordenadas xyz. O fato de que o soft home foi ajustado anunciado no campo de comando central. No entanto , no modo edit, este comando no armazenado no arquivo de programa no ira mudar o numero de linha. Note que isto tambm significa voc no ver por muito tempo o comando central associado com o nmero de linha atual.

2.5.11 RELATIVE Esta funo especifica que o prximo motor ou movimento axial ser feito RELATIVO a corrente do motor ou posio axial. Ser abortado se qualquer outra funo que no seja motor ou chaves axiais forem usadas ou se a tecla ESCAPE for pressionada. O modo relativo encerrado tambm quando a tecla pressionada. O fato de que o modo relativo foi ajustado anunciado no campo de comando central. No entanto , no modo edit, este comando no armazenado no arquivo de programa no ira mudar o numero de linha. Note que isto tambm significa voc no ver por muito tempo o comando central associado com o nmero de linha atual.

Quando uma chave de motor ou eixo pressionada comando central ser PR ao invs de PD ou PY ao invs de PX para mostrar que o movimento ser feito com relao a posio atual dos motores ou eixos. 2.5.12 VELOCITY Esta uma chave de funo dupla. Se no foi pressionada chave de motor esta funo permite a voc mudar a velocidade do sistema. Se uma chave de motor foi pressionada ento pressionando esta chave imediatamente aps ir permitir a voc mudar a velocidade dos motores selecionados. O motor deve estar no modo trapezoidal. ( Lembre que uma velocidade de motor uma funo da velocidade do sistema). Voc deve entrar com o valor da velocidade usando as chave de setas. A faixa vlida de velocidade tanto para velocidade do sistema quanto para velocidade do motor de 0 a 100%. ( Lembre-se que em modo trapezoidal uma velocidade negativa no reconhecida). Note que quando o sistema de velocidade ajustado, os motores em modo de velocidade iro imediatamente mudar suas velocidades para combinar com a nova velocidade do sistema.

20

Um exemplo de ajuste de velocidade ser mostrado a seguir como um exemplo de ajustar a velocidade de um motor selecionado.

Tecla VELOCITY pressionada. Velocidade atual do sistema em 80%

50% selecionado utilizando as teclas numricas ou setas

Tecla ENTER pressionada Como mencionado anteriormente, pressionando a chave de velocidade imediatamente aps pressionando uma chave de motor permite a voc mudar a velocidade do motor selecionado .Isto disponvel somente para motores em modo de velocidade trapezoidal. E ainda, diferente de um movimento do motor, voc pode ajustar somente uma velocidade de motor por registro. O exemplo a seguir assume que o controle manual esta no sistema de coordenada de articulao e motor D esta em modo trapezoidal usando posio absoluta.

Tecla Motor D presisonada. A posio atual de 230 contagens do encoder

Tecla VELOCITY pressionada imediatamente. A velocidade atual do motor de 63% da velocidade do sistema

50% da velocidade do sistema seleciondo utilizando tanto teclas numricas como as setas

21

Tecla ENTER pressionada


2.5.13 DELAY

Esta funo permite a voc entrar com um retardo de 1 a 3000 unidades. Sendo que cada unidade de 1/ 10 segundos isto corresponde a um retardo mximo de 5 minutos. Uma entrada de zero no aceita porque voc no pode parar o timer durante a execuo do programa. O delay no executado no modo edit. Durante o modo play o delay pode ser terminado pressionando a tecla ESCAPE. Voc deve entrar com o delay usando as teclas de dgitos ou as teclas de setas. Os seguintes displays mostram um exemplo de um delay de 5 unidades ou 5 dcimos de segundo.

Tecla DELAY pressionada

5 entrado utilizando tanto as teclas numricas como as setas

Tecla ENTER pressionada

Se o sistema esta em modo play o valor ajustado ira iniciar contando ate 0. 2.5.14 OPEN Abertura da garra Esta funo disponvel quando o sistema configurado para os tipos de rob 7220, XR-4, ou SCARA e a garra disponvel. A seqncia de chaves :

Tecla OPEN pressionada

22

Tecla ENTER pressionada e efetua a execuo

Ao completar o movimento

Se a garra j esta aberta no haver movimento. 2.5.15 CLOSE Fechamento da garra. Esta funo disponvel quando o sistema configurado para os tipos de rob 7220, XR-4, ou SCARA e a garra disponvel. A seqncia de chaves :

Tecla CLOSE pressionada

Tecla ENTER pressionada e comea a execuo

Ao completar o movimento Se a garra j esta fechada no haver movimento. 2.5.16 AUX Esta funo permite a voc ajustar ambas as portas auxiliar porta 1 ou auxiliar porta 2 para a mesma porcentagem da potncia e polaridade do motor. Voc deve entrar com o nmero da porta (1 ou 2) usando as teclas de dgitos seguida da porcentagem da potncia do motor (-100 a 100) usando as teclas de dgitos. Um nmero negativo ajustado entrando com a magnitude de potncia do motor desejada e ento trocar o sinal pressionando a tecla +/- .

23

Uma vez a porta selecionada o ajuste atual mostrado. O exemplo a seguir mostra a porta 2 sendo ajustada para -50% da potncia mxima do motor.

Tecla AUX pressionada

Porta 2 selecionada utilizando as teclas numricas. Nvel de potncia atual 0

50% selecionado utilizando tanto as teclas numricas como as setas

Tecla +/- pressionada para mudar o sinal

Tecla ENTER pressionada

AS CHAVES DO MOTOR As chaves do motor so usadas para mover os motores para novas posio em novas velocidades. As chaves operam em um destes modos. 1) Modo Articulao. Para selecionar o motor em modo trapezoidal. 2) Modo XYZ. Os motores requisitados esto em modo trapezoidal. 3) Modo Velocidade. O motor selecionado esta em modo velocidade. Verifique a descrio da Chave CONFIG para informaes de ajustes destes modos. Alem disso estas chaves permitem a voc ajustar diretamente a velocidade de um motor se o motor esta em modo trapezoidal. Verifique a Chave VELOCITY para maiores informaes. Cada um dos casos acima sero discutidos na seqncia.

24

Joint Mode (modo articulao) No modo joint um motor pode fazer tanto um movimento absoluto como um movimento relativo a sua atual posio dependendo se o modo relativo foi ajustado ou no usando a chave RELATIVE. Se a chave relative no foi pressionada imediatamente antes de selecionar um motor ento o modo absoluto usado e o comando central ser o smbolo PD. Da outra forma o comando o smbolo PR. A discusso a seguir ir usar o exemplo PD mas o mesmo se aplica a ambos os modos. Dois tipos de comandos de movimento so implementados no modo joint. Para o rob 7220 ou XR-4, motores B a F iro ocupar seus prprios registros e o registro ser anexado ao comando central MC (coordenado). Isto eles iro se mover de modo coordenado quando o programa executado. A posio de todos os motores B-F, sero armazenadas se eles todos movidos ou no. Motores G e H ( e A se a garra esta desativada ) iro ocupar seus prprios registros e o comando central MI (movimento independente) anexado. Novamente, a posio de ambos G e H (e A ) sero armazenados mesmo que tenham sido todos movimentados ou no. Em outras palavras voc no pode misturar motores de rob (B a F) com motores que no sejam do rob. O mesmo verdade para o sistema rob SCARA exceto o motor F tambm considerado um motor que no do rob. No caso de um rob do tipo GENRICO todos os movimentos iro usar o comando central MI. Para mover um motor necessrio duas chave em seqncia. Primeiro selecione o motor pressionando a chave do motor correspondente. Segundo, use a tecla SETA ACIMA ou SETA ABAIXO para iniciar o movimento na direo desejada a velocidade do movimento varia dependendo da ao na tecla. Pressionando a tecla uma vez e soltando rapidamente ir resultar em mudana de posio de quatro contagens do encoder.

Mantendo a tecla pressionada ir movimentar o motor lentamente na mesma velocidade.

4 contagens seta acima seta abaixo atraso LENTO

Uma vez que a velocidade baixa foi iniciada se voc soltar o boto e pressionar rapidamente novamente a velocidade ir aumentar.

4 contagens seta acima seta abaixo atraso LENTO atraso

Voc pode continuar selecionando diferentes motores, movimentando-os at que a posio desejada seja alcanada.

25

Os displays seguintes mostram um exemplo aonde os motores D e E so movimentados para novas posies.

Tecla do motor D pressionada. A posio atual de 230 contagens do encoder

Motor D movido para a posio 400 utilizando as teclas de setas

Motor E selecionado. A posio atual de 500 contagens do encoder

Motor E movido para a posio 750 usando as teclas de setas

Motor D selecionado novamente. A posio atual de 400 contagens do encoder

Motor D movido para a posio 450 usando as teclas de setas

Tecla ENTER pressionada Por exemplo somente discutindo, se o tipo de rob era 7220, XR-4, ou SCARA o registro deve ser anexado com MC caso contrrio MI.

26

XYZ MODO No modo XYZ , motores B a F para o 7220 ou rob XR-4 ou motores B a E para o rob SCARA podem ser usados para fazer movimentos XYZ. Motores G e H (e F para o rob SCARA e A se a garra esta desativada ) ir operar como no modo joint . Como no modo joint os eixos podem fazer tanto um movimento absoluto ou um movimento relativo de suas posies atuais dependendo se o modo relativo foi ou no ajustado usando a chave RELATIVE. Se a chave relative no foi pressionada imediatamente antes de ter selecionado um eixo ento o modo absoluto usado e a indicao do comando central ser do tipo PX. Caso contrario o comando central e do tipo PY. A discusso seguinte ir usar exemplos PX mas o mesmo se aplica a ambos os modos, O comando central move anexado ao registro quando ENTER pressionado MX. Trabalhando no modo XYZ algo mais complicado que o modo joint porque informaes de eixo devem ser agora includas. Movimento dos motores por si s idntico ao do modo joint, mas o display consideravelmente diferente. O display ir mostrar duas partes de informao. A primeira que o motor foi selecionado para ser movimentado. Isto anunciado entre parnteses seguido de AXIS no campo de funo. A segunda parte da informao a posio do eixo selecionado que mostrada na segunda linha do display. Quando entramos na primeira vez a funo move XYZ a segunda linha do display ir mostrar a posio atual do eixo X. Para visualizar outros eixos voc pressiona a tecla CONFIG. Pressionando vrias vezes a tecla CONFIG ir fazer com que a segunda linha do display mostre em seqncia a posio atual de cada eixo. A seqncia X,Y,Z,A ento T. X,Y e Z so mostrados em milmetros e A e T so em graus. Pressionando a tecla SETA ACIMA ou SETA ABAIXO ir afetar o movimento do motor selecionado motor em modo joint. A segunda linha mostrando o eixo selecionado ir atualizar cada vez que a tecla SETA solta. Isto quer dizer que uma posio de eixo no pode mudar sem que um motor tenha sido movimentado. Um exemplo se o rob esta alinhado totalmente para cima, movendo o motor E no ter efeito sobre a posio do eixo X. Os displays seguintes fornecem um exemplo tpico de seqncia de chaves de um movimento XYZ.

Motor F selecionado. O eixo padro selecionado o eixo X

Tecla de seta pressionada para mover o motor F

Tecla de seta liberada. A posio X foi alterada

27

Tecla CONFIG pressionada para selecionar e exibir o eixo Y

O motor E selecionado

A tecla de seta pressionada para mover o motor E e ento liberada

A tecla CONFIG pressionada 4 vezes para exibir a posio do eixo X Note que a posio do eixo X mudou de acordo com o tempo

Tecla ENTER pressionada


MODO VELOCITY (velocidade) Quando uma tecla de motor pressionada no qual o modo velocidade, pressionando a tecle SETA ACIMA ou SETA ABAIXO ir causar a mudana da velocidade do motor. O motor ir para a nova velocidade que foi trocada. Pressionando a SETA ACIMA ira causar uma aproximao do seu limite positivo enquanto pressionando a SETA ABAIXO ira causar uma aproximao do seu limite negativo. Pressionando uma tecla de seta uma vez e soltando rapidamente ir causar uma mudana de um porcento em velocidade enquanto segurando a tecla pressionada ir causar a mudana de velocidade par algum valor de acelerao ajustado de fbrica Os displays seguintes mostram um exemplo de um motor G com sua velocidade sendo ajustada para -50% da velocidade do sistema.

28

Tecla do motor G pressionada. A velocidade atual de 100% da velocidade do sistema.

Tecla seta para baixo pressionada at -50% da velocidade do sistema

Tecla ENTER pressionada

2.5.18 AS TECLAS DE SETAS As teclas de setas possuem muitas funes. Isto inclui: 1) Mover motores 2) Selecionar menus ou itens de menus quando da configurao do sistema 3) Percorrer um programa quando editando 4) Responder perguntas 5) Ajustar valores 6) Ajustar estados de sadas e entradas 1) Para uma discusso sobre movimento de motores verifique o captulo intitulado. THE MOTOR KEYS (As chave de motor) 2) Para uma discusso sobre o uso das teclas de setas quando configuramos o sistema verifique na sesso o captulo intitulado CONFIG. 3) Quando Editando, as teclas de setas permitem a voc andar no programa um registro por vez. Pressionando a tecla SETA ACIMA ir andar no programa em ordem ascendente enquanto pressionando a tecla SETA ABAIXO ir andar no programa em ordem descendente. Cada registro mostrado e executado com exceo de instrues jump ou go to e cabealhos de registro no so executadas. Se o registro atual o ltimo registro do arquivo ento pressionando a tecla SETA ACIMA o primeiro registro ser mostrado e possivelmente executado. Se o registro atual o primeiro registro no arquivo pressionando ento a tecla SETA ABAIXO ser mostrado o cabealho do registro. Isto permite a voc inserir um registro como primeiro registro. O cabealho do registro no pode ser apagado ou recolocado. Pressionando a tecla SETA ACIMA quando o cabealho do registro mostrado o ultimo registro ser mostrado e possvelmente executado. Como instrues secundrias no so executadas deve-se ter especial ateno no movimento do rob quando se executa um programa passo a passo. O rob no ir ter os mesmos movimentos que teria como se estivesse no modo run. Por exemplo, digamos que o os registros seguintes estejam em um arquivo de controle manual e o registro atual o primeiro registro listado:

29

SD, 100 LS, 1, 0, 10 LP, E. 100 (etc.) MC GL, 20 SL, 10 PD,E,200 (etc.) MC SL,20

Retardo para 10 segundos V para a linha 10 se a chave 1 est desligada. Mova para o ponto um V para o rtulo 20 Rtulo 10 Mova para o ponto dois Rtulo 20

Quando a tecla SETA ACIMA pressionada o comando LS ser mostrado mas no executado. Pressionando a tecla SETA ACIMA novamente ir fazer com que o rob se mova para o ponto 1 mesmo que a chave 1 esteja ou no. Do mesmo modo pressionando a tecla SETA ACIMA novamente o comando GL ser mostrado e de novo no executado Pressionando a tecla SETA ACIMA novamente ir fazer com que o rob se mova para o ponto dois sempre pensando que durante o modo run o comando no teria sido pulado. Quando se usa a tecla SETA ABAIXO cuidados adicionais devero ser tomados porque o programa esta sendo executado de uma maneira contrria. Considere os seguintes registros de arquivo de controle manual: VG,100 PD,E,100 (etc.) MC VG,10 Ajusta a velocidade do sistema para 100 porcento Mova para o ponto um. Ajusta o sistema de velocidade para 10 porcento.

Se o registro atual o primeiro registro relacionado ento ande atravs do programa usando a SETA ACIMA ir fazer com que o rob se mova para o ponto um com uma velocidade do sistema de 100 porcento. Se o registro atual o ltimo registro relacionado ento andando no programa usando SETA ABAIXO ir fazer o rob mover-se para o mesmo ponto porem com um sistema de velocidade de 10 porcento. Deve se ter mais consideraes quando se usar as entradas e sadas para interligar com equipamentos ou dispositivos externos. Geralmente, a menos que voc esteja certo de qual sistema possui, voc deve ter todos os dispositivos e equipamentos externamente conectados desligados quando estiver editando. 4) Quando o sistema de comando manual precisa de uma questo respondida ele ir perguntar a voc especificamente pressione a tecla sim ou no. Para responder YES pressione a tecla SETA ACIMA e para responder NO pressione SETA ABAIXO. 5) Valores como rtulos, velocidades ou ajustes PWM podem ser ajustados usando as chave d dgitos ou podem ser incrementados usado as chaves de setas. A SETA ACIMA ir incrementar os valores enquanto a SETA ABAIXO ir decrementar os valores. Todos os valores tem um ajuste mnimo e mximo associado a ele. Por exemplo sistema de velocidade pode ser ajustado de 0 a 100 porcento. Quando usamos a SETA ACIMA o valor ir aumentar ate 100 ento retornar a 0 e iniciar de l. Do mesmo modo usando a SETA ABAIXO o valor ir decrescer at que o valor mnimo seja alcanado ento ir pular para o valor mximo ajustado e iniciar decrescendo de l. 6) Quando o estado de uma sada ou uma entrada precisa ser ajustado pressione a SETA ACIMA para ajustar o estado ON ou pressione a SETA ABAIXO para ajustar o estado OFF. 2.5.19 STOP (parar) Pressionando esta tecla para todos os motores imediatamente incluindo as portas auxiliares. As sadas no so modificadas A tecla STOP impe uma parada de emergncia e no permite que o motor desacelere. Como resultado objetos que estejam sendo transportados podero se arremessados como acontece com um carro em alta velocidade no qual o freio acionado de repente. Por esta razo, STOP dever ser usado somente em situaes onde podem ocorrer danos a objetos ou pessoas se no for parado rapidamente.

30

Se o sistema esta outro modo que no seja o modo play, o modo ir terminar. Se um arquivo estiver sendo transferido para um computador a sinalizao de final de arquivo ser enviada e a transferencia terminada. 2.5.20 CONFIG (configurao) Esta tecla permite a voc executar certas funes que no so freqentes ou configurar o sistema para uma aplicao particular ou tipo de rob. Alem disso ela permite ao ED-MK4 ser controlado quando em modo host. um menu guia de significados um conjunto de itens so apresentados em que voc escolhe um pressionando a tecla ENTER. O item pode ser uma funo ou um menu de funes. Verifique a figura 6-1 que mostra os caminhos de CONFIG que podem se pegos. A primeira linha do display do controle manual sempre mostra o menu em que voc esta atualmente. A segunda linha do display mostra a funo ou menu que voc pode selecionar pressionando ENTER. Para executar uma funo ou selecionar um menu de funes pressione ENTER. Para mover de funo a funo dentro de um menu pressione a tecla SETA ACIMA ou SETA ABAIXO. Voc deixa um menu pressionando a tecla ESCAPE. Em alguns casos quando uma funo executada o CONFIG desativado. Em outros casos voc ultrapassou um nvel e continua selecionando funes do menu. Um exemplo ser primeiramente discutido ilustrando como se mover na funo CONFIG seguido da descrio de cada funo que pode ser chamada. O primeiro menu apresentado o CONFIG SYSTEM menu. O primeiro item apresentado ser a funo GO TO HARD HOME. Se a tecla ENTER pressionada o sistema ir executar um hard home e terminar o CONFIG. Se ao invs disso a tecla SETA ABAIXO pressionada, MENU SETTINGS ir aparecer. Se ao invs a tecla SETA ACIMA pressionada, o menu TRANSFER MENU ir aparecer. Pressionando ENTER nesse ponto far com que TRANSFER MENU seja selecionado e a funo LOAD USER ir aparecer. Se a tecla ENTER pressionada neste ponto um programa de controle manual ser carregado de uma EEPROM. Se ao invs a tecla SETA ACIMA ou SETA ABAIXO pressionada a funo SAVE USER aparece. Se a qualquer momento a tecla ESCAPE pressionada CONFIG encerrado. Agora que a operao bsica do CONFIG foi explicada segue agora uma descrio detalhada de cada menu e funo. A descrio presume que o ED-MK4 esta no modo de controle manual. Como previamente mencionado CONFIG SYSTEM o menu inicial com GO TO HARD HOME como primeira funo apresentada. CONFIG SYSTEM MENU Neste menu voc pode executar a funo GO TO HARD HOME, selecionar o menu TRANSFER MENU ou selecionar SETTINGS MENU. Executando a funo GO TO HARD HOME ir fazer o ED MK4 zerar o rob atualmente selecionado. Note que se o tipo de rob atual GENERIC, nenhum movimento ser inserido no motor porm o sistema ir considerar que um home foi executado com sucesso par propsitos de modo edit e run. O CONFIG ir terminar quando a tecla ENTER pressionada. Selecionando o TRANSFER MENU permite a voc transferir arquivos para e de EEPROM. Selecionando o SETTINGS MENU permite a voc mudar um modo de motor, selecione o sistema de coordenadas no qual o controle ir operar, selecione o tipo de rob que ser controlado e ative ou desative a garra.

31

Qualquer mudana feita nestes ajustes so armazenadas em EEPROM ( com exceo do sistema de coordenadas XYZ) para que voc no tenha que reconfigurar o sistema cada vez que voc ligar o ED MK4. Tambm, em especial quando voc termina o CONFIG quando uma funo executada, voc permanece com o SETTINGS MENU para que voc possa continuar a configurao. Voc encerra o CONFIG pressionando a tecla ESCAPE quando o SETTINGS MENU esta ativo. TRANSFER MENU A primeira funo apresentada LOAD USER. Pressionando ENTER neste ponto ir fazer com que o programa do controle manual armazenado na EEPROM seja transferido para RAM para edio ou execuo. Durante a transferencia a segunda linha do display ir mostrar LOADING. Pressionando uma das teclas de setas estar presente a funo SAVE USER. Pressionando ENTER neste ponto ir fazer com que o programa de controle manualmente a RAM, se existir, seja transferido e armazenado na EEPROM. Se no existir programa a mensagem NO PROGRAM ir aparecer na primeira linha do display. Durante a transferencia a segunda linha do display ir mostrar SAVING. Uma vez que a transferencia seja completada o CONFIG encerrado. Quando transferimos para a EEPROM, possvel que o programa de controle manual seja muito grande para o espao disponvel. Quando isto ocorre, a mensagem EEPROM FULL ir aparecer na segunda linha do display. A EEPROM possui aproximadamente 7.5 K de memria. Isto suficiente para muitas aplicaes. Dependendo dos tipos de comando feitos no programa, aproximadamente 100 pontos podem ser armazenados em mais de 700 linhas. SETTINGS MENU Como mencionado anteriormente, este menu permite a voc mudar um modo de motor, selecione o sistema de coordenadas no qual o controle manual ir operar, selecione o tipo de rob que ser controlado e ative ou desative a garra. Mesmo que um menu seja selecionado com o SETTINGS MENU a configurao atual ir aparecer no display. Pressionando ENTER no ir portanto efetuar mudanas salvo se a funo selecionada foi modificada. GRIP MENU (menu Garra) Assumindo que a garra esta desativada. Selecionando o GRIP MENU ir fazer com que a funo DISABLE aparea. Pressionando ENTER no haver nenhum efeito seno o de retornar voc ao SETTINGS MENU porque a condio atual da garra desativada. Se ao contrario as teclas de setas tivessem sido usadas para selecionar a funo ENABLE, e ento a tecla ENTER fosse pressionada o estado da garra teria mudado. Novamente voc teria retornado ao SETTINGS MENU para continuar a configurao. TYPE MENU (menu Tipo) Da mesma maneira, quando TYPE MENU selecionado o tipo de rob atual ir aparecer na segunda linha do display. Voc esta apto a selecionar os tipos de rob XR, SCARA, ou GENERIC. COORD MENU (menu coordenadas) Os mesmos passos se aplicam para COORD MENU onde voc pode escolher JOINT ou XYZ como sistema de coordenadas. Um hard home deve ser completado com sucesso antes que XYZ seja escolhido. Uma vez que XYZ escolhido ele no retornar ao religar devido a necessidade de um hard home com sucesso. MODE MENU Para modificar um modo de motor voc deve primeiramente selecionar o motor que voc deseja modificar. Neste caso no existe default de motor e MOTOR A ser a primeira funo disponvel. Uma vez que um motor seja selecionado o modo do motor atual correspondente ir aparecer.

32

MOTOR MENU Como j mencionado o modo atual do motor selecionado ir aparecer na segunda linha do display. Se voc quer ajustar o modo do motor para TRAPEZOIDAL, VELOCITY ou IDLE. OPEN LOOP no aceito. Ao invs de retornar ao SETTINGS MENU quando ESCAPE pressionado ou um novo modo selecionado voc retornar ao MODE MENU ento voc pode selecionar outros motores os quais voc deseja mudar. TAKING CONTROL FOR THE HOST Presumindo que um computador esta controlando o sistema e portanto o controle manual esta no modo host. Se o computador desligado sem passar o controle de volta, o controle manual no ir reconhecer isto e ir permanecer em modo host. Portanto um reconhecimento deve ser feito para o ED-MK4 ter o controle de volta sem desligar. Simplesmente pressione ENTER, o controle ser transferido para o controle manual. Se voc se enganou e no deseja transferir o controle, pressione simplesmente ESCAPE.

Fig. 2-1 CAMINHOS DE CONFIGURAO

33

NOTAS

34

CAPTULO 3 EXEMPLO DE PROGRAMAS DO CONTROLE MANUAL 3.1 INTRODUO Os exemplos seguintes mostram como o controle manual pode ser usado para programar o controlador ED-MK4 e um brao de rob conectado. Os exemplos iro usar o brao rob 7220 porem o mesmo conceito se aplica para o XR-4, SCARA ou qualquer acessrio. O equipamento necessrio o controlador ED-MK4 com controle manual e o brao rob 7220 ou XR-4. Certifique-se de que toda a a energia esta desligada e conecte todos os equipamentos de acordo com os procedimentos descritos no captulo dois. Uma vez que todos os equipamentos estejam conectados, ligue o controlador ED-MK4. Se o controlador foi previamente configurado para 7220, XR-4 ou SCARA com porta A do motor configurada em modo trapezoidal e a garra ativada, a garra ir fechar e ento abrir. O LCD dever mostrar PLAY no canto superior direito. Como enviado de fbrica, o controlador esta configurado para operar com o rob XR-3 ou XR-4, modo articulao, garra ativada e todos os motores em modo trapezoidal. 3.2 SETUP Se voc no esta certo de qual configurao esta no sistema, agora a vez de checar e modifica-lo se necessrio. A seguir ser apresentado a seqncia de chaves passo a passo para configurar o sistema para os exemplos apresentados. A configurao que faremos : O tipo de rob ser 7220 / XR-4. Motores de A ate F estaro em modo trapezoidal Motores de G ate H estaro em modo idle. A garra estar ativada O sistema de coordenadas ser articulao. Nos iremos ento solicitar um procedimento de hard home (posio zero) para iniciar o brao rob. Tecla a Pressionar Display inicial Selecionando o Tipo de Rob CONFIG CONFIG SYSTEM GO TO HARD HOME CONFIG SYSTEM Informao do Display PLAY

UP ARROW TRANSFER MENU UP ARROW

CONFIG SYSTEM SETTINGS MENU SETTINGS CFG MODE MENU SETTINGS CFG

ENTER

UP ARROW COORD MENU

35

UP ARROW TYPE MENU ENTER

SETTINGS CFG

TYPE CFG Tipo atual de rob

Se o tipo atual de rob no XR-3 ou XR-4, use as teclas de setas para selecionar XR-3 / XR-4 ento pressione ENTER. Se o tipo de rob atual j XR-3 / XR-4 ento pressione ESCAPE. Se o motor da garra esta em modo trapezoidal e ativado a garra ir fechar e ento abrir. Selecionando Modos de Motor SETTINGS CFG TYPE MENU UP ARROW SETTINGS CFG GRIP MENU SETTINGS CFG VERSION SETTINGS CFG MODE MENU MODE CFG MOTOR A MENU MOTOR A CFG Modo atual do motor

UP ARROW

UP ARROW

ENTER

ENTER

Se o modo atual do motor no TRAPEZOIDAL ento pressione tambm a tecla de Seta ate que TRAPEZOIDAL seja selecionado e pressione ENTER. Caso contrario pressione ESCAPE. 2 MODE CFG MOTOR A MENU UP ARROW MODE CFG MOTOR B MENU

Repita os passos de 1 a 3 para motores de B a F. Para motores G e H selecione o modo IDLE durante o passo 2 desde que nada esteja conectado nestas portas. Ativando a Garra ESCAPE SETTINGS CFG MODE MENU SETTINGS CFG VERSION SETTINGS CFG GRIP MENU

DOWN ARROW

DOWN ARROW

ENTER

GRIP CFG estado atual da garra

Se a segunda linha do display mostra ENABLED, ento pressione ESCAPE.

36

De outra forma se o display mostra DISABLED, pressione tambm as teclas de seta para selecionar ENABLE e ento pressione ENTER. Se voc tinha ativado a garra ela ir fechar e ento abrir. Selecionando o Sistema de Coordenadas SETTINGS CFG GRIP MENU UP ARROW SETTINGS CFG VERSION SETTINGS CFG MODE MENU SETTINGS CFG COORD MENU COORD CFG Sistema de coordenada atual.

UP ARROW

UP ARROW

ENTER

Se o sistema de coordenada atual JOINT ento pressione ESCAPE. Caso contrario use as teclas de setas para selecionar JOINT ento pressione ENTER.

SETTINGS CFG COORD MENU ESCAPE PLAY

Neste ponto todas as modificaes que voc tenha feito devero ter sido salvas na EEPROM. Se voc desligar o controlador voc no precisara reconfigurar o sistema salvo se voc tiver mudado o equipamento como para um brao SCARA, adicionado acessrios ou deseja usar sistema de coordenadas XYZ para programao do controle manual. Executando um Hard Home CONFIG CONFIG SYSTEM GO TO HARD HOME PLAY HARD HOME

ENTER

Este display ir permanecer ate que o hard home tenha completado e execuo. Em Operao PLAY

3.3 JUMPS As instrues de JUMP so de dois tipos: condicional e incondicional. O primeiro exemplo ir mostrar um jump incondicional onde uma sada desligada e ligada continuamente. O segundo exemplo ir mostrar o mesmo programa porem o programa ir terminar se a chave esta desligada. Esteja certo que voc esta no modo PLAY antes de iniciar. Se esta em modo EDIT simplesmente pressione ESCAPE. Se o sistema esta em modo RUN, primeiro pressione HALT seguido de ESCAPE. Pressione a tecla EDIT para iniciar o modo EDIT. Se a mensagem de erro NO-HARD mostrada ento um hard home deve ser executado. (Verifique SETUP descrito acima.) O rob ir retornar para sua posio zero se ele tiver sido movido antes de executar um hard home.

37

Se o display mostra EDIT READY ento um programa j existe. Pressione ESCAPE para deixar EDIT ento pressione ERASE. Responda yes para remover o arquivo existente ento pressione EDIT novamente. O programa que desejamos criar designado a ligar e desligar a sada continuamente. Isto requer uma instruo de jump Que faz com que a instruo de controle possa ser repetida. Para usar uma instruo de jump um rtulo dizendo aonde o sistema deve ir deve ser especificado. Lembre-se de que todas as sadas so desligadas quando o modo EDIT iniciado, evitando-nos o problema de inicializ-las. O programa completo ser mostrado a seguir pela seqncia de chaves usada para cria-lo. SL-2 OB,1,1 OB,1,0 GL,2 Line 1 Line 2 Line 3 Line 4 Cria Rtulo 2. Liga Sada 1. Desliga Sada 1. Desvia para o Rtulo 2.

Set Label 2 Enter Set Output 1 ON Enter Set Output 1 OFF Enter

SL,SL,2SL2 OB,OB,1OB,1,1,OB,1,1 OB,OB,1,OB,1,0OB,1,0

Line 0 Line 0 Line 1 Line 1 Line 1 Line 1 Line 2 Line 2 Line 2 Line2 Line 3

Go To Label 2 Enter

GL,GL,2GL,2

Line 3 Line 3 Line

Uma vez que o programa tenha sido introduzido, pressione ESCAPE para deixar o modo EDIT. Pressionando RUN ir executar o programa e voc poder ver o led associado a sada 1 piscando ligado e desligado. Para terminar o programa pressione HALT seguido de ESCAPE. Se ao invs de ESCAPE voc pressionar Run, o programa ir continuar a execuo. STOP tambm ir terminar o programa porm usualmente reservado para uso em emergncia. O segundo exemplo similar ao primeiro porm o termino do programa ir depender de um ajuste de chave. Isto implementado usando uma instruo de jump condicional. Se a condio reconhecida, o jump feito. Se a condio no reconhecida, a execuo continua para a prxima instruo. Se no existe prxima instruo o programa ir terminar. SL,2 OB,1,1 OB,1,0 LI,12,1,2 Line 1 Line 2 Line 3 Line 4 Cria Rtulo 2. Liga Sada 1. Desliga Sada 1. Se a Chave 4 Estiver Ligada Ento Desvia para o Rtulo 2.

Neste exemplo uma instruo de jump incondicional foi substituda por um jump condicional. Se a chave esta ligada, o programa ir continuar a execuo. Se a chave esta desligada, a execuo ir terminar desde que no existam mais instrues.

38

Nos podemos inserir este programa como antes, aps apagar o anterior, ou nos podemos modificar o programa existente. Para modificar o programa inicie o modo EDIT pressionando a tecla EDIT. Use a tecla SETA ACIMA ou SETA ABAIXO para percorrer os passos do programa ate que a instruo jump na linha quatro seja alcanada. Lembre-se de que muitas instrues so executadas quando percorremos o programa passo a passo. Instrues de jump no. Existem trs mtodos para modificar o programa. Nos podemos deletar a linha atual e ento inserir a nova instruo ou nos podemos modificar a linha atual ou, finalmente, nos podemos estar na linha anterior a linha em questo, inserir a nova instruo, pular para a instruo antiga e apaga-la. Obviamente, modificar a linha a melhor opo. Para modificar a linha atual use a seguinte seqncia de teclas: On Inp/Sw Go To 1 2 On 2 Replace LI,LI,1LI,12,LI,12,1,LI,12,1,2LI,12,1,2 Line 4 Line 4 Line 4 Line 4 Line 4 Line 4

Pressione ESCAPE para deixar o modo EDIT. Esteja certo de que a chave 12 esta ligada ento pressione RUN. O programa ir continuar executando ate que a chave 12 seja desligada. Novamente, se voc desejar, voc pode terminar o programa pressionando HALT seguido de ESCAPE. 3.4 CRIANDO MOVIMENTOS Criar movimentos envolve selecionar o motor que voc deseja mover e pressionar SETA ACIMA ou SETA ABAIXO para efetuar movimento. Assumindo que voc esta em modo edit, pressionando ENTER ir ento armazenar o novo ponto na memria. Com algumas limitaes voc pode selecionar e mover diferentes motores em qualquer ordem e a qualquer momento antes de pressionar a tecla ENTER. Verifique a sesso Chaves de Motor no captulo 6, O ajuste de Comando do Controle Manual, para detalhes especficos. Embora no seja geralmente usado, voc pode misturar movimentos de rob articulao e XYZ usando o controle manual. Para misturar movimentos articulao e XYZ de qualquer forma requer que voc deixe o modo edit, mude o sistema de coordenadas atravs da tecla CONFIG e reentre no modo edit. Porque o modo edit reentrando, o rob retorna para a posio hard home e voc ter que andar atravs do programa para retornar ao ponto em que voc estava. Tenha em mente tambm que reentrando no modo edit ir causar o reset de qualquer sada previamente programada. OBS: No implementado para o robo ED-7220C

39

CAPTULO 4 ENTRADA E SADA

4.1 INTRODUO O painel frontal do ED-MK4 inclui oito entradas, oito sadas e oito chaves que juntos a um ajuste de comando abrangente fornece um sistema de controle de I/O flexvel e expansivo. As entradas e sadas podem ser interligadas com inmeros I/O de controladores e sensores industriais. Os comandos incluem bit de leitura e escrita, porta de leitura e escrita e de comutao de sada. Incluso no painel existe um conector que fornece aproximadamente +12 volts e at 3 amp de corrente para alimentar os I/O de controladores e sensores externos. Ambas entradas e sadas so opticamente isoladas do resto do sistema e so de corrente limitada. Isto proporciona proteo para o funcionamento interno do controlador contra rudos eltricos e em caso do valor mximo permitido de tenso e corrente ser excedido. O estado atual de cada entrada e sada anunciado por um LED correspondente. Se o LED esta aceso a entrada ou sada correspondente esta ligada, isto , circula corrente. Se o LED esta apagado ento a entrada ou sada correspondente esta desligada. As oito chaves podem ser usadas como oito entradas adicionais ou podem ser usadas para simular as entradas normais permitindo a voc desenvolver programas sem exigir de voc instalar o circuito externo normalmente requerido quando interligamos em outro equipamento ou dispositivo. A figura 4.1 mostra uma configurao tpica de entrada.

FIGURA 4.1 A figura 4.2 mostra uma configurao tpica de sada.

FIGURA 4.2

40

4.2 ENTRADA DE APLICAES A figura 4.3 mostra dois exemplos de uma entrada controlada por uma chave e um rel respectivamente. O sinal de +12 volts e terra vem do conector de fora do I/O no painel frontal do ED-MK4. No caso do rel, a bobina ser controlada por algum dispositivo externo e eletricamente isolada do ED-MK4. ( Normalmente um diodo ser colocado em paralelo com a bobina para prevenir picos de corrente quando o campo magntico da bobina desligado.) O resistor de 1K ohm usado como um limitador de corrente, de outra forma quando a chave fechada ou o rel energizado um curto quase direto existir entre o +12 volts e o terra. Sendo que a entrada aparece como um diodo a corrente permitida a fluir atravs da entrada aproximadamente (12-.7) / 1k ou 11.3 mA que suficiente para acionar o transistor do opto acoplador.

FIGURA 4.3 Dessa forma se a entrada esta ligada o LED correspondente estar aceso.

A figura 4.4 um exemplo mostrando um dispositivo externo que eletricamente conectado ao painel frontal do ED-MK4. Para estas aplicaes o terminal terra do conector de fora do I/O deve ser conectado no dispositivo externo. O 7407 um inversor coletor aberto. Quando a entrada do inversor esta alta a sada aterrada permitindo que a corrente flua atravs da entrada do ED-MK4 tornando ela e o LED correspondente ligados. Se a entrada do inversor est baixa a sada est desligada no flui corrente e a entrada do ED-MK4 est desligada

ENTRADA

Circuito Integrado cdigo 7407 Inversor de Coletor Aberto

FIGURA 4.4

41

No incomum para sensores fornecer uma sada analgica ao invs de um simples estado de ligado ou desligado. A figura 4.5 apresenta um exemplo usando um conversor A/D permitindo ao ED-MK4 usar estes sensores.

Entradas

Buffer 74LS240 ou 74LS244

Conversor A/D

Veja Ampliao Ampliao Alimentao E/S Entrada

FIGURA 4.5 Infelizmente para se obter uma resoluo decente todas as oito entradas precisaro ser usadas. Normalmente em uma aplicao que requeira um conversor A/D, entradas adicionais so necessrias. De fato, voc pode encontrar aplicaes mesmo sem conversores A/D onde mais de oito entradas so necessrias. As portas de entrada do ED-MK4 podem ser expandidas multiplexando as entradas requeridas e usando as sadas como um seletor de endereo. A Figura 4.6 mostra este exemplo.

Selecione Entradas
Multiplexador

8 Entradas

2:1

Alimentao

4 Entradas Livres

E/S

FIGURA 4.6 Note como a sada configurada. Entradas TTL precisam de uma tenso muito baixa para reconhecer como uma entrada baixa e uma tenso de 2.5 volts ou mais para reconhecer como uma entrada alta. As sadas do ED-MK4, quando ligadas e passando corrente, tem uma pequena queda de tenso entre seus terminais. Se as entradas inversoras esto amarradas em nvel alto atravs de um resistor de polarizao positiva e uma sada do ED-MK4 usada para curto circuitar a entrada para terra, a entrada de tenso resultante pode no ser baixa o suficiente para ser reconhecida.

42

.Usando um resistor de polarizao de terra garantindo uma tenso baixa e tornando a sada do ED-MK4 ligada ira causar uma tenso alta vlida a ser colocada atravs do resistor. Note que isto muda o sentido ou lgica das sadas do ED-MK4. Isto , com a sada do ED-MK4 desligada, a sada do inversor ser alta. Se um resistor de polarizao positiva foi usado, a sada do inversor devera estar baixa.

4.3 SADA DE APLICAES A figura 4.7 mostra uma sada controlando uma entrada. Novamente um resistor usado para limitar a corrente e o conector de alimentao do I/O fornece o sinal +12 volts e terra. Quando a sada esta alta a entrada estar ligada e ambos os LEDs correspondentes estaro acesos.

SADA

ENTRADA

FIGURA 4.7 Se uma aplicao necessita de uma completa isolao eltrica ento um dos dois exemplos a seguir mostrados na figura 4.8 podem ser usados.

SADA SADA Isolador ptico Rel

FIGURA 4.8 Ocasionalmente voc pode encontrar uma aplicao requerendo mais sadas do que as disponveis. A figura 4.9 mostra uma configurao simples para expandir o nmero de sadas. Assumindo que o sinal de latch enable esta ativo na transio de alto para baixo. Isto , as entradas do latch tornam-se sadas quando o sinal do latch enable muda de terra para 5 volts. Assumindo tambm que as sadas so inativas quando em nvel alto. Para inicializar o sistema voc dever ajustar as sadas correspondentes as entradas dos latches ligados. Ento para cada sinal de latch enable voc ir desligar a sada correspondente tornando-a ento ligada. Isto causa um sinal de latch enable baixo tornado dessa forma todas as sadas finais como desligadas. ( Lembre a discusso acima sobre sadas e entradas TTL no exemplo expanso de entrada).

43

Para ligar, por exemplo, a sada superior do banco superior, voc deve ajustar a sada correspondente do ED-MK4 em nvel alto e garantir que as outras trs sadas estavam no mesmo estado que estavam do ltimo latch. Voc poder ento desligar e ligar o sinal de latch correspondente. Note que aps a inicializao, ao invs de ligar e desligar o sinal de latch da sada, voc pode usar o comando to toggle (chavear) na sada.

Sadas Ativar Latch Latch 4bits

1 sada livre

12 sadas

Ativar Latch Alimentao de E/S Latch 4bits

Ativar Latch Latch 4bits

FIGURA 4.9

4.4 OBTENDO 5 VOLTS ATRAVS DA ALIMENTAO DO I/O Quando realizamos experincias algumas vezes surge a necessidade de uma alimentao de +5 volts. Alguns dos exemplos acima usaram esta alimentao. O circuito a seguir apresentado para sua facilidade. Ele capas de fornecer at 1 amp Em + 5 volts e pode ser usado em paralelo com a fonte de +12 volts necessria para sua aplicao. Naturalmente a corrente disponvel na fonte de +12 volts ir diminuir.

44

Sada Alimentao E/S

Regulador de Tenso

FIGURA 4.10

45

ANOTAES

46

Captulo 5 Descrio dos Comandos do Menu Principal O Rob Talk possui 10 comandos em seu menu principal que o usurio controla a operao do Rob Talk e os programas aplicativos os comandos so. Comandos Config ................................................ Do ....................................................... Edit ..................................................... Files ................................................... Load ................................................... Quit .................................................... Run .................................................... Save ................................................... Teach ................................................. Descrio Ajustes do Rob Talk Ajusta um comando simples de Rob Talk Cria ou muda um programa Lista o diretrio do disquete Carrega um programa do disquete Deixa o Rob Talk Executa um programa Armazena um programa no disquete Define uma posio do rob

Todos os comandos principais podem ser executados tanto digitando o nome do comando inteiro ou sua primeira letra. O restante deste captulo ir descrever cada comando do menu principal.

47

5.1 CONFIG

Ajustes do Rob Talk

O comando CONFIG permite ao usurio ajustar o Rob Talk em vrios modos de operao e armazenar estes parmetros em um arquivo no disquete para que o Rob Talk pegue este default toda vez que tenha sido reiniciado. O CONFIG da ao usurio controle sobre: Robot Mode ( XR or SCARA) Gripper Mode ( motor, Aux, output ) Programming mode ( ONLINE, OFFLINE) Gripper Closure Distance Digitando CONFIG atravs do menu principal ir gerar as seguintes telas mostrando os parmetros de CONFIG e seus ajustes atuais. 1. 2. 3. 4. 5. 6. 7. 8. Mode : XR Gripper: motor Offline Gripper count to full closure: 60 Communication port (1-2): 1 XYZ Parameters...... Controller Mode ED-MK4 I/O Module: Offline

Change ? (y/n): Respondendo NO ( ou qualquer resposta que no seja yes) para o prompt change ir deixar os ajustes atuais como o mostrado e o Rob Talk ir retornar ao menu principal. Se for respondido YES, o Rob Talk ir perguntar ao usurio qual dos oito parmetros a modificao deve ser feita. Quando o numero da linha desejada correspondente ao parmetro a ser mudado introduzido, O Rob Talk ir mostrar o nome do parmetro e as opes disponveis. Quando o ajuste desejado introduzido, o novo ajuste ser armazenado no disquete atual no arquivo de configurao (chamado CONFIG.RT ) que ser lido cada vez que o Rob Talk iniciado. O menu de configurao ir reaparecer junto com os novos ajuste e o usurio novamente questionado se uma mudana deve ser feita. O MODO parmetros coloca o Rob Talk em um dos dois modos XR ou SCARA. A nica diferena entre estes dois modos a implementao da rotina HARDHOME. E importante mudar o modo para casar o rob atualmente conectado ao controlador do rob antes de tentar iniciar o rob. O parmetro dois usado para ajustar o modo da Garra. O Rob Talk permite ao usurio uma ao direta de OPEN e CLOSE na porta A do motor (que uma configurao padro) ou nas portas AUX e OUTPUT I/ O. No modo motor o sistema deve ter o motor padro da garra conectado na porta A. Os comandos OPEN e CLOSE iro ativar a porta do motor A e abrir e fechar a garra. Se uma garra que no seja padro como um fim de curso a vcuo ou magntico esta sendo usado, configure o Rob Talk para um dos dois modos AUX ou OUTPUT. No modo AUX, um comando CLOSE ir ligar a porta um do motor auxiliar; um comando OPEN ir desligar a porta aux. Quando configurado para o modo OUTPUT, as respostas para os comandos OPEN e CLOSE so os mesmos como no modo AUX exceto que o nvel de sada da porta TTL um ser ativado ao invs da porta AUX. Precaues devem ser tomadas no uso dos modos AUX e OUTPUT visto que outros comandos alem de OPEN e CLOSE podem controlar as portas AUX 1 e OUTPUT 1. O terceiro parmetro direciona o Rob Talk a entrar no modo ONLINE ou OFFLINE. No modo ONLINE, o controlador do rob e um rob devem ser conectados no computador e o Robo Talk ir mandar todos os comandos relacionados para o controlador em tempo real. Esta a configurao padro. O modo OFFLINE permite ao usurio criar programas e rodar programas no relacionados com o Robo Talk sem a necessidade de ter um controlador de rob e um rob conectado ao computador. Este modo especialmente til quando estudamos Robo Talk e programao de robtica e os recursos de robtica no so disponveis. O quarto parmetro controla a quantidade de movimento para abrir totalmente a garra usada. O contagem 1024 que esta presente de fbrica para a garra padro que vem com o rob 7220 e no precisa ser mudada salvo quando uma garra que no seja padro usada.

48

Quando o Robo Talk configurado para o controlador ED-MK4, muda o valor para 240. (Ao selecionar EDMK3 ou ED-MK4, como descrito acima, este parmetro automaticamente muda.) Este parmetro pode ser usado para restringir a quantidade de abertura da garra ajustando o parmetro para um valor menor que o original. O Robo Talk implementa uma simulao de uma garra pneumtica e nela a garra sempre tenta fechar totalmente. Na inicializao do rob, a garra deve ser permitida a fechar totalmente ento a partir dessa posio a garra aberta pela quantidade especificada pelo quarto parmetro. O quinto parmetro usado para especificar qual porta de comunicao esta conectada no controlador do rob. Muitas placas seriais so configuradas como COM 1 quando vem do fabricante. O sexto parmetro diferente das selees anteriores neste ele chama uma tela separada que usada para especificar constantes usadas em movimentos de coordenadas cartesianas. Verifique o captulo 8 para mais informaes a respeito desta seleo. O stimo parmetro usado para configurar o Rob Talk para ambos os controladores ED-MK3 ou EDMK4. Esta presente de fbrica para operao do ED-MK4. Quando mudar este parmetro voc deve verificar a mudana de parmetro de fechamento da garra ( nmero 5). Se voc deseja um fechamento de garra diferente do default voc deve alterar o parmetro de fechamento aps mudar os parmetros do controlador. Nota: Programas feitos usando um ED-MK3 no so necessariamente compatveis com um ED-MK4 e vice e versa. O ED-MK4 aumenta a resoluo do encoder do rob por um fator de quatro. Como resultado programas escritos para um ED-MK3 e rodados em um ED-MK4 ir fazer com que o motor se mova muito mais. Similarmente programas escritos para um ED-MK3 e rodado em um ED-MK4 ir fazer com que motor no se desloque o suficiente. Alem disso, alguns comandos no so transportados entre sistemas e ir resultar em erros de sintaxe ou no reconhecimento de mensagens de comando. O oitavo parmetro permite que a comunicao seja estabelecida com o mdulo de Entrada/Sada. Se voc no tem o mdulo I/O, ou se ele no est conectado, este parmetro ir permanecer OFFLINE (desconectado). Informaes adicionais esto disponveis no Manual do Mdulo de I/O que embalado junto com o Modulo I/O. 5.2 DO Modo de execuo direta

O comando DO coloca o rob no modo de execuo direta onde comandos individuais podem ser executados sem estar inseridos no contesto de um programa de aplicao. A execuo direta til quando verificamos o funcionamento de um novo sistema onde os efeitos dos ajuste de vrias entradas e sadas podem ser avaliados. Alem disso, o rob pode ser movimentado com os comandos MOVE e MOVE TO, permitindo ao usurio estudar os efeitos dos vrios caminhos entre os pontos finais. Uma vez que o modo DO foi introduzido o Robo Talk ir mostrar : Os dois pontos so o prompt do modo DO. O Robo Talk ir permanecer no modo DO at que um Q <return> seja digitado retornando o controle novamente para o menu principal. Exemplo A seqncia seguinte ir mostrar This is the DO mode na tela. DO<return> : Type This is the DO mode This is the DO mode :Q 5.3 EDIT Criando ou alterando um programa Edit permite ao usurio criar um novo programa aplicativo ou editando um existente. O editor so realmente dois editores em um; um para texto ou o programa o outro para definir ou mudar as variveis de posio do rob. Inmeras funes so disponveis para que seja feita a alterao, listando imprimindo e examinando o programa em um procedimento simples. O captulo 6 contem um descrio profunda de todos os comandos do editor.

49

5.4 FILES

Mostra o diretrio do disco

O comando FILES lista o contedo do disquete atual. Somente arquivos do programa Robo Talk sero mostrados (arquivos com a extenso RT) no todos os arquivos. FILES til para determinar qual nome de programa deve ser usado para que um programa possa ser salvo cujo nome j no exista. 5.5 LOAD Carrega um programa do disquete Em muitos casos, um programa que foi escrito ser armazenado em um disquete para uso futuro. O comando LOAD permite ao usurio carregar estes programas salvos e torn-los ento disponveis para execuo. O formato geral do comando LOAD LOAD [ <filename>[.ext]>] Onde <filename.ext> o nome do arquivo que est sendo carregado do disquete no computador. O nome do arquivo deve ser de acordo com o software que esta sendo usado com o Robo Talk. Somente extenses .RT e .DAT, referentes ao arquivo de programa e posio respectivamente, so permitidas. Se o nome de arquivo no determinado, O Robo Talk ir responder com enter filename: Se uma extenso determinada, somente aquele arquivo ser carregado; no entanto se no dada a extenso, ambos o programa e seu arquivo de posio sero carregados. A flexibilidade da sintaxe LOAD filename, permite ao usurio criar um programa e usar inmeros arquivos de localizao; isto permite tambm que um arquivo de localizao ser usado com inmeros programas aplicativos. Exemplo Suponha que um programa chamado CREATE para ser usado para estudar um sistema de operao paletizado e os pontos para este experimento em particular esta localizado em um arquivo chamado CASE1. O comando de LOAD apropriado ser LOAD CRATE.RT LOAD CASE1.DAT

Se um nome de arquivo que especificado no comando LOAD no existe no disquete atual. O Robo Talk ir responder com : Cannot open program file ou Cannot open location file. 5.6 QUIT Sair do Robo Talk

Para sair do ambiente do Robo Talk e retornar ao nvel DOS do computador digite QUIT. Quando QUIT executado, O Robo Talk ir perguntar ao usurio se isto o que ele deseja; digitando YES para a pergunta Return to system? Ir completar o retorno ao nvel DOS, o sistema de controle manual ir sair tambm do modo host. Quando o controlador ED-MK3 usado o display do controle ir mudar de H para P significando modo play. Para o ED-MK4 ir mudar de HOST para PLAY. 5.7 RUN Executa um programa

O comando RUN usado para executar um programa d Robo Talk que foi criado ou carregado de um disquete. O formato geral de um comando RUN RUN [<n>]

50

Onde <n> uma constante inteira opcional, com valor mximo de 32.767, que especifica o numero de vezes que o programa ser executado. Se <n> for omitido, o programa ir executar uma vez. Se <n > for ajustado para -1 (ou qualquer valor negativo), o Robo Talk ir executar o programa 32.767 vezes ou ate que a tecla A (aborto) seja pressionada Exemplo Suponha que o programa atual para ser executado 5 vezes; o comando RUN apropriado RUN 5 Nota: Pressionando a barra de espao ir parar temporariamente a execuo at que seja pressionada novamente. Durante esse perodo o A (aborto) e T (trace on/off) no esto ativas 5.8 SAVE Armazena um programa no disquete

Em muitos casos, um programa que foi escrito ser armazenado em um disquete para uso futuro. O comando SAVE permite ao usurio salvar o programa e torn-lo ento disponvel para futura execuo. O formato geral do comando SAVE SAVE [<filename[.ext]>] Onde <filename.ext.> o nome do arquivo que para ser salvo no disquete. O nome do arquivo deve estar de acordo com o software DOS que esta sendo usado com Robo Talk. Somente extenses de .RT e .DAT, referentes ao programa e extenso de arquivo respectivamente so permitidas. Se no dado o nome do arquivo, o Robo Talk ir responder com Enter filename: Se dada uma extenso, somente aquele arquivo ser salvo; no entanto se no dada uma extenso ambos o programa e sua localizao ou arquivo de posio sero salvos. A flexibilidade da sintaxe SAVE filename, permite ao usurio criar um programa e usar inmeros arquivos de localizao; isso tambm permite que uma localizao de arquivo seja usada com inmeros programas aplicativos. Exemplo Suponha que um programa chamado CREATE para ser usado para estudar um sistema de operao paletizado e os pontos para este experimento em particular ser salvo em um arquivo chamado CASE1. O comando de SAVE apropriado ser SAVE CREATE. RT SAVE CREATE1.DATE Se um nome de arquivo, que especificado no comando SAVE, ilegal, isto no tem .RT ou DAT como uma extenso. O Robo Talk ir responder com Invalid filename. 5.9 TEACH Define um ponto de localizao

O comando TEACH usado para definir uma localizao de rob e determinar um nome a ela. A diferena entre o uso do comando TEACH atravs do menu principal e o comando TEACH no editor que o comando editor tambm insere um comando MOVEP no programa a ser editado. O comando TEACH pode ser usado para criar um grupo de variveis de posio independente do uso delas em um programa; portanto um numero de pontos pode ser assinalados antes da criao do programa.

51

O formato geral do comando TEACH TEACH <point name> Onde <point name> o nome a ser designado para o ponto que foi definido; <point name> pode ter ate oito caracteres. Quando o comando TEACH .e executado, o computador passa o controle para o Controle Manual e o usurio pode mover o rob para a localizao desejada. Com o acionamento da tecla ENTER no controle manual, o Robo Talk ir armazenar o ponto e designar a ele o nome especificado. Pontos adicionais podem ser introduzidos com o determinador de nome de pontos do Robo Talk para cada ponto que so os mesmos que o nome especificado porem com um anexado ascendente. Por exemplo, se os seguinte comando foi introduzido. TEACH box O primeiro ponto definido ser determinado o nome box e o prximo ser designado o ponto box1, etc. O Robo Talk no armazena o status da garra como uma parte de um ponto de localizao, de qualquer forma as chaves da garra funcionam atravs do controle manual quando definindo um ponto. Isto til quando se aproxima o ponto de contato, onde o tamanho do objeto pode ser determinado, com o propsito de agarrar, antes de definir um ponto. Para terminar uma seo de instruo pressione a tecla END para o ED-MK3 ou ESCAPE para o ED-MK4. Voc pode terminar tambm pressionando a tecla RETURN no teclado. No entanto quando se usa o teclado do ED-MK4 o RETURN pode ser usado somente imediatamente aps um ENTER ou antes de uma seleo de motor. End.

52

Captulo 6 O Editor O editor do Robo Talk realmente dois editores combinados em um. O primeiro o editor de texto muito parecido com o prprio BASIC. O segundo o editor de movimento do rob que usado para instruir e modificar movimentos de rob usando o controle manual. Geralmente falando, o editor possui trs modos de operao : Insert, Teach, e Command. Quando no modo Insert, tudo que voc digita inserido no computador ate que voc digite um control Z ou ESC no incio de uma nova linha. No modo Teach, o controle manual se torna ativo e voc pode posicionar o rob e definir uma seqncia de movimentos. No modo Command, o editor esta esperando para aceitar um instruo. Instrues estas obtidas listando e imprimindo seu programa para modificar uma linha de seu programa. De fato, ambos o modo Insert e o modo Teach so alcanados pela sada do prprio comando do modo Command. Abaixo esta uma lista dos comandos do editor.
Texto do Comando Append Delete Edit Find Insert List New Print Quit Skip <return> Funo Insere texto no final do seu programa Apaga as linhas especificadas no seu programa Permite que mudanas sejam feitas em uma linha especificada Encontra uma srie de caracteres e faz dessa linha a atual Insere um texto na linha atual Lista seu programa na tela Limpa o editor para um novo programa Imprime o seu programa atravs de uma impressora Retorna ao menu principal Vai para uma linha especificada Mostra a prxima linha

TABELA 6.1 Os Comandos do Editor Em conjunto com o Controle Manual voc pode tambm usar o editor para criar e modificar pontos de localizao. Um ponto uma localizao especifica do rob definida pelo nmero de passos de encoder que cada motor foi movimentado a partir da posio hard home. Abaixo esta uma lista de comandos de movimento do editor.

53

Comando

Funo Mostra e posiciona o rob no ponto especificado e permite a voc fazer mudanas na posio Lista todos os pontos (localizao) programados Imprime a localizao dos pontos atravs de uma impressora Apaga uma varivel de ponto de seu programa Permite que variveis de ponto sejam criadas

Examine

LISTL

PRINTL

Remove Teach

TABELA 6.2 Comandos de Movimento do Editor Todos os comandos exceto LISTL e PRINTL podem ser obtidos tambm digitando a letra maiscula de cada comando, ou a palavra total. Todos os comandos que precisem de um parmetro de numero de linha devem ter um espao entre o comando e o numero de linha. O diagrama abaixo mostra a estrutura para o editor.
Command mode Insert: introduz um texto em seu programa. Control - Z a stop Teach: Guia o rob atravs de uma srie de movimentos usando o controle manual

T odos os outros comandos do editor

TABELA 6.3 Estrutura do comando do editor Voc pode perceber sempre que esta no modo comando porque o editor mostra a mensagem Editor Ready na sua tela. Isto significa que voc pode dar a ele um comando. Quando voc esta em modo insert, voc ir ver sucessivos nmeros de linhas. O resto deste captulo consiste de uma discusso detalhada desses comandos. 6.1 APPEND O comando Append instrui o editor a ir para o final do seu programa e no modo insert. Assim que voc inserir um texto, voc estar adicionando nova linha no final do seu programa. Exemplos Assuma que o programa abaixo esta atualmente no modo editor. 1 WAITFOR 3 2 MOVE 0,10, 143, 33, 146 3 IFSIG 4 THEN MOVEP P23 Para reiniciar a edio de novas linhas aps a linha 3, voc deve digitar

54

A <return> Voc ir ver imediatamente o numero de linha 4 e o cursor estar posicionado dois espaos a direita dele. Neste ponto, voc est no modo insert e pode comear a entrar com o novo texto. Se voc entrou com o seguinte: 4 5 EM NOW WAITFOR 6 ^Z

Voc deve ver: 1 2 3 4 WAITFOR 3 MOVE 0, 0, 10, 143, 33,146 IFSIG 4 THEN MOVEP P23 EM NOW WAITFOR 6

6.2 DELETE Delete remove as linhas especificadas de um programa. O formato geral do comando D <FIRST LINE #> [< LAST LINE#>]<RETURN>

Isto ir apagar as linhas iniciando com o nmero da primeira linha ate o nmero da ultima linha e fs da primeira linha a linha atual. Se voc apagar linhas no meio de seu programa, as linhas abaixo das que foram apagadas iro se mover para cima preenchendo o espao deixado. Um espao deve separar o comando e o numero da linha Exemplos Assuma que o programa abaixo esta atualmente no modo editor 1 2 3 4 SETI A=1 CLS TYPE PASSAR #:; TYPE A

Aps Digitar D 2<return>

Seu programa ser parecido com isto: 1 2 3 SETI A=1 TYPE PASSAR #:; TYPE

Aps digitar D 2 3 <return>

Seu programa ir parecer com isto: 1 SETI A=1

55

6.3 EDIT O comando Edit usado para modificar uma simples linha de programa. Por exemplo, se voc cometeu um erro de digitao e descobriu isto aps ter acionado o <return>, voc dever usar o Edit para corrigir o problema. O formato geral do comando edit E <LINE #> <return>

Onde <LINE> o nmero de linha que voc deseja editar. Um espao deve separar o comando e o nmero da linha. Aps voc ter digitado o comando, voc ir ver a linha que voc deseja modificar na tela e seu cursor estar posicionado diretamente abaixo dela, abaixo do primeiro caractere. Neste ponto as seguintes teclas de edit estaro ativas:
Tecla DEL END ou RETURN -> <ESC Funo Apaga um caractere da posio atual Copia o resto de uma linha e finaliza o edit Copia um caractere de uma linha antiga para uma nova linha Retrocede e apaga o caractere ( o mesmo que BACKSPACE) Cancela o edit; a linha antiga no modificada

TABELA 6.4 Funes das chaves editando Para inserir novos caracteres, avance usando a seta direita no IBM-PC, para a posio desejada de insero e digite os novos caracteres. Voc no estar escrevendo sobre o texto existente ate aquele ponto porque ele ser copiado aps o novo texto. Lembre-se : quando usar as teclas de setas, a funo Num-Lock deve estar desligada. Exemplos Assuma que voc tenha o seguinte como linha 1 no seu programa. 1 type ESTE UM TESTE

A letra A esta faltando na sentena. Para consertar voc deve digitar primeiro E 1 <return>

Sua tela ir ficar ento 1 1 type ESTE UM TESTE _

Com a posio do cursor indicada pelo trao. Avance com o espao aps o S do IS usando a seta direita. Sua tela ir ficar assim

56

1 1

type ESTE UM TESTE type ESTE _

Agora digite um espao e a letra A. Voc ir ver 1 1 type ESTE UM TESTE type ESTE A

Pressione a tecla seta direita at que as aspas finais apaream, ento pressione <return>. A linha 1 ser agora 1 type ESTE UM TESTE

Assuma que a linha 4 4 IF A<10 THEN THEN GOTO 100

Como voc pode ver, a palavra THEN foi digitada acidentalmente duas vezes. Para remover a palavra a mais, primeiro digite E 4 <return>

E usando a seta direita, avance ate o T do primeiro THEN. Sua tela dever ficar 4 4 IF A<10 THEN THEN GOTO 100 IF A<10 _

Agora, pressione a tecla DEL cinco vezes. Voc ira ver 4 4 IF A<10 THEN THEN GOTO 100 IF A<10 /T//H/E//N/ /_

Voc deve agora digitar <return> ou END e o resto da linha ser copiado na nova linha. A linha quatro ir agora ficar 4 IF A<10 THEN GOTO 100

Cada vez que voc usa a tecla DEL, o caractere apagado ser mostrado entre os sinais de diviso. 6.4 EXAMINE O comando eXamine usado para mostrar os passos do motor dos pontos de localizao instrudos usando o controle manual e opcionalmente modific-los. O formato geral do comando X <POINT NAME> Onde <POINT NAME> o nome do ponto que voc deseja examinar e possivelmente modificar. Voc deve deixar um espao entre o X e o nome do ponto, aps entrar com o comando eXamine, o rob ir moverse para o ponto especificado. ( Esta tambm uma maneira de descobrir onde um ponto nomeado esta localizado no espao ) Exemplo Assuma que o ponto P1 tenha os seguintes passos de motor designados para ele (B to H): 10, 200, 150, 300, 780, 0, 0 Aps digitado X P1 <return>

57

Voc dever ver as contagens do motor para P1 mostradas na tela: B 10 C D 200 150 E 300 F 780 G 0 H 0

Change? (Yes/No/Teach) _ E o rob ser movimentado para a posio definida por P1. Neste ponto voc pode mudar os passos do motor para P1 respondendo Y ou T para a pergunta Change. Outra resposta a ser dada ser a resposta NO. Se voc responder NO, ento nenhuma mudana ser feito no ponto P1. Se voc responder yes, voc ser questionado para nova informao. Voc ir ver enter new value for motor B (<cr> to skip): Um <return> sozinho ir deixar o passos do motor B sem alterao; qualquer novo nmero que voc introduza seguido de um <return> ir tornar-se o novo ponto para o motor B. O controle ir permanecer com o mesmo motor at que um <return> seja digitado sem nmero. Aps cada entrada de uma nova posio do motor, o rob ser movimentado para nova localizao. Voc ir ver um prompt similar para cada motor. Desde que o motor A controla a garra, ele no define uma posio e portanto no pode ser editado com a funo eXamine. Se voc respondeu com um T para o prompt CHANGE ?, voc ativou o Controle Manual que permite a voc redefinir a localizao do ponto movimentando o rob com as chaves de movimento de motor. Quando o rob tenha sido posicionado no local desejado, pressione a tecla END (ENTER se estiver usando o EDMK3) no teclado do Controle Manual ou <return> no teclado do comutador. Desde que o estado da garra no uma posio relacionada, as chaves de controla da garra no Controle Manual funcionam mas no so registradas quando a tecla ENTER pressionada. Nota: Se voc est usando um controlador ED-MK4 a tecla ENTER do teclado esta travada uma vez que um motor esta selecionado at que uma tecla ENTER ou ESCAPE do controle tenha sido pressionada. Aps digitar um T para o prompt CHANGE?, o Robo Talk ir mostrar: Teach point xxxxx Onde xxxxx o nome do ponto que esta sendo modificado. 6.5 FIND O comando FIND designado para ajudar a fazer mudanas fcil e rapidamente. O comando permite ao programador encontrar uma seqncia de caracteres especificados no programa e fazer a linha em que ele aparece tornar-se a linha atual. O formato do comando FIND F:<character string><return> No deve existir espao entre o F e os dois pontos. O Robo Talk ir aceitar at 16 caracteres no character string, ir iniciar a procura do string a partir da posio da linha atual e continua ate que o final do programa sege alcanado. Uma palavra parecida sempre ser encontrada independente do grupo total de caracteres, por exemplo grupos de letras acima e abaixo so considerados. Se o string especificado no for encontrado, O Robo Talk ir mostrar: <character string> NOT FOUND Exemplo Assuma que o seguinte programa est atualmente no editor.

58

1 2 3 4 5

REM ESTE UM PEQUENO PROGRAMA MOVEP POINT WAITFOR 3 MOVEP POINT 1 HOME

E que o editor tem a linha 1 como linha atua. Para encontrar a primeira ocorrncia para POINT 1 coloque o seguinte comando no editor: F:POINT1<return> O Robo Talk ir encontrar POINT1 na linha 4 e retornar para o prompt do editor com a linha 4 como linha atual. 4 MOVEP POINT1 Editor Ready: 6.6 INSERT O comando insert usado para entrar no modo insert do editor. Isto como voc introduzir texto no seu programa. Quando se usa o comando insert, voc sempre estar introduzindo texto na posio da linha atual. A linha atual e a que esta sendo mostrada diretamente abaixo do Editor Ready. Se voc esta criando um novo programa a partir do inicio, ento digitando I seguido de um <return> ir sempre iniciar inserindo texto na linha 1. Enquanto voc estiver inserindo texto pode usar a seta de retrocesso para retornar e corrigir um erro antes de teclar <return>. Para parar de inserir, voc deve digitar um control - Z ou ESC como primeiro caractere na nova linha. Digitando control - Z em qualquer outro ponto de uma linha no ter nenhum efeito. Todos os outros controles e teclas especiais so desativadas durante o insert. Nenhuma linha excedendo 80 caracteres ser introduzida. Se isto ocorre, o editor ir terminar automaticamente esta linha e pular para a prxima linha. Se voc entrar com texto no meio do seu programa, todas as linha seguintes ao ponto de entrada iro se mover para baixo para formar espao para as novas linhas que voc esta digitando. Nenhuma linha antiga ser sobrescrita ou apagada. Exemplos Assuma que o seguinte programa esta atualmente em seu editor. 1 2 3 4 5 REM ESTE UM PEQUENO PROGRAMA MOVEP POINT WAITFOR 3 MOVEP POINT 1 HOME

Para inserir uma nova linha de texto iniciando na linha 3, voc primeiro digita S 3 <return> posiciona o editor na linha 3. Voc ir ver 3 WAITFOR 3 Editor Ready: Agora digite I <return>

59

Para iniciar a introduo do texto. Voc ir ver o numero 3 e o seu cursor estar posicionado a direita dele. Entre com a seguinte linha. CLOSE -1 Seguido de um return. Voc ir ver ento o numero 4 aparecer. Voc pode continuar a introduzir texto, ou digitar um control-Z ou ESC para parar e retornar para o modo comando. Se voc digitar um control-Z nesse ponto e ento listar o programa voc ir ver 1 2 3 4 5 6 REM ESTE UM PEQUENO PROGRAMA MOVEP POINT CLOSE - 1 WAITFOR 3 MOVEP POINT 1 HOME

6.7 LIST O comando List usado para mostrar seu programa no computador. Existem duas formas deste comando. A primeira lista o programa inteiro e L <return> A segunda forma lista somente as linhas especificadas L <FIRST LINE #> [<LAST LINE #>]<return> Sero listadas as linhas iniciando com o nmero em PRIMEIRA LINHA ate o numero em ULTIMA LINHA e far do numero em PRIMEIRA LINHA a linha atual. Um espao deve ser colocado entre L e o nmero da primeira linha e entre os dois nmeros de linhas. Se a ULTIMA LINHA for omitida, todas as linhas a partir da primeira sero listadas. Assuma que o seguinte programa esta atualmente no editor. 1 2 3 4 5 6 7 REM MOSTRAR OS NMERO 1 AT 10 REM E MOVER O MOTOR F SETI C=1 10 TYPE C MOVE 0, 0, 0, 0, C SETI C=C+10 IF C<101 THEN GOTO 10

Se voc digitar L seguido de um <return>, voc ira ver todo o programa listado na tela. Se voc digitar L 3 5 <return> voc ira ver 3 4 5 SETI C=1 10 TYPE C MOVE 0, 0, 0, 0, C

A listagem, que esta sendo mostrada na tela do computador pode ser temporariamente interrompido para permitir que seja lido pressionando a BARRA DE ESPAO. O display ir permanecer parado at que a BARRA DE ESPAO sege pressionada novamente. Voc pode tambm abortar uma lista longa pressionando a tecla <return>; isto ir fazer voc retornar ao prompt Editor. 6.8 LISTL LISTL permite ao operador mostrar todas as localizaes de pontos atualmente programadas e seus valores de posio.

60

O comando lista os valores de posio para os motores B ate H; os valores so o numero de contagens de encoder a partir da posio home. Os pontos XYZ so tambm listados na unidade default para medio. O motor A no listado porque ele no usado para posicionamento do brao do rob, somente para controlar a garra. O display LISTL aparece como segue: B 0 -40 C 10 0 y 108.35 D 50 0 z 321.34 E 5 80 a 0.00 F 300 20 t 0.00 G -20 0 H 0 0

Point1 Point2

x Xpoint3 0.00 6.9 NEW

O comando NEW ir apagar qualquer programa que estiver atualmente no editor e limpar todos os pontos de localizao instrudos com o Controle Manual. Ele torna o editor pronto para um novo programa. Programas e pontos que so apagados no podem ser recuperados! 6.10 PRINT O comando Print ir imprimir seu programa inteiro par a impressora. Isto assumindo que voc tenha configurado seu hardware como mostrado no captulo 1. O IBM-PC imprime para uma porta paralela padro de impressora. A impressora pode estar conectada todo o tempo. Nota: Se a impressora no esta online no momento em que PRINT selecionado, um erro de DOS ir ocorrer isto pode finalizar o Robo Talk retornando voc ao prompt do DOS.

6.11 PRINTL O comando PRINTL ir imprimir os pontos de localizao atuais programados e seus valores de posio para a impressora. Isto assumindo que voc tenha configurado seu hardware como mostrado no captulo 1. O IBM-PC imprime para uma porta paralela padro de impressora. A impressora pode estar conectada todo o tempo. O comando imprime os valores de posio para os motores de B at H; os valores so o numero de contagens de encoder a partir da posio home. Os pontos XYZ so tambm impressos na unidade default para medio. O motor A no impresso porque ele no usado para posicionamento do brao do rob, somente para controlar a garra. A sada PRNTL aparece como a seguir B 0 -40 C 10 0 y 108.35 D 50 0 E 5 80 F 300 20 t 0.00 G -20 0 H 0 0

Point1 Point2

x Xpoint3 0.00

z a 321.34 0.00

Nota: Se a impressora no esta online no momento em que PRINT selecionado, um erro de DOS ir ocorrer isto pode finalizar o Robo Talk retornando voc ao prompt do DOS.

61

6.12 QUIT O Quit usado para deixar o editor e retornar ao menu principal. Seu programa, e quaisquer mudanas estaro intactas e podero ser reeditadas mais tarde. 6.13 REMOVE Remove usado para apagar uma localizao de ponto instrudo usando o controle manual do sistema. O formato geral deste comando R <POINT NAME> Onde <POINT NAME> o ponto a ser removido. O espao necessrio entre o R e o nome. Para cada programa o Robo Talk permite 100 pontos de localizao a ser definidos e instrudos atravs do controle manual. Exemplos Se os pontos P0, P1, P2, P3, e P4 so definidos, ento digitados R P3 Ir remover o ponto P3, deixando P0, P1, P2, e P4 atualmente no sistema. 6.14 SKIP Skip usado para ir a uma linha especificada e torn-la a linha atual. O formato geral deste comando

S <LINE #><return> Onde <LINE #> a linha que voc deseja ir. Um espao deve separar o comando e o numero da linha. Exemplos Assuma que o seguinte programa esta atualmente no editor. 1 2 3 4 5 6 7 REM MOSTRAR OS NMERO 1 AT 10 REM E MOVER O MOTOR F SETI C=1 10 TYPE C MOVE 0, 0, 0, 0, C SETI C=C+1 IF C<11 THEN GOTO 10

Para mostrar e fazer a linha 4 como a atual, voc deve digitar S 4 <return> Do Editor. Voc dever ver ento 4 10 TYPE C Editor Ready: Isto significa que o editor esta posicionado na linha 4. Com o uso do Insert como seu prximo comando, voc pode iniciar a introduo de um texto neste ponto.

62

6.15 TEACH O comando Teach usado para ativar o controle manual, definir pontos de localizao movimentando o rob e automaticamente inserir comandos MOVEP para estes pontos no programa atual. O formato geral do comando T <POINT NAME> Onde <POINT NAME> o primeiro ponto em uma seqncia de pontos a ser instrudos. O espao entre o T e o nome do ponto necessrio. O mtodo de instruir o rob consiste em usar as teclas de controle de motor no Controle Manual para mover o rob at a posio requerida e ento pressionando a tecla ENTER no controle para inserir aquela localizao no editor. O comando Teach tambm permite ao usurio inserir comandos de garra no programa. Sendo que definindo uma posio e ajustando o estado da garra so duas aes no relacionadas, o comando Teach no permite programar ambas a aes ao mesmo tempo. Veja abaixo para maior discusso. Voc deve instruir uma srie de pontos sem reentrar o comando Teach porque o Robo Talk ir numero aps o nome do ponto e incrementar esse nmero de um aps cada comando de ENTER. Por exemplo. Se voc iniciou instruindo uma CAIXA de ponto, e instruiu trs pontos, voc pode ver o seguinte na sua tela Teach point Point box Point box 1 Point box 2 BOX entered entered entered

Para parar o teach, voc pressiona a tecla END no controla ou ( ESCAPE para o Mark IV), ou tecla <return> no teclado do computador. ( Quando se esta usando o controle MARK IV, a tecla <return> est travado uma vez que um motor selecionado e permanece travado ate que um ENTER atravs do controle seja pressionado.) Cada vez que voc pressiona a tecla ENTER do controle, o editor ir automaticamente entrar com um comando MOVEP ou um comando de garra no seu programa na posio da linha atual. Por exemplo, se a linha atual no seu programa 4 e voc est instruindo um ponto P12, aps pressionar ENTER, a seguinte linha ser introduzida em seu programa. 4 MOVEP P12 Por esta razo importante ter certeza que a linha atual onde voc deseja que estas instrues MOVEP sejam colocadas. Mesmo que as instrues MOVEP sempre sejam introduzidas em seu programa quando voc esta instruindo os pontos, voc pode apaga-las ou reorganiza-las mais tarde. Elas so introduzidas por pura convenincia. As seguintes teclas do controlador manual do ED-MK4 esto ativas quando instrumos um ponto. Todas as teclas de setas ENTER END GO SOFT HOME 1, 10 Para mover um motor, pressione a tecla do motor desejado ento use as teclas de seta acima e seta abaixo para move-lo. O ENTER usado para definir um ponto uma vez que voc tenha o rob na sua posio desejada. ESCAPE retorna o controle para o Robo Talk e o teclado do computador. Exemplos Assuma que o seguinte programa esta atualmente no editor. 1 2 3 REM UM PROGRAMA DE EMPILHAR CAIXAS TYPE PROGRAMA DE EMPILHAMENTO DE CAIXAS FOR C = 1 TO 100

63

4 5 6

TYPE PASS; TYPE C NEXT

O loop principal para o programa de empilhamento das caixas foi definido, mas nenhum movimento foi feito ainda. Voc deseja iniciar os movimentos na linha 6, ento voc digita S 6 <return> Voc ir ver 6 NEXT Editor Ready Neste ponto digite T BOX <return> Agora usando o controle manual, mova o rob para que ele peque as caixas e as empilhe. Nas varias posies apropriadas do rob voc deve pressionar a tecla ENTER para salvar aquela localizao. Se voc definiu trs pontos e ento pressionou END ( para o controlador MARK IV pressione a tecla ESCAPE ), seu programa ir ficar: 1 2 3 4 5 6 7 8 9 REM UM PROGRAMA DE EMPILHAR CAIXAS TYPE PROGRAMA DE EMPILHAMENTO DE CAIXAS FOR C = 1 TO 100 TYPE PASS; TYPE C MOVEP BOX MOVEP BOX1 MOVEP BOX2 NEXT

As instrues MOVEP foram introduzidas nas linha 6, 7 e 8. Todas as outras linha foram movidas para baixo. O Robo Talk no registra status da garra com os registros de posio: Ento quando usamos o controle manual no editor, um comando MOVEP ou um comando de garra (CLOSE ou OPEN) ir ser inserido no programa. Quando o comando manual esta ativo, o Robo Talk ir detectar que operao esta sendo usada, uma das duas um movimento de motor ou uma operao de garra. Se somente as teclas de garra foram usadas e o status da garra foi mudado. O Robo Talk ir introduzir um comando CLOSE ou OPEN em um programa dependendo do estado da garra quando a tecla ENTER foi pressionada. De qualquer forma se o rob foi movimentado, o Robo Talk ir inserir um comando MOVEP para a nova localizao no programa. As chave de garra so sempre ativas, mesmo quando movendo o rob, porm somente a posio e no o estado da garra ser registrado. Por exemplo, se voc tinha instrudo o seguinte comando Teach: Teach point BOX Com, o controle ativado, voc aciona o rob usando as chaves de movimento do motor. O ponto introduzido no Robo Talk ir ter o nome BOX e um comando MOVEP BOX ser inserido no programa. Se voc responder para o mesmo comando Teach pressionando somente as chaves de controle da garra no controle manual, o comando introduzido no Robo Talk ir ser um dos dois um CLOSE ou um OPEN dependendo do estado da garra no momento que a tecla ENTER foi pressionada. O nome de localizao no usado nem o sufixo do numero do nome do ponto incrementado. Esta caracterstica includa para facilita programaes simples de uma serie de aes do rob e ter estas aes colocadas em ordem consecutiva em seu programa. Comandos de garra podem tambm ser inseridos no programa como qualquer outro comando do Robo Talk sem o uso do comando Teach usando o modo Insert do editor. Fim.

64

ANOTAES

65

Captulo 7 Descries dos comandos A linguagem de programao do Robo Talk possui mais de 50 instrues, comandos e funes mais comandos do editor. Estas instrues e comandos podem ser retiradas em instrues de programa de controle e instrues de controle de rob como listado abaixo. Instrues de programa de Controle BEEP ERROR _CHECK GOSUB IFMICRO...THEN LOCAL RETURN TROFF WAITFOR CLS FOR...TO.../ NEXT GOTO IFSIG...THEN... PAUSE SEND TRON END GET_ ANSWER IF...THEN... INPUT REM SETI TYPE

Instrues de Controle de Rob ARC CLEARPATH HARDHOME MOVE TO MOVEP MOVEX OFFLINE ONLINE PATH SETPATH Funes ACOS COS ASIN SIN ATAN TAN ARCX CLOSE HOME MOVEGH MOVES MOVEX TO OFFSET OPEN POINT SETPATHX AUX GRIP MOVE MOVEGH TO MOVEXS MOVEXP OFFSETX OUTSIG SEARCH VEL

O resto deste captulo contem uma descrio detalhada de cada comando. Quando discutimos possveis mensagens de erro geradas por cada comando, a mensagem Syntax error no esta includa nesta discusso porque comum para todos os comandos e indica simplesmente que uma linha foi introduzida incorretamente. 7.1 ACOS, ASIN, ATAN Funes Trigonomtricas Inversas

Estas trs funes aceitam argumentos e retornam o valor trigonomtrico apropriado em graus. Desde que estas so funes elas no podem ser usadas como comando por elas mesmas mas so para ser usadas em tarefas de instrues e expresses. O formato geral do comando <floating point variable> = ACOS <floating point variable> <floating point variable> = ASIN <floating point variable> <floating point variable> = ATAN <floating point variable> As funes ACOS e ASIN aceitam argumentos na faixa de -1 a 1. A funo ACOS retorna valores de 0 180 graus enquanto a funo ASIN retorna valores de -90 a 90 graus. A varivel usada para ter o valor devera ser um tipo ponto flutuante, se no, ira resulta somente em valor inteiro. O programa seguinte ir converter coordenadas cartesianas para coordenadas polares.

66

10 20 30 40 50 60 70 80

INPUT ENTRE X , @ X INPUT ENTRE Y , @ Y @ R = (@ X *@ X + @ Y * @ Y ) ^ 0,5 @ T = ATAN(@ Y/@ X) TYPE RAIO = ; TYPE @R TYPE TETA = ; TYPE @ T

Se o argumento para uma funo esta fora dos limites da funo trigonomtrica aparece um erro Out of Bounds 7.2 ARC ED-MK4 Movimento Circular de Ponto Definido (No implementado ED-7220C)

O comando ARC move o rob em um arco ou crculo a partir da posio atual atravs de dois pontos predefinidos. O comando pode ser usado somente com uma combinao de um ED-MK4 e um rob XR-3. Um coprocessador ser necessrio para o seu computador. O formato geral do comando ARC <point1>, <point2> [, <loop>][, <velocyt>][, <max move>] Onde <poit1> a posio intermediria e <point2> a posio de destino.<point> pode ser um ponto de coordenada cartesiana ou um ponto de localizao de articulao. Por exemplo: ARC SP1, DP1 Ir causar um deslocamento da garra do rob da atual posio atravs de um ponto de localizao de articulao pr definido SP1 para o ponto de localizao de articulao pr definido DP1 ao longo de um crculo. ARC XSP1, XDP1 Ir causar um deslocamento da garra do rob da atual posio atravs de um ponto de coordenada cartesiana pr definido XSP1 para o ponto de coordenada cartesiana pr definido XDP1 ao longo de um crculo. Os parmetros opcionais propiciam controle de movimentos adicionais. Se <loops> 0 ou no especificado ento o arco especificado por <point1> e <point2> ser atravessado. De qualquer forma <loops> especifica o numero de crculos a atravessar e pode ser fracionrio. Por exemplo <loops> = 0,5 ir fazer com que a metade de um circulo seja atravessada. O parmetro <velocity> a velocidade com que o circulo ou arco atravessado e um numero entre 0.0 e 1.0. O valor default 1.0. Um valor de 0.0 resulta em um velocidade muito baixa. O parmetro <max move> a distancia mxima a percorrer em milmetros por tich. Um tich corresponde a 1/60 de um segundo. O parmetro dever permanecer pequeno de outra forma um erro Move too long pode ser gerado. O valor default 1mm. O comando ARC SP1, DP1, 1.5, 0.5, 1.0 Isto ira resultar em atravessar uma vez e meia um circulo definido pela posio atual, SP1e DP1, a uma velocidade metade da atual do sistema. permitido um movimento mximo de 1mm por 1/60 seg. Certas combinaes de pontos, velocidades e valores mximos de movimento podem resultar em movimentos invlidos ou movimentos que so incapazes de ser completados. Isto pode acontecer devido a pontos serem idnticos, pontos em uma linha ou o movimento resulta em uma distncia muito grande para ser completada em 1/60 seg. Erros como Move too long, Out of bounds, ou Interpolation move out of bounds indica esses problemas. Em geral, movendo para um outro local de inicio, mudando um ou mais pontos levemente ou usando parmetros opcionais diferentes ir remover o erro.

67

7.3 ARCX

ED-MK4 Movimento Circular Cartesiano (No implementado ED-7220C)

O comando ARCX move o rob em um arco ou crculo a partir da localizao atual atravs de duas localizaes cartesianas. O comando pode ser usado somente com uma combinao de um ED-MK4 e um rob XR-3. Um coprocessador ser necessrio para o seu computador.

O formato geral do comando ARCX <X1>, <Y1>, <Z1>, <X2>, <Y2>, <Z2>, [, <loop>][, <velocyt>][, <max move>] Onde <X1>, <Y1>, e <Z1> a localizao do ponto intermedirio e <X2>, <Y2>, <Z2> a localizao de destino. Por exemplo: ARCX 0.0, 108.35, 321.44, 0.0, 188.46, 403.67 Ir fazer com que a garra do rob se desloque da posio atual atravs da localizao atual (0.0, 108.35, 321.44) para a localizao (0.0, 188.46, 403.67). Os parmetros opcionais proporcionam controle de movimentos adicionais e so os mesmos daqueles definidos no comando ARC. O comando ARCX 0.0, 108.35, 321.44, 0.0, 188.46, 403.67, 1.5, 0.5, 1.0 Isto ir resultar em atravessar uma vez e meia um circulo definido pela posio atual e as duas localizaes feitas a uma velocidade metade da atual do sistema. permitido um movimento mximo de 1mm por 1/60 seg. Certas combinaes de pontos, velocidades e valores mximos de movimento podem resultar em movimentos invlidos ou movimentos que so incapazes de ser completados. Isto pode acontecer devido a pontos serem idnticos, pontos em uma linha ou o movimento resulta em uma distncia muito grande para ser completada em 1/60 seg. Erros como Move too long, Out of bounds, ou Interpolation move out of bounds indica esses problemas. Em geral, movendo para um outro local de inicio, mudando um ou mais pontos levemente ou usando parmetros opcionais diferentes ir remover o erro.

7.4 AUX

Controle da Porta Aux

O AUX usado para controlar as portas auxiliares no controlador do rob. As portas podem ser usadas para rodar os motores fornecidos nos robs XR e motores sem encoder. Existem duas portas auxiliares, porta 1 e porta 2. O comando AUX do controlador ED-MK3 emprega um argumento que o numero da porta que para ser controlada. Para ligar uma porta, voc usa o numero da porta positivo; para desliga-la voc usa o numero da porta negativo. AUX <port number> Onde <port number> pode ser 1, -1, 2 ou -2. O comando AUX do controlador ED-MK4 emprega um argumento que o numero da porta AUX, tambm 1 ou 2. O segundo argumento ajusta o nvel de sada 0 a 100 por cento da potncia disponvel do motor. Se uma porcentagem negativa dada, a sada de tenso ser invertida. AUX <port number> = <output level> Onde <port number> pode ser 1 ou 2 e <output level> pode variar de -100 a 100

68

O argumento usado pela instruo AUX pode tambm ser uma varivel. Por exemplo, o programa seguinte ir LIGAR e ento DESLIGAR ambas as portas em um ED-MK3. SETI A=1 REM MUDA QUANDO LIGADA 10 AUX A SETI A=A+1 IF A<3 THEN GOTO 10 REM MUDA QUANDO DESLIGADA SET A=-1 20 AUX A SETI A=A-1 IF A>-3 THEN GOTO 2 Um erro de tempo de execuo Invalide Device gerado quando um nmero de porta invlido usado. 7.5 BEEP

BEEP no aceita comandos e no produz mensagens de erro. O seguinte seguimento de programa espera para que a entrada #2 v para o estado low ento produz um beep: 100 IFSIG 2 THEN GOTO 100 BEEP

7.6

CLEARPATH

Limpa Trajetria Contnua do ED-MK4

O CLEARPATH limpa o arranjo que contm um conjunto de localizaes ou pontos definidos pelo SETPATH ou SETPATHX. O comando somente pode ser usado com uma combinao do rob XR-4 ou ED-MK4. Um coprocessador matemtico para o computador necessrio. A forma geral do comando CLEARPATH O CLEARPATH deve ser usado antes de armazenar um novo conjunto de localizaes ou pontos. O comando automaticamente executados quando um programa inicializado e/ou finalizado. O CLEARPATH deve ser usado exclusivamente no modo DO. Refira-se aos comandos PATH, SETPATH e SETPATHX para informaes adicionais sobre movimento contnuo. A descrio do comando PATH contm um exemplo que mostra o uso do CLEARPATH. 7.7 CLOSE Controle da Garra

O comando CLOSE usado para fechar a garra padro do rob ou para acionar a AUX1 ou a OUTPUT1 para operar uma garra no padro. O argumento opcional a quantidade que a garra deve ser fechada em contagens do encoder se usado no modo motor. Se a garra deve ser completamente fechada, nenhum argumento ou o argumento -1 deve ser usado. A forma geral do comando CLOSE [<quantidade>] Onde a < quantidade> opcional pode ser um nmero positivo ou -1. Se voc utilizar o comando CLOSE com um argumento maior que o movimento da garra possa executar (1024 contagens para o ED-7220C, 240 contagens para o ED-XR4), o restante do argumento descartado (e perdido) mas no causa erro de execuo.

69

Quando voc desejar que a garra seja fechada completamente, voc no deve usar o argumento. Isto garantir a compatibilidade com verses futuras tanto do rob como do RoboTalk. Quando o arquivo de configurao ajusta a garra no modo AUX ou OUTPUT, qualquer argumento ignorado e a AUX1 ou OUTPUT1 acionada. Este modo pode ser usado para operar uma vlvula de ar eltrica, uma solenide DC ou outro dispositivo para controlar outras garras diferentes da garra padro acionada por motor. O programa a seguir fechar completamente a garra e ento abrir novamente REM CLOSE THE GRIP CLOSE -1 REM OPEN IT OPEN -1 O programa a seguir fechar a garra em 30 contagens usando a varivel G. SETI G=30 REM FECHA A GARRA APS 30 CONTAGENS CLOSE G Voc deve ter cuidado com a poro de um argumento maior que o movimento da garra que ser descartada e perdida. Isto significa que qualquer clculo que voc possa fazer com a posio de abertura da garra pode no ser mais precisa. 7.8 CLS Limpar a Tela

O comando CLS usado para limpar a tela do computador. Qualquer informao escrita anteriormente na tela ser apagada e o cursor ser posicionado no canto superior esquerdo da tela. O comando CLS no tem efeito enquanto o sistema estiver no modo TRACE. A forma geral do comando CLS O programa a seguir imprimir a mensagem HELLO na tela, ento apagar a tela toda, e ento imprimir a mensagem HELLO AGAIN. TYPE AL CLS TYPE AL NOVAMENTE 7.9 COS, SIN, TAN Funes Trigonomtricas

Estas trs funes aceitam argumentos em graus e retornam o valor trigonomtrico adequado. A varivel usada para obter o valor deve ser do tipo ponto flutuante, caso contrrio, somente teremos um resultado de valor inteiro. Como estes so funes, no podem ser usados comandos por eles mesmos, mas so usados como declaraes de atribuies ou expresses. A forma geral do comando <floating point variable> = COS <floating point variable> <floating point variable> = SIN <floating point variable> <floating point variable> = TAN <floating point variable> O programa a seguir converter coordenadas polares para coordenadas cartesianas.

70

10 INPUT ENTRE COM O RAIO, @R 20 INPUT ENTRE COM O TETA, @T 30 @X = @R * COS(@T) 40 2Y = @R * SIN(@T) 50 TYPE X = ; 60 TYPE @X 70 TYPE Y = ; 80 TYPE @Y Estas funes no produzem mensagens de erro. 7.10 END Marca Final de Programa

O comando END usado para marcar o final de seu programa. Embora o final fsico do programa tambm finalize o seu programa, o comando END pode ser usado para terminar a execuo em qualquer ponto do programa. O comando END til quando sob-rotinas so usadas porque elas esto normalmente localizadas no final do programa. Sem o comando END, o programa executar a primeira sub-rotina que encontrar. A forma do comando END END Este programa mover para o PONT1 mas no para o POINT2. TYPE AGORA MOVENDO PARA O POINT1 MOVEP POINT1 END TYPE ISTO NO VAI SER MOSTRADO MOVEP POINT2 O programa a seguir usa o comando END para evitar que o programa passe para as sub-rotinas do final do programa. FOR A = 1 TO 10 REM PEGA O BLOCO GOSUB 100 REM COLOCA O BLOCO NA MESA GOSUB 200 NEXT END REM SUBROTINA PARA PEGRA O BLOCO MOVEP B1 CLOSE -1 MOVEP B2 RETURN REM SUBROTINA PARA COLOCAR O BLOCO NA MESA MOVEP T1 MOVEP T2 OPEN -1 HOME RETURN Lista o Contedo da Pilha de Erros do ED-MK4

100

200

7.11 ERROR_CHECK

O comando ERRO_CHECK somente pode ser usado se o RoboTalk for configurado para o controlador EDMK4. Este comando mostra todos os erros do ED-MK4 que foram armazenados na pilha de erros. Aps o comando ERROR_CHEK ser executado, a pilha de erros ser esvaziada.

71

A forma geral do comando ERROR_CHECK Se a pilha de erros j estiver vazia, a mensagem Error stack is empty ser impressa. Um erro Unknown command ser gerado se configurado para ED-MK4. 7.12 FOR ... TO ... / NEXT Controle de Loop do Programa

O comando FOR...TO... controla a execuo de um grupo de linhas de programa localizado entre a linha FOR...TO... E a linha que contm a declarao NEXT. A forma geral do comando . FOR < variable name> = <Start variabel exp> TO <End variable exp> ... ... NEXT Onde <variable name> qualquer uma das 26 variveis inteira do RoboTalk e <variable exp> qualquer expresso inteira vlida do RoboTalk. Quando o comando FOR...TO... executado a varivel especificada (variable name) ajustada para o mesmo valor de Start variable exp. A execuo do programa continuada com as declaraes seguintes at que a declarao NEXT seja alcanada, e neste instante o programa retornado para o comando FOR...TO.... A varivel incrementada por um e comparada com o valor de End variable exp. Se a varivel for maior que End variable exp, o programa desviado para linha logo aps a declarao NEXT, caso contrrio, o programa continua a execuo com a linha aps o comando FOR...TO.... Se o valor de Start variable exp for maior que o valor de End variable exp, as linhas de programa entre o comando FOR...TO... e a declarao NEXT ser ignorada e o programa continuar com a linha aps a declarao NEXT. Se o valor de Start variable exp for igual ao valor de End variable exp, as linhas do programa do loop FOR / NEXt ser executado uma vez. O comando FOR...TO... pode ser embutido dentro de outro comando FOR...TO..., at 1000 nveis no RoboTalk. O programa a seguir mover o motor D 5 vezes em incrementos de 10 passos comeando com a posio 100. SETI = 10 FOR A = B TO B+4 MOVE TO 0,0,A*10,0,0 NEXT O programa a seguir um exemplo em que um loop embutido em outro. FOR A = 1 TO 10 TYPE A FOR B = 1 TO 5 TYPE B; NEXT TYPE NEXT Um erro de execuo ocorrer se uma declarao NEXT for encontrada sem o comando FOR...TO... correspondente. Um erro tambm ocorrer se forem utilizados muitos nveis de loop. 7.13 GET_ANSWER Interroga o Controlador ED-MK4

O comando GET_ANSWER somente pode ser usado se o RoboTalk tiver sido configurado pelo controlador ED-MK4.

72

Este comando envia uma string ao controlador ED-MK4 e recebe e mostra a informao retornada. A string enviada ao ED-MK4 deve representar um comando vlido do ED-MK4 que designado para fornecer uma resposta. A forma geral do comando . GET_ANSWER <string> A string pode ser uma string literal entre aspas ou uma string varivel. Um erro Unkown command ser gerado se configurado para ED-MK3. 7.14 GOSUB Chama Sub-rotinas

O comando GOSUB usado para chamar uma sub-rotina nomeada. A forma geral do comando . GOSUB <label> Onde <label> deve comear a primeira linha da sub-rotina desejada. Todas as sub-rotinas devem ser finalizadas pela declarao RETURN. O comando GOSUB pode ser embutido em outro, at 200 nveis. Significa que voc pode chamar at 200 sub-rotinas antes que um RETURN seja necessrio. O programa a seguir chama duas sub-rotinas, a primeira em 100 e a segunda em 200. Note como ambas as sub-rotinas terminam em RETURN. REM PEGAR 20 BLOCOS FOR A=1 TO 20 GOSUB 100 GOSUB 200 NEXT END REM PEGAR BLOCO MOVEP BLOCK MOVEP BLOCK1 MOVEP BLOCK2 CLOSE -1 RETURN REM COLOCAR O BLOCO ABAIXO MOVEP BLOCK5 MOVEP BLOCK6 MOVEP BLOCK7 OPEN -1 RETURN

100

200

Se voc chamar um label que no existe no programa, Label not defined ser mostrado. Se voc tiver embutido mais que 200 GOSUB, Too many nested GOSUBs ser mostrado. 7.15 GOTO Desvia para um Label

O comando GOTO usado para transferir a execuo do programa para a linha com o label especificado na declarao GOTO. A forma geral do comando GOTO . GOTO <label> Onde <label> qualquer label definido no programa.

73

Quando um comando GOTO encontrado no programa, a execuo continuar com a primeira declarao aps o label especificado. Isto faz com as declaraes aps o GOTO sejam puladas. O programa a seguir imprimir a mensagem this will print na tela. A mensagem this will not print no ser impressa na tela porque o comando GOTO fora a execuo do programa a pul-lo. GOTO 130 TYPE ISTO NO SER MOSTRADO TYPE ISTO SER MOSTRADO

130

O comando GOTO muito til quando combinado com as declaraes IF...THEN..., IFMICRO...THEN... e IFSIG...THEN.... Por exemplo, o programa a seguir entrar em loop at que o sinal 3 passe para nvel alto. 10 MOVEP P MOVEP P1 MOVEP P2 IFSIG -3 THEN GOTO 10 TYPE ROTINA COMPLETA

Se o label especificado no definido no programa, voc ver. Label not defined 7.16 GRIP Fecha a Garra e Registra a Contagem

O comando GRIP uma verso otimizada do comando CLOSE. Difere pelo fato da varivel Z ser ajustada para o nmero de contagem do encoder da garra, aps o trmino do comando. A contagem do encoder que armazenada indica o deslocamento da garra com relao a posio totalmente fechada. Este comando pode ser usado para calibrar o tamanho do objeto pego ou detectar se a garra realmente pegou algo. Aps o comando ter sido executado, a varivel Z pode ser testada ou usada na declarao da atribuio. A forma do comando GRIP . GRIP 7.17 HARDHOME Encontra Todas as Micro Chaves

O comando HARDHOME usado para reiniciar o rob e retorn-lo para a posio de Hardware Home encontrando o centro das micro chaves em todos os eixos sobre o controle do programa. Usualmente voc no ir utilizar este comando porque normalmente voc ter respondido Yes para a pergunta de reinicializao no incio do RoboTalk. Se voc deseja retornar o rob para a posio Hardware Home, voc deve usar o comando HOME porque muito mais rpido. Use HARDHOME quando voc realmente deseja executar a rotina completa de HARDHOME. Ser o caso por exemplo aps um erro de execuo ou alguma outra situao onde um rob possa ter perdido a informao de contagem. O HARDHOME no gera nenhuma mensagem de erro. A forma geral do comando HARDHOME . HARDHOME Para executar o comando HARDHOME, as micro chaves de todos os eixos devem estar acionadas (pressionadas). 7.18 HOME Envia o Rob para a Posio Home

O comando HOME usado para retornar o rob para a posio Home. A posio Home a posio Hardware Home. O rob no tenta encontrar o centro das micro chaves; ele move para a posio onde a contagens de todos os encoders zero. muito mais rpido do que o comando HARDHOME e geralmente o comando que voc deve retornar o rob para sua posio Home. O comando HOME no afeta a posio da garra.

74

A forma geral do comando . HOME O comando HOME normalmente usado no final do programa para retornar o rob para sua posio Home. Por exemplo: REM PEGUE O BLOCO E RETORNE A HOME MOVEP B MOVEP B1 MOVEP B2 TYPE BLOCO SEGURO HOME Como para todos os comandos de movimento, se um motor atolar, voc ver. Motor <MOTOR> stalled 7.19 IF...THEN... Execuo Condicional

A declarao IF...THEN... usada para testar uma condio e, se a condio for verdadeira, executar a declarao aps o THEN. Se a condio falsa, a execuo do programa continua com a linha seguinte da declarao IF / THEN. As condies declaradas so condies matemticas ou relacionais. A forma geral da declarao IF...THEN... . IF <EXP1> <condition> <EXP2> THEN <statement> Onde <EXP1> e <EXP2> so expresses numricas, e <condition> uma das seguintes condies. Condio Menor que Maior que Igual a = Smbolo do RoboTalk < >

E <statement> qualquer declarao do RoboTalk. O programa a seguir imprimir a palavra TRUE trs vezes. A palavra FALSE no ser impressa nenhuma vez. REM DEMONSTRAO IF...THEN... IF 10 > 5 THEN TYPE VERDADEIRO IF 10 > 20 THEN TYPE FALSO IF 10 < 20 THEN TYPE VERDADEIRO IF 10 < 5 THEN TYPE FALSO IF 10 = 10 THEN TYPE VERDADEIRO IF 10 = 5 THEN TYPE FALSO Voc pode usar variveis nas expresses e elas so muito teis para criar e controlar loops. O programa a seguir imprimir os nmeros de 1 at 100. REM EXIBA 1 AT 100 SETI A = 1 TYPE A; SETI A = A + 1 IF A < 101 THEN GOTO 10 TYPE END

10

75

A declarao IF...THEN... somente pode gerar uma mensagem de erro de sintaxe diretamente, entretanto, a declarao seguinte ao THEN pode gerar uma mensagem de erro adequada para o prprio erro. 7.20 IFMICRO...THEN... Execuo Condicional

O comando IFMICRO...THEN... similar tanto ao IF...THEN... como ao IFSIG...THEN... exceto que usado para testar o estado de uma das oito micro chaves localizadas no rob e nos acessrios do motor com encoder (se estiverem instalados). A forma geral do IFMICRO...THEN... . IFMICRO <switch letter> [,<switch letter>...] THEN <statement> Onde <switch letter> uma das letras de A at H, correspondendo as oito micro chaves do rob e acessrios e <statement> qualquer declarao do RoboTalk. Por exemplo. IFMICRO C THEN TYPE CHAVE C EST FECHADA Imprimir a mensagem somente se a micro chave do motor C estiver fechada quando esta declarao for executada. Se a micro chave estiver aberta, a execuo do programa continuar com a prxima linha. Isto , uma condio verdadeira especificada como sendo a condio em que a micro chave est fechada. Uma condio falsa quando estiver aberta. Se mltiplas micro chaves forem especificadas, todas as condies devem ser verdadeiras antes da declarao aps o THEN ser executada. A declarao IFMICRO...THEN... geralmente usada para reposicionar o rob e acessrios para alguma posio conhecida. Como o RoboTalk possui um comando de HARDHOME incorporado, que envia todos os motores para a posio Hardware Home, o uso mais comum de IFMICRO para posicionar acessrios, que no so enviados para a posio Home automaticamente. O cdigo seguinte posicionar o motor H em sua micro chave. A rotina assume que a micro chave est em um dos finais de curso do acessrio. REM ACHAR CHAVE MOVEGH 0,1 IFMICRO H THEN GOTO 20 GOTO 10 TYPE MICRO CHAVE H FOI ACHADA

10

20

Se uma micro chave especificada no estiver na faixa de A at H, ento Out of Bounds ser mostrado. Lembre-se, entretanto, que a declarao seguinte ao THEN pode gerar uma mensagem de erro adequada para seu prprio erro. 7.21 IFSIG...THEN... Execuo Condicional

O comando IFSIG...THEN... similar ao IF exceto que usado para testar o estado de uma das oito entradas de sinais. A forma geral de IFSIG...THEN... . IFSIG <signal #>[,<signal #>...] THEN <statement> Onde <signal #> qualquer uma das oito entradas de sinal e <statement> qualquer declarao do RoboTalk. Por exemplo. IFSIG 2,-3 THEN TYPE ENTRADA 2 EST LIGADA E 3 EST DESLIGADA Imprimir a mensagem somente se o sinal 2 estiver acionado E o sinal 3 estiver desacionado. Se o sinal 2 estiver desacionado OU o sinal 3 estiver acionado, a execuo do programa continuar com a prxima linha. Note que voc pode verificar o sinal se est desabilitado colocando um sinal de menos (-) na frente do nmero do sinal. Por exemplo. IFSIG -2 THEN TYPE ENTRADA 2 EST DESLIGADA

76

Imprimir a mensagem se o sinal 2 estiver desabilitado. A declarao IFSIG...THEN... geralmente usada para sincronizar a operao do rob com eventos externos, tais como operao de uma esteira. O cdigo a seguir continuar a remover as caixas da esteira enquanto o sinal 4 estiver acionado. REM PEGAR CAIXAS DA ESTEIRA WAITFOR 4 GOSUB 100 CLOSE -1 GOSUB 200 OPEN -1 IFSIG 4 THEN GOTO 10 END REM POSIO ACIMA DA ESTEIRA MOVEP C MOVEP C1 MOVEP C2 RETURN REM COLOCAR CAIXA ABAIXO MOVE D MOVE D1 RETURN

10

100

200

Se o nmero do sinal no estiver entre 1 e 8, ento Out of Bouds ser mostrado. Lembre-se, entretanto, que a declarao seguinte do THEN pode gerar uma mensagem de erro adequada para seu prprio erro. 7.22 INPUT Entrada a Partir do Teclado do Computador

O comando INPUT permite ao usurio entrar, diretamente do teclado do computador, com constantes numricas inteiras ou reais ou string e atribuir este valor varivel do RoboTalk. A forma geral do comando INPUT . INPUT [character string,] <variable name> Onde [character string] um grupo opcional de caracteres entre aspas dupla que sero mostrados na tela do computador e <variable name> qualquer varivel vlida do RoboTalk. Quando entrar com um nmero decimal, o nome da varivel deve ser precedida do caracter @. Quando entrar com uma varivel string, o nome da varivel deve ser precedida do caracter $. Se a string de caracter opcional no usada, o RoboTalk mostrar um prompt ? na tela; se a string caracter usada, nenhum prompt, com exceo da string caracter ser mostrada. As aspas dupla deve estar vazia, isto , no deve conter nenhum caracter, assim o prompt ? ser suprimido. O comando INPUT pode ser usado para alterar variveis durante o tempo de execuo to ajustar os loops, mover o rob para uma posio especfica, selecionar de um menu e outras aes que devam ser determinadas por interveno do usurio. O exemplo a seguir ilustra como uma seleo de menu pode ser feita usando o comando INPUT. 5 TYPE 1 - MOVE O MOTOR D TYPE 2 - MOVE O MOTOR E TYPE 3 - MOVE O MOTOR F TYPE INPUT SELECIONE UM OPO, A TYPE IF A = 1 THEN GOTO 20 IF A = 2 THEN GOTO 30 IF A = 3 THEN GOTO 40 GOTO 10

10

77

20 30 40

MOVE 0,0,10,0,0 GOTO 5 MOVE 0,0,0,10,0 GOTO 5 MOVE 0,0,0,0,10 GOTO 5

Se uma entrada ilegal feita em resposta ao comando INPUT, retry:_ ser mostrada para permitir que voc redigite a entrada correta. 7.23 LOCAL Define Varivel Local de Sub-rotina

O comando LOCAL permite o uso de variveis numa sub-rotina que tenham o mesmo nome de variveis usadas no programa principal, mas que so definidas e visveis apenas dentro da sub-rotina. Uma vez que a sub-rotina abandonada, a varivel e seu valor no so mais usados. O comando LOCAL til para evitar que o programador tenha problema de interao entre variveis do programa principal e da sub-rotina chamada. Se o comando LOCAL no usado para criar o nome de uma varivel local de uma sub-rotina, ento a varivel tem a mesma definio e valor que no programa principal. A forma do comando LOCAL . LOCAL <variable name> [, <variable name, ...] Como um exemplo, considere um programa que conte de 1 a 10 no programa principal imprimindo o quadrado deste nmero e utilize a sub-rotina para calcular o cubo do nmero elevado ao quadrado no programa principal. 10 FOR A = 1 TO 10 B=A*A GOSUB 100 NEXT END LOCAL A A=B^3 RETURN

100

Neste exemplo, o programa principal permanece no loop por 10 vezes ajustando a varivel A de 1 a 10 e ajusta a varivel B para o quadrado de A. A sub-rotina em 100 chamada, define a varivel A como local e ajusta-a para o cubo de B. Como a varivel A definida como local na sub-rotina, ela tratada como uma varivel separada da varivel A do programa principal, permitindo que a varivel A do programa principal mantenha o valor mesmo que passe pela sub-rotina. Entretanto como a varivel B no foi declarada como local, ela mantm o valor que tinha no programa principal e visvel na sub-rotina. Somente variveis inteiras e decimais podem ser declaradas como local, variveis string no podem ser declaradas como local. 7.24 MOVE Movimento de Articulao Incremental

O comando MOVE usado para mover os cinco motores dos eixos do rob em nmeros especificados de passos do encoder a partir da posio corrente. um comando de movimento incremental ou relativo de maneira contrria a um comando de movimento absoluto. A forma geral do comando . MOVE <B>, <C>, <D>, <E>, <F> Onde B, C, D, E e F so os nmeros de passos dos encoders dos motores B at F, respectivamente. Voc deve sempre entrar com a quantidade dos cinco motores. Se voc no quer que um motor mova, entre com o valor zero (0) para aquele motor. O comando MOVE um comando de movimento relativo. Significa que o motor mover um nmero especfico de passos a partir da posio corrente (atual). O motor da porta A no inclusa no comando MOVE pois dedicada para controle da garra.

78

O motor da porta A no inclusa no comando MOVE pois dedicada para controle da garra. Por exemplo, se o rob est posicionado no momento em. Motor Posio10 B 100 C 50 D 400 E 700 F

Aps executar o comando MOVE 10, 10, -10, -10, 10 o rob mover para a posio. Motor Posio20 B 110 C 40 D 390 E 710 F

O passo de 1 a menor quantidade que o motor pode mover. O programa a seguir coloca caixas em um plete e compensa a altura a cada etapa. REM ALOCAR CAIXAS NO PLETE REM INICIALIZAR VARIVEIS CRESCENTES SETI D = 100 SETI E = 57 GOSUB 100 MOVEP START MOVE 20,30,234+D,143+E,600 OPEN -1 SETI D = D + 30 SETI E = E - 5 IF E > 0 THEN GOTO 10 REM LOOP AT O MXIMO DE CADA END EM GET A BOX MOVEP GET MOVEP GET1 CLOSE -1 RETURN

10

100

Como para todos os comandos de movimento, um atolamento do motor mostrar. Motor <motor letter> stalled 7.25 MOVE TO Movimento de Articulao Absoluto O comando MOVE TO similar ao MOVE exceto que posicionar os cinco motores dos eixos do rob em um nmero especfico de passos do encoder a partir da posio Home. O MOVE TO um comando de movimento absoluto, significando que o rob mover para posies especificadas dos encoders de cada motor a partir das posies atuais. A forma geral do comando . MOVE TO <B>, <C>, <D>, <E>, <F> Onde B, C, D, E e F so os nmeros de passos do encoder do motor para os motores B at F, respectivamente, a partir da posio Home. Voc deve entrar com as quantidades para cada um dos cinco encoders. Por exemplo, se o rob est no momento em. Motor Posio10 B 100 C 50 D 400 E 700 F

Aps a execuo do comando MOVE TO 40,100,-200,300,645 o rob mover para.

79

Motor Posio40

B 100

C -200

D 300

E 645

O programa a seguir posicionar o rob na sua posio Home ao final do programa. (MOVE TO 0,0,0,0,0 equivalente ao comando HOME). MOVEP POINT MOVEP POINT1 MOVEP POINT2 MOVE TO 0,0,0,0,0 Como todos os comandos de movimento, se um motor atolar ser mostrado. Motor <motor letter> stalled 7.26 MOVEGH Comando de Movimento Incremental O comando MOVEGH similar ao MOVE exceto que move os motores G e H. Ele mover os encoders dos motores G e H para um nmero especfico de passos a partir da posio atual. Isto faz com que o comando MOVEGH seja um comando de movimento incremental ou relativo. Os motores G e H so normalmente usados para controlar acessrios como esteiras e carrossis. A forma geral do comando . MOVEGH <G>, <H> Onde G e H so os nmeros de contagens dos motores G e H. Voc deve entrar com a quantidade para ambos os motores. Se voc deseja que apenas um dos motores mova, ento fornea a contagem zero para o outro motor. O programa a seguir pega blocos de uma esteira controlada pelo motor G. REM PEGAR BLOCO DA ESTEIRA REM LOOP AT A ENTRADA 1 DESLIGAR GOSUB 100 GOSUB 200 IFSIG 1 THEN GOTO 1 END REM MOVER ESTEIRA MOVEGH 100,0 RETURN REM PEGAR BLOCO MOVEP GET MOVEP GET1 CLOSE -1 MOVEP DROP MOVEP DROP1 OPEN -1 RETURN

100

200

Como todos os comandos de movimento, se um motor atolar ser mostrado. Motor <motor letter> stalled 7.27 MOVEGH TO Comando de Movimento Absoluto

O comando MOVEGH TO similar ao MOVE TO exceto que usado para controlar os motores G e H. Ela posicionar os encoders dos motores G e H nas posies de contagem absoluta a partir da posio Home. O MOVEGH TO um comando de movimento absoluto.

80

Os motores G e H so normalmente usados para controlar acessrios como esteiras e carrossis. A forma geral do comando . MOVEGH TO <G>, <H> Onde G e H so os nmeros de passos do encoder do motor para os motores G e H, respectivamente, a partir da posio Home. Voc deve entrar com as quantidades para cada um dos dois encoders. O programa a seguir utiliza um carrossel controlado pelo motor H. A cada passagem pelo programa, a mesa girada 300 contagens e ento retornada para a posio inicial. REM 10 PEGAR BLOCOS DA MESA MOVEGH 0,300 REM AGORA PEGAR BLOCO DA MESA GOSUB 100 REM COLOCAR BLOCO ABAIXO GOSUB 200 REM GIRAR A MESA PARA O PRXIMO BLOCO MOVEGH TO 0,0 IFSIG 1 THEN GOTO 10 END REM PEGAR BLOCO ... RETURN REM COLOCAR BLOCO ABAIXO ... RETURN

100

200

Como todos os comandos de movimento, se um motor atolar ser mostrado. Motor <motor letter> stalled 7.28 MOVEP Move para uma Localizao da Articulao

A declarao MOVEP diz ao RoboTalk para enviar o rob para uma localizao especfica. A localizao deve ser um ponto nomeado definido com o Controlador Manual e deve ser definido como uma localizao de articulao, no uma localizao cartesiana; isto , o nome do ponto no deve comear com a letra x. A forma geral do comando : MOVEP <joint location name> Onde <joint location name> qualquer localizao de articulao definida correntemente ou um novo ponto a ser definido. Todas as localizaes de ponto so caracterizados como movimentos absolutos a partir da posio Home. Refira-se ao comando TEACH no Captulo 5 para aprender como ensinar um ponto de localizao com o Controlador Manual a partir do menu principal ou o Captulo 6 para ensinar um ponto enquanto no editor. A linha a seguir de cdigo envia o rob para a localizao POINT10. MOVEP POINT10 Como todos os comandos de movimento, se um motor atolar ser mostrado: Motor <motor letter> stalled Se o ponto especificado no for definido como localizao de articulao, o RoboTalk mostrar. Point type mismatch

81

7.29 MOVES Movimento em Linha Reta para um Ponto Definido pelo ED-MK4 (No implementado para ED-7220C) O comando MOVES usado para mover a garra em linha reta a partir da posio corrente para o ponto pr definido. O comando pode ser usado somente com uma combinao do ED-MK4 e do rob XR-4. Um coprocessador matemtico para o computador necessrio. A forma geral do comando . MOVES <point> [, <velocity>][, <max move>] Onde <point> a posio destino e pode ser um ponto de coordenada cartesiana ou um ponto de localizao de articulao. Por exemplo. MOVES DP1 Far com que a garra do rob mova da posio corrente para o ponto DP1 de localizao de articulao pr definida por meio de uma linha reta. MOVES XDP1 Far com que a garra do rob mova da posio corrente para o ponto XDP1 de coordenada cartesiana pr definida por meio de uma linha reta. Os parmetros opcionais fornecem controle adicional sobre o movimento. O parmetro <velocity> a velocidade que o percurso feito e um nmero entre 0.0 e 1.0. O valor padro 1.0. Um valor 0.0 resultar em uma velocidade muito lenta. O parmetro <max move> a distncia mxima do percurso em milmetros por ponto. Um ponto corresponde a 1/60 de segundo. O parmetro deve ser mantido pequeno, caso contrrio um erro Move too long pode ser gerado. O valor padro 1mm. Certas combinaes de pontos, velocidades e movimento mximos podem resultar em movimentos invlidos ou movimentos que sejam impossveis de serem executados. Isto pode acontecer devido a um ponto estar fora da faixa ou uma distncia requerida muito grande para ser percorrida em 1/60 segundos. Erros tais como Move too long, Out of bounds ou Interpolation move out of bounds indicam tais problemas. Em geral, mover para uma outra posio inicial, alterar levemente o ponto ou usar parmetros opcionais diferentes pode remover o erro. 7.30 MOVEXS Movimento em Linha Reta com Coordenadas Cartesianas do ED-MK4 (No implementado ED-7220C) O comando MOVEXS usado para mover a garra em linha reta da posio corrente para uma localizao de coordenada cartesiana. O comando pode ser usado somente com uma combinao do ED-MK4 e do rob XR-4. Um coprocessador matemtico para o computador necessrio. A forma geral do comando . MOVEXS <X>, <Y>, <Z> [, <velocity>][, <max move>] Onde <X>, <Y> e <Z> definem a posio destino. Por exemplo. MOVEXS 0.0, 188.46, 403.67 Far com que a garra do rob mova da posio corrente para a localizao (0.0, 188.46, 403.67) por meio de uma linha reta. Os parmetros opcionais fornecem controle adicional sobre o movimento e so os mesmos dos definidos no comando MOVES.

82

Certas combinaes de pontos, velocidades e movimento mximos podem resultar em movimentos invlidos ou movimentos que sejam impossveis de serem executados. Isto pode acontecer devido a um ponto estar fora da faixa ou uma distncia requerida muito grande para ser percorrida em 1/60 segundos. Erros tais como Move too long, Out of bounds ou Interpolation move out of bounds indicam tais problemas. Em geral, mover para uma outra posio inicial, alterar levemente o ponto ou usar parmetros opcionais diferentes pode remover o erro. 7.31 MOVEX Movimento Cartesiano Incremental (No implementado ED-7220C)

O comando MOVEX usado para mover a garra a uma distncia especificada no espao cartesiano a partir da posio atual. um movimento incremental ou relativo de modo contrrio ao comando de movimento absoluto. A forma geral do comando . MOVEX <X>, <Y>, <Z>, <A>, <T> Onde X, Y, Z, A e T so os parmetros da coordenada cartesiana. X, Y e Z so as coordenadas lineares enquanto A e T so as localizaes angulares para a deflexo do pulso e para o eixo de rotao do pulso, respectivamente. A unidade para o X, Y e Z a polegada ou milmetro dependendo da configurao no comando CONFIG; a unidade para A e T sempre o graus. Voc sempre deve entrar com a quantidade para os cinco eixos. Se voc no quer que um eixo mova, fornea o parmetro zero. O MOVEX um comando de movimento relativo. Significa que o rob mover uma distncia especfica a partir da posio atual. Por exemplo, se o rob est no momento em. Motor Posio0 X 200 Y 400 Z 45 A 0 T

Aps a execuo do comando MOVEX 100, 0, -10, -45, 0 o rob estar em. Motor Posio100 X 200 Y 390 Z 0 A 0 T

Como todos os comandos de movimento, se um motor atolar ser mostrado. Motor <motor letter> stalled Se o destino em coordenadas cartesianas for um ponto ilegal, o RoboTalk apresentar uma mensagem de erro. 7.32 MOVEX TO Movimento Cartesiano Absoluto (No implementado ED-7220C)

O comando MOVEX TO similar ao MOVEX exceto que ir posicionar a garra na posio cartesiana especificada referenciada a origem do sistema de coordenada cartesiana do rob. A forma geral do comando . MOVEX TO <X>, <Y>, <Z>, <A>, <T> Onde X, Y, Z, A e T so os parmetros da coordenada cartesiana de destino. A unidade para o X, Y e Z a polegada ou milmetro dependendo da configurao no comando CONFIG; a unidade para A e T sempre o graus.

83

Por exemplo, se o rob est no momento em. Motor Posio X 0 Y 100 Z 450 A 45 T 0

Aps a execuo do comando MOVEX TO 40, 100, 200, -45, 0 o rob estar em. Motor Posio X 40 Y 100 Z 200 A -45 T 0

O programa a seguir posicionar o rob XR-3 prximo de sua posio Home ao final do programa assumindo que as unidades foram configuradas para milmetros. MOVEXP XPOINT MOVEXP XPOINT1 MOVEXP XPOINT2 MOVEX TO 0,99.22,491.33,0,0 Como todos os comandos de movimento, se um motor atolar ser mostrado. Motor <motor letter> stalled Se o destino em coordenadas cartesianas for um ponto ilegal, o RoboTalk apresentar uma mensagem de erro. 7.33 MOVEXP Movimento para uma Localizao Cartesiana (No implementado ED-7220C) O comando MOVEXP diz ao RoboTalk para enviar o rob para uma localizao especificada. A localizao deve ser um ponto nomeado definido com o Controlador Manual e deve ser definido como localizao cartesiana, no uma localizao de articulao; isto , o nome do ponto deve comear com a letra x. A forma geral do comando . MOVEXP <cartesian location name> Onde <cartesian location name> qualquer localizao cartesiana definida ou um novo ponto a ser definido. Todos os pontos de localizao so definidos como movimento absolutos a partir da posio Home. Refirase ao comando TEACH no Captulo 5 para aprender como ensinar ponto de localizao com o Controlador Manual a partir do menu principal ou o Captulo 6 para ensinar um ponto no modo editor. Refira-se ao Captulo 8 para informaes sobre as coordenadas cartesianas. A linha a seguir de cdigo envia o rob para a localizao XPOINT. MOVEXP XPOINT

Como todos os comandos de movimento, se um motor atolar ser mostrado. Motor <motor letter> stalled Se o ponto especificado no for definido como localizao cartesiana, o RoboTalk mostrar. Point type mismatch 7.34 OFFLINE Ignora um Motor O comando OFFLINE usado para dizer ao RoboTalk que um ou mais motores no esto disponveis para uso. Nenhuma ao tomada para mover motores removidos mesmo que uma requisio de movimento para o motor seja recebido.

84

A forma geral do comando . OFFLINE <motor letter>[, <motor letter>][,...<motor letter>] Onde <motor letter> a letra do motor que voc deseja remover. Voc pode ter at sete motores na lista (somente os motores de B at H podem ser especificados). Por exemplo, para remover os motores D e H de servio, voc deve escrever. OFFLINE D,H Existem trs razes principais para querer remover um motor. 1. Ele pode no existir na configurao atual. Por exemplo voc pode ter uma garra personalizada que no necessite do motor B. 2. Voc pode desejar ver o efeito de seu programa em condies de falha; isto , ver o que acontecer se um rob tiver menos motores. 3. Voc pode querer remover todos os motores para permitir que o fluxo do programa seja testado sem a atuao dos motores do rob. A cada vez que voc digita R para executar um programa a partir do menu do RoboTalk, todos os motores so automaticamente habilitados de volta. Significa que se voc deve incluir o comando OFFLINE antes de cada programa que voc deseja executar com motores removidos. Se voc estiver sem algum motor do rob, assegure-se de incluir o comando OFFLINE na primeira linha do programa em todos os programas que voc for usar. Os motores removidos podem ser habilitados novamente usando o comando ONLINE dentro do programa.Um ponto a relembrar: um motor que no exista pode causar erros de atolamento na execuo do programa porque o RoboTalk assumir que o motor no pode mover. Ento voc deve usar o comando OFFLINE quando o motor no estiver presente. A linha a seguir remover o motor B. OFFLINE B Esta linha ir remover todos os motores que no forem da garra. OFFLINE B,C,D,E,F,G,H Isto deve ser usado para verificar o fluxo do programa sem a atuao real dos motores. Se voc especificar o motor A ou um motor maior que a letra H, voc ver. Out of bounds error 7.35 OFFSET Offset de Posio do Encoder

O comando OFFSET usado para alterar a localizao do prximo comando de movimento por uma quantidade especificada para cada encoder de motor. A forma geral do comando . OFFSET <motor letter> = <amount> Onde <motor letter> uma das letras de A at H e <amount> o nmero de passos do encoder do motor que o motor especificado deve ser deslocado e pode ser qualquer expresso numrica positiva ou negativa vlida. Por exemplo. OFFSET C = 100 MOVE TO 0,0,0,0,0

85

Far com que o motor mova para sua posio Home, com a exceo que o motor C deve estar a um offset de 100 contagens. Voc deve usar uma srie de comandos OFFSET antes do comando de movimento. Por exemplo, para colocar um offset de 100 contagens para o motor F e de -245 contagens para o motor D, a partir do ponto BOX3, voc deve escrever. OFFSET F = 100 OFFSET D = -245 MOVEP BOX3 O efeito deve ser alterar a localizao do ponto BOX3 na quantidade especificada pelos comandos OFFSET precedentes. Voc deve imaginar o comando OFFSET como uma carga de um contador dentro do RoboTalk. A cada vez que um comando de movimento executado, cada contador de OFFSET adicionado aos passos especificados do motor pelo comando de movimento. Uma vez que o comando de movimento seja executado, todos os contadores so restaurados para zero. Significa que um OFFSET, ou lista de comandos OFFSET somente sero vlidos pelo primeiro comando de movimento que os segue. Por exemplo. OFFSET E = 125 MOVE TO 10,10,10,10,10 MOVE TO 10,10,10,10,10 Primeiramente mover o rob para. Motor Posio B 10 C 10 D 10 E 135 F 10

Ento, aps encontrar o segundo comando MOVE TO, o rob mover para. Motor Posio B 10 C 10 D 10 E 10 F 10

Lembre-se: um comando OFFSET, ou lista de comandos OFFSET, afetaro o comando de movimento imediatamente aps os comandos OFFSET, e no a todos os comandos de movimento. Este o porqu de voc normalmente colocar os comandos OFFSET em uma sub-rotina e usar o comando GOSUB para configurar os offset como mostrado no exemplo a seguir. O comando OFFSET normalmente usado em situaes onde uma atividade geral deslocada ao longo de um eixo. Por exemplo, imagine o empilhamento de caixas em 3 nveis de altura. O nico parmetro que alterado a cada caixa a altura. Ao invs de ensinar trs pontos diferentes, voc deve ensinar somente um ponto e ento deslocar os motores D e E para cada novo nvel. Um programa para executar isto deve parecer com este. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 REM EMPILHAR CAIXAS EM TRES NVEIS FOR L = 0 TO 2 GOSUB 100 GOSUB 200 MOVEP BOX0 OPEN -1 NEXT END REM SEGUINDO AS SUBROTINAS 100 REM PEGAR CAIXA MOVEP GET CLOSE -1 RETURN 200 REM OFFSET OFFSET D = L * 125

86

16 17

OFFSET E = L * -100 RETURN

Note como o contador de nvel L foi usado para avanar o offset para cada caixa adicional. Se voc entrar com um nome de motor invlido, ver: Out of bounds error 7.36 OFFSETX Offset de Posio Cartesiana (No implementado ED-7220C)

O comando OFFSETX usado para alterar a localizao do prximo comando de movimento cartesiano por uma quantidade especificada para cada eixo cartesiano. A forma geral do comando . OFFSETX <cartesian axis> = <offset amount> Onde <cartesian axis> uma das letras X, Y, Z, A ou T e <amount> uma constante decimal, valor decimal ou expresso decimal que especifica a quantidade que o eixo ser deslocado (offset) na prxima instruo de movimento. Veja o comando OFFSET sobre o uso deste comando. 7.37 ONLINE Ativa um Motor Removido

O comando ONLINE usado para retornar um motor, que tenha sido previamente removido (no mesmo programa), ao servio. A forma geral do comando . ONLINE <motor letter> [,<motor letter>][,<motor letter>] Onde <motor letter> a letra do motor que voc quer colocar de volta ao servio. At sete motores podem ser colocados na lista (somente os motores de B at H podem ser especificados). Por exemplo. ONLINE B,C Restaurar os motores B e C para o servio. O programa a seguir remover primeiramente o motor B e ento mais adiante no programa ir restaur-lo. OFFLINE B MOVE 20,35,456,45,200 ONLINE B MOVE TO 10,10,256,300,456 Se voc especificar o motor A ou um motor com um valor maior que H, voc ver: Out of bounds error 7.38 OPEN Comando de Abertura da Garra

O comando OPEN usado para abrir a garra padro do rob ou para desligar a AUX1 ou OUTPUT1 para operar uma garra no padro. O argumento opcional a quantidade que a garra deve ser aberta na contagem do encoder do motor se usado no modo motor. Se a garra deve ser completamente aberta, nenhum argumento ou o argumento -1 deve ser usado. Quando o rob inicializado, a garra fechada totalmente e ento aberta. A forma geral do comando . OPEN [<amount>]

87

Onde a <amount> opcional pode ser qualquer nmero positivo ou -1. Se voc usar o comando OPEN com um argumento maior que a garra possa mover (1024 contagens para o ED-7220C, 240 contagens para o ED-XR4), o restante do argumento descartado (e perdido) mas no causa um erro de execuo. Quando voc quer abrir a garra totalmente, voc no deve usar argumento. Isto garantir compatibilidade com verses futuras tanto do rob como do RoboTalk. Quando o arquivo de configurao ajusta a garra para o modo AUX ou OUTPUT, qualquer argumento ignorado e a AUX1 ou OUTPUT1 desligada. Este modo pode ser usado para operar uma vlvula de ar eltrica, uma solenide DC ou outro dispositivo para controlar garras que sejam diferente do motor da garra padro. O programa a seguir abrir a garra completamente e ento ir fech-la. REM ABRIR A GARRA OPEN -1 REM FECHAR CLOSE -1 O programa a seguir abrir a garra em 30 contagens usando a varivel G. (Ns estamos assumindo que a garra fechada e que a posio fechada tal que permita um movimento com um total de 30 contagens do encoder. Se a garra foi fechada com um grande objeto, isto no deve ser o caso). SETI G = 30 REM ABRIR 30 CONTAGENS DA GARRA OPEN G 7.39 OUTSIG Linha de Controle do Sinal de Sada

O comando OUTSIG usado para acionar e desacionar as oito linhas de sinal de sada do rob. A forma geral do comando . OUTSIG <signal #> [,<signal #>, ...] Onde <signal #> define uma das oito portas de sada. Se o nmero da porta for positivo, a porta acionada (a linha passa para nvel baixo). Se o nmero da porta negativo, a porta desacionada (a linha passa para nvel alto). As portas so numeradas de 1 at 8. Os sinais so normalmente usados para sincronizar dispositivos externos, tais como outros robs, esteiras, entre outros. Todas as portas so desacionadas (esto em estado de nvel alto) no incio de execuo de um programa. Portanto, se seu programa requer que estes sinais sejam configurados, voc deve explicitar a cada vez dentro de seu programa. Nota: No controlador ED-MK3, acionar uma sada significa passar o sinal do nvel lgico alto para o nvel lgico baixo. No controlador ED-MK4, acionar uma sada significa acionar a chave correspondente que permite que a corrente flua no circuito de sada. Na restaurao, todas as sadas so trazidas para o estado de nvel alto. Este o modo mais conveniente de chavear dispositivos de estado slido. Exemplos: O programa a seguir primeiramente acionar as portas 1 e 2 e ento ir desacion-las. REM LIGAR AS SADAS DE SINAL 1 E 2 OUTSIG 1,2 REM AGORA DESLIGA-LAS OUTSIG -1,-2 O programa a seguir acionar todos os oito sinais e ento ir deslig-los novamente usando loops e variveis.

88

REM TURN ALL ON THEM OFF FOR A = 1 TO 8 OUTSIG A NEXT FOR B = -8 TO -1 OUTSIG B NEXT END Um exemplo final mostra um fragmento de cdigo do programa de soldagem. Uma vez que a solta feita, um sinal de sada acionado. Este sinal diz esteira para avanar para o prximo item na posio. REM DESLIGA SINAL 2 E SOLDA OUTSIG -2 REM SOLDA GOSUB 100 REM SOLDA FEITA, ATIVAR ESTEIRA OUTSIG 2 GOTO 123 ... ...

123

Se voc especificar uma porta externa faixa de 1 at 8, voc ver: Out of bounds 7.40 PATH Movimento de Trajeto Contnuo MARK IV

O comando PATH usado para inicializar um movimento de trajeto contnuo que foi previamente definido usando os comandos SETPATH e/ou SETPATHX. O comando pode ser somente usado com uma combinao do ED-MK4 e do rob XR-4. Um coprocessador matemtico para o computador necessrio. A forma geral do comando . PATH [<velocity>][,<max move>] Os parmetros opcionais proporcionam controle adicional ao movimento. O parmetro <velocity> a velocidade que o movimento efetuado e um nmero entre 0.0 e 1.0. O valor padro 1.0. Um valor de 0.0 resultar em uma velocidade muito baixa. O parmetro <max move> a distncia mxima do trajeto em milmetros por passo. Um passo corresponde a 1/60 de um segundo. O parmetro deve ser mantido pequeno, caso contrrio um erro do tipo Move too long pode ser gerado. O valor padro 1mm. O comando. PATH 0.5,1.0 Far com que o trajeto seja feito com a metade da velocidade do sistema. Um movimento mximo de 1mm por 1/60 segundo permitido. Refira-se tambm aos comandos CLEARPATH, SETPATH e SETPATHX. O exemplo a seguir garantir em primeiro lugar que nenhuma localizao de trajeto contnuo exista previamente, ento cria um movimento de trajeto contnuo usando trs pontos previamente definidos e finalmente executa o movimento de trajeto contnuo. Se o comando CLEARPATH no fosse usado e os comandos anteriores SETPATH e SETPATHX tivessem sido executados, ento as trs localizaes abaixo seriam adicionados ao movimento existente e todos eles executados.

89

CLEARPATH SETPATH POINT1 SETPATH POINT2 SETPATH POINT3 PATH No exemplo acima, o movimento deve ser do POINT1 para o POINT2 e para o POINT3. Nota: Pelo menos dois pontos devem ser configurados antes do trajeto ser gerado. Um comando CLEARPATH automaticamente executado quando um programa inicializado e tambm na finalizao. Durante a execuo do programa entretanto, mais que um comando PATH pode ser encontrado. Isto pode resultar em um movimento indesejado se no for manipulado corretamente. O fragmento de programa a seguir ilustra isto. CLEARPATH SETPATH POINT1 SETPATH POINT2 PATH SETPATH POINT3 SETPATH POINT4 PATH No exemplo acima, o rob primeiramente ir mover da posio atual para o POINT1, para o POINT2, ento o rob mover novamente para o POINT1, para o POINT2, ento para o POINT3 e finalmente para o POINT4. Em alguns casos, esta srie pode ser o movimento desejado, mas em outros o autor do programa pode no ter a inteno de repetir o movimento do POINT1 para o POINT2. O programa seguir remove o movimento repetido usando o comando CLEARPATH. CLEARPATH SETPATH POINT1 SETPATH POINT2 PATH CLEARPATH SETPATH POINT3 SETPATH POINT4 PATH Os comandos SETPATH e SETPATHX podem ser misturados. O fragmento de programa a seguir vlido. SETPATH POINT1 SETPATHX 0.0,108.35,321.44 SETPATHX 0.0,188.46,403.67 SETPATH POINT2 PATH No exemplo acima, o movimento deve ser da posio atual para o POINT1, para a localizao (0.0,108.35,321.44), para (0.0,188.46,403.67) e finalmente para o POINT2. Se o comando PATH for usado sem nenhuma localizao previamente definida ou se somente uma localizao definida, um erro Point not defined ser gerado. Certas combinaes de pontos ou localizaes, velocidades e valores mximos de movimento podem resultar em movimentos invlidos que no so possveis de serem completados. Isto pode acontecer especialmente se o movimento resultar em uma distncia muito grande para ser completada em 1/60 segundo. Erros como Move too long, Out of bounds ou Interpolation move out of bounds indicam tais problemas. Em geral, mover para outra localizao inicial, alterar levemente um ou mais pontos ou localizaes ou usar diferentes parmetros opcionais removero os erros.

90

7.41 PAUSE

Atrasos na Execuo do Programa

O comando PAUSE usado para atrasar a execuo de seu programa por um perodo especificado de tempo. A forma geral do comando . PAUSE <time> Onde <time> a durao do tempo para atraso em dcimos de segundo e est na faixa de 1 a 3000. Voc pode interromper o atraso durante a execuo teclando ESC ou A (Abort). Isto levar a execuo do programa para a prxima linha do programa. A linha de cdigo a seguir atrasar a execuo do programa por aproximadamente 10 segundos. PAUSE 100 Esta linha pausar o programa por 1 segundo. PAUSE 10 O comando PAUSE gerar um erro Out of bounds se o valor do tempo for menor que 1 ou maior que 3000. 7.42 POINT Configura Localizao de Ponto

O comando POINT usado para configurar uma varivel de localizao para a posio atual do rob ou configurar uma varivel de localizao para um valor especfico. A forma do comando . Primeira forma POINT <location variable> Ou POINT <cartesian location variable> Segunda forma POINT <location variable> = <B>, <C>, <D>, <E>, <F> Ou POINT <cartesian location variable> = <X>, <Y>, <Z>, <A>, <T> (No implementado ED-7220C) Na primeira forma, o POINT usado para configurar uma varivel de localizao igual a posio atual do rob. Se o nome da varivel de localizao comear com a letra x, a varivel ser interpretada como um ponto cartesiano. Na segunda forma, o POINT usado para designar um ponto de localizao para uma varivel. Os parmetros da segunda forma correspondem aos eixos da articulao ou ao sistema de coordenada cartesiana dependendo do tipo de varivel de localizao. Os parmetros B, C, D, E e F podem ser constantes inteiras, variveis inteiras ou expresses inteiras. Os parmetros X, Y, Z, A e T podem ser constantes decimais, variveis decimais ou expresses decimais. O segmento de cdigo a seguir utiliza o comando RT-Vision para ensinar o sistema Vision a encontrar a localizao de todos os objetos e designar quelas localizaes para a varivel XOBJ[i]. CAPTURE BINARIZE SEGMENT FOR I = 1 TO OBJECTS POINT XOBJ[I] = I.CENTERX, I.CENTERY, 0.0, 0.0, I.ANGLE NEXT

91

7.43 REM

Observao, Documentao

O comando REM usado para colocar um comentrio ou observao no cdigo fonte de seu programa. Todo o texto entre o comando REM e o final da linha ser ignorado pelo RoboTalk. A forma geral do comando . REM <remark> Onde <remark> pode ser qualquer texto com tamanho de uma linha. Observaes so teis na documentao do programa. Se voc explicar o que cada rotina executa e como ela executa, ser mais fcil para voc e outros entenderem seu programa mais tarde. O programa a seguir imprimir a mensagem ESTE UM TESTE na tela. Nenhuma outra mensagem ser impressa porque as observaes so ignoradas pelo RoboTalk. REM ESTE UM PROGRAMA QUE REM EXIBE A MENSAGEM ESTE UM TESTE REM NA TELA DO COMPUTADOR TYPE ESTE UM TESTE 7.44 RETURN Declarao de Retorno de Sub-rotina

A declarao RETURN usada para provocar o retorno a partir de uma sub-rotina. Todas as sub-rotinas devem ter sido chamadas atravs do comando GOSUB. Aps o comando RETURN ter sido executado, a execuo do programa continuar na linha imediatamente aps a linha do comando GOSUB que chamou a sub-rotina. A forma geral do comando . RETURN Lembre-se que aqui estamos nos referindo a palavra RETURN, no a tecla do teclado do computador. O programa a seguir. TYPE ESTA A LINHA UM GOSUB 100 TYPE ESTA A LINHA TRES END TYPE ESTA A LINHA DOIS RETURN TYPE ISTO NUNCA SER EXECUTADO RETURN

100 200

Imprimir a seguinte mensagem na tela. ESTA A LINHA UM ESTA A LINHA DOIS ESTA A LINHA TRES A linha 200 no executada nunca porque o comando RETURN na sub-rotina 100 provoca o retorno da execuo para o programa principal. Todos os comandos RETURN devem ser precedidos do GOSUB. Se um comando RETURN for encontrado sem que tenha havido a declarao de um GOSUB, voc ver a mensagem. RETURN without GOSUB

92

7.45 SEARCH

Comando do Movimento Condicional

O comando SEARCH um comando de alto nvel que move um motor de um eixo especificado um conjunto de nmero de contagens do encoder por interao, incrementando a varivel Z por um a cada interao e continua este processo at que a porta de entrada especificada case com o estado programado. A forma geral do comando . SEARCH <motor label>,<direction/step increment>,<port number> Onde <motor label> qualquer um dos oito motores (A - H), <direction/step increment> um nmero inteiro positivo ou negativo e <port number> qualquer nmero entre 1 e 8 representando uma das oito portas de entrada do controlador. Quando o comando SEARCH executado, a varivel Z limpa e o motor especificado movido em direo e por uma quantidade especificada por <direction/step increment>. A varivel Z ento incrementada por um. Aps o movimento ser completado, a porta de entrada especificada verificada com relao a um estado que esteja de acordo com o estado programado, isto , ON ou OFF. Se no estiver de acordo, o eixo movido novamente, a varivel Z incrementada e a porta de entrada verificada. Este processo continua at que o estado da porta esteja de acordo ou o motor atole. Quando o estado da porta de entrada casar com o estado programado, o comando SEARCH ser abandonado com a varivel Z contendo o nmero total de interaes que o comando SEARCH completou antes do estado da porta casar com o programado. Assuma que uma micro chave est embutida na mo do rob de tal modo que quando a garra toca um objeto, o contato da chave feche e a porta de entrada passa para nvel baixo (OFF). O programa a seguir mover o eixo D para baixo, um passo de cada vez, at que a garra entre em contato com o objeto e neste momento o valor da varivel Z mostrada na tela. 1 2 3 4 MOVEP OBJECT SEARCH D,-1,1 TYPE Z END

A linha 1 move o rob para a posio acima do objeto. Na linha 2 o comando SEARCH move o brao para baixo at que a porta de entrada passe para nvel baixo (OFF). A linha 3 mostra o nmero de vezes que o motor D foi movido antes da porta de entrada passar para nvel baixo (OFF). O prximo exemplo ilustra o uso do comando SEARCH na medida de distncia entre dois sensores ticos colocados na mesa e conectados s portas de entrada um e dois. Assuma que o brao seja posicionado de tal modo que o movimento do motor F ir primeiramente interromper o sensor conectado porta um e o movimento seguinte interromper o prximo sensor. A interrupo do sensor passar a entrada correspondente para ON. 1 2 3 4 5 6 MOVEP SENSOR IFSIG 1 THEN GOTO 20 MOVE 0,0,0,0,1 GOTO 10 SEARCH F,1,2 TYPE Z

10

20

A linha 1 posiciona o brao imediatamente antes de interromper o primeiro sensor. A linha 2 verifica a porta de entrada um para conferir se o sensor foi interrompido, se no foi, o motor F movido e a porta verificada novamente; isto continua at que o brao interrompa o primeiro sensor. O comando SEARCH agora executado movendo o motor F um passo a cada vez at que a porta de entrada dois passe para o estado ON, que significa que o segundo sensor foi interrompido. A linha 6 alcanada quando o comando SEARCH for completado. Neste ponto a varivel Z contm o nmero de contagens do encoder necessrio para mover do sensor um para o prximo.

93

Conhecendo-se a geometria do brao, pode-se converter a contagem do encoder em uma distncia linear; ento usando o valor na varivel Z, a distncia entre os dois sensores pode ser calculada. 7.46 SEND Envia String para o ED-MK4

O comando SEND envia uma string ao controlador ED-MK4. A forma geral do comando . SEND <string> Onde <string> uma string literal ou uma varivel string entre aspas. A string deve representar um comando vlido do ED-MK4. Um erro Unknown command ser gerado se configurado para ED-MK3. 7.47 SETI Funo de Designao

O SETI usado para designar a uma varivel um valor inteiro. A forma geral do comando . SETI <variabel name> = <integer value> Onde <variable name> o nome da varivel e <integer value> o valor inteiro designado. Existem 26 variveis no RoboTalk; as letras A - Z. O RoboTalk pode processar expresses complexas; portanto, <integer value> pode ser uma constante ou qualquer expresso do RoboTalk vlida, incluindo outras variveis. A seguir so fornecidos exemplos do comando SETI. SETI A=10 SETI T=2 SETI G=A/3*T-23 SETI Z=0 O SETI normalmente usado para formar uma parte de um loop contador. Por exemplo, o programa a seguir imprimir os nmeros de 1 a 10 na tela. SETI C=1 TYPE C; SETI C=C+1 IF C<11 GOTO 10 END

10

Se os parnteses estiverem desbalanceados como em 10+5))/3, voc ver. Unknown command ou Syntax error in line x 7.48SETPATH Define Ponto para Trajeto Contnuo do ED-MK4 O comando SETPATH usado para adicionar uma localizao ao movimento de trajeto contnuo. O comando pode somente ser usado com uma combinao do ED-MK4 e do rob XR-4. Um coprocessador matemtico para o computador necessrio. A forma geral do comand . SETPATH <point> Onde <point> um ponto de coordenada cartesiana definida previamente ou um ponto de localizao de articulao. Comandos SETPATH mltiplos definem um trajeto que o rob percorrer. O trajeto definido executado usando o comando PATH e percorrido de maneira definida pelo SETPATH. O trajeto pode ser apagado usando o comando CLEARPATH.

94

Refira-se ao comando PATH para exemplos do uso do comando SETPATH. 7.49 SETPATHX Define Ponto Cartesiano para Trajeto Contnuo do ED-MK4

O comando SETPATHX usado para adicionar uma localizao ao movimento de trajeto contnuo. O comando pode somente ser usado com uma combinao do ED-MK4 e do rob XR-4. Um coprocessador matemtico para o computador necessrio. A forma geral do comando . SETPATHX <X>, <Y>, <Z> Onde <X>, <Y> e <Z> define uma localizao de coordenada cartesiana. Comandos SETPATHX mltiplos definem um trajeto que o rob percorrer. O trajeto definido executado usando o comando PATH e percorrido de maneira definida pelo SETPATHX. O trajeto pode ser apagado usando o comando CLEARPATH. Refira-se ao comando PATH para exemplos do uso do comando SETPATHX. 7.50 TROFF Desabilita o Modo Verificao

O comando TROFF usado para desabilitar o modo de verificao. A forma geral do comando . TROFF Lembre-se que a tela de verificao pode ser ativada usando tanto o comando TRON em seu programa ou digitando T a qualquer momento enquanto o seu programa executado (no pode ser quando estiver interrompido). Normalmente, o par de comando TRON/TROFF usado para verificar uma poro selecionada de seu programa. O programa a seguir verificar somente a regio entre os comando TRON e TROFF a cada vez que o loop repetido. SETI H=0 TYPE H MOVEP P TRON MOVEP P1 MOVEP P2 CLOSE 10 TROFF SETI H=H+1 IF H=100 THEN GOTO 20 GOTO 10 END Habilita o Modo Verificao

10

20

7.51 TRON

O comando TRON usado para habilitar o modo de verificao. A forma geral do comando . TRON

95

Lembre-se que a tela de verificao pode ser ativada usando tanto o comando TRON em seu programa ou digitando T a qualquer momento enquanto o seu programa executado (no pode ser quando estiver interrompido). Normalmente, o par de comando TRON/TROFF usado para verificar uma poro selecionada de seu programa. A tela de verificao mostrar a posio de todos os oitos motores e o estado de todas as entradas e sadas assim como as duas portas auxiliares. Mostrar a linha de comando de seu programa que est sendo executada no momento, o valor de 26 variveis e a tela de sada atual. O programa a seguir verificar as duas linhas de cdigo entre os comando TRON e TROFF. MOVE 23,23,453,344,700 TRON WAITFOR 3 MOVEP Q27 TROFF HOME 7.52 TYPE Sada para a Tela

O comando TYPE a forma genrica de imprimir dados na tela no RoboTalk. Voc pode us-lo para imprimir string de caracteres ou valores numricos na tela. Existem duas formas de comando; uma para mostrar strings, e outra para mostrar nmeros. A forma geral para mostrar string . TYPE <string>[;] Onde <string> qualquer conjunto de caracteres. A forma geral para mostrar nmero . TYPE <numeric expression>[;] Onde <numeric expression> qualquer expresso numrica vlida. Por exemplo. TYPE ISTO UMA STRING Imprimir. ISTO UMA STRING. Seguido da ao de retorno / pular para prxima linha na tela de seu computador. Todas as strings devem estar entre aspas dupla. A declarao. TYPE 10/5+2 Mostrar o nmero 4 seguido da ao de retorno / pular para a prxima linha. Se voc quer eliminar a ao de retorno / pular para a prxima linha aps a informao ser impressa na tela, coloque o ponto e vrgula no final da linha. Por exemplo. TYPE ESTE O VALOR DE A:; A=10 TYPE A Mostrar. ESTE O VALOR DE A: 10 Exemplos.

96

Aps executar este programa: REM EXEMPLOS DA EXIBIO DE SADA TYPE EXEMPLOS DE SADA ; FOR C = 0 TO 2 TYPE ESTE O NMERO DE LOOP; TYPE C FOR B = 1 TO 10 TYPE B; NEXT NEXT END Voc visualizar. ESXEMPLOS DE SADA ESTE O NMERO DE LOOP 0 1 2 3 4 5 6 7 8 9 10 ESTE O NMERO DE LOOP 1 1 2 3 4 5 6 7 8 9 10 ESTE O NMERO DE LOOP 2 1 2 3 4 5 6 7 8 9 10 7.53 VEL Ajusta a Velocidade do Motor do ED-MK4

O comando VEL ajusta a velocidade do motor especificado pelo ED-MK4. A forma geral do comando . VEL <motor letter>=<velocity> Onde <motor letter> uma letra nica entre A e H e <velocity> uma varivel inteira ou expresso com valor entre -100 e 100. Este valor respresenta uma porcentagem da mxima velocidade atual atingvel para o motor especificado. O comando VEL somente pode ser usado se o RoboTalk for configurado para o controlador ED-MK4. Um erro Unknown command ser gerado se configurado para ED-MK3. 7.54 WAITFOR Espera para Condio de Sinal O comando WAITFOR usado para suspender a execuo do programa at que as condies do sinal de entrada especificado estejam no estado especificado. A forma geral do comando . WAITFOR <input #>[,<input #>...] Onde <input #> qualquer um dos oito sinais de entrada. Voc pode usar o comando WAITFOR para esperar at que o sinal especificado seja habilitado (ON) usando um nmero de sinal positivo. Para esperar at que o sinal especificado seja desabilitado (OFF), utilize um nmero de sinal negativo. Se mais que um sinal de entrada for especificado no comando, todas as condies devem ser simultaneamente satisfeitas antes da espera ser finalizada. Por exemplo. WAITFOR 6 Suspender a execuo do programa at que o sinal de entrada 6 seja habilitado (passe para nvel alto), enquanto. WAITFOR -6 Suspender a execuo do programa at que o sinal de entrada 6 seja desabiltado (passe para nvel baixo, isto , seja aterrado). Se o sinal estiver no estado desejado quando o comando WAITFOR for encontrado, ento a execuo do programa continuar imediatamente na linha seguinte sem o atraso.

97

O comando WAITFOR gerado para sincronizar dois ou mais robs, ou sincronizar a operao de um rob com dispositivos externos, tais como esteira. Este programa no excutar nada at que o sinal 7 seja habilitado (ON) e o sinal 5 seja desablitado (OFF). Ento imprimir SINAIS COMBINAM. REM ESPERAR SINAL 7 LIGAR E 5 DESLIGAR WAITFOR 7,-5 TYPE SINAIS COMBINAM Se voc especificar um sinal fora da faixa de 1 a 8, ver. Out of bounds Fim.

98

Apndice Cdigos de Erro ERROS DE COMANDO Cdigo 10 11 12 13 14 16 Significado INV_CMD PAR_OUT MIS_PAR NO_DLIM TOO_MNY TP_ACTV

Comando invlido. Parmetro fora da faixa. Falta parmetro. Delimitador esperado no encontrado. Comando de string muito longa. O Controlador Manual est ativo ou ocupado.

ERROS DE COMUNICAO Cdigo 20 21 22 23 24 25 26 27 Significado HST_OVF HST_TMO HST_ERR TP_OVL TP_TMO TP_ERRO TP_OVRN HST_OVR

Sobrecarga do buffer de entrada do computador. Time out do USART do computador. Erro do USART do computador (quadro, paridade, etc). Sobrecarga do buffer de entrada do Controlador Manual. Time out do USART do Controlador Manual. Erro do USART do Controlador Manual. Problema de sincronismo do USART do Controlador Manual. Problema de sincronismo do USART do comutador.

ERROS DE DIAGNSTICOS Cdigo 30 32 34 Significado BAD_RAM TP_ERR NO_TP

Localizao de RAM danificada. Erro de diagnstico retornado do Controlador Manual. Controlador Manual ausente.

ERROS DE PROGRAMA DO CONTROLADOR MANUAL Cdigo 40 41 42 43 44 45 Significado LAB_ERR NO_PGRM MEM_FUL EPM_FUL RPL_ERR PROGRAM

Falta de label. Nenhum programa na memria. Memria do Controlador Manual insuficiente. Memria EEPROM insuficiente. No pode substituir o primeiro registro. Um programa do Controlador Manual j existe.

ERROS DE EXECUO Cdigo 50 51 52 53 54 55 56 57 58 59 Significado HRD_ERR NO_HARD NO_SOFT AR_OVFL TRG_ERR STK_ERR BUSY NO_MOTR MOV_DAT BAD_MOV

Falha na rotina do HARDHOME. Hard home no ajustado. Soft home no ajustado. Sobrefaixa aritmtica. Erro retornado da funo trigger. Erro de sobrefaixa de pilha. Ainda executando um movimento trapezoidal. Motor inativo referenciado. Dados de movimento insuficiente (velocidade ou acelerao = 0). Modo do motor imprprio para o comando.

99

60 61 62 63 64 65 66 67 69 70 80 81 82 83 84 85 86 87 91 92 93 94 95 96 97

NO_A_SW NO_B_SW NO_C_SW NO_D_SW NO_E_SW NO_F_SW NO_G_SW NO_H_SW IMODE POS_OUT STK_A_S STK_B_S STK_C_S STK_D_S STK_E_S STK_F_S STK_G_S STK_H_S INV_RBT INV_MOT INV_CTL INV_PND STOP INV_XYZ XYZ_PAR

Chave de limite A no encontrado. Chave de limite B no encontrado. Chave de limite C no encontrado. Chave de limite D no encontrado. Chave de limite E no encontrado. Chave de limite F no encontrado. Chave de limite G no encontrado. Chave de limite H no encontrado. Movimento de interpolao fora de faixa. Posio XYZ fora de faixa. Chave limite A emperrado. Chave limite B emperrado. Chave limite C emperrado. Chave limite D emperrado. Chave limite E emperrado. Chave limite F emperrado. Chave limite G emperrado. Chave limite H emperrado. Tipo de rob especificado invlido. Rob especificado invlido. Tipo de controlador invlido. Modo do Controlador Manual invlido. Parada de emergncia. XYZ especificado invlido. Parmetro XYZ invlido.

ERROS DE MOTOR Cdigo 100 101 102 103 104 105 106 107 110 111 112 113 114 115 116 117 118 119 Significado A STALL Motor A atolado. B STALL Motor B atolado. C STALL Motor C atolado. D STALL Motor D atolado. E STALL Motor E atolado. F STALL Motor F atolado. G STALL Motor G atolado. H STALL Motor H atolado. A CURRENT LIMIT Circuito de limite de corrente do motor A foi ativado. B CURRENT LIMIT Circuito de limite de corrente do motor B foi ativado. C CURRENT LIMIT Circuito de limite de corrente do motor C foi ativado. D CURRENT LIMIT Circuito de limite de corrente do motor D foi ativado. E CURRENT LIMIT Circuito de limite de corrente do motor E foi ativado. F CURRENT LIMIT Circuito de limite de corrente do motor F foi ativado. G CURRENT LIMIT Circuito de limite de corrente do motor G foi ativado. H CURRENT LIMIT Circuito de limite de corrente do motor H foi ativado. I CURRENT LIMIT Circuito de limite de corrente da porta auxiliar 1 foi ativado. J CURRENT LIMIT Circuito de limite de corrente da porta auxiliar 2 foi ativado.

Reviso: 00 Data Emisso: 08/07/02

100

101

Vous aimerez peut-être aussi