Simulación 8 con RobotStudio ABB, Paletizado botellas.

Programación de robots industriales Off- Line.

  1. Aprender a crear Subrutinas.
  2. Crear Bases.
  3. Usar Entradas y Salidas Digitales.

Posición, y Rotación de los objetos:
-Tomando como referencia Mundo.
 
Objeto X Y  Z  Descargar Componentes  A   B  C 
Robot 0 0 0 Robot componente 0 0 0
Cinta Rodillos -2300 -1400 0 Componente RollerConveyor 0 0 0
Cinta 1220 2750 0 Componente Cinta 0 0 -90
Pieza piedra - - - Componente Pieza piedra 0 0 0
SC_Ventosa - - - Componente SC_Ventosa - - -
Estación Completa (Vacía) - - - Estación Completa - - -


Loading...


 RAPID:

MODULE Module1
	CONST robtarget Target_10:=[[200.119014563,86.405500174,467.895159517],[-0.000000007,-0.000000001,1,-0.000000001],[-1,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_20:=[[200.119012043,86.405499814,287.895159517],[-0.000000007,-0.000000001,1,-0.000000001],[-1,-1,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST jointtarget Join_HOME:=[[0,0,0,0,30,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_30:=[[-364.469976694,229.719991071,719.459982577],[0.000000012,0.707106776,0.707106787,-0.000000007],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_40:=[[-364.469973724,229.719979786,299.459982577],[0.000000012,0.707106776,0.707106787,-0.000000007],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_50:=[[-364.47,361.281,719.46],[0,0.707106781,0.707106781,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_60:=[[-364.469979162,361.280907318,299.459792872],[-0.00000001,0.707106782,0.70710678,-0.000000015],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_70:=[[-238.372,229.72,719.46],[0,0.707106781,0.707106781,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_80:=[[-238.372322289,229.719990093,299.459831501],[0,0.707106788,0.707106775,-0.000000019],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_90:=[[-238.372,361.281,719.46],[0,0.707106781,0.707106781,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_100:=[[-238.372,361.281,299.46],[0,0.707106781,0.707106781,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_110:=[[-112.274,229.72,719.46],[0,0.707106781,0.707106781,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_120:=[[-112.274,229.72,299.46],[0,0.707106781,0.707106781,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_130:=[[-112.274,361.281,719.46],[0,0.707106781,0.707106781,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_140:=[[-112.274,361.281,299.46],[0,0.707106781,0.707106781,0],[-1,-1,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
    VAR num Contador := 0;

    PROC main()
		MoveAbsJ Join_HOME,v1000,z100,Tool_Pinza\WObj:=W_Cinta_Botella;
		Inicio;
		Arrancar_Cinta_Cajas;
		Esperar_Caja;
		Parar_Cinta_Cajas;
		Arrancar_Cinta_Botellas;
		Esperar_Botella;
		Parar_Cinta_Botellas;
		Cinta_Botella;
		Cinta_Caja_1;
		Cinta_Botella;
		Cinta_Caja_2;
		Cinta_Botella;
		Cinta_Caja_3;
		Cinta_Botella;
		Cinta_Caja_4;
		Cinta_Botella;
		Cinta_Caja_5;
		Cinta_Botella;
		Cinta_Caja_6;
		MoveAbsJ Join_HOME,v1000,z100,Tool_Pinza\WObj:=W_Cinta_Botella;
        !Añada aquí su código
    ENDPROC
	PROC Inicio()
	    SetDO OUT_0,0;
	    SetDO OUT_1,0;
	    SetDO OUT_2,0;
	ENDPROC
	PROC Abrir()
	    Abrir_Pinza;
	ENDPROC
	PROC Cerrar()
		Cerrar_Pinza;
	ENDPROC
	PROC Cinta_Botella()
		MoveJ Target_10,v1000,fine,Tool_Pinza\WObj:=W_Cinta_Botella;
		Esperar_Botella;
		Parar_Cinta_Botellas;
		MoveL Target_20,v500,fine,Tool_Pinza\WObj:=W_Cinta_Botella;
		Abrir;
		Cerrar;
		MoveL Target_10,v500,fine,Tool_Pinza\WObj:=W_Cinta_Botella;
		
        IF Contador <= 4 THEN
        Arrancar_Cinta_Botellas;
        ENDIF  
        
        Contador := Contador +1;

	ENDPROC
	PROC Cinta_Caja_1()
		MoveL Target_30,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		MoveL Target_40,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		Abrir;
		MoveL Target_30,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;

	ENDPROC
	PROC Cinta_Caja_2()
		MoveL Target_50,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		MoveL Target_60,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		Abrir;
		MoveL Target_50,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;

	ENDPROC
	PROC Cinta_Caja_3()
		MoveL Target_70,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		MoveL Target_80,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		Abrir;
		MoveL Target_70,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;

	ENDPROC
	PROC Cinta_Caja_4()
		MoveL Target_90,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		MoveL Target_100,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		Abrir;
		MoveL Target_90,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;

	ENDPROC
	PROC Cinta_Caja_5()
		MoveL Target_110,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		MoveL Target_120,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		Abrir;
		MoveL Target_110,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;

	ENDPROC
	PROC Cinta_Caja_6()
		MoveL Target_130,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		MoveL Target_140,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;
		Abrir;
		MoveL Target_130,v500,fine,Tool_Pinza\WObj:=W_Cinta_Caja;

	ENDPROC
	PROC Arrancar_Cinta_Botellas()
	    SetDO OUT_1,1;
	ENDPROC
	PROC Esperar_Botella()
	    WaitDI IN_1,1;
	ENDPROC
	PROC Parar_Cinta_Botellas()
	    SetDO OUT_1,0;
	ENDPROC
	PROC Arrancar_Cinta_Cajas()
	    SetDO OUT_2,1;
	ENDPROC
	PROC Esperar_Caja()
	    WaitDI IN_2,1;
	ENDPROC
	PROC Parar_Cinta_Cajas()
	    SetDO OUT_2,0;
	ENDPROC
	PROC Abrir_Pinza()
	    SetDO OUT_0,1;
	    WaitDI IN_0,0;
	    WaitTime 0.5;
	ENDPROC
	PROC Cerrar_Pinza()
	    SetDO OUT_0,0;
	    WaitDI IN_0,1;
	    WaitTime 0.5;
	ENDPROC
ENDMODULE

Enlaces de Interés:


Fecha de Publicación: 25/02/2020