第10章Simulink动态仿真_第1页
第10章Simulink动态仿真_第2页
第10章Simulink动态仿真_第3页
第10章Simulink动态仿真_第4页
第10章Simulink动态仿真_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第10章 Simulink动态仿真 10.1 Simulink窗口 10.2 建模方法 10.3 运行仿真 10.4 库模块介绍 10.5综合实例10.1 Simulink窗口 10.1.1 Simulink启动与界面在MATLAB命令窗口中输入 simulink,按回车键Enter;或通过MATLAB主窗口的快捷按钮 直接打开。首先出现Simulink库浏览器窗口“Simulink Library Browser”,如图所示。窗口给出了界面标注说明,列出了窗口给出了界面标注说明,列出了Simulink公共模块库中的子库:公共模块库中的子库:Commonly Used Blocks(常用模块)

2、、(常用模块)、Continuous(连续模块)、(连续模块)、Discontinuities(非连续模块)、(非连续模块)、Discrete(离散模块)、(离散模块)、Logic and Bit Operations(逻辑和位操作模块)、(逻辑和位操作模块)、Lookup Tables(查表(查表函数模块)、函数模块)、Math Operations(数学函数模块)、(数学函数模块)、Model Verification(模型检测模块)、(模型检测模块)、Model-Wide Utilities(模型扩充(模型扩充模块)、模块)、Ports & Subsystems(端口与子系统模块

3、)、(端口与子系统模块)、Signal Attributes(信号属性模块)、(信号属性模块)、Signal Routing(信号路径模块)、(信号路径模块)、Sinks(接收器输出模块)、(接收器输出模块)、Sources(输入源模块)、(输入源模块)、User-Defined Functions(用户自定义函数模块)、(用户自定义函数模块)、Additional Math & Discrete(附加数学与离散模块)等标准模块库。(附加数学与离散模块)等标准模块库。10.1.2 模型编辑窗口1创建新模型窗在Simulink Library Browser的窗口中选择菜单“File”“

4、New”“Model”命令,或直接点击工具栏新建图标,即可打开一个名为“untitled”的新建模型窗口, 2模型窗口组成 整个模型窗口包括:菜单栏、工具栏、模型框图窗口和状态栏等部分。(1)菜单名称与功能。)菜单名称与功能。 模型窗口的菜单提供了模型建立和仿真的几乎全部功能,其名称模型窗口的菜单提供了模型建立和仿真的几乎全部功能,其名称和功能如表和功能如表 File菜单名称与功能菜单名称与功能主要子菜单功 能New新建模型(Model)或库(Library)Open打开一个模型Close关闭模型Save保存模型,其扩展名为.mdlSave as模型另存为Source control设置Sim

5、ulink 与资源控制系统接口Model Properties打开“模型属性”对话框Preferences打开“模型参数设置”对话框,用于设置用户界面的显示形式等属性Export to Web将系统、子系统内部结构输出到Web网页Reports形成系统设置描述和需求报告Print打印模型文件Print Details打印成为HTML 格式的详细描述文件,含模块图标和模块参数设置等Print Setup打印设计Enable Tiled Printing平铺打印设置选项Exit MATLAB退出MATLAB Edit菜单名称与功能菜单名称与功能主要子菜单功 能Copy Model to Clipb

6、oard将模型图复制到剪切板Find查找Simulink对象、状态流程对象等Variant模块函数等变体操作Create Subsystem创建子系统,当有模块被选中时才可用Mask Subsystem封装子系统,当有子系统被选中时才可用Look Under Mask查看子系统内部结构,当有子系统被选中时才可用Link Options链接选项Link and Model Blocks链接模块的输入/输出口和参数Update Diagram更新模型框图的外观属性 View菜单名称与功能菜单名称与功能主要子菜单功 能Go to parent显示当前系统的父系统Toolbar显示或隐藏工具条Stat

7、us Bar显示或隐藏状态条Model Browser Options模型浏览器设置Block Data Tips Options模块数据提示选项,设定鼠标位于模块上方时是否显示数据信息Requirements选择增加与Word、Excel等连接Library Browser打开库浏览器Model Explorer打开模块资源管理器 Simulink Project导入Simulink选项Signal Hierarchy打开信号层次结构Sample Time Legend样本时间注释MATLAB Desktop打开MATLAB桌面窗口Fit system to view自动选择最合适的显示比例

8、Show Page Boundaries显示页面边界Port Values Labels设置打开或关闭模块端口的输出提示标签Remove Highlighting删除高亮显示Simulation菜单名称与功能菜单名称与功能主要子菜单功 能Start/ Stop启动/停止仿真Configuration Parameters设置仿真参数Normal标准仿真模式Accelerator加速仿真模式Rapid Accelerator快速加速仿真模式Software-in-the-Loop利用软件在回路快速进行设计验证Processor-in-the-Loop进行在环仿真External外部仿真模式 Fo

9、rmat菜单名称与功能菜单名称与功能主要子菜单功 能Font打开对话框设置文本字体和大小Text Alignment标注文字对齐工具Enable TeX commands使用TeX格式编辑文本标注,如数学符号、希腊字母等Show/Hide name显示/隐藏模块名Show Drop Shadow显示模块阴影,当有模块被选中时才可用Show Port Label端口标签显示模式,当有模块被选中时才可用Foreground color设置模块前景颜色Background color设置模块背景颜色Screen color设置模块窗口屏幕颜色Show smart Guides显示智能向导设置Alig

10、n Blocks模块排列设置Distribute Blocks模块分布设置Resize Blocks调整模块大小,当有模块被选中时才可用Flip Name翻转模块名字,当有模块被选中时才可用Flip Block翻转模块图标,当有模块被选中时才可用Rotate Block旋转模块图标,当有模块被选中时才可用Port/Signal Displays端口/信号信息显示设置Block Displays模块信息显示设置Library Link Display 库链接信息显示设置Sample Time Display采样时间信息显示设置Tools菜单名称与功能菜单名称与功能主要子菜单功 能Simulink

11、 Debugger打开Simulink调试器Model Advisor打开模型咨询工具,帮助用户检查和分析模型的配置Model Dependencies 使用模型文件清单Fixed-Point打开定点设置对话框Lookup Table Editor打开查表编辑器,帮助用户检查和修改模块的参数Data Class Designer打开数据类设计器,帮助用户创建自定义数据类Bus Editor打开总线编辑器,查看或编辑总线对象Profiler剖析工具,当仿真运行结束后会自动生成并弹出一个仿真报告文件Coverage Settings覆盖模块窗口、模型系统等设置Requirements选择高亮模块,

12、检查的一致性、生成报告等输出类型Design Verifier打开设置验证器Inspect Logged Signals检查记录信号Signal & Scope Manager打开信号和示波器的管理器,帮助用户创建信号生成模块和示波器模块Code Generation打开生成代码器,形成各种系统代码External Mode Control Panel打开外部模式控制面板,用于设置外部模式的各种特性Control Design用于控制设计Parameter Estimation打开参数控制和估计管理器Response Optimization打开设计优化窗口的响应优化选项Report

13、Generator用于打开报告生成器Verification Wizards选择协同仿真向导方式,指定为FPGA硬件在环选项HDL Code GenerationHDL代码生成Compare Simulink XML Files选择文件导出到XML进行比较Data Object Wizard数据对象向导Simulink Code Inspector仿真代码检查SystemTest系统检测器Mplay Video Viewer打开Mplay视频浏览窗口Run on Target Hardware进入到安装或更新硬件目标窗口(2)工具栏功能 模型窗口工具栏包含模型建立和仿真过程中常用的命令按钮,其

14、功能如图 (3)模型框图窗口 模型框图窗口是模型编辑区,主要建立由输入、输出模块,被模拟的系统模块,以及信号线等部分组成的系统模型。(4)状态栏状态栏是仿真过程中的状态信息,图下方的状态栏有六小部分,从左至右依次为: 模型状态信息。 图面比例,如“100%”表示编辑框模型的显示比例。 仿真进程条(第一空栏处)。 当前仿真时间(第二空栏处)。 解算方法,如“ode45”表示仿真所采用的算法。 模型状态条。10.1.3 模型构成及步骤1仿真模型的构成(1)信号源模块。信号源为系统的输入,包括常数信号源、函数信号发生器(如正弦波和阶跃函数)以及用户自己在MATLAB中创建的自定义信号。(2)被模拟的

15、系统模块。系统模块作为仿真的中心模块,它是Simulink仿真建模所要解决的主要问题。(3)输出显示模块。系统的输出由显示模块接收。输出显示的形式包括示波器显示、图形显示、以及输出到数据文件或MATLAB工作空间。2仿真过程的步骤(1)打开一个空白的模型窗口。)打开一个空白的模型窗口。(2)打开)打开Simulink模块库浏览界面,将相应模块库中所需的模块拖到模型窗口模块库浏览界面,将相应模块库中所需的模块拖到模型窗口里。里。(3)设置各个模块的参数。双击需要进行参数设置的模块,在弹出的对话框中,)设置各个模块的参数。双击需要进行参数设置的模块,在弹出的对话框中,上半部分为参数说明,下半部分供

16、用户填写模块参数。上半部分为参数说明,下半部分供用户填写模块参数。(4)用信号线将各个模块连接起来,搭建所需要的系统模型。)用信号线将各个模块连接起来,搭建所需要的系统模型。(5)设置仿真参数。在模型窗口选择菜单)设置仿真参数。在模型窗口选择菜单“Simulink”“Configuration Parameters”命令,打开仿真参数设置对话框,设置仿真参数。命令,打开仿真参数设置对话框,设置仿真参数。(6)启动仿真。选择模型窗口菜单)启动仿真。选择模型窗口菜单“Simulink”“Start”命令,仿真将执行。命令,仿真将执行。并可借助示波器等模块,显示仿真结果。并可借助示波器等模块,显示仿

17、真结果。 【例10-1】 创建求解微分方程 的正弦信号仿真模型。仿真过程如下:首先,打开如图10-1所示的Simulink库模块浏览器,单击窗口工具栏图标,建立一个空模块窗口,如图10-2所示,然后可以在此窗口中创建Simulink模型。dx= sint,x(0) = 0dt步骤一:添加模块步骤二:连接模块步骤三:运行仿真 10.2 建模方法 10.2.1 模块操作 1. 模块的选定在进行模块操作之前,应先打开一个新的模型窗口。(1)从Simulink的模块库中选择所需的模块方法。单击所需要的模块,然后将其拖到需要创建仿真模型的窗口,释放图标,这时所需要的模块将出现在模型窗口中。(2)在模型窗

18、口中选定模块。 选中单个模块:在模块上单击鼠标,模块的四角处出现小黑块编辑框,即选中模块。 选中多个模块:先按下Shift键,然后单击所需选定的模块;或者用鼠标拉出矩形虚线框,将所有待选模块框在其中,则矩形框中所有的模型均被选中。 选中所有模块:选择菜单“Edit”“Select all”命令。2模块复制(1)不同模型窗口(包含模型库窗口)之间的模块复制。 选中模块,用鼠标左键将其拖到另一模型窗口,释放鼠标。 使用菜单的Copy和Paste命令。 使用工具栏的和按钮。(2)在同一模型窗口内的复制模块。 选中模块,按下鼠标右键,拖动模块到合适的地方,释放鼠标。 按住Ctrl键,再用鼠标拖动对象到

19、合适的地方,释放鼠标。 使用工具栏的和按钮。复制后所得模块与原模块属性相同,在同一模型窗口中,这些模块名后面自动加上相应的编号来进行区分。3模块移动(1)在同一模型窗口移动模块。选中需要移动模块,用鼠标将模块拖到合适的地方。(2)在不同模型窗之间移动模块。在不同模型窗之间移动模块,在用鼠标移动的同时按下Shift键。当模块移动时,与之相连的连线也随之移动。 4模块删除(1)选中模块,按)选中模块,按Delete键。键。(2)选中模块,用菜单)选中模块,用菜单“Edit”“Clear”命令。命令。(3)选中模块,用菜单)选中模块,用菜单“Edit”“Cut”命令,或者用工具栏的命令,或者用工具栏

20、的“Cut”按钮,按钮,可将模块删除并保存到剪切板中。可将模块删除并保存到剪切板中。5调整模块大小选中需要改变大小的模块,出现小黑块编辑框后,用鼠标拖动编辑框,可选中需要改变大小的模块,出现小黑块编辑框后,用鼠标拖动编辑框,可以实现放大或缩小。以实现放大或缩小。6模块旋转(1)模块旋转)模块旋转180。选中模块,选择菜单。选中模块,选择菜单“Format”“Flip Block”命令即可。命令即可。(2)模块旋转)模块旋转90。选中模块,选择菜单。选中模块,选择菜单“Format”“Rotate Block”命令,可以将模块按顺时针方向旋转命令,可以将模块按顺时针方向旋转90。(3)选中模块,

21、右击鼠标,从弹出的快捷键中选择相应的命令,完成上)选中模块,右击鼠标,从弹出的快捷键中选择相应的命令,完成上述旋转。述旋转。7模块名的编辑(1)修改模块名。单击模块名,出现虚线编辑框就可对模块名进行修改。)修改模块名。单击模块名,出现虚线编辑框就可对模块名进行修改。(2)模块名字体设置。选中模块,选择菜单)模块名字体设置。选中模块,选择菜单“Format”“Font”命令,打开命令,打开字体对话框设置字体。字体对话框设置字体。(3)模块名的显示和隐藏。选中模块,选择菜单)模块名的显示和隐藏。选中模块,选择菜单“Format”“Hide /Show name”命令,可以隐藏或显示模块名。命令,可

22、以隐藏或显示模块名。(4)模块名的翻转。选中模块,选择菜单)模块名的翻转。选中模块,选择菜单“Format”“Flip name”命令,命令,可以翻转模块名。可以翻转模块名。8颜色设定选择菜单选择菜单“Format”“Foreground color”命令改变模块的前景颜色,命令改变模块的前景颜色,选择菜单选择菜单“Format” “Background color”命令改变模块的背景颜色,命令改变模块的背景颜色,选择菜单选择菜单“Format”“Screen color”命令改变模块窗口的颜色。命令改变模块窗口的颜色。9模块参数设置 Simulink中几乎所有模块都有一个模块参数对话框,内有

23、模块功能说中几乎所有模块都有一个模块参数对话框,内有模块功能说明和用户设置参数。打开模型参数对话框的方法有:明和用户设置参数。打开模型参数对话框的方法有:(1)双击要设置的模块就会弹出模块参数对话框。)双击要设置的模块就会弹出模块参数对话框。(2)在模型窗口选中模块,选择菜单)在模型窗口选中模块,选择菜单“Edit”“BLOCK parameters”命令,其中命令,其中BLOCK指的是相应选中模块的模块名。指的是相应选中模块的模块名。(3)在模型窗口选中模块,单击鼠标右键,从弹出的快捷菜单选择)在模型窗口选中模块,单击鼠标右键,从弹出的快捷菜单选择“BLOCK parameters”,其中,

24、其中BLOCK的位置显示相应选中模块的模的位置显示相应选中模块的模块名。块名。10模块特性设置(1)在模型窗口选中模块,选择菜单)在模型窗口选中模块,选择菜单“Edit”“Block parameters”命令,命令,显示模型特性对话框。显示模型特性对话框。(2)在模型窗口选中模块,单击鼠标右键,从弹出的快捷菜单选择)在模型窗口选中模块,单击鼠标右键,从弹出的快捷菜单选择“Block parameters”。每个模块的特性对话框的内容都相同,包括常规项每个模块的特性对话框的内容都相同,包括常规项“General”、模块注释、模块注释“Block Annotation”、回调信号、回调信号“Ca

25、llbacks”。其中,常规项。其中,常规项“General”中包括:中包括: Description(说明):对模块在模型中用法的注释。(说明):对模块在模型中用法的注释。 Priority(优先级):规定该模块在模型中相对于其它模块执行的优先顺序。(优先级):规定该模块在模型中相对于其它模块执行的优先顺序。 Tag(标记):用户为模块添加的文本格式标记。(标记):用户为模块添加的文本格式标记。10.2.2 模块连接1手动连接模块 模块间连接是用信号线完成的,其方法是先将光标指向一个模块的输出端,待光标变为十字符后,按下鼠标键并拖动,直到另一模块的输入端。如果两个模块在一条水平线,则信号线是

26、直线 如果两个模块不在一条水平线,则信号线是折线。 3. 在信号线中插入模块 如果模块只有一个输入端口和一个输出端口,则该模块可以直接被插入到一条信号线中。如将图中的“Gain”模块插到“Constant”与“Unit Delay”模块之间,只需用鼠标将“Gain”模块拖到信号线上即可 4移动信号线 若想移动信号线的某段,单击选中此段;移动鼠标到目标线段若想移动信号线的某段,单击选中此段;移动鼠标到目标线段上,则鼠标的形状变为移动图标;按住鼠标,并拖曳到新位置;上,则鼠标的形状变为移动图标;按住鼠标,并拖曳到新位置;放开鼠标,则信号线被移动到新的位置。放开鼠标,则信号线被移动到新的位置。5删除

27、信号线 首先选中信号线,然后按首先选中信号线,然后按Delete键,或者选择菜单键,或者选择菜单“Edit”“Clear”或或“Edit”“Cut”命令进行删除。命令进行删除。6信号线文本注释(1)添加文本注释。双击需要添加文本注释的信号线,则出现一个空的文字填写框,在其中输入文本。(2)修改文本注释。单击需要修改的文本注释,出现虚线编辑框即可修改文本。(3)移动文本注释。单击标识,出现编辑框后,就可以移动编辑框。(4) 复制文本注释。单击需要复制的文本注释,按下Ctrl键同时移动文本注释,或者用菜单和工具栏的复制操作。 7信号线附加说明(1)信号线粗线显示。选择菜单“Format”“Port

28、/Signal Displays”“Wide nonscalar lines”命令,即可把图中传递向量(矩阵)数据的信号线用粗线标出,与其它变量区别开来。(2)信号线彩色显示。选择菜单“Format”“Sample Time Display”“Colors”命令,将用不同颜色显示采用频率不同的模块和信号线。10.2.3 模型注释1添加模型的文本注释在需要当作注释区的中心位置,双击鼠标左键,就会出现编辑框,在编辑框中就可以输入文字注释。2注释的移动在注释文字处单击鼠标左键,当出现文本编辑框后,用鼠标就可以拖动该文本编辑框。10.3.1 设置仿真参数 在模型窗口选择菜单“Simulink”“Con

29、figuration Parameters”命令,打开仿真参数设置对话框,如图所示。在此对话框中,选项“Select”包含以下几类:10.3 运行仿真 Solver:用于设置仿真起始和停止时间,选择微分方程求解算法并为其规定参数,以及选择某些输出选项。 Data Import/Export:用于管理工作空间数据的导入和导出。 Optimization:用于设置仿真优化模式。 Diagnostics:用于设置在仿真过程中出现各类错误时发出警告的等级。 Hardware Implementation:用于设置实现仿真的硬件。 Model Referencing:用于设置模型引用的有关参数。 Sim

30、ulation Target:用于设置仿真模型目标。 Code Generation:用于生成仿真代码、嵌入代码、HDL代码等。1. Solver类选项的参数设置(1)Simulink time(仿真时间):“Start time”仿真的起始时间,默认为0.0;“Stop time”仿真的结束时间,默认为10.0。时间单位为秒(s),但与实际时钟的秒不同。如仿真时间为10s,如果步长为0.1s,则仿真要执行100步。(2)Solver options(算法选项):在“Type”编辑框中选择算法类别:变步长“Variable-step”和固定步长“Fixed-step”算法,其右边设置仿真解法“

31、Solver”的具体算法类型 1)变步长模式的仿真算法主要有: Discrete(no continous states):适用于没有连续状态变量的离散系统。 ode45:四/五阶龙格-库塔法,采用单步算法,适用于大多数连续或离散系统,但不适用刚性系统。 ode23:二/三阶龙格-库塔法,采用单步算法。 ode113:是一种阶数可变算法。 ode15s:是一种基于数值微分公式的算法,采用多步算法,适用于刚性系统。 ode23s:采用单步算法,专门用于刚性系统。 ode23t:无数字震荡的算法,用于求解适度刚性问题。 ode23tb:在较大的容许误差下可能比ode15s方法有效。2)固定步长模式

32、的仿真算法:)固定步长模式的仿真算法: Discrete(no continous states):用于不存在状态变量的系统。):用于不存在状态变量的系统。 ode5、ode8:Dormand-Prince方法,适用于大多数连续或离散系统。方法,适用于大多数连续或离散系统。 ode4:是四阶龙格库塔法。:是四阶龙格库塔法。 ode3:BogackiShampine算法。算法。 ode1、ode2:是欧拉法与改进欧拉法。:是欧拉法与改进欧拉法。 ode14X:插值法。:插值法。(3)Solver options其它参数设置。1)变步长模式下的参数设置: Max step size:算法能够使用的

33、最大时间步长,默认值为“仿真时间/50”。 Min step size:算法能够使用的最小时间步长。 Initial step size:初始时间步长,一般使用“auto”默认值。 Relative tolerance:相对误差,默认值为1e-3,表示状态计算值要精确到 0.1%。 Absolute tolerance:绝对误差,若设置为“auto”,则初始绝对误差为1e-6。 Shape preservation:模型的保存,建议保存为“Disable all”。 2)固定步长的参数设置: Multiasking:选择这种模式时,当Simulink检测到采用不同的速率的两个模块直接连接,系统

34、会给出错误提示。处理上述错误的方法是采用“unit delay”模块和“zero-order hold”模块,对从慢速率到快速率的转换可以在慢输出端口和快输入端口插入一个单位延时模块“unit delay”,对从快速率到慢速率的转换可以插入一个零阶采用保持器“zero-order hold”。 Singletasking:此模式不检查模块间的速率转换,在建立单任务系统模型时非常有用。 Auto:选择这种模式时,Simulink会根据模型中模块的采样速率是否一致,自动决定切换到Multiasking模式或Singletasking模式。2. Data Import/Export(数据输入和输出)

35、选项(1)Load from workspace(从工作区间载入数据)。 Input:用来设置初始信号。如果在Simulink系统中选用输入模块“In1”,则必须选中该选项,并填写在MATLAB工作空间中的输入数据的变量名称,例如t,u或者TU。且向量的第一列t为仿真时间,如果输入模块中有n个,则u的第1、2、n列分别输入模块“In1”、“In2”、“Inn”。 Initial state:从MATLAB工作空间获得的状态初始值的变量名。填写MATLAB工作空间已经存在的变量,变量的次序与模块中各个状态中的次序一致。用来设置系统状态变量的初始值。初始值【xInitial】可为列向量。(2)Sa

36、ve to workspace(保存结果到工作空间)。 Time:时间变量名,存储输出到MATLAB工作空间的时间值,默认名为tout。 States:状态变量名,存储输出到MATLAB工作空间的状态值,默认名为xout。 Output:输出变量名,如果模型中使用“Out”模块,那么就必须选中该选项。数据的存放方式与输入 Input情况类似。 Final state:最终状态值输出变量名,存储输出到MATLAB工作空间的最终状态值。 Format:设置保存数据的格式,包括按数组(Array)、结构数组(Structure)和带时间的结构数组(times Structure)。 Limit da

37、ta points to last:保存变量的数据长度。 Decimation:保存步长间隔,默认值为1,即对每一个仿真时间点产生值都保存;若为n,则每隔n-1个仿真时刻就保存一个值。 signal logging:在仿真过程中使信号输出到工作空间。 Data Store Memory:数据存储内存。选中“Data Stores”,则可用“dsmout”。 (3)Save option(存储选项)。 Output options:输出选项,包含三个可选项。 Refine output:细化输出,可以增加输出数据的点数,使得输出数据更加平滑。与该选项配套的参数设置是refine factor(细

38、化因子),默认值为1,表示输出数据点个数与仿真步数相同,若细化因子定为2,则表示输出数据点加倍。本功能只在变步长模式中才能使用,并且在ode45效果最好。 10.3.2 输入与输出数据 1输入数据【例10-3】分别使用自定义信号源“From Workspace”和“From File”模块输入数据,建立函数 在区间0,4上的Simulink仿真模型。(1)From Workspace模块主要参数。 Data:指定工作空间中某个变量或者表达式,它代表一个二维数据矩阵或者是一个包含了信号数值和时间数值的结构数组变量。 Sample time:采样间隔,默认值为0。 Interpolate data

39、:选择是否对数据插值。 From output after final data value by:确定该模块在读取完最后时刻的数据后,模块的输出值。(2)From File模块主要参数。 File name:输入数据的文件名,默认值为untitled.mat。 Sample time:采样间隔,默认值为0。2-tty = ecos22输出数据(1)数据输出到工作空间。)数据输出到工作空间。如果仿真结果中的数据输出到工作空间如果仿真结果中的数据输出到工作空间Workspace,并写入到返回变量,可,并写入到返回变量,可使用输出模块使用输出模块“Out1”。其此模块主要参数有:。其此模块主要参数

40、有: Port number:输出端口数,默认值为:输出端口数,默认值为1。 Port dimensions:输出信号的维数,默认值为:输出信号的维数,默认值为-1,表示动态设置维数;可,表示动态设置维数;可以设置成以设置成n维向量或维向量或mn维矩阵。维矩阵。 Sample time:采样间隔,默认值为:采样间隔,默认值为-1,表示与前一个模块采样间隔相同。,表示与前一个模块采样间隔相同。(2)数据写入到工作空间。使用“To Workspace”模块可把输出变量写入到MATLAB工作空间,其主要参数有: Variable name:模块的输出变量,默认值为simout。 Limit data

41、 points to last:限制输出数据点的数目,模块会自动进行截取数据的最后n个点(n为设置数),默认值为inf。 Decimation:步长因子,默认值为1。 Sample time:采样间隔,默认值为-1。 Save format:输出变量格式,可以指定为数组或结构数组。 (3)数据输出为数据文件。)数据输出为数据文件。使用使用“To File”模块,输出仿真数据到模块,输出仿真数据到“.mat”文件,其文件格式按行存放,文件,其文件格式按行存放,每行对应一个变量,第一行为时间数据,第二行开始的各行为其它输出变量相每行对应一个变量,第一行为时间数据,第二行开始的各行为其它输出变量相应

42、的仿真值。应的仿真值。“To File”模块主要参数有:模块主要参数有: File name:保存数据的文件名,默认值为:保存数据的文件名,默认值为untitled.mat。如果没有指定路。如果没有指定路径,则存于径,则存于MATLAB工作空间目录。工作空间目录。 Variable name:在文件所保存矩阵的变量名,默认值为:在文件所保存矩阵的变量名,默认值为ans。 Decimation:步长因子,默认值为:步长因子,默认值为1。 Sample time:采样间隔,默认值为:采样间隔,默认值为-1。10.3.3 启动系统仿真1使用模型窗口启动仿真在当前运行的模型窗口中,单击菜单“Simul

43、ink”“Start”,启动仿真。也可使用工具栏上的按钮。当仿真启动时,菜单选项有“Start”自动变为“Stop”。2.仿真结果输出(1)示波器显示。若仿真结果要在示波器“Scope”上显示,则首先双击示波器模块,打开示波器窗口启动仿真后,信号就显示在“Scope”窗口中 (2)使用模块Out1输出。 首先使用输出模块“Out1”,将仿真结果中的数据输出到工作空间Workspace,然后在MATLAB命令窗口输入绘图命令,输出信号可显示在MATLAB图形窗口。例如,建立将正弦信号进行积分之后的数据送到工作空间Workspace中的模型 (3)使用模块To File输出。启动仿真后,时间变量与

44、输出变量以默认变量tout、yout输出到工作空间Workspace,这时只要在MATLAB命令窗口输入:plot(tout,yout)则输出曲线可显示在MATLAB图形窗口,显示结果如图 首先使用首先使用“To File”模块,将输出仿真数据到模块,将输出仿真数据到“.mat”文件,保存到文件,保存到MATLAB当前工作目录,然后通过当前工作目录,然后通过MATLAB窗口操作,显示其图形。窗口操作,显示其图形。例如,建立将正弦信号进行积分之后的数据输出为数据文件的仿真模例如,建立将正弦信号进行积分之后的数据输出为数据文件的仿真模型型 (3)使用模块To File输出。首先使用“To File

45、”模块,将输出仿真数据到“.mat”文件,保存到MATLAB当前工作目录,然后通过MATLAB窗口操作,显示其图形。例如,建立将正弦信号进行积分之后的数据输出为数据文件的仿真模型,如图 01234567891000.20.40.60.811.21.41.61.82(3)使用模块To File输出。首先使用“To File”模块,将输出仿真数据到“.mat”文件,保存到MATLAB当前工作目录,然后通过MATLAB窗口操作,显示其图形。例如,建立将正弦信号进行积分之后的数据输出为数据文件的仿真模型,如图 对“To File”模块的参数设置:“File name”(文件名):shuju.mat“V

46、ariable name”(变量名):shj“Save format”(保存格式):Array(按行数组)(4)使用“XY Graph”模块显示。首先在MATLAB命令窗口输入: t=linspace(0,3*pi/2,100); u=cos(t);运行结果,将变量t、u载入工作空间中。其次,建立如图所示的仿真模型,并将增益模块“Gain”的值设为0.5,数据输入模块“In1”中的参数进行设置,打开“Simulink”“Configuration Parameters”中的选项“Data Import/Export”,选中单选框“Input”,并在文本框中输入t,u,算法选择固定步长“Fixe

47、d-step”,解法为“Ode8”,步长为0.01,其它参数默认。10.4 库模块介绍1常用模块子库常用模块子库(Commonly Used Blocks)是在simulink建模仿真时,将使用最为频繁的基本模块集中在一起形成的模块库,这些模块在其它模块库中都可以找到,主要为初学者提供快捷的模块选取方法。该库包含的模块如图10-48所示,其功能如表 常用模块子库中模块名及功能常用模块子库中模块名及功能模块名功 能Bus Creator总线信号生成器,将多个输入信号合并成一个总线信号Bus Selector总线信号选择器,用来选择总线信号中的一个或多个Constant常数模块,输出常量信号Dat

48、a Type Conversion数据类型转换模块,将信号转换为其它数据类型Demux信号分离器,将输入向量转换成标量,分解输出Discrete-Time Integrator离散时间积分器模块Gain增益模块Ground信号接地模块In1输入接口模块Integrator连续积分器模块Logical Operator逻辑操作模块Mux信号合成器模块,将输入的向量、标量或矩阵合成Out1输出接口模块Product乘法模块,执行标量、向量或矩阵的乘法Relational Operator关系操作模块,输出布尔类型数据Saturation饱和度模块,定义输入信号的最大和最小值Scope输出示波器模块

49、Subsystem创建子系统模块Sum求和模块,加法器Switch开关切换模块,由第二个输入信号选择在第一路或第三路之间切换Terminator信号终端模块,用来连接没有与其它模块相连的输出端口,防止在MATLAB窗口给出警告信息。Unit Delay单位时间延迟模块Vector Concatenate相同数据类型的向量输入信号串联2连续系统模块子库 连续系统模块(Continuous)子库主要包含了连续系统的仿真模块,该库包含的模块如图所示,其功能如表 连续系统模块子库模块名及功能连续系统模块子库模块名及功能 模块名功 能Derivative 数值微分器模块Integrator 连续时间信号

50、积分器模块Integrator Limited有限积分器模块Integrator Second-Order二次积分器Integrator Second-Order Limited有限二次积分器PID controllerPID控制器PID controller(2DOF)PID控制器(2自由度)State-Space线性状态空间模块Transfer-Fcn线性传递函数模型Transport Delay传输延迟模块,输入信号延时一个固定时间再输出Variable time Delay可变时间延迟模块Variable Transport Delay可变传输延迟模块,输入信号延时一个可变时间再输出Z

51、ero-Pole零点-极点增益模块,以零点-极点表示的传递函数模型3非连续系统模块子库非连续系统模块子库 非连续系统模块(Discontinuities)子库主要包含了不连续系统的仿真模块,该库包含的模块如图所示,其功能如表 非连续系统模块子库模块名及功能非连续系统模块子库模块名及功能模块名功 能Backlash磁滞回环模块,可实现输入和输出变化相同的系统,模拟间隙非线性系统(如齿轮)Coulomb & Viscous Friction库仑和与黏性摩擦模块,模拟在零点不连续,在其余点线性的增益系统Dead Zone死区模块,设定死区范围,提供输出为零的区域 Dead Zone Dyna

52、mic动态死区模块,动态提供输出为零的区域Hit Crossing捕获穿越点模块,检测信号穿越设定值的点,穿越时输出为1,否则输出为0Quantizer量子点模块,对输入信号界限量化处理。将平滑的输入信号变为阶梯状输出信号Rate Limiter速率限制模块,限制信号的变化速率,即一阶导数,使输出的变化不超过指定界限Rate Limiter Dynamic动态速率限制模块,动态限制信号的变化速率Relay继电器模块,在两个值中轮流输出。Saturation饱和度模块,对一个信号限定上下限,设置输出信号的上下限幅值Saturation Dynamic动态饱和非线性模块,动态设置输出信号的上下限幅

53、值 Wrap To Zero限零模块,若输入信号超过限定值,则产生零输出,否则输入信号无变化输出4离散系统模块子库离散系统模块(Discrete)子库主要包含了不连续系统的仿真模块,该库包含模块如图所示,其功能如表 离散系统模块子库模块名及功能离散系统模块子库模块名及功能模块名功 能Difference离散差分器模块,对输入信号进行差分运算,输出当前输入信号与前一个采样值之差Discrete Derivative离散微分器模块:对输入进行离散微分运算Discrete FIR Filter离散FIR滤波器,实现有限脉冲响应(FIR)滤波器Discrete Filter离散过滤器模块,用于实现无限

54、脉冲响应(IIR)与有限脉冲响应(FIR)滤波器;Discrete PID Controller离散PID控制器Discrete PID Controller(2DOF)离散PID控制器(2自由度)Discrete State-Space离散状态空间模型模块,实现离散状态空间系统,模块接受一个输入,并产生一个输出Discrete Transfer-Fcn离散传递函数模块,用于建立离散传递函数模型Discrete Zero-Pole离散零-极点模块,用于以零极点表示的离散传递函数模型Discrete-time Integrator离散时间信号积分器模块,对输入信号的离散时间进行积分运算First

55、-Order Hold一阶采样保持器模块,在指定的时间间隔实现一阶采样保持Integer Delay整数延迟模块,延迟输入N个采样周期,N为正整数Memory记忆模块,输出前一个时间步长时刻的输入值Tapped Delay触发延迟模块,延迟N个周期后输出全部的输入信息Transfer Fcn First Order一阶传递函数模块,用于建立一阶的离散传递函数模型Transfer Fcn Lead or Lag传递函数超前或滞后补偿器模块,用于实现输入离散时间信号的传递函数超前或滞后的补偿Transfer Fcn Real Zero实数零点传递函数模块,用于只有实数零点而无极点的离散传递函数Un

56、it Delay单位延迟模块,信号采样后保持一个采样周期后再输出Zero-Order Hold零阶保持器模块,实现一个以指定采样率的采样与保持操作,模块接受一个输入,并产生一个输出5逻辑与位操作模块子库逻辑与位操作模块(Logic and Bit Operations)子库主要包含用于实现逻辑运算和位运算的模块,该库包含的模块如图所示,其功能如表 逻辑与位操作模块子库模块名及功能逻辑与位操作模块子库模块名及功能模块名功 能Bit Clear位清零模块,将整数的某一位设置为0Bit Set位设置模块,将整数的某一位设置为1Bitwise Operator按位操作模块,对输入信号进行按位操作Com

57、binatiorial Logic组合逻辑模块,实现一个真值表Compare To Constant和常量比较模块,确定信号与指定常数的比较方式Compare To Zero和零比较模块,确定信号与指定零的比较方式Detect Change检测变化模块,检测信号是否等于前一个采样时刻的值Discrete PID Controller(2DOF)离散PID控制器(2自由度)Discrete State-Space离散状态空间模型模块,实现离散状态空间系统,模块接受一个输入,并产生一个输出Discrete Transfer-Fcn离散传递函数模块,用于建立离散传递函数模型Discrete Zero

58、-Pole离散零-极点模块,用于以零极点表示的离散传递函数模型Discrete-time Integrator离散时间信号积分器模块,对输入信号的离散时间进行积分运算First-Order Hold一阶采样保持器模块,在指定的时间间隔实现一阶采样保持Integer Delay整数延迟模块,延迟输入N个采样周期,N为正整数Memory记忆模块,输出前一个时间步长时刻的输入值Tapped Delay触发延迟模块,延迟N个周期后输出全部的输入信息Transfer Fcn First Order一阶传递函数模块,用于建立一阶的离散传递函数模型Transfer Fcn Lead or Lag传递函数超前

59、或滞后补偿器模块,用于实现输入离散时间信号的传递函数超前或滞后的补偿Transfer Fcn Real Zero实数零点传递函数模块,用于只有实数零点而无极点的离散传递函数Unit Delay单位延迟模块,信号采样后保持一个采样周期后再输出Zero-Order Hold零阶保持器模块,实现一个以指定采样率的采样与保持操作,模块接受一个输入,并产生一个输出6表格查询模块子库表格查询模块(Lookup Table)子库提供了各种用于查表运算(插值)的模块,该库包含的模块如图所示,其功能如表 表表10-12 表格查询模块子库模块名及功能表格查询模块子库模块名及功能模块名功 能1-D Lookup T

60、able一维表格查询模块,使用线性插值2-D Lookup Table二维表格查询模块,使用线性插值Cosine定点查表余弦函数模块Direct Lookup Table (n-D)n维直接查表器模块Interpolation using Prelookup内插查表,使用常数插值或线性插值实现n维查表器模块Lookup Table Dynamic动态表格查询模块,由给定数据生成一维近似函数Prelookup 在设置的断点处为输入进行查找。使用常数插值或线性插值对间断点序列进行查找Sine定点查表正弦函数模块n-D Lookup Table使用插值实现n维查表器7. 数学运算模块数学运算模块(Math Operations)子库主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论