question

JoseVM avatar image
0 Likes"
JoseVM asked JoseVM commented

Group to Batches in Process Flow

Hello everybody,

I am quite new in Flexsim, and I am facing some basic problems about batching. I am just trying to transport a batch of 5 boxes. In order to do that, I used the "Batch" activity in Process Flow and I attached a label to the token of the batch, but I am afraid the simulation is not working and I cannot identify the problem. I attach the .fsm and I would be greatful if someone can fix the problem.

I also wonder if it would be better to use lists than the batch activity. I am planing to differentiate between different Product Types in the future (with different process times) and I do not know know which option would be better.

Thanks in advance,

Jose

simple-batch.fsm

FlexSim 19.2.4
batchbatch process and labelingbatch process
simple-batch.fsm (29.6 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

Regan Blackett avatar image
0 Likes"
Regan Blackett answered JoseVM commented

If you need to wait for all the members of the Batch to be collected before you can begin transporting the Batch activity is simple way to go, there are just a couple of things to be aware of though.

First, when you collected a batch and the result is a single token, that single token doesn't know about any information that was being carried by the batch members before the batch occurred. This is important in your example because the batch needs to know about all of the items they represent, which is stored in the label token.item. that information needs to be preserved by using the Label Aggregation options on the batch, by making an Array out of all the 'item' data:

The next thing to be aware of is the Load activity can't take a single data point like your 'batch' label or our new array and know that it's supposed to load everything associated with the batch. The Load can only load one thing at a time. So you need to use a Subflow to create a temporary token to represent each flowitem to be transported in the batch, and then let the Load activity load that single flowitem:

So for each item in the array, craete a token, and assign it a unique reference to an item in the array. Then tell Load and Unload to work with these new references.

You could have also chosen to do this with standard Object behavior and not done process flow at all.

Drag out a Source object to create your flowitems.

Check the box on the Queue to "Perform Batching" with a target size of 5

Check the box under the Flow tab to "Use Transport"

Make a Center Port connection from the queue to transporter.

Make an Output Port to the downstream queue.

Set the Transporters Capacity to 5.

Both methods would give you the same results, it's up to you which is most appropriate for your larger model.

See attached:transporting-batches.fsm


makearray.png (9.2 KiB)
runsubflow.png (20.4 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.

JoseVM avatar image JoseVM commented ·

Thank you so much, problem solved!

0 Likes 0 ·