question

Filippo A avatar image
0 Likes"
Filippo A asked Filippo A commented

Is it possible to combine by different quantities?

Hi everyone,

I have a process where, for each arrival are created more than 1 flowitem (defined in Source Arrival Schedule - Quantity) and they are set in a queue after creation.

After the queue i placed a combiner, because i would like to combine all those items that are defined with the same Order in Source's Arrival Schedule.

Once the same order's items are combined i would like them to flow on a processor with a cycle time that varies accordingly to the ItemName as well defined in Source Arrival Schedule.

So now my questions are:

1. Is it possible to combine different flowitems belonging to the same "Order" from a single input?

2.How can i define a Process Time for the Processor1 that varies accordingly to the item Type and Quantity?

I tried to define three different Process Times PROCESSTIME in a global macros respectively for Type 1, 2 and 3) but I don't know how to how to allocate them properly. I thought about using a for {if{..}...} but it didn't work.

(i.e. Process Time = PROCESSTIME * item.Quantity, where process time gets first the Type to access correctly.)

Thank you very much.

I'm uploading here below the model i have

split-and-combine.fsm

combinerseparator
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

José Antonio MD avatar image
1 Like"
José Antonio MD answered Filippo A commented

12838-split-and-combine-solution.fsm

Hello @Filippo A,

I attached a model with the solution.

You can't create a combiner connected to a single port if you want to do something especial (in the manual it explains).

You should use two ports and play with the amount of the second (Combiner>Properties>Triggers>On Entry).

The Quantity is referred to the number of items that are created in a Source, so I created another label called "Option".

I have define the process time with a "By case", I think it is much simpler for your case.

I hope I've been helpful.


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

Filippo A avatar image Filippo A commented ·

Hi @José Antonio MD,

thank you very much for your help.

The "By case" solution is actually optimal. Although the combiner still has some issues in processing the order: Since 3 items are created in Arrival 1, the Combiner combines according to item.Option of the 1st arrival also the 2nd and 3rd. Then it uses the item.Option of the 2nd Arrival for the 4th and the 5th and so on.

I have a practical question, in order to avoid this mistake in the future: In the Source Schedule, why did you have to create a label Option if there is Quantity that has the same values? I actually tried to substitute in the Trigger>On Entry>Custom Code Quantity instead of Option and the combiner didn't work at all.

Anyway, i really grateful for your help.

0 Likes 0 ·
José Antonio MD avatar image José Antonio MD Filippo A commented ·

Hello @Filippo A,

When I sent you the file I had to delete something by mistake. Check if it works as you want.

For your second question: Quantity is not a label, it is the number of Items that you create. For this reason, the item has not this label.

I hope I've been helpful..

12842-12838-split-and-combine-solution.fsm

0 Likes 0 ·
Filippo A avatar image Filippo A José Antonio MD commented ·

Hi @José Antonio MD,

Thank you very much for your help, Now the program works perfectly.

Sorry if i keep asking, but i have a final doubt: i totally get the use of Process Time > By Case and then i set different distributions for each type. But, since a single Type can be composed by different Quantities, for example Arrival 1 has item.Quantity = 3 for item.Type = 3 and Arrival n has item.Quantity = 10 for item.Type = 3.
There is any way to set that the time of each Arrival as the process time defined by case (unitary time) multiplied by the quantity implied? so that if Process Time for Type = 3 is exponential(0,10,0) if i have 3 units it will be around 30 sec, if i have 10 units its around 100 secs.

0 Likes 0 ·
Show more comments