question

Michael B2 avatar image
0 Likes"
Michael B2 asked Ben Wilson commented

Error messages when changing movement times

I'm getting errors every time I try to adjust the movement time of a robot in my system. This robot (labeled "spider robot") is the way I must control the throughput rate of my system. It seems to be an extremely specific error, since changing the movement time by any more than .05 seconds causes the subsequent errors and model crash. Here is the output I am getting upon error:

exception: Exception Caught in TaskExecuter::catchTaskError(treenode task) object: /Plane4/Robot4
exception: Exception Caught in TaskExecuter::beginLoadUnloadTask(treenode task, int isLoad, int eventCode, char* eventName, int logId) object: /Plane4/Robot4
exception: Exception Caught in TaskExecuter::beginTask(treenode task) object: /Plane4/Robot4
exception: Exception Caught in TaskExecuter::finishTask(treenode task) object: /Plane4/Robot4
exception: Exception Caught in TaskExecuter::beginTask(treenode task) object: /Plane4/Robot4
exception: Exception Caught in TaskExecuter::finishTask(treenode task) object: /Plane4/Robot4
exception: Exception Caught in TaskExecuter::beginTask(treenode task) object: /Plane4/Robot4
exception: Exception Caught in TaskExecuter::finishTask(treenode task) object: /Plane4/Robot4
exception: Exception Caught in TaskExecuter::onTimerEvent(treenode involved, int code, char *datastr) object: /Plane4/Robot4
exception: Exception Caught in TaskExecuter::onTimerEvent(treenode involved, int code, char *datastr) object: /Plane4/Robot4
exception: Exception Caught in ObjectFunction251__project_library_FlexSimObject_behaviour_eventfunctions_OnTimerEvent object: /Plane4/Robot4 i: /Plane4/Robot4>variables/activetasksequence/ts777/task2 class: /Plane4/Robot4

exception: Exception caught in TreeNode::receivemessage()
exception: Exception caught in Executive::processeventinlist(). Throwing.
exception: Exception caught in Executive::steptotime(). Throwing.
exception: Exception caught in Executive::tick(). Throwing.
exception: int runthemessageloop() #4
exception: Executive::instance.tick();
exception: int runthemessageloop() #6

I'm hoping somebody can tell me this is any easy fix and I'm just doing something wrong.

Here is the flexsim file.cusersbowmanmdesktopplate-stacking-primeplate-stac.fsm

FlexSim 17.1.2
error messages
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

1 Answer

Logan Gold avatar image
0 Likes"
Logan Gold answered Ben Wilson commented

I think the issue is because you are using closeip and openip in your Combiners' OnMessage trigger. These commands should only be used when working with fluid objects. Discrete objects handle opening and closing their ports on their own and using these commands can cause conflicts/issues.

I haven't been able to pin down what the exact issue is, but there are definitely issues with flowitems on the Combiners. For instance, I've been able to observe that Plane4/Robot4 will try to perform a Load task that involves one of the Combiners, but there is an invalid reference to the flowitem it should load. And this has caused similar error messages to what you posted with a subsequent crash of the software.

I think the reason it seems like changing the movement time of the Spider Robot causes the issue is because the change affects the timing of events on the Combiners. So sometimes an issue won't appear using the values you have now, but a faster movement time will cause more flowitems to go through the Combiners, which increases the chance for an issue to occur.

You'll want to use closeinput and openinput or stopinput and resumeinput for you logic instead. Or you can use closeoutput/stopoutput and openoutput/resumeoutput on upstream objects to the Combiners instead.

· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Ben Wilson avatar image Ben Wilson ♦♦ commented ·

Another post regarding opening/closing ports that might be useful:

https://answers.flexsim.com/questions/38307/how-can-i-closeopen-an-specific-port.html

0 Likes 0 ·