Welcome, Guest. Please login or register.
Did you miss your activation email?
May 23, 2012, 06:44:34 PM
Home Help Login Register
News: Any Problems or Experience with Industrial Robots ?
Register and place your Question / Answer to worldwide Robotexperts right here !

+  Robotforum | Support for Robotprogrammer and Users
|-+  Industrial Robot Help and Discussion Center
| |-+  Kawasaki Robots
| | |-+  Palletizing
0 Members and 1 Guest are viewing this topic. « previous next »
Pages: [1] Print
Author Topic: Palletizing  (Read 1211 times)
James
Guest
« on: March 25, 2010, 05:40:24 AM »

I was reading the AS language manual today, specifically, the sample palletizing program and was wondering:
How would i add a vertical stack to the program?

Code:
.Program palletize()
1;Initial settings (3 rows, 4 columns, X shift = 90 mm, Y shift = 100 mm,
;SPEED 100%, ACCURACY 100 mm)
2row.max = 3
3col.max = 4
4xs = 90
5ys = 100
6SPEED 100 ALWAYS
7ACCURACY 100 ALWAYS
8OPENI
9;Start palletizing
10FOR row = 1 TO row.max
11FOR col = 1 TO col.max
12JAPPRO #a,100;Steps 12 through 17 pick up the part from the parts feeder.
13SPEED 30
14ACCURACY 1
15LMOVE #a
16CLOSI
17LDEPART 200
18;
19JAPPRO put, 200;Steps 19 through 24 place the part on the pallet.
20SPEED 30
21ACCURACY 1
22LMOVE put
23OPENI
24LDEPART 200
25;
26;Calculate the pose for the part in the next row.
27POINT put = SHIFT(put BY xs, 0, 0)
28END
29;
30;Calculate the pose for the part in the next column.
31POINT put = SHIFT(start BY 0, ys*row, 0)
32END
.END

Also, when it does the column shift on step 31, why is the 'y' shift value multiplied by the value called 'row'?
Logged
selquist
Newbie
*
Offline Offline

Gender: Male
Posts: 20


« Reply #1 on: March 25, 2010, 09:30:26 AM »

It is multiplied because it uses the position "start" as a basis every time it shifts row. Not the "put"-position. Se the figure on page "6-54" in the language reference manual.
To make a new layer, you can put everything in a IF THEN ELSE, adding 100mm to the z-value

example

IF layer==0 then
;Calculate the pose for the part in the next row.
POINT put = SHIFT(put BY xs, 0, 0)
END
;
;Calculate the pose for the part in the next column.
POINT put = SHIFT(start BY 0, ys*row, 0)
END
END

IF layer==1 THEN
;Calculate the pose for the part in the next row.
POINT put = SHIFT(put BY xs, 0, 100)
END
;
;Calculate the pose for the part in the next column.
POINT put = SHIFT(start BY 0, ys*row, 100)
END
END






Logged
James
Guest
« Reply #2 on: March 26, 2010, 05:42:32 AM »

OK, but just say I wanted to make use of a FOR loop in the program for consistency's sake, would it look something like the following?
My additions don't have step numbers.

.Program palletize()
1;Initial settings (3 rows, 4 columns, X shift = 90 mm, Y shift = 100 mm,
;SPEED 100%, ACCURACY 100 mm)
2row.max = 3
3col.max = 4
 stack.max=3
4xs = 90
5ys = 100
 zs = 100
6SPEED 100 ALWAYS
7ACCURACY 100 ALWAYS
8OPENI
9;Start palletizing
  FOR stack = 1 TO stack.max
10FOR row = 1 TO row.max
11FOR col = 1 TO col.max
12JAPPRO #a,100;Steps 12 through 17 pick up the part from the parts feeder.
13SPEED 30
14ACCURACY 1
15LMOVE #a
16CLOSI
17LDEPART 200
18;
19JAPPRO put, 200;Steps 19 through 24 place the part on the pallet.
20SPEED 30
21ACCURACY 1
22LMOVE put
23OPENI
24LDEPART 200
25;
26;Calculate the pose for the part in the next row.
27POINT put = SHIFT(put BY xs, 0, 0)
28END
29;
30;Calculate the pose for the part in the next column.
31POINT put = SHIFT(start BY 0, ys*row, 0)
32END
  ;calculate the pose for the part in the next stack.
  POINT put = SHIFT(start BY 0, 0, zs)
  END
.END

The reason I'm asking is that I might be starting a new job soon and they might want me to do this for them, rather than paying a programmer to come out and do it.  icon_smile

Also, thanks very much for helping. 
Logged
Antxoka
Guest
« Reply #3 on: October 21, 2010, 11:39:26 AM »

The example of the manual is not for palletizing.

It's not the best way to do this job.

Anyway, if you need help, contact me.
Logged
Pages: [1] Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!