question

sara S2 avatar image
0 Likes"
sara S2 asked sara S2 commented

How to transfer items on conveyors according to destinations?

Hi,

I want to model a replenishment system where there are two racks, each one contains different items. Items are packed in totes on the combiners (each item type is processed on a combiner) and sent either to rack1 or rack48 according to the value of the label Rack (1 or 2) using the decision point on conveyor6. Also, there are two operators who pick items from the racks according to the respective process flows (process flow1 & process flow2). Some corresponding information of the whole modeled process is recorded in the global tables: “QuantityFor Each Type” and “DataBase”.

I encounter the following problems:

1- I don't know how to represent bays' numbers for each rack, so I just put numbers from 1 to 8 (1-4 for rack1 and 5-8 for rack48) (Fig1).

2- When I run the model, all totes are sent to rack48 despite the condition in the decision point (Fig2).

Would you please help me to fix this.

Regards.

fig1.png

fig2.png

model.fsm

FlexSim 19.0.0
items transfer on conveyors according to destinations
fig1.png (232.2 KiB)
fig2.png (388.6 KiB)
model.fsm (118.7 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

Logan Gold avatar image
0 Likes"
Logan Gold answered sara S2 commented

1 - The bay and level on Racks are constrained by the Size Table of a Rack. Both the Racks in this model have 4 bays and 2 levels. So the bay needs to be between 1 - 4 and the level needs to be between 1 - 2 for both Racks. However, the bay label on the Totes aren't being used because the Racks are looking at labels item.Bay and item.Level (capitalization is important), and those labels are getting set somewhere else in your model. However they are being set, it's up to you to determine which bay and which level an item goes to unless you choose to use the Random Bay and Random Level or First Available Bay and First Available Level on the Racks.

2 - Sending an item on a Conveyor System does not support directly referencing the downstream/destination Conveyors like what is being done in DP1's "Send Item By Case" code. Instead, you need to add a Decision Point to both downstream Conveyors and reference those Decision Points. You can also send them to Exit Transfer objects that are connected to the appropriate downstream Conveyors.

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

sara S2 avatar image sara S2 commented ·

Hi @Logan Gold, thank you for the reply

1-Concerning the labels Bay and Level, they are used to determine the position of each tote on the rack and they are well set and defined (this works quite well for one rack before I added the second one in the front). The problem is how to attribute the convenient totes to the corresponding rack (defined in column 6 of arrival schedule table in source 2) respecting the determined position of each tote (in column 4 ‘bay’ of this table).

When I changed bays numbers (Fig1) as you recommended, there is a repetition of the same numbers (rack 1 bays are not differentiated from rack2 bays). This makes a problem in the transport of totes to the combiners (given that each combiner process one item type (of boxes)) because in ‘Queue2’ send to port attribute, the number of cases is not correct (they must be 8 cases that correspond to 8 ports) (Fig2).

2-I set two decision points each one on a downstream conveyor as you mentioned and I set cases according to the label Rack values, but this still doesn’t work ! I get the error in Fig3

Would you please help me to fix this.

fig1.png

fig2.png

fig3.png

try.fsm

0 Likes 0 ·
try.fsm (118.8 KiB)
fig1.png (22.9 KiB)
fig2.png (19.2 KiB)
fig3.png (424.7 KiB)
Logan Gold avatar image Logan Gold ♦♦ sara S2 commented ·

1. Sounds like you need two different labels, which I guess you are doing already. The bay label (lowercase) can be a number between 1 and 8, which is perfectly acceptable for what you need to get the totes to the appropriate Combiner. It looks like that label is only used to determine which Combiner to go to as far as I can tell, so you may need to adjust your logic if that is not the case. Then, use the Bay and Level labels (uppercase) to determine how they are placed in the Racks like they are now.

You can also use the rack label to determine which tote goes to which Rack, which leads me to...

2. You will want a main Decision Point like DP1 was in your old model. So create a new Decision Point and place it on a Conveyor that all totes will reach before they are conveyed to a Rack. Call it something like MainDP. MainDP will have the "Send Item By Case" logic and the other two Decision Points will not have any Send Item logic. MainDP will reference the two downstream Decision Points, which are DP1 and DP2 in your new model, not the Conveyors those Decision Points are on and not the Racks.

If item.rack (make sure capitalization is the same in both the Source's Arrival Schedule and the Send Item By Case logic) is a 1, then send the tote to DP1 - Model.find("DP1"). If item.rack is a 2, send the tote to DP2 - Model.find("DP2"). You do not send the totes to a Conveyor or a Rack object. You should be sending items to either a Decision Point, an Entry Transfer, or an Exit Transfer that can be reached on that Conveyor system.

1 Like 1 ·
sara S2 avatar image sara S2 Logan Gold ♦♦ commented ·

Hi @Logan Gold, thank you so much for your help, it's working perfectly.

0 Likes 0 ·