Motion Coordinator Technical Reference Manual
Programming Examples 9-9
Example Programs
Calculating the box positions
So now we have a sequence which steps sequentially through each row, and then
through each position on that row in turn. We can use the absolute move
(
MOVEABS
) command to position the axes at an absolute position in our X/Y
coordinate system in the form
MOVEABS(x,y)
The x and y variables with the FOR..
NEXT
loop are simply logical box coordinates
and therefore need to be scaled to the correct positions.
If we know the palette size (1200) and the number of divisions in each direction
(xdiv/ydiv) then we can simply calculate an appropriate scaling, thus for the x
axis:
xscale = 1200/xdiv
The actual position (of the box’s corner) would therefore be (x*xscale), we could
adjust this for the centre of the box by adding half the box size (xscale/2). So the
position would be:
(x*xscale)+(xscale/2)
Our final consideration is that for each box we first have to move to the preset
pick-up position, fetch the product and then move to the appropriate empty box
to place the product in.
The pick up point is at a known absolute
position and so we can simply use a pair
of constants (pick_x and pick_y) to refer-
ence this point.
MOVEABS(pick_x, pick_y)
2
8
1
7
3
9
4
10
5
11
6
12