question

Roberto D avatar image
0 Likes"
Roberto D asked Isaac Litster commented

Picking process with batch

Hi all, please I need some help with my picking process and delivering with AGV.

I am facing some problems but I wouldn't like responses using Process flows due to I don't know. My first problem is to define a task sequence to 1 operator from rack 1 until rack 7 without go and back. I am using a combiner component list but i don't know what is wrong.

The second problem is about a batch process and traffic control, how to add a new operator to take another component list, because the second one (when is using dispatch) take part of the same component list of first operator, I need to know how to create a batch for every one, and also create a waiting line ( I need to simulate until 6 operators) before enter in the line, must wait at least 1 rack distance each one and at finishes back to end line.(cycle).

The Third one is how to do the AGV waits (acumulate or batch) more totes before leaves. I need simulate from 3 until 9 totes per trip.

The last one when i use network path the operator be blocked at rack 2, i don't know why.

Find attached my model concept to receive any help.

picking-sequence.fsm

R.Daltro

FlexSim 18.1.2
agvwaiting linepicking goodsbatch order pickingcomponent list
· 4
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

Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Joerg Vogel commented

Blocked State: please connect the Rack2 to another network node. I don't know why your current setup don't work. It should, but it doesn't.

Trip capacity 3 to 9: The operator gets only one tasksequence after another. He breaks to the next tasksequence after loading an item, if there is capacity left to load more items. Then he looks for new tasksequences in the dispatcher. Please adjust the Break To function of the operator in his template editor to the reference of the dispatcher. Then you choose a random capacity in the OnUnload trigger of the operator.

  1. setvarnum(current,"maxcontent",duniform(3,9))

The second problem needs a complete different approach, if I assume you are going to put more combiners into your model and the operators are free to work at different combiner's component lists. For such a scenario is ProcessFlow. Otherwise you need a structure where the incoming tasksequences in the dispatcher are sorted to the operators matching the combiner the operator is working for. You need in the dispatcher a control structure that keeps in memory which operator is working for a combiner and if there is still components missing. That means the dispatcher compares the amount of tasksequences the combiner needs to get items. The unloadstation of the tasksequence must be the combiner. The information is in the second involved patameter of the fifth task in a standard tasksequence or you find the reference of the unloadstation in the first involved parameter of the fourth task. If the components list is fulfilled you must assign the operator another or the same combiner for his new job list. The fact is you control the incoming tasksequences.

List approach: The dispatcher push the incoming tasksequences to a partitioned list where each combiner has its own partition. If the partition expect only numbers you can use the input port number of the combiner. Then you pull from this list the tasksequences of a partition that a operator is assigned to. This data is stored at a label in the dispatcher. If the list is empty, because a combiner is processing, the operator is assigned to another partition.

· 2
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.