question

SaiKrsih avatar image
0 Likes"
SaiKrsih asked SaiKrsih edited

Prossesor pull from Queues issue

Hello Flexsim Answers group,

In my model (below attached), a multiprocessor gets items from two Queues, such as Q1 and Q2, and processes them before sending them to Q3.

Where, Q1 receives 100 items with an interval of 5, 15, 25, and 35 minutes.

Similarly, Q2 receives 25 items with an interval of (0,10,20,....min)

In this case, I am utilizing a "Source" activity in the process flow to replenish the Qs, but in my actual model, these Qs (Q1 n Q2) receive items from other Qs that belonged to other processors.

Both Qs flush out only if they reach a limit/batch size of 100 items

In this model (attached), Q1 receives a batch of at least 100 items on each interval, whereas Q2 only receives 25, so it waits and flushes until it hit the limit of 100. Even though, Q2 hits the limit of 100 the processor is not pulling from Q2 due to the ongoing minimum replenishment at Q1 with 100 pieces every time (on each interval). Because of this the processor only pulls from Q1.

I would like to know how to make a processor pull from Q2 when it hits its limit by halting Q1, and when Q2 does not reach its limit, the processor should pull from Q1

1677604235938.png

Any recommendations?

Machine pull issue.fsm

FlexSim 22.2.2
processorpull
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

Jacob W2 avatar image
1 Like"
Jacob W2 answered SaiKrsih edited

Hi @SaiKrsih,

I have made a couple of small additions to the model you posted. I added an event triggered source that generates a token when Q2 finishes collecting 100 items. This token then closes Q1s port and waits until Q2 has released all of the items it collected before opening the ports on Q1 again.

machine-pull_JW.fsm


machine-pull-jw.fsm (52.8 KiB)
· 3
5 |100000

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