Programación 1 ABB.

Aprender Lenguaje RAPID, podremos programar desde RobotStudio, o desde la FlexPendant.

  1. Control de Flujo Compact IF; Ejecutará una instrucción solo si la condición se cumple:
    IF "Condición"  "Instrucción";
  2. Ejemplo Compact IF:
    IF IN1 = 0 MoveJ Target_10,v1000,fine,MyTool\WObj:=wobj0;
  3. Control de Flujo IF; Ejecutará diferentes instrucciones, si la condición se cumple ejecutará las instrucciones situadas entre "THEN" y "ELSE", si no se cumple ejecutará las situadas entre "ELSE" y "ENDIF":
    IF "Condición" THEN
    
    "Instrucciones que deseamos realizar si la Condición se cumple"
    
    ELSE
    
    "Instrucciones que deseamos realizar si la Condición NO se cumple"
    
    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. Instrucción para escribir un mensaje en la pantalla de operador TPWrite; Esta instrucción mostrará un mensaje en la pantalla del operador, de esta manera podemos informar de que proceso está realizando el Robot, o número de piezas realizadas..., formato de la instrucción:
    TPWrite "Texto a Mostrar en la Pantalla de Operador";
  6. Ejemplo TPWrite:
    TPWrite "Realizando Proceso de soldadura";
  7. Instrucción para borrar la pantalla de operador TPErase; Esta instrucción borrará la pantalla del operador:
    TPErase;
  8. Ejemplo usando tres de las instrucciones anteriores IF, TPWrite & TPErase; Si quiere realizar el ejemplo puede tomar como base el ejercicio 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 Interés:


    Fecha de Publicación: 29/01/2021