- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14章 Simulink建模和S-函数[精选]
第14章 Simulink建模和S-函数 Simulink的功能越来越强大,应用领域越来越多。本章将更加深入的介绍利用Simulink进行建模和仿真。首先详细的介绍Simulink建模中的回调函数,利用回调函数在模块或模型发生变化时执行某些特定的操作,非常的方便。接着介绍了Simulink仿真器的设置以及在命令行下进行模型的仿真,命令行下模型的仿真,可以非常方便的修改模块或模型的参数,在查看在不同参数下模型的结果非常的方便。然后介绍了Simulink中的调试器,如果建立的模型没有实现预期的功能,可以利用调试器来进行模型的调试。最后介绍了S-函数的基本概念、工作原理,并详细的介绍了如何利用M文件编写S-函数。利用S-函数可以扩展Simulink的功能,例如采用MATLAB、C/C++或Fortan等语言编写模块。 14.1 回调函数 在Simulink中,可以通过回调函数实现对模型或模块的操作。回调函数是当用户建立的模型或模块发生某些特殊行为时所要执行的MATLAB程序。下面分别介绍模型的回调函数和模块的回调函数。 14.1.1 模型回调函数 模型文件的回调函数(Callback)可以在模型文件的属性窗口中进行设置。建立模型(文件chap14_1.mdl),如图14.1所示。增益模块Gain的参数为2.0,其他模块采用默认参数。对于该模型文件,单击File菜单下的Model Properties子菜单,得到模型属性窗口,然后单击Callbacks选项,如图14.2所示。在Model Callbacks窗口中,选中InitFcn,然后在右侧的文本框中输入程序,在MATLAB的基本工作空间中建立变量simin。变量simin作为From Workspace模块的输入变量。模型文件的回调函数改变后,函数名后面会添加一个星号(*)。 14.1.2 模块回调函数 与模型文件的回调函数类似,模块回调函数在模块的模块属性(Block Properties)窗口中的Callbacks内输入。建立模型文件(文件名为chap14_2.mdl),如图14.5所示,Sine Wave模块和Saturation模块都采样默认的属性值。用鼠标单击Sine Wave模块,然后选择Edit菜单下的Block Properties子菜单,会出现Sine Wave模块的模块属性窗口如图14.6所示。 14.2 运行仿真 模型建立后,就可以运行该模型和对仿真结果进行分析。用户可以单击菜单Simulation下的Start子菜单运行该模型。下面介绍如何设置仿真参数,以及仿真出错时的信息。最后介绍如何在MATLAB的命令行窗口进行模型的仿真。 14.2.1 仿真参数的设置 用户可以选择模型文件中的菜单Simulation下的Configuration Parameters子菜单,得到仿真参数设置窗口,如图14.9所示。下面只介绍其中的Solver和Data Import/Export,对于其他的参数设置,用户可以查阅MATLAB的帮助系统。 14.2.2 仿真的出错信息 图14.14 模型的出错例子 图14.15 Simulink出错信息 如果在模型的运行时,出现错误,用户需要认真阅读出错信息,查找出错的模块,然后进行模型的修改。对于本模型,需要在模型文件所在的文件夹中建立包含仿真数据的untitled.mat文件。 14.2.3 使用MATLAB命令运行仿真 在利用模型窗口直接进行仿真时,每次运行时都是针对固定的模块参数。在运行过程中很难改变这些参数。在MATLAB中,对于建立的Simulink模型允许通过函数sim( )在命令行进行仿真。这样在进行仿真时,可以很容易的改变模块的参数。 14.3 模型的调试 在Simulink中,可以通过调试器对模型进行调试,允许用户通过单步执行,来观察模块的状态和输入输出等。用户既可以采用图形化的调试界面进行模型的调试,也可以通过命令进行调试。下面介绍Simulink中模型的调试。 14.3.1 Simulink调试器 建立模型文件(文件名为chap14_5.mdl),如图14.19所示。模块Sine Wave的角频率为5,其他参数为默认值。然后对其他模块的参数进行了设置,采样示波器Scope显示输出结果。单击Tools菜单下的Simulink Debugger子菜单,打开Simulink的调试器,如图14.20所示。 14.3.2 命令行调试 在MATLAB中,还可以在命令行窗口中通过命令对Simulink模型进行调试。可以通过函数simget( )获取模型文件的设置信息,通过函数simset( )对模型的参数进行设置。这两个函数的详细调用格式,用户可以查阅MATLAB的帮助系统。有两
文档评论(0)