☰
MATLAB Simulink下2机5节点系统PSS与SVC暂态稳定仿真分析
2026/10/3 3:34:21 网站建设 项目流程

大概三年前,我第一次在MATLAB Simulink里搭2机5节点系统做暂态稳定性仿真时,遇到一个特别有意思的现象:同样的三相短路故障,不加任何控制时功角直接摆开失步,加上PSS之后振荡明显收敛,但电压跌落深度几乎没有变化。后来把SVC接在中间母线,首摆幅度立刻小了一截。那一刻我才真正理解,励磁系统和无功补偿装置在暂态稳定里扮演的是完全不同的角色。

这套基于MATLAB Simulink平台的2机5节点系统暂态稳定性仿真,研究核心是PSS(电力系统稳定器)和SVC(静止无功补偿器)对系统暂态稳定性的影响。对于刚接触电力系统动态仿真的学生、刚入职的调度或规划工程师,以及在考虑风机、储能接入后要不要加装稳定控制装置的同行,这套模型都是一个非常合适的起步对象。本文不打算重复教材里的公式推导,而是按我自己从建模到调参再到结果分析的完整路径,把那些文档上查不到、但特别容易让人卡壳的细节全部摊开讲。

1. 2机5节点系统为什么值得认真对待

很多初学者一听"2机5节点",第一反应是"这也太小了,能代表什么?"恰恰相反,这个规模的系统在暂态稳定研究里有不可替代的位置。IEEE 9节点、39节点这些经典系统确实更接近实际电网,但对研究单类控制器的作用机理来说,信息过于混杂,模式太多,你很难说清楚某个波形变化到底是PSS的功劳还是别的环节在起作用。2机5节点正好处在"简化到还能保留物理本质"的临界点上,是一个兼顾信息量与可解释性的好选择。

1.1 麻雀虽小五脏俱全:系统拓扑与参数基准

我平时搭建的这个参考模型,拓扑大致是这样:两座发电厂分别通过升压变压器接入高压母线,两条线路经过中间负荷母线相连,另外还有一到两个纯负荷节点。G1负责把功率从左侧送往右侧,G2是受端平衡机,两机之间有一条主要的功率传输断面。

这不是拍脑袋定的结构,它在拓扑上复现了电力系统中最基本的矛盾——"功率要通过有限断面远距离传输,一旦网络结构因故障发生改变,送受端转子必须重新找平衡"。在研究单机无穷大系统时,系统只有一台机器的摇摆方程,体现不了两台机之间的相对摆动;而三机及以上时,系统会出现多机电振荡模式叠加,分析控制器效果时很难解耦。双机系统刚好产生一个占主导地位的机电振荡模式,PSS和SVC对阻尼的影响可以非常直观地用功角差曲线反映出来。

参数精度按照标幺值统一处理。发电机我设置容量为100MVA,额定电压13.8kV,变压器升压到230kV,线路单位长度阻抗取r=0.01pu/km、x=0.1pu/km,基准值都归一到100MVA容量下。这个过程的坑在于,Simscape Electrical里的三相变压器、线路模块默认参数单位与标幺值不一致,需要在对话框里手动换算。换算出错时,最典型的现象是潮流结果跟手算对不上,或者仿真一开始各母线电压就明显偏低/偏高。

1.2 三个贯穿始终的判断指标

研究暂态稳定性不能光看曲线好不好看,我习惯从三个指标切入,这套2机5节点仿真项目里也一直用这三个数字评价控制器效果:

  • 功角差δ1-δ2,这是暂态稳定最核心的判据。系统受扰后如果两机功角差持续增大、越过不稳定平衡点,那就判定为失步;如果经过几次摆动后收敛到一个稳态值,说明系统仍是暂态稳定的。
  • 关键母线电压跌落深度与恢复速度。尤其是中间传输母线,故障切除瞬间电压回不到0.8pu以上往往会连锁引发负荷低电压脱网,这在工程上属于暂态电压稳定范畴。
  • 机电振荡的阻尼水平,常用阻尼比ζ表示。PSS的主要作用就是把这个比值从接近零甚至负数拉回正值,对应波形上就是功角振荡不再"等幅晃"而是"越晃越小"。

