question

Eric R4 avatar image
0 Likes"
Eric R4 asked Eric R4 commented

3 Processors in Parallel, only 1 can operate at a time, How?

I am trying to simulate the feeding of 3 filter presses. The model is working very nicely except for 1 issue I cannot figure out how to solve. I have 3 processors in parallel ("Group A Fill 1", "Group A Fill 2", and "Group A Fill 3"). Can you help me develop a constraint on those 3 processors so that only 1 of them can run at a time? I've attached my model.

Thanks,

Eric

dl-3-filter-1-pump-model-v5.fsm

FlexSim 19.1.1
processors
· 1
5 |100000

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

Eric R4 avatar image Eric R4 commented ·

@Joseph Gillespie

Thank you!

Regards,

Eric

0 Likes 0 ·

1 Answer

Joseph Gillespie avatar image
0 Likes"
Joseph Gillespie answered Joseph Gillespie commented

@Eric R4

Here's an updated version of your model in which only one of the 3 processors can run at a time: filterpumpmodelanswer.fsm

It works because of a small Process Flow block for each processor, like so:

For the processor "Fill 1", a token is created every time an item arrives in Fill 1 Queue. These tokens then wait to acquire a resource I created called "Processors". All of the items in each queue must wait its turn to acquire the "Processors" resource in order to continue. After acquiring "Processors", the item moves to the processor to be processed. When the item finishes being processed, it releases the "Processors" resource so that another item can acquire it.


capture.png (8.1 KiB)
· 12
5 |100000

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

Eric R4 avatar image Eric R4 commented ·

Joseph, thanks for looking at this. I am very weak on Process Flow and just reviewing your edits has helped a lot. Your added logic does do as you stated. However, it has created a new problem. The issue with your added logic is that it forces 1 of the 3 Processors to always run (a processor is always running, even when there are times it shouldn't be). For my 3 processors, my "maximum content" was set at 1. But the Process Flow is forcing the processor to accept thousands of items. How is this possible? How is the Process Flow bypassing the maximum content of my Processor(s)? Is this a bug? How could I adapt this so that the Process Flow doesn't force all of those items on each Processor (when the Processor is not ready to output)?

Thanks for your help!

Regards,

Eric

0 Likes 0 ·
Show more comments
Eric R4 avatar image Eric R4 commented ·

@Joseph Gillespie

Thank you again for your help. Those tutorials are helpful. I spent some time on them today. Unfortunately, I think this direction is not helping me. I've messed around with this for a while and I think I am regressing. Can we start over? I've re-attached the model. It is the same as the original (I removed the Process Flow), EXCEPT, I am trying to force only 1 Processor running at a time by adding 1 Operator. The Operator must carry the items to the Processors. I made this Operator lightning fast and able to carry thousands of items at a time (so essentially he is Superman), just to facilitate my logic. I thought that by having 1 Operator that I could limit which Processor was running. It is kind of cheating in a sense, no? Unfortunately, he jumps from Queue to Queue sometime. Is there any way to make him stick with 1 Queue, until it is emptied, before moving on to the next Queue?

I like to zoom out and run the model and watch those white, red, and blue queue stacks. My goal is to make this model operate with only 1 stack decreasing at a time (when it is simultaneous, it is skewing my results). I've played around with different Operator configurations and settings with no luck. Example, at about 18 minutes into the model run, you can visibly see the white and blue stack decreasing at the same time.

Thanks again for your help! I've learned a lot about Flexsim in the last 48 hrs.

Regards,

Eric

dl-3-filter-1-pump-model-v5a.fsm

0 Likes 0 ·
Show more comments
Eric R4 avatar image Eric R4 commented ·

@Joseph Gillespie

Thanks! When I try to use your version 2, I am having issues I cannot resolve. I've been playing with it a little bit more this morning. I can't even get the model to run more than 12 minutes. My 1st batch of Group A Fill 1 (white items) is supposed to be 10,500 lb. Getting these batch amounts right is critical for the model to be realistic. Without the Process Flow, this batching logic works every time. With your Process Flow logic, for some reason Group A Fill 1 Processor (white) stops 500 lbs too soon. Specifically, on the Process Flow, the Processor1 releases the Resource with 500 tokens still remaining. Any idea why it is doing this?

Also, another question (just for learning purposes). Does the Processors Resource have a default priority? For example, will it go from Processor1 to Processor2 to Processor3 sequentially, every time? Or could it jump around and go from Processor1 to Processor3 to Processor2, on occasion?

Thanks for your help!

Regards,

Eric

0 Likes 0 ·
Show more comments
Eric R4 avatar image Eric R4 commented ·

@Joseph Gillespie

Thanks. Actually, I need these processors to operate on a 1st come, 1st serve basis (not sequentially). Therefore, I think filterpumpmodelanswer2 is my best bet. With #2, no matter what I do the first batch will not empty. Processor 1 (Process Flow) will not process more than 10,000 units (goal is 10,500) and always leave 500. This is true whether I use "batch" or not in the queue, or whether I increase the batch values.

Regards,

Eric

0 Likes 0 ·
Show more comments
Eric R4 avatar image Eric R4 commented ·

@Joseph Gillespie

Thanks! This logic looks awesome. However, it still doesn't run. When I open up your model it will not run (no errors). The time will not progress beyond 0.00. The Queue's fill up with items but then it stops. I attached a screenshot, Fill1 is still "waiting for batch complete", the processor on Fill 1 is not running. It is as if the "Open Fill 1 Input" logic is not working. Are you sure this is running on your machine? Can you check again. Is there some obvious reason why it wouldn't run on mine?

Regards,

Eric

screenshot-of-josephs-model.gif

0 Likes 0 ·
Show more comments
Eric R4 avatar image Eric R4 commented ·

@Joseph Gillespie

Joseph, thanks! I think it is working! I am very excited! I connected your model to the rest of my model and at first it didn't work. I cheated and added a common Sink to keep things moving (so it doesn't get held up). Also, I changed the Source times in the Process Flow for the 3 Fill stages (in order to create a prioritized order). I attached the model.

The only way to make this perfect is to somehow change the 3 Processor's "Process Time" to be infinitely fast (or I would settle for very fast) whenever the items are moving out of port 4 (to the sink). Since I created the sink to keep things from holding up, I need to minimize the time delay that the sink is creating. This way, it eliminates that dead time while the batch is emptying into the sink. Is there any way to do this? Under the Processor's "Process Time" options, I thought maybe I could use the "Values by Case" option. Is there a way to make Case 1, 2, 3, and 4 correspond with output ports 1, 2, 3, 4? Or is there another way to do this? Make ports 1, 2, and 3 (for all Processors) operate at my desired rate, and then make port 4 (the sink), super fast.

Thanks a lot for all of your help. My knowledge of Process Flow has increased 10 fold in the last few days.

Regards,

Eric

dl-3-filter-1-pump-model-v8.fsm

0 Likes 0 ·
Show more comments