question

Oliver avatar image
0 Likes"
Oliver asked Jason Lightfoot action

Floor Storage: Load one item type per slot and if full move to next open slot

I am trying to model the storage system for our warehouse and it is pretty dynamic. So we sometimes bleed product into other areas that have less at that time. Right now I am stuck with sending the flow items to the floor storage. I want the items to first see if there is a matching flow item with space in a slot and if not then move to the next open slot. I tried using the paint slot labels, but that is limiting because then some products get backlogged in the queue when there might be open area in the floor storage that does not match their label. I have attached a file that I am working this out on with spheres, cylinders, and boxes and currently using the paint slot option. Ideally all three would be separate and flow into another slot if there is no more room in the current one. Let me know if anyone thinks this is possible. I appreciate any help, thanks.

Test.fsm

FlexSim 21.1.0
FlexSim 21.0.3
flexsim 21.0.3floor storage
test.fsm (38.9 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

Jason Lightfoot avatar image
3 Likes"
Jason Lightfoot answered Oliver commented

Attached is a solition for your model (fixed to have 3 types box:1, cylinder:2, sphere:3) and set up to assign the slot on send from the queue (using an instanced process flow), which then bypasses the floor storage slot assignment strategy.

There a two main queries - the first to find a slot with a matching item Type with space and secondly to find the nearest empty slot. These are entered in the process flow activity "Find Slot" passing in parameters to select by the foor strage and item Type.

When there is no space the "nearest slot" question needed clarification, so I chose to use the last slot allocated for that type. I added this as a Map type on the label lastTypeSlots since this allows for your Types to be strings or whatever value you want. The value of the Map entry is the slot. This value for the current item's Type is read before we do the search.

Another question then arises - 'what is the nearest for the first seach when no slot has been allocated any item?'. For this I just chose a random free slot.

So all this is done in 3 activies:

Resulting in this:

Model attached

testOliverL2_jlMap.fsm


1616251205586.png (366.7 KiB)
1616251230116.png (10.5 KiB)
· 3
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 Jason Lightfoot ♦♦ commented ·

Hmm I just noticed this pesky box in the left corner:

0 Likes 0 ·
1616256841821.png (65.7 KiB)
Jason Lightfoot avatar image Jason Lightfoot ♦♦ Jason Lightfoot ♦♦ commented ·

Here's another version that without constraining capacity uses the last slot allocated for that type

testOliverL2_jlMap2.fsm

0 Likes 0 ·
Oliver avatar image Oliver Jason Lightfoot ♦♦ commented ·

This is great, thank you for the help!

0 Likes 0 ·