电机控制基于Simulink的仿真.ppt

上传人:得****1 文档编号:79211590 上传时间:2023-03-20 格式:PPT 页数:192 大小:2.86MB
返回 下载 相关 举报
电机控制基于Simulink的仿真.ppt_第1页
第1页 / 共192页
电机控制基于Simulink的仿真.ppt_第2页
第2页 / 共192页
点击查看更多>>
资源描述

《电机控制基于Simulink的仿真.ppt》由会员分享,可在线阅读,更多相关《电机控制基于Simulink的仿真.ppt(192页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 MATLAB/Simulink设计主讲:段清明主讲:段清明仪器科学与电气工程学院仪器科学与电气工程学院 电机控制课程设计电机控制课程设计电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院1 Simulink简介Simulink是一个用来对动态系统进行建模、仿真是一个用来对动态系统进行建模、仿真和分析的软件包。和分析的软件包。使用使用Simulink来建模、分析和来建模、分析和仿真各种动态系统仿真各种动态系统(包括包括连续系统连续系统、离散系统离散系统和和混混合系统合系统),将是一件非常轻松的事情。它提供了一,将是一件非常轻松

2、的事情。它提供了一种图形化的交互环境,只需用鼠标拖动的方法便种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写能迅速地建立起系统框图模型,甚至不需要编写一行代码。一行代码。利用利用Simulink进行系统的建模仿真,其最大的优进行系统的建模仿真,其最大的优点是易学、易用,并能依托点是易学、易用,并能依托MATLAB提供的丰富提供的丰富的仿真资源。的仿真资源。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院提供了仿真库的扩充和定制机制提供了仿真库的扩充和定制机制Simulink的开放式结构允许

3、用户扩展仿真环境的开放式结构允许用户扩展仿真环境的功能:采用的功能:采用MATLAB、FORTRAN和和C代码代码生成自定义模块库,并拥有自己的图标和界面。生成自定义模块库,并拥有自己的图标和界面。与与MATLAB工具箱的集成工具箱的集成由于由于Simulink可以直接利用可以直接利用MATLAB的诸多资的诸多资源与功能,因而用户可以直接在源与功能,因而用户可以直接在 Simulink下完下完成诸如数据分析、过程自动化、优化参数等工成诸如数据分析、过程自动化、优化参数等工作。作。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学

4、院Simulink应用领域应用领域电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院2 Simulink启动及模型建立启动及模型建立 Simulink的启动主要有以下两种方法:的启动主要有以下两种方法:在在MATLAB的命令窗口中输入的命令窗口中输入simulink,结果是结果是在桌面上出现一个在桌面上出现一个Simulink Library Browser的窗口。的窗口。单击单击MATLAB主窗口的快捷按钮主窗口的快捷按钮 ,打开,打开Simulink Library Browser窗口窗口。电机控制课程设计:电机控制课程设

5、计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院Simulink模型窗口的建立模型窗口的建立 在在Simulink中打开一个空白的模型窗口的方法:中打开一个空白的模型窗口的方法:选中选中Simulink菜单系统中的菜单系统中的File|New|Model菜单项后,菜单项后,会生成一个会生成一个Simulink窗口;窗口;单击单击Simulink工具栏中的工具栏中的“新建模型新建模型”图标;图标;在在MATLAB的命令窗口中选择的命令窗口中选择File|New|New Model菜菜单项;单项;电机控制课程设计:电机控制课程设计:MATLAB/Simulin

6、k设计设计仪器科学与电气工程学院仪器科学与电气工程学院启动启动Simulink,建立系统模型的基本操作建立系统模型的基本操作依次表示新建、打开依次表示新建、打开系统模型文件系统模型文件依次表示新建、打开与依次表示新建、打开与保存系统模型文件保存系统模型文件电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院Simulink的模块库的模块库Simulink的模块库能够对系统模块进行有效的管理与组织的模块库能够对系统模块进行有效的管理与组织可以直接将模块库中的模块拖动或者拷贝到用户的系统模可以直接将模块库中的模块拖动或者拷贝到用户的

7、系统模型中以构建动态系统模型。型中以构建动态系统模型。模块搜索模块搜索 模块描述模块描述 系统模块系统模块 系统模块库系统模块库 电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院Simulink公共模块库公共模块库Simulink中最为基础、最为通用的模块库,它可以被应用中最为基础、最为通用的模块库,它可以被应用到不同的专业领域中。到不同的专业领域中。连续模块连续模块continuous、非连续模块、非连续模块discontinuous离散模块离散模块discrete、查找表模块、查找表模块Look-up Table数学运算

8、数学运算Math Operations模型验证模块模型验证模块Model Verification模型扩充工具模型扩充工具Model-Wide Utilities端口和子系统模块端口和子系统模块Ports&Subsystems、信号属性模块信号属性模块Signal Attributes信号路由模块信号路由模块Signal Routing、接收模块、接收模块Sinks输入模块输入模块Sources用户自定义函数模块用户自定义函数模块User-Defined Functions电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院Si

9、mulink的部分专业模块库的部分专业模块库DSP Blockset数字信号处理工具包数字信号处理工具包Fixed-Point Blockset定点运算控制系统仿真工具包定点运算控制系统仿真工具包Power System Blockset电力电动系统工具包电力电动系统工具包Dials&Gauges Blockset交互图形和控制面板设计工具包交互图形和控制面板设计工具包Communications Blockset通讯系统工具包通讯系统工具包CDMA Reference Blockset CDMACDMA通讯系统设计和分析工具包通讯系统设计和分析工具包Nonlinear Control Des

10、ign Blockset非线性控制设计工具箱非线性控制设计工具箱Motorola DSP Developers KitMotorola DSP开发工具箱开发工具箱TI DSP Developers KitTI DSP开发工具箱开发工具箱电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院对对Simulink库浏览器的基本操作有:库浏览器的基本操作有:(1)使使用用鼠鼠标标左左键键单单击击系系统统模模块块库库,如如果果模模块块库库为为多多层层结结构构,则单击则单击“+”号载入库。号载入库。(2)使用鼠标右键单击系统模块库,使用鼠标

11、右键单击系统模块库,可在单独的窗口可在单独的窗口打开库。打开库。(3)使使用用鼠鼠标标左左键键单单击击系系统统模模块块,在在模模块块描描述述栏栏中中显显示示此此模模块块的描述的描述。(4)使使用用鼠鼠标标右右键键单单击击系系统统模模块块,可可以以得得到到:系系统统模模块块的的帮帮助助信信息息;将将系系统统模模块块插插入入到到系系统统模模型型中中;查查看看系系统统模模块块的的参参数数设置设置;以及以及回到系统模块的上一层库回到系统模块的上一层库。此外还可以进行以下操作此外还可以进行以下操作:(1)使使用用鼠鼠标标左左键键选选择择并并拖拖动动系系统统模模块块,并并将将其其拷拷贝贝到到系统模型中。系

12、统模型中。(2)在模块搜索栏中搜索所需的系统模块。在模块搜索栏中搜索所需的系统模块。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院例例:简简单单系系统统的的输输入入为为一一个个正正弦弦波波信信号号,输输出出为为此此正正弦弦波波信信号号与与一一个个常常数数的的乘乘积积。要要求求建建立立系系统统模型,并以图形方式输出系统运算结果。模型,并以图形方式输出系统运算结果。已知系统的数学描述为已知系统的数学描述为 系统输入:系统输入:u(t)=sin t,t0 系统输出:系统输出:y(t)=au(t),a0电机控制课程设计:电机控制课

13、程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院相关操作:相关操作:模块库模块库Sine Wave来自来自sources;Gain来自来自Math Operations;Scope来自来自Sinks连接方法连接方法(1)拖动对应端口进行连接拖动对应端口进行连接(2)单击起始模块后,按单击起始模块后,按Ctrl键再单击目标模块键再单击目标模块模块复制模块复制传统方式传统方式Ctrl+C/Ctrl+V、或、或Ctrl键再拖动模块键再拖动模块模块插入模块插入 对于单输入单输出模块,只需将这个模块移到线上就对于单输入单输出模块,只需将这个模块移到线上就可以自动

14、连接。可以自动连接。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院连线操作连线操作连线分支连线分支使用鼠标右键单击需要分支的信号连线(光标使用鼠标右键单击需要分支的信号连线(光标变成变成“+”),然后拖动到目标模块。),然后拖动到目标模块。使用鼠标左键单击并拖动以改变信号连线使用鼠标左键单击并拖动以改变信号连线的路径。的路径。按下按下Shift键的同时,在信号连线上单击鼠键的同时,在信号连线上单击鼠标左键并拖动,可以生成新的节点。标左键并拖动,可以生成新的节点。在节点上使用鼠标左键单击并拖动,可以在节点上使用鼠标左键单击并

15、拖动,可以改变信号连线路径。改变信号连线路径。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院信号组合信号组合 在利用在利用Simulink进行系统仿真时,在很多进行系统仿真时,在很多情况下,需要将系统中某些模块的输出信号(一情况下,需要将系统中某些模块的输出信号(一般为标量)组合成一个向量信号,并将得到的信般为标量)组合成一个向量信号,并将得到的信号作为另外一个模块的输入。号作为另外一个模块的输入。来自来自Signal Routing的的Bus Creator电机控制课程设计:电机控制课程设计:MATLAB/Simulin

16、k设计设计仪器科学与电气工程学院仪器科学与电气工程学院3 Simulink模型仿真模型仿真系统模块参数设置与系统仿真参数设置系统模块参数设置与系统仿真参数设置双击系统模块,打开系统模块的参数设置对话框。双击系统模块,打开系统模块的参数设置对话框。在参数设置对话框中设置合适的模块参数。在参数设置对话框中设置合适的模块参数。设置合适的系统仿真参数以进行动态系统的仿真设置合适的系统仿真参数以进行动态系统的仿真在在Simulation菜单的菜单的Simulation parameters.子菜单子菜单中进行设置,如仿真时间等中进行设置,如仿真时间等运行仿真运行仿真单击系统模型编辑器上的单击系统模型编辑

17、器上的Play图标图标(黑色三角黑色三角)或选择或选择Simulation菜单下的菜单下的Start便可以对系统进行仿真分析。便可以对系统进行仿真分析。仿真结束后双击仿真结束后双击Scope模块以显示系统仿真的输出结模块以显示系统仿真的输出结果果电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院4 Simulink子系统介绍子系统介绍Simulink提供的子系统功能可以大大地增强提供的子系统功能可以大大地增强Simulink系统模型框图的可读性。系统模型框图的可读性。子系统可以理解为一种子系统可以理解为一种“容器容器”,此容器

18、能够将,此容器能够将一组相关的模块封装到一个单独的模块中,并且一组相关的模块封装到一个单独的模块中,并且与原来系统模块组的功能一致。与原来系统模块组的功能一致。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院子系统建立方法子系统建立方法(2种种)在已有的系统模型中建立子系统:在已有的系统模型中建立子系统:首先框选待封装的区域,即在模型编辑器背景首先框选待封装的区域,即在模型编辑器背景中单击鼠标左键并拖动,选中需要放置到子系中单击鼠标左键并拖动,选中需要放置到子系统中的模块与信号(或在按下统中的模块与信号(或在按下Shift键

19、的同时,键的同时,用鼠标左键单击所需模块);然后选择用鼠标左键单击所需模块);然后选择Edit菜菜单下的单下的Create Subsystem,即可建立子系统。,即可建立子系统。建立空的子系统:建立空的子系统:Subsystems模块库中的模块建立子系统。这模块库中的模块建立子系统。这样建立的子系统内容为空,然后双击子系统对样建立的子系统内容为空,然后双击子系统对其进行编辑。其进行编辑。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院子系统操作子系统操作 在在生生成成子子系系统统之之后后,用用户户可可以以对对子子系系统统进进

20、行行各各种种与与系系统统模模块块相相类类似似的的操操作作,这这时时子子系系统统相相当当于于具具有有一一定定功功能能的的系系统统模模块块。例例如如,子子系系统统的的命命名名、子子系系统统视视图图的的修修改改、子子系系统统的的显显示示颜颜色色等等等等。当当然然子子系系统统也也有有其其特特有有的的操操作作,如如子子系系统统的的显显示示(用用鼠鼠标标左左键键双双击击子子系系统统模模块块即即可打开子系统)、子系统的封装等等。可打开子系统)、子系统的封装等等。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院Inport输入模块与输入模块

