Multiple Dispatchers for Set of Resources

Multiple Dispatchers for Set of Resources

tony_nikolov
Not applicable
166 Views
18 Replies
Message 1 of 19

Multiple Dispatchers for Set of Resources

tony_nikolov
Not applicable

I am making a simulation where there are three sets of processors that can are connected to sets of dispatchers controlling multiple operators. To put it clearly, there are 5 sets of processors: Set 1 with 3 machines, Set 2 with 10 machines, Set 3 with 1 machine, Set 4 with 1 machine, and Set 5 with 1 machine. In addition, There are 3 dispatchers: Dispatcher 1 controls 4 Operators who can work on Set 1 and Set 2, Dispatcher 2 controls 1 Operator who can work on Set 2, Set 3, and Set 4, and Dispatcher 3 controls 1 Operator who can work on Set 2, Set 3, Set 4, and Set 5. In addition, there are a centralized queue for every processor Set where the operator must carry the flowitem to the desired processor station.

The problem I am having is getting these operators to work together in unison such that Dispatcher 1, 2, and 3 can seamlessly operate Set 2 while Dispatcher 2 and 3 can operate Set 3 and 4 together. I tried using the Multiple teams logic on the processor but none of the operators would do anything when I implemented that. Is this something I would need manual flow sequence for? If so, I'm unsure of how to create that, so any help would be appreciated. Thanks.

Accepted solutions (1)
167 Views
18 Replies
Replies (18)
Message 2 of 19

adrian_haws
Not applicable

@Tony Nikolov would you be able to attach a model that shows your setup?

0 Likes
Message 3 of 19

sam_stubbsYXX86
Community Manager
Community Manager

I don't know if this answers your question but it might be easier to think of the Operators/Dispatchers in terms of who can do what. You can have an Operator be assigned to multiple Dispatchers, and you can even have a Dispatcher assigned to another Dispatcher, etc.

