
做电力系统暂态稳定仿真的人基本都绕不开两个英文缩写PSS电力系统稳定器和SVC静止无功补偿器。这两个装置一个管阻尼、一个管电压听起来分工明确但真把它们放到同一个多机系统里联合仿真参数互调、动态交互、数值稳定性这些问题一个比一个麻烦。最近我把“SVCPSS两机传动系统暂态稳定性仿真”这个课题在MATLAB Simulink里完整跑了一遍从建模、参数整定到故障扫荡全部走完踩了不少坑也沉淀出一套可以复用的思路。这篇文章就是全过程记录内容包括系统怎么搭、参数怎么定、对比工况怎么设计、调试坑怎么填给正在做类似仿真的朋友做个参考。1. 项目拆解暂态稳定、SVC与PSS各自解决什么问题1.1 暂态稳定的本质转子的加速与减速先把暂态稳定的问题本质说清楚。发电机转子是一个机械旋转体原动机输入机械功率Pm发电机向电网输出电磁功率Pe两者平衡时转速恒定、功角稳定。发生短路故障后因为机端电压跌落或线路阻抗变大Pe会瞬间掉下去但原动机的调节速度相对较慢Pm在短时间内几乎不变。于是转子上出现不平衡功率转子加速、功角增大。如果故障持续时间足够长功角越过了稳定极限点即使故障切除也回不到同步状态系统就会失步。工程上通常看故障后10秒以内的功角轨迹来判断功角差收敛到某个稳态值或者围绕稳态值做衰减振荡说明稳定功角持续增大、不回头说明失稳。这里有个关键概念是等面积法则。加速面积就是故障期间不平衡转矩对转子做的功减速面积是故障切除后发电机向系统回送能量时能“吃掉”的功。只有减速面积大于加速面积系统才能稳定下来。所以任何能增大减速面积的手段都能改善暂态稳定。SVC和PSS归根到底都是在朝着这个方向使劲只是路径不同。1.2 SVC的定位动态电压支撑SVC是并联型无功补偿装置核心结构是晶闸管控制电抗器TCR加固定电容器FC或晶闸管投切电容器TSC。它的核心能力是母线电压波动时通过快速改变晶闸管触发角来调节无功输出把电压拉回设定值附近。响应速度通常在10到40毫秒量级比传统的机械投切电容器快一个数量级。在暂态稳定场景里SVC的价值非常直接故障导致关键母线电压大幅跌落时SVC能快速增发容性无功把母线电压托住从而减小发电机电磁功率的跌落幅度、提高故障切除后的功率传输能力。打个比方SVC相当于一个“电压保镖”在电压最虚弱的时候立刻顶上。从等面积法则的角度看它直接增大了减速面积所以能提高暂态稳定裕度。但是要注意SVC并不能直接给功角振荡提供阻尼。它的控制目标是母线电压电压恢复以后它就不再有主动输出了振荡的衰减完全取决于系统本身的阻尼特性。如果系统是负阻尼的SVC救得了失步救不了振荡发散。1.3 PSS的定位负阻尼对撞PSS的出发点稍微绕一点。励磁系统本来是为了维持机端电压恒定但现代高放大倍数的快速励磁调节器在电压闭环中天然会给转子运动方程引入负阻尼分量。低频振荡频段0.1到2Hz里电压闭环的等效作用相当于一个负阻尼力矩扰动后的振荡不仅不衰减反而可能越荡越猛。PSS的思路就是给电压参考值叠加一个人工信号这个信号取自转速偏差Δω或功率偏差ΔP经过增益放大和相位校正之后产生一个与Δω同相位的阻尼力矩抵消励磁系统的负阻尼。用控制理论的话说PSS给系统增加了一个虚拟阻尼项让闭环极点往左半平面移动。PSS的价值在于它管的是“摇摆”本身而不是电压水平。在暂态稳定的首摆阶段PSS也能通过提前改变励磁来影响加速和减速能量但它的核心贡献还是在扰动切除后让功角振荡快速平息。SVC和PSS一个管电压、一个管摇摆正好互补。1.4 为什么选两机系统而不是单机无穷大母线教材里讲暂态稳定和PSS设计几乎清一色用单机无穷大系统SMIB因为解析方便可以用Phillips-Heffron模型做线性化分析PSS的相位补偿计算也相对简单。但单机无穷大有一个先天缺陷它只有一台发电机无法研究机间振荡模式。实际电网中最让人头疼的恰恰是两台或两组机组之间的低频振荡。两机系统是研究机间振荡的最小单元既保留多机系统的核心动态特征又不至于像IEEE 39节点那样复杂度不在一个量级。加上SVC通常安装在连接两机的输电通道上正好可以直观反映动态无功补偿对联络线传输功率和机间稳定性的影响。所以用两机系统做SVC和PSS的联合研究在学术和工程预研里都是性价比很高的选择。2. 在MATLAB Simulink中搭建两机系统模型2.1 系统拓扑与基础参数设定先明确系统结构。两机系统拓扑可以这样描述发电机G1经升压变压器T1接入230kV母线B1双回输电线路约100km连接到母线B2B2再经变压器T2接入发电机G2。负荷分别在B1和B2附近SVC安装在B2母线PSS安装在两台发电机的励磁系统上。基础参数我采用了一套教科书风格的配置方便和其他文献结果对比元件参数数值发电机G1/G2额定容量500 MVA发电机G1/G2额定电压13.8 kV发电机G1/G2直轴同步电抗 Xd1.8 pu发电机G1/G2直轴暂态电抗 Xd0.3 pu发电机G1/G2直轴开路时间常数 Tdo8.0 s变压器T1/T2变比13.8/230 kV变压器T1/T2漏抗0.1 pu输电线路电压等级230 kV输电线路长度100 km输电线路单位电阻0.02 Ω/km输电线路单位电感0.32 mH/km输电线路单位电容0.01 μF/km两台发电机参数设成一样先排除容量不对称的干扰集中研究SVC和PSS的控制效果。如果后续想扩展现实场景可以把G2设成较小容量模拟弱送端对强受端的结构功角摇摆模式会更接近区间振荡。2.2 发电机与励磁系统的建模要点Simulink里做电力系统暂态仿真首选Simscape Electrical Specialized Power Systems库老版本叫SimPowerSystems。同步发电机直接用Synchronous Machine pu Fundamental模块机械输入给Pm三相电气端接变压器Feedback信号里包含转速、功角、电磁转矩等内部量PSS的Δω就从这里取。励磁系统我没有直接用库里的封装块而是自己搭。原因很简单PSS的输入信号和叠加点都需要能够访问封装好的黑盒反而不方便。我搭的是简化一阶自励系统电压偏差经过增益Ka200和一阶惯性环节Ta0.02s输出励磁电压Efd再限幅在-5到5pu。PSS的输出就叠加在参考电压Vref上。这里有一个细节限幅器的饱和特性对PSS效果影响很大如果限幅太紧PSS在强扰动下会很快饱和阻尼效果打折太松又可能让励磁电压长时间顶到上限。我最后用±0.1pu的PSS输出限幅配合励磁限幅±5pu实测效果比较平衡。调速器模型也不能省略。虽然暂态稳定仿真中机械功率变化相对缓慢但如果不加调速器故障切除后转速升高后Pm不变功角和频率会持续累积偏移。我加了一个简化的水轮机调速模型转速偏差经过比例环节和惯性环节后调整Pm比例增益取20。2.3 SVC建模平均值模型与详细模型怎么选SVC建模有详细模型和平均值模型两种路线。详细模型包含晶闸管开关、触发脉冲、辅助电路能仿真谐波和阀级动态但仿真步长必须小于晶闸管开关周期跑一个10秒的暂态过程非常耗时。如果研究方向是暂态稳定也就是SVC对电压-无功的宏观调节作用平均值模型完全够用。Simulink自带的SVC模块在Specialized Power Systems库里有提供Phasor和Model两种模式选择平均值模型后内部等效为一个受控无功电流源电压低于参考值时增发容性无功电压高于参考值时吸收无功。控制环采用典型的电压调节器加速率反馈电压偏差经过PI环节输出触发角指令速率反馈抑制控制系统本身的低频振荡。参数初选时电压调节器增益Kv我给的是200积分时间Ti是0.02sSVC容量按50到150Mvar的动态范围安装在B2母线。需要提醒的是SVC的安装位置对效果影响很大装在系统电压最薄弱、最需要支撑的节点效果最好。我试过把SVC装到B1母线结果对G2侧的电压支撑作用明显变弱联络线上的功率摆动幅度也大得多。2.4 PSS建模传递函数结构与输入信号选择PSS的标准结构是增益Kp、隔直环节高通滤波器Tw、两级超前滞后补偿、输出限幅。隔直环节的目的是让PSS只在动态过程中起作用稳态输出为零不改变励磁系统的电压设定值。超前滞后环节负责相位补偿补偿励磁系统在振荡频段造成的相位滞后。限幅防止PSS输出过大导致励磁电压饱和。输入信号我选了转速偏差Δω这也是经典做法。也可以用功率偏差ΔP但ΔP对测量噪声更敏感而且在两机系统中局部功率信号可能包含较多的负荷分量。现代PSS2B采用双输入Δω和ΔP设计来综合两者优点但模型复杂度会上升。在两机系统中取每台机的局部Δω结构简单又能覆盖机间振荡模式适合作为第一版验证方案。实现上我用Simulink的传递函数模块串联完成隔直环节用s/(1sTw)的形式超前滞后用(1sT1)/(1sT2)串联两级最后加Saturation模块限幅。搭建时建议在每级之间加一个增益比例显示方便在线调参时直接看各级输出是否越界。3. 参数整定、故障仿真与结果对比3.1 PSS相位补偿的整定流程PSS能不能发挥阻尼作用核心在相位补偿。理想情况下PSS提供的附加电磁力矩应该与Δω同相但励磁系统在低频段会有几十度到一百多度的相位滞后PSS中的超前滞后环节就是要把这段滞后补回来。操作流程是这样走的。第一步先把PSS摘掉在系统上加一个小扰动比如5%的负荷阶跃观察从励磁电压参考值到电磁转矩的相位滞后。可以在Simulink里用线性化工具Model Linearizer直接看频响也可以在时域里通过注入正弦小信号扫频来测量。第二步确定需要补偿的目标频率区间。两机系统的机间振荡频率一般在0.5到1.5Hz可以先跑一个故障或阶跃扰动看看功角振荡轨迹的频谱找到主导振荡峰。第三步按下式选择超前滞后时间常数单级超前环节在某一频率ω下的相位超前量约为φ arctan(ωT1) - arctan(ωT2)目标是把励磁系统在主导振荡频段的滞后补偿到±20度以内。我的实际参数是Kp20、Tw10s、T10.4s、T20.05s两级结构后面一级参数与前面相同输出限幅±0.1。按1Hz附近算每级大约能提供45度左右的超前两级总超前在80到100度之间对典型励磁系统在一两赫兹频段的滞后量来说基本够用。整定完成后不要只盯频域指标一定要回到时域做闭环验证。用小扰动看功角振荡衰减速度再加大扰动看首摆峰值和恢复时间。频域设计保证了方向正确时域验证保证最终效果达标。3.2 SVC控制参数的整定逻辑SVC的电压调节器增益不是越大越好。增益太大电压环在工频附近容易产生高频振荡实际工程中可能引起SVC控制系统自激增益太小电压支撑能力不足暂态过程中母线电压恢复太慢。我调试时先用线性化工具看SVC接入点母线的电压闭环频响以相位裕度大于30度作为底线来选Kv。Kv200是比较典型的中间值配合速率反馈时间常数Tv0.02s响应速度和稳定性都能兼顾。如果把Kv加到500暂态过程中SVC内部会激发出明显的高频分量功角曲线也会叠加细小的抖动。还有一点容易被忽略SVC的电压调节斜率droop。实际SVC通常有2%到5%的下降特性仿真里如果设成零相当于理想电压源电压支撑效果会过于乐观。我建议至少设置2%的斜率这样结果更接近工程实际。3.3 故障工况设计与对比方案对比工况设计是验证控制效果的核心单一工况很难看出SVC和PSS各自的贡献。我设计了四组对比无控制没有PSS没有SVC仅SVC投入SVCPSS不投仅PSS投入PSSSVC不投SVCPSS联合故障场景选了两回输电线路的中段发生三相短路故障时序为0到1秒正常运行1秒故障发生1.1秒故障切除切除后双回线剩单回运行仿真持续到10秒。为什么选切单回线路因为切除一回后联络线阻抗增大、传输能力下降暂态稳定问题更严苛也更贴近实际电网在检修或N-1事故后的运行状态。如果故障后线路恢复原状系统本来就比较容易稳定四组工况的差异就不明显了。记录的量包括两台发电机之间的功角差相对功角、B2母线电压幅值、两台机的转速偏差。3.4 仿真结果分析与结论看四组工况的功角差曲线差异非常清晰。无控制工况下故障瞬间功角差迅速增大由于励磁系统负阻尼的作用首摆之后振荡不仅不衰减反而越来越大大约4秒后功角差突破90度并持续增大系统失步。B2母线电压在故障期间跌到0.2pu附近切除故障后恢复也非常缓慢。仅用SVC时故障期间的电压跌落明显改善B2母线电压最低值提高到了0.45pu左右功角首摆峰值也小很多系统能保持同步。但振荡衰减速度不够理想要8秒左右才基本平息。这说明SVC的电压支撑能防止失步但它并不能直接为功角振荡提供阻尼。仅用PSS时功角振荡衰减明显加快首摆之后两三秒内基本收敛阻尼效果立竿见影。但故障瞬间的电压最低值跟无控制工况差不多PSS对暂态电压支撑几乎没有贡献。SVCPSS联合时效果最理想故障后功角首摆最小振荡在3秒内平稳B2电压在切除故障后能快速恢复到0.95pu以上。这个结果也印证了SVC和PSS作用互补的判断一个管电压水平一个管振荡阻尼。工况电压最低点首摆功角峰值振荡收敛时间是否稳定无控制0.20 pu远超稳定极限失步否仅SVC0.45 pu中等约8s是仅PSS0.22 pu接近极限约2.5s是SVCPSS0.46 pu较小约3s是4. 调试中的经验与问题排查实录4.1 仿真发散、不收敛的真正原因做Simulink电力系统仿真数值发散是遇到最多的坑而且原因通常不在“模型错了”而在求解器配置。第一种是解算器选型问题。电力电子器件和快速励磁系统都是刚性系统默认的变步长ode45在暂态过程中极易发散或者步长被自动压到很小、仿真速度惨不忍睹。建议用ode15s或ode23t这类刚性求解器最大步长限制在1e-3秒或更小。实际跑下来ode23t在暂态精度和速度之间平衡得最好。第二种是线路模型引发的数值振荡。100km的230kV线路如果选分布参数模型暂态上升沿会产生高频反射式的数值振荡波形上看就是功角曲线上叠加了细密的锯齿。我的建议是不研究行波过程时直接选PI Section集中参数模型仿真会稳得多。如果非要保留分布参数模型就得把步长压到微秒级那10秒仿真的计算量会大到不太现实。第三种是SVC平均值模型与系统初值不匹配。如果初始化时SVC提供的无功功率和潮流计算不一致仿真一启动就会跑飞。解决办法是让系统先空跑一段时间进入稳态再把稳态值作为初始条件或者在故障时刻前的一段正常运行时间内允许系统自然稳定。4.2 SVC和PSS联合时为什么互相“打架”联合仿真中最容易踩的坑是SVC电压环和PSS的动态交互。PSS的输出叠加在励磁电压参考值上会引起机端电压小幅上下波动而SVC恰好按母线电压闭环调节。如果SVC的电压环响应太快它会把这种电压扰动当成系统故障去补偿反而削弱了PSS的阻尼效果。我在调试时就遇到过一个典型现象单独投PSS功角收敛得很好加上SVC之后功角振荡时间反而变长了。后来排查发现是SVC增益太高电压控制在0.1到1Hz频段内响应过度。解决办法是把Kv从200降到100同时在SVC的电压测量环节加了截止频率约10Hz的一阶低通滤波让它在机间振荡频段内响应慢一些。这个问题的根源在于两个控制器存在时间尺度重叠。PSS工作在0.2到2Hz的低频段SVC电压环如果不加滤波也可能在这个频段内产生响应。两个闭环在同一个频段内同时动作很容易出现相位叠加和增益竞争。所以联合调试时一定要检查功率谱分清每个控制器的有效工作频段。4.3 初始化、潮流计算与“假稳态”问题Simulink的Specialized Power Systems在暂态仿真前会自动做一次稳态初始化前提是模型内所有元件参数和初值一致。发电机初始功率角度如果设置不当初始化出来的“稳态”其实是振荡的仿真一开始功角就在飘而不是从零开始。我建议直接用Powergui的Load Flow工具先做潮流计算然后把发电机的有功初值、端电压初值和励磁初值按潮流结果设置。两机系统最方便的初始工况是让G1承担大部分有功负荷G2参与平衡或者两机共同分担负荷。接线时注意变压器绕组的连接组别否则潮流计算不收敛的报错会非常折磨人。还有一个容易被忽视的点Powergui里要把仿真类型设置为Phasor或Continuous两者在机电暂态仿真中的行为差异会影响初始化结果。我当时用Continuous类型配合Variable-step求解器潮流初始化一次通过换成Phasor类型发现励磁动态被简化PSS的输入信号反馈会有偏差。4.4 仿真提速的实用技巧两机系统加上SVC和PSS模型规模不算大但跑10秒暂态仍然可能很慢尤其是步长设置不当或模型里存在高频开关时。我的经验有两条。第一仿真模型里不要放不必要的示波器、To Workspace模块和高频采样模块这些会严重拖慢仿真速度。把需要记录的量集中在少数几个To Workspace模块中统一使用1kHz采样率既能保证波形精度又不至于数据量爆炸。第二SVC的详细晶闸管模型换成平均值模型后仿真速度能提升5到8倍。在研究机电暂态尺度时晶闸管开关细节对功角稳定结论的影响可以忽略。类似的PSS传递函数如果用连续模块实现就不要再用离散化模块避免引入额外的采样延迟和计算负担。另外提醒一下版本相关的事情不同MATLAB版本中Simscape Electrical的模块名和接口有差异。如果从网上找参考资料最好确认对方用的版本和你一致否则模块名称对不上会浪费不少时间。我用的版本是R2022b模块名和介绍里的基本一致。再分享一个小技巧在调试阶段可以先缩短仿真时长比如只仿真到5秒采样率降到500Hz参数调得差不多之后再拉长仿真时间和采样精度。这样一轮调参从几分钟压缩到几十秒试错效率会高很多。说到最后回到这个项目本身。SVC和PSS联合仿真表面上是两个控制器叠加本质上牵扯到电压支撑与功角阻尼在时间尺度上的配合。很多人在搭模型时只关注单一装置的参数整定忽略了它们在频域上的重叠和交互结果联合效果反而不如单独投一个装置。这个项目让我印象最深的不是最终波形多么漂亮而是调试过程中真正理解了“互补”这两个字的分量。后续如果想扩展可以往三机系统或实际电网拓扑方向靠拢研究SVC和PSS在更复杂振荡模式下的协调策略那又是一大块值得深挖的空间。