21、与Outport输出模块输出模块 在在系系统统模模型型中中建建立立子子系系统统时时,Simulink会会自自动动生生成成Inport模模块块(Sources模模块块库库中中的的In1模模块块)与与Outport模模块块(Sinks模模块块库库中中的的Out1模模块块)。Inport模模块块作作为为子子系系统统的的输输入入端端口口,Outport作作为为子子系系统统的的输输出出端端口口,它它们们被被用用来来完完成成子子系系统统和和主主系统之间的通讯。系统之间的通讯。Inport和和Outport用用来来对对信信号号进进行行传传递递,不不改改变变信信号号的的任任何何属属性性;另另外外,信信号号标标

22、签签可可以以越越过过它它们们进进行行传传递递。如如果果需需要要建建立立多多输输入入多多输输出出的的子子系系统统,则则需需要要使使用用多多个个Inport模模块块与与Outport模模块块,而而且且最最好好使使用用合合适适的的名名称称对对Inport模模块块与与Outport模块进行命名。模块进行命名。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院5 Simulink与与Matlab的接口设计的接口设计由由MATLAB工作空间变量设置系统模块参工作空间变量设置系统模块参数数模块参数可以是常量也可以工作空间变量模块参数可以是常

23、量也可以工作空间变量直直接接使使用用MATLAB工工作作空空间间中中的的变变量量设设置置模模块块参数。参数。使用变量的表达式设置模块参数。使用变量的表达式设置模块参数。例例如如,如如果果a是是定定义义在在MATLAB中中的的变变量量,则则表表达达式式a、a2+5、exp(a)等等均均可可以以作作为为系系统统模模块块的的参参数数电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院将信号输出到将信号输出到MATLAB工作空间中工作空间中 使使用用示示波波器器模模块块Scope的的输输出出信信号号,可可以以使用户对输出的信号进行简单的

