question

poopatel avatar image
0 Likes"
poopatel asked poopatel commented

Pull based on upstream demand

Hey, I am a bit new to flexsim and trying to figure out this example model for a bigger project - I have 3 Queues (SC1, SC2, SC3) which will pull item from PDC1 which will pull item from MainQueue. The pull condition variables are mentioned in a global table. Each part has a variable name CAC which is based on normal distribution (mean:225, sd:25). A part that is being pulled must be between specified min and max CAC value as per demand of upstream process. Would be great if somebody can help me code up the pull conditions or show me how can I proceed. Thanks!

example_model.fsm

FlexSim 23.2.3
global tablelist pullupstream output orderpull condition
example-model.fsm (31.6 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.

1 Answer

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

You talk about how the queues should be pulling items, but in your model the queue have to accept whatever item the processors work on. It's the processors that have to make the decision what to pull.

In the attached model processor 1, 5, 6 and 7 read the allowed ranges from the global table in a query in their On Reset trigger. In the Pull Requirement they compare the item's CAC value to each range. If it falls into one of the ranges, the item is pulled.

There are two entries in the table for SC1, so I assumed that both of those are valid ranges for the CAC value.

pull-requirement-by-range-fm.fsm


· 25
5 |100000

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

poopatel avatar image poopatel commented ·

So each entry in the table are individual orders. So will the solution still remain the same. Or would you like me include more orders and upload another file ?

0 Likes 0 ·
poopatel avatar image poopatel commented ·

I have also mentioned time in the global table. Processor 1 must start pull for that specified range or CAC values only on those specified time. Also the part once pulled must labeled to ensure that it end up in the SC mentioned during the initial pull. Also processor 2, 3, and 4 are still pulling parts which should not be the case, right?

Here is a new model with bigger table to avoid confusion.

pull-requirement-by-range_example.fsm

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann poopatel commented ·

For timed pulling Process Flow is the much better choice.

process-flow-pull.fsm

0 Likes 0 ·
poopatel avatar image poopatel Felix Möhlmann commented ·

This is great...thank you very much...pretty much what I wanted. Just a few questions regarding this - can i add like a source & queue from which the SC's will directly pull if there is a backorder i.e. an order cannot be fulfill because the items in the MainQueue does not satisfy the CAC range condition?

Also I know there is a way to automate the update of global tables so that I can connect it to an external excel and automate the entire process without making manual entries but can this be done to both the source in model and source in process flow that you have made?

0 Likes 0 ·
Show more comments