这三个指标跟后面的PSS、SVC直接挂钩:PSS主要影响第三个指标,SVC主要影响第二个指标,而两者配合得好,才会对第一个指标产生明显的协同改善。这就是我把它们放在一起研究的意义所在。

1.3 这套仿真究竟能回答哪些工程问题

很多仿真的问题在于"做完了也不知道在回答什么"。这套2机5节点模型至少能回答四个非常具体的工程问题:

  • 在某个输电断面上,如果发生三相短路并切除故障线路,现有励磁系统会不会导致功率振荡发散?
  • 加装PSS后,系统阻尼比从多少提升到多少?对首摆稳定裕度有没有帮助?
  • 在断面中间节点加装SVC,故障期间母线电压最低点能被抬升到什么水平?无功容量需要多大?
  • PSS和SVC同时投运时,两者会不会互相干扰,参数怎么协调?

这些问题是实际电网规划里经常遇到的,2机5节点模型给了你一个低成本、可重复、参数可控的试验环境。在有这个模型之前,我见过太多同行直接拿实际电网数据开跑,结果光是把数千条母线数据调到一个潮流收敛状态就耗掉半个月,而真正用来研究机理的时间反而没有多少。

2. Simulink建模落地:从单线图到可以跑稳的框图

建模这一步理论上应该是最机械的工作,实际上也是初学者弃坑率最高的环节。很多人在MATLAB里画完了模型,一按运行,波形要么爆表,要么一开始就在振荡,根本进入不了稳态,更谈不上故障研究了。这里面的根源大部分不在模块本身,而在模型选型和初值处理。

2.1 模型选型:成熟电力库还是自定义方程

Simulink里做电力系统动态仿真有两条路线。一条是用Simscape Electrical里的Specialized Power Systems库(旧版叫SimPowerSystems),里面有现成的同步发电机、励磁系统、变压器、分布式线路、三相断路器、故障模块;另一条是基于Simulink普通模块自己搭微分方程,比如用积分器实现摇摆方程。

对于2机5节点暂态稳定仿真,我强烈建议优先走Simscape Electrical路线。原因很直接:发电机内部的电磁转矩、定转子磁链、励磁绕组动态,这些环节用自定义方程搭很容易出现代数环和初值不匹配问题,而电力库里的同步电机模块已经把这些细节封装好了,内部参数与电机dq轴模型一一对应,填标幺值就能用。SVC在库里没有完全对应的现成模块,但是TCR、固定电容、触发控制这些部件都可以用库里的元件搭出来,或者参考STATCOM模块的结构改造,工作量是可控的。

2.2 发电机、励磁和网络参数的衔接细节

发电机模型的选择取决于你要研究什么。如果只关心首摆稳定性,经典二阶模型(恒定内电势加摇摆方程)足够用;但如果要研究PSS,经典模型就不行了——因为没有励磁系统,PSS根本无处安装。PSS研究至少要采用IEEE三阶实用模型,即考虑励磁绕组动态、同时带电压调节器;要更精确地反映阻尼绕组效应,就用六阶模型。

我在这套系统里用的是三阶模型加IEEE ST1A型励磁系统,因为ST1A响应速度快,在PSS相位补偿设计里是经典的搭配对象。主要参数我设置为:发电机惯性常数H=4.0s,暂态电抗Xd'=0.3pu,励磁机电抗和时间常数按ST1A典型值填入。变压器与线路模块使用三相π型等值,模拟一条双回输电线路时,直接并联两个相同的线路模块即可。

特别提醒一个细节:发电机模块参数页里的初始状态(Initial conditions)有三个输入——初始功角、初始转速偏差、初始励磁电压。如果你在这一步随便填,仿真启动后电力系统会经历一个剧烈的"非真实动态",必须等到它自己衰减到稳态才能做故障实验。实际做法是先做潮流计算,再把这些初值反推出来填进去。

2.3 潮流初值才是仿真不发散的命根子

