question

yuliong avatar image
0 Likes"
yuliong asked Felix Möhlmann answered

Multi-Shuttle GTP Picking Logic using runsubflow

hello everyone!

I am trying to build a conveyor model which has 4 Goods-To-Person (GTP) Station as seen in the model attached. The idea behind is that Queue1 will be the source for Totes containing 6 Boxes, and it will flow out to the 4 different Tote_Lifter and then subsequently conveyor lanes. I have planted Decision Point 1 (DP1) as the point where the Operator should be unloading the items 1 by 1 - The number of boxes to be unloaded is decided based on the percentages at the "Run Sub Flow" process (Minimum of 1 and Maximum of 6). The Totes will then go back into the lifter via the lane on the right. 1730877998977.png

There are some issues with the model and some questions that I would like to get help for as well:

1) I keep getting the error stating that the label "GTP" does not exist, but I believe it was already created at the onset. Do let me know if my understanding is incorrect.

1730878368888.png

2) Not sure why but the Totes seem to be only coming out of Tote_Lifter1 and Tote_Lifter3, but not Tote_Lifter5 and Tote_Lifter7 which is the intended outcome.

3) The intention is to have all 4 GTP stations working with a DP and the Operator doing the unloading of boxes to a separate Queue (TrolleyGTP1/2/3/4) as shown in the model. As of now, I only have a rough idea of how to do it for the first station. How can I scale the model such that it would apply to all 4 stations?

GTP_Picking.fsm

Would greatly appreciate any help that anyone is able to provide, thank you! (:

FlexSim 24.1.0
label does not existitems in totegtpoperator unloadingunload partial items
1730877998977.png (21.7 KiB)
1730878368888.png (27.4 KiB)
gtp-picking.fsm (73.3 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
0 Likes"
Felix Möhlmann answered

1) The label "GTP" exists on the token that creates the tote and boxes and contains an array that holds references to all created boxes. The token that gets created by the Event-Triggered Source does not have this label. "Tote" is known since its assigned though the parameters in the source. You can access the boxes as subnodes of the tote.

"token.Tote.subnodes[N]" (the Nth item inside the tote)
"token.Tote.first" (the first item in the tote)
"token.Tote.last" (the last item in the tote)

2) Queue1 sends the totes to the "First Available" object. Creation interval and processing interval line up thusly, that only the first two processor receive items. You could change the "Send To Port" field to "Round Robin if Available" to send items to all processors in order.

3) The main features to allow for easy scaling are groups or Object Process Flows. You can add all decision points to a group and have the Event-Triggered Source listen for the arrival event on all of them simultaneously. By assiging the event object to a label, you can know which DP triggered the event.

Or you place this logic in an Object Process Flow and link it to each of the DPs. You can then access the DP anywhere in the flow through the keyword "current".

In either case, you'd need to provide a reference to the operator and queue that should be used in some way relative to the DP. A centerport connection is probably the simplest method.

gtp-picking_1.fsm


gtp-picking-1.fsm (72.1 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.