1. 暂态稳定问题从哪来SVC和PSS又是在解决什么前一阵子帮朋友校核一个区域电网的暂态稳定计算又跟SVC和PSS这对老搭档打了一轮交道。用Matlab/Simulink搭模型、跑短路故障、对比不同控制策略下的功角摇摆曲线整个过程走下来我觉得有必要把这次基于SVC和PSS的电力系统暂态稳定性仿真研究过程完整记录下来。这里面既有原理层面的东西也有大量Simulink建模时的实操细节非常适合正在做电力系统课程设计、毕业设计或者刚接触机电暂态仿真想快速上手的工程师参考。先说说暂态稳定到底是个什么问题。电力系统在正常运行时所有发电机的转子都以同步转速旋转彼此之间的功角差保持在一个相对固定的范围内。一旦系统遭受大扰动比如输电线路上发生三相短路、大容量机组突然跳闸、或者重要负荷瞬间切除发电机的电磁功率会突变而原动机输入的机械功率在短时间内来不及调整这就导致发电机的转子出现加速或减速功角开始摇摆。如果这个摇摆过程能够衰减系统最终回到一个新的稳定运行点那么系统就是暂态稳定的如果功角持续增大、失去同步就可能引发大面积停电。这里有个很直观的生活类比。把发电机转子想象成一群人在操场上跑步正常时大家速度一致、间距固定。突然有人被绊了一下短路故障他速度骤降等爬起来又拼命追这时候整个队伍的间距就会剧烈变化。如果有办法快速“拉一把”或者“按一下”让大家尽快恢复整齐这就是稳定控制干的事。SVC和PSS就是两员干将但它们的发力点完全不同。SVC是静止无功补偿器属于FACTS家族的一员它通过快速调节无功输出在故障期间和故障切除后维持系统电压间接改善发电机的电磁功率特性。PSS则是电力系统稳定器它直接作用在励磁系统上通过引入附加的阻尼信号来抑制发电机转子间的低频振荡。一个是“电压路线”一个是“励磁路线”两者配合得好往往能产生112的效果。2. 原理拆解SVC和PSS分别是怎么“稳住”系统的2.1 SVC的等效模型与工作原理SVC的全称是Static Var Compensator它的核心思想是通过晶闸管控制的电抗器和电容器组合实现快速的连续无功调节。典型构成包括固定电容器FC、晶闸管控制电抗器TCR以及滤波器支路。从数学建模的角度看SVC在基波频率下可以等效为一个随触发角变化的等效电纳。TCR支路的等效电纳表达式为B_TCR(α) (2π - 2α sin2α) / (π · X_L)其中α是晶闸管触发延迟角X_L是电抗器基波电抗。当α从90度增大到180度时B_TCR从最大值全部投入减小到零。SVC的总等效电纳就是固定电容支路和TCR支路的代数和。在Simulink里面搭SVC模型你有两种选择一是直接用Simscape Electrical原SimPowerSystems里现成的SVC模块二是自己用受控电流源加控制逻辑搭一个等效模型。我这次用的是现成模块因为它内部已经包含了测量环节、电压调节器和触发脉冲生成器省事很多。但要注意现成模块的调节器参数需要根据你的系统短路容量重新整定不能直接搬默认值。2.2 PSS的相位补偿原理PSS的出发点是这样的励磁系统本身在调节电压时可能引入负阻尼导致转子振荡衰减缓慢甚至发散。PSS的解决思路是从转速偏差或功率偏差中提取振荡分量经过适当的相位补偿和幅值放大再作为附加信号叠加到电压参考值上从而产生一个与转速偏差同相位的阻尼转矩。一个典型的单输入PSS由以下几个环节组成隔直环节sT_w / (1 sT_w)用于滤除稳态直流分量T_w通常在1~20秒之间相位补偿环节通常1~3级超前-滞后形式为(1 sT_1)/(1 sT_2)目的是补偿励磁系统的相位滞后增益环节K_stab决定PSS的输出强度限幅环节防止PSS输出过大通常在±0.05~0.1 p.u.之间。在Simulink里实现PSS非常直接用传递函数模块把上面的环节串起来就行或者直接用Simulink里自带的PSS库模块。后者有几个预设模型比如IEEE 1型PSS换参数方便推荐优先使用。2.3 单机无穷大系统暂态稳定仿真的经典模型这次仿真我采用的是标准单机无穷大SMIB系统结构。它的意义在于用最简化的网络结构抓住暂态稳定问题的核心矛盾最适合用来对比不同控制策略的效果。系统参数如下基于常见实践取值参数数值说明发电机额定容量200 MVA基准容量发电机端电压13.8 kV机端额定电压变压器变比13.8/230 kV升压变压器输电线路长度200 km双回线线路单位电抗0.4 Ω/km正序电抗无穷大母线电压230 kV系统参考电压发电机采用六阶模型励磁系统采用IEEE I型励磁模型原动机采用汽轮机模型。这些都能在Simulink库里面找到对应模块。3. Simulink仿真模型搭建从画电路图到调参数3.1 模型整体结构设计打开Simulink新建一个模型文件。在模型窗口里我先按“源-网-荷-控制”的维度把结构理清楚再动手放模块。整个模型可以分为几个大块发电机与调速器、励磁系统与PSS、变压器与输电线路、无穷大系统、SVC及其控制器、故障设置模块、测量与输出模块。这里特别想说一个建模习惯的问题。很多人喜欢把所有模块堆在一个窗口里线拉得乱七八糟后面查错的时候痛不欲生。我的习惯是用不同的颜色区分不同的子系统发电机区域用蓝色励磁与PSS用绿色SVC用橙色故障模块用红色。同时每个关键信号线上做好标签标注比如“omega”“P_e”“V_t”这些这样波形不对的时候能快速定位到是哪条支路出了问题。3.2 关键模块的选择与参数设置发电机的建模我选了“Simplified Synchronous Machine”模块里面的六阶模型pu units。这个模块的参数输入方式有SI和pu两种可选建议选pu因为励磁系统和PSS的控制量都是标幺值统一单位制不容易出错。这里列一组我实际调试过能稳定运行的发电机参数供参考X_d直轴同步电抗: 1.81 p.u.X_q交轴同步电抗: 1.76 p.u.X_d直轴暂态电抗: 0.30 p.u.X_q交轴暂态电抗: 0.65 p.u.X_d直轴次暂态电抗: 0.23 p.u.T_d0直轴暂态开路时间常数: 8.0 sT_d0直轴次暂态开路时间常数: 0.03 sH惯性时间常数: 3.5 s转动惯量H对暂态稳定结果影响非常大。H越小转子越“轻”故障期间加速越快首摆功角就越大。如果做参数扫描的时候发现功角首摆超过90度首先检查这个值设得对不对。励磁系统我直接用的Simulink库里的“Excitation System”模块选IEEE Type I模型。关键参数包括调压器增益K_A200调压器时间常数T_A0.02 s励磁机时间常数T_E0.5 s励磁机饱和系数S_E0.1PSS我用了库里的IEEE 1型PSS模块参数初值按典型的“2秒隔直两级超前滞后”结构来设置。3.3 故障设置与仿真参数配置暂态稳定研究里最常用的故障类型就是三相短路接地故障这次仿真也采用这个设置。用Simulink里的“Three-Phase Fault”模块需要设置三个时间节点故障开始时间1.0 s故障切除时间1.1 s持续时间0.1 s即6个工频周期故障电阻0.001 Ω近似金属性短路故障位置放在双回线路的其中一回上靠近升压变压器侧约10%处。这个位置是比较严酷的工况因为离发电机电气距离近短路电流大对系统稳定性的冲击也最强。仿真求解器配置方面我的经验是先尝试用ode23tb刚性系统求解器相对容差设置为1e-4最大步长不要超过1e-3秒。电力系统机电暂态仿真本质上是一个刚性系统电磁暂态部分的时间常数在毫秒量级而机电振荡的周期在1秒左右两者差异很大。用变步长刚性求解器能兼顾速度和精度。仿真总时长设置为10秒这样既能观察第一摆的暂态过程也能看到后续的振荡衰减情况。3.4 PSS相位补偿参数的计算过程PSS调参的核心工作是相位补偿。原理上说我们希望PSS在振荡频率处通常0.5~2.0 Hz提供领先相位补偿励磁系统在该频率下的相位滞后从而使PSS产生的电磁转矩分量落在阻尼转矩的坐标轴上。具体操作是这样的先在Simulink里对励磁系统做一个频率响应测试用Bode图工具得到励磁系统在振荡频率附近的相位滞后角。假设在1.0 Hz处测得滞后角为60度那么PSS的相位补偿环节需要在1.0 Hz处提供大约60度的超前角。如果采用两级超前滞后补偿每级分担30度。由超前滞后环节的相位公式φ arctan(ωT_1) - arctan(ωT_2)取T_1 0.2 sT_2 0.05 s代入ω 2π × 1.0 6.28 rad/sφ arctan(6.28 × 0.2) - arctan(6.28 × 0.05) arctan(1.256) - arctan(0.314)arccot 一下arctan(1.256) ≈ 51.5度arctan(0.314) ≈ 17.4度所以φ ≈ 34.1度。两级串联就是68度左右略超过需求可以通过调整T_2再回调一点。这里的计算过程不用太追求精确值因为实际系统是非线性的最终要以时域仿真结果为准。增益K_stab的整定从较小的值开始比如2~5逐步增大观察功角曲线的阻尼情况。增益过小阻尼不够增益过大则可能激发励磁系统的高频不稳定这时候能看到PSS输出波形出现高频振荡。我最终调试下来K_stab取8比较合适。3.5 SVC接入位置与控制器参数SVC的安装位置需要考虑两个约束。一是电气约束安装点的电压必须对无功功率变化敏感这样SVC才能发挥调节作用二是物理约束实际工程中一般安装在枢纽变电站或长输电线路的中点。在SMIB系统里我把它接在升压变压器的高压母线处这里电压对故障的响应最剧烈SVC的效果最容易体现。Simulink里的SVC模块参数需要设置额定容量±100 MvarTCR部分FC部分参考电压1.0 p.u.电压调节器增益100 p.u./p.u.电压调节器时间常数0.02 s测量环节时间常数0.005 s晶闸管最小触发角90度对应电抗器全导通晶闸管最大触发角180度对应电抗器全关断SVC的电压调节器本质上是一个PI控制器比例增益决定响应速度积分增益决定稳态精度。这里有个容易踩的坑增益调得过大在故障切除后的恢复过程中SVC的输出会出现振荡反而恶化系统阻尼。这类问题通常能在SVC输出波形上看出来——无功功率在极限值附近来回大幅摆动。4. 仿真结果分析四种场景的对比4.1 无控制措施基准工况首先跑一个没有任何附加控制的基准工况发电机带励磁但PSS不投入SVC也不接入。三相短路故障在1.0 s发生1.1 s切除。从仿真曲线来看发电机的功角在故障期间迅速增大故障切除瞬间达到约75度之后继续爬升到最大摆角约108度随后回落却再次爬升呈现出明显的增幅振荡趋势。10秒仿真结束时功角已经超过130度且没有回稳迹象这说明系统在这个故障方式下是不稳定的。转速偏差波形也佐证了这一点转子转速偏离同步速度后不仅没有衰减反而每次摇摆的幅度都在加大。这种情况在现场意味着机组即将与系统失去同步必须依靠保护装置切机。这个基准工况虽然“结果不好”但它非常重要它提供了对照组后面所有控制措施的改善效果都要跟这个曲线对比。4.2 单独加装SVC的效果在升压变高压母线处接入SVC保持其他条件不变重新仿真。SVC投入后故障期间的机端电压跌落幅度明显减小。无控制时电压最低掉到约0.55 p.u.有SVC时最低电压抬升到约0.78 p.u.。电压水平的改善直接反映在电磁功率上——故障期间发电机的电磁功率因为电压降低而大幅下降这是转子加速的根本原因电压抬升后电磁功率下降幅度减小转子加速量自然就少了。功角特性方面最大摆角从无控制时的首摆108度降到了约86度故障切除后的振荡过程也呈现出衰减趋势系统重新恢复稳定。这个结果验证了一个基本结论改善电压水平是提升暂态稳定性的有效手段。但要注意的是SVC对振荡衰减的改善程度有限。功角曲线的衰减速率并不快大约在第6个摇摆周期后振荡才基本平息。这说明SVC虽然能提升同步转矩、减小首摆幅度但它提供的阻尼转矩相对有限。4.3 单独投运PSS的效果不接SVC只投入PSS仿真同样的故障过程。故障切除瞬间的功角跟无控制时差别不大大约在77度左右——这一点很好理解PSS的隔直环节使得它主要响应振荡分量对第一个摇摆周期的影响本来就有限。关键差异出现在后续的摇摆过程PSS投运后第二个摇摆周期的峰值明显回落到第4个摇摆周期振荡幅度已经衰减到5度以内。这就很直观地展示了PSS的核心价值专门干“阻尼振荡”这件事。它不能阻止首摆冲得很高但它能保证振荡快速衰减让系统更快回到稳定运行状态。这也解释了为什么在远距离输电系统中PSS往往是标配。回顾一下相位补偿的设计目标实测励磁系统在1 Hz附近的相位滞后约60度PSS在这个频率提供约68度的超前角整体补偿后PSS产生的电磁转矩基本落在阻尼方向。从仿真结果看这个设计目标是实现了的。4.4 SVC与PSS联合投运的综合效果SVC和PSS同时投入到系统中这组仿真是最关键的。从功角曲线上看联合控制的效果比任何单一措施都好。首摆最大功角约81度比单独SVC时略低更明显的是后续摇摆几乎在第3个周期内就衰减完毕动态响应品质远超单独控制。这里面的机理值得说一下。SVC和PSS的作用在时域上是互补的在故障发生到切除后的第一个摇摆周期内SVC快速响应电压跌落提供无功支撑、抬高电压、增大电磁功率直接影响的是“同步转矩”减小了首摆的幅度和加速能量而PSS在这个过程中虽然也有输出但其作用主要在后续的振荡阶段体现通过励磁附加控制不断产生阻尼转矩抑制功角的反复摇摆。两者的组合天然形成了一个“前段减小冲击、后段加速衰减”的分工格局。这也是为什么实际电力系统中往往需要在系统层面同时配置无功补偿设备和PSS而不是只用其中一种。5. 常见问题与排查技巧这些都是踩过坑换来的经验5.1 仿真发散不收敛怎么办这是做电力系统仿真时最常遇到的情况。模型跑不下去、波形飞到天文数字、或者提示“Singularity”错误原因通常出在以下几个方面。第一步先检查初始化。在Simulink中电力系统模型需要先做潮流初始化确保模型运行在稳态工作点。如果初始化失败常见原因是发电机参数或负荷参数不一致。比如发电机容量基准和无穷大系统容量基准不匹配、发电机初始功角设置不合理都会导致初始化失败。我自己的排查套路是先把故障模块禁用或者把故障电阻设为非常大的值看模型能否正常从0时刻跑到仿真结束。如果这都跑不通说明问题出在模型本身的参数配置上跟故障无关。这时候逐个模块检查参数特别是那些带初始条件的模块。第二步检查求解器设置。如果模型在故障时刻附近发散可能是最大步长过大导致求解器错过了故障切换的精确时刻。把最大步长从默认值调小到1e-4秒试试往往能解决问题。5.2 PSS输出始终为0的排查PSS投上去后发现曲线跟没投一样这时候首先检查PSS的输入信号。PSS需要输入转速偏差或功率偏差信号如果这个信号没有正确连接PSS输出自然为0。在Simulink里可以用Scope模块直接看PSS输入端口的波形确认信号是否为0。隔直环节的时间常数设得过大也会导致问题。T_w20秒的隔直环节对1 Hz左右的振荡信号来说衰减不到10%但如果T_w设成了100秒振荡分量通过隔直环节后幅度就会掉一个量级PSS等于白接。正常范围T_w取1~5秒就够用了。还有一个容易忽略的点是限幅环节。PSS的输出限幅通常为±0.05 p.u.如果输入振荡信号已经完全饱和在这个限幅值上PSS的实际输出就是一个方波而不是光滑的控制信号这时候要检查增益是否过大。5.3 SVC频繁触发进入极限的调整SVC的容量如果选小了在严重的短路故障下会很快达到极限输出表现为电压支撑不足、功角改善有限。如果选大了又会在正常运行工况下频繁调节造成不必要的损耗和器件应力。仿真中判断SVC容量是否合适的指标是输出无功的波形如果SVC在故障后的大部分时间里都是满发状态说明容量偏小需要增加如果SVC在稳态时输出基本不变、只在故障瞬间动一下说明容量偏大。结合工程经验SVC的容量选择一般按照安装点短路容量的5%~10%来估算再通过仿真校验。5.4 参数扫描中的效率技巧做暂态稳定研究时通常需要对多个参数做扫描比如PSS增益、SVC容量、故障切除时间等。在Simulink里手动一组一组改参数太浪费时间了建议用MATLAB脚本批量处理。我之前一直强调纯手动的修改参数方式在需要测试多组数据时效率太低。用脚本去控制Simulink模型核心就是下面这个流程% 打开模型 open_system(svc_pss_smib); % 设置需要扫描的参数范围 K_stab_range 2:2:20; max_angle zeros(length(K_stab_range), 1); for i 1:length(K_stab_range) % 修改PSS增益参数 set_param([model /PSS], K, num2str(K_stab_range(i))); % 运行仿真 simOut sim(model, StopTime, 10); % 提取功角数据并计算最大值 delta [simOut.delta.time, simOut.delta.signals.values]; max_angle(i) max(delta(:, 2)); end % 绘制参数扫描结果 plot(K_stab_range, max_angle, o-); xlabel(PSS增益 K_stab); ylabel(最大功角 (度)); grid on;这种自动化的扫描方式大幅提高了调参的效率。一次十条不同增益的仿真几分钟就能跑完并且能直观地看到增益对稳定性的影响趋势避免凭感觉一个一个试。5.5 波形数据导出与报告图表绘制做研究性报告最后一步是把仿真结果整理成规范的图表。把Simulink的波形数据导出到MATLAB工作区然后用脚本绘制比直接在Scope里截图要专业得多。在Simulink里可以给信号线上加To Workspace模块把需要分析的数据记录下来。记录的数据是结构体格式包含时间和数值两个字段。导出后用MATLAB绘图figure; plot(delta.time, delta.signals.values * 180/pi, LineWidth, 1.5); xlabel(时间 (s)); ylabel(功角 (度)); title(SVCPSS联合控制下发电机功角响应); grid on; xlim([0 10]);功角数据在Simulink的SI输出里是弧度值换算成角度直接乘180/pi。如果需要同时对比无控制、单独SVC、单独PSS、联合控制四条曲线可以把四组数据存到同一个figure里用legend标注清楚这份图放到报告里会非常有说服力。6. 从仿真到工程应用几个值得留意的现实问题仿真模型能跑通了、结果也符合预期了但冷静下来看这里面还有一些从仿真到工程落地的差距要特别说明。第一个是模型简化的问题。SMIB系统毕竟是一个高度简化模型。实际电力系统中一个区域电网可能包含几十台发电机、几百条线路、各种类型的负荷机组之间的相互作用会让稳定问题复杂得多。SMIB的价值在于它能抓住单机对无穷大系统这个最本质的物理场景用来验证控制策略的基本有效性是足够的但要直接把这个结论推广到多机系统还需要在多机环境中进一步验证。第二个是PSS参数在不同运行方式下的鲁棒性。仿真中整定好的K_stab和相位补偿参数是基于某个特定运行方式得出的。实际系统中的运行方式变化非常大——轻负荷、高峰负荷、检修方式下系统的等效阻抗和谐振特性都不一样。PSS的参数必须在多种方式下都能提供满意的阻尼否则可能在某个运行方式下反而引入负阻尼。这个在工程上叫“鲁棒性校验”是PSS参数出厂前必须做的测试。第三个是SVC与系统其它控制器的协调问题。现代电力系统中除了SVC可能还有STATCOM、UPFC、直流输电的控制系统等这些快速控制装置之间如果缺乏协调可能出现相互干扰甚至振荡。在仿真阶段可以叠加多个控制器的动态响应来观察是否存在不利交互。SVC和PSS的互补性在这次仿真里得到了很直观的体现。要在实际项目中落地建议的路径是先在简化系统中完成控制参数的初步设计然后搭建多机详细模型逐步增加控制器之间的交互影响最后通过机电-电磁混合仿真或实时数字仿真RTDS平台做最终的验证。每一步的仿真时间成本会逐渐升高但每一步解决的问题也更接近工程实际。就我自己这次操作的经验来说在Simulink中做这类研究建模规范性决定了后期调试的效率而参数整定理论功底决定了仿真结果的质量上限。建议读者在跑通模型的基础上多花时间理解PSS相位补偿的计算逻辑和SVC电压调节器的响应特性这些原理层面的东西才是真正的核心竞争力。