24、定性分析。使用户对输出的信号进行简单的定性分析。使使用用Sinks模模块块库库中中的的To Workspace 模模块块,可可以以轻轻易易地地将将信信号号输输出出到到MATLAB工工作作空空间间中中。信信号号输输出出的的名名称称在在To Workspace模模块块的的对对话话框框中中设设置置,此此对对话话框框还还可可以以设设置置输输出出数数据据的的点点数数、输输出出的的间间隔隔,以以及及输输出出数数据据的的类类型型等等。其其中中输输出出类类型型有有三三种种形形式式:数数组组、结结构构以以及及带带有有时时间间变变量量的的结结构构。仿仿真真结结束束或或暂暂停停时时信信号号被被输输出到工作空间中。出

25、到工作空间中。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院使用工作空间变量作为系统输入信号使用工作空间变量作为系统输入信号 Simulink与与MATLAB的的数数据据交交互互是是相相互互的的,除除了了可可以以将将信信号号输输出出到到MATLAB工工作作空空间间中中之之外外,用用户户还还可可以以使使用用MATLAB工工作作空空间间中中的的变变量量作作为为系系统统模模型型的的输输入入信信号号。使使用用Sources模模块块库库中中的的From Workspace模模块块可可以以将将MATLAB工工作作空空间间中中的的变变量

