




已阅读5页,还剩95页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
八 Simulink仿真环境 本章主要内容 Simulink使用入门模型的创建连续系统的建模与仿真子系统的创建与封装及条件执行子系统用MATLAB命令创建和运行Simulink模型 8 1Simulink使用入门 Simulink是面向框图的仿真软件 具有以下特点 用绘制方框图代替编写程序 结构和流程清晰 智能化地建立和运行仿真 仿真精细 贴近实际 自动建立各环节的方程 自动地在给定精度要求下以最快速度进行系统仿真 适应面广 包括线性 非线性系统 连续 离散及混合系统 单任务 多任务离散事件系统 8 1 1Simulink入门 例8 1创建一个正弦信号的仿真模型 1 在MATLAB的命令窗口运行simulink命令 或单击工具栏中的图标 就可以打开Simulink模块库浏览器 SimulinkLibraryBrowser 窗口 窗口见下页所示 8 1 1Simulink入门 续 模块库列表 模块列表 当前模块的文字说明 关键字搜索 菜单 工具条 8 1 1Simulink入门 续 2 单击工具栏上的图标或选择菜单 File New Model 新建一个名为 untitled 的空白模型窗口 3 在上图的右侧子模块窗口中 单击 Source 子模块库前的 或双击Source 或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库 便可看到各种输入源模块 8 1 1Simulink入门 续 4 用鼠标单击所需要的输入信号源模块 SineWave 正弦信号 将其拖放到空白的模型窗口 untitled 则 SineWave 模块就被添加到untitled窗口 也可以用鼠标选中 SineWave 模块 单击鼠标右键 在快捷菜单中选择 addto untitled 命令 就可以将 SineWave 模块添加到untitled窗口 如下图所示 8 1 1Simulink入门 续 8 1 1Simulink入门 续 5 用同样的方法打开接收模块库 Sinks 选择其中的 Scope 模块 示波器 拖放到 untitled 窗口中 6 在 untitled 窗口中 用鼠标指向 SineWave 右侧的输出端 当光标变为十字符时 按住鼠标拖向 Scope 模块的输入端 松开鼠标按键 就完成了两个模块间的信号线连接 一个简单模型已经建成 模型如下图所示 8 1 1Simulink入门 续 8 1 1Simulink入门 续 7 开始仿真 单击 untitled 模型窗口中 开始仿真 图标 或者选择菜单 Simulink Start 则仿真开始 双击 Scope 模块出现示波器显示屏 可以看到黄色的正弦波形 8 1 1Simulink入门 续 8 保存模型 单击工具栏的图标 将该模型保存为 exm08 01 mdl 文件 8 1 2Simulink的模型窗口 模型窗口由菜单 工具条 模型浏览器窗口 模型框图窗口以及状态栏组成 菜单 工具条 模型浏览器 模型框图窗口 仿真开始 仿真结束 打开模块库 切换单双窗 回到父系统 打开调试器 状态栏 仿真模型 8 1 2Simulink的模型窗口 状态栏用于显示仿真的状态 当鼠标指向菜单和工具条时 在状态栏显示其定义 Ready 表示模型准就绪等待仿真 100 表示编辑窗模型的显示比例 ode45 表示仿真所用积分算法 8 2模型的创建 8 2 1模型概念和文件操作Simulink模型的含义 方框图 扩展名为 mdl的ASCII代码 方程 实际系统的动态性状 8 2模型的创建 续 Simulink模型的一般结构 常数 信号发生器 时钟信号 示波器 图形记录仪 数字显示仪 8 2模型的创建 续 2 Simulink的文件操作新建仿真模型文件有几种操作 在MATLAB的命令窗口选择菜单 File New Model 在Simulink模块库浏览器窗口选择菜单 File New Model 或者单击工具栏的图标 在Simulink模型窗口选择菜单 File New Model 或者单击工具栏的图标 8 2模型的创建 续 打开仿真模型文件有几种操作 在MATLAB的命令窗口输入不加扩展名的文件名 该文件必须在当前搜索路径中 在MATLAB的命令窗口选择菜单 File Open 或者单击工具栏的图标打开文件 在Simulink模块库浏览器窗口选择菜单 File Open 或者单击工具栏的图标打开 mdl 文件 在Simulink模型窗口中选择菜单 File Open 或者单击工具栏的图标打开文件 8 2模型的创建 续 Simulink模型是以ASCII码形式存储的 mdl文件 其保存方法是标准的Windows操作 即利用图标 菜单 File Save 或 File SaveAs 都可以实现存盘 8 2模型的创建 续 Simulink模型的打印 点击模型窗图标或选中菜单 File Print 打开一个打印对话框 可选择打印当前系统 Currentsystem 当前系统及其上层系统 Currentsystemandabove 当前系统及其下层系统 Currentsystemandblow 整个系统 Allsystem 因为一个Simulink模型 mdl 可能包含多个子系统 所以打印模型时 要选择所要打印的系统 8 2 2模块的操作 模块输入 模块输出 模块名 图标标识 8 2 2模块的操作 续 1 模块的选定选定单个模块 只要在待选模块上单击鼠标左键即可 选定多个模块 按下Shift键 然后再单击所需选定的模块 或者用鼠标拉出矩形虚线框 将所有待选模块框在其中 则矩形框中所有的对象均被选中 选定所有模块 可以选择菜单 Edit Selectall 8 2 2模块的操作 续 2 模块的复制 1 不同模型窗口 包括模型库窗口 之间的模块复制选定模块 用鼠标将其拖到另一模型窗口 选定模块 使用菜单的 Copy 和 Paste 命令 选定模块 使用工具栏的 Copy 和 Paste 按钮 2 在同一模型窗口内的复制模块选定模块 按下鼠标右键 拖动模块到合适的地方 释放鼠标 选定模块 按住Ctrl键 再拖动鼠标到合适的地方 释放鼠标 使用菜单和工具栏中的 Copy 和 Paste 按钮 8 2 2模块的操作 续 3 模块的移动在同一模型窗口移动模块 选定需要移动模块 用鼠标将模块拖到合适的地方 在不同模型窗之间移动模块 在用鼠标移动的同时按下Shift键 当模块移动时 与之相连的连线也随之移动 8 2 2模块的操作 续 4 模块的删除选定待删除模块 按Delete键 或者用菜单 Edit Clear 或 Cut 或者用工具栏的 Cut 按钮 5 改变模块大小选定需要改变大小的模块 出现小黑块编辑框后 用鼠标拖动编辑框 可以实现放大或缩小 8 2 2模块的操作 续 6 模块的旋转模块旋转180度 选定模块 选择菜单 Format FlipBlock 可以将模块旋转180度 模块旋转90度 选定模块 选择菜单 Format RotateBlock 可以将模块旋转90度 如果一次翻转不能达到要求 可以多次翻转来实现 8 2 2模块的操作 续 7 模块名的编辑修改模块名 单击模块下面或旁边的模块名 出现编辑框就可对模块名进行修改 模块名字体设置 选定模块 选择菜单 Format Font 打开字体对话框设置字体 模块名的显示和隐藏 选定模块 选择菜单 Format Hide Showname 可以隐藏或显示模块名 模块名的翻转 选定模块 选择菜单 Format Flipname 可以对称翻转 8 2 2模块的操作 续 8 模块阴影效果选定模块 选择菜单 Format ShowDropShadow 可以给模块周围加上阴影 以突出该模块 8 2 2模块的操作 续 9 模块参数的设置双击模块可以打开该模块参数设置对话框 查看或修改模块的参数 8 2 3信号线的操作 1 模块间连线先将光标指向一个模块的输出端 待光标变为十字符后 按下鼠标键并拖动 直到另一模块的输入端 选中源模块 然后按住Ctrl键 再用鼠标左键单击目的模块即可 8 2 3信号线的操作 续 2 信号线的分支和折曲 1 分支的产生将光标指向信号线的分支点上 按鼠标右键 光标变为十字符 拖动鼠标直到分支线的终点 释放鼠标 或者按住Ctrl键 同时按下鼠标左键拖动鼠标到分支线的终点 或按住鼠标左键 从目的模块的输入端拖动鼠标到信号线的分支点 8 2 3信号线的操作 续 2 信号线的折曲选中已存在的信号线 将光标指向待折处 按住Shift键 同时按下鼠标左键 当光标变成小圆圈时 用鼠标拖动小圆圈将折点拉至合适处 释放鼠标 8 2 3信号线的操作 续 3 信号线的移动和删除选中信号线 并将光标指向它 按下鼠标左键 拖动至希望处后 释放鼠标即完成信号线的移动 选中信号线 按Delete键即可删除该信号线 8 2 3信号线的操作 续 4 在信号线中插入模块如果模块只有一个输入端口和一个输出端口 则该模块可以直接被插入到一条信号线中 8 2 3信号线的操作 续 5 信号线标识 label 添加标识 双击信号线 则出现一个空的文字填写框 在其中输入标识 修改标识 单击需要修改的标识 出现一个编辑框即可修改标识 移动标识 单击标识 出现编辑框后 用鼠标按住拖动就可以移动编辑框 复制标识 单击需要复制的标识 按下Ctrl键同时移动标识 或者用菜单和工具栏的复制操作 删除标识 单击标识 待出现编辑框后 将光标移出编辑框外 再按Delete键即可 8 2 4给模型添加文本注释 添加模型的文本注释在将用作注释区的中心位置 双击鼠标左键 就会出现编辑框 在编辑框中就可以输入文字注释 2 注释的移动在注释文字处单击鼠标左键 当出现文本编辑框后 用鼠标就可以拖动该文本编辑框 8 2 5Simulink的基本模块 1 信号源模块库 Sources 2 接收模块库 Sinks 3 连续系统模块库 Continuous 4 离散系统模块库 Discrete 8 2 6模型创建实例 例8 2已知线性时不变因果系统的传递函数如下 创建该系统的仿真模型H s 8 2 6模型创建实例 续 分析 这是一个三阶系统 引入辅助变量q设Y q X s 3 q 1 a s 2 q a 1 a s q a 2 q则s 3 Y X 1 a s 2 Y a 1 a s Y a 2 Y 8 2 6模型创建实例 续 该系统包含3个积分器 3个乘法器 增益 1个四输入加法器 通过选模块 设置模块参数 连线得到仿真模型如下 8 2 7仿真的配置 Simulink的模型实际上是定义了仿真系统的微分或差分方程组 而仿真则是用数值解算法来求解方程 仿真开始前 可对数值解法的一些参数进行设置 在模型窗口选择菜单 Simulation Simulationparameters 则会打开参数设置对话框 设置自定义的参数 8 2 7仿真的配置 1 解算器 Solver 的参数设置 1 仿真的起始和结束时间仿真的起始时间 Starttime 缺省值为0 仿真的结束时间 Stoptime 缺省值为10 2 仿真步长仿真的过程一般是求解微分方程组 Solveoptions 的内容是针对解微分方程组的设置 8 2 7仿真的配置 续 3 仿真解法Type的左边 设定解算器类型 Type的右边 设置仿真解法的具体算法类型 4 输出模式根据需要选择输出模式 Outputoptions 可以达到不同的输出效果 一般取缺省配置 8 2 7仿真的配置 续 2 仿真数据的输入输出 WorkspaceI O 设置 1 从工作空间装载数据 Loadfromworkspace 2 保存数据到工作空间 Savetoworkspace Time栏勾选Time栏后 模型将把 时间 变量以在右边空白栏填写的变量名 默认名为tout 存放于工作空间 States栏勾选States栏后 模型将把其状态变量在右边空白栏填写的变量名 默认名为xout 存放于工作空间 8 2 7仿真的配置 续 Output栏如果模型窗口中使用输出模块 Out 那么就必须勾选Output栏 并填写在工作空间中的输出数据变量名 默认名为yout Finalstate栏Finalstate栏的勾选 将向工作空间以在右边空白栏填写的名称 默认名为xFinal 存放最终状态值 3 变量存放选项 Saveoptions Saveoptions必须与Savetoworkspace配合使用 8 2 7仿真的配置 续 当采用输入模块In1 输出模块Out1等作为输入输出时 必须指定输入变量Input 输出变量Output等 多个输入输出模块 In1 In2 Out1 Out2 时 系统自动将输入输出变量的不同列分配给不同的输入输出端口 8 2 7仿真的配置 续 3 仿真中异常情况的判断 Diagnostics Simulink可以自动判断22种异常情况 每种异常情况可以采取三种措施 忽略 none 警告 warning 出错 error 一般采用默认的异常判断处理即可 特殊情况下 为了在存在异常的情况下得到仿真结果 可以修改异常 4 高阶设置 Advanced 通过设置参数对仿真过程进行优化处理 8 3连续系统的建模与仿真 例8 3二阶连续系统的仿真开环传递函数 方法一 输入信号源使用阶跃信号 系统使用开环传递函数 接受模块使用示波器来构成模型 8 3连续系统的建模与仿真 续 1 在 Sources 模块库选择 Step 模块 在 Continuous 模块库选择 TransferFcn 模块 在 MathOperations 模块库选择 Sum 模块 在 Sinks 模块库选择 Scope 2 连接各模块 从信号线引出分支点 构成闭环系统 3 设置模块参数 打开 Sum 模块参数设置对话框 将 Iconshape 设置为 rectangular 将 Listofsigns 设置为 其中 表示上面的入口为空 TransferFcn 模块的参数设置对话框中 将分母多项式 Denominator 设置为 10 60 将 Step 模块的参数设置对话框中 将 Steptime 修改为0 8 3连续系统的建模与仿真 续 5 仿真并分析单击工具栏的 Startsimulation 按钮 开始仿真 在示波器上按下 望远镜 按钮则以响应的最大值为纵轴最大范围显示出阶跃响应 8 3连续系统的建模与仿真 续 方法二 1 系统使用积分模块 Integrator 和零极点模块 zero pole 串联 反馈使用 MathOperations 模块库中的 Gain 模块构成反馈环的增益为 1 2 连接模块 由于 Gain 模块在反馈环中 因此需要使用 FlipBlock 翻转该模块 3 设置模块参数 将 zero pole 模块参数对话框中的 Zeros 栏改为 将 Poles 栏改为 0 6 将 Step 模块的参数设置对话框中 将 Steptime 修改为0 5 将 Gain 模块的 Gain 参数改为 1 打开示波器的参数对话框将坐标轴的个数改为2 示波器的第一个输入端接阶跃信号模块的输出 模型如图所示 8 3连续系统的建模与仿真 续 5 仿真并分析在Simulink模型窗口 选择菜单 Simulation Simulationparameters 命令 在 Solver 页将 Stoptime 设置为15 然后单击 Startsimulation 按钮 示波器显示的就到15秒结束 打开示波器的Y坐标设置对话框 将Y坐标的 Y min 改为0 Y max 改为2 通过修改模型窗中的u t 和y t 标识 将 Title 设置为 阶跃输入 和 二阶系统时域响应 则示波器如图所示 8 3连续系统的建模与仿真 续 如果将示波器换成 Sinks 模块库中的 Out 模块 模型如下 在仿真参数设置对话框的 WorkspaceI O 页 工作空间输入输出 将 Time 和 Output 栏勾选 并分别设置保存在工作空间的时间量和输出变量为 tout 和 yout 8 3连续系统的建模与仿真 续 仿真后在工作空间就可以使用这两个变量来绘制曲线 plot tout yout 8 4子系统的创建与封装及条件执行子系统 对于比较复杂的系统 创建的模型也会比较复杂和庞大 为了简化模型 增加系统模型的可读性 Simulink支持将完成一定功能的模块单独分组 构成一个子系统 子系统模块和主体模型之间形成层次关系 便于理清系统信号流向和系统结构 8 4 1子系统的创建 1 在已建立的模型中创建子系统选中所有准备组成子系统的模块及其连线 选择菜单 Edit CreateSubsystem 系统自动以一个子系统 subsystem 模块替代选中的部分模型 8 4 1子系统的创建 续 2 通过子系统模块 subsystem 创建子系统打开Simulink模块库的子模块库Ports Subsystem 通过复制该模块库中的subsystem模块到模型窗口 可以创建一个子系统 双击该subsystem模块 打开该模块窗口 可以加入需要的模块和信号线 完成该子系统所要实现的功能 注意 创建的子系统可以打开和修改 但不能再解除子系统设置 8 4 2子系统的封装 对子系统进行封装可以进一步完善子系统 将子系统的内部结构隐藏起来 封装后的子系统不能双击打开其内部结构 而要通过菜单 Edit LookUnderMask 才能查看子系统内部结构 双击封装后的子系统会打开该子系统的参数设置对话框 通过在参数设置对话框中输入相应的参数 提供子系统所需的变量 8 4 2子系统的封装 续 选中子系统模块 选择菜单 Edit MaskSubsystem 打开封装编辑器 MaskEditor 通过封装编辑器设计子系统的对话框 关闭封装编辑器即得到封装后的子系统 封装编辑器中的设置参数 主要有 Icon Parameters Initialization 和 Documentation 四个选项 8 4 2子系统的封装 续 1 图标选项Icon选项用于设定封装模块的名字和外观 8 4 2子系统的封装 续 1 Drawingcommands栏用来建立用户化的图标 可以在图标中显示文本 图像 图形或传递函数等 2 IconOptions栏用于设置封装模块的外观 可以选择图标边框是否可见 Frame 图标是否透明 Transparent 图标是否随模块旋转 Rotation 8 4 2子系统的封装 续 2 参数选项 Parameters 用来设计子系统的参数设置对话框 包括提示信息 数据类型等 1 Add Delete Moveup和Movedown按钮用于添加 删除 上移和下移输入变量 2 DialogParametersPrompt 输入变量的含义 其内容会显示在输入提示中 8 4 2子系统的封装 续 Variable 输入变量的名称 type 给用户提供设计编辑区的选择 Edit 提供一个编辑框 Checkbox 提供一个复选框 Popup 提供一个弹出式菜单 Evaluate 用于配合 type 的不同选项提供不同的变量值 有两个选项 Evaluate 和 Literal 其含义如表所示 8 4 2子系统的封装 续 3 OptionsforselectedparameterPops 当 type 选择 Popup 时 用于输入下拉菜单项 Callback 用于输入回调函数 8 4 2子系统的封装 续 3 Initialization选项用于初始化封装子系统 4 文档选项 Documentation 编写子系统模块的性质说明 帮助信息 8 4 2子系统的封装 续 例8 4创建一个二阶系统 将其闭环系统构成子系统 并封装将阻尼系数zeta和无阻尼频率wn作为输入参数 1 创建模型 并将系统的阻尼系数用变量zeta表示 无阻尼频率用变量wn表示 如下页图所示 8 4 2子系统的封装 续 8 4 2子系统的封装 续 2 用虚线框框住反馈环 选择菜单 Edit CreateSubsystem 则产生子系统 如下图所示 8 4 2子系统的封装 续 3 封装子系统 选择菜单 Edit Masksubsystem 出现封装对话框 将zeta和wn作为输入参数 在Icon选项卡中设置的 Drawingcommands 栏中写文字并画曲线 命令如下 disp 二阶系统 plot 012310 exp 012310 在Parameters选项卡中 单击 Add 按钮添加两个输入参数 设置 Prompt 分别为 阻尼系数 和 无阻尼振荡频率 并设置 type 栏分别为 Popup 和 edit 对应的 Variable 为 zeta 和 wn 设置 Popups 为 00 30 50 70712 如图所示 8 4 2子系统的封装 续 8 4 2子系统的封装 续 在Initialization选项卡初始化输入参数 8 4 2子系统的封装 续 在Documentation选项卡中输入提示和帮助信息 8 4 2子系统的封装 续 单击 OK 按钮 完成参数设置 然后双击该封装子系统 则出现封装子系统 双击该子系统出现输入参数对话框 在对话框中输入 阻尼系数 zeta和 无阻尼振荡频率 wn的值 再不需要为子系统中的每个模块分别打开参数设置对话框了 8 4 2子系统的封装 续 封装后的框图如图所示 8 4 2子系统的封装 续 参数设置对话框如图所示 8 4 3条件执行子系统 在Simulink模块库中 有两个特殊模块 Enable模块和Trigger模块 如某子系统含有这两种模块 则该子系统是否起作用将决定于外界的某个条件是否满足 即构成条件执行子系统 8 4 3条件执行子系统 续 1 使能子系统 EnabledSubsystem 使能子系统是当控制信号从负数朝正数变化大于0时执行 而当控制信号变为负数时停止执行 见下页图所示 8 4 3条件执行子系统 续 8 4 3条件执行子系统 续 注 1 Enable模块对话框中 Stateswhenenabling 栏有两个选项 held 使能系统再次执行时 输出保持上一次执行后的状态 reset 使能系统再次执行时输出端复位到初始状态 8 4 3条件执行子系统 续 注 2 Out1模块对话框中 Showwhendisabled 栏有两个选项 held 使能系统停止执行时 输出端口的值保持输出值 reset 使能系统停止执行时 输出端口复位到初始值 8 4 3条件执行子系统 续 由EnabledSubsystem产生半波整流信号 8 4 3条件执行子系统 续 加入积分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业名称2025下半年绩效报告综合报告医疗器械
- XX公司2025上半年ESG发展报告辅助康复类器械行业
- 人社部门劳动合同纠纷案例分析
- 银行贷款合同审批流程管理规范
- 租赁房屋合同解除协议书5篇
- 工程招标代理服务合同标准范本
- 委托加工合同书范本
- 贸易合同样本
- 2025年物流企业营销策略创新与实践可行性研究报告
- 科技公司信息保密合同书6篇
- 2025年学校少先队知识应知应会题库(含答案)
- 核桃肽粉生产技术规程(征求意见稿)编制说明
- 《储能技术》课件-3.各种类型的蓄能技术
- (2025)企业首席质量官培训考核试题(附含答案)
- 工业厂区场地平整建设方案
- 2024年丽水市莲都区事业单位招聘真题
- 锂电池pack工厂安全培训课件
- DB31∕T 1545-2025 卫生健康数据分类分级要求
- 九宫格智力数独200题(题答案)版
- GB/T 5796.4-2022梯形螺纹第4部分:公差
- 智能电网-课件
评论
0/150
提交评论