Hello, I bulid a simple model, the agv was deadlocked at CP4 in the graph, when TaskExecuter1 request the CP4 and it had allocated by TaskExercuter2, Did it can re-request another CP? When the distance looks the same.
Hello, I bulid a simple model, the agv was deadlocked at CP4 in the graph, when TaskExecuter1 request the CP4 and it had allocated by TaskExercuter2, Did it can re-request another CP? When the distance looks the same.
The "On AGV Allocation Failed" event can tell you whether the failure represents a deadlock and if so give you an array of the involved TEs and CPs.
You can use this information to write code that handles the deadlock. Overwriting the return value of the event (option in Event-Triggered Source, return value specified in Finish activity) with a 1 will tell FlexSim that the siuation was handled and suppress the deadlock erro message.
I modified your model so that the AGV whose final destination is not the CP that couldn't be allocated is preempted and searches for a new path while the blocking CP is forbidden to be used through the usage of routing constraints.
Be very careful when trying to implement such a logic in a more complex model. It works here because the AGV is guaranteed to find an alternative path that is free. If no path is found you would again be presented with an error. Or worse, if an alternative path is found that also results in a deadlock right away, an infinite loop of the logic would crash FlexSim.
In general, I would advise to first try and prevent deadlocks before they happen by modifying the network or how AGVs find their path before resorting to handling the issue when it does occur.
Ok, thanks you suggest and I noticed if I set Deallotaion Types in agv network, like Fig1. it's will be avoid deadlock in some extent, but the model collided in this setting. Is there any good solution?
Fig 1
Fig 2
11 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