概述
首先设置好一台Simulink RealTime 的目标机。(小编采用的是Matlab 2016B版本,具体如何安装一台Simulink RealTime的仿真机操作后续文章详细介绍)。可以看到界面上有显示目标机的IP,硬件处理器配置等简单的信息。
然后我们通过网线连接。在matlab命令框中输入slrtexplr来启动Simulink RealTime Explorer。配置好Target的信息后,右键选择“Connect” 按钮,连接上目标机。
操作体验测试
我们新建一个simulink程序,单击工具栏上的创建,在弹出的下拉菜单中选择Simulink Model,打开模型的编辑界面,在MATLAB工具栏上单击Simulink库,弹出Simulink Library Browser,在左侧树型面板中依次单击Simulink - Source,在右侧界面中选择Sine Wave并将其拖到模型编辑界面中,依照这个方法再添加一个Scope,路径是SimulinkReal Time - Displays and Logging - Scope,在模型编辑界面中将这两个元件用线相连,最后的效果如下图所示:
单击Simulation - Model Configuration Parameters,弹出Configuaration Parameters界面,采用如下设置参数:
单击菜单栏的Simulink - Mode - External,此时,模型编辑器的工具栏发生了变化,如下图所示:
然后单击菜单栏 Code - C/C++ Code - Build Model,开始编译模型,如果编译过程中有错误,Simulink会弹出错误提示信息,如果没有错误则目标主机(Target)会出现如下界面:
单击菜单栏的Simulink - Connect To Target,开始连接目标主机,如果连接成功,则工具栏上的Run按钮将变为可用状态,点击RUN按钮则模型下载到目标机运行:
整个波形实时显示在目标机的屏幕上。同时可以看到由于整个模型比较简单,运行的时间大概是2.5e-7 的步长。我们可以双击 sine wave 模块对频率和幅值进行修改,可以看到波形也会实时的发生改变。
同时,Simulink RealTime 里面集成多家的硬件IO板卡,只需插入相关的板卡,就可以驱动相关的板卡进行信号采集与输出,来进行硬件在环测试了,整体操作体验还是非常友好的。
性能体验测试
目前行业内比较通用的测试采用的是F14 飞机demo的测试方式。所以我们也考虑采用同样的模型进行测试对比。
由于F14模型相对比较简单,我们通过复制多个来增加计算量,来测试目标机的实时性能。为了减少其他不必要的干扰消耗,我们不在目标机上做任何的显示(scope在实时系统下面是比较消耗资源的),只是运行实时程序模型。
我们将F14模型复制50遍,形成一个subsystem,然后再复制一次,形成一个F14*100的模型。
用上面的方法下载到Simulink RealTime 目标机里面进行测试实时性,目标机的性能采用的是双核 i3 2GHz 的处理器。步长我们设置在1e-4,也就是100us。
我们可以看到界面上,整个模型跑起来,平均下来的耗时大概在2.87e-5,也就是28us左右,从实时运行效率来看性能还是相当不错的。我们也可以在Matlab中输入“XPC”来观看实时运行的信息情况。如下图所示。
可以看到整体的信息情况,可以看到虽然平均耗时是29us,但最小花费时间大概是25us,最大的花费时间就是55us。相当于抖动会在30us之间。这个抖动针对实时仿真系统还是比较大的。如果步长设置在5e-5,也就是50us的时候,那这个就会存在overrun,导致实时性无法严格保证,对于严格要求的实时系统来说,还是会有较大的挑战。我们测试一下将步长从100us调整到50us,测试结果:
程序会因为检测到超时而停止。
不过产品官网其实也给出了建议的闭环速率是在1-20kHZ范围内,考虑到各家产品的官方指标一般会过于理想以及宣传的成分,所以笔者建议可能10k以下的建议是可以满足的,10k以上的应用还是需要慎重,毕竟抖动情况不容乐观。
测试结论
【优势】只需要matlab一个工具链就可以完成实时仿真,操作起来确实比较方便。同时Simulink RealTime库里面支持各厂家的板卡,兼容性方面也还不错,模型实时运行效率比较好。
【不足】实时运行时间的抖动较大,可能和模型的复杂程度也会有关系,这个在实时性要求不高的系统里面可能可以忽略,但在实时性要求比较高的系统,例如电力,电力电子行业的实时仿真,还存在一定的问题与挑战
由于笔者能力水平有限,以上观点仅代表个人观点,如有错误,还请批评指正。
END
易信高成与你一起零碎片时间学习扫描关注微信号,更多精彩内容回顾
如果您有实时仿真相关的问题,欢迎与我们EasyGo团队联系:info@easygo-tech.com
最后
以上就是单薄短靴为你收集整理的matlab实时输入_性能测试篇:Simulink RealTime 实时性能效果测试的全部内容,希望文章能够帮你解决matlab实时输入_性能测试篇:Simulink RealTime 实时性能效果测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复