




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章Simulink仿真 1 8 1Simulink的概况 2 8 1 1SIMULINK起源 1990年 MathWorks软件公司为MATLAB提供了新的控制系统模型图输入与仿真工具 并命名为SIMULAB 该工具很快就在控制工程界获得了广泛的认可 使得仿真软件进入了模型化图形组态阶段 但因其名字与当时比较著名的软件SIMULA类似 所以1992年正式将该软件更名为SIMULINK 从它的名字可以看出 该系统的两个主要功能 Simu 仿真 和Link 连接 Simu表明它可以用于计算机仿真 而Link表明它能进行系统连接 即把一系列的模块连接起来 构成复杂的系统模型 正是由于这两大功能和特色 使得它成为仿真领域首选的计算机环境 3 SIMULINK起源 在SIMULINK出现以前 仿真一个给定框图的连续系统是件很复杂的事情 当时仿真的方法多是采用手工编程的方式 需要大量的编程工作 而且很不直观 对复杂的问题还容易出错 SIMULINK采用基于Windows的模型化图形输入方式 其结果是使得用户可以把更多的精力投入到系统模型的构建 而非语言的编程上 所谓模型化图形输入是指SIMULINK提供了一些按功能分类的基本的系统模块 用户只需要知道这些模块的输入输出及模块的功能 而不必考察模块内部是如何实现的 通过对这些基本模块的调用 再将它们连接起来就可以构成所需要的系统模型 以 mdl文件进行存取 进而进行仿真与分析 4 用户不须专门掌握一种程序设计语言 8 1 2Simulink的特点 5 6 7 8 9 10 Simulink是一个动态仿真系统 用于对动态系统进行仿真和分析 预先模拟实际系统的特性和响应 根据设计和使用要求 对系统进行修改和优化 Simulink可将系统分为从高级到低级的几个层次 每层又可以细分为几个部分 每层系统构建完成后 将各层连接起来构成一个完整系统 模型创建完成后 可以启动系统的仿真功能分析系统的动态特性 其内置的分析工具包括各种仿真算法 系统线性化 寻求平衡点等 仿真结果可以以图形方式在示波器窗口显示 也可将输出结果以变量形式保存起来 并输入到MATLAB中以完成进一步的分析 Simulink可以仿真线性和非线性系统 并能创建连续时间 离散时间或二者混合的系统 支持多采样频率系统 Simulink的三大步骤 模型创建与定义 模型的分析 模型的修正 8 1 3Simulink工作特点 11 8 1 4SIMULINK应用 12 8 2Simulink的动态系统仿真原理 1 数学类型分类 13 现实中每个系统都有输入 输出和状态3个基本要素 以及它们之间随时间变化的数学函数关系 即数学模型图形化模型也体现了输入 输出和状态间随时间变化的某种关系 如下图所示 只要这两种关系在数学上是等价的 那么就可以图形化模型代替数学模型 2 图形化模型与数学模型间的关系 14 3 Simulink仿真系统 1 输入模块 即信号源模块 包括常数字信号源和用户自定义信号 2 状态模块 即被模拟的系统模块 是系统建模的核心和主要部分 3 输出模块 即信号显示模块 它能够以图形方式 文件格式进行显示 注意 在设计一个模型时 必须先确定这三个部分的意 以及它们之间的联系 Simulink的仿真模型并非一定要完全包括这三个部分 它可以缺少其中一个或者两个 Simulink的状态模块可以是连续的 离散的 或者它们二者的结合 输入 Input 状态 states 和输出 Output 三个部分 15 在MATLAB菜单上选择 File New Model 选项 在MATLAB的命令窗口直接键入命令Simulink 用鼠标左键单击MATLAB工具条上的按钮 8 3 1 Simulink启动和浏览器窗口 8 3SIMULINK的模块库 1 启动3种方式 16 2 Simulink模块库浏览器窗口 simulinklibrarybrowser 标题 菜单 工具栏 库目录树 搜索栏 库的子目录 功能分类的各种模块 17 MATLAB菜单上选择 File New Model 选项的新建模型窗口 3 新建模型窗口 18 8 3 2SIMULINK的模块库介绍 常见的库 Continuous 连续模块 Discrete 离散模块 Function Tables 函数和平台模块 Math 数学模块 Nonlinear 非线性模块 Signals Systems 信号和系统模块 Sinks 接收器模块 Sources 输入源模块 不同版本的Simulink有些模块可能不同 19 1 连续模块 Continuous continuous mdl 积分器 Integrator 连续动态系统最常用的元件 该模块将输入端信号经过数值积分 在输出端直接反映出来 数值微分器 Derivative 该模块的作用是将其输入端的信号经过一阶数值微分 在输出端输出出来 线性系统的状态方程 State Space 是线性系统的一种时域描述 用于实现以下数学方程描述的系统 系统的状态方程数学表示为 20 1 连续模块 Continuous continuous mdl 传递函数 TransferFun 传递函数是频域下常用的描述线性微分方程的一种方法 通过引入Laplace变换可以将原来的线性微分方程在零初始条件下变换成 代数 的形式 从而以多项式的比值形式描述系统 零极点传递函数模块 Zero Pole 用于建立一个预先指定的零点 极点 并用延迟算子s表示的连续 存储器模块 Memory 保持输出前一步的输入值 传输延迟模块 TransportDelay 用于将输入端的信号延迟指定的时间后再传输给输出信号 可变传输延迟模块 VariableTransportDelay 用于将输入端的信号进行可变时间的延迟 21 2离散模块 Discrete discrete mdl Discrete timeIntegrator 离散时间积分器DiscreteFilter IIR与FIR滤波器DiscreteState Space 离散状态空间系统模型DiscreteTransfer Fcn 离散传递函数模型DiscreteZero Pole 以零极点表示的离散传递函数模型First OrderHold 一阶采样和保持器Zero OrderHold 零阶采样和保持器UnitDelay 一个采样周期的延时 22 函数与表格模块库 Function Table 主要实现各种一维 二维或者更高维函数的查表 另外用户还可以根据自己需要创建更复杂的函数 该模块库包括多个主要模块 3函数与表格模块库 Function Table 23 1 一维查表模块 Look UpTable 一维查表模块 Look UpTable 实现对单路输入信号的查表和线性插值 2 二维查表模块 Look UpTable2 D 功能 根据给定的二维平面网格上的高度值 把输入的两个变量经过查表 插值 计算出模块的输出值 并返回这个值 说明 对二维输入信号进行分段线性变换 3 自定义函数模块 Fcn 功能 用于将输入信号进行指定的函数运算 最后计算出模块的输出值 说明 输入的数学表达式应符合C语言编程规范 与MATLAB中的表达式有所不同 不能完成矩阵运算 4 MATLAB函数模块 MATLABFcn 功能 对输入信号进行MATLAB函数及表达式的处理 说明 模块为单输入模块 能够完成矩阵运算 注意 从运算速度角度 Mathfunction模块要比Fcn模块慢 当需要提高速度时 可以考虑采用Fcn或者S函数模块 5 S 函数模块 S Function 功能 按照Simulink标准 编写用户自己的Simulink函数 它能够将MATLAB语句 C语言等编写的函数放在Simulink模块中运行 最后计算模块的输出值 24 4 数学模块 Math Sum 加减运算Product 乘运算DotProduct 点乘运算Gain 比例运算MathFunction 包括指数函数 对数函数 求平方 开根号等常用数学函数TrigonometricFunction 三角函数 包括正弦 余弦 正切等MinMax 最值运算Abs 取绝对值Sign 符号函数 25 非线性模块 Nonlinear 中包括一些常用的非线性模块 5非线性模块 Nonlinear 26 非线性模块 Nonlinear Saturation 饱和输出 让输出超过某一值时能够饱和 Relay 滞环比较器 限制输出值在某一范围内变化 Coulomb与粘性摩擦 Coulomb ViscousFriction 磁滞回环模块 Backlash 此模块中定义了很多分段线性的静态非线性模块 如死区非线性 DeadZone 饱和非线性 Saturation 量化模块 quantizer 继电模块 Relay 变化率限幅模块 RateLimiter 等 27 6 信号和系统模块Signal Systemssigsys mdl Mux 将多个单一输入转化为一个复合输出 Demux 将一个复合输入转化为多个单一输出 28 1 Bus信号选择模块 BusSelector 功能 用于得到从Mux模块或其它模块引入的Bus信号 2 混路器模块 Mux 功能 把多路信号组成一个矢量信号或者Bus信号 3 分路器模块 Demux 功能 把混路器组成的信号按照原来的构成方法分解成多路信号 4 信号合成模块 Merge 功能 把多路信号进行合成一个单一的信号 5 接收 传输信号模块 From Goto 功能 接收 传输信号模块 From Goto 常常配合使用 From模块用于从一个Goto模块中接收一个输入信号 Goto模块用于把输入信号传递给From模块 6 初始值设定模块 IC 功能 初始值设定模块 IC 用于设定与输出端口连接的模块的初始值 29 7 接收器模块 Sinks sinks mdl Scope 示波器 XYGraph 显示二维图形 ToWorkspace 将输出写入MATLAB的工作空间 ToFile mat 将输出写入数据文件 Display 直接在Simulink中显示数据 30 1 示波器模块 Scope 功能 显示在仿真过程中产生的输出信号 用于在示波器中显示输入信号与仿真时间的关系曲线 仿真时间为x轴 2 二维信号显示模块 XYGraph 功能 在MATLAB的图形窗口中显示一个二维信号图 并将两路信号分别作为示波器坐标的x轴与y轴 同时把它们之间的关系图形显示出来 3 显示模块 Display 功能 按照一定的格式显示输入信号的值 可供选择的输出格式包括 short long short e long e bank等 4 输出到文件模块 ToFile 功能 按照矩阵的形式把输入信号保存到一个指定的MAT文件 第一行为仿真时间 余下的行则是输入数据 一个数据点是输入矢量的一个分量 5 输出到工作空间模块 ToWorkspace 功能 把信号保存到MATLAB的当前工作空间 是另一种输出方式 6 终止信号模块 Terminator 功能 中断一个未连接的信号输出端口 7 结束仿真模块 Stopsimulation 功能 停止仿真过程 当输入为非零时 停止系统仿真 31 8 输入源模块 Sources sources mdl Constant 常数信号 Clock 时钟信号 FromWorkspace 来自MATLAB的工作空间 FromFile mat 来自数据文件 PulseGenerator 脉冲发生器 RepeatingSequence 重复信号 SignalGenerator 信号发生器 可以产生正弦 方波 锯齿波及随意波 SineWave 正弦波信号 Step 阶跃波信号 32 信号源模块库 Sources 包括的主要模块 图7 13信号源模块库 33 1 输入常数模块 Constant 功能 产生一个常数 该常数可以是实数 也可以是复数 2 信号源发生器模块 SignalGenerator 功能 产生不同的信号 其中包括 正弦波 方波 锯齿波信号 3 从文件读取信号模块 FromFile 功能 从一个MAT文件中读取信号 读取的信号为一个矩阵 其矩阵的格式与ToFile模块中介绍的矩阵格式相同 如果矩阵在同一采样时间有两个或者更多的列 则数据点的输出应该是首次出现的列 4 从工作空间读取信号模块 FromWorkspace 功能 从MATLAB工作空间读取信号作为当前的输入信号 5 随机数模块 RandomNumber 功能 产生正态分布的随机数 默认的随机数是期望为0 方差为1的标准正态分布量 6 带宽限制白噪声模块 BandLimitedWhiteNoise 功能 实现对连续或者混杂系统的白噪声输入 7 其它模块除以上介绍的常用模块外 还包括其模块 各模块功能可通过以下方法查看 先进入Simulink工作窗口 在菜单中执行Help SimulinkHelp命令 这时就会弹出Help界面 然后用鼠标展开UsingSimulink BlockReference SimulinkBlockLibraries就可以看到Simulink的所有模块 查看相应的模块的使用方法和说明信息即可 34 8 4SIMULINK简单模型的建立 简单模型的建立 1 建立模型窗口 2 将功能模块由模块库窗口复制到模型窗口 3 对模块进行连接 从而构成需要的系统模型模型的特点在SIMULINK里提供了许多如Scope的接收器模块 这使得用SIMULNK进行仿真具有像做实验一般的图形化显示效果 SIMULINK的模型具有层次性 通过底层子系统可以构建上层母系统 SIMULINK提供了对子系统进行封装的功能 用户可以自定义子系统的图标和设置参数对话框 35 构建Simulink框图 1 使用鼠标左键单击系统模块库 如果模块库为多层结构 则单击 号载入库 2 使用鼠标右键单击系统模块库 在单独的窗口打开库 3 使用鼠标左键单击系统模块 在模块描述栏中显示此模块的描述 4 使用鼠标右键单击系统模块 可以得到系统模块的帮助信息 将系统模块插入到系统模型中 查看系统模块的参数设置 以及回到系统模块的上一层库 Simulink库浏览器的基本操作 36 这里用一个非常简单的例子介绍如何建立动态系统模型 此简单系统的输入为一个正弦波信号 输出为此正弦波信号与一个常数的乘积 要求建立系统模型 并以图形方式输出系统运算结果 已知系统的数学描述为 模块选择 37 系统输入模块库Sources中的SineWave模块 产生一个正弦波信号 数学库Math中的Gain模块 将信号乘上一个常数 即信号增益 系统输出库Sinks中的Scope模块 图形方式显示结果 建立此简单系统的模型需要系统模块 选择相应的系统模块并将其拷贝 或拖动 到新建的系统模型中 均在Simulink公共模块库中 38 39 在选择构建系统模型所需的所有模块后 需要按照系统的信号流程将各系统模块正确连接起来 1 将光标指向起始块的输出端口 此时光标变成 2 单击鼠标左键并拖动到目标模块的输入端口 在接近到一定程度时光标变成双十字 这时松开鼠标键 连接完成 完成后在连接点处出现一个箭头 表示系统中信号的流向 连接系统模块的步骤 40 模块操作 1 模块的复制如果需要几个同样的模块 可以使用鼠标右键单击并拖动某个块进行拷贝 也可以在选中所需的模块后 使用Edit菜单上的Copy和Paste或使用热键Ctrl C和Ctrl V完成同样的功能 系统模块进行操作的基本技巧 掌握它们可使建立动态系统模型变得更为方便快捷 41 2 模块的插入 如果用户需要在信号连线上插入一个模块 只需将这个模块移到线上就可以自动连接 注意这个功能只支持单输入单输出模块 对于其他的模块 只能先删除连线 放置块 然后再重新连线 42 3 连线分支与连线改变 信号连线分支操作方式 使用鼠标右键单击需要分支的信号连线 光标变成 然后拖动到目标模块 按下Shift键的同时 在信号连线上单击鼠标左键并拖动 可以生成新的节点 使用鼠标左键单击并拖动以改变信号连线的路径 43 4 信号组合 在利用Simulink进行系统仿真时 在很多情况下 需要将系统中某些模块的输出信号 一般为标量 组合成一个向量信号 并将得到的信号作为另外一个模块的输入 44 运行仿真 当用户按照信号的输入输出关系连接各系统模块之后 系统模型的创建工作便已结束 为了对动态系统进行正确的仿真与分析 必须设置正确的系统模块参数与系统仿真参数 45 1 双击系统模块 打开系统模块的参数设置对话框 2 在参数设置对话框中设置合适的模块参数 1 系统模块参数的设置方法 46 系统仿真参数设置 在对系统模型中各个模块进行正确且合适的参数设置之后 需要对系统仿真参数进行必要的设置以开始仿真 在缺省情况下 Simulink默认的仿真起始时间为0s 仿真结束时间为10s 对于此简单系统 当时间大于25时系统输出才开始转换 因此需要设置合适的仿真时间 设置仿真时间的方法为 选择菜单Simulation中的SimulationParameters 或使用快捷键Ctrl E 打开仿真参数设置对话框 在Solver选项卡中设置系统仿真时间区间 设置系统仿真起始时间为0s 结束时间为100s 47 2 运行仿真 当对系统中各模块参数以及系统仿真参数进行正确设置之后 单击系统模型编辑器上的Play图标 黑色三角 或选择Simulation菜单下的Start便可以对系统进行仿真分析 仿真结束后双击Scope模块以显示系统仿真的输出结果 48 模块及框图属性编辑 在Simulink系统模型编辑器中 可以对系统模型的视图进行调整以便更好地观察系统模型 1 框图的视图调整 使用View菜单控制模型在视图区的显示 用户可以对模型视图进行任意缩放 使用系统热键R 放大 或V 缩小 按空格键可以使系统模型充满整个视图窗口 49 50 2 模块的名称操作 一般对于简单的系统 可以采用Simulink的自动命名 在这简单动态系统中 正弦信号模块名称为SineWave 对于系统模型中相同的模块 Simulink会自动对其进行编号 对于复杂系统 给每个模块取一个具有明显意义的名称 非常有利于系统模型的理解与维护 51 模块名称的操作 模块命名 使用鼠标左键单击模块名称 进入编辑状态 然后键入新的名称 名称移动 使用鼠标左键单击模块名称并拖动到模块的另一侧 或选择Format菜单中的FlipName翻转模块名称 名称隐藏 选择Format菜单中的HideName隐藏系统模块名称 注意 系统模型中模块的名称应当是唯一的 否则Simulink会给出警告并自动改变名称 52 53 3 模块的其它操作 Simulink允许用户对模块的几何尺寸进行修改 以改善系统模型框图的界面 例如 对于具有多个输入端口的模块 需要调整其大小使其能够较好地容纳多个信号连线 而非采用模块的默认大小 另外 对于某些系统模块 当模块的尺寸足够大时 模块的参数将直接显示在模块上面 这非常有利于用户对模型的理解 54 Simulink允许改变模块的颜色 使用鼠标右键单击模块 选择Foregroundcolor或Backgroundcolor菜单来设置颜色 或使用模型编辑器中Format菜单中的相应命令设置模块颜色 如果模块的前景
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出卖地皮的合同范本
- 音频主播合同范本
- 采购飞机定金合同范本
- 抹灰砂浆售卖合同范本
- 印刷彩盒合同范本
- 播种造林劳务合同范本
- 餐饮合作商家合同范本
- 教师劳务协议合同范本
- 2025年外科急救实操模拟考试试卷答案及解析
- 灯箱广告定制合同范本
- 设备维修保养风险评估与规避
- SYT5405-2019酸化用缓蚀剂性能试验方法及评价指标
- 非器质性失眠症的护理查房
- 《新学期“心”动力》心理主题班会
- 《基础写作教程》 课件全套 第1-11章 基础写作概论- 理论文体
- 培养团队协调能力
- 拓培非格司亭注射液-临床药品应用解读
- 装饰色彩课件
- 中央企业合规管理办法
- (医学课件)急诊科进修汇报
- 1-丁烯安全技术说明书MSDS
评论
0/150
提交评论