question

WH avatar image
1 Like"
WH asked WH edited

Box with Pallet and putaway

Hi, Thank you for reading my question.
I have two questions to use Flexsim. I want to make Boxes with Pallet for each SKUs and then putaway to Rack.


I would like to combine Box with Pallet from 1 source. First, I made 2 SKUs from 1 source and it would product pallets randomly.
Each Pallets have own SKU information. (ex. SKU_A, SKU_B)
After that, I would like to combine boxes which have information about SKU_A, SKU_B.

Each Pallets have SKU information, However, It doesn't combine boxes which have SKU information.


If I solve this first question, I want to putaway to Rack.

Thank you

P.S. My actual version is 23.0.14

Inbound_SKU.fsm

FlexSim 23.0.15
warehousepalletboxesputaway
inbound-sku.fsm (59.2 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.

1 Answer

Felix Möhlmann avatar image
1 Like"
Felix Möhlmann answered WH edited

You can use the SKU label to get the correct quantity from the table directly in the Quantity field. There is no need for a Decide activity.

In the attached model I slightly changed the structure of the logic. The Sub Flow is run as many times as there should be items on the pallet with each token creating one item. This makes it easier to also resize and recolor the created items.

If you want to assign the pallet to a specific slot, you can use "Storage.system.getSlot()" to get a reference to that slot, then assign the pallet to it and move the pallet into the respective rack.

If you want to assign any available slot, use the "Find Slot" activity and query for slots with space for the pallet.

inbound-sku-fm.fsm


inbound-sku-fm.fsm (59.3 KiB)
· 5
5 |100000

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

WH avatar image WH commented ·

Hello, Thank you for answering my question.

I looked your answer file, I could find "getValueByKey". Actually I see that command first time.

Could you explain meaning of that command? Moreover, I want to know how can I find and use that command. Is there any command book in manual?

Also, I wonder why you used "Delay(=as you wrote Breathe)" source. Is it used for separated process?

Thank you for replying my question. It is my first time to use flexsim, it's really hard to study :(
Anyway, I will look forward to seeing your replying
Thank you very much.

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann WH commented ·

You can find all commands in the command reference section of the documentation.

https://docs.flexsim.com/en/24.0/Reference/CodingInFlexSim/CommandReference/CommandsIndex.html

"getValueByKey" is a method of the "Table" class, you find it on the reference page for that class.

https://docs.flexsim.com/en/24.0/Reference/CodingInFlexSim/FlexScriptAPIReference/Data/Table.html

There is a similar method "getRowByKey" that searches for the given value in the specified column and returns the number of the (first) row where that value is found in the column.

"getValueByKey" then goes one step further and returns not the row number but a value from a different column, you also specify as a parameter in the command.

"Breathe" is the colloquial name (and starting from version 24.0 the official one, since an activity of that name was added) for a delay of 0s. It is used to allow other pending logic/events to finish before the token continues to the next activity. In this case this is important because moving the item into the rack before the source and queue have finished their internal logic would result in an error message.

In the example model, you could circumvent the need for this delay by having the source react to a later trigger like the "Send to Port" of the queue. At that point there are no other pending events and you can move the item into the rack without waiting.

0 Likes 0 ·
WH avatar image WH Felix Möhlmann commented ·

Hello, @Felix Möhlmann

I tried to putaway to Rack and used your fixed version.
I thought I set label which has Location info. (= in rack), Pallet Qty (=which means number of Pallet in a each rack)

After that, I tried to use your version of Process flow but it doesn't work.
I put Location information in Global table which is named "Inventory" and define Pallet quantity.

Can you check my model?

Thank you very much.


inbound-sku-fm_edit_v1.fsm

0 Likes 0 ·
Show more comments