使用Simulation Data Inspector(信号查看器)进行信号数据调试

上一篇     下一篇共256篇  

[仿真] 使用Simulation Data Inspector(信号查看器)进行信号数据调试2013年05月13日 11:17:25

让我下决心翻译这篇文章和共享相关技术,主要是: 
(1)4月份MathWorks高级工程师吴菁在成都巡回演讲中讨论到这个工具,然而现场知道使用的很少 
(2)在blog.mathworks.com中看到Simulation Data Inspector的技术主题,而自己在工作也经常使用该工具 
(3)Simulink需要很大的工程经验才能玩的好,但交流却没有MATLAB方便,国内高质量书籍也基本没有 
(4)论坛的Simulink版块有活跃下,最近我会根据经验慢慢和大家一起分享Simulink方面的技术 


您之前也许使用过Simulation Data Inspector(Simulink信号查看器,注意我没有翻译成数据,因为在Simulink中这个Data主要特指信号),本文中讨论的相关工具和技术,也许能够帮您节省很多调试时间。 

仿真精度(Simulation Accuracy) 

在进行复制模型仿真时,有时我们需要验证系统行为(validate system behavior)并分析模型数值精度。另外稍微一个小小的更改就可能会导致意想不到的结果。由于模型很大,如果使用Scopes或To Workspace模块,来找出问题的根源将是十分痛苦的过程。 

然而使用Simulink Data Inspector能够在不添加任何额外模块情况下,方便的进行仿真结果比较,现在就让我们看看这是如何做到的。 

选择信号(Logging Signals) 

注意:楼主使用的是MATLAB R2013a,演示的模型是f14,大家在Command Window中中输入f14回车就可以! 

1、第一步就是选择需要记录的信号。对于简单的模型,我们可以直接在信号线上右击→Properties→Signal Properties对话框→勾选Log Signal Data 
signalproperties.png  
2、对于复杂模型且需要监控多个信号,此时使用Model Explorer将会更加快捷方便,打开Model Explorer有三种方法 
(1)在Simulink空白处右击菜单→Explorer 
openexplorer3.png  
(2)通过工具栏的Model Explorer按钮 
openexplorer2.png  
(3)菜单Tools→Model Explorer 
openexplorer1.png  
进入Model Explorer以后,需要做几个操作,具体如下图 
(1)在Filter中勾选All Signals/Connection 
(2)在Column View中选择Signals 
(3)在Contents面板中选择需要监控的信号,然后勾选DataLogging 
modeexplorer.png  
被监控/记录的信号,在Simulink中就会有一个发射的小标志 
loggingsignal.png  
3、上面只是告诉Simulink我们对某个信号比较感兴趣而已,因此还需要在Simulink Configuration中开启信号记录功能 
configuration.png  

录制并查看仿真结果(Record & Inspect Simulation Output) 

在仿真开始前,还必须点击Record按钮,Simulink才会记录本次运行的结果,否则即使选择信号并记录功能,也不会记录当前运行数据! 
recordsignal.png  
在仿真结束时,使用工具栏的提示链接(当然你可以通过菜单或者工具栏),打开simulation Data Inspectinspectlink.png  

比较运行结果(Compare Runs) 

稍微调整模型,然后重新仿真,在Simulation Data Inspector中点击Compare Run标签页,选择分别两次运行,然后点击Compare进行比较。通过绝对误差曲线,我们能够快速的查看两次运行结果的不同之处。 
datainspector.png  
Simulation Data Inspector其实有其它功能,您可以尝试慢慢挖掘。另外如果您还有更多需求,不妨阅读下Validate System Behavior

附:

将不同的信号显示在不同的座标系中

点击showdetails,在layout中选择座标矩阵


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章