question

Steven C7 avatar image
0 Likes"
Steven C7 asked Steven C7 commented

Processor maximum content

Hello,

I have a series of processors that allows 5 items to go through at a time. To enforce this workflow, I close the input port of Processor1 on process finish, and open the input port when the total number of items in Processor1 and Processor2 is less than 5. However, the model doesn't work as intended; for example, when there are items in Processor2 still, 5 items enter Processor1 regardless. I've attempted to address this issue by regulating the output of Queue1, by setting up a conditional port such that items get sent to Processor1 only if the total number of items in Processor1 and Processor2 is less than 5. That doesn't seem to work either. I'm wondering if my logic is not sound, or if I'm missing any functions that can regulate this behaviour.

Any help would be appreciated, thank you!maximum-content.fsm

FlexSim 19.2.2
processormaximum content
maximum-content.fsm (152.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.

tannerp avatar image
0 Likes"
tannerp answered Steven C7 commented

Hi @Steven C7,
I'm not sure what the foolproof method for doing this would be when strictly using 3D objects and their triggers. I tried changing things for a little but was unsuccessful. That said, someone may come along and know how to do it...

I do know that this kind of thing is relatively easy using Process Flow. I've added an example Process Flow to your model (with the old one to compare; the numbers in front of the processors represent the total count between the two processors' contents). The Process Flow utilizes Zones to limit the number of tokens that are active at one time. In this Process Flow, the tokens are created first when the items arrive in Queue3 and then they acquire an operator, load the item, and unload it at the Processor. From there, the token waits for the item to finish processing at the second processor, acquires the operator again, and moves the box to the final queue. This is all accomplished while the token is in the zone, so another token cannot enter the zone until an item has completely processed.

Let me know if you have any questions about this model.

maximum-content.fsm


maximum-content.fsm (61.1 KiB)
· 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.

Steven C7 avatar image Steven C7 commented ·

Thanks @tanner.p!

Your solution works beautifully. I've also just solved the problem using lists, but your method of using zones mimics my intended workflow better.

1 Like 1 ·
Jeff Nordgren avatar image
0 Likes"
Jeff Nordgren answered Steven C7 commented

@Steven C7,

Attached is your model with the changes that I've made. Take a look at it and see if it now does what you are wanting it to do. If not, please explain further what needs to happen in the model.

I changed the Send To Port of Queue1 to be first available. You had it as conditional, which when true or false would send to either port 1 or 2. But you only have one output port on Queue1 so that didn't make any sense to me.

I changed/added code to the OnEntry and OnExit triggers of the processors to open/close the input port of Processor1.

Again, take a look at the model and see if this solution would work for you.

Thanks.

maximum-content-jn1.fsm


· 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.

Steven C7 avatar image Steven C7 commented ·
@Jeff Nordgren

Unfortunately, the same issue persists. In essence, what I'm trying to do is that at any given moment in time, there can only be 5 or less items in total in Processor1 and Processor2 at the same time. I hope that clarifies my problem.

0 Likes 0 ·