Is it possible to combine by different quantities?

Is it possible to combine by different quantities?

filippo_a1
Not applicable
8 Views
7 Replies
Message 1 of 8

Is it possible to combine by different quantities?

filippo_a1
Not applicable

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

0 Likes
Accepted solutions (1)
9 Views
7 Replies
Replies (7)
Message 2 of 8

jose_antonio_mad
Not applicable
Accepted solution

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.

Message 3 of 8

filippo_a1
Not applicable

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
Message 4 of 8

jose_antonio_mad
Not applicable

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
Message 5 of 8

filippo_a1
Not applicable

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
Message 6 of 8

joerg_vogel_HsH
Mentor
Mentor

assume you have the label name quantity and stdProcTime at your item

item.quantity * item.stdProcTime

This is what you can write directly in the field of the Process Time

12848-process-time-by-case.jpg

0 Likes
Message 7 of 8

jose_antonio_mad
Not applicable

I agree with @Jörg Vogel,

In fact, the same solution is already implemented in the model with the same statistical distribution that you had previously (the same for all the types).

12849-example.png

Message 8 of 8

filippo_a1
Not applicable

Hi,

sorry, i must have lost it. thank you both very much. you have been so kind.

Thanks again for help

0 Likes