So maybe do something like this: Create your three groups of Operators. (You can assign them to groups and change the colors of them etc for monitoring purposes.) But then set up your dispatchers in 5 groups: WhoCanWorkOnSet1 (and assign all of group 1's operators), WhoCanWorkOnSet2 (assign group 1 and group 2 operators), WhoCanWorkOnSet3 (assign group 2 and group 3 operators), etc etc. Then the processors are only caring about which operator is allowed to work on them.

Does that make sense?

0 Likes
Message 4 of 19

JordanLJohnson
Autodesk
Autodesk
Accepted solution

My solution is based on the Task Sequences tutorial for Process Flow. If you haven't done that tutorial yet, I would recommend it to get a good idea of the method I used. This method hijacks the Use Transport option on the processor, and wires in your own process flow.

Here is the 3D model I made based on your description:

970-multiprocessorset.png

I colored each set of processors a different color, and each team of operators a different color. I named the dispatchers Team 1, Team 2, and Team 3.

Here is the Sub Flow I made to solve the problem:

971-multiprocessorsetflow.png

For each 3D processor, I set the process time to zero; the Sub Flow handles the process time. Then, like the tutorial, I configured the Use Transport option to use a Sub Flow (which used the Per Instance option):

972-multiprocessorsetprocessorconfig.png

Notice that the Dispatch object is current, unlike the tutorial, which uses centerobject(current, 1). This means the keyword current will refer to the calling processor. Also notice that I store the item that needs transport, the set that the processor is in, and the destination of the item as labels on the token.

Then, I created a global list for all the operators. I added a field to the list that stores which dispatcher the operators belong to, using connections:

973-multiprocessorsetlistconfig.png

This helps with using list queries later on. Then, I added each operator to the list as initial content (which you can do from the general tab).

Now we move to the Sub Flow, which I named Operator Flow. The first Decide activity uses the "set" label to determine which route to go down. Each "Get Dispatchers" activity creates a label called "dispatchers", which is an array of all the dispatchers that could be used by that set. For example, set 3 can use operators from Dispatchers 2 and 3:

974-multiprocessorsetassignconfig.png

Once the set of possible dispatchers is assigned, we can pull from the list with a query:

975-multiprocessorsetpullconfig.png

This pull from list can be read as follows: Get a single operator whose dispatcher is in the label array of dispatchers. Put that operator on my operator label. The token waits until it can get the right kind of operator.

The remainder of the flow is simple: wait for some amount of time, move the object off the processor, and put the operator back on the list.

I attached the model so you can see how it works.

.


Jordan Johnson
Principal Software Engineer
>

Message 5 of 19

tony_nikolov
Not applicable

Hi Adrian,

I've attached the file. The piece in question is the Gearless TWs, the HSTWs, the Gearless Shielders, the HSTW Shielders, and the COD. The 3 Dispatchers in question are the HSTW and Gearless Dispatcher (4 operators), the HSTW COD Shielders Dispatcher(1 operator), and the HSTW and Shielders Dispatcher (1 operator). All of the operators are orange and they congregate at the sink and have different shifts that they operate on.

pgore-projectsacs-tapewrap-simulation-projectacs-t.fsm

0 Likes
Message 6 of 19

adrian_haws
Not applicable

Were you able to take a look at Sam and Jordan's answers to see if they'll fix the issue?

0 Likes
Message 7 of 19

tony_nikolov
Not applicable

I wasn't able to follow Jordan's logic and the Task Sequences tutorial confused me quite a bit. It just seems like a very difficult procedure to implement something quite simple...

0 Likes
Message 8 of 19

adrian_haws
Not applicable

There may be a different way to do it, but creating a Sub Flow can be useful because it is easily repeatable, highly visual, and simple to manipulate (unlike code). What part of the logic was hard to follow? Are you unfamiliar with Process Flow? Maybe @jordan.johnson would be able to explain those difficult parts more for you.

0 Likes
Message 9 of 19

tony_nikolov
Not applicable

Jordan's interpretation of my model wasn't the same and that confused me. Maybe since I uploaded the file, he can show me using my layout.

0 Likes
Message 10 of 19

JordanLJohnson
Autodesk
Autodesk

@Tony Nikolov, I am working on your model, as requested. I have a question, though. An operator carries items from the placeholder queue (HSTW Placeholder Queue 3, for example) to a processor (HTSW 3). Then that processor requires an operator. Should transporting operator then process the item, or can it be a different operator for those two steps?

.


Jordan Johnson
Principal Software Engineer
>

0 Likes
Message 11 of 19

JordanLJohnson
Autodesk
Autodesk

Here's a basic implementation, in your model. I only use the dispatchers for making groups of operators, not for transport. I used the same approach as I demonstrated in my answer, but I integrated it with your existing model.

979-pgore-projectsacs-tapewrap-simulation-projecta.fsm

.


Jordan Johnson
Principal Software Engineer
>

0 Likes
Message 12 of 19

tony_nikolov
Not applicable

@jordan.johnson I downloaded your version of my program, but it says that I don't have the latest Flexsim installed, when in fact I do. Are you using any third party modules that I wouldn't have on Flexsim 2016 Update 1?

0 Likes
Message 13 of 19

philboboADSK
Autodesk
Autodesk

That model opens fine with 2016 Update 1 (16.1.0). Are you sure you aren't opening it with 2016 (16.0.1)?

FlexSim 2016 and FlexSim 2016 Update 1 install side-by-side. When you install Update 1, it doesn't uninstall FlexSim 2016.

Make sure you are opening it with the latest, and it should be fine. You might want to right-click the fsm file in Windows Explorer and change its default Open With program from FlexSim 2016 to FlexSim 2016 Update 1.



Phil BoBo
Sr. Manager, Software Development
0 Likes
Message 14 of 19

tony_nikolov
Not applicable

@phil.bobo yes, I am opening it with Flexsim Update 1 and it opens fine, however right when entities enter the system at 12 AM on Friday, the program crashes. I don't have this problem on my unedited version of the simulation.

0 Likes
Message 15 of 19

JordanLJohnson
Autodesk
Autodesk

I'm sorry; I uploaded the wrong version. Try this one.

979-pgore-projectsacs-tapewrap-simulation-projecta.fsm

.


Jordan Johnson
Principal Software Engineer
>

0 Likes
Message 16 of 19

ramesh_yadav
Not applicable

Why the given model is not opening in Flexsim 7.5.4.

0 Likes
Message 17 of 19

jing_chen
Not applicable

The model aboved was built by FlexSim2016, and they also used ProcessFlow Module which was first introduced in FlexSim7.7

0 Likes
Message 18 of 19

ramesh_yadav
Not applicable

I have licensed flexsim 7.5.4, is it possible for me to upgrade it to flexsim 2016?

Thanks for help!

0 Likes
Message 19 of 19

adrian_haws
Not applicable

@Ramesh Yadav You can contact your local distributor, Commercial Consultancy Services, for information on licensing. See contact information here.

0 Likes