You do this with a process flow. A single token can only acquire one of the available transporters of the resource. You can order the transporters by input or by state. In my example I order them by input.
I push the transport tasksequences by the On Receiving trigger of the dispatcher onto a tasksequence list. The token pull an available tasksequence of the list and dispatch it to the acquired resource for execution. After the the transporter have got available again the token loops back to pull another tasksequence and chooses a resource.
@Jörg Vogel and @Manuela T, Hello!!
Jörg, your model are doing exactly what Manuela wanted. The use of process flow was a good idea to simplify the logic.
I only noticed that when I execute your model in FlexSim 21.0.5, one error occurs on time 88.925448. The error is: "time: 88.925448 exception: Error: Bad task sequence reference in dispatch task sequence activity "Dispatch TS" in process flow "ProcessFlow""
This error happened because when the transporter went to pull the line from the list, it happened to be na information that had already been pulled by the other transporter and is already running in the model.
This error doesn’t affects the results of the model, but one solution for it doesn’t show anymore is to increment a Query in “Pull from TS List” with the criterion of not pulling fields with reference 0x0 from the TS List, as shown in the picture below.
Yes, this something to improve. I would test if “token.ts“ has got a valid length to proceed in current process flow. Otherwise I divert it to a wait for event branch, that checks if TS List gets populated again and then the activity releases the token to the pull activity again. If you don’t divert it in a decide activity you can create an infinite loop, because there is a delay activity missing in the process.
I am assuming you would like one to be blocked when the other is moving within a proximity. Check out the Proximity Agent System. I suggest you look at post in the forum too that involve Proximity Agent System for examples.
7 People are following this question.
© 1993- FlexSim Software Products, Inc. All Rights Reserved.
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.