question

Nour B3 avatar image
0 Likes"
Nour B3 asked Jeanette F commented

Picking orders in an automated warehouse, ASRS vehicles

Hi,

I am creating an automated warehouse model, my model consists of a rack storage system, ASRS vehicle in each aisle, inbound and outbound conveyors for each aisle, I have completed the receiving stage, now I need to prepare the orders, I don't know how to do it, can you help me? Here I have an example of three orders aggregated in a global table "aggregatedOrders". I would like to make an example of preparing two orders at the same time if possible, from where the output of each preparation goes through an output conveyor (the yellow ones).
thanks in advance.
picking asrs.fsm

FlexSim 22.2.2
conveyorswarehousepickingwarehousingasrs vehicle
picking-asrs.fsm (139.2 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.

Jeanette F avatar image
1 Like"
Jeanette F answered Jeanette F commented

Hello @Nour B3,

To start I fixed the ASRS ports. The ASRS needs to be center port connected to the objects that the ASRS will transport items from.

The Racks also needed to be output port connected to their respective output conveyors.

I changed the logic that I previously provided you to trigger when the items are put on the conveyor instead of when they are created. Without the change it was trying to send the items to the racks and they were not on a conveyor so it just didn't make sense. Depending on what exactly you are trying to accomplish this block of activities can be changed to accommodate.

1664581445845.png

That then bring us to creating the logic to create the orders. From looking at your table you have times that you want the orders created. So I suggest that rather than putting that information in a Global Table that you put it in a Scheduled Source. I went ahead and copied it over to a scheduled source. The token is created at the time specified. I then increments its way through the array of the Types of items to pull and finds an item of that time and dispatches an ASRS to pick it from the rack.

When the item arrives in one of the exit conveyors from the rack a new token is created that then tells the item where to go on the conveyors. In this case I just tell it to go to the first exit conveyor because I don't know exactly what you want.

1664581473222.png

This is where I start to run into the problem. I can't get the item to exit the last conveyor. I will get back to you next week with a solution.

picking-asrs_JF.fsm



1664581445845.png (17.1 KiB)
1664581473222.png (30.6 KiB)
picking-asrs-jf.fsm (143.9 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
1 Like"
Jason Lightfoot answered

Here's a start at preparing the order data as tokens.

In the attached example I removed the aggregated table and put a reset trigger on the order history table to write the arrivals to an OrderArrivals activity:

1664580085808.png

with the arrivals table then looking like this:

1664580112867.png

I then use a query to write the SKU quantities to the orderToken's labels as a table:

1664580175395.png

Then I read from that table in a runsubflow that creates a token for each of the SKUs with the label accessed by

  1. token.orderSKUcount.as(Table)

This gives you 3 tokens you can use to select SKUs to pick with the quantiy of each labelled as Qty.


picking-asrs_jl.fsm


1664580085808.png (8.5 KiB)
1664580112867.png (3.4 KiB)
1664580175395.png (1.5 KiB)
picking-asrs-jl.fsm (139.5 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.