一种PSCAD自定义发电机控制器的初始化方法与流程

文档序号:13297045阅读:1857来源:国知局
一种PSCAD自定义发电机控制器的初始化方法与流程

本发明涉及力系统暂态仿真技术领域,特别是一种pscad自定义发电机控制器的初始化方法。



背景技术:

pscad-emtdc(简称pscad)是世界上应用最广泛的电磁暂态仿真软件之一。该软件的提供了丰富的发电机控制系统模型库,如调速系统、励磁系统等。但在实际仿真中,总会用到官方模型库中没有的控制器,这时就需对该模型进行自定义。

pscad提供了两种建立自定义控制器的方法,一种是使用软件提供的连续系统模型函数(continuoussystemmodelfunctions)进行搭建;另一种是在pscad的自定义模块中,通过编写脚本(script)实现控制系统建模。与第一种方法相比,第二种方法建立的模型更便于使用。

用以上任意一种方法建立的自定义控制器,都要进行适当的初始化才能准确模拟实际控制系统。这是因为电磁暂态仿真的数学本质就是求解微分方程,而微分方程需要给出适当的边界条件才能给出正确的解,初始化就是给出这个边界条件。另一方面,根据电力系统电磁暂态仿真的要求,在施加扰动前,需要让系统处于稳定状态,才能让仿真结果与实际运行接近。因此,自定义控制器需要在系统潮流确定、被控对象达到稳定状态时给出稳定的输出;控制器内部的状态变量的值和参考输入值在不施加扰动的情况下不发生变化。

对于有独立潮流计算程序电力系统仿真软件,要达到以上要求并不难,但pscad有独特的潮流计算方式。在暂态仿真开始后,pscad通过调整发电机功率、电压等变量以确定系统潮流,同时完成对发电机的初始化。也就是说,无法在仿真开始前得到系统潮流,进而初始化控制器。因此,有必要提供一种方法实现对pscad自定义控制器初始化。传统的初始化方法为:在仿真开始瞬间,将变量初始值设置为0。这样做的缺点是,在发电机完成初始化达到稳定状态时控制器尚未达到稳定状态。从文献“psasp模型向pscad软件转换方法研究及应用”(郭杏叶,重庆大学,2015)可以看出,在发电机潮流确定瞬间,其自定义励磁系统励磁电压输出仍然为0。这会使发电机运行状态偏离潮流计算确定的状态,进而影响仿真结果。



技术实现要素:

本发明所要解决的技术问题是:针对上述存在的问题,提供了一种pscad自定义发电机控制器的初始化方法。

本发明采用的技术方案如下:一种pscad自定义发电机控制器的初始化方法,包括以下过程:步骤1、确定控制器传递函数中需要初始化的模块i和模块i的变量输出yi0,以及控制器的参考输入yref0;步骤2、确定稳定状态下输出yi0与包括控制器的输入、需求输出在内的已知量的关系;步骤3、添加用于初始化的发电机变量;步骤4、在script中定义发电机初始化状态和正常状态的变量、模块i的变量以及计算发电机初始化状态下的模块i的输出yi0;步骤5、发电机完成初始化后锁定控制器的参考输入。

进一步的,所述步骤1中的需要初始化的模块包括惯性环节、超前滞后环节、微分环节和积分环节;如果自定义控制器中包含含状态变量的环节,则将所述含状态变量的环节分解,用所述惯性环节、超前滞后环节、微分环节和积分环节表示。

进一步的,所述步骤2的具体过程包括:步骤21、建立与原自定义控制器传递函数结构相同的直流增益的传递函数,针对原传递函数中每一个模块在直流增益的传递函数中具有对应的模块,直流增益的传递函数与原传递函数的信号流向相同;步骤22、针对原传递函数中的积分模块,在直流增益的传递函数中相应的位置断开,并令输入位置的信号为0,作为已知量;步骤23、针对原传递函数中的微分模块,在直流增益的传递函数中相应的位置断开,并令输出的位置的信号为0,作为已知量;步骤24、对原传递函数中用传递函数g1(s)表示的模块,如果g1(0)=0,则将模块拆分为微分环节与不含微分的环节g(s)串联,如果则将模块拆分为积分环节与不含积分的环节g(s)串联;针对传递函数g(s),在直流增益的传递函数中用对应模块的直流增益k=g(0)表示;步骤25、忽略传递函数中限幅环节和死区,最终确定控制器直流增益的传递函数;步骤26、根据直流增益的传递函数,计算模块i的输出yi0和参考输入yref0。

进一步的,所述步骤3中,如果自定义控制器是发电机励磁系统,添加需求励磁电压(requiredfieldvoltage)ef0作为初始化阶段控制器输出,添加被控发电机的电源到机器转换(source[0]->machine[1]transition)信号作为反应发电机运行状态的信号;如果自定义控制器是发电机调速系统,添加需求机械转矩(requiredmechanicaltorque)tm0作为发电机作为初始化阶段控制器输出,添加被控发电机的转子锁定模式到正常模式转换(lock-rotor[0]<->normalmode[1]transition)信号作为反应发电机运行状态的信号。

进一步的,所述步骤4的具体过程包括:(1)定义复位变量r,用于区分发电机工作于初始化状态和正常状态;(2)对每一个需要初始化的模块i,定义变量输出yi0,用于表示模块i在初始化运行状态中的输出,根据步骤2的过程计算yi0,并计算发电机参考输入yref0;(3)计算不同运行状态下各模块i的输出,如果发电机运行于初始化状态,模块i的输出为yi0;如果发电机运行于正常状态,计算正常状态下模块i输出。

与现有技术相比,采用上述技术方案的有益效果为:本发明的技术方案的发电机初始化达到稳定状态时,自定义控制器也达到稳定状态,实现对自定义控制器的初始化。

附图说明

图1是本发明pscad自定义发电机控制器的初始化方法的流程示意图。

图2是本发明实施例1中励磁系统ac4a传递函数的示意图。

图3是本发明实施例1中励磁系统ac4a待初始化模块输出与已知量关系。

图4是本发明实施例1中励磁系统ac4a锁定励磁参考输入的示意图。

图5是本发明实施例1中自定义励磁系统ac4a的输出和官方提供的输出的比较示意图。

图6是本发明实施例2中调速系统传递函数的示意图。

图7是本发明实施例2中调速系统待初始化模块输出与已知量关系。

图8是本发明实施例2中锁定调速系统参考输入的示意图。

图9是本发明实施例2中自定义调速系统的输出的机械功率示意图。

具体实施方式

下面结合附图对本发明做进一步描述。

实施例1:本实施例的自定义控制器是发电机励磁系统

步骤1、确定控制器传递函数中需要初始化的模块,如图2所示为励磁系统ac4a传递函数,vs为励磁系统附加控制输入,vref为励磁系统参考输入,efd是励磁系统输出,需要初始化的模块包括一个超前滞后环节和一阶惯性环节超前滞后环节的输出为y3_0。

步骤2、确定稳定状态下需要初始化模块的输出与包括控制器的输入、需求输出在内的已知量的关系;忽略限幅环节,稳定状态下控制器附加励磁输入vs=0,则超前滞后环节和一阶惯性环节中s=0,所以超前滞后环节和一阶惯性环节在稳定状态下分别为1和ka,分别用两个需要初始化的模块的直流增益代替原模块,得到直流增益传递函数如图3所示,一阶惯性环节稳态下的输出为励磁系统稳态输出efd0,超前滞后环节稳态下的输出满足y3_0=efd0/ka,稳态下励磁参考电压满足

步骤3、添加用于初始化的发电机变量;

本实施例的自定义控制器是发电机励磁系统,interfacetomachinecontrollers是pscad软件中设置发电机属性的卡片,在发电机interfacetomachinecontrollers中的outputexciterinitializationdata选项设为yes,使发电机可以输出所需要的需求励磁电压ef0,将需求励磁电压ef0作为自定义控制器初始化阶段的输出,为已知量,在script中用变量efd0表示;

添加source[0]->machine[1]transition信号s2m作为反应发电机运行状态的信号,在script中用变量sta表示。

步骤4、在script中定义发电机初始化状态和正常状态的变量、各模块的变量以及计算发电机运行状态下的各模块的输出;

与初始化相关的代码包括:

(1)定义复位变量r,当发电机处于初始化过程中r=1,当发电机进入正常状态,r=0;即

(2)定义变量y3_0,vref0,y3_0表示超前滞后环节在稳态下的输出,vref0表示励磁系统参考电压输入,根据步骤2中给出的计算方程,在用以下代码分别计算这两个量,

$vref0=$ef0/$ka+$vt

y3_0=$ef0/$ka

(3)计算不同发电机运行状态下各模块的输出

用以下语句分别实现超前滞后环节和一阶惯性环节计算

y3=ldlgpole(r,1,0,$tc,$tb,1.0,y2,y3_0,-1000,1000)

$ef=realpole(r,1,1,$ka,$ta,y3,$efd0,$vrmin,$vrmax)

其中ldlgpole和realpole是pscad提供的超前滞后环节和一阶惯性环节计算函数。函数中变量r=1时,两个环节工作于复位状态,其输出分别为y3_0和efd0;当变量r=0时,两个环节工作于正常状态。

步骤5、发电机完成初始化后锁定控制器的参考输入。

