Programación 12 ABB.

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

  1. Exemplo usando estas instrucións  MoveL Offs & FOR; Se quere realizar o exemplo pode tomar como base a estación: Estación ABB 1 Ventosa:
    MODULE Module1
        CONST robtarget Target_10:=[[24.000115009,23.999900721,78.0403562],[0.70710679,0.000000031,0.707106772,-0.000000006],[-1,-1,-1,1],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
        VAR num DesY := 0;
        VAR num AX := 0;
        VAR num AY := 0;
        VAR num AZ := 1;
        CONST jointtarget JointTarget_1:=[[0,0,0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
        
    	PROC main()
            
            SetDO D652_10_DO1,0;
            SetDO D652_10_DO2,1;
                            
            FOR Z FROM 1 TO 0 DO
                FOR Y FROM 1 TO 0 DO
                    FOR X FROM 1 TO 0 DO   
                        
                    MoveJ Offs(Target_10,0,0,0),v200,fine,tool2_Ventosa\WObj:=wobj1_Base_A;
                    Coger;
                    MoveJ Offs(Target_10,(X*42),(Y*42),60),v200,fine,tool2_Ventosa\WObj:=wobj2_Base_B;
                    AX := X;
                    AY := Y;
                    AZ := Z;
                    
                    Dejar;
                    
                    ENDFOR
                ENDFOR
            ENDFOR
    
            MoveAbsJ JointTarget_1,v200,z100,tool2_Ventosa\WObj:=wobj1_Base_A;
            
    	ENDPROC
        
        	PROC coger()
                       
                        MoveL Offs(Target_10,0,0,(-40.04)),v200,fine,tool2_Ventosa\WObj:=wobj1_Base_A;
                            SetDO D652_10_DO2,0;
                            SetDO D652_10_DO1,1;
                            WaitDI D652_10_DI4, 1;
                        MoveL Offs(Target_10,0,0,0),v200,fine,tool2_Ventosa\WObj:=wobj1_Base_A;
            ENDPROC
            
            PROC dejar()
                  
                        MoveL Offs(Target_10,(AX*42),(AY*42),(AZ*(-40.04))),v200,fine,tool2_Ventosa\WObj:=wobj2_Base_B;
                            SetDO D652_10_DO1,0;
                            SetDO D652_10_DO2,1;
                            WaitDI D652_10_DI4, 0;
                        MoveL Offs(Target_10,(AX*42),(AY*42),60),v200,fine,tool2_Ventosa\WObj:=wobj2_Base_B;    
                  
    	    ENDPROC
        
    ENDMODULE

    Loading...


     Links de Interese:


    Data Publicación: 03/03/2021

Programación 11 V3 ABB.

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

  1. Exemplo usando estas instrucións  MoveL Offs, WaitTime & FOR; Se quere realizar o exemplo pode tomar como base a estación Estación PROG_11 V3 Vacía:
    
        MODULE Module1
    	VAR robtarget Primera_Pos:=[[-0.222935967,0.000098037,49.999436079],[0,0,1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
        VAR num NSec := 0;
        VAR num NUMERO := 0;
        CONST jointtarget Home_Abs:=[[0,0,0,0,30,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
    
        
    	PROC main()
            
            Primera_Pos.trans.x := -0.222935967;
            Primera_Pos.trans.y := 0.000098037;
            Primera_Pos.trans.z := 49.999436079;
            
            TPErase;
            TPReadnum NUMERO, "Introduzaca un número entre 1 y 4";
            MoveAbsJ Home_Abs,v1000,fine,MyTool\WObj:=W_Soldar;
            
            TEST NUMERO
            
            CASE 1: 
                TPWrite "Soldando Derecha";
                FOR NSec FROM 0 to 2 DO
                
                Soldar;
                
                Primera_Pos.trans.x := Primera_Pos.trans.x  + 100;
                MoveL Primera_Pos,v200,fine,MyTool\WObj:=W_Soldar;
                
                ENDFOR
                
            CASE 2: 
                TPWrite "Soldando Centro";
                
                Primera_Pos.trans.x := Primera_Pos.trans.x  + 300;
                
                FOR NSec FROM 0 to 2 DO
                
                Soldar;
                
                Primera_Pos.trans.y :=  Primera_Pos.trans.y + 100;
                MoveL Primera_Pos,v200,fine,MyTool\WObj:=W_Soldar;
                
                ENDFOR
                
            CASE 3: 
                TPWrite "Soldando Izquierda";
                
                Primera_Pos.trans.x := Primera_Pos.trans.x  + 300;
                Primera_Pos.trans.y :=  Primera_Pos.trans.y + 300;
                
                FOR NSec FROM 0 to 2 DO
                
                Soldar;
                
                Primera_Pos.trans.x :=  Primera_Pos.trans.x - 100;
                MoveL Primera_Pos,v200,fine,MyTool\WObj:=W_Soldar;
                
                ENDFOR
                
            CASE 4: 
                TPWrite "Soldando Derecha";
                
                
                FOR NSec FROM 0 to 2 DO
                
                Soldar;
                
                Primera_Pos.trans.x := Primera_Pos.trans.x  + 100;
                MoveL Primera_Pos,v200,fine,MyTool\WObj:=W_Soldar;
                
                ENDFOR
                
                TPWrite "Soldando Centro";
                
                FOR NSec FROM 0 to 2 DO
                
                Soldar;
                
                Primera_Pos.trans.y :=  Primera_Pos.trans.y + 100;
                MoveL Primera_Pos,v200,fine,MyTool\WObj:=W_Soldar;
                
                ENDFOR
                
                TPWrite "Soldando Izquierda";
                
                FOR NSec FROM 0 to 2 DO
                
                Soldar;
                
                Primera_Pos.trans.x :=  Primera_Pos.trans.x - 100;
                MoveL Primera_Pos,v200,fine,MyTool\WObj:=W_Soldar;
                
                ENDFOR
            
            
            ENDTEST
            
            
            
    	    Soldar;
            
            MoveAbsJ Home_Abs,v1000,fine,MyTool\WObj:=W_Soldar;
            
    	ENDPROC
        
        PROC Soldar()
        
            MoveL RelTool(Primera_Pos,0,0,0),v200,fine,MyTool\WObj:=W_Soldar;
            MoveL RelTool(Primera_Pos,0,0,50),v200,fine,MyTool\WObj:=W_Soldar;
            WaitTime 2;
            MoveL RelTool(Primera_Pos,0,0,0),v200,fine,MyTool\WObj:=W_Soldar;
            
        ENDPROC
    ENDMODULE

    Loading...


     Links de Interese:


    Data Publicación: 05/03/2021