question

Faris Rizal avatar image
0 Likes"
Faris Rizal asked Felix Möhlmann commented

Source Problem

Please help this is for my Final Year Project :( I am creating a simulation of a kitchen assembly line in FlexSim, consisting of 2 sources (bun and patty), 3 processors (toast bun, condiments, and grill patty), 1 combiner, and 2 queues (Universal Holding Cabinet and Funnel).

Process Flow:

  1. The bun source produces one bun, which is toasted in the processor, and then condiments are added in another processor.
  2. The patty source produces 6 patties at once, which are grilled in the processor and stocked in the UHC (Universal Holding Cabinet), which has a maximum capacity of 12 patties. The patty source will stop producing once the UHC is full and will resume producing 6 patties once space is available in the UHC.
  3. When both the bun and patty are ready, the combiner combines them into a burger and sends it to the funnel.

Settings I have configured in FlexSim:

  • Toast Bun Processor: Process time = 17 seconds
  • Add Condiments Processor: Process time = 10 seconds
  • Grill Patty Processor: Process time = 39 seconds, Max capacity = 6 patties
  • UHC Queue: Max capacity = 12 patties
  • Patty Source: Inter-arrival time = 0s, Arrival style follows this table:
ItemName Quantity
Arrival1 6
Arrival2 6

Issue: Currently, the patty source is set to produce 12 patties in total (6 patties at a time, twice). I want the patty source to stop producing when the UHC is full and resume production once space is available. How can I ensure that? Would really appreciate if someone can help this.

Attached is the file of my model:

Kitchen.fsm

FlexSim 24.2.2
queuesourceschedule source
kitchen.fsm (44.2 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 Felix Möhlmann commented

Add a label to the UHC that will denote the current content plus planned input from the grill. In the exit trigger of the patty source, increment this label by one. If the value is now 12, close the output of the source. Similarly, in the exit trigger of the UHC, decrement the label by 1. If the value is now 6 (so there is space for another batch), open the output of the source again. The source would be set to produce items with an interarrival time of 0 in this case.

· 6
5 |100000

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

Faris Rizal avatar image Faris Rizal commented ·

1734511544510.png

1734511563397.png

Hello thank you for helping me out, apologies but i dont really understand what you meant. I have tried putting your inputs based on the Source and UHC properties as shown above. Can you show me a step by step approach on your solution. Thank you :)

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Faris Rizal commented ·

The screenshots didn't attach properly, so I don't know what you are having trouble with. All you need is label on the queue that gets reset to 0 automatically and the "Data -> Set Label" and "Control -> Close and Open Ports" options in the exit triggers.

Centerport-connections or pointer labels can make referring to the other object easier (since you check the queue label in the trigger of the source and open the source output in the trigger of the queue). With a centerport-connection between source and UHC, the trigger of the source would look like this (assuming "Content" is the label name).

capture1.png

0 Likes 0 ·
capture1.png (15.4 KiB)
Faris Rizal avatar image Faris Rizal Felix Möhlmann commented ·

uhc-problem.png

I have followed your properties settings, creating the Set Label and Close and Open Ports. But I encountered an error as shown in the picture. Is there anything else that I am missing?

Attached is the file that contains the error.

Kitchen.fsm

0 Likes 0 ·
uhc-problem.png (146.3 KiB)
kitchen.fsm (44.9 KiB)
Show more comments