这是整个建模环节里我最想强调的一件事。即使你模块参数填得再正确、拓扑连接无误,潮流初值不对,仿真照样跑不顺。原因在于,同步电机模块启动时会根据你填的初值计算初始转子位置和内部电势,如果与发电机实际输出功率不匹配,电磁转矩和机械转矩之间就会有一个巨大的差额,转子瞬间加速或减速,波形直接飞出去。

求初值的标准流程是这样:先把网络接成正常态,在MATLAB里调用Powergui模块的Load Flow工具,设置发电机的有功出力和机端电压幅值,负荷节点设恒功率,运行潮流计算。然后从潮流结果里读出每台发电机的功角、机端电压、无功出力,再把这些值填回同步电机模块的Initial conditions里。负荷节点也要做同样处理,恒阻抗、恒电流还是恒功率负荷模型会直接影响潮流雅可比矩阵的收敛性。

提示:故障切除后网络拓扑发生了变化,原来那组潮流初值不再对应新的稳态,但这并不影响暂态仿真的正确性。因为暂态稳定研究本质上考察的是"系统从一个已知稳态受扰后能否过渡到另一个可接受的稳态",初始稳态只需在故障前成立即可。仿真开始后前1秒里波形应该是一条水平直线,说明初值给对了;如果开机瞬间就有明显波动,优先排查初值。

3. 故障设计与扰动场景:把暂态稳定问题"逼"出来

模型跑稳定之后,下一步是设计扰动场景。暂态稳定研究一定要有"故障前—故障中—故障后"三个阶段的清晰划分,初学者常犯的错误是故障还没切除就急着看结果,或者切除后没有把被切掉的线路从拓扑里真正移除,导致仿真结果四不像。

3.1 三相短路与单相故障各有各的考法

三相短路是考察暂态稳定最严酷的条件,因为故障瞬间三相对称,功率传输能力几乎降为零,发电机输出电磁功率骤降,转子加速最剧烈。所有PSS和SVC控制器的效果对比,我都会先做一组三相接地短路实验,观察1s内功角摆开多少、能否回到稳定。

但实际电网中三相短路的概率远低于单相接地,单相故障才是运行人员常年要处理的东西。为了更贴近工程实际,我会再补一个单相接地故障场景,对比两种故障下的稳定裕度差异。单相故障由于非故障相还能继续传输部分功率,系统相对更容易稳定,PSS和SVC的改善效果也相对温和,但更能反映控制器在"不极端工况"下的日常表现。

3.2 时序控制:用脚本精确切断,而不是手忙脚乱

故障时序控制我用的是MATLAB脚本配合Simulink的断路器模块。首先给三相断路器模块设置外部控制输入,再用一个Step时间序列信号或者直接在脚本里用sigbuilder生成控制逻辑。故障时刻设为1s,故障持续0.1s,在1.1s切除故障线路。

如果要做多组工况对照,我强烈建议写一个循环脚本,而不是每次手动改Simulink里的模块参数。脚本核心逻辑大概是:

% 定义故障与切除时间 t_fault = 1.0; % 故障起始时刻 t_clear = 1.1; % 故障切除时刻 % 通过set_param修改断路器控制信号的时间序列 set_param([bdroot '/Three-Phase Fault/Fault timing'], 'Time', ... mat2str([0 t_fault t_clear 20])); set_param([bdroot '/Three-Phase Fault/Fault timing'], 'Before', ... mat2str([0 0 1 1])); set_param([bdroot '/Three-Phase Fault/Fault timing'], 'After', ... mat2str([0 1 0 0])); % 运行仿真 simOut = sim(bdroot, 'StopTime', '20');

这个思路的好处是,整套对比实验中只有故障时刻和控制器增益参数在变化,其余配置保持一致,结果可比性很强。

3.3 等面积法则:理解稳定裕度的几何直觉

很多教程把等面积法则放在公式推演里,我更喜欢把它当作理解PSS和SVC贡献的几何工具。故障期间发电机电磁功率骤降,功角从初始值开始加速增大,这个阶段对应加速面积;故障切除后,系统功率传输能力恢复,转子开始减速,减速面积如果能够抵消加速面积,系统就是暂态稳定的。

