




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章Simulink与电力系统仿真5.1MATLAB与Simulink发展的历史渊源
MATLAB是由美国MathWorks公司于1984年开始推出的一种主要用于矩阵运算的数学工具软件。由于其交互式的程序设计和以矩阵计算为基础的显著特色,使其在解决科学和工程计算等复杂数学运算中得到了广泛应用。由于它使用方便、输入便捷、运算高效、形象生动,因此,颇受广大用户欢迎,即便是到现在,利用MATLAB编制的程序在大多数情况下的确比用其它计算机语言或者别的仿真软件编制的程序更加简单可靠。但是,随着计算机技术的发展和人们对复杂系统仿真的简单化要求的不断提高以及各种各样的非线性元件在控制系统中的大量应用,人们发现单纯的MATLAB语言已经不能够满足要求了。9/1/202411990年推出的MATLAB3.5i版是第一个可以运行于MicrosoftWindows下的版本,它可以在两个窗口上分页显示命令行计算结果和输出的结果波形。稍后,Mathworks公司推出的SimuLAB环境首次引入了基于框图的仿真功能,其模型输入方式改为对基本环节的框图连接,这种方式简便直观,令人耳目一新,其实,这就是现在的我们称之为Simulink的最初形式。1993年出现了Simulink,这是一个基于框图的仿真平台,它建立在MATLAB的基础上,依托MATLAB的强大计算功能,可以采用模块框图直观地进行控制系统的构建,不需要记忆众多的仿真算法和参数设置,它们都可以在SimulationParameters当中轻松地设置。在Simulink平台上,拖拉和连接典型模块就可以绘制仿真对象的模型框图,并对模型进行仿真。在Simulink中建9/1/20242立的仿真模型可读性很强,这就避免了在MATLAB窗口中使用MATLAB命令和函数仿真时需要记忆大量M函数的麻烦,这对于期盼一种简介、直观、高效的仿真软件的广大科技人员来说无疑是最好的福音。现在,Simulink已经成为MATLAB软件的一个不可或缺的组成部分,完全有理由说Simulink的出现和发展已经决不仅仅是为MATLAB增光添彩,而是很多时候“反客为主”了!从1993年的MATLAB4.0/Simulink1.0到2007年的MATLAB7.4/Simulink6.6,MATLAB的功能已经远远地超出了“矩阵相关计算”这个狭小的范围。由于MATLAB在其软件设计之初,其开发者CleveMoler教授就秉承开放性的理念,在1993年的Simulink1.0出现以后,人们发现这是许多科学家和工程技术人员梦寐以求的仿真形式,从此以后,许多领域的顶尖科研人员以9/1/20243MATLAB语言为依托,编写了自己所从事领域的Simulink工具箱,如控制界最流行的控制系统工具箱(ControlSystemToolbox),系统辩识工具箱(SystemIdentificationToolbox),鲁棒控制工具箱(RobustControlToolbox),神经网络工具箱(NeuralNetworkToolbox),模型预测控制工具箱(ModelPredictiveControlToolbox),还有如航空宇宙模块集(AerospaceBlockset),机械系统仿真模块(SimMechanics),电力系统仿真模块(SimPowerSystems)甚至如生物系统仿真模块(SimBiology)等。这其中,也有一些杰出中国学者的贡献,如东北大学薛定宇教授在ControlKit的基础上开发的CtrlLAB工具箱是专门用于反馈控制系统的分析与设计的计算机程序,利用该模块进行系统的分析与综合,比用MATLAB/Simulink更加方便快捷,已
9/1/20244经成为国际上许多学校自动控制课程的教学辅助工具,在MathWorks网站控制类工具箱下载中长期排名第一。
9/1/202455.2Simulink的进入及内容1、Simulink的常见进入方法①在MATLAB的命令窗口下输入如下的命令:>>simulink马上就会弹出SimulinkLibraryBrowser窗口如右所示。②在MATLAB的主窗的工具栏中点击图标,也可进入SimulinkLibraryBrowser窗口。9/1/202469/1/202472、SimulinkLibraryBrowser窗口内容简介下面选几个主要的子项目内容进行介绍,其余课后自学。①Simulink\Sources库9/1/202489/1/20249②Simulink\Sinks库9/1/202410③Simulink\SignalRouting库9/1/202411④Simulink\Continous库9/1/202412⑤Simulink\Discrete库9/1/202413⑥Simulink\Discrete库9/1/2024143、Simulink仿真文件的建立①在SimulinkLibraryBrowser窗口工具栏上单击图标点击9/1/202415②在SimulinkLibraryBrowser的file菜单New下选择Model(Ctrl+N)③在MATLAB主窗口的file菜单New下选择Model9/1/2024165.3
重点模块的基本功能1、仿真结果的显示和数据的保存及输出(1)仿真结果的显示在Simulink/Sinks模型库中共有6种可以用于结果输出的存储或直接显示的模块。因为MATLAB软件规定,在Simulink仿真中必须有输出显示环节,否则会给出仿真出错信息。这6个模块中,有4个可以直接将结果以图形或者曲线的形式展现出来,是仿真中最为常用的输出模块;而另外两种则更多的是一种结果存储形式,可用相关M指令将结果绘制成相关曲线或图形。有时,通过这种方式得到的结果曲线更符合我们的需要。①示波器(Scope)9/1/202417在可以直接将结果显示出来的4个模块中,示波器(Scope)是最经常使用的,它与我们实验室中使用的示波器几乎没有什么两样,但操作却更简单,显示也更智能。双击示波器模块图标,即可弹出示波器的窗口如下所示:这其中,比较重要的设置在“示波器参数”按钮下。单击9/1/202418“示波器参数”,出现“Scopeparameters”对话框,有“General”和“Datahistory”两个基本选项卡,见下图所示。下面简单介绍一下这两选项卡中重要参数的设置。
General选项卡:“Numberofaxes”用于设定示波器可以显示的信号路数,即Y轴的数量。例如将其设置成5,则可以同时观察5路信号。9/1/202419“Timerange”用于设定示波器时间轴的最大值,一般不需要对这个项的默认设置(auto)进行改动,这样,X轴就自动以“系统仿真参数设置”中设定起始和终止时间作为示波器的时间显示范围。“Ticklabels”用于轴标度的显示,默认设置为“bottomaxisonly”;而当选择“non”时,示波器将不显示横、纵坐标的刻度,只显示波形的形状;当选择“all”时,将显示所有的轴标度。“Sampling”为数据取样方式/显示采样方式的选择。当选择“Decimation”时,为数据取样方式,右边栏中输入的数据为N,则每N个数据只取出一个用于显示,故N越大,则显示的波形越粗糙,一般该项保持默认值“1”,这样,所有进入示波器的数据将全部被显示出来,显示的波形更逼真;当选择“Sampletime”时,为显示采样方式,右边栏中应该输入显示采样的间隔时间,这时,将9/1/202420按采样间隔提取数据进行显示。“floatingscope”如被选中,则该示波器成为浮动示波器,即没有输入接口,但可以接受其他模块发来的数据。Datahistory选项卡:“limitdatapointstolast”为最后可以保存的用于显示的数据的最多点数,默认值为5000点。也可以不选这一项,这样,所有的数据都将显示,在所需显示的数据相对较多时,需要计算机有较大的内存容量。“savedatatoworkshop”被选中时,可以将显示数据放到工作空间去,以备MATLAB的绘图命令调用。与此相关的项目有两个,“Variablename”代表要保存的数据名称;“Format”为数据的保存格式,共有三种,Array格式适用于只有一个输入变量的情况,Structurewithtime可以矢量的形式表示多个变量,且时间同时得以保存,Structure也可以矢量的形式表示多个变量,但它9/1/202421并不同时保存时间。这样,如果要用Array、Structure形式的数据绘制输出波形图时,则会缺少相应的时间向量。为此,可在Simulink仿真文件中加入“Clock”模块,并将其连接一个示波器,用示波器的savedatatoworkshop功能将时间作为一个变量同时保存起来,这样,便有了时间向量。所以,相比之下,Structurewithtime这种数据保存形式更为简单方便。
下图所示的正弦信号放大系统中,输入信号为sin(314*t+1.2),对Sope的Datahistory选项卡设置如下页所示,那么,运行仿真后,在数据空间可以得到输出矩阵y和时间列向量tout(时间列向量是系统自带的)。
9/1/202422而利用Sope存储到数据空间的相关数据,采用MATLAB绘图命令plot(y(:,1)',y(:,2)')得出的输出结果如下页示(其实,这里的矩阵y是201×2维的,其第一列y(:,1)的含义与单独的时间向量tout完全一样,而列项量y(:,2)是输出到示波器Sope显示的纵坐标值。故plot(y(:,1)',y(:,2)')与plot(tout',y(:,2)')两个命令得出的Figure图形是完全一致的)。9/1/202423②浮动示波器(FloatingScope)(略)③函数记录仪(XYGraph)这是MATLAB中一个十分重要的用来绘制输出函数轨迹的输出显示模块。其图标和端口的基本情况如下图所示。9/1/202424
④数字显示(Display)
Display是可以最终以数字量直观地显示结果的输出终端,它不能动态地显示输出过程,只能提供最终的结果数据。这对于只需要结果而不必关心过程的情况是非常实用的。如图1-9所示,利用这个系统求sin10的值。双击Display图标,出现Display模块参数设置对话框如图1-10所示,其中最为关键的是Format项,即输出数据9/1/202425格式的选择,共有short、long、short_e、long_e、bank型5中结果显示形式,对应5种不同的显示精度。显示的结果是-0.544(short)、-0.54402111088937(long)、-5.4402e-001(short_e)、-0.5440211108893698e-001(long_e)及-0.54(bank)。
9/1/202426(2)数据的保存①将结果写入工作空间(ToWorkshop)其实,这个模块的功能与在Scope中将Datahistory选项卡的savedatatoworkshop项功能激活是完全一样的。为了说明模块之间的联系,我们这里将FromWorkshop模块的用法也一并介绍。左上图为一正弦信号记录系统。双击ToWorkshop模块图标,可得模块参数设置对话框如左下示,其设置与Scope中的完全一样。如果是标量信号或者是一维信号,我们可将数据装在类型选择为Array或者Structure,而当一个信号除了有大小,还有与之对应的时间因素,就是一个2-D信号,必须采用Structurewithtime的形式,而这是我们最为常见的一种情况。由左图可知,我们必须选择Structurewithtime的数据存储形式,则执行仿真之后,MATLAB数据空间中便自动存放了既包含时间因素,又包含信号幅值因9/1/202427素的综合信息yy。
9/1/202428
②将时间和信号记入.mat文件(ToFile)其实,这个模块使用起来可能还要比前面的ToWorkshop模块来得简单,因为它同时记录下了时间和信号。为了说明模块之间的联系,我们这里将FromFile模块的用法也一并介绍。下页左上图所示为一锯齿波信号记录系统。双击ToFile模块图标,可弹出如图左下所示的ToFile模块参数设置对话框。此处,我们将所要存储的数据文件名定为aaa,格式为.mat,执行仿真后可得Scope输出见图所示。双击FromFile模块,可弹出如19页图所示的FromFile模块参数设置对话框。只要指定取数据的.mat文件即可,运行仿真后,再现出ToFile模块存储的锯齿波波形如图所示。9/1/2024299/1/202430(3)数据的输出(上面已介绍)①从工作空间输出数据(FromWorkshop)②从.mat文件输出数据(FromFile)2、开关环节(1)多位开关(MultiportSwitch)9/1/202431多位开关模块可以实现在众多输入信号中选择一路的功能。当模块按正常方向放置时,其最顶部输入端为控制信号输入端,这个信号的值决定了到底是下面那一路信号可以被选中。控制端所输入的数据原则上应该为大于或等于1的正整数,但也可以为实数,此时,控制端首先对输入的数x执行floor(x)运算,然后按floor(x)的值决定那一路信号被选中;如果输入的实数为x∈(-∞~1)或者floor(x)大于实际信号的输入路数,系统会给出“out-of-bounds”的出错信号。21页图为多位开关的一个应用示例,当控制断为2时,Scope输出正弦信号,当控制端为3.98时,UniformRandomNumber信号被传递给Scope。
9/1/202432(2)可控开关(Switch)可控开关模块共有三个入口,中间的一个是控制口,顶部与底部的口为输入口,根据控制口输入数据与预置的开关阀值之间的关系,当控制数据与阀值之间的关系符合所选的准则时(即所选准则的逻辑关系式值为真9/1/202433时),则顶部的第一路信号被选中,否则,底部的第二路信号被选中。下图所示为可控开关应用示意图。双击Switch图标,可见Switch模块参数设置对话框。此处,设该模块的阀值为1,选择第一个输入的选择标准为“u2>Threshold”,当输入如下图所示时,Scope上显示的将是“RandomNumber”信号;当控制数据x∈(-∞,1)时,Scope上显示的将是“Sine”信号。9/1/202434(3)手动开关(ManualSwitch)手动开关是一种只能在两个输入中选择一路的开关,只要双击ManualSwitch的图标,就能将输入信号由一路切换到另一路。(4)选择器(Selector)选择器模块可以将输入的一维向量(可以是行向量,也可以是列向量)或者矩阵的一部分或全部选中输出,模块的图标会随输入方式的不同而变化。不管是向量输入还是矩阵输入,在模块的参数对话框中都有缩引模式(即“Indexmode”选择项,该项有One-based和Zero-based两种选择,其中One-based是默认选项。该项设置决定了元素的定位起始行、列坐标是以1开始(One-based)还是以0开始(Zero-based)。显然,默认设置更符合大多数情况,一般情况下这个参数是不需要改动的。“Inputtype”选项决定了输入是向量9/1/202435vector或者是矩阵matrix。“Sourceofelementindices”是所引信息来源选择项,共有internal(内部)和external(外部)两种选择。一般应用中,我们多用选择形式相对固定的internal;而external项为我们提供了更为灵活的输入元素选取模式(此时,选择器模块将另外专门提供元素索引输入口,向量输入为一个,矩阵输入为两个,行和列是分开的),因为我们可以为元素索引输入口专门设计能满足特定需要的变动信息提供部分,以满足复杂仿真的需要。9/1/2024369/1/2024379/1/2024389/1/2024394、总线环节(1)总线输入(BusCreator)总线输入模块可以将数个信号捆绑成一组运行,从而减少在仿真模型构建中为了传递信号而必须的大量直接连线,从而使建立的模型更容易为他人所理解。任何一个输入都可以是一个标量、向量或者是一个矩阵信号。9/1/202440(2)总线输出(BusSelector)总线输出模块接收来自总线输入模块或者另外一个总线输出模块的信号,这个模块只有一个输入端口,输出端口的数量取决于该模块参数对话框中的设置,如果“Muxedoutput”选项框被选中,则输出端口只有一个,则这个输出从实质上来说变成一个向量;如果“Muxedoutput”选项框未被选中,则输出端口的个数由“Selectedsignals”框中的信号个数决定。如28页图所示,共有5路信号输入,而在BusSelector参数设置对话框中,可以只选择其中的第2、5路,且在“Selectedsignals”框中可以对这些选中的信号重新进行排序。9/1/202441(3)信号合成(Mux)Mux模块可以将其输入信号合成为一个信号输出。任何一个输入都可以是一个标量、向量或者是一个矩阵信号。如果所有的模块输入都是向量或者类向量,则该9/1/202442模块的输出就是向量;如果任何一个信号都非类向量而形似矩阵,那么该模块的输出就是一个总线信号。如32页图所示,对应的Mux参数设置对话框如本页下图所示,“2”代表第一个端口输入的是2维向量,“[23]”代表第二个端口输入的是一个2×3的矩阵,“-1”代表第3、4个端口的输入信号是任意的,而“3”代表第5个端口输入的是一个3维向量。这样,在Mux模块的输出总线上就有总共9个独立信号(每一个矩阵或者每一个向量只能被视为一个信号,而每一个标量即是一路独立的信号),因而信号宽度为9。9/1/2024439/1/202444(4)信号分解(Demux)Demux模块从输入向量或总线上选取信号,并将其分路输出。这样,对于BusCreator和Mux模块来说,不同性质的信号既可以构成向量或者总线,使仿真图形得以简化,而在经过Demux模块后,相关的信号又可以形成局部总线以备别的模块调用。设Demux参数设置对话框中“Numberofoutputs”项的参数为p,而输入总线上的信号宽度为n,则随着p与n的关系不同,Demux的输出形式也有所不同。具体来说,它们之间的关系见表5-1。9/1/202445表5-1Demux参数设置与输入、输出信号之间的关系列表参数值关系Demux输出信号宽度举例p=nDemux有p个输出端口;例如,如果输入是一个含有3个元素的总线向量信号,而用户指定的p=3,则Demux的每个输出端按顺序各对应1个输入元素;p﹥n错误指定p<nnmodp=0p个输出向量各含有n/p个元素;例如,如果输入是一个含有6个元素的总线向量信号,而用户指定的p=3,则Demux的每个输出端按顺序各对应2个输入元素;9/1/202446[p1p2...pm]p1+p2+...+pm=npi>0m个向量输出分别含有p1p2...pm个输入元素;例如,如果输入是一个含有9个元素的总线向量信号,而用户指定的输出参数为[5,4],则Demux的第1个输出端子上含有5个输入元素,第2个输出端子上含有4个输入元素;[p1p2...pm]p1+p2+...+pm=nsomeorallpi=-1m个向量输出如pi是大于而小于n的正整数,则第i个输出端子上就含有pi个输入元素;如果pi=-1,则第i个输出端子上所含的输入元素的个数就不是一个定值,可以根据需要动态确定;[p1p2...pm]p1+p2+...+pm!=npi=>0错误指定9/1/202447应该注意以下的几个相似与区别:①BusCreator与Mux相似点:都可以把数路信号合成一路一简化图形信号接口间的直接连线;任何一个输入都可以是一个标量、向量或者是一个矩阵信号;不同点:BusCreator只需要指定输入端口的个数,不需要指定输入信号的类型;②BusSelector和Demux相似点:都是将总线中的相应信号送往下一级;不同点:BusSelector输出端的个数可以与输入总线上的信号个数不同,且信号次序可以任意调整,而Dmux的参数设置对话框则复杂得多,且信号的次序不可以任意调配。5、数据类型转换(DataTypeConversion)该模块可以把一种数据类型转换为所需的另外一种9/1/202448数据类型,在构造Simulink仿真系统时,有时这一模块不可或缺。其参数设置对话框如图所示,“Datatype”栏中了列出了需要将输入数据转换为输出数据的具体形式。由图可见,我们可以轻而易举地将数据从当前类型转换成为需要的类型。值得一提的是,如果我们将数据转换的目标类型选定为“auto”,那么,输入数据可以被转换为与DataTypeConversion相连的模块需要的类型,即此时该模块的转换具有自适应能力。
9/1/2024496、信号流动环节(1)传送信号(Goto)Goto模块可以把输入信号传递给与自己相对应的From中而不需要实际的信号连线,这显然为复杂仿真模型的简化提供了一个有力的工具。其输入可以是实数、复数、向量或者其他任何形式的数据类型。一个Goto模块可以将自己的输入信号发送给多个From模块。
Goto模块的参数设置对话框中,“Tag”是信号标签,即信号名称,信号传递时正是依靠其独一无二的名称来相互区别的;“Tagvisibility”选择项决定了From的范围是否受到限制。Local是默认选项,表示使用同一信号标签的From和Goto模块必须处于同一个子系统下,且“Tag”项中的信号标签必须用“[]”括起来;scoped则表示使用同一信号标签的From和Goto模块必须处于同一个子系统或者From模块可以位于包含Goto模块的子系统下的9/1/202450次子系统中,即From模块的自由度有所放宽,此时,“Tag”项中的信号标签必须用“{}”括起来;global表明使用同一信号标签的From和Goto模块的位置在一个仿真模型中以任意的,即两者的自由度全面放开。(2)接受信号(From)From必须与Goto模块相对应,才能接收Goto模块发送9/1/202451过来的数据。一个From模块只能接受一个Goto模块发送的数据。9/1/2024525.4Simulink在控制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六年级下册数学教学设计-总复习 鸡兔同笼|北师大版
- 三年级下册数学教案-6.1 面积的初步认识 丨苏教版
- 六年级下册数学教案-1.2 百分数和分数、小数的互化 ︳西师大版
- 2025年学习雷锋精神62周年主题活动方案 合计3份
- 2024年槽钢项目资金需求报告代可行性研究报告
- 2025年河北司法警官职业学院单招职业技能测试题库完美版
- 专题21 信息的传递-2025年中考《物理》一轮复习知识清单与解题方法
- 2025年广西自然资源职业技术学院单招职业倾向性测试题库参考答案
- 2025年度代养大型猪群养殖基地合作协议
- 2025年度专业瓷砖铺贴班组劳务合同
- 苏科版七年级数学下册期末复习+10(专题-几何图形的证明)
- 人人都是产品经理2 0:写给泛产品经理
- 西方经济学(第二版)完整整套教学课件
- 振动振动测试基础知识培训课件
- 《云南澜沧铅矿有限公司勐滨煤矿采矿权价款退还计算说明》
- sbl-ep16高低压开关柜培训中法文kyn6140.5安装使用说明书
- GB/T 9113.1-2000平面、突面整体钢制管法兰
- GB/T 8947-1998复合塑料编织袋
- PALL 颇尔过滤器 -乙烯系统培训
- 2021年湖北师范学院专升本C语言程序设计试卷
- CB/T 3136-1995船体建造精度标准
评论
0/150
提交评论