做电力系统分析的同行应该都有同感:课本里把暂态稳定讲得明明白白,等面积法则一画、临界切除时间一算,好像就完事了。可真要拿Simulink把“单机无穷大系统暂态稳定性仿真”完整跑起来,盯着两相接地短路故障时发电机转速变化的波形一条条解读,往往会在模块选型、参数配置、故障设置和波形判读上反复折腾。这篇内容就是我从零搭建这个仿真项目的全过程复盘,把模型背后的物理依据、Simulink里每个关键模块的配置方式、故障时序的设计逻辑、以及我实际调试中踩过的坑都掰开讲清楚。适合正在做电力系统暂态稳定课程设计、毕业设计,或者想用Simulink复现典型短路故障仿真的同学参考。
坦白说,这类仿真在文献里看起来就是一张系统图加几张波形图,但自己动手建模时会发现,任何一个参数不合理,转速波形都可能出现完全反物理的走势。下面按我的实际操作顺序来写。
1. 为什么单机无穷大系统是研究暂态稳定的最佳切入点
1.1 暂态稳定研究的物理本质:机械功率与电磁功率的失衡
暂态稳定研究的是系统在遭受大扰动之后,同步发电机能否继续保持同步运行的能力。这里的“大扰动”最常见的就是短路故障。要理解整个仿真,必须先抓住一个核心矛盾:发电机转子上同时存在两个功率,一个是原动机输入的机械功率Pm,一个是发电机向系统输出的电磁功率Pe。
正常稳态运行时Pm和Pe严格相等,转子以同步转速旋转,功角δ保持恒定。一旦线路上发生两相接地短路,网络结构发生变化,发电机出口到无穷大母线的功率传输能力被严重削弱,Pe会瞬间跌落。但原动机侧的汽门开度或者水门开度还来不及调整,Pm基本维持原值。这就会出现“输入多、输出少”的局面,多出来的功率全部转化为转子动能,发电机转速开始上升。转速一旦偏离同步速,功角就开始摆动,系统能不能回到新的稳定运行点,就是暂态稳定要回答的问题。
这个逻辑是所有后续分析的根基。模型可以建得很复杂,但你要盯住的永远是Pm和Pe之间的差值,以及这个差值如何在时间轴上推动转速和功角变化。
1.2 单机无穷大(SMIB)模型的简化逻辑与适用边界
单机无穷大系统由发电机、升压变压器、输电线路(通常是双回线)和无穷大母线构成。无穷大母线指的是电压幅值和频率都恒定、可以吸收或发出任意功率的理想节点,用它来等效外部大电网。
引入SMIB模型最大的价值,是把一个复杂的多节点电力网络退化成一条单功率传输通路。发电机只有一个,外部电网用一个恒压源代表,于是系统动态的核心变量只剩下功角δ,也就是发电机内电势相对无穷大母线电压的相位差。教材里推导的功率特性方程 Pe=(E'·V/XΣ)·sinδ,以及等面积法则,都严格依赖这个模型。
多机系统当然更接近实际电网,但多机系统的暂态稳定本质上是机群之间的相对功角摇摆问题,复杂度成倍上升。从学习角度,不把单机模型的稳态运行点、故障期间功率特性变化、故障切除后的减速过程吃透,直接上多机仿真只会一头雾水。所以先做SMIB不是简化过度,而是最为科学的递进路径。
1.3 为什么故障场景选两相接地短路
很多人做仿真时习惯一上来就搞三相短路,因为三相短路最严重、最直观。但工程实际中,短路故障按发生概率从高到低依次是:单相接地、两相接地、两相相间、三相短路。两相接地属于典型的不对称短路,在架空线路、电缆线路中都有较高的发生概率,而且它比单相接地更严重,又不像三相短路那样把三相对称性完全破坏,分析逻辑刚好处于“需要动用序网络但又不会过于复杂”的中间位置。
更关键的是,两相接地短路时故障点存在负序和零序分量。负序分量会在发电机转子表面感应出两倍频的负序磁场,引起转子附加损耗和发热,这在对称的三相短路里看不到。所以用两相接地做暂态稳定分析,不仅能看转速摇摆行为,还能顺带研究不对称故障对发电机的额外影响,信息量比三相短路大得多。
2. Simulink模型搭建:元件选型与参数配置全记录
2.1 用现有电力系统元件库,还是自己搭微分方程
动手之前先想清楚技术路线。Simulink里建电力系统暂态模型,两条路:一是用Simscape Electrical库里的Specialized Power Systems元件库,里面有现成的同步电机、变压器、输电线路、故障模块;二是完全用基础Simulink模块,把转子运动方程、派克方程、网络方程全部手工搭建。
我选择的是元件库路线。原因很直接:这个项目的目标是研究暂态稳定性、分析转速变化规律,而不是重新发明电力系统模型。同步电机模块内部已经封装了定子绕组电磁暂态方程、转子运动方程和磁链方程,参数对话框里填上标幺值就能工作,省去大量推导和调试时间。元件库的劣势在于参数项比较多,物理单位、标幺制混在一起容易看花眼,但只要理解了每个参数的含义,反而比自己搭方程更可控。
2.2 模型整体结构:从发电机到无穷大母线
模型拓扑就是典型SMIB结构,按顺序串联以下模块。
| 模块 | 库位置 | 主要参数 | 说明 |
|---|---|---|---|
| 同步发电机 | Specialized Power Systems / Machines | 200 MVA,13.8 kV,50 Hz,H=4 s | 标幺值凸极机模型 |
| 升压变压器 | Specialized Power Systems / Elements | 200 MVA,13.8/230 kV,漏抗10% | Yd11接线 |
| 双回输电线路 | Specialized Power Systems / Elements | 100 km,正序参数按典型值 | 每回线各用一组PI Section |
| 无穷大母线 | Specialized Power Systems / Sources | 230 kV,内阻抗极小 | 用Three-Phase Source等效 |
| 故障模块 | Specialized Power Systems / Elements | 两相接地,0.1 s投入,0.2 s切除 | 和线路并联接入 |
| 测量模块 | Specialized Power Systems / Measurements | 电压电流测量 | 送入Scope观察 |
| Powergui | 电力系统专用模块 | Continuous仿真 | 必须存在,用于潮流初始化 |
同步发电机选标幺值模型,输出转速直接是pu值,1.0对应同步转速,便于后续计算偏差。变压器高压侧中性点接地方式要注意,选择接地是为了给零序电流提供回路,这对两相接地故障的仿真结果影响很大。输电线路用PI Section模型足够,分布参数模型在100 km级别差异不大,PI模型在暂态研究中是主流做法。
无穷大母线直接用Three-Phase Source等效。内部电感、电阻要设置得足够小,这样外部系统才能表现出现电压支撑能力。如果内阻抗给大了,母线电压在故障期间会明显跌落,那就不是真正的无穷大母线了,波形会失真。
2.3 同步发电机参数设置的讲究
同步电机模块参数对话框里的每一项都对应真实物理量。项目里最需要反复调整的有三组:惯性常数H、阻尼系数D、以及d/q轴电抗。
惯性常数H直接决定转子“轻重”,标准定义是转子在额定转速下储存的动能与发电机额定容量之比。H越小,转子越轻,同样的功率差额引起的转速变化率就越大,暂态稳定性越差。我在模型里取H=4 s,这是200 MVA级汽轮发电机的典型值域,如果做灵敏度分析,可以把它从2 s扫到9 s,观察转速波形的上升斜率差异。
阻尼系数D反映了转子上的机械阻尼和电气阻尼的综合效果。有些模型允许直接填D,有些则是通过阻尼绕组参数隐式体现。如果D填0,故障切除后的转速振荡衰减会非常缓慢,实际机组由于阻尼绕组、原动机阻尼的存在不会这样。建议首次仿真保留轻微阻尼,等波形稳定后再逐步调小,观察临界状态的失稳模式。
d轴、q轴电抗参数直接影响功率特性曲线的幅值。Xd=1.5 pu左右、X'd=0.35 pu左右、X''d=0.25 pu左右是比较典型的凸极机参数。要注意的是,暂态稳定分析通常关心的是q轴暂态电抗X'd和d轴暂态时间常数T'd0,因为故障发生后电磁功率的恢复过程与它们强相关。
3. 两相接地短路故障的设置逻辑与序网分析
3.1 Three-Phase Fault模块里的两相接地配置
Specialized Power Systems里的Three-Phase Fault模块是一个可投切的三相断路器加接地开关组合。要模拟两相接地短路,需要在Fault Type栏勾选Fault A和Fault B,同时勾选Ground fault,这样A、B两相在故障时刻同时接到地,C相保持正常,构成典型的A-B两相接地故障。
时序参数Transition Times填[0.1 0.2],含义是0.1秒时故障投入,0.2秒时故障切除。这里0.1秒之前的时段是系统空载/满载稳定运行时间,用来让潮流计算和机电暂态进入稳态;0.1到0.2秒之间模拟的是短路持续期;0.2秒后的波形则是故障切除后的恢复和摇摆过程。0.1秒的故障持续时间对应的是保护装置的动作时间,现实中高压线路主保护动作时间在几十毫秒到一百毫秒左右,取0.1秒很典型。
还有一个容易忽略的细节:Fault Resistance不能填0。这个在第五章详细说,这里只强调,我用的是0.001 Ω,既保证物理上接近金属性短路,又不会让网络方程出现数值奇异。
3.2 序网络视角:两相接地故障为什么会让功率特性“塌”下去
要理解两相接地短路对发电机转速的影响,离不开对称分量法。A、B两相接地后,故障点在正序、负序、零序三个序网络里同时存在边界条件。对两相接地短路,正序、负序、零序网络在故障点处是并联关系(忽略过渡电阻时先并联再和故障阻抗串联),这决定了故障点的等效阻抗。
从发电机端往系统看,故障发生前的等效电抗是变压器漏抗加上线路电抗;故障发生后,由于负序网络和零序网络的引入,正序网络中透入了一个附加阻抗,使得从发电机看过去的系统总电抗显著增大。功率特性方程Pe=(E'·V/XΣ)·sinδ中XΣ变大,意味着同样的功角δ下能传输的电磁功率大幅下降,功率特性曲线整体被压低。
这就是故障期间Pe骤降的根本原因。理解这一步,就不需要死记结论,只要看一下序网的并联结构,就知道为什么两相接地比三相短路的功率特性降得少一些,但比正常运行低得多。故障切除后,负序零序通路消失,XΣ恢复到故障前水平,功率特性重新抬升,减速面积开始起作用。
3.3 故障切除方式与保护时序的对应关系
故障切除在模型里有两种做法,结果差异很大。做法一是故障模块在0.2秒断开,但输电线路仍然完整,系统回到故障前的拓扑;做法二是用断路器模块把故障线路整体跳开,相当于永久性故障后的线路切除,系统网络结构永久改变。
我这次做得是第一种,也就是等面积法则教材里的经典设定:故障点在0.2秒消失,所有线路保持不变。这种情况下,故障切除后的功率特性曲线完全恢复到故障前水平,减速面积最大。如果要模拟“线路跳闸后单回线运行”,则需要用Breaker把其中一回线断开,并考虑跳闸后XΣ增大、功率特性低于故障前,暂态稳定性会明显变差。两种设定没有对错之分,对应的是不同的工程场景,但解读波形时一定要清楚自己用的是哪种。
如果想把故障持续时间变成变量反复扫,可以把Transition Times里的0.2改成工作区变量,比如tf,然后在脚本里用for循环调用sim命令批量仿真。我习惯的做法是先让0.1秒作为固定故障投入时间,然后把切除时间从0.11秒逐步增加到0.18秒,观察转速波形的失稳边界,这个思路第4章会展开。
4. 转速波形的全过程解读与稳定性判据
4.1 无故障基准仿真:先证明模型本身正确
做故障仿真之前,一定要先跑一遍无故障基准工况。具体做法是把故障模块的Transition Times改成[10 10],也就是仿真时间内不投入,或者干脆把故障模块从通路中断开。此时观察发电机转速,应该是恒定的1.0 pu,输出功率和功角稳定在由潮流计算决定的初始值上。
这一步不是走过场,而是排查模型问题的最高效手段。我在这个环节遇到过功角缓慢漂移的情况,后来发现是潮流初始化时发电机的机械功率初值和电磁功率没对齐,导致仿真一开始转子就有微小的不平衡转矩。基准工况能稳定运行,后面故障仿真的所有异常才值得分析和解读。
4.2 故障发生后转速变化的三个阶段
接上故障模块后,转速波形可以清晰地分成三个阶段来读。
第一阶段是0到0.1秒的稳态段,转速保持在1.0 pu附近,波形是一条平滑直线。
第二阶段是0.1到0.2秒的故障段。故障瞬间,电磁功率Pe突然下降,机械功率Pm来不及变化,净加速转矩出现,转速开始从1.0 pu往上爬。爬升的斜率由两个因素决定:一是Pe跌落的深度,也就是功率特性被压低的程度;二是惯性常数H的大小。H越小、加速功率越大,波形就越陡。这个阶段转速不会立刻大幅跳变,因为转子有惯性,但0.1秒的故障时间里转速已经积累了明显偏差。
第三阶段是0.2秒后的恢复段。故障切除后,Pe恢复,此时功角δ已经比故障前增大了不少。如果此时电磁功率超过机械功率,转子开始减速,转速先是一段上升惯性带来的冲高,然后回落越过同步速,产生类似过阻尼/欠阻尼的往复振荡,最终在阻尼作用下稳定在1.0 pu附近。如果故障时间过长,转速则表现为单调上升,不再回头。
读这一段波形时要注意一个细节:转速曲线在故障投入和切除瞬间,可能会出现非常窄的高频毛刺,这是电磁暂态和开关切换引起的,不是模型出错,第5章会详细说怎么处理。
4.3 转速和功角:两种判断稳定性的角度
转速波形只能提供一个方向性判断:最终回到1.0 pu基本就是稳定的,持续偏离就是失稳。但更精细的稳定性边界,要靠功角δ的摇摆曲线来判断。
获取功角的方式:同步电机模块输出中有一个转子角度信号,另一个是无穷大母线电压的相角,两者做差得到功角。有些版本的电机模块直接输出Machine Power Angle(功率角),可以直接引出。如果只能用电压测量模块获取母线电压相角,需要注意相位是以哪个参考点为基准的,建议用PLL锁相环锁定母线电压相位信号,和机械转子角信号一起送入示波器。
功角判据的含义是:SMIB系统在给定机械功率Pm下,功率特性曲线与Pm水平线有两个交点,左侧的是稳定平衡点δs,右侧的是不稳定平衡点δu。故障期间转子加速,功角向右摆动,如果功角越过了δu,即使故障切除后电磁功率大于机械功率,累计的减速面积也已经不足以抵消加速面积,系统必然失步。所以看功角曲线上是否逼近甚至穿越δu,比单纯看转速更接近本质。
4.4 故障持续时间扫描:估算临界切除时间
为了把这个仿真从定性变成定量,可以做一组简单的参数扫描。固定故障投入时间0.1秒不变,把切除时间从0.11秒逐步增加到0.18秒,每次记录转速曲线的形态和功角最大值。
| 故障切除时间 | 转速特征 | 稳定判断 |
|---|---|---|
| 0.11 s | 转速小幅波动后快速回到1.0 pu | 稳定 |
| 0.13 s | 振荡明显,约2个周期后收敛 | 稳定 |
| 0.15 s | 第一摆功角逼近不稳定平衡点,回落缓慢 | 临界 |
| 0.17 s | 转速持续上升,不回到同步速 | 失稳 |
在项目这套参数下,临界切除时间大致在0.14到0.16秒之间。这个数值和用等面积法手算的结果可以做对照。手动算加速面积、减速面积,应该能落在同一个区间,二者互相验证。这个过程做完,对“临界切除时间”这个概念就不再是背定义,而是真正有了直观认识。
5. 反复踩坑后的实用调试经验
5.1 初始化失败:多半在潮流计算这一步
Simulink里电力系统模型运行前,Powergui会先做潮流初始化,这一步经常报错。最典型的情况是Infinity bus或Synchronous Machine的初值不给合理范围,潮流不收敛。我之前遇到过一次,把发电机功率设为满载、但无穷大母线电压初值相位和变压器联结组号不匹配,一运行就初始化失败。
解决套路是:先把发电机出力调小、把变压器分接头设为默认,让系统在一个非常“轻载”的状态下完成初始化,再逐步增加出力观察稳态波形。还有一个经验:线路长度如果从100公里改成200公里,末端电压会明显降低,导致潮流初始化困难,先短后长的做法可以快速定位是线路还是电源的问题。
5.2 求解器与最大步长:不连续点怎么控制
故障投入和切除本质上是网络拓扑的突变,Simulink里的变步长求解器在开关切换时刻容易出现步长收缩和数值振荡。我对比过几种求解器配置,最终稳定使用的是ode23tb,最大步长限制在1e-4秒量级。如果用ode45这种显式非刚性算法,故障瞬间容易出现波形尖峰、甚至积分失败。
还有一点容易忽略:Powergui的仿真类型选择Continuous时,不要同时在模型里混入离散模块,这会导致状态更新不同步。如果非用离散模式跑不可,步长选50微秒以内比较稳妥。转速信号这种低速机电量,用连续仿真是最省心的。
5.3 故障电阻为什么不能填0
不少第一次做故障仿真的同学会在Fault Resistance里填0,结果一运行就报矩阵奇异或者波形上出现超高幅值尖峰。原因很简单:理想短路点阻抗为零,故障支路电流趋向无穷大,数值求解会碰到病态矩阵。工程上实际电弧总有一定电阻,取0.001到0.01欧姆既不影响短路特性的物理规律,又能保证数值稳定。不要为了追求所谓“理想故障”而死磕0值,这既不真实也不必要。
5.4 转速波形上的“毛刺”和数值振荡的辨别
和同步电机转速信号打交道时会发现,波形在故障投切瞬间出现一个极窄的高频脉冲,很多初学者把这个当成了转速真实突变,甚至据此得出“发电机瞬间加速到失步”的错误结论。这个脉冲主要来自两部分:一是开关切换瞬间的电磁暂态,二是数值积分在间断点附近的暂态误差。
辨别方法很简单:把最大步长从1e-4改成1e-5,重新仿真同一工况,如果脉冲幅度变化不大,说明是真实的电磁暂态高频分量;如果幅度明显变小,那就是数值振荡。机电暂态分析的频带在0.1赫兹到几赫兹之间,这些高频分量本来就不在该研究的频段内,可以在示波器前串联一个一阶惯性环节做低通滤波,比如1/(0.01s+1),就能看到干净的转速摇摆曲线。
这套仿真完整走下来之后,我最大的感受是:课本上那些等面积法则、临界切除时间,第一次以“会变化的曲线”形式活生生出现在眼前。故障期间的加速、切除后的减速往复、越过临界点后的失步过程,全都在转速波形上留下了清晰的痕迹。后来我又顺手把故障类型改成三相短路、把双回线改成单回线,对比同一故障时长下的转速上升斜率,对暂态稳定的直观理解比翻十遍书都管用。如果你也准备做类似仿真,别急着追求复杂的多机模型,先把单机无穷大系统这一条链路跑透,把波形里的每一个拐弯都解释清楚,再去扩展你的系统规模。