Programación 4 ABB.
Aprender Linguaxe RAPID, poderemos programar desde RobotStudio, ou desde a FlexPendant.
- Instrución TPReadNum; Mostrará na pantalla de operador unha mensaxe cun teclado numérico. TPReadNum encárgarse de asignar o valor numérico introducido nunha variable, en primeiro lugar indicaremos a variable na cal gardaremos a resposta numérica, por ultimo indicaremos o texto que se mostrará na pantalla. O formato desta instrucción é:
TPReadNum <Variable>,"Texto a mostrar na pantalla";
- Control de Flujo TEST; Segundo o valor da variable executaremos unhas instrucións ou otras, para vero mais claro poñemos uns exemplos mais adiante. O formato desta instrución é o siquiente:
TEST <variable> CASE <Valor da variable coa que queremos executar as seguintes instrcións> : !Instrucións a executar no primer caso CASE <Valor da variable coa que queremos executar as seguintes instrcións>: !Instrucións a executar no primer caso ENDTEST
- Control de Flujo TEST; Exemplo cunha variable "Numero" e 4 opcions diferentes:
VAR Num Numero := 0; !Declaro Numero e a inicializo en 0 TEST Numero CASE 1: !Instrucións que realizaremos valendo Numero = 1 MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; CASE 2: !Instrucións que realizaremos valendo Numero = 2 MoveJ Target_20,v1000,fine,MyTool\WObj:=wobj0; CASE 3,4: !Instrucións que realizaremos valendo Numero = 3 o Numero = 4 MoveJ Target_30,v1000,fine,MyTool\WObj:=wobj0; CASE 5,6,8: !Instrucións que realizaremos valendo Numero = 5 o Numero = 6 o Numero = 8 MoveJ Target_40,v1000,fine,MyTool\WObj:=wobj0; ENDTEST
- Exemplo usando estas instrucións TPReadNum & TEST; Sie quere realizar este exemplo pode tomar como base o do exercicio Programación 1 ABB:
MODULE Module1 CONST robtarget Target_10:=[[547.330665099,0,451.64730631],[0.190808996,0,0.981627183,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_20_2:=[[580.004388386,-300.000173756,49.997538618],[0.00007062,0.000000176,-0.999999998,0.000000105],[-1,1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_20:=[[579.997326386,-300.000184257,-0.002460883],[0.00007062,0.000000176,-0.999999998,0.000000105],[-1,1,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_30_2:=[[580.007086271,300.000028414,49.999940578],[0.000070808,0.000000206,-0.999999997,0.000000106],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_30:=[[580.000005471,300.000017813,-0.000058921],[0.000070808,0.000000206,-0.999999997,0.000000106],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; VAR num NUMERO; PROC main() MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; TPErase; TPReadnum NUMERO, "Introduzaca un número entre 1 y 3"; TEST NUMERO CASE 1: TPWrite "Soldando Derecha"; Secuencia_1; CASE 2: TPWrite "Soldando Izquierda"; Secuencia_2; CASE 3: TPWrite "Soldando Izquierda y Derecha"; Secuencia_1; Secuencia_2; ENDTEST MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; ENDPROC PROC Secuencia_1() MoveJ Target_20_2,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_20,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_20_2,v1000,fine,MyTool\WObj:=wobj0; ENDPROC PROC Secuencia_2() MoveJ Target_30_2,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_30,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_30_2,v1000,fine,MyTool\WObj:=wobj0; ENDPROC ENDMODULE