Flow configuration

Flow configuration

isabel_p
Not applicable
528 Views
13 Replies
Message 1 of 14

Flow configuration

isabel_p
Not applicable

Hello,


I need your help to configure the workflow of an operator preparing picking, the idea is that once the work order is assigned, the operator randomly loads the products, moving in a straight line along one side of the rack and then returns by the other side of the rack, also moving in 1 direction only. In the attached file, the operator moves in a U from one side of the rack to the other removing the products he needs, adding unnecessary movements and erroneously increasing the preparation time. Antofagasta_2OP_3Pasillos_Optimista_TA.fsm


I am using version 20.0.6 and License "Express"

0 Likes
Accepted solutions (1)
529 Views
13 Replies
Replies (13)
Message 2 of 14

eric_m3
Not applicable
Accepted solution

Hi @Isabel P, I added a travel network to your model to get the operators to move in one direction around the rack. I also changed the load activity to a move object activity. This means all the objects will be moved into the operator at one time, but I figured this tradeoff would be worth it to get the travel right.

I also condensed your process flow a bit to free up room for 3 travel activities that I would have needed (condensed down to one in attached model). The logic works by using 1 list with a partition for each rack. Because the decide activity was using round robin, I used the token creation index to determine which rack the operator should go to (important labels created in Assign Labels activity). These labels are used to determine the locations, list partition, and how many tokens should be created in the subflow. Let me know if you have any questions!

antofagasta-2op-3pasillos-optimista-ta em.fsm

0 Likes
Message 3 of 14

isabel_p
Not applicable

Hi @Eric M, thank you very much for your help!

Regarding the direction of the operator's travel, it was just what I was looking for, however it still does not reflect what I need, that is, that the operator advances along the rack taking boxes from each location until completing the total of his work order (OT), so that you can see the time difference between a preparation of 100 boxes versus another of 300.

With the current model, the number of boxes requested does not matter, because the operator advances to the end of the rack, takes the total and returns, taking the same delay even if it takes 50 or 500 boxes. This is the most important thing for me, to simulate the preparation times according to the number of boxes requested in his OT.


Any ideas on how to achieve this? At least the "round robin" setting did generate that difference in time preparation, but the "U" movement was wrong.


I hope I have explained more clearly what my question is.

Thank you for your support!

0 Likes
Message 4 of 14

eric_m3
Not applicable

Here's a model that does that. It pulls random items off the list and stores their rack / bay / slot / level. These items are put in a table (AddressTable1 and 2) and then sorted and shown in GlobalTable1 and 2 which correspond to operator 1 and 2. They are sorted in a way that will make the highest bay number get picked first using the Table.query command (see here). These sorted items are then stored by the operator in the cajas label. Now, the operator goes and loads one item at a time along his path in the desired order. I split the rack in half and gave each rack a label (RackN) which is 1 or 2 depending on which comes first in the travel.

This is just working for Operator 2 on PasilloC. You'll just need to split the other two racks in half and include the labels. Then move the correct Assign Labels activity back into the flow (Assing Labels: real), and fix the resource to reference the group of operators. Please note that the placement of the nodes is important because the operator will go to the closest node to the item when loading it. In the example, you can see that the nodes are placed very close to the center of each bay. Let me know if you have any questions.

antofagasta-2op-3pasillos-optimista-ta-em-1_2.fsm

0 Likes
Message 5 of 14

isabel_p
Not applicable

@Eric M, thank you so much, that was exactly what I needed the operator to do!

I just have a question, how do I modify the number of boxes that the operator must take from each rack? For example, if he wanted him to take 100 from rack C, 200 from D and 300 from E.

Thank you very much for your help!

0 Likes
Message 6 of 14

eric_m3
Not applicable

That happens in the Assign Labels activity under ItemsToPull:

1627053978913.png

I believe the way its set up is 1 = E, 2 = D, and 3 = C (you can double check by looking at which partition on the list each rack is using).

0 Likes
Message 7 of 14

isabel_p
Not applicable

Hi @Eric M Eric, thanks for your help.

I replicated the recommended configuration to rack D and E and now I have 3 problems:


1. Only operator 1 prepares orders, operator 2 simply "escorts" him and wants both operators to take boxes in parallel, from different racks.


2. In rack setups D and E, the operator gives more than 1 turn to complete the order, I don't know if it relates to the least amount of nodes that I drew or there is something in the configuration that I did not replicate correctly.


3. Finally, I cannot increase the number of boxes to supply the racks, if I exceed 13,000 when starting the simulation it throws me an error.


