Storage according to OderID- Which condition must be given?

Storage according to OderID- Which condition must be given?

martin_b6
Not applicable
225 Views
8 Replies
Message 1 of 9

Storage according to OderID- Which condition must be given?

martin_b6
Not applicable

[ FlexSim 20.2.3 ]

Hello!

Items with the same OrderID should be stored in a slot in the same rack. For this I have applied: slot.slotItems.length > 0 ? slot.slotItems[1].OrderID == item.OrderID : true as a condition in the slot strategy. Now I have noticed that some items are stored on a different rack. Can someone help me and tell me what is wrong with this code?

Thank you very much!

Attached the model and 2 screenshots. Entwurf_10_3_ohnePickTime_mitPalletTruck.fsm

35629-flexsim-2020-for-education-commercial-use-prohibit.png

35630-flexsim-2020-for-education-commercial-use-prohibit.png

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

jason_lightfootVL7B4
Autodesk
Autodesk
Accepted solution

In your model you find an empty slot across all 4 racks and then assign that to the pallet. Then you move to the rack of the slot and unload the item on the pallet to the rack, NOT the rack. At that point the rack executes it's storage strategy since the item has not been assigned a slot and places it in a slot.

If, instead of assigning the pallet the slot you change it to the item on the pallet, you will fill all the empty slots with items, and not group by the order. This is also not what you want.

So you need to change the process flow to first find a matching slot and if there is none then find an empty slot. THen you can assign the slot to the item and not the pallet and it will work okay. I'd remove the rack slot strategy to save the confusion.

Message 3 of 9

martin_b6
Not applicable

Thank you for your answer, @jason.lightfoot I have now changed my process flow and tried to find a matching slot beforehand and if there is none, an empty slot. I have also neglected the palettes and assigned the items to the slot. Then I removed the rack slot strategy. But now the items are not stored grouped by OrderID. What do I have to do to ensure that the items are stored in groups?

Thank you very much!

35711-processflow.png

Entwurf_10_4.fsm

0 Likes
Message 4 of 9

jason_lightfootVL7B4
Autodesk
Autodesk

You can use the same syntax for finding a matching slot as you had on the racks - but in this case you're searching the whole storage system. So where you now have

WHERE OrderID IS $1.OrderID

which would require you to label the slots with the OrderID whenever you assign and unassign a slot, you can instead use:

WHERE slot.slotItems.length>0 AND slot.slotItems[1].OrderID IS $1.OrderID

In large systems the second option is likely to be slower, and may be noticeable. For you model I think it should be fine.


Message 5 of 9

jason_lightfootVL7B4
Autodesk
Autodesk

Notice now that you probably need to filter which storageObjects you can use so to avoid the floorStorage.

0 Likes
Message 6 of 9

jason_lightfootVL7B4
Autodesk
Autodesk
It looks like you also need to say which racks to consider, since you don't want to find slots in floor storage.
0 Likes
Message 7 of 9

martin_b6
Not applicable

Thank you very much! The operator already sorts the items in the floor storage but if I change the floor storage to a queue then it works great.

0 Likes
Message 8 of 9

jason_lightfootVL7B4
Autodesk
Autodesk

You can leave it as floor storage if you want. Just put the racks in a group called "Racks" and then use this line:

WHERE slot.slotItems.length>0 AND slot.slotItems[1].OrderID IS $1.OrderID AND Group(\"Racks\").isMember(slot.storageObject)
Message 9 of 9

martin_b6
Not applicable

Perfect! Thank you very much, works great!

0 Likes