I am running Plant Simulation V12.2 (12.2.5) and wondering about workplace assignment.
I am creating two workers.
One station in the flow has two workplaces attached to it. It is all connected correctly with connectors to footpaths and workplaces etc.
Worker 1 gets a job and brings a part to the station on Workplace 1 and stays there working. During this time, Worker 2 gets a job to bring a part to the station. Since Workplace 1 is already occupied during this time, I would expect the worker to choose the second assigned workplace to the station (Workplace 2) however this does not happen. The worker stays waiting for Workplace 1 to be free which causes a bottleneck.
Is this the intended behavior? How do I make it so that the worker chooses the workplace on the station that is free rather than always picking the first workplace?
Maybe of note: I am only using standard services (nothing defined), and also Exit strategies: Carry part away (no manual importer/exporter control)
Solved! Go to Solution.
Plant Simulation uses always the nearest workplace when carrying parts.
You can use a exit control where you set the free workplace as destination of the part.
Thank you, this worked well.
I have another question:
My worker (worker1) is in the process of loading a part on the parallelProc when the parallelProc fails. Another worker (worker2) comes to repair the machine successfully, but now worker1 stays on the workplace and the MU on worker1 is blocked for a long time (longer than the loading time).
Is there a way to solve this so that the worker leaves the part on the parallelProc when the parallelProc is repaired?
you can add in the "Tools" menu either an observer of "Failed" or a control for "Fail". In this methods you can move the part back to the parallelproc.
Hi, I think I am managing to get through it but it is complex for some seemingly simple behavior.
I am solving it by using the Failed observer as you mentioned, and in conjunction with this the "worker.goTo(tempbuffer)" command, however my machine failed while the operator was consuming his loading time, which causes the goTo command to have no effect.
Is there a way to have him abort the loading procedure and move the MU to the buffer? Or maybe some other attribute to look at?
as an "trick" to abort the loading you can say to the loaded part "part.move" which fails but aborts the loading and then the worker delivers the part to the destination (goto not needed)
Is the trick specific to Plant Simulation V13+? It doesn't seem to be working in Plant Simulation 12.2.
This is an example of my code:
worker.MU.Destination := Buffer --Set the destination of the part if not worker.goTo(Buffer) --if loading has already started, this will fail worker.MU.move --attempt to "abort" loading. The carrying MU becomes blocked. worker.goTo(Buffer) --This has no effect. Even without it, nothing happens. The worker stays at the failed station with his carrying MU blocked. end
Seems like I am almost at a solution! Do you have any idea why the "trick" won't work? Perhaps I misunderstood your post.
your code is ok, but unfortunately it works not in the minor releases 12.1 and 12.2, only in 12.0, 13.0 and newer.
In 12.2 you only can move the part directly to the buffer.