26、量作为系统模型的输入信号。此变量的格式如下所示:作为系统模型的输入信号。此变量的格式如下所示:t=0:0.1:10;x=sin(t);input=t,x;系系统统输输入入信信号号input的的作作用用相相当当于于Sources模模块块中中的的Sine Wave模块模块电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院向量与矩阵向量与矩阵Simulink所所使使用用的的信信号号可可以以是是标标量量也也能能够够传传递递和和使使用用向向量量信信号号。例例如如,向向量量增增益益可可以以作作用在一个标量信号上,产生一个向量输出。用在一个

27、标量信号上,产生一个向量输出。Simulink 最最重重要要的的特特性性就就是是支支持持矩矩阵阵形形式式的的信信号号,它它可可以以区区分分行行和和列列向向量量并并传传递递矩矩阵阵。通通过过对对模模块块做做适适当当的的配配置置,可可以以使使模模块块能能够够接受矩阵作为模块参数。接受矩阵作为模块参数。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院MATLAB Function与与Function模块模块 除除了了使使用用上上述述的的方方式式进进行行Simulink与与MATLAB之之间间的的数数据据交交互互,用用户户还还可可以

28、以使使用用Functions and Tables 模模块块库库中中的的 Function模模块块(简简称称为为Fcn模模块块)或或Functions and Tables 模模块块库库中中的的MATLAB Function模模块块(简简称称为为MATLAB Fcn模块)进行彼此间的数据交互。模块)进行彼此间的数据交互。Fcn模块一般用来实现简单的函数关系,在模块一般用来实现简单的函数关系,在Fcn模块中:模块中:(1)输入总是表示成输入总是表示成u,u可以是一个向量。可以是一个向量。(2)可以使用可以使用 C 语言表达式,例如语言表达式,例如sin(u1)+cos(u2)。(3)输出永远为一