PSS改变的是振荡过程中的阻尼转矩分量,它不直接改变加速面积和减速面积的比值,但对首摆后的每一次摆动都"踩刹车",让系统更快收敛。SVC的作用更直接:故障期间向系统注入无功,抬高关键母线电压,等效于提高了故障切除后的功率传输极限,增大了最大可能的减速面积。这也是为什么SVC对首摆稳定裕度改善明显、而PSS对后续振荡衰减贡献更大的根本原因。理解了这一点,你在看后面章节的波形对比时就会非常清晰。

4. PSS建模与整定:给振荡"踩刹车"的正确姿势

PSS是暂态稳定仿真里最容易"看着简单、做起来翻车"的模块。常有人直接在励磁系统上搭一个增益很大的反馈,结果不但没阻尼振荡,反而把系统搞得更糟。要调好PSS,得先理解它到底在补偿什么。

4.1 励磁高增益带来的负阻尼问题

现代励磁系统为了维持机端电压恒定,普遍采用高增益快速励磁。但快速励磁在电压环带宽内会引入一个不利的附加效应:转子转速变化引起功角变化,进而引起机端电压变化,励磁系统响应后又反过来作用到电磁转矩上,这个回路的等效阻尼在低频段往往是负的。换句话说,励磁系统在按电压控制的同时,悄悄把转子振荡的阻尼"偷走"了一部分。

系统阻尼变成负值,遇到扰动后振荡就会等幅甚至增幅发散。PSS的作用就是检测到转子转速或功率的振荡成分,在励磁电压给定端迭加一个经过相位校正的附加信号,产生的附加电磁转矩恰好补偿掉负阻尼,把阻尼比拉回正值。

4.2 输入信号、相位补偿与经典传递函数

PSS的输入信号我试过转速偏差Δω、功率偏差ΔPe和频率偏差Δf三种。转速信号最常用,因为它和转子运动方程直接对应,阻尼转矩的物理意义最清晰。功率偏差信号在工程中也常用,但要注意汽轮机等场景下的"反调"问题,避免功率升高时误触发反向调节。如果要做更细致的对比,可以考虑PSS2B双通道结构,它同时利用转速和功率信息,综合效果更稳,但参数也更多,不适合第一次上手。

经典PSS传递函数由三个环节组成:隔直环节(washout)、超前滞后环节、增益。隔直环节是个高通滤波器,作用是把稳态时的PSS输出清零,只让振荡信号通过;超前滞后环节负责相位补偿,把叠加到励磁参考端的信号调整到合适的相位;增益则决定补偿深度。我最初用的一套参数是:washout时间常数取2s,超前滞后时间常数各取0.05~0.5s之间,增益从5开始往上调。

4.3 用扫频和波形观察逼近最优增益

参数整定不能靠猜,我的标准流程分三步。第一步,在无PSS情况下对系统施加一个小扰动,通过FFT或Prony分析识别出主导振荡频率,2机5节点系统通常在0.8~2Hz之间。第二步,在该频率下计算励磁系统加发电机GEP传递函数的相位滞后,然后把超前滞后环节设置在相反方向,使得在振荡频率点附近PSS附加转矩与Δω同相位。第三步,从增益K=3开始逐步增大,每调一档就做一次三相短路仿真,观察功角曲线和机端电压波形。

一个很实用的判断基准:增益偏小时,振荡次数偏多但都收敛;增益合适时,第一次摆动后振荡基本上两三个周期内衰减到很小;增益过大时,端电压波形上会出现高频纹波,甚至正常情况下就出现持续振荡。看到电压波形"抖"起来,说明增益已经过头了,退回到不抖的那个值再留一点裕度。

注意:在这套仿真里,接入PSS后首先要确认的是1s故障前那段稳定运行期,PSS输出应该恒为零。如果PSS在稳态时还有输出,说明washout环节时间常数选得太大或输入信号里混入了直流分量,这个必须优先排查,因为故障前的稳态被破坏后,后面所有故障波形都不可信。

