If one object recieves two messages from two differents objects for example two queues. In which order it will execute them ? Is there any way (apart from process flow) that will allow to choose which message the object will execute first ?
If one object recieves two messages from two differents objects for example two queues. In which order it will execute them ? Is there any way (apart from process flow) that will allow to choose which message the object will execute first ?
Assuming both messages are scheduled at the same simulation time, they will be executed in the same order they were created.
The only way to control which message is processed first is to ensure the first one you want processed is created first.
Is there a reason you don't want to use process flow? This sort of ordering problem is generally a non-issue when using it.
Have you considered using Global Lists? They were made to solve the kind of synchroniztaion problems you used to have to send messages all over for. You can add Global Lists to the Toolbox and use the "Pull From List" and "Push To List" options in the trigger dropdowns without using Process Flow.
Thank you for the answer. That's being said, I have two message based on two conditions so I don't know how to make sure that one of the two executes first unless I define a delay message for each one. As for process flow I avoid for time being working with 'cause I still don't know how to use it properly. I prefer to use triggers.
You cannot decide which received message will be executed first, because the OnMessage trigger has been already fired. You can identify the order in which the messages are received. You set a ascending parameter value into the messages. You set the parameter value into a label at the receiving object, too, which message should be received first. Then you compare the values at receiving of the message. If the parameter value doesn’t match you send the message again with no delay with the parameters of the receiving message.
10 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