How to set logic for two Operators to move totes off of three conveyor lines?

How to set logic for two Operators to move totes off of three conveyor lines?

stephanie_y
Not applicable
160 Views
8 Replies
Message 1 of 9

How to set logic for two Operators to move totes off of three conveyor lines?

stephanie_y
Not applicable

[ FlexSim 20.0.0 ]

I have three conveyor lines that are transporting totes. Operators need to move totes from the conveyor line to the sink. There are two Operators that primarily stand at and work taking totes off the outside two conveyors. The middle Conveyor is shared by the same two Operators. When a tote comes down the middle line, I would like an Operator to transfer it only if they don't have work at their main line. At the end of each of the three conveyor lines I have a processor that I use to set the pace of the work.

0 Likes
Accepted solutions (1)
161 Views
8 Replies
Replies (8)
Message 2 of 9

joerg_vogel_HsH
Mentor
Mentor

I don't know how you built your model logic. The basic approach depends on Center Object Connections and automatic created transport Tasksequences. The Tasksequences are dispatched to Task Executer or Dispatcher. They store the Tasksequences in Tasksequencequeues. A Dispatcher transfers a Taskesequence only to a Task Executer that is available to receive Tasksequences. This happens, if the Task Executers' Tasksequencequeue is empty and the current active Tasksequence has been finished.

25094-ts-directly-or-by-dispatcher.jpg

A Dispatcher is connected to Task Executers by an Object Connection ("A"-Type).

ts-directly-or-by-dispatcher.fsm

0 Likes
Message 3 of 9

jeff_nordgren
Not applicable

@Stephanie Y,

Attached is another sample model that is very similar to the one that @Jörg Vogel has already given you. Just maybe another way to see another solution that may help you decide how to use them in your situation. If you need further help, it would be helpful if you attached your model to your question so that we might be able to answer your question specific to your modeling needs.

Thanks.

stephanie-sample1.fsm

0 Likes
Message 4 of 9

stephanie_y
Not applicable

I feel like when I search the user manual it is too vague and when I use the community forum it is over my head. I don't understand how to set the Priority of the task sequence in the Dispatcher.

It would be something like:

Operator goes to Station1 (end of a conveyor) if there is an item to process at Station1 (unless their last item processed was at Station2 and there is still an item at Station2)

Operator goes to STation2 if there is an item to process at Station2 AND there is no item to process at Station1 (Station1 gets priority unless they are already working at Station2 and there is a second, third, etc, item to process at Station2).

I tried to upload my model but I was unable too. Perhaps it was too big? Suggestions?

0 Likes
Message 5 of 9

joerg_vogel_HsH
Mentor
Mentor

If I forget the terminology of FlexSim, then following happens.
The option Use Transport sends by default a transport job to an operator or dispatcher. An operator executes the first receiving job instantly, if he has nothing to do right now. Otherwise the job is queued. If first job is done, he looks for queued jobs by priority.
A dispatcher is only a manager of jobs. Operators are clients of the dispatcher. If an operator has nothing to do, he hasn’t any jobs queued nor he executes a job, then a dispatcher sends a single job to him.

In your case the connections directly to operators let them execute the transport jobs instantly and by priority. Only if an operator hasn’t got nothing more to do, the dispatcher will send a stored transport job to this operator.
In this scenario all jobs have got the same priority value, the distribution of jobs is depending only on the direct connection and over a dispatcher.

If you watch a running model, it looks like the priority logic doesn’t work as intended. An operator takes an item of the shared queue instead of an outer queue. It is a runtime problem. Because the operator has nothing to do at the destination of his last transport job, he waits there. An item arrives at the shared queue. He walks to the shared queue. While an item arrives at an outer queue, but he is already executing a job, this job must he finish before he can do anything else. You can force an operator to decide later which job he does, if you tell him that he has to go a nearer location where he gets his items. This is an option in the OnUnload trigger of an operator.

0 Likes
Message 6 of 9

joerg_vogel_HsH
Mentor
Mentor

@Stephanie Y, have you changed the logic conditions compared to description of your initial question? If this is the case, please ask a new question!

0 Likes
Message 7 of 9

braydn_t
Not applicable
Accepted solution

@Stephanie Y

preemption-example.fsm

Is this what you are looking for? If so, let me know and I will explain how I did it.

0 Likes
Message 8 of 9

stephanie_y
Not applicable

Yes except Operators should stay at the Middle Station until it is empty and should only leave the end station if they don't have work at the end station (in my model work going to the middle is infrequent- only 5% of the items go to the middle station).

0 Likes
Message 9 of 9

benjamin_w2
Not applicable

Hi @Stephanie Y,

I have adjusted @Braydn T's model slightly. Is this what you are looking for?

This particular model is very similar to one of the Tutorials. I will post a link below.

https://docs.flexsim.com/en/20.0/Tutorials/TaskLogic/Tutorial1TaskLogicTools/1-3TasksLists/

preemption-example2.fsm

0 Likes