Simulación 8 con RobotStudio ABB, Paletizado botellas.
Programación de robots industriales Off- Line.
- Aprender a crear Subrutinas.
- Crear Bases.
- 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