Stop Simulink Model Update via Callback

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?

 採用された回答

Fangjun Jiang
Fangjun Jiang 2024 年 4 月 15 日

0 投票

Instead of sldiagviewer.reportError(errMsg), if you do error(errMsg), it should stop.

3 件のコメント

RIchard
RIchard 2024 年 4 月 15 日
I was hoping to avoid that as it sends it to the command window
Fangjun Jiang
Fangjun Jiang 2024 年 4 月 15 日
編集済み: Fangjun Jiang 2024 年 4 月 15 日
okay, try modelName([],[],[],'term'). I think model update is equivalant as modelName([],[],[],'compile')
RIchard
RIchard 2024 年 4 月 16 日
編集済み: RIchard 2024 年 4 月 16 日
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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeGeneral Applications についてさらに検索

製品

リリース

R2020a

タグ

質問済み:

2024 年 4 月 15 日

編集済み:

2024 年 4 月 16 日

Community Treasure Hunt

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

Start Hunting!

Translated by