家伙在simu万博1manbetxlink上

万博1manbetx基于模型的设计

在仿真回调中处理错误

今天,我想分享一个我最近推荐的简单技巧,向正在努力从模拟中检索错误消息的用户。

问题

该用户描述的是,当使用播放按钮模拟模型时,如果模型错误出现,则在诊断访问者中显示明显的错误消息:
但是,当使用 SIM 命令和 后模拟功能 ,错误并不那么有用。
这是模拟模型的代码的简化版本:
mdl ='ex_modeling_simple_system';
in = 万博1manbetxsimulink.simulationInput(MDL);
in = in.setPostSimfcn(@mypostsim);
out = sim(in,“显示模仿者”,,,,'在');
在示意后功能添加到 仿真图 对象附加后处理的信息:
错误消息不是很有用:
同样的错误消息也显示在模拟管理器中:

说明

如果您在仿真函数中放置断点,您将看到“点索引”错误正在发生,因为模拟错误和我的代码试图访问的“登录”字段不存在。

解决方案

为了避免这种情况,我建议您查看模拟对象的ermorormessage字段,并仅在没有错误的情况下访问已记录的数据:
这样,模拟管理器将显示原始错误:
如果您使用使用的模型在平行工人上模拟模型,则此技术特别有用 Parsim ,因为不可能像我在这里一样在并行工人上运行的交互调试代码。

现在轮到你了

我很想听到您的来信:我们是否应该在模拟后函数周围实施此类错误处理以自动返回实际的仿真错误,而不是仿真错误时删除后仿真错误?
在下面的评论中让我们知道。
|
  • 打印
  • 发送电子邮件

评论

要发表评论,请单击这里登录您的数学帐户或创建一个新帐户。