question

Larissa R2 avatar image
1 Like"
Larissa R2 asked Joerg Vogel edited

Set Slots according to the SKU

cenario1-manual_VS5.fsmI am working in a conceptual model of a warehouse. At simulation starts, I upload an initial inventory. During the simulation, In the box 'Storage case Picking' i have placers grabbing items that arrive in a queue and placing them in the racks. However, I would like to implement the following change in my code:

  • Create Items in the queue1 and set location by the global table 'Alocacoes' (NEED TO BE DONE)
  • Placer should grab a cart (done)
  • Insert a pallet on the cart (done)
  • Acquire 4 or 5 items on the queue (done)
  • Go to the racks and place the items(I am not sure if the items are being placed in the right slot)

I have 23 SKUs and 960 possible slots. I created a global table called 'Alocacoes' to inform a list of possible slots/addresses to each SKU. So, each SKU has among 42 to 44 slots/addresses to be placed.

When I create a box/item, I would like to check in the table 'Alocacoes' the slot available for that SKU created. Each slot can place 4 boxes. If a slot has 4 box, it needs to be considered full and select the next available address/slot in the list by the SKU.

I am not sure if I was clear enough. I hope you guys can understand me and help me to implement these changes in my simulation.

FlexSim 19.2.3
findslotslotspainted slotsflexsim 19.2.3
· 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.

1 Answer

Joerg Vogel avatar image
2 Likes"
Joerg Vogel answered Joerg Vogel commented

@Larissa R2, here is an example model. I painted the slots of the first bay of each rack with a label. The label value is a string. My strings are "red","white","blue" and "yellow". I find a slot for a token with the clause:

  1. "WHERE slot.slotItems.length < 2 AND SKU = $1",0,token.mySKU

token.mySKU stores a random chosen value of my color string names.

I create a box in model.

The color is assigned by executing a string:

  1. executestring("Color."+token.mySKU)

Then I transfer the slot data from the token to the item converted as storage system data.

  1. Storage.Item myStorageItem = Storage.Item(token.item);
  2. myStorageItem.assignedSlot = token.mySlot.as(Storage.Slot);

I have just limited space in my rack, not by hasSpace method but through my clause. If there isn't a slot assigned to token label, I divert the created boxes into a queue.

Then I need the rack object as a destination for my move object activity.

  1. token.mySlot.as(Storage.Slot).storageObject

Slot heights are too low to fit all assigned boxes in them, but that is what I wanted to show, that you can limit the slot content and assign by a label value completely independent from any address.

findSlot_slotlabel.fsm


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