Universal Robots Forum

Multiple Pallets and slipsheets on the pallets

Hi everyone,

I am trying to make a program using a cell that we already have in place that has positions for two pallets. Can I use the pallet wizard multiple times in the same program to do this?

Additionally, how would I go about getting the robot to add a slip sheet every two layers on the pallet?

We have programs that are currently doing this but they are very messy and do not use the pallet wizard so I am trying to go in and clean them up.

Thank you all!

What robot and controller do you have? If you have a e series, you can add separators between layers via the wizard, which is quite straight forward. Just teach the separator sequence (i.e. pick separator sheet, place separator sheet).
If you have a CB3 controller, i’m not sure how to add layers/separators via the wizard, kind of the reason i went on this forum :slight_smile:

It is possible to add mulitple pallet functions in a program, but you will need to add some logic, depending on your application. For example if you want to pick from a pick position and palletize 2 pallets, you will need to add to the program to fill pallet A and when done switch to pallet B.

I have the CB3 controller so hopefully we can figure this out then :slightly_smiling_face:

Thank you I thought that I would be able to do that I just wanted to make sure I could. I will keep working and check back in.

Hi Thomas,

I figured out how add multiple layers to a palletize function and we can also brainstorm on how to get the separator sheet in there.
Here is how i did it.

I have a pallet pattern of the first layer of whatever i need (in my case a list).
I make 2 variables: LayerHeight (integer) and TotalHeight (integer).

In my pallet function i add an “after end”. In this function i increment LayerHeight and TotalHeight with 1.

Now to have the robot change in height for every layer, i add the following line to the after end function

“pose_1[2] := pose_1[2] + ProductHeight”
ProductHeight here is the height of you product (Not in mm but in meters!!!)
and pose_1 is the position variable used by the pallet function. You need to check whether your program uses pose_1 or some other number

Now to add the separator sheet you can do something like the following:

You want to add a sheet every 2 layers right?
In the after end function, you check if your layer height = 2, then run a program to pick a separator sheet and place it. You need to make the height variable here again. You can do this the same way, or you use the get_actual_tcp() function. be creative :stuck_out_tongue:

Then at the end of your separator sequence you write LayerHeight back to 0 to reset the.

Obviously the names of variables can be changed to whatever your like and what fits your project.

Let me know if helped you figure it out and if you have things to add for future readers with the same problem, i’m curious!

Kind Regards,

Hi Jan,

Thank you for your help that is great that you figured it out!

As far as adding the separator sheet there is an old program that we use right now that is based on calling a very long script. Do you think I would be able to just call that using an if? Set it such that if LayerHeight is a multiple of 2 it would just call the script to do the separator sheet program.

Thank you for your help. I am very fresh into the robotics and coding as it is not my background so I am very thankful everyone is so helpful.