question

Claire Krupp avatar image
1 Like"
Claire Krupp asked Tao A commented

ASRS Model: Prevent Slot refill?

I am testing out the concepts for an ASRS model. I copied a lot from your great Warehouse Demo model (Thank you!), and got tips for using slot.aisleID and slot.bayID from @Jörg Vogel 's question last year! Now it is almost perfect, but I have one nagging problem.

I have pallets coming in from the left (West) and they are placed by searching for the correct rack label, and sorting by aisle and by bay so that they are placed on the rightmost rack first (aisle 1), and then the same bay and level on the second rack (aisle 2) etc, to form a row of pallets.

On the outbound side I am searching for the correct "palletType" label, and then allowing the default FIFO picking order, which works perfectly, pulling from the "Font" aisle 1 first, then aisle 2 etc.

My problem is when I have picked one of the "front" pallets, that slot cannot be refilled (in the real world) until the pallets "behind" have been removed, since that would mean physically moving a pallet through another one! The pallets also cannot move up to the front slot without using the "ASRSvehicle". (I may add some periodic "rebalancing" code later on, but for now they just have to sit and wait until they are picked.)

The model is placing new pallets into the recently open slots at the front. How do I "flag" the slot as "not available", even though it is empty? I thought I could use the "slot.isAssigned" label, but I can't see a way to do that without putting an item into it. I could add a List, and search that way, but I really don't want to, since that would be duplicating the search algorithm which you have so nicely given us!

Does anyone have an idea?

Thanks

Here's the model: Test ASRS Concept Model.fsm


FlexSim 21.0.2
flexsim 21.0.2asrswarehousing
· 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.

Tao A avatar image Tao A commented ·

"in the real world" as I know your system is combine "stacker crane and shuttle" or "stacker crane and Pallet flow". I have some ideas for your trying:

1. Use AVG on rack to simulation "shuttle"

2. From Flexsim 20. have gravity flow rack. It can help simulation FIFO

3. I'm using Flexsin 19. don't have gravity flow rack. I try to combine some single rack and place conveyor inside rack as the picture. It can work FIFO also screenshot-2021-07-14-111747.jpg

1 Like 1 ·

1 Answer

Joerg Vogel avatar image
1 Like"
Joerg Vogel answered Claire Krupp commented

You can put at each slot a label. This label value is a part of your query to find an empty slot. Later if a slot column becomes available, you search for the slots of the column and change the labels back to a value being available again. It is identical with the tool “slot painting”. A slot can store many labels.

· 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 ·

@Claire Krupp Here's an example in your model where I set a label "inaccessible" to 1 when marking it outbound, unless the aisle matches the maxAisle value for that bay and level in which case I mark all the slots in that bay and level as accessible again (inaccessible=0).

The array 'maxAisle' is a label on the plane/container called rackSet which now also contains the racks and ASRS and I've made the process flow instanced on the rackSet object. This means the array can be referenced just as current.maxAisle.

test-asrs-concept-model_jl.fsm

(An unrelated error appears later, where it looks like the outbound doesn't find a matching pallet type - a separate issue).


2 Likes 2 ·
Joerg Vogel avatar image Joerg Vogel commented ·

The resetting mechanism can use your address scheme to identify the slots of the column.
I don’t know if I am using the right word to express the column. Perhaps you can translate it also as stack or pillar.

1 Like 1 ·
Claire Krupp avatar image Claire Krupp commented ·

Thank you both! I was starting to think I could use a label, but your example will clarify it for me and add the extra level to help with the reset back to accessible.


1 Like 1 ·