I have a model in version 13 with 1 worker, 2 primary buffers and 1 secondary buffer. By default, the worker goes to one primary buffer, catch the MUs from there and then delivery these MUs at the secondary buffer. But, I need that my worker goes to each primary buffer that contains MUs, catch these MUs, to then delivery it at the secondary buffer. E.g.: I need that the worker goes to PrimaryBuffer1, catch the MUs and, if there is MUs at PrimaryBuffer2, the same worker goes to the PrimaryBuffer2 (before to go to SecondaryBuffer) in order to also catch these MUs from PrimaryBuffer2, to then delivery these MUs at the SecondaryBuffer.
Does anybody has a model with a similar behavior to share it here with me?
The model I explained above is attached.
I already tried to use SimTalk commands like: "GoTo" for workers and "Destination" for MUs; I also change the Priority of primary buffers, tried to lock the entrance of the secondary buffer, but it was not working.
Thanks in advanced.
Good question!! Even i want to know how to model this using 'Worker'.
But one way to model this scenario is using 'Transporter' MU instead of 'Worker'.
Using a Transporter can be a way to do this. But, I would like to get the behavior described above using a Worker.
Thanks for your input!
I tried to use the "allow interrupting jobs if requests with higher priority come in" feature, but it seems that is not working properly. At least according to the documentation the worker should interrupt his current job and continue working at the other buffer with the methods I added to your model. However, it's not working, and I somewhat think that might be a bug, because interrupting the processing-jobs for other jobs with higher priority works just fine...
Hi, AlexD_SimPlan. Happy new year!
Thanks for your help. I think I understood what you tried to do in your model. I was reading the HTML help of Plant Simulation, and I saw something that can maybe explain why this is not working correctly.
If I am not wrong, the "import" command you used inside the "m_engageWorker" method is applicable only when we have services defined on the "importer" tab of objects like a SingleProc (not including buffer object type). So, I think that the "import" command can not find the service "Carry Part Away" defined on "exit" tab.
A little behavior change was possible to noticed when I tried to use SingleProcs instead of Buffers, declaring a generic service on the "import" tab of PrimarySingleProcs: the "result" of "m_engageWorker" method receives true value and this method stops going to the "debug" mode automatically.
If I find something new or the solution, I will write here in this topic. Thanks again.