Programación 1 ABB.

Aprender Linguaxe RAPID, poderemos programar desde RobotStudio, ou desde a FlexPendant.

  1. Control de Fluxo Compact IF; Executará unha instrución só se a condición cúmprese:
    IF "Condición"  "Instrución";
  2. Exemplo Compact IF:
    IF IN1 = 0 MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0;
  3. 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
  4. 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
  5. 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";
  6. Ejemplo TPWrite:
    TPWrite "Realizando Proceso de soldadura";
  7. Instrución para borrar la pantalla do operador TPErase; Esta instrución borrará a pantalla do operador:
    TPErase;
  8. 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



     Links de Interese:


    Data Publicación: 29/01/2021