《simulink_matlab教程.doc》由会员分享,可在线阅读,更多相关《simulink_matlab教程.doc(40页珍藏版)》请在课桌文档上搜索。
1、第7章 Simulink仿真环境Simulink是面向框图的仿真软件。7.1演示一个Simulink的简单程序【例7.1】创立一个正弦信号的仿真模型。步骤如下:(1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以翻开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。图7.1 Simulink界面(2) 单击工具栏上的图标或选择菜单“File“New“Model,新建一个名为“untitled的空白模型窗口。(3) 在上图的右侧子模块窗口中,单击“Source子模块库前的“+(或双击Source),或者直接在
2、左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。(4) 用鼠标单击所需要的输入信号源模块“Sine Wave(正弦信号),将其拖放到的空白模型窗口“untitled,则“Sine Wave模块就被添加到untitled窗口;也可以用鼠标选中“Sine Wave模块,单击鼠标右键,在快捷菜单中选择“add to untitled命令,就可以将“Sine Wave模块添加到untitled窗口,如图7.2所示。图7.2 Simulink界面(5) 用同样的方法翻开接收模块库“Sinks,选择其中的“Scope模块(示波器)拖放到“untitled窗口中。(6
3、) 在“untitled窗口中,用鼠标指向“Sine Wave右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。(7) 开场仿真,单击“untitled模型窗口中“开场仿真图标,或者选择菜单“Simulink“Start,则仿真开场。双击“Scope模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。图7.3 Simulink模型窗口图7.4 示波器窗口(8) 保存模型,单击工具栏的图标,将该模型保存为“E*0701.mdl文件。7.2 Simulink的文件操作和模型窗口7.2
4、.1 Simulink的文件操作1. 新建文件新建仿真模型文件有几种操作: 在MATLAB的命令窗口选择菜单“File“New“Model。 在图7.1的Simulink模块库浏览器窗口选择菜单“File“New“Model,或者单击工具栏的图标。 在图7.3的Simulink模型窗口选择菜单“File“New“Model,或者单击工具栏的图标。2. 翻开文件翻开仿真模型文件有几种操作: 在MATLAB的命令窗口输入不加扩展名的文件名,该文件必须在当前搜索路径中,例如输入“E*0701。 在MATLAB的命令窗口选择菜单“FileOpen或者单击工具栏的图标翻开文件。 在图7.1的Simuli
5、nk模块库浏览器窗口选择菜单“File“Open或者单击工具栏的图标翻开“.mdl文件。 在图7.3的Simulink模型窗口中选择菜单“File“Open或者单击工具栏的图标翻开文件。7.2.2 Simulink的模型窗口模型窗口由菜单、工具栏、模型浏览器窗口、模型框图窗口以及状态栏组成。状态栏菜单模型框图模型浏览器图7.5 双窗口模型窗口工具栏1. 状态栏2. 工具栏模型窗口工具栏如图7.6所示。开场仿真翻开库浏览器完毕仿真翻开调试器展示父系统单双窗口切换图7.6 工具栏仿真模型更新模块框图创立并编译生成e*e文件3. 菜单Simulink的模型窗口的常用菜单如表7.1所示。表7.1模型窗
6、口常用菜单表菜单名菜单项功能FileNewModel新建模型Model properties模型属性PreferencesSIMULINK界面的默认设置选项Print打印模型Close关闭当前Simulink窗口E*it MATLAB退出MATLAB系统EditCreate subsystem创立子系统Mask subsystem封装子系统Look under mask查看封装子系统的部构造Update diagram更新模型框图的外观ViewGo to parent显示当前系统的父系统Model browser options模型浏览器设置Block data tips options鼠标位
7、于模块上方时显示模块部数据Library browser显示库浏览器Fit system to view自动选择最适宜的显示比例Normal以正常比例(100%)显示模型SimulationStartStop启动停顿仿真PauseContinue暂停继续仿真Simulation Parameters设置仿真参数Normal普通Simulink模型Accelerator产生加速Simulink模型FormatTe*t alignment标注文字对齐工具Filp name翻转模块名ShowHide name显示隐藏模块名Filp block翻转模块Rotate Block旋转模块Library l
8、ink display显示库ShowHide drop shadow显示隐藏阴影效果Sample time colors设置不同的采样时间序列的颜色Wide nonscalar lines粗线表示多信号构成的向量信号线Signal dimensions注明向量信号线的信号数Port data types标明端口数据的类型Storage class显示存储类型ToolsData e*plorer数据浏览器Simulink debuggerSimulink调试器Data class designer用户定义数据类型设计器Linear Analysis线性化分析工具7.3 模型的创立模块的操作1.
9、对象的选定 选定单个对象选定对象只要在对象上单击鼠标,被选定的对象的四角处会出现小黑块编辑框。 选定多个对象如果选定多个对象,可以按下Shift键,然后再单击所需选定的模块;或者用鼠标拉出矩形虚线框,将所有待选模块框在其中,则矩形框中所有的对象均被选中,如图7.7所示。图7.7 选定多个对象 选定所有对象如果要选定所有对象,可以选择菜单“Edit“Select all。2. 模块的复制(1) 不同模型窗口(包括模型库窗口)之间的模块复制 选定模块,用鼠标将其拖到另一模型窗口。 选定模块,使用菜单的“Copy和“Paste命令。 选定模块,使用工具栏的“Copy和“Paste按钮。(2) 在同一
10、模型窗口的复制模块(如图7.8所示) 选定模块,按下鼠标右键,拖动模块到适宜的地方,释放鼠标。 选定模块,按住Ctrl键,再用鼠标拖动对象到适宜的地方,释放鼠标。图7.8 在同一模型窗口复制对象 使用菜单和工具栏中的“Copy和“Paste按钮。3. 模块的移动 在同一模型窗口移动模块选定需要移动模块,用鼠标将模块拖到适宜的地方。 在不同模型窗之间移动模块在不同模型窗之间移动模块,在用鼠标移动的同时按下Shift键。当模块移动时,与之相连的连线也随之移动。 4. 模块的删除要删除模块,应选定待删除模块,按Delete键;或者用菜单“Edit“Clear或“Cut;或者用工具栏的“Cut按钮。
11、5. 改变模块大小选定需要改变大小的模块,出现小黑块编辑框后,用鼠标拖动编辑框,可以实现放大或缩小。6. 模块的翻转 模块翻转180度选定模块,选择菜单“Format“Flip Block可以将模块旋转180度,如同7.9中间为翻转180度示波器模块。 模块翻转90度图7.9 翻转模块选定模块,选择菜单“Format“RotateBlock可以将模块旋转90度,如图7.9右边示波器所示。如果一次翻转不能到达要求,可以屡次翻转来实现。7. 模块名的编辑 修改模块名单击模块下面或旁边的模块名,出现虚线编辑框就可对模块名进展修改。 模块名字体设置选定模块,选择菜单“Format“Font,翻开字体对
12、话框设置字体。 模块名的显示和隐藏选定模块,选择菜单“Format“Hide /Show name,可以隐藏或显示模块名。 模块名的翻转选定模块,选择菜单“Format“Flip name,可以翻转模块名。信号线的操作1. 模块间连线先将光标指向一个模块的输出端,待光标变为十字符后,按下鼠标键并拖动,直到另一模块的输入端。2. 信号线的分支和折曲(1) 分支的产生将光标指向信号线的分支点上,按鼠标右键,光标变为十字符,拖动鼠标直到分支线的终点,释放鼠标;或者按住Ctrl键,同时按下鼠标左键拖动鼠标到分支线的终点,如图7.10所示。图7.10 信号线的分支(2) 信号线的折线选中已存在的信号线,
13、将光标指向折点处,按住Shift键,同时按下鼠标左键,当光标变成小圆圈时,用鼠标拖动小圆圈将折点拉至适宜处,释放鼠标,如图7.11所示。图7.11 信号线的折线3.信号线文本注释(label) 添加文本注释双击需要添加文本注释的信号线,则出现一个空的文字填写框,在其中输入文本。 修改文本注释单击需要修改的文本注释,出现虚线编辑框即可修改文本。 移动文本注释单击标识,出现编辑框后,就可以移动编辑框。 复制文本注释单击需要复制的文本注释,按下Ctrl键同时移动文本注释,或者用菜单和工具栏的复制操作。4. 在信号线中插入模块如果模块只有一个输入端口和一个输出端口,则该模块可以直接被插入到一条信号线中
14、。给模型添加文本注释(1) 添加模型的文本注释在需要当作注释区的中心位置,双击鼠标左键,就会出现编辑框,在编辑框中就可以输入文字注释。(2) 注释的移动在注释文字处单击鼠标左键,当出现文本编辑框后,用鼠标就可以拖动该文本编辑框。7.4 Simulink的根本模块根本模块Simulink的根本模块包括9个子模块库。1. 输入信号源模块库(Sources)输入信号源模块是用来向模型提供输入信号。常用的输入信号源模块源如表7.2所示。表7.2 常用的输入信号源模块表名称模块形状功能说明Constant恒值常数,可设置数值Step阶跃信号Ramp线性增加或减小的信号Sine Wave正弦波输出Sign
15、al Generator信号发生器,可以产生正弦、方波、锯齿波和随机波信号From File从文件获取数据From Workspace从当前工作空间定义的矩阵读数据Clock仿真时钟,输出每个仿真步点的时间In输入模块2. 接收模块库(Sinks)接收模块是用来接收模块信号的,常用的接收模块如表7.3所示。表7.3 常用的接收模块表名称模块形状功能说明Scope示波器,显示实时信号Display实时数值显示*Y Graph显示*-Y两个信号的关系图To File把数据保存为文件To Workspace把数据写成矩阵输出到工作空间Stop Simulation输入不为零时终止仿真,常与关系模块配
16、合使用Out输出模块3. 连续系统模块库(Continuous)连续系统模块是构成连续系统的环节,常用的连续系统模块如表7.4所示。表7.4 常用的连续系统模块表名称模块形状功能说明Integrator积分环节Derivative微分环节State-Space状态方程模型Transfer Fcn传递函数模型Zero-Pole零极点增益模型Transport Delay把输入信号按给定的时间做延时4. 离散系统模块库(Discrete)离散系统模块是用来构成离散系统的环节,常用的离散系统模块如表7.5所示。表7.5 常用的离散系统模块表名称模块形状功能说明Discrete Transfer Fc
17、n离散传递函数模型Discrete Zero-Pole离散零极点增益模型Discrete State-Space离散状态方程模型Discrete Filter离散滤波器Zero-Order Hold零阶保持器First-Order Hold一阶保持器Unit Delay采样保持,延迟一个周期常用模块的参数和属性设置图7.13 模块的参数设置1. 模块参数设置(1) 正弦信号源(Sine Wave)双击正弦信号源模块,会出现如图7.13所示的参数设置对话框。图7.13的上局部为参数说明,仔细阅读可以帮助用户设置参数。Sine type为正弦类型,包括Time-based和Sample-based
18、;Amplitude为正弦幅值;Bias为幅值偏移值;Frequency为正弦频率;Phrase为初始相角;Sample time为采样时间。(2) 阶跃信号源(Step)阶跃信号模块是输入信号源,其模块参数对话框如图7.14所示。图7.14 阶跃信号模块的参数其中:Step time为阶跃信号的变化时刻,initial value为初始值,Final value为终止值,Sample time为采样时间。(3) 从工作空间获取数据(From workspace)从工作空间获取数据模块的输入信号源为工作空间。【例7.2】在工作空间计算变量t和y,将其运算的结果作为系统的输入。 t=0:0.1:
19、10; y=sin(t); t=t; y=y; 然后将“From Workspace模块的参数设置对话框翻开,如图7.15(a)所示,在“Data栏填写“t,y,单击“OK按钮完成。则在模型窗口中该模块就显示为图7.15(b)。用示波器作为接收模块,可以查看输出波形为正弦波。图7.15 (a) 模块参数设置 (b) 从工作空间获取数据模块“Data的输入有几种,可以是矩阵、包含时间数据的构造数组。“From Workspace模块的接收模块必须有输入端口,“Data矩阵的列数应等于输入端口的个数+1,第一列自动当成时间向量,后面几列依次对应各端口。 t=0:0.1:2*pi; y=sin(t)
20、; y1=t;y; save E*0702 y1 %保存在“E*0702.mat文件中(4) 从文件获取数据(From file)从文件获取数据模块是指从mat数据文件中获取数据为系统的输入。图7.16 From File参数设置将【例7.2】中的数据保存到.mat文件: t=0:0.1:2*pi; y=sin(t); y1=t;y; save E*0702 y1 %保存在“E*0702.mat文件中然后将“From File模块的参数设置对话框翻开,如图7.16所示,在“File name栏填写“E*0702.mat,单击“OK按钮完成。用示波器作为接收模块,可以查看输出波形。(5) 传递函
21、数(Transfer function)图7.18 图7.17 传递函数模块参数设置传递函数模块是用来构成连续系统构造的模块,其模块参数对话框如图7.17所示。在上图中设置“Denominator为“1 1.414 1,则在模型窗口中显示为如图7.18所示。(6) 示波器(Scope)示波器模块是用来接收输入信号并实时显示信号波形曲线,示波器窗口的工具栏可以调整显示的波形,显示正弦信号的示波器如图7.19所示。翻开参数对话框纵坐标的自动刻度*-Y坐标变焦*坐标变焦图7.19 示波器窗口把当前的坐标设置保存浮动示波器恢复保存过的坐标设置Y坐标变焦2. 模块属性设置每个模块的属性对话框的容都一样,
22、如图7.22所示。图7.22 模块的属性设置(1) 说明(Description)对模块在模型中用法的注释。(2) 优先级(Priority)规定该模块在模型中相对于其它模块执行的优先顺序。(3) 标记(Tag)图7.23 模块的属性格式字符串用户为模块添加的文本格式标记。(4) 调用函数(Open function)当用户双击该模块时调用的MATLAB函数。(5) 属性格式字符串(Attributes format string)指定在该模块的图标下显示模块的哪个参数和格式。7.5复杂系统的仿真与分析Simulink的模型实际上是定义了仿真系统的微分或差分方程组,而仿真则是用数值解算法来求解
23、方程。仿真的设置在模型窗口选择菜单“Simulation“Simulation parameters,则会翻开参数设置对话框,如图7.24所示。图7.24 Solver参数设置1. Solver页的参数设置(1) 仿真的起始和完毕时间仿真的起始时间(Start time)仿真的完毕时间(Stop time)(2) 仿真步长仿真的过程一般是求解微分方程组,“Solve options的容是针对解微分方程组的设置。(3) 仿真解法Type的右边:设置仿真解法的具体算法类型。(4) 输出模式根据需要选择输出模式(Output options),可以到达不同的输出效果。2. Workspace I/O
24、(工作空间输入输出)页的设置如图7.25所示,可以设置Simulink从工作空间输入数据、初始化状态模块,也可以把仿真的结果、状态模块数据保存到当前工作空间。图7.25 Workspace I/O参数设置(1) 从工作空间装载数据(Load from workspace)(2) 保存数据到工作空间(Save to workspace) Time栏勾选Time栏后,模型将把(时间)变量以在右边空白栏填写的变量名(默认名为tout)存放于工作空间。 States栏勾选States栏后,模型将把其状态变量在右边空白栏填写的变量名(默认名为*out)存放于工作空间。 Output栏如果模型窗口中使用输
25、出模块“Out,则就必须勾选Output栏,并填写在工作空间中的输出数据变量名(默认名为yout)。 Final state栏Final state栏的勾选,将向工作空间以在右边空白栏填写的名称(默认名为*Final),存放最终状态值。(3) 变量存放选项(Save options)Save options必须与Save to workspace配合使用。连续系统仿真【例7.3】建立二阶系统的仿真模型。方法一:输入信号源使用阶跃信号,系统使用开环传递函数,承受模块使用示波器来构成模型。(1) 在“Sources模块库选择“Step模块,在“Continuous模块库选择“Transfer Fc
26、n模块,在“Math Operations模块库选择“Sum模块,在“Sinks模块库选择“Scope。(2) 连接各模块,从信号线引出分支点,构成闭环系统。图7.26 Sum参数设置(3) 设置模块参数,翻开“Sum模块参数设置对话框,如图7.26所示。将“Icon shape设置为“rectangular,将“List of signs设置为“|+-,其中“|表示上面的入口为空。“Transfer Fcn模块的参数设置对话框中,将分母多项式“Denominator设置为“1 0.6 0。将“Step模块的参数设置对话框中,将“Step time修改为0。(4) 添加信号线文本注释双击信号线
27、,出现编辑框后,就输入文本。则模型如图7.27所示。图7.27 二阶系统模型(5) 仿真并分析单击工具栏的“Start simulation按钮,开场仿真,在示波器上就显示出阶跃响应。在Simulink模型窗口,选择菜单“Simulation“Simulation parameters命令,在“Solver页将“Stop time设置为15,然后单击“Start simulation按钮,示波器显示的就到15秒完毕。翻开示波器的Y坐标设置对话框,将Y坐标的“Y-min改为0,“Y-ma*改为2,将“Title设置为“二阶系统时域响应,则示波器如图7.28所示。图7.28 示波器显示方法二:(1
28、) 系统使用积分模块(Integrator)和零极点模块(zero-pole)串联,反应使用“Math Operations模块库中的“Gain模块构成反应环的增益为-1。(2) 连接模块,由于“Gain模块在反应环中,因此需要使用“Flip Block翻转该模块。(3) 设置模块参数,将“zero-pole模块参数对话框中的“Zeros栏改为“,将“Poles栏改为-0.6。图7.29 二阶系统模型将“Gain模块的“Gain参数改为-1。模型如图7.29所示。如果将示波器换成“Sinks模块库中的“Out模块;然后在仿真参数设置对话框的“Workspace I/O页(工作空间输入输出),将
29、“Time和“Output栏勾选,并分别设置保存在工作空间的时间量和输出变量为“tout和“yout。仿真后在工作空间就可以使用这两个变量来绘制曲线,如图7.30所示: plot(tout,yout)图7.30 plot绘制的时域响应波形离散系统仿真【例7.4】控制局部为离散环节,被控对象为两个连续环节,其中一个有反应环,反应环引入了零阶保持器,输入为阶跃信号。创立模型并仿真:(1) 选择一个“Step模块,选择两个“Transfer Fcn模块,选择两个“Sum模块,选择两个“Scope模块,选择一个“Gain模块,在“Discrete模块库选择一个“Discrete Filter和一个“Z
30、ero-Order Hold模块。(2) 连接模块,将反应环的“Gain模块和“Zero-Order Hold模块翻转。(3) 设置参数,“Discrete Filter和“Zero-Order Hold模块的“Sample time都设置为0.1s。图7.31离散系统框图(4) 添加文本注释,系统框图如图7.31所示。(5) 设置颜色,Simulink为帮助用户方便地跟踪不同采样频率的运作围和信号流向,可以采用不同的颜色表示不同的采样频率,选择菜单“Format“Sample time color,就可以看到不同采样频率的模块颜色不同。(6) 开场仿真,在Simulink模型窗口,选择菜单“
31、Simulation“Simulation parameters,将“Ma* step size设置为0.05s,则两个示波器“Scope和“Scope1的显示如图7.32所示。图7.32 T=Tk=0.1 (a) d(k)示波器显示 (b) y(t)示波器显示可以看出当T=Tk=0.1时系统的输出响应较平稳。图7.33 T=0.6 Tk=0.1 (a) d(k)示波器显示 (b) y(t)示波器显示(7) 修改参数,将“Discrete Filter模块的“Sample time设置为0.6s,“Zero-Order Hold模块的“Sample time不变;选择菜单“Edit“Updat
32、e diagram命令修改颜色,就可以看到“Discrete Filter模块的颜色变化了;然后开场仿真,则示波器显示如图7.33所示。可以看出当T=0.6而Tk=0.1时,系统出现振荡。(8) 修改参数,将“Discrete Filter和“Zero-Order Hold模块的“Sample time都设置为0.6s,更新框图颜色,开场仿真,则示波器显示如图7.34所示。图7.34 T=0.6 Tk=0.1 (a) d(k)示波器显示 (b) y(t)示波器显示当T=Tk=0.6时,系统出现强烈的振荡。仿真构造参数化当系统参数需要经常改变或由函数得出时,可以使用变量来作为模块的参数。【例7.
33、5】将【例7.4】中的模块构造参数用变量表示,构造图如图7.35所示。图7.35离散系统框图将参数设置放在E*0705_1.m文件中:% E*0705_1 参数设置T=0.1; %控制环节采样时间Tk=0.6; %零阶保持器采样时间k=0.03; %Gain增益zt1=1.44;zt2=-1.26;zt3=1;zt4=-1;tf11=6.7;tf12=0.1;tf13=1;tf21=1;tf22=3;tf23=1在MATLAB工作空间运行该文件: E*0705_1 7.6子系统与封装建立子系统子系统类似于编程语言中的子函数。建立子系统有两种方法:在模型中新建子系统和在已有的子系统根底上建立。1
34、. 在已建立的模型中新建子系统【例7.6】翻开【例7.4】建立的模型,将控制对象中的第一个连续环节中的反应环建立为一个子系统。在模型窗口中,将控制对象中的第一个连续环节的反应环用鼠标拖出的虚线框框住,选择菜单“Edit“Create subsystem,则系统如图7.36所示。图7.36 子系统建立双击子系统,则会出现“Subsystem模型窗口,如图7.37所示。可以看到子系统模型除了用鼠标框住的两个环节,还自动添加了一个输入模块“In1和一个输出模块“Out1。2. 在已有的子系统根底上建立【例7.7】在【例7.6】的根底上建立新子系统,将【例7.6】模型的控制对象中的第一个对象环节整个作
35、为一个子系统。将图7.36中的所有对象都复制到新的空白模型窗口中,双击翻开子系统“Subsystem,则出现如图7.37所示的子系统模型窗口,添加模型构成反应环形成闭环系统,如图7.38所示。图7.38 子系统模块窗口图7.37 子系统模型窗口然后将系统模型修改为如图7.39所示的系统。图7.39 包含子系统的模型创立的子系统可以翻开和修改,但不能再解除子系统设置。条件执行子系统1. 使能子系统(Enabled Subsystem)图7.41 (a) “Enable模块参数设置 (b) “Out1模块参数设置【例7.8】建立一个用使能子系统控制正弦信号为半波整流信号的模型。模型由正弦信号“Si
36、ne wave为输入信号源,示波器“Scope为接收模块,使能子系统“Enabled Subsystem为控制模块,连接模块,将“Sine wave模块的输出作为“Enabled Subsystem的控制信号,模型如图7.42(a)所示。开场仿真,由于“Enabled Subsystem的控制为正弦信号,大于零时执行输出,小于零时就停顿,则示波器显示为半波整流信号,示波器的显示如图7.42(b)所示。图7.42 (a) 使能子系统模型 (b) 示波器显示2. 触发子系统(Triggered Subsystem)图7.43 (a) 触发子系统模型 (b) 示波器显示【例7.9】建立一个用触发子系
37、统控制正弦信号输出阶梯波形的模型。模型由正弦信号“Sine wave为输入信号源,示波器“Scope为接收模块,触发子系统“Triggered Subsystem为控制模块,选择“Sources模块库中的“Pulse Generator模块为控制信号。连接模块,将“Pulse Generator模块的输出作为“Triggered Subsystem的控制信号,模型如图7.43(a)所示。开场仿真,由于“Triggered Subsystem的控制为“Pulse Generator模块的输出,示波器输出如图7.43(b)所示。3. 使能触发子系统(Enabled and Triggered Su
38、bsystem)使能触发子系统就是触发子系统和使能子系统的组合,含有触发信号和使能信号两个控制信号输入端,触发事件发生后,Simulink检查使能信号是否大于0,大于0就开场执行。子系统的封装1. 封装子系统的步骤(1) 选中子系统双击翻开,给需要进展赋值的参数指定一个变量名;(2) 选择菜单“Edit“Mask subsystem,出现封装对话框;(3) 在封装对话框中的设置参数,主要有“Icon、“Parameters、“Initialization和“Documentation四个选项卡。2. Icon选项卡Icon选项卡用于设定封装模块的名字和外观,如图7.44所示。图7.44 Ico
39、n参数设置(1) Drawing commands栏用来建立用户化的图标,可以在图标中显示文本、图像、图形或传递函数等。在Drawing commands栏中的命令如上图中“E*amples of drawing commands的下拉列表所示,包括plot、disp、te*t、port_label、image、patch、color、droots、dploy和fprintf。(2) Icon Options栏用于设置封装模块的外观。3. Parameters选项卡Parameters选项卡用于输入变量名称和相应的提示,如图7.45所示。图7.45 Parameters参数设置(1) Add、
40、Delete、Move up和Move down按钮用于添加、删除、上移和下移输入变量。(2) Dialog Parameters Prompt:输入变量的含义,其容会显示在输入提示中。 Variable:输入变量的名称。 type:给用户提供设计编辑区的选择。“Edit提供一个编辑框;“Checkbo*提供一个复选框;“Popup提供一个弹出式菜单。 Evaluate:用于配合“type的不同选项提供不同的变量值,有两个选项“Evaluate和“Literal,其含义如表7.6所示。表7.6 Assignment选项的不同含义 EvaluatetypeonoffEdit输入的文字是程序执行时
41、所用的变量值将输入的容作为字符串Checkbo*输出1和0输出为on或offPopup将选择的序号作为数值,第一项则为1将选择的容当作字符串(3) Options for selected parameter Pops:当“type选择“Popup时,用于输入下拉菜单项。 Callback:用于输入回调函数。4. Initialization选项卡Initialization选项卡用于初始化封装子系统。5. Documentation选项卡Documentation选项卡用于编写与该封装模块对应的Help和说明文字,分别有“Mask type、“Mask Description和“Mask h
42、elp栏。(1) Mask type栏用于设置模块显示的封装类型。(2) Mask Description栏用于输入描述文本。(3) Mask help栏用于输入帮助文本。6. 按钮设置参数设置对话框中的“Apply按钮用于将修改的设置应用于封装模块;“Unmask按钮用于将封装撤销,则双击该模块就不会出现定制的对话框。【例7.10】创立一个二阶系统,并将子系统进展封装。创立一个二阶系统,将其闭环系统构成子系统,并封装将阻尼系数zeta和无阻尼频率wn作为输入参数。(1) 创立模型,并将系统的阻尼系数用变量zeta表示,无阻尼频率用变量wn表示,如图7.46所示。图7.46 二阶系统模型(2)
43、 用虚线框框住反应环,选择菜单“Edit“Create Subsystem,则产生子系统,如图7.47所示。图7.47 子系统模型(3) 封装子系统,选择菜单“Edit“Mask subsystem,出现封装对话框,将zeta和wn作为输入参数。在Icon选项卡中设置的“Drawing commands栏中写文字并画曲线,命令如下:disp(二阶系统)plot(0 1 2 3 10,-e*p(-0 1 2 3 10)在Parameters选项卡中,单击“Add按钮添加两个输入参数,设置“Prompt分别为“阻尼系数和“无阻尼振荡频率,并设置“type栏分别为“Popup和“edit,对应的“V
44、ariable为“zeta和“wn,设置“Popups为“0 0.3 0.5 0.707 1 2,如图7.48(a)所示。在Initialization选项卡初始化输入参数,如图7.48(b)所示。图7.48 (a) Parameters选项卡 (b) Initialization选项卡在Documentation选项卡中输入提示和帮助信息,如图7.48(c)所示。图7.48(c) Documentation选项卡 单击“OK按钮,完成参数设置,然后双击该封装子系统,则出现如图7.49(a)所示的封装子系统,双击该子系统出现图7.49(b)所示的输入参数对话框,在对话框中输入“阻尼系数zeta和“无阻尼振荡频率wn的值,再不需要为子系统中的每个模块分别翻开参数设置对话框了。图7.49 (a) 封装子系统外观