question

JulHa avatar image
0 Likes"
JulHa asked JulHa commented

Set input interval processor (bottle filling machine)

Hello,


Situation:
I want to simulate a bottle filling machine.
The machine has 100 filling valves (for each bottle). -> So I set the max content on 100.
The process for filling one bottle should take 20 seconds. -> I set the process time on 20 seconds.
The filling machine is taking the bottles from a queue, which is always completly filled up.


Problem:
Now I want the filling machine to take up a new bottle whenever one bottle left the machine. (One bottle after another) So the average time between two bottles getting taken up should be 0.2 seconds. How can I set this interval? I tried to set the setup time on 0.2 seconds, but this doesn´t work.


Can you help me with this problem?


Kind regards,


Julius

FlexSim 24.1.1
processorbottle fillingfilling machinesetup interval
· 2
5 |100000

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

Sebastián Cañas avatar image Sebastián Cañas commented ·
@JulHa ,

Is it possible for you to share the model?

0 Likes 0 ·
JulHa avatar image JulHa Sebastián Cañas commented ·

Brauerei 6.fsm
Here is the file. It´s about the second processor called "filling machine".

0 Likes 0 ·
brauerei-6.fsm (52.3 KiB)
Sebastián Cañas avatar image
0 Likes"
Sebastián Cañas answered JulHa commented

Hey @JulHa ,

I think that a logic that controls de input of the filling machine could work in this case:

  1. I create a Trigger On Entry in the Filling Machine object that close the input when the content of the object is equal to the max content property.
  2. 1730386437438.png
  3. Then I created a Process Flow logic that creates a token when the Filling Machine is ready to send a bottle downstream, delays the token 0.2 and finally opens again the input of the filling machine. This way is how you could represent that delay.

If you don't want to use Process Flow, then you can create another Trigger On Exit and open the input but you should modify the code and add an await statement before the code that controls the port.

Hope this helps!

brauerei-6-sc.fsm


1730386437438.png (32.3 KiB)
brauerei-6-sc.fsm (56.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.

JulHa avatar image JulHa commented ·
Thank you for your help! But it´s still not working the way I would like it.

When it takes up one bottle every 0.2 seconds after 20 seconds the filling machine has to be completly full. And in exactly this moment the first picked up bottle has finished it´s process-time of 20 seconds and has to leave the machine. So another bottle can be picked up. (It´s supposed to flow continuesly.)


In this model it´s still not the case. The machine is pickung up 100 bottles in 10 seconds. So each after every 0.1 second. So the "flow" I want is not simulated.


0 Likes 0 ·
Arun Kr avatar image Arun Kr JulHa commented ·

As an FYI, you can use a mass flow conveyor, which can hold 100 bottle units and speed of the conveyor equal to filler BPM * Pitch. Using the mass flow conveyor reduces the RAM overhead significantly.

0 Likes 0 ·
JulHa avatar image JulHa Arun Kr commented ·
Thanks for your help!

I already solved it with another processor!


0 Likes 0 ·
JulHa avatar image
0 Likes"
JulHa answered

I solved the problem now with another processor between queue and filling machine.

The additional processor has a maximum conent of 1 and a processing time of 0.2 seconds. Now every 0.2 seconds one bottle is entering the filling machine.

5 |100000

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