question

Chawpan avatar image
0 Likes"
Chawpan asked Natalie White commented

How to start combiner to combine on a specific time of a day?

Our simulation is similar to a passenger hub where passengers enters the bus and the bus leaves at a specified schedule or when the bus reaches maximum capacity.

We used combiner to combine 10 passengers and 1 bus. However, we can't identify what should be the settings since we want to have the combiner to finish combining at a specific schedule (e.g 6AM, 7AM, 8AM, ...) in which the bus will proceed to the queue. Also, we also want it to leave after reaching the maximum capacity of 10 passengers.

Case 1: The bus will leave when it reaches maximum capacity.

Case 2: The bus will leave at a scheduled time.

In our current model, the bus will start processing after it reaches its target quantity of 10 passengers, how can we make it to start processing even if it still not have 10 passengers or leave at a specified hourly schedule?

Here is our model Bus model.fsm

Thank you!


FlexSim 23.0.5
combinerschedule
bus-model.fsm (29.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.

Natalie White avatar image Natalie White commented ·

Hi @Chawpan, was one of Jeanette F's or Joerg Vogel's answers helpful? If so, please click the "Accept" button at the bottom of the one that best answers your question. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always comment back to reopen your question.

0 Likes 0 ·
Jeanette F avatar image
2 Likes"
Jeanette F answered Jeanette F edited

Hello @Chawpan,

Another solution is to use Process Flow to handle the combining of the Bus and People.

In your 3D model, I have the queues push flow items to a list and I switched the combiner for a processor.

I created a Global Table that contained the Departure Times of the Buses

Then in the process flow a token Loops through the table.

1685824242286.png

Starting with the first departure. The departure time is read and the time till departure is calculated. A Bus is pulled from the list and the People are pulled from a list with the Max wait timer that uses the time to departure value.

1685824234759.png

bus-model_JF.fsm


1685824150150.png (15.8 KiB)
1685824234759.png (33.2 KiB)
1685824242286.png (33.2 KiB)
bus-model-jf.fsm (469.7 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.

Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Joerg Vogel commented

A combiner is not made for this. It is more likely you can achieve this by a queue object and options within a queue. Max wait time and batch size. When first item arrives, you compute a value to remaining wait time to keep a departure for every hour. Otherwise the queue release all collected items, if batch size gets completed. If you still want to get a combiner involved items, you update a global table that will update a combiner components list on Entry trigger by an picklist template option. You can change the involved global table cell value on exit or on end collecting trigger of the queue. You should test it, which event suits you best.

· 4
5 |100000

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

Chawpan avatar image Chawpan commented ·

Thank you for your response. What if I only want to start the process time at a specific time of day? What should I do?

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Chawpan commented ·

@Chawpan, as I said a combiner is not made for this. Once you let enter an item through port one of a combiner a mostly static components list must get fulfilled. You can release only with a deep knowledge of internal event mechanisms an item from a combiner, if there aren’t occurring any other events of entering items in this object.
If you want to get full control of a processor behavior I suggest you try a Process Flow Processor object instead.

If you follow my suggestion, you can set a Process Flow Processor in any state, whenever you want it. A combiner depends always on a distinct order of entering items to start a process time. My above answer summarizes this approach. A process time starts on combiner only if all items of a recipe have entered this object.

You can customize a Process Flow Processor to start a process time anytime. This object need not any items at all to get into this state. It makes it easier, if at least one item has entered this object.
Personally I would stay with a queue object and build a Process Flow logic around it to customize this queue object’s statistic that it records what you want for a statistic collector or calculated table to output dashboard charts.
You can also customize a queue default statistic states in such a way, that a state of collecting gets shown as a processing state. This would result in a behavior you want to achieve. You only need to let enter every hour a bus item. Once a batch of items gets completed you close the input of this queue, until a new hour begins. You get this hourly event for example by a source that creates a bus item. On Creation event of this source you open the input of the queue again and a bus item can enter this queue. And a max wait time of an hour starts to collect 10 passengers. If the batch of 11 items gets completed the batched items leave the queue and close the input of the queue. If an hour of wait time is over and the batch is not full, all items leave the queue. A new bus item arrives and the process starts again.
Depending on your further approach I suggest you ask new questions if you get stuck in any new problems then.

0 Likes 0 ·
Chawpan avatar image Chawpan Joerg Vogel commented ·

I am new to flexsim so I do not know most of the function. Can you show me a simple model about the "customizing a queue default statistic states in such a way, that a state of collecting gets shown as a processing state" and how can I close and open the input of the queue?

Thank you very much

0 Likes 0 ·
Show more comments