Stop Simulink Model Update via Callback

15 views (last 30 days)
RIchard
RIchard on 15 Apr 2024 at 14:50
Edited: RIchard on 16 Apr 2024 at 14:22
I have a callback on a custom block that checks a bus selector for missing signals, at the start of the model update routine. Based on the results of that update, I send an sldiagviewer.reportError(errMsg) command to Matlab. What I want it to do is stop the update cycle at that point because I know it will throw an error downstream in ~5 minutes where the user will have to fix the problem. Instead, Simulink just continues runnign the update cycle until Simulink decides it cannot continue anymore.
So my question is basically how to stop the update cycle?

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 15 Apr 2024 at 16:51
Instead of sldiagviewer.reportError(errMsg), if you do error(errMsg), it should stop.
  3 Comments
Fangjun Jiang
Fangjun Jiang on 15 Apr 2024 at 19:04
Edited: Fangjun Jiang on 15 Apr 2024 at 19:07
okay, try modelName([],[],[],'term'). I think model update is equivalant as modelName([],[],[],'compile')
RIchard
RIchard on 16 Apr 2024 at 14:22
Edited: RIchard on 16 Apr 2024 at 14:22
Your orignal comment is correct and I have accepted it. Somehow, I was incorrectly calling `error`, and it was going to the matlab version instead of simulink.

Sign in to comment.

More Answers (0)

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!