29、个标量。输出永远为一个标量。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院 (2)可以使用可以使用 C 语言表达式,例如语言表达式,例如sin(u1)+cos(u2)。(3)输出永远为一个标量。输出永远为一个标量。MATLAB Fcn一一般般用用来来调调用用MATLAB函函数数来来实实现现一一定的功能,在定的功能,在MATLAB Fcn模块中:模块中:(1)所所要要调调用用的的函函数数只只能能有有一一个个输输出出(可可以以是是一一个个向向量)。量)。(2)单单输输入入函函数数只只需需使使用用函函数数名名,多多输输入入函函数

30、数输输入入需需要引用相应的元素,如要引用相应的元素,如mean、sqrt、myfunc(u(1),u(2)。(3)在每个仿真步长内都需要调用在每个仿真步长内都需要调用MATLAB解释器。解释器。使使用用Fcn模模块块与与MATLAB Fcn模模块块进进行行Simulink与与MATLAB之间的数据交互。之间的数据交互。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院使用使用Fcn与与MATLAB Fcn模块进行数据交互模块进行数据交互 函数表达式函数表达式 Matlab函数 MATLAB函数电机控制课程设计:电机控制课程设计

31、:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院6 Scope高级使用技术高级使用技术打印输出打印输出 参数设置参数设置 视图整体缩放视图整体缩放 Y轴缩放轴缩放 视图自动缩放视图自动缩放 X轴缩放轴缩放 保存当前坐标轴设置保存当前坐标轴设置 恢复坐标轴设置恢复坐标轴设置 悬浮悬浮Scope开关开关 悬浮时信号选择悬浮时信号选择 去除坐标轴选择去除坐标轴选择 电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院1)Scope的参数设置的参数设置 使使用用Scope模模块块的的参参数数设设置置选

32、选项项卡卡能能够够对对系系统统仿仿真真输输出出结结果果显显示示进进行行更更多多的的控控制制,而而不不仅仅仅仅是是上上述述的的简简单单控控制制。图图36、图图37所所示示分分别别为为Scope模模块块参参数数设设置置选选项项卡卡中中的的General选选项卡与项卡与Data History选项卡。选项卡。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院Scope模块的模块的General选项卡选项卡坐标系标签坐标系标签 坐标系数目坐标系数目 显示时间范围显示时间范围 悬浮悬浮Scope 开关开关 电机控制课程设计:电机控制课程

33、设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院Scope模块的模块的Data history选项卡选项卡信号显示点数限制信号显示点数限制 保存信号至工作空保存信号至工作空间变量间变量 电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院下面简单介绍一下各选项卡的功能与使用。下面简单介绍一下各选项卡的功能与使用。1)坐标系数目坐标系数目(Number of axes)功功能能描描述述:在在一一个个Scope输输出出模模块块中中使使用用多多个个坐坐标标系系窗窗口口同同时时输输出出多多个个信信

34、号号。在在默默认认设设置置下,下,Scope模块仅显示一个坐标系窗口。模块仅显示一个坐标系窗口。2)悬浮悬浮Scope开关开关(Floating scope)功功能能描描述述:将将Scope模模块块切切换换为为悬悬浮浮Scope模块。模块。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院 3)显示时间范围显示时间范围(Time range)功功能能描描述述:设设置置信信号号显显示示的的时时间间范范围围。注注意意:信信号号显显示示的的时时间间范范围围与与系系统统仿仿真真时时间间范范围围并并不不等等同同,并并且且坐坐标标系系所所

35、示示的的时时间间范范围围并并非非为为绝绝对对时时间间,而而是是指指相相对对时时间间范范围围,坐坐标标系系的的左左下下角角的的时时间间偏偏移移(Time offset)给给出出了了时时间间的的起起始始偏偏移移量量(即即显显示时间范围的起始时刻)。示时间范围的起始时刻)。4)坐标系标签坐标系标签(Tick labels)功功能能描描述述:确确定定Scope模模块块中中各各坐坐标标系系是是否否带带有有坐标轴标签。坐标轴标签。下方坐标系使用标签(下方坐标系使用标签(bottom axis only)以及)以及都不使用标签(都不使用标签(none)。用户最好使用标签,这)。用户最好使用标签,这有利于对信