5. SVC的动态支撑:从稳态调压到故障期电压支撑

SVC在电力系统里不算新概念,但建模仿真的细节不少人处理得不到位。尤其容易忽略的是,SVC的暂态支撑能力与其控制回路的快速性直接相关,参数慢了,故障期间根本来不及输出无功。

5.1 TCR加固定电容:SVC的基本结构

我搭建的SVC模型采用经典TCR加固定电容(FC)结构。TCR部分是一个晶闸管控制电抗器,通过改变晶闸管触发角来连续调节等效电感吸收的无功;FC提供固定的容性无功。两者并联后,SVC对外呈现的等效导纳可以在容性与感性之间连续调节。触发角越接近90度,TCR电感电流越小,SVC对外越呈容性;触发角越小,电感电流越大,对外等效越呈感性。

把这个结构放进Simulink,可以用库里的晶闸管模块和电感电容元件搭详细模型,也可以做平均值模型——用一个受控无功源代替详细的晶闸管开关过程。对暂态稳定级别的仿真,平均值模型足够,而且仿真速度会快很多,重点观察的是SVC注入到母线的无功功率和电压支撑效果,而不是晶闸管开断的微观过程。

5.2 电压调节器与斜率特性的参数设置

SVC的电压调节逻辑本质上是一个闭环:测量母线电压VSVC,与参考电压Vref比较,误差经过PI或比例调节后得到等效电纳指令Bref,再经过一个一阶惯性环节模拟触发与控制延迟,最终作用于SVC输出无功。调节器响应时间一般在50~100ms,对应一阶惯性时间常数取0.02~0.05s比较合理。

一个特别容易踩坑的参数是斜率特性。SVC的电压-电流特性不是一条完全垂直的线,而是带有斜率(droop),表示电压每变化一个百分点,SVC无功输出变化多少个百分点的无功电流。斜率太小,SVC对电压硬支撑,但容易与邻近发电机的自动电压调节器发生抢调;斜率太大,电压支撑能力就会变弱。工程上斜率一般取2%~5%,我在2机5节点模型的中间母线节点用3%,效果比较稳妥。

SVC安装位置对暂态支撑效果影响极大。我做过对比实验:把同样参数的SVC放在送端机端母线和放在中间传输母线,故障期间电压最低点相差约0.1pu。道理不复杂,故障造成电压跌落最严重的地方通常位于传输断面的电气中点,SVC只有放在电压跌落最深处,才能在故障切除后有效地把暂态功率传输极限拉上来。

5.3 调制信号:让SVC也参与振荡阻尼

SVC如果只做电压调节,对首摆稳定有用,但对后续振荡的阻尼贡献非常有限。解决方法是引入附加阻尼调制信号——在电压调节器的参考电压上叠加一个与某些反映振荡状态的信号成正比的调制量,比如两机之间的转速差或线路有功功率偏差。我在这套模型里取的是线路功率偏差ΔP,经过一个隔直环节和一个增益Kmod后叠加入SVC的Vref输入。

这里就出现一个有意思的协同问题:SVC的调制信号和PSS的输入信号如果都取自同一类振荡量,两者会不会互相抢"功劳"?答案是,只要控制带宽不重叠,各司其职就没有问题。PSS作用在励磁系统上,带宽通常在0.5~2Hz的机电振荡频段;SVC电压环带宽比较低,调制环节恰恰利用了这个带宽空隙。如果SVC调制增益取得过大,在振荡频率附近和PSS的正阻尼叠加,常常会因相位配合不当反而削弱阻尼。Kmod一般从5开始,观察功角衰减速率,不超过PSS增益的一半,是一个比较保守但安全的经验值。

6. 联合仿真结果对比与实操复盘

前面该铺垫的原理和建模细节都讲完了,这一节集中展示我怎么组织对比实验、怎么解读结果,以及把这套模型从"能跑"做到"可信"的过程中,反复遇到的那些问题。

6.1 四种控制配置下的关键曲线对比

