Simulación 9 con RobotStudio ABB, Organizado Pantallas.

Programación de robots industriais Off- Line.

  1. Aprender a crear Subrutinas.
  2. Crear Bases.
  3. Usar Entradas e Saídas Dixitais.

Posición, e Rotación dos obxectos:
-Tomando como referencia Mundo.
 
Obxecto X Y  Z  Descargar Componentes  A   B  C 
Robot 0 0 0 Robot componente 0 0 0
Cinta Rodillos 1500 -500 0 Componente Conveyor 0 0 90
Cinta 1 -2400 1050 0 Componente Cinta 0 0 0
Cinta 2 -2400 -1650 0 Componente Cinta 0 0 0
Pantalla (no visible) -1200 -250 0 Componente Pantalla 0 0 0
SC_Ventosa - - - Componente SC_Ventosa - - -
Estación Completa (Vacía) - - - Estación Completa - - -


Loading...


 RAPID:

MODULE Module1
	CONST jointtarget Home:=[[0,0,0,0,90,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_10:=[[-350,290,377.774306289],[0,0,1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_20:=[[-350,290,20.000306289],[0,0,1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_30:=[[-350,290,377.774306289],[0,0,1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
	CONST robtarget Target_40:=[[-350,290,20.000306289],[0,0,1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
    CONST robtarget Target_50:=[[345.499987542,500,710],[-0.000000016,0.707106802,-0.70710676,-0.000000016],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
    CONST robtarget Target_60:=[[237.829989745,500.000001329,20.393838285],[0.000000047,0.707106802,-0.70710676,-0.000000047],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];


    PROC main()
        MoveAbsJ Home,v1000,fine,tool0\WObj:=wobj0;
        SetDO CINTA_1,0;
        SetDO CINTA_2,0;
        SetDO CINTA_3,0;
        SetDO Ventosa_ON,0;
        SetDO Ventosa_OFF,1;
        Pedir_Pieza;
		Cinta_A;
		Cinta_S;
		Cinta_B;
		Cinta_S;
		MoveAbsJ Home,v1000,fine,tool0\WObj:=wobj0;
		Pedir_Pieza;
    ENDPROC
    PROC Coger()
		SetDO Ventosa_OFF,1;
		SetDO Ventosa_OFF,0;
		SetDO Ventosa_ON,1;
		WaitDI Sensor_Pieza,1;

    ENDPROC
    PROC Soltar()
		SetDO Ventosa_ON,0;
		SetDO Ventosa_OFF,1;
		WaitDI Sensor_Pieza,0;

    ENDPROC
    PROC Pedir_Pieza()
        SetDO CINTA_1,1;
        SetDO CINTA_2,1;
        WaitDI PIEZA_1,1;
        WaitDI PIEZA_2,1;
        SetDO CINTA_1,0;
        SetDO CINTA_2,0;
    ENDPROC
	PROC Cinta_A()
		MoveJ Target_10,v1000,fine,tVacuum\WObj:=W_Cinta_A;
		MoveL Target_20,v1000,fine,tVacuum\WObj:=W_Cinta_A;
		Coger;
		MoveL Target_10,v1000,fine,tVacuum\WObj:=W_Cinta_A;

	ENDPROC
	PROC Cinta_B()
		MoveJ Target_30,v1000,fine,tVacuum\WObj:=W_Cinta_B;
		MoveL Target_40,v1000,fine,tVacuum\WObj:=W_Cinta_B;
		Coger;
		MoveL Target_30,v1000,fine,tVacuum\WObj:=W_Cinta_B;

	ENDPROC
	PROC Cinta_S()
        MoveJ Target_50,v1000,fine,tVacuum\WObj:=W_Cinta_S;
        MoveL Target_60,v1000,fine,tVacuum\WObj:=W_Cinta_S;
        Soltar;
        MoveL Target_50,v1000,fine,tVacuum\WObj:=W_Cinta_S;
		SetDO CINTA_3,1;

	ENDPROC
ENDMODULE

Enlaces de Interese:


Data Publicación: 10/03/2020 

Simulación 8 con RobotStudio ABB, Paletizado botellas.

Programación de robots industriais Off- Line.

  1. Aprender a crear Subrutinas.
  2. Crear Bases.
  3. Usar Entradas e Saídas Dixitais.

Posición, e Rotación dos obxectos:
-Tomando como referencia Mundo.
 
Obxecto 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 Interese:


Data Publicación: 25/02/2020