36、号的观察理解有利于对信号的观察理解.电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院 5)信号显示点数限制信号显示点数限制(Limit data points to last)功功能能描描述述:限限制制信信号号显显示示的的数数据据点点的的数数目目,Scope模模块块会会自自动动对对信信号号进进行行截截取取以以显显示示信信号号的的最最后后n个个点点(这里(这里n为设置的数值)。为设置的数值)。6)保存信号至工作空间变量保存信号至工作空间变量(Save data to workspace)功功能能描描述述:将将由由Scope模模

37、块块显显示示的的信信号号保保存存到到Matlab工工作作空空间间变变量量中中,以以便便于于对对信信号号进进行行更更多多的的定定量量分分析析。数数据据保保存存类类型型有有三三种种:带带时时间间变变量量的的结结构构体体(structure with time)、结结构构体体(structure)以以及及数数组组变变量量(Array)。这这与与前前面面所所介介绍绍的的Sinks模块库中的模块库中的To workspace模块类似。模块类似。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院此此外外,在在Scope模模块块中中的的坐坐

38、标标系系中中单单击击鼠鼠标标右右键键,选选择择弹弹出出菜菜单单中中坐坐标标系系属属性性设设置置命命令令(axes properties),将将弹弹出出下下图图所所示示的的坐坐标标系系属属性性设设置置对对话话框框。用用户户可可以以对对Scope模模块块的的坐坐标标系系标标题题与与显显示示信信号号范范围围进进行行合合适适的的设设置置,以满足仿真输出结果显示的需要。以满足仿真输出结果显示的需要。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院坐标系属性设置对话框坐标系属性设置对话框 设置信号显设置信号显示幅值范围示幅值范围坐标系标

39、题:一坐标系标题:一般采用信号名称般采用信号名称电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院7 S函数的设计和调用函数的设计和调用S函函数数是是扩扩展展Simulink功功能能的的强强有有力力工工具具,它它使使用用户户可可以以利利用用MATLAB、C语语言言、C+语语言言等等程程序序创创建建自自己己定定义义的的Simulink模模块块。C,C+,Ada,and Fortan S-Functions需需要要编编译译为为Mex文文件件,就就和和其其它它MEX文文件件一一样样,Simulink可可以随时动态的调用这些文件。以随

40、时动态的调用这些文件。S函函数数使使用用的的是是一一种种比比较较特特殊殊的的调调用用格格式式,可可以以和和Simulink求求解解器器交交互互式式操操作作。S-Functions功功能能非非常常全全面面,适适用用于于连连续、离散以及混合系统。续、离散以及混合系统。S函函数数允允许许用用户户向向模模型型中中添添加加自自己己编编写写的的模模块块,只只要要按按照照一一些些简简单单的的规规则则,就就可可以以在在S-Functions添添加加设设计计算算法法。在在编编写写好好S-Functions之之后后就就可可以以在在S-Functions模模块块中中添添加加相相应得函数名,也可以通过封装技术来订制自

41、己的交互界面。应得函数名,也可以通过封装技术来订制自己的交互界面。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院S函数的调用函数的调用在在Simulink使用使用S-Functions的方法就是从的方法就是从Simulink中的中的User-Defined Functions模块库中向模块库中向Simulink模型文件窗口中拖放模型文件窗口中拖放S-Function模块模块。然。然后在后在S-Functions模块的对话框中的模块的对话框中的S-Functions Name框中输入框中输入S函数的文件名函数的文件名,在,在

42、S-Functions Parameters框中输入框中输入S函数的函数的参数值参数值。在点击在点击edit的选项后可以编辑的选项后可以编辑S函数的代码部分,函数的代码部分,利用利用S函数实现需要的功能主要是代码部分的修改。函数实现需要的功能主要是代码部分的修改。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院对于代码部分的修改,可以使用对于代码部分的修改,可以使用MATLAB语言按语言按照照S-Functions的格式来编写代码。的格式来编写代码。MATLAB提提供了一个模板文件,方便供了一个模板文件,方便S-Functi

