- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MATABSimulink下实现实时一些方法总结
MATLABSimulink下实现实时一些方法总结 摘 要:总结了使用MATLAB/Simulink进行实时仿真时实现实时的几种方法,包括使用Real-time Workshop和编写S函数的方法,同时通过实验检验了C语言S函数实时模块的功能。经仿真测试表明,在对时间精度要求不是很高的过程进行实时仿真和分析时,可以得到较好的效果。 中国论文网 /1/viewhtm 关键词:实时;MATLAB/Simulink;Real-time Workshop;S函数 DOI:10.16640/j.cnki.37-1222/t.2016.02.246 1 概述 仿真技术由于能省去了实物系统实现过程中的繁琐步骤,对问题的解决有着良好的针对性,因此给科研和试验提供了很大的便利[1-3]。但另一方面,仿真由于对模型的依赖性,其结果并很难完全反映实际情况。因此,为了得到更接近实际情况的结果,可采用将数学模型与物理模型或实物相结合半实物仿真[1,2]。半实物仿真系统既包含虚拟对象,又包含实物对象,因此更真实地反映实际系统的动、静态特性和非线性因素。由于有实物的接入,半实物仿真对实时性有着较高的要求。 Matlab/Smulink在控制理论研究中是一个很优秀的仿真软件,可方便地对控制算法或控制对象进行建模和仿真实验[2-8]。在仿真情况下,仿真运行的时间取决于仿真机的运行速度和模型的复杂程度等因素,因此Matlab/Smulink模型运行的时间可能远小于实际过程的运行时间。但在半实物仿真中,实物对象的实际执行时间与模型仿真时间可能不一致,因此有必要使Simulink虚拟模型与外部连接的硬件运行同步,实现实时仿真,以获得接近实际情况的实验结果。要用Matlab/Smulink进行实时仿真,可以利用自带的Real-Time Workshop和Real-Time Windows Target、xPC Target等工具,也可编写能进行实时仿真的应用程序,灵活地实现实时[4-9]。本文将针对在Matlab/Smulink环境下的实时仿真、控制,探讨和总结一些实现实时的方法。 2 实现实时的方法 如前所述,用Matlab/Smulink进行实时仿真的方法主要有利用Matlab/Smulink自带的实时工具和自编实时程序两类。本文分别以Real-Time Workshop工具和自编S函数为例进行探讨。 2.1 用Real-Time Workshop实现实时 Real-Time Workshop(RTW)是一个和Simulink配套使用的工具 [4,5]。RTW可以由Simulink框图生成优化的语言代码,再由生成的代码建立半实物仿真并产生实时控制与快速原型设计所需的应用程序,得到的应用程序可独立于MATLAB环境,因此能实现实时同步并可应用于实时的工业过程中。利用RTW进行实时仿真的步骤大致如下: 首先,建立Simulink仿真模型;然后配置相关RTW参数,一般设置为定步长Fixed_Step,单任务single tasking,external模式;接着点击build按钮对目标进行编译,自动生成C代码文件,生成的C代码可用C或者C++编译器作适当修改,并编译连接。最后,点击connect按钮,与目标进行连接(connect to target),运行仿真模型,对系统过程进行分析。 值得指出的是RTW支持多种常用的I/O设备,例如模数转换器(A/D)、数模转换器(D/A)计数器(counter)等[6]。在Simulink模块库下双击xPC Target模块组图标可相应显示出I/O设备的型号等。这样就可以将虚拟的Smulink模型与实际的受控对象或实际的控制器通过I/O设备和计算机连接起来,构成半实物仿真系统,进行仿真分析、过程控制等。 2.2 编写S函数实现实时 由于RTW只支持部分型号I/O设备的驱动,而且也不能直接和一些常用的控制软件进行实时通信,这给使用RTW进行实时仿真带来了一定的局限性。此时用户可根据需要,编写能实现特定功能的S函数(S-Function)。S函数可使用Matlab或者C语言编写。S函数编写灵活,只要在函数程序模板适当的位置加入自己的代码,然后编译,就生成实现相应功能的Simulink模块,并可以随时调用。而且,Matlab还给用户提供了开放性接口,可对系统的时钟和端口进行操作。这为用其他方法灵活实现实时仿真提供了可能。 根据S函数程序的执行流程,可以在计算离散状态更新值时设置一个空循环等待,原理如图1示,只有当模型实际运行时间current-start(即系统时间)达到设置的仿真时间t,仿真才结束,这样就可以使Simulink仿真时间与实际时间同步[6-9
有哪些信誉好的足球投注网站
文档评论(0)