I appreciate you can help me solve this too!

Replica correccion_001.fsm

Thank you!

0 Likes
Message 8 of 14

eric_m3
Not applicable

1. There was a slight error in the "Order Table / Assign Items to Array" code that I updated that should fix this.

2. This is happening for two reasons. First, I made each bay have 10 slots instead of 1 slot which is important in the ordering of when items are picked up. The second reason is because of the node placement. Fixing the first thing may help, but you will need to adjust the nodes so the operators only loop 1 time around the racks.

3. The max content of the skinny racks is 2160. So when the 2161st item enters, there is an error because there's no space for it. You could fix this by changing the number of incoming items from the source, changing the size of the racks, or including some kind of process flow logic that will move those items into racks that have space.

replica-correccion-001-em.fsm

0 Likes
Message 9 of 14

isabel_p
Not applicable

Hi @Eric M, I already made the suggested settings and now I have other problems:


1. The preparation time depends on the number of stops (nodes), not on the number of boxes to prepare, so if the operator must take 50 or 150 boxes, he does it in the same time (this is the case of rack C and E). This point is critical, if I can't solve this, the simulation is useless. (Just for reference, in reality a preparation of approximately 80 boxes takes 20 minutes)preparation-time-flexsim.jpg

2. In rack D, for some reason, the operator makes more than 1 loop to complete the total number of boxes requested, even though it has the same number of nodes as the other racks and prepares fewer boxes than the orders from rack C (150 vs 100 boxes)


Thanks for your help!

Corregido Flexsim_006.fsm

0 Likes
Message 10 of 14

eric_m3
Not applicable

1. You could make it so the operator "delays" at every node (or however many nodes you would like) by adding the nodes to a group and then using an event triggered source in process flow. You would then probably need to use a Create TS with a priority > 0 and preemption set to "preempt only" and then a TS delay and then a Finish TS. That would make it so the Operator's time was the same whenever he went around the rack (some variation could be added to the delay too). Changing the operator's acceleration and deceleration time to 0 would also make it so the operator wouldn't stop while loading boxes until he gets to a node you want him to stop.

2. The operator is loading items from the closest node. You'll notice that the box he's loading when he comes back around is an item from the opposite rack. To fix this, just move the nodes so they are more evenly spaced around the rack. In the image below you can see the bottom is much closer than the top.

1627598068029.png

Just as a note, I would point you to this section of the manual that talks a bit about the Express License. Just keep in mind that because the random number generator is fixed, your results won't be statistically valid. You can always contact your local FlexSim distributor if you would like information on obtaining a more functional license.

Let me know if you have any more questions!

0 Likes
Message 11 of 14

isabel_p
Not applicable

Hi @Eric M ,

I already adjusted the position of the nodes and now it works fine giving only 1 loop around the rack, however what you mentioned in #1, I did not understand it very well.

What I need is the operator to walk the length of the racks, pick up requested boxes, and the time it takes to be a function of the boxes he should take.

I'm not sure if assigning a delay per node is the best solution, because in that case the time will be a function of the route and it should not take the same time for the operator to collect 50 boxes versus 150.

Please if you have any additional suggestions on this point and help me understand that configuration, I would greatly appreciate it.

There are also some errors that appear to me that do not interrupt the simulation, but I would like to know how to eliminate.


Thanks!

Corregido Flexsim_006.fsm

0 Likes
Message 12 of 14

claudia_s4
Not applicable

Add more nodes Isa. Nodes are the key, because operators pick the boxes from the closest node. If you have one node per bay, the operatos is going to pick all the boxes from the bay when he arrives to the closes node, either 1 or 20. corregido-flexsim-006.fsm

However, I don't know how to fix the initial errors when you open the file.

@Eric M do you know how to fix it?

0 Likes
Message 13 of 14

eric_m3
Not applicable

The errors are happening again because of the max content of the racks as explained in a previous comment. The Quantity produced by the source is more than the racks can handle (each rack has 960 items, so when the 961 item enters, there is an error).


As Claudia said, nodes are the key for changing where the operator loads from. I am a bit confused about what you are trying to accomplish with the timing. In the first comment you mentioned the stops (or route) determining the time and not the number of boxes, but in the next comment you said the number of boxes dictate the time and not the route. So what is it that should control the timing? Maybe I'm misunderstanding something, but if Claudia's response didn't clear things up, a clearer explanation would be nice.

0 Likes
Message 14 of 14

Jeanette_Fullmer
Community Manager
Community Manager

Hi @isabel.p, was Eric M's answer helpful? If so, please click the red "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes