zxdjld 发表于 2019-4-30 15:11:46

模块初始化小结

PF软件模块初始化小结


      下面是我自己总结的关于初始化的分析,若有不对,请大家多多指正。      在我搭建的算例的控制模型(见图10-27、28和29)里,dq trans是一个block,是一个单独的block,在这个block里需要对输入和输出信号进行初始化。但是呢,ir,ii,cosref,sinref都是通过测量模块得到的信号,对于这类信号是不需要进行初始化的,而对于id和iq这样的输出信号,这是需要进行初始化的,初始化见图10-30。
图10-27

图10-28

图10-29

图10-30      李洋前辈说,在一个模块中呢,量测模块得到的信号以及Pmr和Pmi(这两个是PWM的信号)是不需要进行初始化的,其余的输入和输出的信号必须要进行初始化。         PF中的block definition这个block的所有的状态变量都要有初始化计算起步值,参考信号以及输出信号初始化,当然对于量测模块得到的信号以及Pmr和Pmi(这两个是PWM的信号)是不需要进行初始化的。下面仅仅针对PQ_Controller(见图10-31)对初始化进行说明,它对应的变量见图10-31。

图10-31

图10-31      从上面图10-30和10-31中,可以看到在这个block中,有四个输入信号Pref,Pin,Qref和Qin;有两个输出信号:iq_ref和id_ref;有四个状态变量xP,xQ,xiP和xiQ;有五个参数Tr,KP,TiP,KQ和TiQ;有四个内部变量P,Q,dP和dQ。      首先对状态变量的初始化进行说明,状态变量初始化的原则就是让状态变量对时间的导数为零并且要对状态变量进行赋初值。      先对功率P的PI控制环节的状态变量xiP进行说明。图10-32和10-33是对应的调用的PI函数的情况。

图10-32

图10-33      这里要让图10-33的第一条语句为零,也就是说让输入信号u为零。我们看到输入信号在图10-32对应的就是dP,也就是让dP等于零。那么dP等于Pref减去Pin,即P=Pref-Pin。那么就让Pref=Pin就可以了。所以就可以进行初始化语句为:inc(Pref)=Pin,对应的,inc(Qref)=Qin。那好了,还要对状态变量进行赋初值,在图10-33中的第二条语句在稳态的情况下可以写为y=K*u+x1,对应于图10-31也就是,iq_ref=K*dp+xiP。那么也就是让iq_ref-K*dp=xiP,那么对应的初始化语句为inc(xiP)=iq_ref-K*dp。      现在分析状态变量xP,它是一节惯性环节的状态变量,它对应的一阶惯性环节的函数为图10-33和10-34。要想使得图10-34的第二条语句为零,即x.=(yi-x)/T=0,那就是说让yi=x就可以了。Yi对应于图10-31中的Pin,那么让等于x=Pin就可以了。X对应于图10-31中的xP。所以初始化的语句为inc(xP)=Pin,对应的xQ为,inc(xQ)=Qin。

图10-33

图10-34PF交流群号:481434792

页: [1]
查看完整版本: 模块初始化小结