把vref0作为励磁系统的参考输入,根据source[0]->machine[1]transition信号s2m在初始化完成时锁定,使其在发电机正常运行时不发生变化,如图4所示,ef_2是锁定后控制器的励磁系统输出电压。

通过实施例1的技术方案,如图5为自定义控制器和官方提供的控制器输出的比较,ef曲线为官方控制器输出的励磁电压波形,ef_2曲线为自定义控制器输出的励磁电压波形。可以看出,初始化结束后,自定义控制器即励磁系统ac4a提供的励磁电压平滑的过度到了稳定状态,在第5s施加扰动前其励磁电压是一条直线;自定义控制器与官方提供控制器输出几乎完全相同。采用本方案后,自定义控制器实施效果明显优于现有方案。

实施例2:本实施例的自定义控制器是发电机调速系统

步骤1、确定控制器传递函数中需要初始化的模块,如图6所示为调速系统的传递函数,需要初始化的模块包括:一阶惯性环节初始输出为y4_0;微分环节初始输出为0;积分环节初始输出为y8_0;积分环节初始输出为y16_0;一阶惯性环节初始输出为y17_0;超前滞后环节初始输出为y18_0;调速系统的参考输入yref。

步骤2、确定稳定状态下需要初始化模块的输出与包括控制器的输入、需求输出在内的已知量的关系;

忽略死区和限幅环节;断开积分环节,令原积分环节输入位置信号为0;断开微分环节,令原微分环节输出位置信号为0;其它控制系统环节g(s),用其直流增益k=g(0)代替,得到稳定状态下的待初始化变量与已知量关系,如图7所示。待初始化变量与已知量关系用方程表示如下:

y18_0=pm0

y4_0=(ωr-1)×k1

其中,kp、bp、k1为原自定义调速系统传递函数中参数,pm0为调速系统的机械转矩在script中的变量名,yref为调速系统参考开度输入。

步骤3、添加用于初始化的发电机变量;

本实施例的自定义控制器是发电机调速系统,interfacetomachinecontrollers是发电机中tscad软件的卡片,在发电机interfacetomachinecontrollers中的outputgovernorinitializationdata选项设为yes,使发电机可以输出所需要的需求机械转矩tm0,并将tm0作为发电机初始化阶段自定义控制器的输出,在script中其变量名为pm0;

发电机lock-rotor[0]<->normalmode[1]transition信号init_gov作为反应发电机运行状态的信号,在script中其变量名为init_gov。

步骤4、在script中定义发电机初始化状态和正常状态的变量、模块i的变量以及计算发电机运行状态下的模块i的输出yi0;步骤5、发电机完成初始化后锁定控制器的参考输入;

与变量初始化有关的代码包括:

(1)定义复位变量r,当发电机在初始化状态时r=1,当发电机进入正常状态,r=0;代码如下

(2)根据已知量,用以下代码计算待初始模块的输出,其计算方程在步骤2确定

y18_0=$pm0

y16_0=$pm0

y17_0=$pm0

y4_0=($w0-$w)*$k1

y8_0=$pm0-$kp*y4_0

$yref0=-y4_0/$bp+$pm0

(3)待初始化模块计算

y4=realpole(r,1,0,$k1,$tr1,y3,y4_0,-10.0,10.0)

y6=diffpole(r,1,0,$kd/$td,$td,y4,0.0,-10.0,10.0)

y8=emtdc_xint(0,0,1,0.0,1/$ki,y8_0,-100.0,100.0,z8_2,z8_1)

y16=emtdc_xint(0,0,1,0.0,1,y16_0,-100.0,100.0,z16_2,z16_1)

y17=realpole(r,1,0,1.0,$t2,y16,y17_0,-1000.0,1000.0)

y18=ldlgpole(r,1,0,-$tw,0.5*$tw,1.0,y16,y18_0,-10.0,10.0)

其中,realpole、diffpole、emtdc_xint、ldlgpole分别为pscad软件提供的惯性环节、微分环节、积分环节和超前滞后环节计算函数。在这些函数相应位置加上复位信号,使其在r=1工作在复位状态,使其按照步骤2方程式计算的结果的输出;在r=0时工作在正常状态。

步骤5、发电机完成初始化后用采样保持模块锁定控制器的参考输入。

程序计算的参考输出yref0作为调速系统的参考输入信号,根据constantspeed(0)normal(1)transition信号init_gov在初始化完成时锁定,使其在发电机正常运行时不发生变化,如图8所示,gov7为调速系统。

通过实施例2的技术方案,自定义控制器调速系统输出的机械功率如图9所示。从图中看出,在发电机完成初始化瞬间,其机械功率平滑的切换到了需要的机械功率,且在第5s施加扰动之前,有稳定的机械功率输出,从而使得控制器能在初始化完成后平滑的过渡到正常运行状态。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1