I have a workcell with x workstations and a pickandplace robot to move the MU from station to station.
As there are 2 workstations which are served 2 times (ex: part measurement), the robot arm has 2 grippers.
Does anybody know how to move the MU which is inside the worksation out, then move the next MU into the workstation.
Solved! Go to Solution.
I do not know if it helps you, but have you considered using .move several times in a method for different MUs? When I "realised" this it helped me with something that looks a bit similar to this.
So for example perhaps something like this in a appropriate method:
I remember having some work with simulating a robot with 2 units on it as well, because doing 2 moves from the pick and place robot didn't seem to work like I expected it to. The p&p robot is very sensitive to timing.
You could try to solve this using a container MU to simulate the gripper, and placing the MUs you want to actually move, on the gripper container. Then, carry out the movements of the robot but do not use the move command for the gripper (which would be @), but start a method which checks which MUs to take from the workstation, and which one to put back on the gripper.
Let me know if this has helped you
so let me write this down to see if I understand it right.
The robot control is pull mode.
The robot pickup a part and move to the next workstation (SingleProc).
This station is occupied. The robot need to move the part from the workstation to the gripper (capacity=2).
>> How can I program "waituntil ..." to wait until the robot has arrived at this target.
After this the part is moved from the workstation to the robot gripper. The move command of this part was made, as the part is in the fwBlockList.
Finally the next part is moved to the workstation.
I can not drap/drop a container on the pickandplace or in front of the workstation as an intermediate buffer.
The object 'container', which I never used before must me special to use.
the next MU is not leaving S01 until MU in S02 is finished.
So the exchange (One In, One out) is always possible.
The status S02.MU.finished always show the status the next MU to leave the ParallelProc.
I will try to implement this in my model.
Thanks a lot, I have started to merge the parallel proc version into my model.
So the key for the single proc version is:
pp.unblock(mu) -- pick ONE part on station
waituntil pp.NumMU=2 prio 1
pp.setDestination(pp) -- swap parts on PP so part from s01 will be dumped
waituntil pp.NumMU=1 prio 1
I will also try this one out.
Hi, finally I tried out both solution proposals:
- Single Proc, I was unable to implement my model
- Parallel Proc, I was successful to implement my model. I will merge this into my main model.
Thanks for the advise...