question

Sigmund avatar image
0 Likes"
Sigmund asked Jeanette F commented

Order picking when items are put back into storage

Hi all,


I have made a model where I’m simulating order picking with an «Vertical Lift Model». It is a set of racks with an ASRS serving the racks. There are multiple trays in one rack, represented as levels in FlexSim storage module. When an item is due to be picked, the whole tray is moved to a staging area, represented by a queue. In FlexSim this is done by loading a single item onto the ASRS and when the item is unloaded at the queue, the rest of the items in that level is moved to the queue. An operator can then pick the correct item, or amount of the given SKU. When the picking is done, the tray is moved back to the same level by loading a single item onto the ASRS and then move the rest of the items to the level.


My model works fine when items in the same order are stored on different trays, but when two or more items are stored on the same tray, the model stops. When there are multiple items for one order stored on the same tray, the first item is picked successfully, but the reference to the rest of the items on the same tray is removed. When this happens, the elements in the order array goes from pointing to a flow item to <no path>. This problem also occurs if I have two orders being picked simultaneously, where items are stored on the same tray in both orders. The first order will successfully pick the item, but in the second order the array element will go to <no path>.


Attached is a model which recreates this problem.

order_picking_from_same_level.fsm


Thanks in advance

FlexSim 22.1.4
storage systemflowitemsfinditemorderpickingqueryitems
· 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.

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered Jason Lightfoot commented

In your second RunSubflow you should probably just be creating one token instead of the orderLength:

1681401583684.png

Another problem might be that you're not marking your items as outbound so each successive call to FindItem can find exactly the same item.


1681401583684.png (29.0 KiB)
· 4
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Sigmund avatar image
0 Likes"
Sigmund answered

I managed to figure it out through some more testing. With these five steps I managed to make the example model and my bigger model to run as I want. When items are removed from the rack, the Order array will still keep track of the items and the elements will never be <no path>.

  1. Removed and turned off the "Set to Outbound" logic and set the "Find Item" to look for Qty > 0.
  2. Turned off virtualizing of items. Although it makes to model a bit slower, it is fine by me.
  3. Saved the items slot before it got removed from the rack and reassigned it to the item before the item is put into the rack.
  4. Remove the item from the array of items in the level and the corresponding slot, to ensure no errors in reassigning the slots.
  5. Restocking the slots for each item put back into to rack.

I think the key aspect was to keep the items, and not virtualize them, so when they are put back into the rack the flowItems are not deleted. Further the reassigning of their previous slot makes sure the Order array keeps track of the correct items.


Thanks for helping me out :)


order_picking_from_same_level.fsm


5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.