我固定故障场景为:1s时中间母线发生三相短路,故障持续0.1s,1.1s切除故障线路,仿真总时长20s。控制配置分四组:无附加控制、仅投入PSS、仅投入SVC、PSS与SVC同时投入。

四组结果最直观的区别在功角差曲线上。无控制时,功角差在第一次摆动后持续增大,越过不稳定平衡点,判为暂态失稳。仅投入SVC时,首摆幅度明显收窄,稳定性从"失步"恢复为"临界稳定",但后续还有几次衰减很慢的等幅摆动。仅投入PSS时,首摆幅度跟无控制相比改善不大,但第一个摆峰之后振荡衰减快得多,波形呈现明显的收敛包络线。两者同时投入时,既能看到首摆被SVC压住,又能看到后续振荡被PSS快速衰减,系统在5秒内基本上就恢复了平静。

关键母线电压的对比更有意思。SVC投入后,故障切除瞬间母线电压立即回到0.8pu以上;仅PSS投入时,稳态电压恢复速度几乎与无控制时一样,PSS对电压恢复没有直接帮助。这个对照直观地说明了标题里"PSS与SVC对系统……"这句话的完整含义——两者的作用维度是不同的,不能互相替代,在工程设计中往往是搭配使用而不是二选一。

6.2 PSS与SVC的交互检查与参数协调

同时投入两种控制器的风险在于交互,我踩过一次比较典型的坑:PSS增益和SVC调制增益同时增大到一定程度后,功角振荡频率附近出现了一个新的弱阻尼模式,表现为故障后波形出现"拍频"效应,收敛反而变慢。

排查思路是这样:先单独投入PSS,确认它单独作用时阻尼比在5%以上;再单独投入SVC,确认单独作用时首摆和电压指标都达标;最后同时投入,如果发现综合结果不等于两者单独效果的"叠加",就要逐一检查两个控制器在同一频段内的相位。我最终把PSS增益从15降到10,把SVC调制增益从12降到6,两个控制器在振荡频段的总阻尼依然充足,但拍频现象消失。这件事让我记住一个原则:同频段内正阻尼不是越多越好,两个控制器相叠加时,相位裕度要留出来。

6.3 新手翻车最多的五个细节

最后把这套模型调试过程中最常见的故障现象和原因列出来,你可以直接对照排查:

现象主要原因处理办法
仿真一开始波形就剧烈振荡发电机初始功角/励磁电压初值填错用Powergui潮流工具求初值后回填
故障时刻后波形突变但无法恢复故障切除后网络拓扑未更新检查断路器在1.1s是否真正打开、双回线是否保留
电压恢复极慢但功角已稳定SVC调节器惯性时间常数过大将一阶惯性时间常数降到0.02~0.05s
PSS投入后端电压持续抖动PSS增益过大进入边界振荡按0.7倍临界增益设置
仿真速度极慢或出现代数环报错SVC详细晶闸管模型与网络形成刚性系统改用平均值模型,或调整求解器为ode23tb并降低容差

第五条的刚性问题也值得多说一句。如果坚持用详细晶闸管模型做SVC,Simulink求解器很容易因为开关事件的频繁动作而陷入极小的步长,20s的仿真可能跑上几十分钟甚至报错。平均值模型虽然在触发角暂态细节上有偏差,但对暂态稳定层面的功角、电压、无功曲线完全足够,仿真时间能缩短一个数量级。我后面所有参数对比实验都是在平均值模型上完成的。

做这套2机5节点系统的暂态稳定性仿真,我最大的体会是:仿真的价值不在于把曲线画得多漂亮,而在于你能不能从曲线里读出控制器在系统里究竟起到了什么作用。PSS把阻尼带回来,SVC把电压撑住,两者配合把稳定裕度和动态品质同时提上去。如果你现在正准备在自己的项目里搭类似模型,建议第一步别急着加密控制器参数,先把无控制时的故障场景跑通、把潮流初值调准、把故障时序理清楚。前三步做扎实了,后面调PSS和SVC的参数会顺利得多。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询