《Simulink基本模块介绍》由会员分享,可在线阅读,更多相关《Simulink基本模块介绍(36页珍藏版)》请在金锄头文库上搜索。
1、基本模块介绍基本模块介绍基本模块介绍基本模块介绍?Simulink 模块的基本知识模块的基本知识本章内容和学习目的本章内容和学习目的?基本模块的性质分类和基本操作基本模块的性质分类和基本操作4.1 连续系统模块连续系统模块大多数物理系统可以用微分方程进行描述,因此可以用连续系统模拟。最简单的模型是大多数物理系统可以用微分方程进行描述,因此可以用连续系统模拟。最简单的模型是线性模型线性模型和和定常模型定常模型。其中,其中,x 为系统的广义坐标列向量,为系统的广义坐标列向量,M 为质量矩阵,为质量矩阵,C 为阻尼矩阵,为阻尼矩阵,K 为刚度矩阵,为刚度矩阵,P(t)为外部激励列向量。为外部激励列向
2、量。)()()()(ttttPKxxCxM=+& &例如,振动理论中的动力学方程:例如,振动理论中的动力学方程:在在 Simulink中,用来模拟连续系统的基本模块有四个:中,用来模拟连续系统的基本模块有四个:增义模块,求和模块,微分模块,积分模块增义模块,求和模块,微分模块,积分模块。除了这四个基本模块,。除了这四个基本模块,传递函数模块传递函数模块也经常用来模拟物理系统和控制器。也经常用来模拟物理系统和控制器。1. 增益模块增益模块作用:使增益模块的输入信号乘以一个常数,并输出。作用:使增益模块的输入信号乘以一个常数,并输出。可用代数表达式表示为:可用代数表达式表示为:y(t) = k x
3、(t)k增益模块增益模块x(t)y(t)kGainSimulink 增义模块图增义模块图简图如下:简图如下:注意注意:y(t)、x(t)、k 可以为标量、向量或矩阵。可以为标量、向量或矩阵。5Gain10Display2Constant标量乘积:标量乘积:来自来自Sources库库来自来自Sinks库库标量和向量的乘积标量和向量的乘积向量和标量的乘积向量和标量的乘积向量和矩阵的乘积向量和矩阵的乘积矩阵和向量的乘积矩阵和向量的乘积1;2* uGain24Display2Constantu *2Gain24Display(1 2)Constant1 23 4u*Gain710Display(1 2
4、)Constant12u*Gain511Display1 23 4Constant=4221242221=107432121=1152143212. 求和模块求和模块作用:对两个或多个信号进行求和运算。作用:对两个或多个信号进行求和运算。求和模块求和模块必须至少有一个输入而仅有一个输出必须至少有一个输入而仅有一个输出。输入的正负号的数目由双击模块进入编辑栏进行设定。输入的正负号的数目由双击模块进入编辑栏进行设定。可用代数表达式表示为:可用代数表达式表示为:c = a + bacbabc两种形状:圆形和方形。两种形状:圆形和方形。求和模块不但可以进行标量求和运算,也可以进行向量或矩阵求和运算,但
5、是标量或矩阵的求和模块不但可以进行标量求和运算,也可以进行向量或矩阵求和运算,但是标量或矩阵的维数必须相等维数必须相等。5Display3Constant12Constant35Display2;3Constant11;2Constant3759Display2 34 5Constant11 23 4Constant标量求和标量求和向量求和向量求和矩阵求和矩阵求和=+533221532=+=+9753543243213. 微分模块微分模块作用:计算输入对时间的变化率。代表如下微分方程:作用:计算输入对时间的变化率。代表如下微分方程:ydtdxy&=微分模块如图所示:微分模块如图所示:du/dt
6、Derivative例如,对于动力学方程:例如,对于动力学方程:)()()()(ttttPKxxCxM=+& &考虑对正弦信号考虑对正弦信号 sin (t) 的微分:的微分:)cos()sin(tdttd=Simulink 模型框图和仿真结果如下页图形所示。模型框图和仿真结果如下页图形所示。Sine WaveScopedu/dtDerivative012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81)cos()sin(tdttd=4. 积分模块积分模块作用:计算输入信号从起始时间到当前时刻对时间的积分。作用:计算输入信号从起始时间到当前时刻对时间的积分。积分
7、模块如图所示:积分模块如图所示:代表如下微分方程:代表如下微分方程:+=ttdxtyty0)()()(01sIntegrator例如:例如:Sine WaveScope1sIntegrator012345678910-1-0.8-0.6-0.4-0.200.20.40.60.81初值设置为初值设置为 -1)cos()cos()sin()(tCtdttty=+=注:注:y(t) 的初值假设为的初值假设为-15. 简单物理模型简单物理模型利用前面所介绍的这些模块可以模拟由线性微分工程描述的任何物理模型。例如,考虑如下所示的简单的小车系统运动。利用前面所介绍的这些模块可以模拟由线性微分工程描述的任何
8、物理模型。例如,考虑如下所示的简单的小车系统运动。Fx忽略摩擦力,运动微分方程为:忽略摩擦力,运动微分方程为:mFx =& &可用模块图表示为可用模块图表示为:x & &Fm1x & &Fm1x &xs1s1加入两个积分模块,第一个模块用来计算速度,第二个模块用来计算位移:加入两个积分模块,第一个模块用来计算速度,第二个模块用来计算位移:假定假定 F=sin(t) 为正弦激励,为正弦激励,m=0.5。求。求020s 区间内的系统位移响应曲线。区间内的系统位移响应曲线。ScopeSine Wavex & &Fm1x &xs1s1Fxm = =& &024681012141618200510152
9、025303540mFx =& &ScopeSine Wavex & &Fm1x &xs1s1Fx若要求同时输出位移和速度,则模型框图为:若要求同时输出位移和速度,则模型框图为:ScopeSine Wavex & &Fm1x &xs1s1024681012141618200510152025303540mFx =& &Fx若要求同时输出位移、速度和加速度,则模型框图为:若要求同时输出位移、速度和加速度,则模型框图为:ScopeSine Wavex & &Fm1x &xs1s102468101214161820-50510152025303540mFx =& &Fx0)0(, 2 . 0)0(,
10、 0=+xxkxxcxm& &xkc05. 0, 1, 5 . 0=ckm051015202530-0.2-0.15-0.1-0.0500.050.10.150.2x & &x &xScope1sIntegrator11sIntegrator0.05/0.5Gain11/0.5Gain初值设置为初值设置为0.2xmkxmcx=& &动力方程变换为:动力方程变换为:xxx5 . 015 . 005. 0=& &6. 传递函数模块传递函数模块传递函数表示法频繁地应用于控制系统设计和系统的动态模拟。传递函数定义为系统在零初始条件下输出的传递函数表示法频繁地应用于控制系统设计和系统的动态模拟。传递函数
11、定义为系统在零初始条件下输出的 Laplace 变换与输入的变换与输入的 Laplace变换之比。传递函数是一种描述系统动力学输入输出关系的简便方法。变换之比。传递函数是一种描述系统动力学输入输出关系的简便方法。Fkxxcxm=+ & &xkcF(t)()()()(2sFskXscsXsXms=+例如:例如:考虑弹簧质量阻尼系统考虑弹簧质量阻尼系统动力学方程可写为:动力学方程可写为:作作 Laplace 变换,并忽略初始条件,有:变换,并忽略初始条件,有:则系统的传递函数可表示为:则系统的传递函数可表示为:mksmcsmkcsmssFsXsG+=+=22/11)()()(x & &m1x &x
12、s1s1+mkmc1/ms +(c/m).s+(k/m)2Transfer Fcn使用基本模块元素所建立起的系统模型使用基本模块元素所建立起的系统模型相对应的传递函数模型相对应的传递函数模型Fkxxcxm=+& &mksmcsmkcsmssFsXsG+=+=22/11)()()(Fmxmkxmcx1+=+=& &FxScopeSine Wavex & &Fm1x &xs1s10246810121416182005101520253035401/0.5s 2Transfer FcnSine WaveScope以前面受正弦外力作用的质量块为例:以前面受正弦外力作用的质量块为例:F=sin(t)m=
13、0.5Simulink 模型仿真框图为:模型仿真框图为:传递函数仿真框图:传递函数仿真框图:传递函数分子输入:传递函数分子输入:1/0.5分母输入:分母输入:1, 0, 0mFx =& &mksmcsmsFsXsG+=+=2/1)()()(对传递函数模块的说明:对传递函数模块的说明:4.2 状态空间模块状态空间模块状态空间模块可以起到与传递函数模块相同的作用。所不同的是,状态空间模块允许用户指定初始条件,并且可以共享内部变量。另外,状态空间模块可以用来模拟多输入多输出系统。状态空间模块可以起到与传递函数模块相同的作用。所不同的是,状态空间模块允许用户指定初始条件,并且可以共享内部变量。另外,状
14、态空间模块可以用来模拟多输入多输出系统。 传递函数模块只适用于单输入单输出系统,即单自由度系统,但无法应用于多输入多输出系统,即多自由度系统。传递函数模块只适用于单输入单输出系统,即单自由度系统,但无法应用于多输入多输出系统,即多自由度系统。 用传递函数模块对线性定常系统进行仿真,能够使仿真模型简单和紧凑,但是无法输出内部变量,如用传递函数模块对线性定常系统进行仿真,能够使仿真模型简单和紧凑,但是无法输出内部变量,如 x 的导数。的导数。无法适用具有初始条件的情况。无法适用具有初始条件的情况。1. 状态空间的概念状态空间的概念考虑如下单自由度系统:考虑如下单自由度系统:)()()()(tFtk
15、xtxctxm=+& &x(t) 为系统的广义坐标;为系统的广义坐标;m、k、c 分别为单自由度系统的质量、刚度、阻尼系数;分别为单自由度系统的质量、刚度、阻尼系数;F 为系统的外部输入。这些变量都是标量。为系统的外部输入。这些变量都是标量。令:令:=)()()(txtxt&YY(t) 为一个为一个2维列向量,称为系统的状态向量。利用状态向量维列向量,称为系统的状态向量。利用状态向量Y(t),则上述动力方程可转化为:,则上述动力方程可转化为:)(0)()(10)()()(111tFmtxtxcmkmtxtxt+=& & &Y)()()(tFttBAYY+=&系统矩阵系统矩阵输入矩阵输入矩阵以以
16、和和构成的空间即为状态空间构成的空间即为状态空间)(tx)(tx &考虑考虑 n 自由度系统:自由度系统:)()()()(ttttFKXXCXM=+& &121)(,),(),()(=nTnRtxtxtxtLXnnn 维广义坐标列向量维广义坐标列向量RM质量矩阵质量矩阵nnRCnn阻尼矩阵阻尼矩阵RK刚度矩阵刚度矩阵nnRt)(F外部输入列矩阵外部输入列矩阵令:令:12)()()(=nRtttXXY&2n 维系统状态列向量维系统状态列向量)()()(tttBFAYY+=&系统的状态方程:系统的状态方程:nnnnnnR2211=CMKMI0AnnnnR=21M0B系统矩阵系统矩阵输入矩阵输入矩阵
17、2. 线性单输入输出系统线性单输入输出系统0)0(, 2 . 0)0(, 0=+xxkxxcxm& &xkc05. 0, 1, 5 . 0=ckm写成状态方程形式,有:写成状态方程形式,有:)()(ttAYY=&=1 . 02101011cmkmA= 2001mB在状态空间模块中输入:在状态空间模块中输入:A=0, 1; -2, -0.1B=0; 2 因为没有外部输入,也可因为没有外部输入,也可B=0; 0C=1, 1 不能写成 不能写成C=0, 0,否则输出为,否则输出为0D=0x = Ax+Buy = Cx+DuState-SpaceScopex = Ax+Buy = Cx+DuState
18、-SpaceScope051015202530-0.2-0.15-0.1-0.0500.050.10.150.2说明:对于本算例,因为考虑的是没有外部输入的自由振动,因此状态空间模块可以没有左端输入。说明:对于本算例,因为考虑的是没有外部输入的自由振动,因此状态空间模块可以没有左端输入。说明:左图是取说明:左图是取C=1,0时的结果。若取时的结果。若取C=1,1,则在,则在Scope的图形中,将显示出位移和速度数据叠加后的数据的图形。示波器输出为的图形中,将显示出位移和速度数据叠加后的数据的图形。示波器输出为y的图形的图形=xxy& 1, 1 051015202530-0.4-0.3-0.2-
19、0.100.10.20.3051015202530-0.2-0.15-0.1-0.0500.050.10.150.2051015202530-0.4-0.3-0.2-0.100.10.20.3若取若取C=1, 0,则示波器显示出位移时程,则示波器显示出位移时程若取若取C=0, 1,则示波器显示速度时程,则示波器显示速度时程也可:也可:C=1,0;0,1,D=zeros(2,1)直接得出以下图形直接得出以下图形x = Ax+Buy = Cx+DuState-SpaceScope3. 多输入输出系统多输入输出系统x1k1c1c2k2x21, 5 . 021=mm2, 121=kk05. 021=
20、cc0KXXCXM=+)()()(ttt& &=2100mmM+=22221kkkkkK+=22221cccccC=02 . 0)0()0()0(21xxX=00)0()0()0(21xx&X=)()()(21txtxtX写成状态方程:写成状态方程:=)()()(tttXXY&)()(ttAYY=&初始条件:初始条件:=0002 . 0)0()0()0(XXY&=CMKMI0A112222=05. 005. 0221 . 02 . 04610000100A系统矩阵:系统矩阵:x1k1c1c2k2x21, 5 . 021=mm2, 121=kk05. 021= cc0KXXCXM=+)()()(
21、ttt& &=02 . 0)0()0()0(21xxX=00)0()0()0(21xx&X在状态空间模块中输入:在状态空间模块中输入:A=0,0,1,0;0,0,0,1;-6,4,-0.2,0.1;2,-2,0.05,-0.05B=0;0;0;0 因为没有外部输入因为没有外部输入C=1,1,1,1 不能写成 不能写成C=0,0,0, 0,否则输出为否则输出为0D=0)()(ttAYY=&=05. 005. 0221 . 02 . 04610000100A=0002 . 0)0(Y0KXXCXM=+)()()(ttt& &x = Ax+Buy = Cx+DuState-SpaceScope051
22、015202530-0.15-0.1-0.0500.050.10.150.2051015202530-0.15-0.1-0.0500.050.10.150.2示波器显示的第一个质量的位移时程示波器显示的第一个质量的位移时程在在MATLAB工作空间画出的两个质量的位移时程工作空间画出的两个质量的位移时程C=1,0,0,0也可:也可:C=1,0,0,0;0,1,0,0D=zeros(4,1)直接得出直接得出x = Ax+Buy = Cx+DuState-SpaceScopex1k1c1c2k2x2m1m2051015202530-0.5-0.4-0.3-0.2-0.100.10.20.30.4在在
23、MATLAB工作空间画出的两个质量的速度时程工作空间画出的两个质量的速度时程也可:也可:C=0,0,1,0;0,0,0,1,D=zeros(4,1)直接得出直接得出x = Ax+Buy = Cx+DuState-SpaceScopex1k1c1c2k2x2m1m24.3 离散系统模块离散系统模块1. 离散增益模块离散增益模块离散系统采用差分方程表示。离散信号是一组以采样周期为间隔的离散时间序列。对于大多数的物理系统,信号原本都是在时间上连续的。但在对信号的采集过程中,需要通过传感器等采集工具对信号进行采集,因此最终得到的信号都是以采样周期为时间间隔的离散数据。若原物理系统也用离散数据形式进行描
24、述,则构成了离散时间系统。离散系统采用差分方程表示。离散信号是一组以采样周期为间隔的离散时间序列。对于大多数的物理系统,信号原本都是在时间上连续的。但在对信号的采集过程中,需要通过传感器等采集工具对信号进行采集,因此最终得到的信号都是以采样周期为时间间隔的离散数据。若原物理系统也用离散数据形式进行描述,则构成了离散时间系统。2. 离散求和模块离散求和模块3. 离散延迟模块离散延迟模块4. 时间离散积分模块时间离散积分模块5. 简单离散系统模型简单离散系统模型6. 离散传递函数模块离散传递函数模块与连续系统采用的模块相同与连续系统采用的模块相同4.4 离散状态空间模块离散状态空间模块1. 连续时
25、间系统的离散化连续时间系统的离散化考虑考虑 n 自由度线性定常系统:自由度线性定常系统:)()()(tttBuAYY+=&11)(,)(rrnnnnRtRRRtuBAY其中:其中:detetttttt+=00)()()()(0)(BuYYAA式(式(1)的解析解:)的解析解:TktkTt) 1(,0+=令:令:其中:其中:T 为数据采样周期为数据采样周期并采用如下零阶保持器:并采用如下零阶保持器:TktkTkt) 1(),()(+= uu(1)(2)(3)则式(则式(3)转化为:)转化为:+=+TkkTTkTkdekek)1()1()()() 1(BuYYAA+=Tkt) 1(+=+TtTkd
26、tekek0)()() 1(BuYYAA令:令:则上式变为:则上式变为:(4)rnTtnnTRdteRe=0,BGFAA令:令:则式(则式(4)转化为:)转化为:)()() 1(kkkGuFYY+=+(5)(6)式(式(5)中的两个变量将于有限时间内趋于常值矩阵。)中的两个变量将于有限时间内趋于常值矩阵。这样,式(这样,式(1)所示的连续时间系统就转换成了式()所示的连续时间系统就转换成了式(6)所示的离散时间系统。矩阵)所示的离散时间系统。矩阵 F 称为离散时间系统的系统矩阵,称为离散时间系统的系统矩阵,G 称为离散时间系统的输入矩阵。称为离散时间系统的输入矩阵。2. F 和和 G 的计算的
27、计算根据矩阵指数的定义,有:根据矩阵指数的定义,有:=+=022! 2kkkTkTTTIeAAAFAL=+=+=11010!)!1(kkkkkkTtkTkTdteBABABGA同时不难求得:同时不难求得:+=+TtTkdtekek0)()() 1(BuYYAA)()()(tttBuAYY+=&(4)(1)对于两自由度系统:对于两自由度系统:0KXXCXM=+)()()(ttt& &=2100mmM=)()()(21txtxtX+=22221kkkkkK+=22221cccccC3. 离散状态空间模块离散状态空间模块y(n)=Cx(n)+Du(n)x(n+1)=Ax(n)+Bu(n)Discre
28、te State-Space4. 采用离散状态空间模块进行仿真采用离散状态空间模块进行仿真x1k1c1c2k2x2m1m2T02 . 0)0(= =XT00)0(= =X&写成状态方程:写成状态方程:=)()()(tttXXY&)()(ttAYY=&初始条件:初始条件:=CMKMI0A112222=05.005.0221 .02 .04610000100AT0002 . 0)0()0()0(=XXY&连续时间系统的系统矩阵:连续时间系统的系统矩阵:离散时间系统的系统矩阵(假定采样周期为离散时间系统的系统矩阵(假定采样周期为 T0.02)(程序名:程序名:chap5_section53.m)=9
29、986. 00014. 00399. 00399. 00028. 09948. 00798. 01197. 002. 009996. 00004. 0002. 00008. 09988. 0F0KXXCXM=+)()()(ttt& &)() 1(kkFYY= =+ +T0002 . 0)0(= =YT 02 . 0) 0(= =XT 00) 0(= =X&在状态空间模块中输入:在状态空间模块中输入:A=0.9988,0.0008,0.02,0;0.0004,0.9996,0,0.02;-0.1197,0.0798,0.9948,0.0028;0.0399,-0.0399,0.0014,0.99
30、865B=0;0;0;0 因为没有外部输入因为没有外部输入C=1,1,1,1 不能写成 不能写成C=0,0,0,0,否则输出为否则输出为0D=0Scopey(n)=Cx(n)+Du(n)x(n+1)=Ax(n)+Bu(n)Discrete State-Space初值输入为:初值输入为:0.2; 0; 0; 0步长输入为:步长输入为:0.02=9986. 00014. 00399. 00399. 00028. 09948. 00798. 01197. 002. 009996. 00004. 0002. 00008. 09988. 0F)() 1(kkFYY= =+ +T0002 . 0)0(= =Y051015202530-0.15-0.1-0.0500.050.10.150.2051015202530-0.15-0.1-0.0500.050.10.150.2示波器显示的第一个质量的位移时程在示波器显示的第一个质量的位移时程在MATLAB工作空间画出的两个质量的位移时程与前面连续时间系统的仿真结果一致。工作空间画出的两个质量的位移时程与前面连续时间系统的仿真结果一致。Scopey(n)=Cx(n)+Du(n)x(n+1)=Ax(n)+Bu(n)Discrete State-Spacex1k1c1c2k2x2m1m2