question

komalkoli avatar image
0 Likes"
komalkoli asked komalkoli commented

Operator to wait until all parts are arrived in the Queue

Hello,

I would like operator to wait until queue has all parts arrived. Currently, operator moves quickly as the first item arrives at queue and picks the item right away. I would like the operator to wait until all parts are arrived and then moves to the queue and pick all the parts at the same time.

FlexSim 24.1.0
moveobjectoperator taskqueue logicwait until
5 |100000

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

1 Answer

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered komalkoli commented

You first have to define what "all" means. If it's a fixed batch size, use the batching options of the queue.

capture1.png

If the quantity can vary, I'd try to mark the last item with a label somehow. When any item that is not the last item enters the queue close the output, otherwise open the output in the On Entry trigger.


capture1.png (3.6 KiB)
· 5
5 |100000

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

komalkoli avatar image komalkoli commented ·

"All Parts" means everything that has been processed on processor and collecting at queue for next step of the operation. I have used Task Sequence. I do not have a fixed batch size. It varies per job schedule. I tried writing expression under "Batch" task sequence, but it does not work. See attached picture.


Also, I did not understand your last statement. Can you write some example of that?

1.png

0 Likes 0 ·
1.png (34.6 KiB)
Felix Möhlmann avatar image Felix Möhlmann komalkoli commented ·

"everything that has been processed on processor" could also be a single item.

Hence why I mentioned marking the last item in some way, so you can then start the transportation logic for every item that is available in the queue at that point.

Another possible way would be to wait until the input queue of the processor and the processor itself are both empty.

Or writing the number of parts in the batch to labels on the items to use them as the batch quantity in Process Flow.

Or you use the "Max Idle Time" option of the Batch activity to start moving the items once no new item has entered the queue within some timeframe. (So the batch quantity would some practically infinite number or the limit of how much the operator can carry.)

As you can see there are many possible approaches to this and which one works best will depend on how creation and/or the input of the items is structured (as well as personal preference).

Here's an example of what I mean by marking the last item and closing/opening the output based on it.

mark_batch_end_fm.fsm

0 Likes 0 ·
komalkoli avatar image komalkoli Felix Möhlmann commented ·
Thank you for your answer. But my problem is not resolved. I used all options from your answer, but operator is moving one item at a time from queue2. I want operator to move everything present in queue at the same time. I cannot use batch because i do not have defined quantity. How can I tell operator to move all items together?
0 Likes 0 ·
Show more comments