在模拟过程中访问块数据
这周我发现事件监听器也可以处理总线信号!
你可能会说:“什么是活动听众?”
在这篇文章中,我将描述如何为总线信号注册一个事件侦听器以显示图中的信号值。这是最终结果:
你可以帮我下载文件事件监听器示例.
如果您想看到一个真正好的完整示例,我推荐文件交换提交万博1manbetx使用事件监听器和MATLAB UI的Simulink信号查看通过菲尔戈德德.它被选为挑选本周前一段时间。
让我们看看它是如何工作的。
活动侦听器
活动侦听器给你一种方法在模拟过程中访问块数据.一个典型的用例是在模型运行时在MATLAB GUI中显示仿真数据。你需要知道的关键功能是add_exec_event_listener..
设置一个非视频公交车
在设置事件监听器之前,我们需要准备一个模型。让我们创建一个简单的测试模型,包括一个带有两个元素的总线:
我们需要制作公共汽车非凡。为此,您可以手动遵循概述的步骤创建Nonvirtual公交车.或者,这里有一个脚本应该自动完成它:
注册事件监听器
事件监听器必须在模型运行时注册add_exec_event_listener..由于这个要求,注册侦听器的好地方是在模型StartFcn回调.这是它的样子:
回调函数
在上图中,你可以看到我注册了一个函数displayBusdata在块的Outputs方法执行后执行。
当它调用这个函数时,Simulink引擎将万博1manbetx万博1manbetx仿真软件。RunTimeBlock对象。该对象允许您访问与此块相关的所有内容。例如,如果您想在MATLAB提示符处显示总线元素的值,则注册函数可以简单如下:
如果你想要更复杂一些,在MATLAB图中显示数值。这里是一个例子,我绘制了两个总线元素的和:
现在轮到你了
我希望这能激发您创建漂亮的MATLAB gui来与您的模拟接口。分享你的事件听众故事通过留下这里的评论.
注释
要留下评论,请点击这里登录到您的MathWorks帐户或创建一个新帐户。