Showing results for 
Search instead for 
Did you mean: 

Waituntil ignored



I'm new to working with SimTalk and am having trouble correctly using the waituntil statement. I need the workers to pick up the part off the pallet on their respective unload station and carry it over to the pallet on their reload station. The problem I'm having is getting the workers to wait until a pallet arrives at Reload before dropping off their part. I've tried placing waituntil statements in many different Entrance and Exit Controls to see if any work, but have had no success. Am I incorrectly using the waituntil statement or is it just not in the right place? I'm practically learning this software on my own so it's probably something simple.


I've attached the file saved with the error message shown for clarity.




Re: Waituntil ignored

Siemens Phenom Siemens Phenom
Siemens Phenom

Hello kg21em,


it is a good question. We need to synchronize the arrival of the container and the worker.

At first you have to prevent that the worker unloads the part when no container is on the station Reload:

Therefore we perform


var Worker:  object := ?.cont

if Worker.occupied

                reload.entranceLocked := true


in the entrance control of the Workplace.

Now no container can enter the station Reload.

In order to catch the event of arrival of the container we use a sensor at the end of the line Line3 before Reload.

Here we must stop the container, wait for the worker with a part, load the part onto the container, sent the worker back and open the station Reload:


Reload.exitLocked := true

waituntil workplace1.occupied and workplace1.cont.occupied prio 1

var worker:  object := workPlace1.cont



Reload.entranceLocked := false

Reload.exitLocked := false


The attached model is for Plant Simulation 12.2




Re: Waituntil ignored


Thanks for the quick response!


I've added your solution in to affect the second worker as well, but this has created a second problem. It seems that some containers will get stuck at Reload2 and end up containing more than just one part.


I've attached the updated model.

Re: Waituntil ignored

Siemens Phenom Siemens Phenom
Siemens Phenom

Hello kg21em,


the problem at ReadLoad2 is completely different problem. The worker should unload.


We must catch the event of a ready pallet a station Unload2. Therefore we use the exit control of Unload2.

I will not use the exit behavior Carry Part Away.

In the init method we initialize a variable Worker4Unload by the responsible worker:

Worker4Unload := WorkerPool1.cont


In the mentioned exit control we must stop the container.

Then we must wail until the worker is free.

Then the process can continue:


var part: object := @.cont

part.destination := Reload2






Re: Waituntil ignored


Thank you for all of the help! It works great now.


I've attached the latest update with the process fully working for anyone interested. It's still a bit messy as the proccessing time of certain stations needs to be changed.