How to use suction for an Assembly

Hi,
I use pucks that I fill with an uncapped bottle using a defined assembly then fill the bottle and then cap it with the last step of the assembly, but I am not able to grasp the capped bottle and remove it from the puck as shown in the picture. it picks only the cap. tried the dissasembly process but was not successful. Thanks
image

So you want to transport out a product (the cap) from the assembly, then do the filling operation (just delay?) and transport the cap back in? I think you will need another process where the cap is taken to and comes back from. Some basic GetAssembly statement usage can be used to identify that you want just the cap to be transported out and back in.

You could also utilize the “exact product instance” product filter when transporting in to ensure you get the same cap back to your process, but it is probably unnecessary if you don’t have the transport links set up such that other caps could get there instead.

If you need the robot to just hold the cap it will be harder. You probably need to use RunRobotRoutine statement or even signaling to have things happen while the robot is holding the cap, and then also need to deal with the grab and release operations potentially attaching the cap to wrong component etc.

Thank you TSy,
the problem I am having is not to add the cap but to grab it with the suction cup along with the bottle it is attached to. when I pick it only the cap comes and bottle stays on the transporting puck

So are you using the robot with PM robot transport controller or did you just program it yourself?

If it is used through PM then the TransportOut statement defines what product to transport out, so if you transport out the assembly or a step from it, the attached parts should go with it. You need to transport out the parent, so the bottle, the attachment logic is one-way from parent to child. If it is not properly built assembly then there might not be attachment in the first place.

If you have programmed the robot using the Program tab, then what it grabs is based on proximity etc. settings and the attachment hierarchy matters again, i.e. grabbing a child component only grabs the child, not its parent.

I programmed the robot to pick by proximity, I have tried the tranport with a robot controller and did not work, that is why I moved the program a robot to pick. thanks, I will try again with robot controller and maybe revert the parent child order, by putting the cap as the parent:) thanks for your help