编者按:该文件被选为MATLAB中央本周精选
这个应用程序演示了如何将侦听器附加到Simulink模型中的块上,以及如何使用这些侦听器在MATLAB用户界面上显示块的输入和输出。(实现此功能的主要函数称为add_exec_event_listener。)
该模型既可以作为标准模拟执行,也可以构建为通用实时目标后执行(对于那些拥有RTW许可证的用户)。在后一种情况下,RTW的外部模式和TCP/IP用于将数据从运行中的可执行文件传输到模型,再从模型传输到UI。
使用监听器来查看信号,而不是传统的编写自定义S-Function块的方法,至少有两个优点:首先,模型不会因必须添加任何特殊的查看块而“损坏”(如果模型也要与RTW一起使用,这是特别有利的);其次,同一个UI可以用来查看来自不同模型的信号。
具体来说,这个应用程序使用一个名为“simpleModel”的简单模型。Mdl ',它包含三个块
正弦波——>增益——>瞄准镜
UI允许启动和停止模型,并允许调整增益的值。输入到Scope块的信号值显示在UI上的一个轴上。模型不一定要打开才能使用UI(建议关闭它)。
UI允许模型以模拟模式(需要一个Simulink许可证)或作为一个通用实时(GRT)可执行文件(因为模型必须被“构建”,这需要一个RTW许可证)运行。
它是一个演示程序,旨在展示使用MATLAB, Simulink和RTW的各个方面:
如何使用命令行功能创建MATLAB UI
如何使用命令行功能启动/停止Simulink模型
如何在Simulink块中添加监听器,以便从MATLAB UI中查看信号。
如何使用命令行功能构建一个GRT可执行文件
如何与“实时”运行的代码交互(在这个UI中,grt代码运行在主机上,所以它不是在硬实时运行,但是它使用外部模式与代码通信,因此显示了如果代码真正运行在RTOS上,通信将如何执行。
引用作为
菲尔·戈达德(2022年)。使用事件监听器和MATLAB UI的Simulink信号查看。(//www.ru-cchi.com/matlabcentral/fileexchange/24294-simulink-signal-viewing-using-event-listeners-and-a-matlab-ui), MATLAB中央文件交换。检索.