Depallitizing not incrementing?

UR10e

Be Kind it’s my first program. lol.
Attempting to tend a CNC machine.
Currently running Depalletizing template with a single line of 10x parts (count is set correctly)
I have taught the first and last block points - verified positions in pallet settings (with move to)

Had to rearrange a few things, not sure if I deleted a count increase.
Everything is currently under “At Each Item”
Last move under the AEI is a move to a home position
It runs correctly, just does not go to next blank

looking for a little assistance.

Neil

Hello Neil,

The Pallet function automatically increments its counter, so you can’t really delete it.

It sounds like you’re using the At Each Item slightly wrong. All waypoints in AEI are offset for each part, so returning to a home position is not ideal. That waypoint should be placed outside of the Pallet sequence. :slight_smile:
What I have seen confuse other people earlier is that basic principal of the Pallet function. It works by offsetting everything for each loop of the sequence. So the whole robot program needs to loop/repeat to function correctly (or at least the part with the Pallet function).

If that is not where your issue lies, then please attach your program or a screenshot of this. :slight_smile:

Thanks for the additional information.
I was frustrated with it so before I got your response, I researched and wrote a program from scratch.

I used a double nested loop to handle a single layer array of material.
This also made it easier to place the part back into the same spot after it was taken back out of the machine.
(something I was struggling with using the pre-defined depalletizing template)

From the known approach height of Stock Blank 01, I used a:
MOVEJ
STK_Approach_Origin “KIND OF A Stock array Zero, Zero”

   MOVEL(Pose_Trans(get_actual_tcp_pose(),p[Temp_X, Temp_Y, 0,0,0,0]),a=1.2,v=0.25)    

Question: what are the last three zeros in the position vector ? it was not really explained in any of the documents I could find ?

Using some stock size and spacing variables, I was able to calculate the next stock position within the loop as I incremented the x & y counters.

Question: What is the cleanest way to call an external program from within my loop ? (not a sub program)

1: Here’s a short article on the axis angles (last three coordinates of the position variable p[X,Y,Z,RX,RY,RZ]): Universal Robots - Explanation on robot orientation

2: You can call other programs with the subprogram call, as well. It doesn’t have to saved as an actual subprogram. :slight_smile: