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

下载本文档

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

文档简介

第10章Simulink动态仿真 10 1Simulink窗口 10 2建模方法 10 3运行仿真 10 4库模块介绍 10 5综合实例 10 1Simulink窗口 10 1 1Simulink启动与界面在MATLAB命令窗口中输入simulink 按回车键 Enter 或通过MATLAB主窗口的快捷按钮直接打开 首先出现Simulink库浏览器窗口 SimulinkLibraryBrowser 如图所示 首页 窗口给出了界面标注说明 列出了Simulink公共模块库中的子库 CommonlyUsedBlocks 常用模块 Continuous 连续模块 Discontinuities 非连续模块 Discrete 离散模块 LogicandBitOperations 逻辑和位操作模块 LookupTables 查表函数模块 MathOperations 数学函数模块 ModelVerification 模型检测模块 Model WideUtilities 模型扩充模块 Ports Subsystems 端口与子系统模块 SignalAttributes 信号属性模块 SignalRouting 信号路径模块 Sinks 接收器输出模块 Sources 输入源模块 User DefinedFunctions 用户自定义函数模块 AdditionalMath Discrete 附加数学与离散模块 等标准模块库 10 1 2模型编辑窗口 1 创建新模型窗在SimulinkLibraryBrowser的窗口中选择菜单 File New Model 命令 或直接点击工具栏新建图标 即可打开一个名为 untitled 的新建模型窗口 2 模型窗口组成整个模型窗口包括 菜单栏 工具栏 模型框图窗口和状态栏等部分 1 菜单名称与功能 模型窗口的菜单提供了模型建立和仿真的几乎全部功能 其名称和功能如表 首页 File菜单名称与功能 首页 Edit菜单名称与功能 首页 View菜单名称与功能 首页 Simulation菜单名称与功能 首页 Format菜单名称与功能 首页 首页 Tools菜单名称与功能 首页 2 工具栏功能模型窗口工具栏包含模型建立和仿真过程中常用的命令按钮 其功能如图 首页 3 模型框图窗口模型框图窗口是模型编辑区 主要建立由输入 输出模块 被模拟的系统模块 以及信号线等部分组成的系统模型 4 状态栏状态栏是仿真过程中的状态信息 图下方的状态栏有六小部分 从左至右依次为 模型状态信息 图面比例 如 100 表示编辑框模型的显示比例 仿真进程条 第一空栏处 当前仿真时间 第二空栏处 解算方法 如 ode45 表示仿真所采用的算法 模型状态条 10 1 3模型构成及步骤 首页 1 仿真模型的构成 1 信号源模块 信号源为系统的输入 包括常数信号源 函数信号发生器 如正弦波和阶跃函数 以及用户自己在MATLAB中创建的自定义信号 2 被模拟的系统模块 系统模块作为仿真的中心模块 它是Sinulink仿真建模所要解决的主要问题 3 输出显示模块 系统的输出由显示模块接收 输出显示的形式包括示波器显示 图形显示 以及输出到数据文件或MATLAB工作空间 2 仿真过程的步骤 1 打开一个空白的模型窗口 2 打开Simulink模块库浏览界面 将相应模块库中所需的模块拖到模型窗口里 3 设置各个模块的参数 双击需要进行参数设置的模块 在弹出的对话框中 上半部分为参数说明 下半部分供用户填写模块参数 4 用信号线将各个模块连接起来 搭建所需要的系统模型 5 设置仿真参数 在模型窗口选择菜单 Simulink ConfigurationParameters 命令 打开仿真参数设置对话框 设置仿真参数 6 启动仿真 选择模型窗口菜单 Simulink Start 命令 仿真将执行 并可借助示波器等模块 显示仿真结果 例10 1 创建求解微分方程的正弦信号仿真模型 首页 仿真过程如下 首先 打开如图10 1所示的Simulink库模块浏览器 单击窗口工具栏图标 建立一个空模块窗口 如图10 2所示 然后可以在此窗口中创建Simulink模型 步骤一 添加模块 步骤二 连接模块 步骤三 运行仿真 首页 10 2建模方法 10 2 1模块操作 1 模块的选定在进行模块操作之前 应先打开一个新的模型窗口 1 从Simulink的模块库中选择所需的模块方法 单击所需要的模块 然后将其拖到需要创建仿真模型的窗口 释放图标 这时所需要的模块将出现在模型窗口中 2 在模型窗口中选定模块 选中单个模块 在模块上单击鼠标 模块的四角处出现小黑块编辑框 即选中模块 选中多个模块 先按下 Shift 键 然后单击所需选定的模块 或者用鼠标拉出矩形虚线框 将所有待选模块框在其中 则矩形框中所有的模型均被选中 选中所有模块 选择菜单 Edit Selectall 命令 2 模块复制 1 不同模型窗口 包含模型库窗口 之间的模块复制 选中模块 用鼠标左键将其拖到另一模型窗口 释放鼠标 使用菜单的 Copy 和 Paste 命令 使用工具栏的和按钮 2 在同一模型窗口内的复制模块 选中模块 按下鼠标右键 拖动模块到合适的地方 释放鼠标 按住 Ctrl 键 再用鼠标拖动对象到合适的地方 释放鼠标 使用工具栏的和按钮 复制后所得模块与原模块属性相同 在同一模型窗口中 这些模块名后面自动加上相应的编号来进行区分 首页 3 模块移动 1 在同一模型窗口移动模块 选中需要移动模块 用鼠标将模块拖到合适的地方 2 在不同模型窗之间移动模块 在不同模型窗之间移动模块 在用鼠标移动的同时按下 Shift 键 当模块移动时 与之相连的连线也随之移动 4 模块删除 1 选中模块 按 Delete 键 2 选中模块 用菜单 Edit Clear 命令 3 选中模块 用菜单 Edit Cut 命令 或者用工具栏的 Cut 按钮 可将模块删除并保存到剪切板中 首页 5 调整模块大小选中需要改变大小的模块 出现小黑块编辑框后 用鼠标拖动编辑框 可以实现放大或缩小 6 模块旋转 1 模块旋转180 选中模块 选择菜单 Format FlipBlock 命令即可 2 模块旋转90 选中模块 选择菜单 Format RotateBlock 命令 可以将模块按顺时针方向旋转90 3 选中模块 右击鼠标 从弹出的快捷键中选择相应的命令 完成上述旋转 7 模块名的编辑 1 修改模块名 单击模块名 出现虚线编辑框就可对模块名进行修改 2 模块名字体设置 选中模块 选择菜单 Format Font 命令 打开字体对话框设置字体 3 模块名的显示和隐藏 选中模块 选择菜单 Format Hide Showname 命令 可以隐藏或显示模块名 4 模块名的翻转 选中模块 选择菜单 Format Flipname 命令 可以翻转模块名 首页 8 颜色设定选择菜单 Format Foregroundcolor 命令改变模块的前景颜色 选择菜单 Format Backgroundcolor 命令改变模块的背景颜色 选择菜单 Format Screencolor 命令改变模块窗口的颜色 9 模块参数设置Simulink中几乎所有模块都有一个模块参数对话框 内有模块功能说明和用户设置参数 打开模型参数对话框的方法有 1 双击要设置的模块就会弹出模块参数对话框 2 在模型窗口选中模块 选择菜单 Edit BLOCKparameters 命令 其中BLOCK指的是相应选中模块的模块名 3 在模型窗口选中模块 单击鼠标右键 从弹出的快捷菜单选择 BLOCKparameters 其中BLOCK的位置显示相应选中模块的模块名 10 模块特性设置 1 在模型窗口选中模块 选择菜单 Edit Blockparameters 命令 显示模型特性对话框 2 在模型窗口选中模块 单击鼠标右键 从弹出的快捷菜单选择 Blockparameters 每个模块的特性对话框的内容都相同 包括常规项 General 模块注释 BlockAnnotation 回调信号 Callbacks 其中 常规项 General 中包括 Description 说明 对模块在模型中用法的注释 Priority 优先级 规定该模块在模型中相对于其它模块执行的优先顺序 Tag 标记 用户为模块添加的文本格式标记 首页 10 2 2模块连接 1 手动连接模块模块间连接是用信号线完成的 其方法是先将光标指向一个模块的输出端 待光标变为十字符后 按下鼠标键并拖动 直到另一模块的输入端 如果两个模块在一条水平线 则信号线是直线 首页 如果两个模块不在一条水平线 则信号线是折线 首页 3 在信号线中插入模块如果模块只有一个输入端口和一个输出端口 则该模块可以直接被插入到一条信号线中 如将图中的 Gain 模块插到 Constant 与 UnitDelay 模块之间 只需用鼠标将 Gain 模块拖到信号线上即可 4 移动信号线若想移动信号线的某段 单击选中此段 移动鼠标到目标线段上 则鼠标的形状变为移动图标 按住鼠标 并拖曳到新位置 放开鼠标 则信号线被移动到新的位置 5 删除信号线首先选中信号线 然后按 Delete 键 或者选择菜单 Edit Clear 或 Edit Cut 命令进行删除 6 信号线文本注释 1 添加文本注释 双击需要添加文本注释的信号线 则出现一个空的文字填写框 在其中输入文本 2 修改文本注释 单击需要修改的文本注释 出现虚线编辑框即可修改文本 3 移动文本注释 单击标识 出现编辑框后 就可以移动编辑框 4 复制文本注释 单击需要复制的文本注释 按下 Ctrl 键同时移动文本注释 或者用菜单和工具栏的复制操作 首页 7 信号线附加说明 1 信号线粗线显示 选择菜单 Format Port SignalDisplays Widenonscalarlines 命令 即可把图中传递向量 矩阵 数据的信号线用粗线标出 与其它变量区别开来 2 信号线彩色显示 选择菜单 Format SampleTimeDisplay Colors 命令 将用不同颜色显示采用频率不同的模块和信号线 10 2 3模型注释1 添加模型的文本注释在需要当作注释区的中心位置 双击鼠标左键 就会出现编辑框 在编辑框中就可以输入文字注释 2 注释的移动在注释文字处单击鼠标左键 当出现文本编辑框后 用鼠标就可以拖动该文本编辑框 首页 10 3 1设置仿真参数在模型窗口选择菜单 Simulink ConfigurationParameters 命令 打开仿真参数设置对话框 如图所示 在此对话框中 选项 Select 包含以下几类 10 3运行仿真 Solver 用于设置仿真起始和停止时间 选择微分方程求解算法并为其规定参数 以及选择某些输出选项 DataImport Export 用于管理工作空间数据的导入和导出 Optimization 用于设置仿真优化模式 Diagnostics 用于设置在仿真过程中出现各类错误时发出警告的等级 HardwareImplementation 用于设置实现仿真的硬件 ModelReferencing 用于设置模型引用的有关参数 SimulationTarget 用于设置仿真模型目标 CodeGeneration 用于生成仿真代码 嵌入代码 HDL代码等 首页 1 Solver类选项的参数设置 1 Simulinktime 仿真时间 Starttime 仿真的起始时间 默认为0 0 Stoptime 仿真的结束时间 默认为10 0 时间单位为秒 s 但与实际时钟的秒不同 如仿真时间为10s 如果步长为0 1s 则仿真要执行100步 2 Solveroptions 算法选项 在 Type 编辑框中选择算法类别 变步长 Variable step 和固定步长 Fixed step 算法 其右边设置仿真解法 Solver 的具体算法类型 1 变步长模式的仿真算法主要有 Discrete nocontinousstates 适用于没有连续状态变量的离散系统 ode45 四 五阶龙格 库塔法 采用单步算法 适用于大多数连续或离散系统 但不适用刚性系统 ode23 二 三阶龙格 库塔法 采用单步算法 ode113 是一种阶数可变算法 ode15s 是一种基于数值微分公式的算法 采用多步算法 适用于刚性系统 ode23s 采用单步算法 专门用于刚性系统 ode23t 无数字震荡的算法 用于求解适度刚性问题 ode23tb 在较大的容许误差下可能比ode15s方法有效 2 固定步长模式的仿真算法 Discrete nocontinousstates 用于不存在状态变量的系统 ode5 ode8 Dormand Prince方法 适用于大多数连续或离散系统 ode4 是四阶龙格库塔法 ode3 Bogacki Shampine算法 ode1 ode2 是欧拉法与改进欧拉法 ode14X 插值法 3 Solveroptions其它参数设置 1 变步长模式下的参数设置 Maxstepsize 算法能够使用的最大时间步长 默认值为 仿真时间 50 Minstepsize 算法能够使用的最小时间步长 Intialstepsize 初始时间步长 一般使用 auto 默认值 Relativetolerance 相对误差 默认值为1e 3 表示状态计算值要精确到0 1 Absolutetolerance 绝对误差 若设置为 auto 则初始绝对误差为1e 6 Shapepreservation 模型的保存 建议保存为 Disableall 2 固定步长的参数设置 Multiasking 选择这种模式时 当Simulink检测到采用不同的速率的两个模块直接连接 系统会给出错误提示 处理上述错误的方法是采用 unitdelay 模块和 zero orderhold 模块 对从慢速率到快速率的转换可以在慢输出端口和快输入端口插入一个单位延时模块 unitdelay 对从快速率到慢速率的转换可以插入一个零阶采用保持器 zero orderhold Singletasking 此模式不检查模块间的速率转换 在建立单任务系统模型时非常有用 Auto 选择这种模式时 Simulink会根据模型中模块的采样速率是否一致 自动决定切换到Multiasking模式或Singletasking模式 2 DataImport Export 数据输入和输出 选项 1 Loadfromworkspace 从工作区间载入数据 Input 用来设置初始信号 如果在Simulink系统中选用输入模块 In1 则必须选中该选项 并填写在MATLAB工作空间中的输入数据的变量名称 例如 t u 或者TU 且向量的第一列t为仿真时间 如果输入模块中有n个 则u的第1 2 n列分别输入模块 In1 In2 Inn Initialstate 从MATLAB工作空间获得的状态初始值的变量名 填写MATLAB工作空间已经存在的变量 变量的次序与模块中各个状态中的次序一致 用来设置系统状态变量的初始值 初始值 xInitial 可为列向量 2 Savetoworkspace 保存结果到工作空间 Time 时间变量名 存储输出到MATLAB工作空间的时间值 默认名为tout States 状态变量名 存储输出到MATLAB工作空间的状态值 默认名为xout Output 输出变量名 如果模型中使用 Out 模块 那么就必须选中该选项 数据的存放方式与输入Input情况类似 Finalstate 最终状态值输出变量名 存储输出到MATLAB工作空间的最终状态值 Format 设置保存数据的格式 包括按数组 Array 结构数组 Structure 和带时间的结构数组 timesStructure Limitdatapointstolast 保存变量的数据长度 Decimation 保存步长间隔 默认值为1 即对每一个仿真时间点产生值都保存 若为n 则每隔n 1个仿真时刻就保存一个值 signallogging 在仿真过程中使信号输出到工作空间 DataStoreMemory 数据存储内存 选中 DataStores 则可用 dsmout 3 Saveoption 存储选项 Outputoptions 输出选项 包含三个可选项 Refineoutput 细化输出 可以增加输出数据的点数 使得输出数据更加平滑 与该选项配套的参数设置是refinefactor 细化因子 默认值为1 表输出数据点个数与仿真步数相同 若细化因子定为2 则表输出数据点加倍 本功能只在变步长模式中才能使用 并且在ode45效果最好 10 3 2输入与输出数据 1 输入数据 例10 3 分别使用自定义信号源 FromWorkspace 和 FromFile 模块输入数据 建立函数在区间 0 4 上的Simulink仿真模型 1 FromWorkspace模块主要参数 Data 指定工作空间中某个变量或者表达式 它代表一个二维数据矩阵或者是一个包含了信号数值和时间数值的结构数组变量 Sampletime 采样间隔 默认值为0 Interpolatedata 选择是否对数据插值 Fromoutputafterfinaldatavalueby 确定该模块在读取完最后时刻的数据后 模块的输出值 2 FromFile模块主要参数 Filename 输入数据的文件名 默认值为untitled mat Sampletime 采样间隔 默认值为0 2 输出数据 1 数据输出到工作空间 如果仿真结果中的数据输出到工作空间Workspace 并写入到返回变量 可使用输出模块 Out1 其此模块主要参数有 Portnumber 输出端口数 默认值为1 Portdimensions 输出信号的维数 默认值为 1 表示动态设置维数 可以设置成n维向量或m n维矩阵 Sampletime 采样间隔 默认值为 1 表示与前一个模块采样间隔相同 2 数据写入到工作空间 使用 ToWorkspace 模块可把输出变量写入到MATLAB工作空间 其主要参数有 Variablename 模块的输出变量 默认值为simout Limitdatapointstolast 限制输出数据点的数目 模块会自动进行截取数据的最后n个点 n为设置数 默认值为inf Decimation 步长因子 默认值为1 Sampletime 采样间隔 默认值为 1 Saveformat 输出变量格式 可以指定为数组或结构数组 3 数据输出为数据文件 使用 ToFile 模块 输出仿真数据到 mat 文件 其文件格式按行存放 每行对应一个变量 第一行为时间数据 第二行开始的各行为其它输出变量相应的仿真值 ToFile 模块主要参数有 Filename 保存数据的文件名 默认值为untitled mat 如果没有指定路径 则存于MATLAB工作空间目录 Variablename 在文件所保存矩阵的变量名 默认值为ans Decimation 步长因子 默认值为1 Sampletime 采样间隔 默认值为 1 10 3 3启动系统仿真 1 使用模型窗口启动仿真在当前运行的模型窗口中 单击菜单 Simulink Start 启动仿真 也可使用工具栏上的按钮 当仿真启动时 菜单选项有 Start 自动变为 Stop 2 仿真结果输出 1 示波器显示 若仿真结果要在示波器 Scope 上显示 则首先双击示波器模块 打开示波器窗口启动仿真后 信号就显示在 Scope 窗口中 2 使用模块Out1输出 首先使用输出模块 Out1 将仿真结果中的数据输出到工作空间Workspace 然后在MATLAB命令窗口输入绘图命令 输出信号可显示在MATLAB图形窗口 例如 建立将正弦信号进行积分之后的数据送到工作空间Workspace中的模型 3 使用模块ToFile输出 启动仿真后 时间变量与输出变量以默认变量tout yout输出到工作空间Workspace 这时只要在MATLAB命令窗口输入 plot tout yout 则输出曲线可显示在MATLAB图形窗口 显示结果如图 首先使用 ToFile 模块 将输出仿真数据到 mat 文件 保存到MATLAB当前工作目录 然后通过MATLAB窗口操作 显示其图形 例如 建立将正弦信号进行积分之后的数据输出为数据文件的仿真模型 3 使用模块ToFile输出 首先使用 ToFile 模块 将输出仿真数据到 mat 文件 保存到MATLAB当前工作目录 然后通过MATLAB窗口操作 显示其图形 例如 建立将正弦信号进行积分之后的数据输出为数据文件的仿真模型 如图 3 使用模块ToFile输出 首先使用 ToFile 模块 将输出仿真数据到 mat 文件 保存到MATLAB当前工作目录 然后通过MATLAB窗口操作 显示其图形 例如 建立将正弦信号进行积分之后的数据输出为数据文件的仿真模型 如图 对 ToFile 模块的参数设置 Filename 文件名 shuju mat Variablename 变量名 shj Saveformat 保存格式 Array 按行数组 4 使用 XYGraph 模块显示 首先在MATLAB命令窗口输入 t linspace 0 3 pi 2 100 u cos t 运行结果 将变量t u载入工作空间中 其次 建立如图所示的仿真模型 并将增益模块 Gain 的值设为0 5 数据输入模块 In1 中的参数进行设置 打开 Simulink ConfigurationParameters 中的选项 DataImport Export 选中单选框 Input 并在文本框中输入 t u 算法选择固定步长 Fixed step 解法为 Ode8 步长为0 01 其它参数默认 10 4库模块介绍 1 常用模块子库常用模块子库 CommonlyUsedBlocks 是在simulink建模仿真时 将使用最为频繁的基本模块集中在一起形成的模块库 这些模块在其它模块库中都可以找到 主要为初学者提供快捷的模块选取方法 该库包含的模块如图10 48所示 其功能如表 常用模块子库中模块名及功能 2 连续系统模块子库 连续系统模块 Continuous 子库主要包含了连续系统的仿真模块 该库包含的模块如图所示 其功能如表 连续系统模块子库模块名及功能 3 非连续系统模块子库 非连续系统模块 Discontinuities 子库主要包含了不连续系统的仿真模块 该库包含的模块如图所示 其功能如表 非连续系统模块子库模块名及功能 4 离散系统模块子库 离散系统模块 Discrete 子库主要包含了不连续系统的仿真模块 该库包含模块如图所示 其功能如表 离散系统模块子库模块名及功能 5 逻辑与位操作模块子库 逻辑与位操作模块 LogicandBitOperations 子库主要包含用于实现逻辑运算和位运算的模块 该库包含的模块如图所示 其功能如表 逻辑与位操作模块子库模块名及功能 6 表格查询模块子库 表格查询模块 LookupTab

温馨提示

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

评论

0/150

提交评论