question

Elle avatar image
0 Likes"
Elle asked Elle commented

Load pallets to multiple trailer truck from multiple floor storage (in order)

Hello everyone!

I'm currently a student and working on our capstone project. I recently learned about FlexSim and been scanning through flexsim answers which helped me a lot in building up my desired system. However, the last portion of the simulation caused me some trouble.

So, I've been trying to figure out how to transfer labeled pallets placed on multiple-floor storage to their corresponding queue but in a sequence.

Current situation:

1. The pallets that are on the floor storage are grouped by label. For example, all Pallet1 are placed floorstorage1, Pallet2 in floorstorage2 and so on.

2. Using a forklift, I'd like to transfer FIRST all pallets placed on floorstorage1 to Queue1 and reach a batch of 60 before proceeding to floorstorage2 to Queue2 etc.

I've tried using the "decide" and "batch" features on the process flow and won't work the way I'd like it to. I also tried connecting ports to all the floorstorages to a forklift and another port from each floorstorage to their corresponding queue, but still won't work. I've based these options by combining my knowledge from the following links:

https://answers.flexsim.com/questions/46228/how-to-perform-a-prioritization-for-arrivals-in-qu.html -(This is very close to my desired system however the port on this demo is only connected from 1 Queue separated to 2 Queues. So, I've tried placing a port from all floorstorages to the forklift and another port from floorstorage1 to Queue1, floorstorage2 to Queue2 etc. and won't work)


https://answers.flexsim.com/questions/44413/how-to-pull-items-as-per-sequence-in-global-table.html

(This is another source I've tried checking where one of the queues accepts all type1 boxes first, then proceed with the next)


If someone can possibly provide me with a brief demo in a more simplified approach, I would really appreciate it! If not, any tips or advice that can assist me with my situation will also do!


Thank you in advance.








FlexSim 22.2.2
fill queue in order
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

Jacob W2 avatar image
0 Likes"
Jacob W2 answered Elle commented

Hi @Elle,

You are definitely on the right track by using process flow with some decide activities. The attached photo is how I would go about setting up my process flow to do this.

I have the floor storages push all of the incoming items onto a single list, and give the items a destination label that points to the queue they will be sent to. In my process flow I have a single token that represents my operator who then pulls items from the list based on a label "PullValue" that changes once the correct amount has been batched. Everytime the operator finishes moving one item, a label is incremented to show how many items the operator has moved from that floor storage (batched). Once it is greater than or equal to the batch size, I increment the label that says which type of item to pull, and then reset my batch counter label. If I have finished going through all 3 floor storages I then loop back to the beginning, set my "PullValue" label to 1 and begin again.

process-flow.jpg

Hopefully this helps get you going in the right direction. If you need more clarification feel free the let me know.


process-flow.jpg (57.4 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.

Elle avatar image Elle commented ·

Hello Jacob, thanks for your prompt response! Sorry for the delay, I was trying to figure out how to do it first as the "List" feature is new to me.


I kind of understand the logic from the "items that have been pulled from the list" until the "Completed 3"- decide box.


So far, I'm still stuck with the logic between the "Assign Labels: Set Value" and the "Pull from List by PullValue" like how do we pull from the list using the "PullValue"?

The following below is what I did so far:

1. Created an "Inter-Arrival Source" for now to start the process flow.

2. Created the "Assign Labels: Set PullValue". Please correct me if I'm wrong but from what I understand this label is meant for assigning the destination of the pallets, right? See below the screenshot of what I did.

1679258169062.png


3. Created a global list where the label field is "Pallet". I did not change or add anything to the "Back Orders" and "General" tabs.


1679258292597.png


4. For every floorstorage, I assigned their "triggers" to "Push to FlowItem" on Entry. Which I think means that every time a pallet is placed on these floorstorages, the "Pallet" items gets added to the list?


1679258441318.png

5. I've connected the List to the "Pull from List". However, I wonder if there's something I needed to put on the "Query/Object/Array" field because when I tried searching some of them entered their desired type on that field (e.g. "WHERE Type==3" ). In my case, I'm not sure what I will be assigning on that field. I'm guessing it should be the pallet that I wanted to take, but uncertain how. I wonder if it has something to do with the PullValue?1679258618564.png


Currently, I'm testing the process flow for only 3 floorstorages. What is shown below is what the "List" and the "Pull from List" are picking up. I think it is 70% working just because the items on the floorstorage matches the number of token appeared on the process flow.

1679259409946.png


This is another observation that I saw during the test where "PullValue" is null.

1679259494931.png


Looking forward to hear your feedback.


PS: I think the other errors I'm getting is also because I have not properly set yet the destination of the "Travel".


Thank you again for the time!


0 Likes 0 ·
1679258169062.png (73.7 KiB)
1679258292597.png (168.4 KiB)
1679258441318.png (231.0 KiB)
1679258618564.png (49.2 KiB)
1679259409946.png (240.3 KiB)
1679259494931.png (58.6 KiB)
Jacob W2 avatar image Jacob W2 ♦ Elle commented ·

Hi @Elle,


Starting with the first of your questions,

1. I would eventually move to using a scheduled source for this, because how I set up this process flow, is for the token to represent the forklift or operator and I only want that token to be in the process flow.

2. On the "Assign Labels: Set PullValue" I would just have it set the value to 1, this is because I only want my operator to pull items from the list that are in the first floor storage, and once they've gone through all of the floor storages I want to be able to have them loop through all of the storages again if necessary. I would also make sure to separate the source from this assign labels.

set-pullvalue.jpg

3. With your global list, as long as pallet is a reference to which floor storage/queue the item is going to be stored in and move to, it looks good.

4. Creating a trigger is one of two ways to add the items to the list. I used the push to list option in the send to port properties of the floor storage. This just ensures that the items wont flow out of the floor storage if there are connections between the floor storage and other fixed resources.

push-to-list.jpg

5. On the pull from list using the "Query/Object/Array" field is how you will be able to sort through the items on the list and only pull the desired items. In your model it would look like this "WHERE Pallet == puller.PullValue" This means that the puller, or token, will look for anything in the list that has a pallet vallue that is equal to the current PullValue value.

6. It does look like the exceptions you are getting are from not properly setting up the destination and trailer values in your model.

Finally, here is my model. If you look at the floor storages you should be able to see how I set up my destination labels on the Floor storages, and the trigger I used to set that label on the items as well.

Load batches_JW.fsm



0 Likes 0 ·
set-pullvalue.jpg (22.8 KiB)
push-to-list.jpg (9.0 KiB)
load-batches-jw.fsm (57.1 KiB)
Elle avatar image Elle Jacob W2 ♦ commented ·
Hello Jacob,


It worked now!! Thank you very much, means a lot to me, cheers!

0 Likes 0 ·