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.

Joerg Vogel avatar image Joerg Vogel commented ·

please be open to use ProcessFlow. If you don't know, then you should build the models of the tutorials. A last hint, build small models to cope with one problem. It is easy to drop the objects into a model plane, connect them and then ask how to build the logic. In my opinion the better approach is to divide the model in smaller parts and build the logic for them.

0 Likes 0 ·
Isaac Litster avatar image Isaac Litster commented ·

Hi @Roberto D

Do you still need assistance with your model?

0 Likes 0 ·
Roberto D avatar image Roberto D Isaac Litster commented ·

Hi @Isaac Litster, half of the problem was solved, about the logic of operator to walk following the process sequence, but how to do the next operator starts to pick up a new order list following behind another operator without passing each others I cant yet. I have the pick list order organized in the global table and I just need that 1 operator starts pickup the first order(with 15 to 20 items), the next one must start picking the second order and so on. The only thing is all must enter the stock are in sequence one behind the other, avoiding to pass themselves, because I have a path to walk along a workflow..

Thanks

R.Daltro

0 Likes 0 ·
Isaac Litster avatar image Isaac Litster Roberto D commented ·
@Roberto D

Could you upload what you have so far of your model? Thanks

0 Likes 0 ·

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.

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.

Roberto D avatar image Roberto D commented ·

Thanks Jörg Vogel, then I will be open to PF, but now for me is to complicated and has no clear a logic, will be my 2018 target . Following you suggestion, let divide my problems in small 3 models. First I didn't understand yout response at how the dispatcher can send sequence in batch, because I need to work with only 1 combiner for until 6 operators. I have a order list table named "Pedidos" and every column(order) must be completed for only one operator, the second order to next operator connected at the dispatcher and so on.(My idea to create this picking logic is liking a factory restaurant, where each operator has a Mess Tray, with "16" compartments to take food (Tote and order list) but must waiting line to follow and cannot by pass). If you could attach an example model I'll be appreciated.

The other small model, I want to solve how an AGV can carry mores totes instead only 1 before leaving. I want to check the evaluation increasing the number of totes from 1 to 9 per trip. If you could attach an example model I'll be appreciated.

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Roberto D commented ·

@Roberto D, I am sorry. I can't assists to build such models for you. The combiner is in 3D-logic a very special object that hasn't got the easy ability to adjust the components list, when the content of the container arrives by an operator. The combiner sets its components list when the container item gets into the combiner. You want to prefetch the components before it is clear which recipe the combiner is going to process next. In the 3D model logic the container item must enter through the port number one. The components are entering through the port numbers 2 and above. In your approach the items aren't proposed to enter through a defined port at the time they are loaded. That means you have to tweak the data in the loaded items long before they are processed. That isn't a event chain like combiner gets a recipe, then the combiner is collecting the parts, then the process starts. You can build a similar model, which consists of queues right in front of the combiner. Each queue is going to hold all items of one recipe and the operators are going to fill the queues. The queues are pulling the items out of the racks defined by their recipe. You can control the collecting by opening or closing of the input of the queues. If you want a more direct approach as you described above, I can see only the ProcessFlow approach, because in ProcessFlow you can adjust the standard behavior of a combiner as you like.

0 Likes 0 ·