- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章Simulink建模和仿真 7.5子系统和子系统的封装 注意:在这种情况下只能用范围框,而不能用Shift逐个选定。 为了能使范围框框住所有需要的模块,重新安排模块的 位置常常似乎是必要的。 步骤二: 在模块窗口菜单选项中选择【EditCreat Subsystem】,Simulink将会用一个子系统模块代替被选中的模块组,如图7.5.5所示。 图7.5.5 压缩后的模型图 第七章Simulink建模和仿真 7.5子系统和子系统的封装 步骤三: 子系统模块将有一个默认输入端口和输出端口。输入端口和输出端口的默认名分别为In1和Out1。调整子系统和模型窗口的大小使之美观,如图7.5.6所示。 图7.5.6 压缩后的模型图 第七章Simulink建模和仿真 7.5子系统和子系统的封装 若想查看子系统内容或对子系统进行再编辑,可以双击子系统模块,则会出现一个显示子系统内容的新窗口。在窗口内,除了原始的模块外,Simulink自动添加了输入模块和输出模块,分别代表子系统的输入端口和输出端口。改变它们的标签会使子系统的输入输出端口的标签也随着变化。 特别注意:菜单命令【Edit/Creat Subsystem】没有相反的操作命令。也就是说一旦将一组模块压缩成子系统,就没有直接还原的处理方法了(UNDO除外)。因此一个理想的处理方法是在压缩子系统之前先把模型保存一下,作为备份。 二、子系统模块 在创建模型的时候,如果需要一个子系统,也可以直接在子系统窗口中创建。这样就省去了上面的压缩子系统和重新安排窗口的步骤。 要使用子系统模块创建新的子系统,先从Signals Systems模块库中拖一个子系统模块到模型窗口中。双击子系统模块,就会出现一个子系统编辑窗口。 注意:在信号输入端口要使用一个输入模块,在信号输出端口要使用一个输出模块。 子系统创建完毕后,关闭子系统窗口。关闭子系统窗口之前不需要做任何保存操作。子系统作为模型的一部分,当模型被保存时,子系统会自动保存。 第七章Simulink建模和仿真 7.5子系统和子系统的封装 第七章Simulink建模和仿真 7.5子系统和子系统的封装 例7.5.1 模拟如图7.5.7所示的弹簧-质量系统的运动状态。 单个小车系统的运动方程如下: 图7.5.7 弹簧-质量系统 先建立如图7.5.8所示的单个小车系统的子系统 图7.5.8 单个小车系统 第七章Simulink建模和仿真 7.5子系统和子系统的封装 使用子系统模块创建如图7.5.9所示的子系统,此子系统用来模拟一个小车的运动。子系统的输入为小车的左距x(n-1)和右距x(n+1),输出为小车的当前位置x(n). 子系统完成之后,关闭 子系统窗口。复制两次此子系统模块,并如图7.5.10所示链接起来。 图7.5.9 小车1的子系统模型 图7.5.10 使用子系统的三小车模型 第七章Simulink建模和仿真 7.5子系统和子系统的封装 为了可以对每个小车的参数进行赋值,要做以下设置: ⑴ 对小车1,将标签为LeftSpring的增益模块的增益系数设置为k1,标签为RightSpring 的增益模块的增益系数设置为k2,标签为1/mass的增益模块的增益系数设置为1/m1。设置速度积分模块的初始值为0,位置积分模块的初始值为1。 ⑵ 对小车2,将标签为LeftSpring 的增益模块的增益系数设置为k2,标签为RightSpring 的增益模块的增益系数设置为k3,标签为1/mass的增益模块的增益系数设置为1/m2。设置速度积分模块的初始值为0,位置积分模块的初始值为1。 ⑶ 对小车3,将标签为LeftSpring的增益模块的增益系数设置为k3,标签为RightSpring 的增益模块的增益系数设置为k4,标签为1/mass的增益模块的增益系数设置为1/m3。设置速度积分模块的初始值为0,位置积分模块的初始值为1。 第七章Simulink建模和仿真 7.5子系统和子系统的封装 此时就可以很方便地 使用Matlab变量对弹簧常数k1,k2,k3和小车质量m1,m2,m3进行赋值。这里使用了一个名为set_k_m 的M文件对它进行赋值,如下所示: set the spring constants and block mass values k1=1; k2=2; k3=4; m1=1; m2=3; m3=2; 仿真开始之前在Matlab命令窗口中运行此M文件。 然后,指定示波器模块把显示数据保存到工作间中,并设置仿真的起始时间(StartTime)为0,终止时间(StopTime)为100。 仿真结束后,在Matlab窗口中把所得到的小车3的显示数据绘制成图。
文档评论(0)