Академический Документы
Профессиональный Документы
Культура Документы
ndice
Introduo
Sumrio/Resumo RAPID
Caractersticas Bsicas
Programao Off-line
ndice, Glossrio
As informaes contidas neste documento esto sujeitas a alteraes sem aviso prvio e no devero ser interpretadas como um compromisso da ABB Robotics AB. A ABB Robotics AB no assume qualquer responsabilidade por eventuais erros que possam surgir neste documento. Em nenum caso dever a ABB Robotics AB ser responsabilizada por danos casuais ou de consequncia que surjam a partir da utilizao deste documento, ou do software e hardware aqui descritos. Este documento ou parte dele no poder ser copiado ou reproduzido sem permisso, por escrito, da ABB Robotics AB e no poder ser cedido a uma terceira parte, nem ser utilizado para qualquer propsito no autorizado. A transgresso ser motivo de processo. Cpias adicionais deste documento podero ser obtidas a partir da ABB Robotics AB com seu pagamento vista.
ABB Robotics AB Nmero do artigo: 3HAC 5780-1 Emisso: Para BaseWare OS 3.2 ABB Robotics AB S-721 68 Vsters Sucia
Caractersticas gerais
2-1
1-2
Caractersticas gerais
11
12
13
14
15
15.1 Princpios de programao................................................................................ 3-41 15.2 Envio de mensagem controlada pelo programa do rob para o computador.... 3-41 16 Instrues de suporte do RAPID ................................................................................. 43 16.1 Obter dados do sistema ..................................................................................... 43 17 Instrues de Servio .................................................................................................... 3-45 17.1 Direcionamento de um valor para o sinal de teste do rob ............................... 3-45 18 Funes com Strings ................................................................................................. 3-47 18.1 Operaes bsicas ............................................................................................. 3-47 18.2 Comparao e Procura ...................................................................................... 3-47
Caractersticas gerais
1-3
1-4
Caractersticas gerais
Caractersticas gerais
1-5
1-6
Caractersticas gerais
Caractersticas gerais
1-7
1-8
Caractersticas gerais
Introduo
1 Introduo
Este um manual de referncia contendo explicaes detalhadas da linguagem de programao bem como todos os tipos de dados (data types), instrues e funes. Se voc est programando off-line, este manual ser particularmente til. Quando voc iniciar a programar o rob, normalmente melhor consultar o Guia do Usurio at que voc fique familiarizado com o sistema.
Caractersticas gerais
2-1
Introduo
Se programar off-line, encontrar algumas dicas no captulo 6 de Caracteristicas Gerais RAPID: Programao off-line. Para facilitar a localizao e compreenso,o captulo 8 de Caracteristicas Gerais RAPID contem um ndice, e um glossrio. O captulo 4 de DataTypes do Sistema e Rotinas contm um ndice.
1.3 Convenes tipogrficas Os comandos localizados abaixo das 5 chaves de menu no topo da unidade de programao esto escritos no formato de Menu: Command. Por exemplo, para ativar o comando Print no menu File, voc deve selecionar File: Print. Os nomes das teclas de funo e nos campos de entrada de dados so especificados em caracter bold itlico, por exemplo, Modpos. Palavras pertencentes atual linguagem de programao, tais como nomes de instrues so escritos em caracter itlico, por exemplo, MoveL. Exemplos de programas so sempre apresentados da mesma forma para sada em disquete ou impressora. Este difere do que apresentado na unidade de programao nos seguintes aspectos: Certas palavras de controle so mascaradas na apresentao e impresso na unidade de programao, por exemplo: palavras indicando o incio e o fim de uma rotina. Dados e declaraes das rotinas declarations so impressos em formato formal, por exemplo: VAR num reg1;.
1.4 Regras de sintaxe As instrues e funes so descritas usando-se ambas as sintaxes simplificada e formal. Se voc usar a unidade de programao, geralmente voc precisa saber somente a sintaxe simplificada, j que o rob automaticamente assegura que a sintaxe correta usada.
2-2
Caractersticas gerais
Introduo
Sintaxe simplificada Exemplo:
TPWrite
Instruo
- Argumentos opcionais esto entre colchetes [ ]. Estes argumentos podem ser omitidos. - Argumentos que so mutuamente exclusivos, isto , no podem existir na instruo ao esmo tempo, so separados por uma barra vertical |. - Argumentos que podem ser repetidos um nmero arbitrrio de vezes esto entre chaves { }.
1.5 Sintaxe formal Exemplo: TPWrite [String:=] <expresso (IN) de string> [\Num:= <expresso (IN) de num> ] | [\Bool:= <expresso (IN) de bool> ] | [\Pos:= <expresso (IN) de pos> ] | [\Orient:= <expresso (IN) de orient> ];
- O texto entre colchetes [ ] pode ser omitido. - Argumentos que so mutuamente exclusivos, isto , no podem existir na instruo ao esmo tempo, so separados por uma barra vertical |. - Argumentos que podem ser repetidos um nmero arbitrrio de vezes esto entre chaves { }. - Smbolos que so escritos para se obter a sintaxe correta esto entre aspas . - O tipo de dado dos argumentos (itlicos) e outras caractersitcas esto entre os smbolos < >. Veja a descrio dos parmteros de uma rotina para maiores informaes. Os elementos bsicos de linguagem e certas instrues so escritas usando-se uma sintaxe especial, EBNF. Ela baseada nas mesmas regras, porm com algumas adies. Exemplo: GOTO <identifier>; <identifier> ::= <ident> | <ID> <ident> ::= <letter> {<letter> | <digit> | _}
- O smbolo ::= significa definido como. - O texto entre < > definido em uma linha separada.
Caractersticas gerais
2-3
Introduo
2-4
Caractersticas gerais
Sumrio RAPID
A Estrutura da Linguagem
1 A Estrutura da Linguagem
O programa constitudo por um nmero de instrues que descrevem o trabalho do rob. Portanto, existem instrues especficas para os vrios comandos, tais como, movimentar o rob, ligar uma sada, etc. As instrues geralmente possuem um nmero de argumentos associados que definem o que deve ocorrer em uma instruo especfica. Por exemplo, a instruo para desligar uma sada contem um argumento que define qual sada deve ser desligada; por exemplo Reset do5. Estes argumentos podem ser especificados das seguintes maneiras: - como um valor numrico, por exemplo 5 ou 4.6 - como uma referncia a um dado, por exemplo reg1 - como uma expresso, por exemplo 5+reg1*2 - como uma chamada funcional, por exemplo Abs(reg1) - como um valor string, por exemplo "Produo parte A" Existem trs tipos de rotinas procedimentos, funes e rotinas trap. - um procedimento usado como um subprograma. - uma funo retorna um valor de um tipo especfico e usado como um argumento de uma instruo. - as rotinas trap so um meio de responder a interrupes. Uma rotina trap pode ser associada a uma interrupo especfica; p. ex. quando uma entrada for ligada, ela automaticamente executada se a interrupo em particular ocorrer. As informaes podem tambm ser armazenada s em dados (data), por exemplo, dados de ferramenta (que contem todas as informaes sobre a ferramenta, tais como, seu TCP e peso) e dados numricos (que podem ser usados, por exemplo, para contar o nmero de peas a serem processadas). Os dados so agrupados em diferentes tipos de tipos de dados (data types) que descrevem diferentes tipos de informaes, tais como ferramentas, posies e cargas. Como estes dados podem ser criados e possuirem nomes arbitrrios, no existe limite de seu nmero (exceto imposto pela memria). Estes dados podem existir tanto globalmente no programa ou localmente dentro da rotina. Existem trs de dados constantes, variveis e persistentes. - uma constante representa um valor esttico e seu valor somente pode ser alterado manualmente. - uma varivel pode ter seu valor alterado durante a execuo do programa. - uma persistente pode ser descrita como uma varivel persistente. Quando um programa salvo, os valores de inicializao refletem os seu valores atuais. Outras caractersticas da linguagem so: - Parmetros da Rotina - Expresses lgicas e aritmticas - Tratamento automtico de erros - Programas Modulares - Multitarefa Caracterstica gerais 3-1
A Estrutura da Linguagem
Sumrio RAPID
3-2
Caracterstica gerais
Sumrio RAPID
Caracterstica gerais
3-3
Sumrio RAPID
3-4
Caracterstica gerais
Sumrio RAPID
Vrias Instrues
3 Vrias Instrues
Vrias instrues so usadas para - atribuir valores aos dados, - esperar um certo perodo de tempo at que uma condio ser satisfeita, - inserir um comentrio no programa. - carregar mdulos do programa
3.2 Espera
O rob pode ser programado para esperar um certo perodo de tempo, ou para esperar que at que uma condio arbitrria seja satisfeita; por exemplo, para esperar at que uma entrada seja setada. Instruo WaitTime WaitUntil WaitDI WaitDO Usada para: Esperar um certo intervalo de tempo ou para esperar at que o rob pare de se movimentar Esperar at que uma condio seja satisfeita Esperar at que uma entrada digital seja setada Espera at uma sada digital ser ajustada
3.3 Comentrios
Comentrios so inseridos no programa somente para aumentar sua leitura. A execuo do programa no afetada por um comentrio. Instruo comment Usada para: Inserir um comentrio no programa
Caracterstica gerais
3-5
Vrias Instrues
Sumrio RAPID
3-6
Caracterstica gerais
Sumrio RAPID
Vrias Instrues
Caracterstica gerais
3-7
Vrias Instrues
Sumrio RAPID
3-8
Caracterstica gerais
Sumrio RAPID
Ajuste de movimentos
4 Ajuste de movimentos
Algumas das caractersticas de movimento do rob so determinadas pela utilizao de instrues lgicas que se aplicam a todos os movimentos: - Velocidade mxima e sobrevelocidade - Acelerao - Gerenciamento de diferentes configuraes do rob - Carga (payload) - Comportamento prximo de pontos singulares - Deslocamento do programa - Soft servo - Valores de sintonia
Caracterstica gerais
3-9
Ajuste de movimentos
Sumrio RAPID
3-10
Caracterstica gerais
Sumrio RAPID
Ajuste de movimentos
1. Somente quando o rob estiver equipado com a opoAdvanced Motion (Movimento Avanado)
Caracterstica gerais
3-11
Ajuste de movimentos
Sumrio RAPID
Usada para: Definir uma zona global com a forma de caixa Definir uma zona global cilndrica Definir uma zona global esfrica Ativar superviso de limites para uma zona global Ativar zona global para ajustar sadas digitais Desativar superviso de uma zona global temporria Ativar superviso de uma zona global temporria Apagar superviso de uma zona global temporria Usado para: Identificar uma zona global temporria Identificar uma zona global estacionria Descrever a geometria de uma zona global
3-12
Caracterstica gerais
Sumrio RAPID
Movimentao
5 Movimentao
Os movimentos do rob so programados passo a passo, isto , mova-se a partir da posio atual para a nova posio. A trajetria entre estas duas posies ento calculada automaticamnte pelo rob.
Caracterstica gerais
3-13
Movimentao
Sumrio RAPID
1.Somente se o rob estiver equipado com a opo Advanced Functions (Funes Avanadas)
5.3 Procura
Durante o movimento, o rob pode procurar por uma posio de um objeto de trabalho. A posio procurada (indicada por um sinal de um sensor) armazenada e pode ser usada posteriormente para posicionar o rob ou para calcular um deslocamento de programa. Instruo SearchC SearchL Tipo de movimento: TCP em uma trajetria circular TCP em uma trajetria linear
3-14
Caracterstica gerais
Sumrio RAPID
Instruo TriggIO TriggInt TriggEquip Usada para:
Movimentao
Definir uma condio de transio para ligar uma sada em uma dada posio Definir uma condio de transio para executar uma rotina trap em uma dada posio Define uma condio trigg para ajustar uma sada numa determinada posio, com a possibilidade de incluir compensaes de tempo de espera no equipamento externo Move o rob (TCP) circularmente com uma condio de transio ativada Move o rob eixo a eixo com uma condio de transio ativada Move o rob (TCP) linearmente com uma condio de transio ativada Usado para definir: Condies de transio
Usada para: Parar os movimentos do rob Reiniciar os movimentos do rob Armazenar a ltima trajetria gerada Regenerar uma trajetria armazenada anteriormente
Caracterstica gerais
3-15
Movimentao
Sumrio RAPID
Usada para: Mudar um eixo para o modo independente e mover o eixo para absoluta Mudar um eixo para o modo independente e inicializar o movicontnuo do eixo
IndDMove2 numa distncia IndRMove2 uma posio IndReset de trabalho IndInpos2 IndSpeed2
2
Mudar um eixo para o modo independente e mover o eixo delta Mudar um eixo para o modo independente e mover o eixo para relativa (dentro da revoluo do eixo) Mudar um eixo para o modo independente ou/e reajustar a rea Verificar se um eixo independente est em posio Verificar se um eixo independente alcanou a velocidade programada
2. Apenas se o rob estiver equipado com a opo Advanced Motion. (A instruo HollowWristReset s pode ser usada nos robs IRB 5402 e IRB 5403.)
3-16
Caracterstica gerais
Sumrio RAPID
2. Somente se o rob estiver equipado com a opo Advanced Motion. (A instruo HollowWristReset s pode ser usada nos robs IRB 5402 e IRB 5403).
Movimentao
Caracterstica gerais
3-17
Movimentao
Sumrio RAPID
3-18
Caracterstica gerais
Sumrio RAPID
Caracterstica gerais
3-19
Sumrio RAPID
3-20
Caracterstica gerais
Sumrio RAPID
Comunicao
7 Comunicao
Existem quatro maneiras possveis de comunicao por meio de canais seriais: - Mensagens podem ser mostradas atravs do display da unidade de programao e o usurio pode responder perguntas, tais como o nmero de peas a serem processadas. - Informaes baseadas em caracteres podem ser esctitas ou lidas a partir de arquivos de texto em um disquete. Deste modo, por exemplo, a estatstica de produo pode ser armazenada e processada posteriormente em um PC. A informao tambm pode ser impressa atravs de uma impressora conectada ao rob. - Informaes binrias podem ser transferidas entre o rob e um sensor, por exemplo. - Informaes binrias podem ser transferidas entre o rob e um sensor, por exemplo, com um protocolo.
Caracterstica gerais
3-21
Comunicao
Sumrio RAPID
3-22
Caracterstica gerais
Sumrio RAPID
Comunicao
Caracterstica gerais
3-23
Comunicao
Sumrio RAPID
3-24
Caracterstica gerais
Sumrio RAPID
Interrupes
8 Interrupes
Interrupes so usadas pelo programa para habilita-lo a tratar diretamente de um evento, independente de qual instruo est sendo executada naquele instante. O programa interrompido, por exemplo, quando uma entrada especfica vai a um. Quando isto ocorrer, o programa interrompido e uma rotia trap especial executada. Quando esta tiver sido totalmente executada, o programa continua de onde ele foi interrompido.
Caracterstica gerais
3-25
Interrupes
Sumrio RAPID
3-26
Caracterstica gerais
Sumrio RAPID
Recuperao de Erros
9 Recuperao de Erros
Muitos dos erros que ocorrem quando um programa est sendo executado podem ser tratados pelo programa, o que significa qua a sua execuo no precisa ser interrompida. Estes erros so ou do tipo detectados pelo rob, tais como, diviso por zero, ou do tipo detectados pelo programa, tais como os erros que ocorrem quando um valor incorreto lido por uma leitora de cdigo de barras.
Caracterstica gerais
3-27
Recuperao de Erros
Sumrio RAPID
3-28
Caracterstica gerais
Sumrio RAPID
Caracterstica gerais
3-29
Sumrio RAPID
3-30
Caracterstica gerais
Sumrio RAPID
Matemtica
11 Matemtica
Instrues matemticas e funes so usadas para o clculo e troca dos valores dos dados.
Caracterstica gerais
3-31
Matemtica
Sumrio RAPID
3-32
Caracterstica gerais
Sumrio RAPID
Solda a Ponto
12 Solda a Ponto
O pacote SpotWare suporta as aplicaes de solda a ponto que so equipadas com um temporizador de solda e uma pina tipo on/off. A aplicao SpotWare possibilita um posicionamento rpido e preciso combinado com a manipulao da pina, incio do processo e superviso de um temporizador externo. A comunicao com o equipamento de solda executada atravs de entradas e sadas digitais. Algumas interfaces do controlador de solda serial so tambm suportadas : Bosch PSS5000, NADEX, ABB Timer. Veja a documentao em separado. Deve se salientar que o SpotWare um pacote que pode ser extensamente personalizado. O objetivo que o usurio adapte alguns dados e rotinas do usurio conforme a situao do ambiente.
Caracterstica gerais
3-33
Solda a Ponto
- Interfaces paralelos e seriais do temporizador de solda
Sumrio RAPID
- Suporta o programa e o incio de disparo do controlador de solda - Informaes dos dados atuais do SpotL/J - Informaes sobre a identidade do ponto: nome atual do parmetro dos dados do ponto (formato de string) - Transferncia de identidade do ponto para o temporizador de solda serial BOSCH PSS 5000 - Superviso autnoma definida pelo usurio, como o sinal de corrente de solda controlado pelo estado e arranque refrigerado com gua. Nota: Esta caracterstica necessita da opo Multitarefas - Solda manual, abertura da pina e fechamento da pina inicializados por entrada digital - Reconhecimento de erros opcional definida pelo usurio - possvel a inicializao do processo de solda independentemente da estado de posio
3-34
Caracterstica gerais
Sumrio RAPID
Solda a Ponto
igualmente possvel definir novas situaes de superviso e conect-las a sinais digitais de disparo. Por default, so implementados um estado dependente de energia de solda e um sinal de controle de gua de refrigerao. Equipamento suportado: - Um controlador de solda monitorizando as interfaces standard paralelas (algumas seriais). O temporizador de solda pode ser do tipo agenda do programa ou sinal de incio de disparo. - Qualquer tipo de pinas de fechamento simples/duplas e uma pina de controle do intervalo. - Qualquer tipo de pr-ajuste de presso. - Situao controlada por SpotL/J do equipamento de solda a ponto independente, tal como contatores, etc. (opo Multitarefas necessria).
SpotJ
SpotML
Caracterstica gerais
3-35
Solda a Ponto
Sumrio RAPID
3-36
Caracterstica gerais
Sumrio RAPID
Solda a Arco
13 Solda a Arco
O pacote ArcWare suporta a maioria das funes de soldagem. O enchimento de cratera e a raspagem (scraping start) podem, por exemplo, ser programados. Usando-se o ArcWare, todo o processo de soldagem pode ser controlado e monitorado pelo rob atravs de um nmero de diferentes entradas e sadas analgicas e digitais.
INCIO
SOLDA
FIM
TRMINO ENCHIM. PS-AO
PR-AO
IGNIO
AQUEC.
Caracterstica gerais
3-37
Solda a Arco
Sumrio RAPID
3-38
Caracterstica gerais
Sumrio RAPID
GlueWare
14 GlueWare
O pacote GlueWare oferece suporte para as aplicaes de colagem que so equipadas com uma ou mais pinas de cola. A aplicao GlueWare oferece posicionamento rpido e eficaz combinado com a manipulao da pina, processa comear e parada. A comunicao com o equipamento de colagem levada a cabo por meio de sadas digitais e analgicas .
Caracterstica gerais
3-39
GlueWare
Sumrio RAPID
3-40
Caracterstica gerais
Sumrio RAPID
Caracterstica gerais
3-41
Sumrio RAPID
3-42
Caracterstica gerais
Sumrio RAPID
Caracterstica gerais
3-43
Sumrio RAPID
3-44
Caracterstica gerais
Sumrio RAPID
Instrues de Servio
17 Instrues de Servio
Um nmero de instrues esto disponveis para testar o rob. Veja o Captulo sobre Deteco de Falhas no Manual do Produto para mais informaes.
Caracterstica gerais
3-45
Instrues de Servio
Sumrio RAPID
3-46
Caracterstica gerais
Sumrio RAPID
Caracterstica gerais
3-47
Sumrio RAPID
18.3 Converso
Funo NumToStr ValToStr StrToVal StrMap StrToByte ByteToStr Usada para: Converter um valor numrico em um string Converter um valor num string Converter um string num valor Mapear um string Converter um byte em dados de string Converter um string em um byte
3-48
Caracterstica gerais
Sumrio RAPID
Multitasking
19 Multitasking
Multitasking RAPID um modo de executar programas em (pseudo) paralelo com a execuo normal. Um programa paralelo poder ser colocado em primeiro plano ou em segundo plano em relao a outro programa. Poder estar tambm no mesmo nvel de outro programa. (Veja Multitarefas/Multitasking, Caractersticas Bsicas.)
19.1 Bsicos
Para usar esta funo, o rob dever estar configurado com uma TASK/TAREFA extra para cada programa em segundo plano. At 10 tarefas diferentes podero ser operadas em pseudo-paralelo. Cada tarefa composta de um conjunto de mdulos, de modo igual a um programa normal. Todos os mdulos, em cada tarefa, so locais. Em cada tarefa, as variveis e as constantes so locais mas no so persistentes. Uma persistente com o mesmo nome e tipo atingvel em todas as tarefas. Se duas persistentes tiverem o mesmo nome, mas diferente no tipo ou tamanho (dimenso de matriz), poder ocorrer um erro de tempo de percurso (runtime). Uma tarefa tem o seu prprio manuseio trap e as rotinas de de evento so disparadas somente nos estados de sistema de suas prprias tarefas (p. ex. Partida/Parada/Reincio...).
Caracterstica gerais
3-49
Multitasking
Sumrio RAPID
3-50
Caracterstica gerais
Sumrio RAPID
Sumrio da Sintaxe
20 Sumrio da Sintaxe
20.1 Instrues Data := Value AccSet Acc Ramp
ArcRefresh ArcKill Break CallBy Var Name Number Clear Name Clock Clock Clock IODevice
CONNECT Interrupt WITH Trap routine CorrClear CorrCon Descr CorrDiscon Descr CorrWrite CorrWrite Descr Data
Caracterstica gerais
3-51
Sumrio da Sintaxe
CorrClear DeactUnit MecUnit Decr Name
WObj
Sumrio RAPID
DropWObj
EOffsSet EAxOffs ErrWrite [ \W ] Header Reason [ \RL2] [ \RL3] [ \RL4] Exit ExitCycle FOR Loop counter FROM Start value TO End value [STEP Step value] DO ... ENDFOR GOTO Label Load
DestObject [\ ObjectName ]
GripLoad
GetSysData
IDelete IF
Interrupt ...
Condition
IF Condition THEN ... {ELSEIF Condition THEN ...} [ELSE ...] ENDIF Incr Name
IndAMove MecUnit Axis [ \ToAbsPos ] | [ \ToAbsNum ] Speed [ \Ramp ] IndCMove MecUnit Axis Speed [ \Ramp ] IndDMove MecUnit Axis Delta Speed [ \Ramp ] IndReset MecUnit Axis [ \RefPos ] | [ \RefNum ] | [ \Short ] | [ \Fwd ] | [ \Bwd ] | [ \Old ] IndRMove MecUnit Axis [ \ToRelPos ] | [ \ToRelNum ] | [ \Short ] | [ \Fwd ] | [ \Bwd ] Speed [ \Ramp ]
3-52
Caracterstica gerais
Sumrio RAPID
InvertDO
IODisable IOEnable
Sumrio da Sintaxe
Signal
UnitName MaxTime UnitName MaxTime
ISignalDI
ISignalDO [ \Single ] Signal TriggValue Interrupt ISleep ITimer Interrupt [ \Single ] Time Interrupt VarNo Value, Interrupt Interrupt ParIdType LoadIdType Tool [\PayLoad] [\WObj] [\ConfAngle] [\SlowTest] [\Accuracy]
ParIdType LoadIdType Tool [\PayLoad] [\WObj] [\ConfAngle] [\SlowTest] [\Accuracy]
IVarValue IWatch
LoadId
MechUnitLoad MechUnit AxisNo Load MoveAbsJ MoveC [ \Conc ] ToJointPos Speed [ \V ] | [ \T ] Zone [ \Z] Tool [ \WObj ]
MoveCDO MoveCSync
MoveJ
MoveJSync MoveL
Caracterstica gerais
3-53
Sumrio da Sintaxe
MoveLDO ToPoint Speed [ \T ] Zone Tool [ \WObj ] Signal Value
Sumrio RAPID
MoveLSync ToPoint Speed [ \T ] Zone Tool [ \WObj ] ProcName MotionSup Open [ \On] | [ \Off] [\TuneValue]
ParIdRobValid
PathResol Value
(ParIdType)
PDispOn [ \Rot ] [ \ExeP ] ProgPoint Tool [ \WObj ] PDispSet DispFrame Procedure PulseDO RAISE Reset { Argument } [ \PLength ] Signal [ Error no ] Signal [ Return value ] IODevice
SearchC [ \Stop ] | [ \PStop ] | [ \Sup ] Signal SearchPoint CirPoint ToPoint Speed [ \V ] | [ \T ] Tool [ \WObj ] SearchL [ \Stop ] | [ \PStop ] | [ \Sup ] Signal SearchPoint ToPoint Speed [ \V ] | [ \T ] Tool [ \WObj ] Set Signal Signal Value [ \SDelay ] Signal Value Signal Value [ \Wrist] | [ \Arm] | [ \Off]
3-54
Caracterstica gerais
Sumrio RAPID
SoftAct Axis Softness [\Ramp ]
Sumrio da Sintaxe
SpcCon Descr Status [\GrpSize ] [\Teach ] [\Strict ] [\Header ] [\BackupFile ] SpcDiscon Descr SpcDump SpcRead SpcStat SpotJ SpotL SpotML Stop [ \NoRegain ] ToPoint Speed Spot [\InPos] [\NoConc] [\Retract] Gun Tool [\WObj]
TEST Test data {CASE Test value {, Test value} : ...} [ DEFAULT: ...] ENDTEST
Caracterstica gerais
3-55
Sumrio da Sintaxe
Sumrio RAPID
TPReadFK Answer String FK1 FK2 FK3 FK4 FK5 [\MaxTime] [\DIBreak] [\BreakFlag] TPReadNum Answer String [\MaxTime] [\DIBreak] [\BreakFlag] TPShow TPWrite Window String [\Num] | [\Bool] | [\Pos] | [\Orient]
TriggC CirPoint ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4] Zone Tool [ \WObj ] TriggEqip TriggInt TriggData Distance [ \Start ] | [ \Time ] Interrupt TriggIO TriggData Distance [ \Start ] | [ \Time ] [ \DOp ] | [ \GOp ] | [\AOp ] SetValue [ \DODelay ] | [ \AORamp ] TriggJ ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4 ] Zone Tool [ \WObj ] TriggL ToPoint Speed [ \T ] Trigg_1 [ \T2 ] [ \T3 ] [ \T4 ] Zone Tool [ \WObj ] TuneServo MecUnit Axis TuneValue TuneServo MecUnit Axis TuneValue [\Type] UnLoad FilePath [\File] VelSet WaitDI Override Max Signal Value [\MaxTime] [\TimeFlag]
WHILE
Write IODevice String [\Num] | [\Bool] | [\Pos] | [\Orient] [\NoNewLine] WriteBin IODevice Buffer NChar
3-56
Caracterstica gerais
Sumrio RAPID
WriteStrBin IODevice Str
Sumrio da Sintaxe
WZBoxDef [\Inside] | [\Outside] Shape LowPoint HighPoint 1 WZCylDef [\Inside] | [\Outside] Shape CentrePoint Radius Height WZDisable WorldZone WZDOSet [\Temp] | [\Stat] WorldZone [\Inside] | [\Before] Shape Signal SetValue WZEnable WorldZone WZFree WorldZone WZLimSup [\Temp] | [\Stat] WorldZone Shape WZSphDef [\Inside] | [\Outside] Shape CentrePoint Radius
AOutput
ArgName
(Angle) ([Tool] [\WObj]) ([Tool] [\WObj]) (OldP1 OldP2 OldP3 NewP1 NewP2 NewP3)
DefDFrame
Caracterstica gerais
3-57
Sumrio da Sintaxe
DefFrame Dim (NewP1 NewP2 NewP3 [\Origin])
Sumrio RAPID
DOutput
DotProd
EulerZYX Exp
(Exponent)
FileTime ( Path [\ModifyTime] | [\AccessTime] | [\StatCTime] ) GOutput GetTime (Signal) ( [\WDay] | [\Hour] | [\Min] | [\Sec] )
IndInpos MecUnit Axis IndSpeed MecUnit Axis [\InSpeed] | [\ZeroSpeed] IsPers IsVar MirPos (DatObj) (DatObj) (Point MirPlane [\WObj] [\MirY])
OrientZYX
ORobT (OrgPoint [\InPDisp] | [\InEOffs]) PoseInv (Pose) PoseMult (Pose1 Pose2) PoseVect Pow (Pose Pos)
Present
3-58
Caracterstica gerais
Sumrio RAPID
ReadBin (IODevice [\Time])
Sumrio da Sintaxe
ReadMotor [\MecUnit ] Axis ReadNum ReadStr RelTool Round Sin Sqrt (IODevice [\Time]) (IODevice [\Time]) (Point Dx Dy Dz [\Rx] [\Ry] [\Rz])
( Val [\Dec])
(Angle) (Value) (Str ChPos Set [\NotInSet]) (Str) ( Str FromMap ToMap) (Str ChPos Pattern) (Str ChPos Set) ( Str1 Str2 Order) (Str ChPos Len) (ConStr [\Hex] | [\Okt] | [\Bin] | [\Char])
StrToByte
TestDI
TestAndSet Trunc
ValToStr
VectMagn
Caracterstica gerais
3-59
Sumrio da Sintaxe
Sumrio RAPID
3-60
Caracterstica gerais
1 Elementos Bsicos
1.1 Identificadores
Identificadores so usados para nomear mdulos, rotinas, dados e etiquetas (labels); por exemplo MODULE module_name PROC routine_name() VAR pos data_name; label_name:
O primeiro caracter em um identificador deve ser uma letra. Os outros caracteres podem ser letras, nmeros ou sublinhados _. O mximo comprimento de qualquer identificador 16 caracteres, cada um deles sendo significante. Os identificadores so considerados os mesmos se forem digitados em letra maiscula. Palavras reservadas As palavras listadas abaixo so reservadas. Elas possuem um significado especial na linguagem RAPID e portanto no devem ser usadas como identificadores. Existem tambm determinados nomes pr-definidos para tipos de dados, dados de sistema, instrues e funes que no devem ser usados como identificadores. Veja os Captulos 7, 8, 9, 10, 13, 14 e 15 neste Manual ALIAS CONNECT DO ENDFUNC ENDRECORD ERROR FROM INOUT NOSTEPIN PERS RECORD SYSMODULE TRAP VIEWONLY AND CONST ELSE ENDIF ENDTEST EXIT FUNC LOCAL NOT PROC RETRY TEST TRUE WHILE BACKWARD DEFAULT ELSEIF ENDMODULE ENDTRAP FALSE GOTO MOD NOVIEW RAISE RETURN THEN TRYNEXT WITH CASE DIV ENDFOR ENDPROC ENDWHILE FOR IF MODULE OR READONLY STEP TO VAR XOR
Caractersticas gerais
4-1
Se uma barra invertida (que indica um cdigo de caracter) ou aspas forem includos, eles devem ser escritos duas vezes.
4-2
Caractersticas gerais
1.6 Comentrios
Os comentrios so usados para fazer o programa mais fcil de ser entendido. Eles no afetam o significado do programa de nenhuma forma. Um comentrio comea com um ponto de exclamao ! e termina com um caracter de mudana de linha. Ele ocupa uma linha interia e no pode ocorrer entre dois mdulos; Exemplo ! comentrio IF reg1 > 5 THEN ! comentrio reg2 := 0; ENDIF
1.7 Placeholders
Placeholders podem ser usados temporariamente para representar partes de um programa que ainda no est definido. Um programa que contem placeholders est sintaticamente correto e deve ser carregado na memria.
Caractersticas gerais
4-3
definio do tipo de dados declarao de dados declarao de rotina parmetro alternativo opcinal formal parmetro formal opcinal dimenso matricial formal (conformidade) instruo referncia de objeto (varivel, persistente ou parmetro) condio else if de uma instruo if condio case de uma instruo test expresso argumento de chamada de procedimento identificador
1.9 Sintaxe
Identificadores (Identifiers) <identifier> ::= <ident> | <ID> <ident> ::= <letter> {<letter> | <digit> | _} Valores numricos (Numeric values) <num literal> ::= <integer> [ <exponent> ] | <integer> . [ <integer> ] [ <exponent> ] | [ <integer> ] . <integer> [ <exponent> ] <integer> ::= <digit> {<digit>} <exponent> ::= (E | e) [+ | -] <integer>
4-4
Caractersticas gerais
<string literal> ::= " {<character> | <character code> } " <character code> ::= \ <hex digit> <hex digit> <hex digit> ::= <digit> | A | B | C | D | E | F | a | b | c | d | e | f Comentrios (Comments) <comment> ::= ! {<character> | <tab>} <newline> Caracteres (Characters) <character> ::= -- ISO 8859-1 -<newline> ::= -- newline control character -<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <letter> ::= <upper case letter> | <lower case letter> <upper case letter> ::=
A|B|C|D|E|F|G|H|I|J |K|L|M|N|O|P|Q|R|S|T |U|V|W|X|Y|Z|||| |||||||||| | | | 1) | | | | | | | | | | | | 2) | 3) |
1) letra nrdica eth. 2) Letra Y com acento agudo. 3) letra nrdica thorn.
Caractersticas gerais
4-5
4-6
Caractersticas gerais
2 Mdulos
O programa dividido em programa e mdulos de sistema. O programa tambm pode ser dividido em mdulos (veja a Figura 1). Mem. do programa Programa
Dados Programa Rotina principal Mdulo principal Mdulo 1 Mdulo 2 Mdulo 3 Mdulo 4 Dados Programa Rotina4 Rotina5 Rotina1 Rotina2 Rotina3
Caractersticas gerais
4-7
Exemplo
Um mdulo no deve ter o mesmo nome que outro mdulo, rotina global ou dado.
2.4 Sintaxe
Declarao do mdulo (Module declaration) <module declaration> ::= MODULE <module name> [ <module attribute list> ] <lista de definio de tipos> <lista de declarao de dados> <lista de declarao de rotinas> ENDMODULE 4-8 Caractersticas gerais
<module name> ::= <identifier> <lista de atributos de mdulos> ::= ( <atributo de mdulo> { , <atributo de mdulo> } ) <atributo de mdulo> ::= SYSMODULE | NOVIEW | NOSTEPIN | VIEWONLY | READONLY (Nota. Se usar dois ou mais atributos, estes tm que estar na ordem acima, o atributo NOVIEW s pode ser especificado independentemente ou juntamente com o atributo SYSMODULE.) <lista de definies de tipos> ::= { <definio de tipos> } <lista de declarao de dados> ::= { <declarao de dados> } <lista de declarao de rotinas> ::= { <declarao de rotinas> }
Caractersticas gerais
4-9
4-10
Caractersticas gerais
3 Rotinas
Existem trs tipos de rotinas (subprogramas): procedimentos, funes e traps. - Os procedimentos no retornam um valor e so usados para instrues. - As funes retornam um valor de um tipo especfico e so usados para expresses. - As rotinas trap so usadas para interrupes. Uma rotina trap pode ser associada com uma interrupo especfica e ento, se aquela interrupo em particular ocorrer em um estgio posterior, ela ser automaticamente executada. Uma rotina trap nunca pode ser explicitamente chamada a partir de um programa.
As seguintes regras de escopo se aplicam s rotinas (veja o exemplo na Figura 2): - o escopo de uma rotina global pode incluir qualquer mdulo. - o escopo de uma rotina local compreende o mdulo no qual ela est contida. - dentro de seu escopo, uma rotina local esconde qualquer rotina global ou dados com o mesmo nome. - dentro de seu escopo, uma rotina esconde instrues, rotinas pr-definidas e dados com o mesmo nome. Mdulo1
Rotina local a Rotina local b Rotina c Rotina d Rotina e
Mdulo2
Rotina local a Rotina local e Rotina f Rotina g Rotina h
Figura 2 Exemplo: as seguintes rotinas podem ser chamadas a partir da Rotina h: Mdulo1 - Rotina c, d. Mdulo2 - Todas as rotinas.
Uma rotina no deve ter o mesmo nome que outra rotina ou dado no mesmo mdulo. Uma rotina global no deve possuir o mesmo nome que um mdulo, rotina global ou dado global em outro mdulo.
Caractersticas gerais
4-11
3.2 Parmetros
A lista de parmetros de uma declarao da rotina especifica os argumentos (parmteros reais) que devem/podem ser fornecidos quando a rotina chamada. Existem quatro tipos de parmetros diferentes (no modo de acesso): - Normalmente um parmetro usado como uma entrada e tratado como uma varivel da rotina. A troca da varivel no mudar o argumento correspondente. - Um parmetro INOUT especifica que o argumento correspondente deve ser uma varivel (inteira, elemento ou componente) ou uma persistente inteira que pode ser alterada pela rotina. - Um parmetro VAR especifica que o argumento correspondente deve ser uma varivel (inteira, elemento ou componente) que pode ser alterda pela rotina. - Um parmetro PERS especifica que o argumento correspondente deve ser uma persistente inteira que pode ser alterada pelo programa. Se um parmetro INOUT, VAR ou PERS for atualizado, isto significa na realidade, que o prprio argumento atualizado, isto , possvel usar argumentos para retornar valores para a rotina de chamada. Exemplo: PROC routine1 (num in_par, INOUT num inout_par, VAR num var_par, PERS num pers_par)
Um parmetro pode ser opcional e ser omitido da lista de argumentos de uma chamada de rotina. Um parmetro opcional denotado por um barra invertida \ antes dele. Exemplo: PROC routine2 (num required_par \num optional_par)
O valor de um parmetro opcional que omitido em uma chamada de rotina no pode ser referenciado. Isto significa que as chamadas de rotina devem ser verificadas para parmetros opcionais antes de utilizar outro parmetro opcional. Dois ou mais parmetros opcionais podem ser mutuamente exclusivos (isto , declarados para se excluirem), o que significa que somente um deles pode estar presente na chamada da rotina. Isto indicado por uma barra vertical | entre eles. Exemplo: PROC routine3 (\num exclude1 | num exclude2)
O tipo especial, switch, pode (somente) ser associado parmetros opcionais e possibilita um meio de usar argumentos tipo switch, isto , argumentos que somente so especificados por nomes (no valores). Um valor no pode ser transferido para um parmetro switch . A nica maneira de usar um parmetro switch verificar sua presena usando-se a funo pr-definida, Present. Exemplo: PROC routine4 (\switch on | switch off) ... IF Present (off ) THEN ... ENDPROC
4-12
Caractersticas gerais
As matrizes podem se passar por argumentos. O grau de um argumento matricial (array) deve casar com o grau do parmetro formal correspondente. A dimenso de um parmetro matricial conforme (marcado com *). Portanto a dimenso real depende da dimenso do argumento correspondente na chamada da rotina. Uma rotina pode determinar a dimenso real de um parmetro usando-se a funo pr-definida, Dim. Exemplo: PROC routine5 (VAR num pallet{*,*})
Caractersticas gerais
4-13
Declarao de procedimento (Procedure declaration) Exemplo: Multiplicar todos os elementos de uma matriz por um fator; PROC arrmul( VAR num array{*}, num factor) FOR index FROM 1 TO dim( array, 1 ) DO array{index} := array{index} * factor; ENDFOR ENDPROC Declarao de funo (Function declaration) Uma funo pode retornar qualquer valor de tipo de dado, mas no um valor matricial. Exemplo: Retornar o comprimento de um vetor; FUNC num veclen (pos vector) RETURN Sqrt(Pow(vector.x,2)+Pow(vector.y,2)+Pow(vector.z,2)); ENDFUNC Declarao trap (Trap declaration) Exemplo: Responder a um alimentador vazio; TRAP feeder_empty wait_feeder; RETURN; ENDTRAP
4-14
Caractersticas gerais
! mesmo exemplo usando ligao tardia % proc + NumToStr(product_id, 0) % x, y, z; ... ! mesmo exemplo usando outra variante de ligao tardia VAR string procname {3} :=[proc1, proc2, proc3]; ... % procname{product_id} % x, y, z; ... Note que a ligao tardia est disponvel apenas para chamadas de procedimento e no para chamadas de funo.??? Se uma referncia feita a um procedimento desconhecido usando a ligao tardia, a varivel do sistema ERRNO definida para ERR_REFUNKPRC. Se uma referncia feita a um erro de chamada de procedimento (sintaxe, no procedimento) usando a ligao tardia, a varivel do sistema ERRNO definida para ERR_CALLPROC.
3.6 Sintaxe
Declarao da rotina (Routine declaration) <routine declaration> ::= [LOCAL] ( <procedure declaration> | <function declaration> | <trap declaration> ) | <comment> | <RDN> Parmetros (Parameters) <parameter list> ::= <first parameter declaration> { <next parameter declaration> } <first parameter declaration> ::= <parameter declaration> | <optional parameter declaration> | <PAR> <next parameter declaration> ::= , <parameter declaration> | <optional parameter declaration> | ,<optional parameter declaration> | , <PAR>
Caractersticas gerais
4-15
<optional parameter declaration> ::= \ ( <parameter declaration> | <ALT> ) { | ( <parameter declaration> | <ALT> ) } <parameter declaration> ::= [ VAR | PERS | INOUT] <data type> <identifier> [ { ( * { , * } ) | <DIM>] } | switch <identifier> Declarao de procedimento (Procedure declaration) <procedure declaration> ::= PROC <procedure name> ( [ <parameter list> ] ) <data declaration list> <instruction list> [ BACKWARD <instruction list> ] [ ERROR <instruction list> ] ENDPROC <procedure name> ::= <identifier> <data declaration list> ::= {<data declaration>} Declarao de funo (Function declaration) <function declaration> ::= FUNC <value data type> <function name> ( [ <parameter list> ] ) <data declaration list> <instruction list> [ ERROR <instruction list> ] ENDFUNC <function name> ::= <identifier> Declarao da rotina trap (Trap routine declaration) <trap declaration> ::= TRAP <trap name> <data declaration list> <instruction list> [ ERROR <instruction list> ] ENDTRAP <trap name> ::= <identifier> Chamada de procedimento (Procedure call) <procedure call> ::= <procedure> [ <procedure argument list> ] ; <procedure> ::= <identifier> | % <expression> %
4-16
Caractersticas gerais
<procedure argument list> ::= <first procedure argument> { <procedure argument> } <first procedure argument> ::= <required procedure argument> | <optional procedure argument> | <conditional procedure argument> | <ARG> <procedure argument> ::= , <required procedure argument> | <optional procedure argument> | , <optional procedure argument> | <conditional procedure argument> | , <conditional procedure argument> | , <ARG> <required procedure argument> ::= [ <identifier> := ] <expression> <optional procedure argument> ::= \ <identifier> [ := <expression> ] <conditional procedure argument> ::= \ <identifier> ? ( <parameter> | <VAR> )
Caractersticas gerais
4-17
4-18
Caractersticas gerais
Uma componente especfica de um dado record pode ser acessada usando-se o nome daquela componente; exemplo pos1.x := 300; atribuio da componente x da pos1.
Caractersticas gerais
4-19
4.3 Sintaxe
<data type> ::= <identifier> [LOCAL] ( <record definition> | <alias definition> ) | <comment> | <TDN> <record definition>::= RECORD <identifier> <record component list> ; ENDRECORD <record component list> ::= <record component definition> | <record component definition> <record component list> <record component definition> ::= <data type> <record component name> <alias definition> ::= ALIAS <data type> <identifier> ; <data type> ::= <identifier>
4-20
Caractersticas gerais
Dados
5 Dados
Existem trs tipos de dados: variveis, persistentes e constantes. - uma varivel pode ter um novo valor durante a execuo do programa. - uma persistente pode ser descrita como uma varivel persistente. Isto obtido deixando-se uma atualizao do valor de uma persistente automaticamente causar a atualizao do valor de inicializao de sua declarao. (Quando um programa salvo o valor de inicializao de qualquer declarao da persistente reflete o valor atual da persistente). - uma constante representa um valor esttico e no pode ter um novo valor. Uma declarao introduz o dado pela associao de um nome (identificador) com um tipo de dado. Com execeo de dados pr-definidos e variveis de loops, todos os dados devem ser declarados.
Dados declarados fora da rotina so chamados de dados de programa. As seguintes regras de escopo se aplicam aos dados de programa: - o escopo de dados pr-definidos ou globais pode incluir qualquer mdulo. - o escopo de dados locais compreende o mdulo no qual ele est contido. - dentro de seu escopo, dados locais escondem quaisquer dados globais ou rotinas com o mesmo nome (incluindo intrues, rotinas pr-definidas e dados). Dados de programa no devem ter o mesmo nome que os outros dados ou rotina no mesmo mdulo. Um dado global no deve possuir o mesmo nome que outro dado global ou rotina em outro mdulo. Uma persistente no deve ter o mesmo nome que outra persistente no mesmo programa. Dados declarados dentro da rotina so chamados de dados de rotina. Note que os parmetros de uma rotina tambm so tratados como dados de rotina. As seguintes regras de escopo se aplicam aos dados de rotina: - o escopo dos dados compreendem a rotina na qual eles esto contidos. - dentro de seu escopo, dados de rotina escondem quaisquer outras rotinas ou dados com o mesmo nome. Veja o exemplo da Figur 4. Manual de Referncia do RAPID 5-21
Dados
Mdulo1
Dado local a Dado local b Dado c Dado d Dado e
Mdulo2
Dado local a Dado local f Dado g Rotina local e Dado e1 Rotina h Dado h1 Dado c
Figur 4 Exemplo: Os seguintes dados podem ser chamados a partir da rotina e: Mdulo1: Dados c, d. Mdulo2: Dados a, f, g, e1. Os seguintes dados podem ser chamados a partir da rotina h: Mdulo1: Dado d. Mdulo2: Dados a, f, g, h1, c.
Dados de rotina no devem ter o mesmo nome que outros dados ou etiquetas na mesma rotina.
Variveis de quaisquer tipo podem ter um formato matricial (de grau 1, 2 ou 3) pela adio de informaes dimensionais declarao. Uma dimenso um valor inteiro maior que 0. Exemplo: VAR pos pallet{14, 18};
Variveis com tipos de valor podem ser inicializadas (ter um valor inicial). A expresso usada para iniciar uma varivel deve ser constante. Note que o valor de uma varivel no inicializada pode ser usada, mas ela indefinida, isto , zero. Exemplo: VAR string author_name := "John Smith"; VAR pos start := [100, 100, 50]; VAR num maxno{10} := [1, 2, 3, 9, 8, 7, 6, 5, 4, 3];
5-22
Dados
Persistentes de quaisquer tipo podem ter um formato matricial (de grau 1, 2 ou 3) pela adio de informaes dimensionais declarao. Uma dimenso um valor inteiro maior que 0. Exemplo: PERS pos pallet{14, 18} := [...];
Note que se o valor de uma persistente for atualizado, isto automaticamente causa a atualizao do valor de inicializao da declarao da persistente. Exemplo: PERS num reg1 := 0; ... reg1 := 5; Aps a execuo, o programa ter o seguinte aspecto: PERS num reg1 := 5; ... reg1 := 5; possvel declarar dois persistentes com nome igual em diferentes mdulos, se forem locais dentro do mdulo (PERS LOCAL), sem qualquer erro do sistema (escopo de dados diferente). Contudo, observar a limitao de que estes dois persistentes sempre tero o mesmo valor atual (usam a mesma posio na memria).
Uma constante de qualquer tipo pode ter um formato matricial (de grau 1, 2 ou 3) pela adio de informaes dimensionais declarao. Uma dimenso um valor inteiro maior que 0. Exemplo: CONST pos seq{3} := [[614, 778, 1020], [914, 998, 1021], [814, 998, 1022]]; 5-23
Dados
No quadro abaixo, voc pode ver o que acontece nas vrias atividades, por exemplo, partida a quente, novo programa, incio de programa, etc. * Gera uma erro quando existe um erro semntico no programa de tarefa real.
Tabela 1
Situaodo sistema Afeta Ligado (Partida a quente) Abre, Fecha ou Novo programa Inicia programa (Move PP para principal) Init Init Init Desaparece Inicia programa (Move PP para Rotina) Init Init Init Desaparece Inicia programa (Move PP para cursor) Inalterado Inalterado Inalterado Inalterado Inicia programa (chama Rotina) Inalterado Inalterado Inalterado Inalterado Inicia programa (aps ciclo) Inicia programa (Aps parada) Inalterado Inalterado Inalterado Inalterado
Constante Varivel Persistente Interrupes controladas Rotina de arraanque SYS_RESET (com ajustes de movimento) Arquivos Trajeto
Executa*
Executa
N o executa
N o executa
N o executa
N o executa
No executa
Fecha Desaparece
Fecha Desaparece
Fecha Desaparece
Inalterado Desaparece
Inalterado Inalterado
Inalterado Inalterado
Inalterado Inalterado
5-24
Dados
Constantes, dados persistentes e variveis de mdulo so estticas, ou seja, tm o mesmo armazenamento durante a vida til de uma tarefa. Isso significa que qualquer valor atribudo a um dado persistente ou a uma varivel de mdulo sempre permanece inalterado at a prxima atribuio. As variveis de rotina so volteis. A memria necessria para armazenar o valor de uma varivel voltil alocada primeiro quando da chamada da rotina na qual a declarao da varivel est contida. A memria , posteriormente, desalocada no ponto de retorno da chamada rotina. Isso significa que o valor de uma varivel de rotina sempre indefinido antes da chamada rotina e sempre perdido (torna-se indefinido) no final da execuo da rotina. Em uma cadeia de chamadas recursivas rotina (uma rotina chamada a si mesma direta ou indiretamente), cada instncia da rotina recebe sua prpria posio de memria para a mesma varivel de rotina - so criadas vrias instncias da mesma varivel.
5.7 Sintaxe
Declarao de dados (Data declaration) <data declaration> ::= [LOCAL] ( <variable declaration> | <persistent declaration> | <constant declaration> ) | <comment> | <DDN> Declarao de variveis (Variable declaration) <variable declaration> ::= VAR <data type> <variable definition> ; <variable definition> ::= <identifier> [ { <dim> { , <dim> } } ] [ := <constant expression> ] <dim> ::= <constant expression> Declarao de persistentes (Persistent declaration) <persistent declaration> ::= PERS <data type> <persistent definition> ; <persistent definition> ::= <identifier> [ { <dim> { , <dim> } } ] := <literal expression>
5-25
Dados
5-26
6 Instrues
As instrues so executadas em sucesso a no ser que uma instruo de fluxo de programa, interrupo ou erro faa com que a execuo continue em qualquer outro lugar. A maioria das instrues so terminadas por ponto e vrgula ;. Uma etiqueta (label) terminada por dois pontos :. Algumas instrues so terminadas por palavras especficas: Instruo IF FOR WHILE TEST Exemplo: Palavra de terminao ENDIF ENDFOR ENDWHILE ENDTEST WHILE index < 100 DO . index := index + 1; ENDWHILE
6.1 Sintaxe
<instruction list> ::= { <instruction> } <instruction> ::= [<instrues de acordo com captulo separado deste manual> | <SMT>
Caractersticas gerais
4-27
4-28
Caractersticas gerais
7 Expresses
Uma expresso especifica uma operao um valor. Pode ser usada como: - uma instruo de associao - uma condio em uma instruo IF - um argumento em uma instruo - um argumento em uma chamada funcional p.ex. a:=3*b/c; p.ex. IF a>=3 THEN ... p.ex. WaitTime time; p.ex. a:=Abs(3*b);
1. O resultado recebe o mesmo tipo que o operando. Se o operando possuir um tipo de dado alias, o resultado recebe o tipo alias "base" (num ou pos). 2. Operaes com inteiros, p.ex. 14 DIV 4=3, 14 MOD 4=2. (operaes com operandos no inteiros so ilegais) 3. Preserva a representao inteira (exata) desde que os operandos e o resultado sejam mantidos dentro do subdomnio do tipo num.
Caractersticas gerais
4-29
1) Somente tipos de dados com valor. Os operandos devem ter tipos iguais. a AND b a True False b True True False False False False a OR b a True False b True True True False True False a XOR b a True False b True False True False True False NOT b b True False False True
Observe que a avaliao de expresses envolvendo operadores and e or otimizada de forma que o operando direito da expresso no seja avaliado se o resultado da operao puder ser determinado aps a avaliao do operando esquerdo.
4-30
Caractersticas gerais
Registros Uma varivel, persistente ou constante declarada como um registro pode ser referenciada a todo o registro ou a uma simples componente. Uma componente do registro referenciada usando-se o nome da componente. Exemplo: VAR pos home; VAR pos pos1; VAR num yvalue; .. yvalue := home.y; pos1 := home
Caractersticas gerais
4-31
Deve ser possvel determinar o tipo de dados de um agregado no contexto. O tipo de dados de cada membro agregado deve ser igual ao tipo de membro correspondente do tipo determinado. Exemplo VAR pos pl; p1 :=[1, -100, 12]; tipo de agregado post-determinado por p1 ilegal, visto que o tipo de dados de nenhum dos agregados pode ser determinado pelo contexto.
Os argumentos de uma chamada funcional so usados para transferir dados para (e possivelmente de) a funo chamada. O tipo de dado de um argumento deve ser igual ao tipo do parmetro correspondente da funo. Os argumentos opcionais podem ser omitidos mas a ordem dos argumentos (atuais) deve ser a mesma dos parmetros formais. Alm disso, dois ou mais argumentos opcionais podem ser declarados para se excluirem, e no caso, somente um deles pode estar presente na lista de argumentos. Um argumento necessrio (compulsrio) separado a partir de um argumento precedente por uma vrgula ,. O nome do parmetro formal pode ser includo ou omitido. Exemplo: Polar(3.937, 0.785398) dois argumentos necessrios Polar(Dist:=3.937, Angle:=0.785398)... utilizando nomes
Um argumento opcional deve ser precedido por uma barra invertida \ e o nome do parmetro formal. Um argumento tipo switch especial; ele pode no incluir nenhuma expresso de argumento. Ao invs disso, tal argumento somente pode ser presente ou no presente. Exemplo: Cosine(45) Cosine(0.785398\Rad) Dist(p2) Dist(\distance:=pos1, p2) um argumento necessrio ... e uma switch um argumento necessrio ... e um opcional
4-32
Caractersticas gerais
Argumentos condicionais so usados para uma propagao suave dos argumentos opcionais atravs das cadeias das chamadas da rotina. Um argumento condicional considerado presente se o parmetro opcional especificado (da funo que chama) estiver presente, caso contrrio ele simplesmente considerado omisso. Note que o parmetro especificado deve ser opcional. Exemplo: PROC Read_from_file (iodev File \num Maxtime) .. character:=ReadBin (File \Time?Maxtime); ! Max. time is only used if specified when calling the routine ! Read_from_file .. ENDPROC
A lista de parmetros de uma funo associa um modo de acesso para cada parmetro. O modo de acesso pode ser in, inout, var ou pers: - um parmetro IN (default) permite o argumento ser qualquer expresso. A funo chamada v o parmetro como uma constante. - um parmetro INOUT requer que o argumento correspondente seja uma varivel (inteira, elemento matricial ou componente de registro) ou uma persistente inteira. A funo ganha acesso (leitura/escrita) para o argumento. - um parmetro VAR requer que o argumento correspondente seja uma varivel (inteira, elemento matricial ou componente de registro). A funo ganha acesso (leitura/escrita) para o argumento. - um parmetro PERS requer que o argumento correspondente seja uma persistente inteira. A funo ganha acesso (leitura/escrita) para o argumento.
- mais baixa
Um operador com alta prioridade efetuado antes de um operador com baixa prioridade. Operadores com a mesma prioridade so efetuados da esquerda para direita. Exemplo Expresso a+b+c a+b*c a OR b OR c Ordem de operao (a + b) + c a + (b * c) (a OR b) OR c Comentrio regra esq. p/ dir. * maior que + regra esq. p/ dir.
Caractersticas gerais
4-33
7.8 Sintaxe
Expresses (Expressions) <expression> ::= <expr> | <EXP> <expr> ::= [ NOT ] <logical term> { ( OR | XOR ) <logical term> } <logical term> ::= <relation> { AND <relation> } <relation> ::= <simple expr> [ <relop> <simple expr> ] <simple expr> ::= [ <addop> ] <term> { <addop> <term> } <term> ::= <primary> { <mulop> <primary> } <primary> ::= <literal> | <variable> | <persistent> | <constant> | <parameter> | <function call> | <aggregate> | ( <expr> ) Operadores (Operators) <relop> ::= < | <= | = | > | >= | <> <addop> ::= + | - <mulop> ::= * | / | DIV | MOD Valores constantes (Constant values) <literal> ::= <num literal> | <string literal> | <bool literal> Dados (Data) <variable> ::= <entire variable> | <variable element> | <variable component> <entire variable> ::= <ident> <variable element> ::= <entire variable> { <index list> }
4-34
Caractersticas gerais
<index list> ::= <expr> { , <expr> } <variable component> ::= <variable> . <component name> <component name> ::= <ident> <persistent> ::= <entire persistent> | <persistent element> | <persistent component> <constant> ::= <entire constant> | <constant element> | <constant component> Agregados (Aggregates) <aggregate> ::= [ <expr> { , <expr> } ] Chamadas funcionais (Function calls) <function call> ::= <function> ( [ <function argument list> ] ) <function> ::= <ident> <function argument list> ::= <first function argument> { <function argument> } <first function argument> ::= <required function argument> | <optional function argument> | <conditional function argument> <function argument> ::= , <required function argument> | <optional function argument> | , <optional function argument> | <conditional function argument> | , <conditional function argument> <required function argument> ::= [ <ident> := ] <expr> <optional function argument> ::= \ <ident> [ := <expr> ] <conditional function argument> ::= \ <ident> ? <parameter> Expresses especiais (Special expressions) <constant expression> ::= <expression> <literal expression> ::= <expression> <conditional expression> ::= <expression> Parmetros (Parameters) <parameter> ::= <entire parameter> | <parameter element> | <parameter component>
Caractersticas gerais
4-35
4-36
Caractersticas gerais
8 Recuperao de Erros
Um erro uma situao anormal, relacionado com a execuo de uma parte especfica de um programa. Um erro faz com que a execuo do programa seja impossvel (ou no mnimo perigosa). Overflow e diviso por zero so exemplos de erros. Os erros so identificados pelo seu nico nmero de erro e so sempre reconhecidos pelo rob. A ocorrncia de um erro causa a suspenso da execuo normal do programa e o controle passado para um tratamento de erro. O conceito de tratamento de erro faz com que seja possvel responder, e possivelmente, recuperar a execuo partir dos erros que aparecem durante o programa. Se a execuo posterior no for possvel, o tratamento de erro pelo menos assegura que o programa abortado de um modo suave.
A varivel do sistema ERRNO contem o nmero de erro (mais recente) e pode ser usada pelo tratamento de erro para identificar aquele erro. Aps as aes necessrias terem sido tomadas, o tratamento de erro pode: - Recomear a execuo, iniciando pela instruo na qual o erro ocorreu. Isto feito usando-se a instruo RETRY. Se esta instruo causar o mesmo erro novamente, at quatro tentativas de recuperao sero feitas; logo aps a execuo ir parar. - Resume a execuo, inicializando a instruo que segue a instruo na qual o erro ocorreu. Isto feito usando a instruo TRYNEXT. - Retorna o controle ao emissor da rotina usando a instruo RETURN. Se a rotina uma funo, a instruo RETURN tem de especificar um valor de retorno apropriado. - Propaga o erro ao emissor da rotina usando a instruo RAISE Se ocorrer um erro numa rotina que no contenha um tratamento de erros ou quando se chegar ao fim do tratamento de erros (ENDFUNC, ENDPROC ou ENDTRAP), chamado o tratamento de erros do sistema. O tratamento de erros do sistema informa a ocorrncia do erro, parando a execuo.
Caractersticas gerais
4-37
Numa cadeia de rotina de chamados, cada rotina pode ter o seu prprio tratamento de erros. Se ocorrer um erro numa rotina com um tratamento de erros e se o erro for explicitamente propagado usando a instruo RAISE, o mesmo erro ocorre novamente no ponto do chamado da rotina - o erro propagado. Quando se alcanar o topo da cadeia de chamados (a rotina de entrada da tarefa) sem que se encontre qualquer tratamento de erros ou quando se chegar ao fim de um tratamento de erros na cadeia de chamados, o tratamento de erros do sistema chamado. O tratamento de erros do sistema informa sobre o erro, parando a execuo. Uma vez que uma rotina trap s pode ser chamada pelo sistema (em resposta a uma interrupo), os erros so sempre propagados de uma rotina trap para o tratamento de erros do sistema. A recuperao de erros no est disponvel para instrues no tratamento de trs para frente. Tais erros so sempre propagados para o tratamento de erros do sistema. Alm dos erros detectados e levantados pelo rob, um programa pode explicitamente levantar erros pelo uso da instruo RAISE. Esta facilidade pode ser usada para recuperao a partir de situaes complexas. Ela pode, por exemplo, ser usada para escapar de posies de cdigo agrupadas. Os nmeros de erro de 1- 90 podem ser usados na instruo RAISE. Os erros levantados explicitamente so tratados exatamente como erros levantados pelo sistema. Note que no possvel recuperar ou responder a erros que ocorrem dentro de uma condio de erro. Tais erros so sempre propagados para o tratamento de erros do sistema.
4-38
Caractersticas gerais
9 Interrupes
Interrupes so eventos definidos pelo programa, identificados por um nmero de interrupo. Uma interrupo ocorre quando uma condio de interrupo for verdadeira. Diferentemente dos erros, a ocorrncia de uma interrupo no est diretamente relacionada (sincronizada com) a uma posio de cdigo especfica. A ocorrncia de uma interrupo causa a suspenso da execuo normal do programa e o controle passado para uma rotina trap. Apesar do rob reconhecer imediatamente a ocorrncia de uma interrupo (somente atrasada pela velocidade do hardware), a sua resposta chamada da rotina trap correspondente somente pode ter lugar em posies especfifcas do programa, a saber: - quando a prxima instruo entrar, - a qualquer momento durante uma instruo de espera, p. ex. WaitUntil, - a qualquer momento durante uma instruo de movimento, p. ex. MoveL. Isto resulta normalmente em um atraso de 5-120 ms entre o reconhecimento da interrupo e sua resposta, dependendo do tipo de movimento que est sendo executado no instante da interrupo. O levantamento das interrupes pode ser desabilitado e habilitado. Se as interrupes forem desabilitadas, qualquer interrupo que ocorrer colocada em uma fila e no levantada at que as interrupes sejam habilitadas novamente. Note que a fila da interrupo pode conter mais de uma interrupo na condio de espera. As interrupes so levantadas na ordem FIFO. As interrupes so sempre desabilitadas durante a execuo de uma rotina trap. Quando executar os passos e quando o programa tiver sido parado, no sero manuseadas nenhumas interrupes. As interrupes que forem geradas sob estas circunstncias no sero tratadas. O nmero mximo de interrupes simultneas de 70 por tarefa de programa. A limitao total definida pelo CPU de E/S de 100 interrupes.
Uma interrupo habilitada pode ser desabilitada (e vice-versa). Durante o perodo de desabilitao, quaisquer interrupes do tipo especificado geradas sero descartadas sem a execuo de qualquer interceptao.
Caractersticas gerais
4-39
A deleo de uma interrupo remove a sua definio. No necessrio remover explicitamente uma definio de interrupo, mas uma nova interrupo no pode ser associada a uma varivel de interrupo at que a definio anterior tenha sido deletada. Exemplo: IDelete sig1int;
Vrias interrupes podem ser conectadas a uma mesma rotina trap. A varivel do sistema INTNO contem um nmero de interrupo e pode ser usada por uma rotina trap para identificar uma interrupo. Aps as aes necessrias terem sido tomadas, a rotina trap pode ser terminada uando-se a instruo RETURN ou quando o fim (ENDTRAP ou ERROR) da rotina trap for alcanado. A execuo continua a partir do lugar de onde a interrupo ocorreu. 4-40 Caractersticas gerais
Quando o procedimento chamado durante a execuo para frente, ocorre o seguinte: PROC MoveTo () MoveL p1,v500,z10,tool1; MoveL p2,p3,v500,z10,tool1; MoveL p4,v500,z10,tool1; BACKWARD MoveL p4,v100,z10,tool1; MoveL p2,p3,v100,z10,tool1; MoveL p1,v500,z10,tool1; ENDPROC
.. MoveTo; ..
Caractersticas gerais
4-41
Quando o procedimento chamado durante a execuo de trs para frente, o seguinte ocorre:
.. MoveTo; ..
PROC MoveTo () MoveL p1,v500,z10,tool1; MoveL p2,p3,v500,z10,tool1; MoveL p4,v500,z10,tool1; BACKWARD MoveL p4,v100,z10,tool1; MoveL p2,p3,v100,z10,tool1; MoveL p1,v500,z10,tool1; ENDPROC
As instrues do tratamento de erros no podem ser executadas de trs para frente. A execuo de trs para frente no pode ser agrupada, isto , duas instrues em um elo de chamada no podem ser executadas de trs para frente simultaneamente. Um procedimento sem um manipulador de trs para frente no pode ser executado de trs para frente. Um procedimento com um manipulador de trs para frente vazio executado como uma no operao.
PROC MoveTo () MoveL p1,v500,z10,tool1; MoveC p2,p3,v500,z10,tool1; MoveL p4,v500,z10,tool1; BACKWARD MoveL p4,v500,z10,tool1; MoveC p2,p3,v500,z10,tool1; MoveL p1,v500,z10,tool1; ENDPROC
Plano do espelho
Note que a ordem de CirPoint p2 e ToPoint p3 em MoveC dever ser a mesma. As instrues de movimento se referem a todas as instrues que resultam em algum movimento do rob ou de eixos externos, como MoveL, SearchC, TriggJ, ArcC, PaintL ... Qualquer afastamento desta limitao de programao no manipulador de trs para a frente poder resultar em falha do movimento de trs para a frente. O movimento linear poder resultar em movimento circular e vice versa, em alguma parte do trajeto de trs para a frente.
4-42
Caractersticas gerais
11 Multitarefa
Os eventos em uma clula robotizada normalmente so em paralelo, ento por que os programas no so em paralelo ? A Multitarefa RAPID uma maneira de executar programas em (pseudo) paralelo com a execuo normal. A execuo iniciada na energizao e continua indefinidamente, a no ser que ocorra um erro no programa. Um programa paralelo pode ser colocado em um plano posterior (background) ou em um plano anterior (foreground) de outro programa. Ele tambm pode estar no mesmo nvel que outro programa. Para o uso desta funo o rob deve ser configurado com uma TAREFA (task) extra para cada programa em background. At 10 tarefas diferentes podem ser rodadas em pseudo paralelo. Cada tarefa constituda por um conjunto de mdulos, do mesmo modo que um programa normal. Todos os mdulos so locais em cada tarefa. As variveis e constantes so locais em cada tarefa, mas as persistentes no. Uma persistente com mesmo nome e tipo pode ser alcanada em todas as tarefas. Se duas persistentes tiverem o mesmo nome, mas seu tipo ou tamanho (dimenso da matriz) forem diferentes, um erro de rotina acontecer. Uma tarefa tem o seu prprio tratamento trap e as rotinas de eventos apenas so acionadas nos seus prprios estados de sistemas de tarefas (por exemplo Start/Stop/ Restart...). Existem algumas restries no uso da Multitarefa RAPID. - No misture programas paralelos com um PLC. O tempo de resposta o mesmo que o tempo de resposta de interrupo para uma tarefa. Isto verdade, claro, quando a tarefa no est em background de outro programa ocupado. - Existe somente uma unidade de programao fsica, portanto tome cuidado para que um TPWrite no se misture com a Janela do Operador para todas as tarefas. - Quando rodar uma instruo Wait em modo manual, um dilogo de simulao aparecer aps 3 segundos. Isto ocorrer na tarefa principal. - As instrues de movimento s podem ser executadas na tarefa principal (a tarefa conexo do program instance 0, veja o Guia do Usurio - Parmetros do sistema). - A execuo de uma tarefa ser interrompida durante o tempo em que outras tarefas esto acedendo ao sistema de arquivos, isto se o operador escolher guardar ou abrir um programa, ou se o programa numa tarefa usar as instrues carregar/ apagar/ ler/ escrever. - A unidade de programao no pode acessar outras tarefas alm da principal. Portanto, o desenvolvimento de programas RAPID para outras tarefas somente pode ser feito se o cdigo for carregado na tarefa principal, ou off-line. Para todos os ajustes, veja o Guia do Usurio - Parmetros do Sistema.
Caractersticas gerais
4-43
4-44
Caractersticas gerais
Caractersticas gerais
4-45
11.4 Prioridades
O modo padro de executar as tarefas roda-las todas ao mesmo nvel de um modo circular (um passo bsico para cada instncia). Mas possvel mudar a prioridade de uma tarefa colocando-a em background de outra. Ento a background somente executar quando a foreground estiver esperando por alguns eventos, ou tiver parado a execuo (idle). Um programa do rob com instrues de movimentao estar em estado idle, ocioso, a maioria do tempo. O exemplo abaixo descreve algumas situaes onde o sistema possui 10 tarefas (veja a Figura 5) Elo circular 1: Elo circular 2: tarefas 0, 1 e 8 esto ocupadas tarefas 0, 3, 4, 5 e 8 esto ocupadas tarefas 1 e 2 esto ociosas
4-46
Caractersticas gerais
tarefas 2, 4 e 5 esto ocupadas tarefas 0, 1, 8 e 9 esto ociosas. tarefas 6 e 7 esto ocupadas tarefas 0, 1, 2, 3 4, 5, 8 e 9 esto ociosas
elo 1
tarefa 0
elo 2
tarefa 1
tarefa 2
tarefa 3
tarefa 4
tarefa 5
tarefa 6 tarefa 7
elo 4 elo 3
tarefa 8
tarefa 9
Caractersticas gerais
4-47
O valor de uma varivel persistente ser armazenado numa parte separada do sistema e no afetar a rea de memria acima mencionada. Veja Parmetros do Sistema - AveragePers.
4-48
Caractersticas gerais
Sistemas de Coordenadas
1 Sistemas de Coordenadas
1.1 O ponto central da ferramenta do rob (TCP)
A posio do rob e seus movimentos esto sempre relacionados ao ponto central da ferramenta. Este ponto normalmente definido em alguma parte da ferramenta, por exemplo, no bico de aplicao da pistola de cola, no centro da garra ou na extremidade de uma ferramenta. Vrios TCPs (ferramentas) podem ser definidos, mas somente um pode ser ativado por vez. Quando uma posio registrada, a posio de um TCP que gravada. Este tambm o ponto que se move no trajeto a uma dada velocidade. Se o rob est segurando um objeto de trabalho e trabalhando com uma ferramenta estacionria, um TCP estacionrio usado. Se esta ferramenta ativada, o trajeto programado e a velocidade esto relacionados ao objeto de trabalho. Veja Ferramenta Estacionria na pgina 10.
1.2.1 Sistema de coordenadas de base Em uma aplicao simples, a programao pode ser feita no sistema de coordenadas de base; aqui o eixo z coincide com o eixo 1 do rob (veja Figura 1).
Caractersticas gerais
5-1
Sistemas de Coordenadas
O sistema de coordenadas de base est localizado na base do rob: - A origem est situada na interseco do eixo 1 e a superfcie da base montada. - O plano xy o mesmo que a superfcie da base montada. - O eixo x aponta para frente. - O eixo y aponta para a esquerda (da perspectiva do rob). - O eixo z aponta para cima.
1.2.2 Sistema de coordenadas global Se o rob est montado no solo, programar no sistema de coordenadas de base fcil. Se, entretanto, o rob est montado acima do solo (suspenso), programar no sistema de coordenadas de base mais difcil porque as direes dos eixos no so as mesmas que as direes principais na rea de trabalho. Nestes casos, mais comum definir um sistema de coordenadas global. O sistema de coordenadas global ir coincidir com o sistema de coordenadas de base, se este no for definido especificamente. s vezes, vrios robs trabalham na mesma rea de trabalho em uma planta. Um sistema de coordenadas global comum usado neste caso para habilitar o programa do rob se comunicar um com o outro. Tambm pode ser vantajoso usar este tipo de sistema quando as posies esto relacionadas a um ponto fixo na rea de trabalho comum aos dois robs. Veja o exemplo na Figura 2.
X Y Z Z Y X
Coordenadas de base do rob 1
z y
Coordenadas global
x
Figura 2 Dois robs (um dos quais suspenso) com um sistema de coordenadas global comum.
5-2
Caractersticas gerais
Sistemas de Coordenadas
1.2.3 Sistema de coordenadas do usurio Um rob pode trabalhar com diferentes bases ou superfcies de trabalho tendo diferentes posies e orientaes. Um sistema de coordenadas do usurio pode ser definido para cada base. Se todas as posies so armazenadas em coordenadas de objeto, voc no precisar reprogramar se a base precisar ser movida ou girada. Movendo/girando o sistema de coordenadas do usurio como a base foi movida/girada, todas posies programadas seguiro a base e a reprogramao no ser necessria. O sistema de coordenadas do usurio definido baseado no sistema de coordenadas global (veja Figura 3).
Z
Coordenadas do usurio 1
Y X Z
Coordenadas do usurio 2
Y X
Z Y X
Sistema de coordenadas de base
y
Coordenadas global
x
Figura 3 Dois sistemas de coordenadas do usurio descrevem a posio de duas bases.
1.2.4 Sistema de coordenadas do objeto O sistema de coordenadas do usurio usado para conseguir diferentes sistemas de coordenadas para diferentes bases ou superfcies de trabalho. Uma base, entretanto, pode incluir vrios objetos de trabalho que so processados ou tratados pelo rob. Logo, isto normalmente ajuda a definir um sistema de coordenadas para cada objeto de trabalho para tornar mais fcil o ajuste do programa se o objeto de trabalho for movido ou se um novo objeto, igual ao anterior, programado em um local diferente. Um sistema de coordenadas referido a um objeto chamado sistema de coordenadas do objeto. Este sistema de coordenadas tambm usado em programao off-line desde
Caractersticas gerais
5-3
Sistemas de Coordenadas
que as posies especificadas sejam tiradas diretamente de um desenho do objeto de trabalho. O sistema de coordenadas do objeto tambm pode ser usado para movimentar o rob. O sistema de coordenadas do objeto definido baseado no sistema de coordenadas do usurio (veja Figura 4).
z z
Coordenadas do usurio
z
Coordenadas do objeto 1
y y x y x
Coordenadas do objeto 2
z y
Coordenadas global
x
Figura 4 Dois sistemas de coordenadas do objeto descrevem a posio de dois diferentes objetos de trabalho localizados na mesma base.
As posies programadas so sempre definidas em relao a um sistema de coordenadas do objeto. Se uma base movida/girada, isto pode ser compensado pelo movimento/giro do sistema de coordenadas do usurio. Nem as posies programadas nem os sistemas de coordenadas do objeto definidos precisam ser alterados. Se o objeto de trabalho movido/girado, este pode ser compensado pelo movimento/giro do sistema de coordenadas do objeto. Se um sistema de coordenadas do usurio mvel, isto , eixos externos coordenados so usados, ento o sistema de coordenadas do objeto se move com o sistema de coordenadas do usurio. Isto torna possvel mover o rob em relao ao objeto quando a mesa de trabalho for manipulada.
1.2.5 Sistema de coordenadas de deslocamento s vezes, o mesmo trajeto deve ser executado em vrios lugares no mesmo objeto. Para evitar de reprogramar todas as posies cada vez, um sistema de coordenadas, conhecido como sistema de coordenadas de deslocamento, definido. Este sistema de coordenadas tambm pode ser usado em conjunto com procuras, para compensar as diferenas nas posies de partes individuais. O sistema de coordenadas de deslocamento definido baseado no sistema de coordenadas do objeto (veja Figura 5). 5-4 Caractersticas gerais
Sistemas de Coordenadas
y y
Posio original
Posio nova
x
Coordenadas de deslocamento
x
Coordenadas do objeto
1.2.6 Eixos externos coordenados Coordenao do sistema de coordenadas do usrio Se um objeto de trabalho est localizado em uma unidade mecnica externa, este movido enquanto o rob est executando um trajeto definido no sistema de coordenadas do objeto, um sistema de coordenadas do usurio mvel pode ser definido. A posio e orientao do sistema de coordenadas do usurio ir, neste caso, ser dependente das rotaes dos eixos da unidade externa. O trajeto programado e a velocidade sero ento relacionados ao objeto de trabalho (veja Figura 6) e no haver necessidade de considerar o fato que este objeto movido pela unidade externa. z
Coordenadas do usurio
y x
eixo 2 eixo 3
eixo 1
z y
Coordenadas global
x
Figura 6 Um sistema de coordenadas do usurio, definido seguindo os movimentos do eixo 3 de uma unidade mecnica externa.
Caractersticas gerais
5-5
Sistemas de Coordenadas
Coordenao do sistema de coordenadas de base Um sistema de coordenadas mvel pode tambm ser definido pela base do rob. Isto interessante na instalao quando o rob montado em um trilho, por exemplo. A posio e orientao do sistema de coordenadas de base ir, como pelo sistema de coordenadas do usurio, ser dependente dos movimentos da unidade externa. O trajeto programado e velocidade sero relacionados ao sistema de coordenadas do objeto (Figura 7) e no haver necessidade de pensar sobre o fato que a base do rob movida pela unidade externa. Uma coordenada do sistema de coordenadas do usurio e uma coordenada do sistema de coordenadas de base podem ser definidos ao mesmo tempo.
Coordenadas de base
Figura 7 Interpolao coordenada com um trilho movendo o sistema de coordenadas de base do rob.
Para possibilitar calcular os sistemas de coordenadas do usurio e de base quando as unidades envolvidas so movidas, o rob deve conhecer: - As posies de calibrao dos sistemas de coordenadas do usurio e da base - As relaes entre os ngulos dos eixos externos e a translao/rotao dos sistemas de coordenadas do usurio e da base. Estas relaes so definidas nos parmetros do sistema.
5-6
Caractersticas gerais
Sistemas de Coordenadas
1.3.1 Sistema de coordenadas de punho Em uma aplicao simples, o sistema de coordenadas de punho pode ser usado para definir a orientao da ferramenta; aqui o eixo z coincide com o eixo 6 do rob (veja Figura 8).
x
Figura 8 O sistema de coordenadas de punho.
O sistema de coordenadas de punho no pode ser alterado e sempre o mesmo que no flange de montagem do rob respeitando: - A origem est situada no centro do flange de montagem ( superfcie do flange de montagem). - O eixo x aponta na direo oposta ao furo de controle do flange de montagem. - O eixo z aponta para fora, em ngulo a direita do flange de montagem.
1.3.2 Sistema de coordenadas da ferramenta A ferramenta fixada no flange de montagem do rob normalmente precisa ter seu prprio sistema de coordenadas para habilitar a definio de seu TCP, o qual a origem do sistema de coordenadas da ferramenta. O sistema de coordenadas da ferramenta pode tambm ser usado para conseguir direes de movimento apropriadas quando movimentar o rob. Se uma ferramenta danificada ou trocada, tudo que voc precisa fazer redefinir o sistema de coordenadas de ferramenta. O programa normalmente no tem que ser alterado. O TCP (origem) selecionado como o ponto na ferramenta que deve ser posicionado corretamente, por exemplo, o bico de aplicao da pistola de cola. Os eixos coordenados da ferramenta so definidos como os naturais da ferramenta em questo.
Caractersticas gerais
5-7
Sistemas de Coordenadas
x x
Ponta
Ponta
z
Figura 9 Sistema de coordenadas de ferramenta, como normalmente definido para a tocha de solda a arco (esquerda) e a pina de solda a ponto (direita).
O sistema de coordenada de ferramenta definido baseado no sistema de coordenada de punho (veja Figura 10). y
Coordenada de ferramenta
Figura 10 O sistema de coordenada de ferramenta definido relativo ao sistema de coordenada de punho, aqui para uma garra.
1.3.3 TCPs estacionrios Se o rob est segurando o objeto de trabalho e trabalhando em uma ferramenta estacionria, um TCP estacionrio usado. Se esta ferramenta ativada, o trajeto programado e velocidade esto relacionados ao objeto de trabalho preso ao rob. Isto signiifca que os sistemas de coordenadas sero mantidos, como na Figura 11.
5-8
Caractersticas gerais
Sistemas de Coordenadas
Z
Coordenada de objeto
Z Y X
Coordenada de ferramenta
Z Y X
Coordenada de base
y
Coordenada global
x
Figura 11 Se um TCP estacionrio usado, o sistema de coordenadas de objeto normalmente baseado no sistema de coordenadas de punho.
No exemplo da Figura 11, nem o sistema de coordenadas do usurio nem o deslocamento de programa usado. , entretanto, possvel us-los e, se eles so usados, eles estaro relacionados um ao outro como mostra a Figura 12. z
y z
Coordenadas de objeto
y z
Coordenadas do usurio
x y
Coordenadas de deslocamento
x y
Coordenadas de punho
x
Figura 12 Deslocamento do programa pode tambm ser usado junto com TCPs estacionrios.
Caractersticas gerais
5-9
Sistemas de Coordenadas
Definio do sistema de coord.de ferramenta Guia do Usurio - Calibrao Tipos de dados - tooldata Definio de um ponto central da ferramenta Guia do Usurio - Calibrao Tipos de dados - tooldata Definio da base de deslocamento Guia do Usurio - Calibrao Sumrio RAPID - Ajuste de Movimento
5-10
Caractersticas gerais
2.2.1 Interpolao de eixos Quando a preciso do trajeto no muito importante, este tipo de movimento usado para mover a ferramenta do rob rapidamente de uma posio para outra. A interpolao de eixo tambm permite um eixo mover-se de qualquer localizao para outra na sua rea de trabalho, em um movimento singular. Todos eixos se movem do ponto inicial para o ponto destino com uma velocidade de eixo constante (veja Figura 13).
Caractersticas gerais
5-11
Figura 13 Interpolao de eixos a forma mais rpida para mover-se entre dois pontos pois os eixos do rob seguem o trajeto mais prximo entre o ponto inicial e o ponto destino (pela perpectiva dos ngulos dos eixos).
A velocidade do ponto central da ferramenta expresso em mm/s (no sistema de coordenadas do objeto). Como a interpolao movimenta eixo-a-eixo, a velocidade no ser exatamente o valor programado. Durante a interpolao, a velocidade do eixo de limitao, isto , o eixo que se move mais rpido em relao a sua velocidade mxima para executar o movimento, determinada. Ento, as velocidades de permanncia dos eixos so calculadas para que todos os eixos alcancem o ponto destino ao mesmo tempo. Os eixos esto coordenados para obter uma trajetria independente da velocidade. A acelerao automaticamente otimizada para uma performance mxima do rob.
2.2.2 Interpolao retangular Durante a interpolao retangular, o TCP move-se ao longo de uma linha reta entre os pontos inicial e final (veja Figura 14).
e
Ponto inicial
Figura 14 Interpolao retangular sem reorientao da ferramenta.
Ponto destino
Para obter um trajeto linear no sistema de coordenadas do objeto, os eixos do rob devem seguir um trajeto no linear no espao do eixo. Quanto mais a configurao do rob no linear, maior a acelerao e desacelerao necessria para fazer a ferramenta se mover em linha reta e obter a orientao da ferramenta desejada. Se a configurao extremamente no linear (na proximidade do punho e singularidades do brao), um ou mais dos eixos precisar de mais torque que o motor pode fornecer. Neste caso, a velocidade de todos os eixos ser automaticamente reduzida. A orientao da ferramenta permanece constante durante o movimento inteiro, a menos que uma reorientao tenha sido programada. Se a ferramenta tiver sido reorientada, rodada velocidade constante. Caractersticas gerais
5-12
Uma velocidade rotacional mxima (em graus por segundo) pode ser especificada quando rotacionamos a ferramenta. Se esta setada em um valor baixo, a reorientao ser suave, independente da velocidade definida para o ponto central da ferramenta. Se este for um valor alto, a velocidade de reorientao somente limitada pela velocidade mxima do motor. Contanto que o motor no exceda o limite do torque, a velocidade definida ser mantida. Se, por outro lado, um dos motores exceder o limite da corrente, a velocidade de todo o movimento (com relao a posio e orientao) ser reduzida. Todos os eixos so coordenados para obter um trajeto que independente da velocidade. A acelerao otimizada automaticamente.
2.2.3 Interpolao circular Um trajeto circular definido usando trs posies programadas que definem um segmento circular. O primeiro ponto a ser programado o incio do segmento circular. O prximo ponto um ponto suporte (ponto circular) usado para definir a curvatura do crculo, e o terceiro ponto marca o final do crculo (veja Figura 15). Os trs pontos programados devem ser separados com intervalos regulares ao longo do arco do crculo para torn-lo o mais preciso possvel. A orientao definida pelo ponto suporte usada para selecionar entre uma curvatura curta e longa da orientao do ponto inicial para o ponto final. Se a orientao programada a mesma em relao ao crculo do ponto inicial ao final, e a orientao para o suporte est perto da mesma orientao relacionada ao crculo, a orientao da ferramenta ser mantida constante em relao ao trajeto. Ponto circular
Ponto destino
Ponto inicial
Figura 15 Interpolao circular com uma pequena curvatura da parte de um crculo (segmento circular) com um ponto inicial, ponto circular e ponto destino.
Entretanto, se a orientao do ponto suporte programada prxima a orientao rotacionada em 180, a curvatura alternativa selecionada (veja Figura 16).
Caractersticas gerais
5-13
Ponto circular
Ponto destino
Ponto inicial
Figura 16 Interpolao circular com uma longa curvatura para orientao obtida definindo a orientao no ponto circular na direo oposta comparado com o ponto inicial.
Contanto que todos os torques do motor no excedam o valor mximo permitido, a ferramenta ir se mover na velocidade programada ao longo do arco do crculo. Se o torque de qualquer um dos motores for insuficiente, a velocidade ser automaticamente reduzida para estas partes do trajeto circular onde o rendimento do motor insuficiente. Todos eixos so coordenados para obter um trajeto independente da velocidade. A acelerao otimizada automaticamente.
2.2.4 SingArea\Wrist Durante a execuo na proximidade de um ponto singular, interpolao retangular ou circular podem ser problemticas. Neste caso, melhor usar interpolao modificada, o que significa que os eixos do punho so interpolados eixo-a-eixo, com o TCP seguindo um trajeto linear ou circular. A orientao da ferramenta, entretanto, ser diferente da orientao programada. No caso de SingArea\Wrist a orientao no ponto de suporte do crculo ser igual ao programado. Entretanto, a ferramenta no ter uma direo constante relacionada ao plano circular como numa interpolao circular normal. Se o trajeto circular passa por uma singularidade, a orientao nas posies programadas deve ser modificada para permitir grandes movimentos do punho. Isto ocorre se uma reconfigurao completa do punho gerada quando o crculo executado (eixos 4 e 6 movem 180 graus cada).
5-14
Caractersticas gerais
parablico) passando pelo ponto programado. Isto significa que a posio programada nunca ser alcanada. O incio e fim deste trajeto circular sero definidos pela zona ao redor da posio programada (veja Figura 17).
Posio programada
Trajeto circular
Figura 17 O ponto de passagem gera um trajeto circular para passar pela posio programada.
Todos os eixos so coordenados para obter um trajeto que independa da velocidade . A acelerao automaticamente otimizada.
2.3.1 Interpolao de eixos nos trajetos circulares O tamanho do trajeto circular (zonas) para movimentos do TCP expresso em mm (veja Figura 18). Desde que a interpolao executada eixo a eixo, o tamanho das zonas (em mm) deve ser recalculado em ngulos do eixo (radianos). Este clculo tem um fator de erro (normalmente mx. 10%), o que significa que a zona verdadeira deve desviar da qual foi programada. Se programar velocidades diferentes antes ou depois da posio, a transio de uma velocidade para outra acontece suavemente no trajeto circular sem afetar o trajeto. Ponto de passagem programado Zona
Caractersticas gerais
5-15
2.3.2 Interpolao retangular de uma posio em trajetos circulares O tamanho dos trajetos circulares (zonas) para o movimento do TCP expresso em mm (veja Figura 19). Posio circular programada Zona
Ponto inicial
Figura 19 Durante interpolao retangular, um trajeto circular gerado para passar um ponto de passagem.
Se velocidades diferentes foram programadas antes ou depois da posio circular, a transio ser suave e acontecer no trajeto circular sem afetar o trajeto atual Se a ferramenta executar um processo (como solda a arco, cola ou corte com gua) ao longo de um trajeto, o tamanho da zona pode ser ajustado para conseguir o trajeto desejado. Se a superfcie da parbola do trajeto circular no for igual ao objeto geometricamente, as posies programadas podem ser marcadas prximas uma das outras, tornando possvel a aproximao do trajeto desejado usando dois ou mais pequenos trajetos parablicos.
2.3.3 Interpolao retangular da orientao de trajetos circulares Zonas podem ser definidas para a orientao da ferramenta, como zonas podem ser definidas para posies da ferramenta. A zona de orientao usualmente setada maior que a zona da posio. Neste caso, a reorientao iniciar a interpolao em direo orientao da prxima posio antes de iniciar o trajeto circular. A reorientao ento ser mais suave e provavelmente no ser necessrio reduzir a velocidade para executar a reorientao. A ferramenta ser reorientada para que a reorientao no final da zona seja igual definida pela programao do ponto de parada (veja a Figura 20a-c).
Figura 20a Trs posies com diferentes orientaes esto programadas acima.
5-16
Caractersticas gerais
Figura 20b Se todas posies forem pontos de paradas, a execuo do programa ser como esta.
A zona da orientao para o movimento da ferramenta normalmente expresso em mm. Desta forma, voc pode determinar diretamente onde no trajeto a zona da orientao comea e termina. Se a ferramenta no se move, o tamanho da zona expresso em ngulos da rotao em graus ao invs do TCP em mm. Se diferentes velocidades de reorientao so programadas antes e depois do ponto de passagem, e se as velocidades de reorientao limitam o movimento, a transio de uma velocidade para outra acontecer suavemente no trajeto circular.
2.3.4 Interpolao de eixos externos em trajetos circulares Zonas podem tambm ser definidas para eixos externos, da mesma forma que para a orientao. Se a zona do eixo externo setada para ser maior que a zona do TCP, a interpolao dos eixos externos em direo ao destino da prxima posio ser iniciado antes de iniciar o trajeto circular do TCP. Isto pode ser usado para suavizar movimentos de eixos externos da mesma forma que a zona da orientao usada para suavizar movimentos do punho.
2.3.5 Trajetos circulares quando alteramos o mtodo de interpolao Trajetos circulares tambm so gerados quando um mtodo de interpolao mudado para outro. O mtodo de interpolao usado nos trajetos circulares atuais escolhido como uma forma de fazer a transio de um mtodo para outro o mais suave possvel. Se as zonas do trajeto circular da orientao e posio no so as mesmas, mais que um mtodo de interpolao pode ser usado no trajeto circular (veja Figura 21).
Caractersticas gerais
5-17
p1
Interpolao SingArea\Wrist p4
p3
Zona da orientao
Figura 21 Interpolao quando mudamos de um mtodo de interpolao para outro. Interpolao retangular foi programada entre p1 e p2; interpolao de eixo entre p2 e p3; e interpolao Sing Area\Wrist entre p3 e p4.
Se a interpolao alterada de um movimento de TCP normal para uma reorientao sem um movimento de TCP ou vice-versa, nenhuma zona circular ser gerada. O mesmo acontece se a interpolao alterada para, ou de um movimento de eixos externos sem movimento do TCP.
2.3.6 Interpolao quando alteramos o sistema de coordenadas Quando existe uma alterao do sistema de coordenadas em um trajeto circular, por exemplo, um novo TCP ou um novo objeto de trabalho, a interpolao de eixo do trajeto circular usada. Isto tambm aplicvel quando alteramos de uma operao coordenada para uma operao no coordenada, ou vice-versa.
2.3.7 Programming of more than one point in the same position A programao de mais de um ponto na mesma posio provocar uma reduo desnecessria de velocidade ou atrasos durante a execuo do programa, e poder tambm, provocar a parada do programa quando da mudana do sistema de coordenadas em um trajeto de canto.
2.3.8 Trajetos circulares com sobreposio de zonas Se posies programadas so localizadas perto uma das outras, normal ocorrer zonas programadas sobrepostas. Para conseguir um trajeto bem definido e conseguir otimizar a velocidade todo o tempo, o rob reduz o tamanho da zona para metade da distncia de uma posio programada de sobreposio para outra (veja Figura 22). O mesmo raio da zona sempre usado para entradas e sadas de uma posio do programa, para obter trajetos circulares simtricos.
5-18
Caractersticas gerais
Trajeto gerado p4 p2 p1 Zonas de posio programadas Zonas circulares calculadas pelo rob
p3
Figura 22 Interpolao com sobreposio de zonas de posio. As zonas ao redor de p2 e p3 so maiores que metade da distncia entre p2 e p3. Ento, o rob reduz o tamanho das zonas para torn-las iguais a metade da distncia entre p2 e p3, gerando trajetos circulares simtricos com as zonas.
As zonas de posio ou orientao de trajetos circulares podem se sobrepor. Assim que uma destas zonas do trajeto circular se sobrepem, esta zona reduzida (veja Figura 23). Zona da orientao programada Zona da orientao gerada p2 p1 p3
Trajeto gerado
p4
Zonas de posio
Zona de orientao
Figura 23 Interpolao com sobreposio de zonas de orientao. A zona de orientao de p2 maior que metade da distncia entre p2 e p3 e esta reduzida para metade da distncia entre p2 e p3. As zonas de posio no se sobrepem e consequentemente no so reduzidas; a zona de orientao de p3 tambm no reduzida.
Caractersticas gerais
5-19
2.3.9 Planejando o tempo dos pontos de passagem Ocasionalmente, se o prximo movimento no marcado em tempo, pontos de passagens programados podem ser alcanados como um ponto de parada. Isto talvez acontea quando: - Um nmero de instrues lgicas com tempo de execuo muito longo so executadas entre dois movimentos curtos. - Os pontos esto muito prximos com alta velocidade. Se os pontos de destino so um problema, use o programa de execuo concomitante.
2.4.1 Execuo do programa Um eixo automaticamente mudado para o modo independente quando uma instruo Ind_Move executada. Isto ocorre mesmo se o eixo estiver a ser movido nesse momento, tal como quando um ponto precedente tiver sido programado como um ponto de passagem, ou quando a execuo simultnea do programa usada. Se uma nova instruo Ind_Move for executada antes da instruo anterior terminar, a nova instruo substitui imediatamente a anterior. Se uma execuo de programa for interrompida quando o eixo independente est em movimento, esse eixo parar. Quando o programa reinicializado o eixo independente arranca automaticamente. No existe coordenao ativa entre os eixos independentes e os outros eixos quando estes se encontram no modo normal. Caso ocorra uma falha de voltagem quando um eixo se encontra no modo independente, o programa no pode ser reinicializado. Neste caso, aparece uma mensagem de erro e o programa tem de ser inicializado a partir do incio. Note que uma unidade mecnica pode no ser desativada quando um dos seus eixos se encontra no modo independente. 5-20 Caractersticas gerais
2.4.2 Execuo faseada Durante a execuo por fases um eixo independente executado apenas quando outra instruo est sendo executada. O movimento do eixo ser tambm faseado em linha com a execuo de outros instrumentos, veja a Figura 24. Eixo independente atinge a posio final IndAMove WaitTime 10 10 s Velocidade do eixo independente Velocidade do eixo normal
Figura 24 Execuo faseada de eixos independentes.
MoveL
MoveL
2.4.3 Movimentando Um eixo no modo independente no ser movimentado. No caso de ser feita uma tentativa para executar manualmente o eixo, o eixo no se movimenta e aparece uma mensagem de erro. Execute uma instruo IndReset ou mova o ponteiro do programa para main, de forma a abandonar o modo independente.
2.4.4 Gama de trabalho A gama de trabalho fsica o movimento total dos eixos. A gama de trabalho lgica a gama usada pelas instrues RAPID e lida na janela de movimentao. Aps a sincronizao (contador de voltas atualizado) a gama de trabalho fsica e lgica coincide. Usando a instruo IndReset a rea de trabalho lgica pode ser movimentada, veja a Figura 25.
Caractersticas gerais
5-21
A resoluo de posies reduzida quando se afasta da posio lgica 0. Baixa resoluo junto com o controlador de regulao firme pode dar origem a um torque inaceitvel, rudo e instabilidade do controlador. Verifique o controlador de regulao e a performance do eixo relativamente ao limite da gama de trabalho na instalao. Verifique tambm se a resoluo da posio e a performance do trajeto so aceitveis.
2.4.5 Velocidade e acelerao No modo manual com uma velocidade reduzida, a velocidade reduzida para o mesmo nvel como se o eixo estivesse a rodar como no independente. Note que a funo IndSpeed\InSpeed no ser TRUE se a velocidade do eixo for reduzida. A instruo VelSet e a velocidade de correo em percentagem via janela de produo esto ativas para o movimento independente. Note que a correo via janela de produo inibe o valor TRUE a funo IndSpeed\InSpeed. No modo independente o valor de acelerao e desacelerao mais baixo, especificado no arquivo de configurao, usado tanto para acelerao como para desacelerao. Este valor pode ser reduzido pelo valor ramp na instruo (1 - 100%). A instruo AccSet no afeta o eixo no modo independente.
2.4.6 Eixos do rob Apenas o eixo 6 do rob pode ser usado como um eixo independente. Em geral, apenas a instruo IndReset usada para este eixo. Contudo, a instruo IndReset tambm pode ser usada para o eixo 4 nos modelos IRB 2400 e 4400. Se IndReset for usado para o eixo 4 do rob, ento o eixo 6 no dever estar no modo independente.
5-22
Caractersticas gerais
Se o eixo 6 for usado como um eixo independente podem surgir problemas de singularidade, pois a funo normal de transformao da coordenada do eixo 6 est a ser usada. Se houver algum problema, execute este programa com o eixo 6 no modo normal. Modifique os pontos ou use as instrues a funo SingArea\Wrist ou MoveJ. O eixo 6 fica internamente ativo no clculo da performance do trajeto. Porm, o movimento interno do eixo 6 pode reduzir a velocidade dos outros eixos no sistema. A gama de trabalho independente para o eixo 6 definida com os eixos 4 e 5 na posio home. Se os eixos 4 ou 5 estiverem fora da posio home a gama de trabalho para o eixo 6 movimenta-se atravs do acoplamento da engrenagem. No entanto, a posio lida a partir da unidade de programao para o eixo 6 compensada com as posies dos eixos 4 e 5 atravs do acoplamento da engrenagem.
Caractersticas gerais
5-23
Otimizao do CPU
5-24
Caractersticas gerais
p1 Execuo do SetDO MoveL p1, v1000, fine, tool1; SetDO do1, on; MoveL p2, v1000, z30, tool1;
Figura 26 Uma instruo lgica depois de um ponto de parada no executada at que o ponto destino tenha sido alcanado.
Figura 27 Uma instruo lgica seguindo um ponto de passagem executada antes de atingir a zona.
Caractersticas gerais
5-25
O tempo no qual elas so executadas (DT) compreendem as seguintes componentes de tempo: - O tempo gasto pelo rob para planejar o prximo movimento: aprox. 0.1 segundos. - O atraso do rob (servo lag) em segundos: 0 - 0.5 segundos dependendo da velocidade.
Execuo do SetDO p2 p1 MoveL p1, v1000, fine, tool1; MoveL \Conc, p2, v1000, z30, tool1; SetDO do1, on; MoveL p3, v1000, z30, tool1;
Figura 28 No caso de execuo simultnea do programa depois de um ponto de parada, uma instruo de posicionamento e instruo lgica subsequente so iniciadas ao mesmo tempo.
5-26
Caractersticas gerais
p2 p1
MoveL p1, v1000, z30, tool1; MoveL \Conc, p2, v1000, z30, tool1; SetDO do1, on; MoveL p3, v1000, z30, tool1;
Figura 29 No caso de execuo de programa simultneo depois de um ponto de passagem, a instruo lgica inicia a execuo antes das instrues de posicionamento com o argumento \Conc serem iniciadas.
As instrues que indiretamente afetam movimentos, como ConfL e SingArea, so executadas da mesma maneira que outras instrues lgicas. Elas, entretanto, no afetam movimentos anteriores s instrues de posicionamento. Se vrias instrues de posicionamento com o argumento \Conc e vrias instrues lgicas em uma longa seqncia so misturadas, o seguinte se aplica: - Instrues de posicionamento so executadas depois da instruo anterior de posicionamento ter sido executada. - Instrues lgicas so executadas diretamente, da forma que foram programadas. Elas tomam lugar ao mesmo tempo que o movimento (veja Figura 26) significando que instrues lgicas so executadas um estgio anterior no trajeto que elas foram programadas. - Movimentos no podem ser reinicializados depois de um programa ser interrompido, se duas ou mais instrues na sequncia esto aguardando para ser executadas.
Caractersticas gerais
5-27
p2 p1
MoveL p1, v1000, z30, tool1; MoveL \Conc, p2, v1000, z30, tool1; SetDO do1, on; MoveL \Conc, p3, v1000, z30, tool1; SetAO ao2, 5;
Figura 30 Se vrias instrues de posicionamento com o argumento \Conc so programadas na sequncia, todas as instrues lgicas conectadas so executadas ao mesmo tempo como a primeira instruo executada.
Durante a execuo simultnea de programa, as seguintes instrues so programadas para terminar a sequncia e subsequentemente resincronizar instrues de posicionamento e instrues lgicas: - uma instruo de posicionamento sem o argumento \Conc, - a instruo WaitTime ou WaitUntil com o argumento \Inpos.
A preciso de 2 ms. Na parte do trajeto antes da posio final (mx. 12 mm a 500 mm/s), o sinal pode entretanto ser atrasado em 24 ms. Se uma falha de energia ocorrer quando executando uma instruo de Trigg, a condio de trigg ativada pelo novo ponto de incio. Isto significa que o sinal ser setado incorretamente se o argumento \Start for usado. Se a condio de trigg ocorreu antes da falha de energia, ento o evento de trigg ser ativado novamente.
Caractersticas gerais
5-29
5-30
Caractersticas gerais
Configurao do Rob
4 Configurao do Rob
Normalmente possvel atingir a mesma posio de ferramenta do rob e orientao de diferentes maneiras, usando diferentes ngulos de eixos. Ns chamamos estas diferenas de configuraes do rob. Se, por exemplo, uma posio est localizada aproximadamente no meio da rea de trabalho, alguns robs podem conseguir esta posio por cima ou por baixo (veja Figura 31). Isto tambm pode ser conseguido pela rotao da parte frontal do brao superior do rob (eixo 4) de cima para baixo enquanto rotacionamos os eixos 5 e 6 para uma posio e orientao desejada (veja Figura 32).
Figura 31 Duas configuraes de brao diferentes usadas para atingir a mesma posio e orientao. Em uma das configuraes, o brao aponta para cima e para atingir a outra configurao, o eixo 1 deve ser rotacionado 180 graus.
Caractersticas gerais
5-31
Configurao do Rob
eixo 6
eixo 4 eixo 5
Figura 32 Duas diferentes configuraes de punho usado para atingir a mesma posio e orientao. A configurao na qual a parte da frente do brao superior aponta para cima (mais abaixo), eixo 4 rotacionou 180 graus, eixo 5 girou 180 graus e eixo 6 girou 180 graus para atingir a configurao na qual a parte da frente do brao superior aponte para baixo (mais acima).
Usualmente voc quer que o rob alcance a mesma configurao durante a execuo do programa como a que voc programou. Para fazer isto, voc pode fazer o rob verificar a configurao e, se a configurao correta no foi conseguida, a execuo do programa ir parar. Se a configurao no for verificada, o rob talvez comece inesperadamente a mover seus braos e seu punho o qual, na volta, talvez cause uma coliso com equipamentos perifricos. A configurao do rob especificada definindo apropriadas revolues do quadrante dos eixos 1, 4 e 6. Se o rob e a posio programada tem a mesma revoluo de quadrante para estes eixos, a configurao do rob est correta.
1 2
0 3
Figura 33 Um quarto de volta para um ngulo de eixo positivo: int joint -------------- . 2
angle
5-32
Caractersticas gerais
Configurao do Rob
-3 -2
-4 -1
- 1 Figura 34 Revoluo de quadrante de um ngulo de eixo negativo: int joint ------------ 2 angle
Para um eixo de rob linear, o valor define um intervalo mtrico para o eixo do rob, O valor 0 significa uma posio entre 0 e 1 metro, 1 significa uma posio entre 1 e 2 metros. Para valores negativos, -1 significa uma posio entre -1 e 0 metros, etc.
-3
-2
-1
3 x (m)
-3
-2
-1
Valor de configurao
O conjunto de dados de configurao consiste nos quatro componentes cf1, cf4, cf6, cfx. cf1 especifica o valor do eixo 1, cf4 para o eixo 4, cf6 para o eixo 6. cfx um componente adicional usado para tipos de rob com estruturas que precisam de um componente extra. A verificao da configurao envolve a comparao da configurao da posio programada com a configurao do rob. A configurao de um eixo especfico aceita quando o valor de eixo obtido est dentro de +/- 45 graus a partir do quadrante especificado para uma juno rotacional ou dentro de +/- 0,5 m a partir do valor em metros epseicicado de um eixo linear.
Caractersticas gerais
5-33
Configurao do Rob
cf4 = 0
Figura 36 Examplo: Valor de eixo aceito de 135graus < juno 4 <-45 graus para eixo rotacional 4 quando cf4 = 0
-3
-2
-1
3 x (m)
-1
Valor de configurao
Figura 37 Examplo: Valor de eixo aceito -1,5 m < juno 1 < 0,5 m para eixo linear 1 quando cf1 = -1
Durante o movimento retangular, o rob sempre se move o mais prximo possvel desta configurao. Se, entretanto, a verificao da configurao est ativa, a execuo do programa pra assim que: - A configurao da posio programada no for obtida. - A reorientao necessria de qualquer dos eixos de punho para chegar posio programada exceder um limite (140 a 180 graus). Durante movimento eixo-a-eixo ou retangular modificado usando uma verificao de configurao, o rob sempre se move para a configurao de eixos programada. Se a posio programada e orientao no so alcanadas, a execuo do programa pra antes de iniciar o movimento. Se a configurao no ativada, o rob move-se para a posio especificada e orientao com a configurao mais prxima. Quando a execuo de uma posio programada interrompida por causa de um erro de configurao, muitas vezes isso pode ser causado por uma ou mais das seguintes razes: A posio programada off-line com uma configurao errada. A ferramenta do rob foi alterada causando obrigando o rob a ter uma configurao diferente daquela que foi programada. A posio sujeita a uma operao de estrutura ativa (deslocao, usurio, objeto, base).
5-34
Caractersticas gerais
Configurao do Rob
A configurao correta na posio destino pode ser encontrada pelo posicionamento do rob prximo a ela e lendo a configurao na unidade de programao. Se os parmetros de configurao mudam por causa da base de operao ativa, a verificao da configurao pode ser desativada.
Figura 38 A mesma posio e orientao com as duas configuraes principais diferentes de eixos.
A configurao para a frente a parte frontal do espao de trabalho do rob com o brao direcionado para a frente. A configurao para trs a parte de servio do espao de trabalho com o brao direcionado para trs.
Caractersticas gerais
5-35
Configurao do Rob
5-36
Caractersticas gerais
5.1.1 Rob mestre O modelo cinemtico dos robs mestre modela a posio e a orientao da ferramenta do rob em relao sua base como funo dos ngulos de juno do rob. Os parmetros cinemticos especificando o comprimento dos braos, desvios e modos dos eixos, esto predefinidos no arquivo de configurao para cada tipo de rob.
comprimento_do_brao_superior
comprimento_do_punho Z6 eixo 5
eixo 4 eixo 3
eixo 6
X6
eixo 2 eixo 1
altura_do_p
X
Figura 39 Estrutura cinemtica de um rob IRB1400
Um procedimento de calibragem suporta a definio da estrutura de base do rob mestre em relao estrutura global.
Caractersticas gerais
5-37
Z6
X6 Z Y X
Estrutura global
Figura 40 Estrutura de base do rob mestre
5.1.2 Rob externo A coordenao para um rob externo exige tambm um modelo cinemtico para este mesmo rob. suportado um nmero de classes predefinidas de estruturas mecnicas de 2 a 3 dimenses. Z2 comprimento_do_brao_inferior Z0 desvio_do_brao_superior modo_do_eixo 1
eixo 2 eixo 1
desvio_do_eixo 1_x
X2
mesa_giratria modo_do_eixo
altura_do_p X0
Figura 41 Estrutura cinemtica de um rob ORBIT 160B usando modelo predefinido
Os procedimentos de calibragem que definem a estrutura de base em relao estrutura global so fornecidos para cada classe de estruturas.
5-38
Caractersticas gerais
Z0 Corpo C
Z2
X2 Corpo B Corpo A
Estrutura global
Figura 42 Estrutura de base para um rob ORBIT_160B
Y0
Y2 X0
y1
X2
x1 x2
Figura 43 Pontos de referncia em uma mesa giratria para calibragem da estrutura de base de um rob ORBIT_160B, na posio recolhido, usando um modelo predefinido
Caractersticas gerais
5-39
Z2 d1 d2 Z0 Y2 X0
mesa_giratria
a1 = 0 a2 = 0 alfa1 = 0
alfa2
Figura 44 Estrutura cinemtica de um rob ORBIT 160B usando um modelo cinemtio geral
Um procedimento de calibragem suporta a definio da estrutura de base do rob externo em relao estrutura global.
Z2 Z0 Y2
Estrutura global
Figura 45 Estrutura de base de um rob ORBIT_160B usando um modelo cinemtico geral
5-40
Caractersticas gerais
Y0
X0
x1 y1 x2
Y2
X2
Figura 46 Pontos de referncia na mesa giratria para calibragem da estrutura de base de um rob ORBIT_160B na posio de recolhido (eixos = 0 graus)
5.3 Informaes relacionadas Descrita em: Definio da cinemtica geral de um rob externo Guia do Usurio- Parmetros de Sistema
Caractersticas gerais
5-41
5-42
Caractersticas gerais
6.1 Introduo
A deteco de coliso atuar se a carga for definida incorretamente. Se a carga no for conhecida, a funo de identificao de carga poder ser usada para defini-la. Quando a deteco de coliso for atuada, o torque do motor ser invertido e os freios mecnicos aplicados, para parar o rob. O rob ento recuar uma pequena distncia, dentro do trajeto, para remover qualquer fora residual que possa estar presente, caso tenha ocorrido uma coliso ou obstruo. Aps isto, o rob pra novamente permanecendo no estado de motores ligados. Uma coliso tpica mostrada na figura abaixo. A superviso de movimento s ativa quando, no mnimo, um eixo (incl. eixos externos) estiver em movimento. Se todos os eixos estiverem em repouso, a funo desativada. Isto para evitar atuao desnecessria no caso de foras de processo externas.
Caractersticas gerais
5-43
Figura: Coliso tpica Fase 1 - O torque do motor invertido para parar o motor. Fase 2 - A rotao do motor invertida para remover as foras residuais na ferramenta e no robot.
instante da coliso
coliso detetada
rob parado
veloc. motor
tempo
rotao invertida
torque motor
tempo
torque invertido
5-44
Caractersticas gerais
6.5 Limitaes
A superviso de movimento s est disponvel para os eixos do rob. No est disponvel para movimentos por esteira (track motions), estaes de rbita, ou quaisquer outros manipuladores externos. No RobotWare 3.1, a superviso de movimento, s est disponvel para a famlia de robs IRB6400. A deteco de coliso ser desativada quando pelo menos um eixo estiver funcionando no modo de junta independente. Este caso o mesmo de um eixo externo que funciona como no modo de junta independente. A deteco de coliso poder disparar quando o rob for usado na modo servo soft. Por esta razo, recomendvel desligar a deteco de coliso, quando o rob estiver a ser usado no modo servo soft. Se a instruo RAPID MotionSup for usada para desligar a deteco de coliso, isto somente vigorar aps o rob iniciar o movmento. Como consequncia, a sada digital MotSupOn poder estar temporariamente alta no arranque do programa antes do incio do movimento do rob. A distncia de recuo do rob, aps uma coliso, proporcional velocidade do movimento antes da coliso. Se colises a baixa velocidade ocorrerem repetidamente, o rob poder no retornar o suficiente para aliviar o esforo da coliso. Como consequncia, poder no ser possvel operar o rob em jog sem disparar a superviso. Neste caso usar o menu jog para desligar temporariamente a deteco de coliso e afastar lentamente (jog) o rob do obstculo. Na hiptese de uma coliso seca durante a execuo do programa, poder levar alguns segundos at o rob comear a recuar.
Caractersticas gerais
5-45
5-46
Caractersticas gerais
Singularidades
7 Singularidades
Algumas posies no espao de trabalho do rob podem ser atingidas usando um nmero infinito de configuraes do rob para posio e orientao da ferramenta. Estas posies, conhecidas como pontos singulares (singularidades), constituem um problema quando calculando ngulos do brao do rob baseado na posio e orientao da ferramenta. Geralmente falando, um rob tem dois tipos de singularidades: singularidades do brao e singularidades do punho. Singularidades de brao so todas configuraes onde o centro do punho (a interseco dos eixos 4, 5 e 6) terminam diretamente acima do eixo 1 (veja Figura 47). Singularidades de punho so configuraes onde eixo 4 e eixo 6 esto na mesma linha, isto , eixo 5 tem um ngulo igual a 0 (veja Figura 48). Singularidade na interseco do centro do punho e eixo 1
Z base
X base
Caractersticas gerais
5-47
Singularidades
Pontos de singularidade/IRB 6400C
Entre o espao de trabalho do rob com o brao direcionado para a frente e o brao direcionado para trs, existe um ponto de singularidade acima do rob. Existe tambm um ponto de singularidade nas partes laterais do rob. Estes pontos contm uma singularidade e possuem limitaes cinticas. Uma posio nestes pontos no pode ser especificada como para a frente/trs, e apenas pode ser atingida com MoveAbsJ. Quando o rob se encontra num ponto singular : - Apenas possvel usar MoveAbsJ ou movimentar o rob eixo a eixo.
5-48
Caractersticas gerais
Singularidades
Caractersticas gerais
5-49
Singularidades
5-50
Caractersticas gerais
Zonas Globais
8 Zonas Globais
8.1 Uso das Zonas Globais
Com esta funo, o rob pra ou uma sada automaticamente ajustada quando o rob se encontra dentro de uma rea especial definida pelo usurio. A funo pode ser usada em vrias ocasies, por exemplo: - Quando dois robs tm uma parte das suas reas de trabalho em comum. Supervisionando estes sinais, os robs podem garantir que no colidiro um com o outro. - Quando um equipamento externo est dentro da rea de trabalho do rob. Uma rea proibida pode ser criada para evitar que o rob colida com este equipamento. - Indicao que o rob est em uma posio onde admissvel iniciar a execuo do programa a partir de um PLC.
Caractersticas gerais
5-51
Zonas Globais
X Y Z
Esfera Raio
TCP
z y
Uma Zona Global pode ser definida para ficar dentro ou fora da forma Caixa, Esfera ou Cilindro.
o movimento do ponto central da ferramenta que supervisionado e nenhum outro ponto do rob. O TCP sempre supervisionado independente do modo de operao, por exemplo, execuo do programa e movimento.
8.4.1 TCP estacionrio Se o rob est segurando um objeto de trabalho e trabalhando em uma ferramenta estacionria, um TCP estacionrio usado. Se essa ferramenta est ativa, a ferramenta no se mover e se est dentro de uma Zona Global, ento est sempre no seu interior.
5-52
Caractersticas gerais
Zonas Globais
8.5 Aes
8.5.1 Ajustar uma sada digital quando o tcp est dentro de uma Zona Global. A ao ajusta uma sada digital quando o tcp est dentro de uma Zona Global. til indicar que o rob parou em uma rea especificada.
Tempo entre checagem Zona Global contra Zonas Globais Movimento do TCP
8.5.2 Ajustar uma sada digital antes do tcp atingir uma Zona Global. Esta ao ajusta uma sada digital antes do tcp atingir uma Zona Global. Pode ser usado para parar o rob dentro de uma Zona Global.
Tempo de Parada para o Rob Movimento do TCP Zona Global
8.5.3 Parar o rob antes do tcp atingir uma Zona Global. Uma Zona Global pode ser definida para ficar fora da rea de trabalho. O rob parar ento com o Ponto Central da Ferramenta fora da Zona Global quando se dirigir para a Zona.
Tempo de Parada para oRob Tempo entre checagem contra Zonas Globais Movimento do TCP
Se o rob foi movido para uma Zona Global definida como fora da rea de trabalho, por exemplo, liberando os freios e empurrando manualmente, ento movimentando ou empurrando manualmente com freios liberados so as nicas formas de sair da Zona.
Caractersticas gerais
5-53
Zonas Globais
1000 mm/s 25 mm 50 mm 75 mm
1 2 3
Se a mesma sada digital usada para mais de uma Zona Global, a distncia entre Zonas tem de exceder o tamanho mnimo, de acordo com a tabela acima, para evitar um estado incorreto para a sada.
Tempo entre checagem contra Zonas Globais
Se o tempo dentro da zona demasiado pequeno, o rob pode passar o canto de uma zona sem o ver. Assim, garanta que a zona maior do que a rea de perigo.
5-54
Caractersticas gerais
Zonas Globais
Caractersticas gerais
5-55
Zonas Globais
5-56
Caractersticas gerais
Princpios de E/S
9 Princpios de E/S
O rob geralmente tem uma ou mais placas de E/S. Cada uma das placas tem vrios canais digitais e/ou analgicos os quais devem ser conectados para sinais lgicos antes deles poderem ser usados. Isto carregado nos parmetros do sistema e tem nomes padres prontos antes do rob ser entregue. Nomes lgicos devem sempre ser usados durante a programao. Um canal fsico pode ser conectado vrios nomes lgicos, mas tambm pode no ter nenhuma conexo lgica (veja Figura 49).
. . . . I/O board . . . .
OUT16
Figura 49 Para estar apto a usar uma placa de E/S, nomes lgicos devem ser dados a seus canais. No exemplo acima, a sada fsica 2 est conectada a dois diferentes nomes lgicos. IN16, por outro lado, no tem nenhum nome lgico e ento no pode ser usada.
Caractersticas gerais
5-57
Princpios de E/S
Uma sada pode ser setada para 1 ou 0 pelo programa. Isto tambm pode ser feito usando um atraso ou na forma de um pulso. Se um pulso ou atraso altera uma sada, a execuo do programa continua. A alterao ento carregada sem afetar o resto da execuo do programa. Se, por outro lado, uma nova alterao ordenada para a mesma sada antes do tempo dado ocorrer, a primeira alterao no pode ser carregada (veja Figura 50).
SetDO \SDelay:=1, do1; WaitTime 0.5; PulseDO do1; Valor de sinal 1 Tempo 0 0.5 1
Figura 50 A instruo SetDO no carregada completamente por causa do novo comando que dado antes do atraso de tempo ocorrer.
5-58
Caractersticas gerais
Princpios de E/S
Princpios de E/S
9.5 Limitaes
Um mximo de 10 sinais podem ser pulsados ao mesmo tempo e um mximo de 20 sinais podem ser atrasados ao mesmo tempo.
5-60
Caractersticas gerais
Programao off-line
Programao off-line
1 Programao off-line
Programas RAPID podem facilmente ser criados, corrigidos e armazenados em um computador comum. Todas as informaes podem ser lidas e alteradas diretamente usando um editor de texto comum. Este captulo explica o procedimento de trabalho de como fazer isso. Alm da programao off-line, voc tambm pode usar uma outra ferramenta, o QuickTeach.
1.1 Formatar arquivo O rob armazena e l programas RAPID no formato TXT (ASCII) e podem ser tratados tanto por textos formato DOS e UNIX. Se voc usar um processador de texto para editar programas, estes devem ser salvos no formato TXT (ASCII) antes de serem usados no rob.
1.2 Editando Quando um programa criado ou alterado em um processador de texto, todas as informaes sero tratadas na forma de um texto. Isto significa que as informaes sobre dados e rotinas sero diferentes do que apresentado no display da unidade de programao. Note que o valor de uma posio armazenada somente mostrado com um * na unidade de programao, onde um arquivo texto ir conter o valor da posio atual (x, y, z, etc.). Para minimizar o risco de erros na sintaxe (falhas de programa), voc deve usar uma mscara. Uma mscara pode ter a forma de um programa que foi criado previamente no rob ou usando o QuickTeach. Estes programas podem ser lidos diretamente com um editor de texto sem precisar ser convertido.
1.3 Verificar a sintaxe Programas devem estar sintaticamente corretos antes deles serem carregados no rob. Isto significa que os textos devem seguir as regras fundamentais da linguagem RAPID. Um dos seguintes mtodos deve ser usado para detectar erros no texto: Salve o arquivo no disquete e tente carregar no rob. Se existir qualquer erro de sintaxe, o programa no ser aceito e uma mensagem de erro ser apresentada. Para obter informaes sobre o tipo de erro, o rob armazena uma lista chamada PGMCPL1.LOG no interior da RAM disk. Copie esta lista em um disquete usando o Gerenciador de Arquivos do rob (File Manager). Carregue a lista em um editor de texto e voc poder ler qual linha est incorreta e receber uma descrio do erro.
Caractersticas gerais
6-1
Programao off-line
Carregue o arquivo no QuickTeach e leia o erro de sintaxe com ajuda do QuickTeach. Use a verificao de sintaxe de programa RAPID para PC. Quando o programa esta sintaticamente correto, ele pode ser verficado e editado no rob. Para ter certeza que todas as referncias para rotinas e dados esto corretas, use o comando File: Check Program. Se o programa for alterado no rob, ele pode ser armazenado no disquete novamente e processado e armazenado em um PC.
1.4 Exemplos A seguir apresentamos exemplos de uma rotina em formato de texto. %%% VERSION: 1 LANGUAGE: ENGLISH %%% MODULE main VAR intnum process_int ; ! Demo of RAPID program PROC main() MoveL p1, v200, fine, gun1; ENDPROC TRAP InvertDo12 ! Trap routine for TriggInt TEST INTNO CASE process_int: InvertDO do12; DEFAULT: TPWrite Unknown trap , number=\Num:=INTNO; ENDTEST ENDTRAP LOCAL FUNC num MaxNum(num t1, num t2) IF t1 > t2 THEN RETURN t1; ELSE RETURN t2; ENDIF ENDFUNC ENDMODULE
6-2
Caractersticas gerais
Programao off-line
1.5 Criando suas prprias instrues Para tornar a programao mais fcil, voc pode criar suas prprias instrues. Estas so criadas na forma de uma rotina normal, mas, quando programamos e testamos, elas funcionam como instrues: - Elas podem ser chamadas pela lista de instrues de escolha (pick list) e programadas como instrues normais. - A rotina completa ser executada durante a execuo passo-a-passo. Crie um novo mdulo de sistema onde voc pode colocar suas rotinas que funcionaro como instrues. Como alternativa, voc pode coloc-las no mdulo de sistema USER. Crie uma rotina neste mdulo de sistema com o nome que voc quer que sua nova instruo seja chamada. Os argumentos das instrues so definidos em forma de parmetros da rotina. Note que o nome dos parmetros ser apresentado na janela durante a programao e deve portanto ser dado um nome que o usurio entenda. Coloque a rotina em uma das listas Most Common. Se a instruo deve se comportar de uma certa maneira durante a execuo do programa de trs para frente, isto pode ser feito na forma de um tratamento de trs para frente. Se no existir nenhum tratamento, no ser possvel chamar a instruo durante a execuo do programa de trs para frente (veja Captulo 5 deste manual Caractersticas Bsicas). Um tratamento de trs para frente deve ser feito usando o comando Routine: Add Backward Handler na janela Program Routines. Teste a rotina completamente para que ela trabalhe com diferentes tipos de dados de entrada (argumentos). Altere o mdulo atribuido para NOSTEPIN. A rotina completa ser ento executada durante a execuo passo-a-passo. Este atributo, entretanto, deve ser feito off-line. Exemplo: Para tornar mais fcil o manuseio da garra, duas novas instrues so criadas, GripOpen e GripClose. O nome da sada digital dado como argumento desta instruo, por exemplo, GripOpen gripper1. MODULE My_instr (SYSMODULE, NOSTEPIN) PROC GripOpen (VAR signaldo Gripper) Set Gripper; WaitTime 0.2; ENDPROC PROC GripClose (VAR signaldo Gripper) Reset Gripper; WaitTime 0.2; ENDPROC ENDMODULE
Caractersticas gerais
6-3
Programao off-line
6-4
Caractersticas gerais
1.1 Contedo
User compreende cinco dados numricos (registros), um dado de ferramenta, um dado de carga, um dado de objeto de trabalho, um de relgio (cronmetro) e dois valores simblicos para sinais digitais. Nome reg1 reg2 reg3 reg4 reg5 wobj1 clock1 high low edge Tipo de dado num . . . num wobjdata clock dionum dionum dionum Declarao VAR num reg1:=0 . . . VAR num reg5:=0 PERS wobjdata wobj1:=wobj0 VAR clock clock1 CONST dionum high:=1 CONST dionum low:=0 CONST dionum edge:=2
User um mdulo do sistema, o que significa que est sempre presente na memria do rob apesar do programa estar carregado.
Caractersticas gerais
7-1
Para trocar ou apagar dados individuais Escolha View: Data na janela Program. Escolha Data: In All Modules. Selecione o dado desejado. Se ele no aparecer, pressione a tecla funcional Types para selecionar o tipo de dado correto. Troque ou apague normalmente (veja Programando e Testando).
7-2
Caractersticas gerais
INDEX
A agregada 4-19 ajuste de movimentos 3-9 algo para pensar 4-48 AND 4-30 argumentos condicionais 4-33 argumentos condicionais 4-33 atribuio de valores aos dados 3-5 B Backward Handler 6-3 C cabealho de arquivo 4-4 chamada de outra rotina 3-3 chamadas funcionais 4-32 comentrios 3-5, 4-3 componente de um record 4-19 comunicao 3-41 conexes cruzadas 5-59 configurao das instrues de verificao 3-10 configurao do eixo 5-31 configurao do rob 5-31 CONST 4-23 constante 4-21 coordenadas de deslocamento coordenadas 5-5 D dados 4-21 utilizao em expresses 4-31 dados de programa 4-21 dados de rotina 4-21 declarao constante 4-23 mdulo 4-8 rotinas 4-13 varivel 4-22 declaration persistent 4-23 deslocamento do programa 3-11 DIV 4-29 E eixos externos coordenados 5-5 ERRNO 4-37 escopo escopo da rotina 4-11 escopo dos dados 4-21 espera 3-5 execuo concomitante 5-45 execuo de trs para a frente 4-41 execuo simultnea 5-26 expresses 4-29 expresses aritmticas 4-29 expresses com "strings" 4-31 expresses lgicas 4-30 F formato matricial 4-22, 4-23 funes 4-11 G global dados 4-21 rotina 4-11 GlueWare 3-39 I identificador 4-1 instrues de arquivo 3-21 instrues de comunicao 3-21 instrues de deslocamento 3-11 instrues de entrada 3-19 instrues de movimento 3-14 instrues de procura 3-14 instrues de sada 3-19 instrues do fluxo do programa 3-3 instrues matemticas 3-31, 3-47 interpolao 5-11 interpolao circular 5-13 interpolao retangular 5-12 interrupes 3-25, 4-39 L local dados 4-21
Caractersticas gerais
8-1
rotina 4-11 M manipulador de trs para a frente 4-13 manipuladores de trs para a frente 4-41 MOD 4-29 mdulos 4-7 declarao 4-8 mdulos de programa 4-7 mdulos de sistema 4-8 movimento singular 5-11 multitarefa 4-43 Multitasking 3-49 N NOT 4-30 nmero de erro 4-37 O operadores prioridade 4-33 OR 4-30 P palavras reservadas 4-1 parada da execuo do programa 3-4 parmetros 4-12 parmetros opcional 4-12 PERS 4-23 persistente 4-21 placeholder 4-3 ponto central da ferramenta 5-1, 5-37 posio fixa E/S 5-28 posicionamento instruo 3-14 princpios E/S 5-57 prioridades 4-46 procedimentos 4-11 programa 4-7 programao 6-1 programao offline 6-1 R recuperao de erros 4-37 rotina "trap" 4-39 rotinas 4-11 S
declarao 4-13
sincronizao de tarefas 4-44 sincronizao do trajeto 5-28 sincronizao E/S 5-25 singAreapunho 5-14 singularidades 5-47 sistema de coordenadas 5-37 sistema de coordenadas da ferramenta 5-7 sistema de coordenadas de base 5-1 sistema de coordenadas de deslocamento 54, 5-5 sistema de coordenadas de punho 5-7 sistema de coordenadas do objeto 5-3 sistema de coordenadas do usurio 5-3 sistema de coordenadas global 5-2 sistemas de coordenadas 5-1 soft servo 3-11, 5-23 solda a ponto 3-33 string 4-2 switch 4-12 syntax rules 2-2 T TCP 5-1, 5-37 estacionrios 5-8 TCPs estacionrios 5-8 time instructions 3-29 tipo record 4-19 tipos de dados 4-19 tipos de dados iguais 4-19 tipos de dados iguais (alias) 4-19 tipos de dados sem valor 4-19 tipos de dados semi value 4-19 trajetos circulares 5-14 trap routine 4-11 tratamento de erros 4-37 typographic conventions 2-2 U User - mdulo do sistema 7-1 V valores lgicos 4-2 valores numricos 4-2 VAR 4-22
8-2
Caractersticas gerais
Caractersticas gerais
8-3
8-4
Caractersticas gerais
Glossrio
Glossrio
Argumento Modo Automtico Componente Configurao Constante Trajetria em curva Declarao Dilogo/Caixa de Dil. A parte de uma instruo que pode ser mudada, p.ex. tudo exceto o nome da instruo. O modo aplicado quando o seletor do modo de operao estiver setado para . Uma parte de um "record". A posio dos eixos do rob em uma determinada posio. Dado que s pode ser mudado manualmente. A trajetria gerada ao passar num ponto de passagem. Parte de uma rotina ou dado que define suas propriedades. Qualquer caixa de dilogo aparecendo no display da unidade de programao deve ser sempre concluida (normalmente pressionando OK ou Cancel) antes de poder sair. Uma parte separada de uma rotina onde um erro pode ser tratado. A execuo normal pode ento ser reiniciada automaticamente. Uma sequncia de dados e sinais associados; p. ex. reg1+5 ou reg1>5. Um ponto no qual o rob passa apenas na sua proximidade sem parar. A distncia para este ponto depende do tamanho da zona programada. Uma rotina que retorna um valor. Um nmero de sinais digitais que esto agrupados e so manipulados como um nico sinal. Um evento que temporariamente interrompe a execuo do programa e executa um rotina "trap". Entradas e Sadas eltricas. A rotina que normalmente se inicia quando a tecla Start pressionada. O modo aplicado quando o seletor do modo de operao estiver setado para . Um grupo de eixos externos. Um grupo de rotinas e dados, p. ex. uma parte do programa. O estado do rob, p. ex. se a fonte de alimentao dos motores est ligada ou no. O painel localizado na frente do painel de controle. A direo de um atuador final, por exemplo. O dado de entrada de uma rotina, enviado com a rotina chamada. Ele corresponde ao argumento de uma instruo. Uma varivel, cujo valor persistente.
Manipulador de Erros
Funo Grupo de sinais Interrupo E/S Rotina principal Modo manual Unidade Mecnica Mdulo Motors On/Off Painel de operao Orientao Parmetro Persistente
Caractersticas gerais
8-1
Glossrio
Procedure Programa Dado de programa Mdulo de programa Record Rotina Dados de rotina Ponto de partida Ponto de parada Mdulo de sistema Uma rotina que, quando chamada, pode independentemente executar uma instruo. O conjunto de instrues e dados que definem a tarefa do rob. Programas, porm, no contm mdulos de sistema. Dado que pode ser acessado dentro de um mdulo ou programa completo. Um mdulo incluido no programa do rob e que transferido ao copiar o programa para o disquete, por exemplo. Um tipo de dado composto. Um subprograma. Dados local que s podem ser usados numa rotina. A instruo que ser executada primeiro ao iniciar a execuo do programa. Um ponto no qual o rob pra antes de seguir para o prximo ponto. Um mdulo que est sempre presente na memria do programa. Quando um novo programa lido, os mdulos de sistema continuam na memria de programa.
Parmetros de sistema Os dados que definem o tipo e as propriedades do rob; em outras palavras dados de configurao. Tool Centre Point (TCP) O ponto, normalmente na ponta da ferramenta, que se move ao longo da trajetria programada, na velocidade programada. Rotina "trap" Varivel A rotina que define o que deve acontecer quando ocorrer uma interrupo especfica. Dados que podem ser alterados dentro de um programa, mas que perdem seu valor (retorna ao seu valor inicial) quando o programa executado do incio. O rob programado e operado por meio de vrias janelas, tais como a Janela de Programao e Janela de Servio. Podemos sempre sair de uma janela escolhendo outra janela. O espao esfrico que circunda um ponto de passagem. To logo o rob entre nesta zona, ele inicia o movimento para a prxima posio.
Janela
Zona
8-2
Caractersticas gerais