In this Episode, I have fully explained how to design a palletizing Robotic Workcell and how to program and simulate the Workcell in offline mode. This is a part of courses that i have made As automation Courses. Please Subscribe to my Youtube Channel and also This Website for new Contents in future.
Part2- ABB robot studio – Palletizing
Part3- ABB robot studio – Palletizing
Part4- ABB robot studio – Palletizing
Part5- ABB robot studio – Palletizing
The Rapid Code script example:
MODULE Module1
CONST robtarget pickup1:=[[1409.909081707,1582.504021764,-116.052605064],[0,-0.011456954,0.999934367,0],[1,0,1,0],[1656.146116367,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget transit1:=[[1028.109312573,1302.138093546,478.053298229],[0,-0.011456937,0.999934367,0],[0,0,0,0],[1656.146116367,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget transit2:=[[1974.602403864,1302.138093546,478.053298229],[0,-0.011456937,0.999934367,0],[0,0,0,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget transit3:=[[2700.602403864,1302.138093546,878.053298229],[0,-0.011456937,0.999934367,0],[0,0,0,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget putdown1:=[[2421.03288698,1495.300818217,41.383869828],[0,0.702737442,0.711449287,0],[0,0,1,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget putdown2:=[[2421.03288698,1895.758781634,41.383869828],[0,0.702737442,0.711449287,0],[0,0,1,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget putdown3:=[[2999.03,1551.300781634,41.383869828],[0,0.702737442,0.711449287,0],[0,0,1,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget putdown4:=[[2999.03,1895.758781634,41.383869828],[0,0.702737442,0.711449287,0],[0,0,1,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget putdown5:=[[2421.03288698,1495.300818217,341.383869828],[0,0.702737442,0.711449287,0],[0,0,1,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget putdown6:=[[2421.03288698,1895.758781634,341.383869828],[0,0.702737442,0.711449287,0],[0,0,1,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget putdown7:=[[2999.03,1551.300781634,341.383869828],[0,0.702737442,0.711449287,0],[0,0,1,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget putdown8:=[[2999.03,1895.758781634,341.383869828],[0,0.702737442,0.711449287,0],[0,0,1,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget transit4:=[[1974.602403864,1302.138093546,978.053298229],[0,-0.011456937,0.999934367,0],[0,0,0,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget transit5:=[[2700.602403864,1302.138093546,1378.053298229],[0,-0.011456937,0.999934367,0],[0,0,0,0],[2602.639207659,9E+09,9E+09,9E+09,9E+09,9E+09]];
CONST robtarget Home:=[[3366.609003201,54.521,1308.672942026],[0,0,1,0],[0,0,0,0],[1656.146116367,9E+09,9E+09,9E+09,9E+09,9E+09]];
VAR num B_X;!moving in X direction
VAR num B_Y;!moving in Y direction
VAR num P_Z;!height of the pallet
VAR num counter1;
VAR num counter2;
VAR num counter3;
VAR num counter4;
VAR num counterT;
VAR num B_ID;
VAR num B_ID1;
VAR num B_ID2;
VAR num B_ID3;
VAR num B_ID4;
CONST num B_ID_Area1:=1500;
CONST num B_ID_Area2:=900;
CONST num B_ID_Area3:=2400;
CONST num B_ID_Area4:=400;
CONST num B_ID_Length1:=500;
CONST num B_ID_Width1:=300;
CONST num B_ID_Length2:=300;
CONST num B_ID_Width2:=300;
CONST num B_ID_Length3:=600;
CONST num B_ID_Width3:=400;
CONST num B_ID_Length4:=200;
CONST num B_ID_Width4:=200;
VAR num P_ID;
CONST num Pal_Area1:= 9600;
CONST num Pal_Length:= 1200;
CONST num Pal_Width:= 800;
VAR num Diff_W;
VAR num Diff_L;
!***********************************************************
!
! Module: Module1
!
! Description:
! <Insert description here>
!
! Author: 49179
!
! Version: 1.0
!
!***********************************************************
!***********************************************************
!
! Procedure main
!
! This is the entry point of your program
!
!***********************************************************
PROC main()
IF DI_10=1 THEN
counter1:=counter1+1;
IF counter1=1 THEN
IF DI_10=1 THEN
Movej transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL pickup1,v1000,z100,Gripper_Sc\WObj:=wobj0;
Set DO_10;
WaitTime 2;
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL transit2,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL putdown1,v1000,z100,Gripper_Sc\WObj:=wobj0;
WaitTime 2;
Reset DO_10;
MoveL transit2,v1000,z100,Gripper_Sc\WObj:=wobj0;
ENDIF
ENDIF
IF counter1=2 THEN
IF DI_10=1 THEN
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL pickup1,v1000,z100,Gripper_Sc\WObj:=wobj0;
Set DO_10;
WaitTime 2;
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL transit2,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL putdown2,v1000,z100,Gripper_Sc\WObj:=wobj0;
WaitTime 2;
Reset DO_10;
MoveL transit2,v1000,z100,Gripper_Sc\WObj:=wobj0;
ENDIF
ENDIF
IF counter1=3 THEN
IF DI_10=1 THEN
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL pickup1,v1000,z100,Gripper_Sc\WObj:=wobj0;
Set DO_10;
WaitTime 2;
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL transit3,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL putdown3,v1000,z100,Gripper_Sc\WObj:=wobj0;
WaitTime 2;
Reset DO_10;
MoveL transit3,v1000,z100,Gripper_Sc\WObj:=wobj0;
ENDIF
ENDIF
IF counter1=4 THEN
IF DI_10=1 THEN
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL pickup1,v1000,z100,Gripper_Sc\WObj:=wobj0;
Set DO_10;
WaitTime 2;
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL transit3,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL putdown4,v1000,z100,Gripper_Sc\WObj:=wobj0;
WaitTime 3;
Reset DO_10;
MoveL transit3,v1000,z100,Gripper_Sc\WObj:=wobj0;
ENDIF
ENDIF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
IF counter1=5 THEN
IF DI_10=1 THEN
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL pickup1,v1000,z100,Gripper_Sc\WObj:=wobj0;
Set DO_10;
WaitTime 2;
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL transit3,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL putdown5,v1000,z100,Gripper_Sc\WObj:=wobj0;
WaitTime 2;
Reset DO_10;
MoveL transit3,v1000,z100,Gripper_Sc\WObj:=wobj0;
ENDIF
ENDIF
IF counter1=6 THEN
IF DI_10=1 THEN
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL pickup1,v1000,z100,Gripper_Sc\WObj:=wobj0;
Set DO_10;
WaitTime 2;
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL transit3,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL putdown6,v1000,z100,Gripper_Sc\WObj:=wobj0;
WaitTime 2;
Reset DO_10;
MoveL transit3,v1000,z100,Gripper_Sc\WObj:=wobj0;
ENDIF
ENDIF
IF counter1=7 THEN
IF DI_10=1 THEN
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL pickup1,v1000,z100,Gripper_Sc\WObj:=wobj0;
Set DO_10;
WaitTime 2;
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL transit4,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL putdown7,v1000,z100,Gripper_Sc\WObj:=wobj0;
WaitTime 2;
Reset DO_10;
MoveL transit4,v1000,z100,Gripper_Sc\WObj:=wobj0;
ENDIF
ENDIF
IF counter1=8 THEN
IF DI_10=1 THEN
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL pickup1,v1000,z100,Gripper_Sc\WObj:=wobj0;
Set DO_10;
WaitTime 2;
MoveL transit1,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL transit4,v1000,z100,Gripper_Sc\WObj:=wobj0;
MoveL putdown8,v1000,z100,Gripper_Sc\WObj:=wobj0;
WaitTime 2;
Reset DO_10;
MoveL transit4,v1000,z100,Gripper_Sc\WObj:=wobj0;
Set DO_11;
ENDIF
ENDIF
IF counter1>=9 THEN
WaitTime 2;
counter1:=0;
reset DO_11;
ENDIF
ENDIF
ENDPROC
ENDMODULE

Donation
Please Help me to create Content for this Podcast
€3.00





Leave a comment