Programación 1 ABB.
Aprender Linguaxe RAPID, poderemos programar desde RobotStudio, ou desde a FlexPendant.
- Control de Fluxo Compact IF; Executará unha instrución só se a condición cúmprese:
IF "Condición" "Instrución";
- Exemplo Compact IF:
IF IN1 = 0 MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0;
- Control de Fluxo IF; Executará diferentes instrucions, se a condición cúmprese ejecutará as instrucions situadas entre "THEN" e "ELSE", se non se cumpre executará as situadas entre "ELSE" e "ENDIF":
IF "Condición" THEN "Instruciones que dexesamos realizar se a Condición cúmprese" ELSE "Instruciones que dexesamos realizar se a Condición NON cúmprese" ENDIF
- Ejemplo IF:
IF IN1 = 0 THEN !Esto es un comentario en RAPID !Si la Condición "IN1 = 0" se Cumple se ejecutará la siguiente Instrucción: MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; ELSE !Si la Condición "IN1 = 0" NO se Cumple se ejecutará la siguiente Instrucción: MoveJ Target_20,v1000,fine,MyTool\WObj:=wobj0; ENDIF
- Instrución para escribir unha mensaxe na pantalla do operador TPWrite; Esta instrución mostrará unha mensaxe na pantalla do operador, desta maneira podemos informar do proceso que está a realizar o Robot, ou número de pezas realizadas..., formato da instrución:
TPWrite "Texto a Mostrar na Pantalla do Operador";
- Ejemplo TPWrite:
TPWrite "Realizando Proceso de soldadura";
- Instrución para borrar la pantalla do operador TPErase; Esta instrución borrará a pantalla do operador:
TPErase;
- Exemplo usando tres das instrucións anteriores IF, TPWrite & TPErase; Se quiere realizar o exemplo pode tomar como base o exercicio Simulación 2 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:=[[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:=[[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]]; 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_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_50:=[[339.99,300,0],[0.014306426,0.021153167,0.999670738,0.002507023],[0,-1,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_50_2:=[[339.99,300,50],[0.014306426,0.021153167,0.999670738,0.002507023],[0,-1,1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; CONST robtarget Target_40:=[[589.999996765,300.000000063,-0.000079507],[0.014305147,0.021155022,0.999670717,0.002507207],[0,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; !*********************************************************** ! ! Módulo: Module1 ! ! Descripción: ! <Introduzca la descripción aquí> ! ! Autor: Carlos Urrestarazu ! ! Versión: 1.0 ! !*********************************************************** !*********************************************************** ! ! Procedimiento Main ! ! Este es el punto de entrada de su programa ! !*********************************************************** PROC main() TPErase; IF IN1 = 0 THEN TPWrite "Soldando Derecha"; MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; 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; ELSE TPWrite "Soldando Izquierda"; MoveJ Target_30_2,v1000,fine,MyTool\WObj:=wobj0; MoveJ Target_30,v1000,fine,MyTool\WObj:=wobj0; ENDIF MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0; !AñadWa aquí W""digo ENDPROC ENDMODULE