question

gilbert jerald avatar image
0 Likes"
gilbert jerald asked Matthew Gillespie edited

How to allocated work for individual operator when they are connected from single output port?

in my mode each operator is allocated to each machine for loading , unloading the item from queue and from the machine and to do processing in machine , (For eg: man 11 should take item from queue 2 and he should load on manual processing machine 11 and after doing processing he should unload the item on queue 12 and then this should be continue to do the same work until i stop the simulation he should not load item for near by machine , man 12 and man 13 should follow the same condition ) the problem in my model is the operator stops his current work and he starts to do another work when time passes (ie :he is diverted from his allocated work and move to do work for other machine ) . how to over come this problem such that the operator should not deviate from his work NOTE : in my model all item have same item type value (ie 1) it should not be changed. i have attached my model for your referencemok.fsm

Choose One
operatordispatcher
mok.fsm (27.1 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Sam Stubbs avatar image
4 Likes"
Sam Stubbs answered Sam Stubbs edited

Your problem was the dispatcher. The dispatcher was calling the first available worker, so it would call whichever worker would be available first, regardless of the machine they were working on. So instead I removed the dispatcher, so each worker would only be connected to their own machine.

And finally to solve the problem of having each worker gather items for their own machine, in Queue2's properties under the Flow tab I set the Use Transport field to "centerobject(destination,1)" instead of the default "centerobject(current,1)" for the dispatcher. This means that the Queue will always acquire the operator center port connected to the machine the item is going to.

I've reattached your model below.


5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Joerg Vogel avatar image
1 Like"
Joerg Vogel answered

Pass To Dispatcher:

return ipopno(centerobject(gettaskinvolved(tasksequence,4,1),1),1);

getaskinvolved(tasksequence,4,1) is the 4th task of the tasksequence, which is to pass. It is the travel task to the unload station. The first parameter of the travel tasktype is the unload station. The first centerobject of the unloadstation is the operator working at the processor. Its first input port is connected to an output port of the dispatcher. This output port number is the return value the transport task sequence should be passed to.


lwyoa.png (5.8 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.