question

Abderrahim Z3 avatar image
0 Likes"
Abderrahim Z3 asked Jacob W2 commented

Conditional Arrivals

Hi,

I want to make the pallets arrive at a constant rate (1 pallet/min) and queue up in Queue1 only if the combiner is idle otherwise no pallets arrive.

By doing this i want to make an analogy of a "charging phase" for the combiner (charges only if at rest). Once busy the discharging phase begins.

How can I get this effect please?

1652374295326.png

ConditionalPallets.fsm

FlexSim 22.0.0
palletsarrivalscondition
1652374295326.png (118.5 KiB)
· 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.

Patrick Cloutier avatar image Patrick Cloutier commented ·

For the combiner to work, it needs to 1st receive a pallet and then to receive products to place on the pallet. And to receive a pallet, there needs to be a pallet in Queue1. If there is no pallet in Queue1, the combiner will stay idle forever and not accept any products.

Please explain in more details exactly what you are trying to do and what is the goal.

0 Likes 0 ·
Patrick Cloutier avatar image Patrick Cloutier commented ·

Also, the combiner goes from idle to processing to idle to processing constantly. As soon as the pallet exits, it becomes idle until the next pallet arrives and so on.

So "being idle" is not a reliable trigger. The trigger could be "being idle for x seconds".

But before going further, explain in more details.

0 Likes 0 ·
Abderrahim Z3 avatar image Abderrahim Z3 commented ·

Hi @Patrick Cloutier, thank you for your response

I get your idea, however the thing i want to control is switching the combiner from/to Idle/Working, the source pallets would release pallets only if it is Idle.

As i tried to illustrate, imagine as if the combiner needs charging, when idle it accumulates power (pallets) but when it is working it uses that stack of power (pallets in Queue1).

I hope this provide a clear view

Thank you


0 Likes 0 ·
Jacob W2 avatar image Jacob W2 ♦ commented ·

Hi @Abderrahim Z3, was one of Patrick Cloutier's or Jason Lightfoot'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 unaccept and comment back to reopen your question.

0 Likes 0 ·
Patrick Cloutier avatar image
0 Likes"
Patrick Cloutier answered

As Jason and I are saying, you need to define exactly what happens and when. I personally like to write these rules in text before trying to code them.

For example:

  1. The first pallet automatically enters Queue1 and then the Combiner.
  2. When it enters the combiner, this closes the input of Queue1.
  3. When the pallets exits the combiner this opens the input of the Queue1.
  4. Back to 1

This is probably wrong because you will always have only 1 pallet in this queue.

And then these rules are put into the triggers of the object or in a ProcessFlow.

For the above example, you would have a TriggerOnEntry in the Combiner to CloseInput of Queue1 if Port==1 (pallets only).

And a TriggerOnExit in the Combiner to OpenInput of Queue1.

5 |100000

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

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered

Close the input of the combiner and then open it when you want to consume the pallets.

5 |100000

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