question

EK avatar image
0 Likes"
EK asked EK commented

Pick from storage to queue and return back to storage

Find slot by matching label.fsm

Hi @Felix Möhlmann , I am working on a model where I pick from storage, bring the tote to a pickface staging (represented by floor storage), set a delay to allow picking and then move the tote back to the exact same storage location or to a sink (if assumed empty).

These are my questions and problems
1. My TE is picking up multiple totes in load and unload process flow despite having 1 load capacity

2. Find slot by matching labels does not seem to work. I have a Staging label on
I have referred to https://docs.flexsim.com/en/22.0/Reference/ProcessFlowObjects/Warehousing/FindSlot/FindSlot.html

3. Am I on the right track in overwriting the StorageLoc to sink at Process flow > Decide: Empty?

4. Am I on the right track in creating this model?


Overview of my model:

1. In TE process flow, I pull TeRequests

2. I add an incremental label to differentiate between storage to pickface movements and pickface to storage/ sink movements as the unload destination is different

3. If the token is for outbound to pickface staging, I record the storage location, I add a label on the token to match with paint slot labels to find an empty pickface storage slot. I assign the destination and I proceed to load and unload.

4. When an item enters the pickface staging, I add a delay to allow for picking and add a statistical label to decide whether the tote goes back into storage or to the sink. If the tote is going to the sink, I overwrite my storage location label now with sink. The tote is pushed back to TeRequests

5. When the returning tote is pulled from TeRequest, the incremental label increases and bringing it to a different load and unload process where the unload destination is set to refer to StorageLoc label

6. I realize that typically people will use a group of queues to represent the pickface staging instead of floor storage but I get confused when I acquire the queue resource in the TE process flow but can only release the queue resource in basic process flow. The reason why I am working with TE process flow is because in my main model I am adapting the Kiva model which has a lot of logic in the TE process flow.

FlexSim 23.2.1
pick and return
· 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.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

Any object can be an instance of a number of object process flows - it doesn't have to be a 1:1 map.


0 Likes 0 ·

1 Answer

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered EK commented

1. You are creating three tokens in the Task Executer Process Flow. Hence it will receive up to three simultaneous load/unload requests.

2. There is not slot label called "Staging" in your model. The only slot label I see assigned to the staging area is "Type".

3. Yes. But you have to have the same type of reference on the label in both cases. If it's the slot in one case, you first need to translate it back to the storage object in the unload activity, which would throw an error if the label points at the sink. So I would assign the storage itself to the label, rather than the slot, so it refers to the unload object in both cases.

4. Generally, yes. I quite like your approach. Some things that need to be addressed:
- Going back to the first point. You need to decide whether to model the process in the Task Executer flow from the perspective of the TE (one token that pulls item-tokens and then transports them) or from the perspective of the items (one token per item which pull the TE).
In the first case, any information regarding the status, previous slot etc. should be saved on labels on the item, so the token can do other stuff (overwrite the labels) while the item is in the staging area.
In the second case, you need to add a way to only have one token at a time utilize the TE. Adding as a resource to the Process Flow which the tokens have to acquire is the most straightforward way to do this.

- Pay attention to what you are pulling and pushing from/to lists. In the staging area flow, you are pushing the tokens onto the list, which don't even contain a reference to the item!

- The list activity in the staging area flow is not connected to the global list.

- One potential problem you will have to solve is to keep the slot of the item in the storage free, while the item is moved to the staging area, so no other incoming item is placed there in the meantime. I think you will probably have to use slot labels here, setting a slot as "occupied" until the item is moved to the sink and forbidding newly arriving items from reserving those slots.

find-slot-by-matching-label-fm.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.

EK avatar image EK commented ·

@Felix Möhlmann thank you for your detailed explanation and the model. It is working as intended plus most importantly I can follow through each step of the model, understand the logic to apply it in other areas!

0 Likes 0 ·