It depends a little bit on what you need. The more assumptions you can make, the simpler it is.
This first model assumes that all items need two people, and that there are two specific people for the job (staticteamdemo.fsm):
This is fairly straightforward. The Tasks source generates Task tokens, which create a flowitem, and then push themselves on a list. The Workers source creates a single token. That token bosses the two operators around. Technically, in FlexSim, only one operator can officially load an item, but usually it's fine if the other one is "utilized" while following the loader around. Essentially, both must go to the queue. Then one loads the item, and both travel to the other queue, where the item is is unloaded. Then the loop starts again.
That model may very well be just what you need. But what if not all items need two operators? And what if all operators can carry single items or help with double items? This situation comes up quite often. Here is a flow that shows one way to tackle that problem (dynamicteamdemo.fsm):
This flow looks much more complicated, but it's not doing anything crazy, it just has lots of little steps. The Tasks source is like the previous one. It just puts tasks on the list. However, this time each task is randomly marked for whether it needs two people to carry it or not. However, the token is pushed on the list in the same way.
The Workers section is the more interesting one. First of all, I put the operator in a group. Then I had the Workers source generate one token per person in the group, and assign the person to a label:
This means that as I adjust the members of the group, the flow correctly handle more or less workers. To make it easy to adjust the number of workers, I actually added a Resource. This resource references Operator1, and has a count. You can edit that count by editing the Process Flow Variable called WorkerCount. When the Resource makes more workers, it copies the first worker. And when those workers are copied, the fact that they belong to a group is copied also. So now it's easy to adjust the number of workers! (Nothing acquires that resource; I just used it for it's copying abilities)
So now I have one token per worker. But how do they work together? Here's how it works. Each worker (one at a time, enforced by another Resource) looks at two lists. First, they look to see if anyone needs help. If they do, they go help the person who needs help. Otherwise, they grab a new task. If the new task needs help, they put it on the Help Task List, and then work with whoever helps them. If the new task doesn't need help, they just go do the task. When two tokens are helping eachother, they use the Synchronize activity to make sure that both are in the right place before proceeding. Again, only one operator loads the item, but both travel together.
@jordan.johnson, this is very helpful, I am trying to do something very similar. Is there a way to do option 1 without using process flow ?. Thank you!!
I actually don't know how to do it without Process Flow. I know you would need to create your own task sequence. I suggest you ask a new question, and create a link back to this question. Then others in the community may be able to help you.
8 People are following this question.
FlexSim can help you understand and improve any system or process. Transform your existing data into accurate predictions.
FlexSim is a fully 3D simulation software environment. FlexSim can be used to simulate any process in any industry.
FlexSim®, FlexSim Healthcare™, Problem Solved.®, the FlexSim logo, the FlexSim X-mark, and the FlexSim Healthcare logo with stylized Caduceus mark are trademarks of FlexSim Software Products, Inc. All rights reserved.
Privacy | Do not sell or share my personal information | Cookie preferences | Report noncompliance | Terms of use | Legal | © Autodesk Inc. All rights reserved