Combine item by sequence or item name

Combine item by sequence or item name

max_u
Not applicable
34 Views
5 Replies
Message 1 of 6

Combine item by sequence or item name

max_u
Not applicable

[ FlexSim 19.1.2 ]

Hello,

I want to combine a main part with a sub part (sub part 1 or sub part 2). The usage of one of the subparts depends on the sequence number or the item name (both are distinct and given in the source). Now I want to combine the main part with the right sub part in the right sequence. Test_Combiner.fsm

0 Likes
Accepted solutions (1)
35 Views
5 Replies
Replies (5)
Message 2 of 6

moehlmann_fe
Observer
Observer
Accepted solution

The entry trigger of the combiner offers the 'Update Combiner Component List' option. In it, you specify a table that holds information how many items from input port (2-N) (rows in the table) the combiner should receive depending on the 'Type' label of the container item (columns in table).

So you would have to copy/rename the 'Sequence' to 'Type' and define the table as needed.

test-combiner_1.fsm

Message 3 of 6

max_u
Not applicable
Thanks for your help! This is a possible solution for me. Is there a possibility to solve the problem more smooth (in my full model I have about 20 combiners)? e.g. combine orders with matching item names.
0 Likes
Message 4 of 6

moehlmann_fe
Observer
Observer

That is possible, though I would use an instanced process flow to model the functionality and use a queue as a stand-in for the combiner. This ends up being easier than trying to work around the requirements of the combiner, in my opinion.

The main parts (pallets) are still just send to the combiner queue (cq) as before. The max. content of the cq is set to 1. The other queues don't send their items directly to an object but push them to a global list instead. The output connections are used to reference the cq as the list partition. That way the cq can later only pull from connected queues.

The list is set up with a 'name' field that simply returns the name of the value that is pushed to the list (item).

1652947874757.png

The process flow reacts to a pallet entering the cq. It then pulls the item with the matching name from the global list, moves it into the pallets and waits for a pre-determined process time. Afterwards the output of the cq is opened and the pallet can leave.

The output is closed again in the 'On Exit' trigger of the cq (in addition to closing it 'On Reset', so it's closed when the model starts).

1652947807364.png

You can link as many of these combiner queues to the process flow as you want. They will all run the same logic.

1652947885369.png

custom_combiner_fm.fsm

0 Likes
Message 5 of 6

max_u
Not applicable

Thanks! That looks a lot better. But now it is not possible to assign one or sometimes two different subparts to the main part or did I miss anything?

0 Likes
Message 6 of 6

moehlmann_fe
Observer
Observer

The token has a reference to the main part (pallet) through 'token.pallet'. If the information which parts should be added is available as a label on the pallet you can customize the logic to pull more than one item or based on different criteria than the name.

For example the quantity of pulled could be given directly as a label on the item.

1653028089656.png

If you haven't worked with lists before, I'd suggest you have a look at the tutorial about them.

https://docs.flexsim.com/en/19.1/Tutorials/ProcessFlow/Tutorial1UsingSharedAssets/1-1UseListResource...