在simuli万博1manbetxnk上的家伙

万博1manbetx基于Simulink和模型的设计

在模拟过程中访问块数据

这周我发现事件监听器也可以处理总线信号!

你可能会说:“什么是活动听众?”

在这篇文章中,我将描述如何为总线信号注册一个事件侦听器以显示图中的信号值。这是最终结果:

示例事件侦听器

你可以帮我下载文件事件监听器示例

如果您想看到一个真正好的完整示例,我推荐文件交换提交万博1manbetx使用事件监听器和MATLAB UI的Simulink信号查看通过菲尔戈德德.它被选为挑选本周前一段时间。

让我们看看它是如何工作的。

活动侦听器

活动侦听器给你一种方法在模拟过程中访问块数据.一个典型的用例是在模型运行时在MATLAB GUI中显示仿真数据。你需要知道的关键功能是add_exec_event_listener.

设置一个非视频公交车

在设置事件监听器之前,我们需要准备一个模型。让我们创建一个简单的测试模型,包括一个带有两个元素的总线:

示例模型

我们需要制作公共汽车非凡。为此,您可以手动遵循概述的步骤创建Nonvirtual公交车.或者,这里有一个脚本应该自动完成它:

使总线非虚拟的示例脚本

注册事件监听器

事件监听器必须在模型运行时注册add_exec_event_listener..由于这个要求,注册侦听器的好地方是在模型StartFcn回调.这是它的样子:

在mdlStart回调中注册一个事件侦听器

回调函数

在上图中,你可以看到我注册了一个函数displayBusdata在块的Outputs方法执行后执行。

当它调用这个函数时,Simulink引擎将万博1manbetx万博1manbetx仿真软件。RunTimeBlock对象。该对象允许您访问与此块相关的所有内容。例如,如果您想在MATLAB提示符处显示总线元素的值,则注册函数可以简单如下:

简单的侦听器函数

如果你想要更复杂一些,在MATLAB图中显示数值。这里是一个例子,我绘制了两个总线元素的和:

简单的监听器功能与图

现在轮到你了

我希望这能激发您创建漂亮的MATLAB gui来与您的模拟接口。分享你的事件听众故事通过留下这里的评论

|

注释

要留下评论,请点击这里登录到您的MathWorks帐户或创建一个新帐户。