43、on的编写,该的编写,该模板文件位于模板文件位于MATLAB根目录根目录toolbox/Simulink/blocks下下 模板函数的代码如下:模板函数的代码如下:function sys,x0,str,ts=sfuntmpl(t,x,u,flag)switch flag,case 0,sys,x0,str,ts=mdlInitializeSizes;case 1,sys=mdlDerivatives(t,x,u);case 2,sys=mdlUpdate(t,x,u);case 3,sys=mdlOutputs(t,x,u);case 4,sys=mdlGetTimeOfNextVarHit

44、(t,x,u);case 9,sys=mdlTerminate(t,x,u);otherwise error(Unhandled flag=,num2str(flag);end电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院function sys,x0,str,ts=mdlInitializeSizessizes=simsizes;sizes.NumContStates =0;sizes.NumDiscStates =0;sizes.NumOutputs =0;sizes.NumInputs =0;sizes.DirFee

45、dthrough=1;sizes.NumSampleTimes=1;sys=simsizes(sizes);x0 =;str=;ts =0 0;function sys=mdlDerivatives(t,x,u)sys=;function sys=mdlUpdate(t,x,u)sys=;function sys=mdlOutputs(t,x,u)sys=;function sys=mdlGetTimeOfNextVarHit(t,x,u)sampleTime=1;sys=t+sampleTime;function sys=mdlTerminate(t,x,u)sys=;电机控制课程设计:电机

46、控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院M文件文件S-Functions可用的子函数说明如下:可用的子函数说明如下:(1)mdlInitializeSizes:定义:定义S-Function模块的模块的基本特性,包括采样时间、连续或者离散状态的基本特性,包括采样时间、连续或者离散状态的初始条件和初始条件和sizes数组。数组。(2)mdlDerivatives:计算连续状态变量的微分:计算连续状态变量的微分方程。方程。(3)mdlUpdate:更新离散状态、采样时间和主:更新离散状态、采样时间和主时间同步的要求。时间同步的要求。(4)md

47、lOutputs:计算:计算S-Function的输出。的输出。(5)mdlGetTimeOfNextVarHit:计算下一个采样计算下一个采样时间点的绝对时间。时间点的绝对时间。(6)mdlTerminate:结束仿真任务。:结束仿真任务。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院S-function默认的默认的4个输入参数个输入参数t、x、u和和flag,他们的次序不能变动,各自代表的意义是:他们的次序不能变动,各自代表的意义是:t:表示当前仿真时刻,是采用绝对计量的时间:表示当前仿真时刻,是采用绝对计量的时间值,

48、是从仿真开始模型运行时间的计量值。值,是从仿真开始模型运行时间的计量值。x:模块的状态向量,包括连续状态向量和离散:模块的状态向量,包括连续状态向量和离散状态向量。状态向量。u:模块的输入向量。:模块的输入向量。flag:执行不同操作的标记变量。:执行不同操作的标记变量。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院S-Function默认的默认的4个返回参数为个返回参数为sys、x0、str和和ts,他们的次序也不能改变,代表的意义为:,他们的次序也不能改变,代表的意义为:sys:通用返回函数;:通用返回函数;x0:初始

49、状态值,当:初始状态值,当flag的值为的值为0时才有效;时才有效;str:没有明确定义,是:没有明确定义,是Math Works为将来应用为将来应用所作的保留。所作的保留。ts:一个:一个m2矩阵,它的两列分别表示采样时间矩阵,它的两列分别表示采样时间间隔和偏移。间隔和偏移。电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院8 使用命令操作对系统进行仿真使用命令操作对系统进行仿真支持命令窗口运行仿真的函数有支持命令窗口运行仿真的函数有4个,即个,即sim、simset、simget和和set_param。(1)sim函数函数

50、sim函数的作用是运行一个由函数的作用是运行一个由Simulink建立的模型,建立的模型,其调用格式为:其调用格式为:t,x,y =sim(modname,timespan,options,ut);电机控制课程设计:电机控制课程设计:MATLAB/Simulink设计设计仪器科学与电气工程学院仪器科学与电气工程学院 其中其中,t为返回的仿真时间向量;为返回的仿真时间向量;x为返回的状态矩阵;为返回的状态矩阵;y为返回的输出矩阵;为返回的输出矩阵;modname为系统为系统Simulink模型文件名;模型文件名;timespan为仿真时间;为仿真时间;options为仿真参数选择项,由为仿真参数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