
做电力系统方向的研究生或者电气工程高年级的本科生大概率都绕不开这样一个任务在Simulink里搭一个单机无穷大电力系统Single Machine Infinite Bus简称SMIB仿真输电线路发生短路故障时系统的暂态稳定过程。这个题目看起来结构简单不就一台发电机加一条线路嘛但真做起来发电机组参数怎么设、短路故障模块怎么配、功角曲线怎么从输出里算出来、临界切除时间怎么扫——细节非常多。当年我为了把这套仿真跑通并且让波形干净反复改参数磨了将近一周所以今天把整个思路和实操过程完整复盘一遍希望能帮还没入门的同学少踩点坑。这套仿真能解决什么问题一句话在时域里直观看到电力系统遭遇大扰动最常见的就是短路故障后发电机转子会不会失去同步。工程上判断系统是否暂态稳定归根到底看的是发电机功角δ随时间的变化故障切除后功角经过振荡能回到一个稳态值那系统就是稳定的如果功角一直增大甚至越过失稳临界点那转子就会失去同步系统崩溃。Simulink仿真把整个过程用曲线画出来机理一目了然这也是为什么几乎所有电力系统分析课程和科研入门都拿这个例子开刀。适合谁来参考正在做课程设计、毕业设计或者刚开始接触电力系统暂态仿真、想把理论课里的等面积法则落到仿真里的同学这篇内容基本可以当一份操作手册用。下面我就按原理、建模、结果分析、排错这几个层面完整展开。1. 单机无穷大系统与暂态稳定先搞明白你在仿什么1.1 什么是单机无穷大电力系统单机无穷大系统字面上就是一台同步发电机通过升压变压器和输电线路连接到一个容量无限大的母线上。所谓“无穷大母线”可以理解为外部电网容量相对于这台发电机来说是无穷大的它的电压幅值和频率在扰动过程中始终不变相当于一个理想的电压源。这样做的好处是能把研究焦点完全集中在这台发电机的行为上——系统大了以后多台发电机之间的相互振荡、机组间的功角摆动会引入非常多复杂因素牵一发动全身反而不利于抓住暂态稳定的本质。实际工程系统当然不会真的是“无穷大”但这个假设在研究“第一摆暂态稳定”时非常实用。你可以把它理解为做力学实验时把地面当成绝对光滑、把空气阻力忽略掉一样先抓主要矛盾。很多实际工程中的稳定分析也会先把外部等值成一个无穷大母线或者戴维南等值阻抗来粗略评估一台机组的稳定裕度只是精度要求高了以后再细化多机模型。所以在Simulink里复现这个经典模型不光是教学需要在工程上也有实际对应。1.2 暂态稳定的物理过程和核心指标暂态稳定研究的扰动是比负荷波动更剧烈的大扰动最常见的就是短路故障。正常运行时发电机输入的机械功率Pm和输出的电磁功率Pe平衡转子以同步转速旋转。短路故障发生的瞬间由于系统阻抗剧变发电机输出的电磁功率会断崖式下跌——如果是机端三相金属性短路电磁功率甚至直接跌到接近零。但原动机那边的机械功率短时间内基本不变于是功率就失衡了输入大于输出多余的功率用来加速转子发电机转速上升功角δ开始增大。故障切除后线路恢复电磁功率曲线恢复但如果功角已经冲得太远减速面积小于故障期间的加速面积那系统这一摆就撑不住导致失步。这个过程对应电力系统分析教科书里的“等面积法则”判断暂态稳定就看加速面积和最大可能的减速面积谁大谁小。临界切除时间CCT是整个暂态稳定分析最核心的指标它指的是刚好能保持系统稳定的最大故障持续时间。超过这个时间再切除故障系统就会失稳。CCT求出来以后继电保护的动作时间整定就有了依据——保护动作速度必须小于临界切除时间还要留出安全裕度。2. Simulink建模全过程从元件拖拽到参数设置2.1 模型整体架构与模块选型在Simulink里搭这个模型核心思路就是按照一次系统接线图一步一步来发电机→升压变压器→双回输电线路→无穷大母线然后在某条线路的首端或者中点设置短路故障点。用到的工具箱是Simscape Electrical老版本里叫SimPowerSystems在Simulink库浏览器里找Simscape Electrical Specialized Power Systems就能看到全套电力元件。发电机模块的选择有讲究。系统要求不高时我建议直接用Simplified Synchronous Machine简化同步电机模块它忽略励磁绕组和阻尼绕组的详细动态只用暂态电抗Xd后面的暂态电势E来等效这对短路故障暂态过程来说精度已经足够而且参数少容易调。如果你想做得更细可以用Synchronous Machine pu Standard这种标准模型带上励磁系统Exciter和调速器Governor但这种模型参数多了一大堆而且励磁系统本身会影响暂态过程新手很容易在励磁参数上翻车。我做课程级别的SMIB仿真果断用简化模型把精力放在故障和稳定分析本身。其他关键元件变压器用Three-Phase Transformer (Two Windings)设置好额定容量、变比、漏抗百分比。输电线路双回线路可以用两个Three-Phase PI Section Line模块并联或者用分布参数线路模型。PI型集中参数在几十公里级别的线路上精度足够参数容易直观设置。无穷大母线这里有两种处理方式。一种是用Three-Phase Source直接搭一个电压源设置成理想电压源容量设得很大比如10000MVA接一个理想的无穷大变压器另一种是直接用一个容量极大、内阻极小的三相受控电压源等效。我实测用Three-Phase Source加大容量设置最简单波形也很干净。故障模块用Three-Phase Fault它可以设置单相接地、两相短路、两相接地、三相短路等所有短路类型还支持按时间序列控制故障发生和切除。这是整个仿真里最关键的模块后面单独讲。还有一点容易忽略所有电气元件必须通过Powergui模块来配合仿真这个模块相当于整个电气网络的求解器配置中心双击它可以设置仿真类型连续/离散、求解器算法、潮流计算和初值设置。没有Powergui整个模型根本跑不起来。2.2 Three-Phase Fault模块故障时序与类型设置Three-Phase Fault模块是整个短路故障仿真的灵魂。双击模块主要看几个设置Fault type选择故障类型。三相短路选ABC单相接地选A-G相间短路选A-B等等。从暂态稳定角度来说三相短路是最严重的工况因为电磁功率跌得最狠所以默认研究三相短路就好。Fault resistance故障点过渡电阻单位是欧姆。金属性短路直接短接设为0.001不能设0数值上会出问题如果模拟经过电弧电阻短路可以设个几欧姆。External control of fault timing是否启用外部定时。如果只是简单固定时间故障可以不勾选直接在下面的Transition time里填切换时间。如果用外部定时可以通过Step模块或Signal Builder来控制。关键的时间参数有两个故障发生时间Fault和故障切除时间Fault clearing。比如我想让系统在0.2s发生三相短路、0.3s切除那Transition time就是 [0.2 0.3]。注意这个模块是双稳态切换第一个时间是切换到故障状态第二个时间是切换回正常状态。如果你只填一个时间[0.2]那故障会一直持续到仿真结束这在研究“永久性故障”时可以这么用但研究暂态稳定和CCT时必须设置切除时间。这里有一个很常见的坑Transition time的单位是秒但很多人会直接填0.1以为这是故障持续时长。模块实际解读的是绝对时间。所以一定要算清楚如果故障持续时间是0.1s仿真从0开始而你想在0.2s发生故障那切除时间应该是0.3s填 [0.2 0.3] 而不是 [0.1]。这个搞错波形全乱。另外故障类型如果要多次切换比如单相短路转三相短路这种更复杂的场景需要用Step模块配合外部控制这在进阶研究里才会用到。2.3 关键电气参数的计算与初值设置SMIB模型的参数设置直接决定仿真波形是否真实可信。下面这份是我常用的典型参数基本参考教材里低损耗机组和线路的典型值元件参数项典型值说明发电机额定容量200 MVA三相机组容量发电机额定线电压13.8 kV机端电压发电机额定频率50 Hz国内电网频率发电机惯性时间常数 H3.5 s机组惯性大小影响摆动周期发电机暂态电抗 Xd0.3 pu简化模型用发电机同步电抗 Xd1.8 pu稳态运行计算需要变压器额定容量200 MVA与发电机匹配变压器变比13.8kV/230kV升压到高压输电电压变压器短路阻抗10%即漏抗0.1 pu输电线路长度200 km双回线输电线路单位正序电阻0.027 Ω/km典型220kV架空线输电线路单位正序电抗0.4 Ω/km典型值输电线路单位正序电纳2.8e-6 S/km容性充电功率无穷大母线电压220 kV高压侧基准电压惯性时间常数H的单位是秒它表示发电机转子在额定转矩作用下从静止加速到额定转速所需的时间H越大转子“惯性”越大功角变化越慢系统越不容易失稳。这个参数在Simplified Synchronous Machine模块里对应的是Inertia单位kg.m^2需要根据H换算或者直接用H具体看版本。还有一个容易出问题的地方功率初值。在Simulink电力系统仿真中如果要让系统从一开始就处于稳态必须先做潮流初始化。最简单的办法是双击Powergui选择Power Flow工具设置发电机的有功输出、机端电压幅值让它自动计算初始状态。Powergui的Tools Compute Initial States会在仿真前自动计算稳态初值如果没有正确初始化第一个仿真步就会出现巨大的暂态冲击波形乱得没法看。这点我建议所有刚上手的人密切关注宁可多花两分钟做一次初始化也不要让仿真从非零的“假暂态”开始。3. 实操过程与结果分析波形出来了怎么读3.1 搭建步骤和功角信号的提取方法整个模型搭建流程我按顺序捋一遍新建Simulink模型从元件库里拖出发电机、变压器、双回PI Section Line、Three-Phase Source无穷大母线、Three-Phase Fault、电压电流测量模块Three-Phase V-I Measurement、Powergui按一次接线图连好线。双击每个模块填入上面表格里的参数。注意检查发电机的额定电压、频率和变压器的变比例是否匹配线路的额定电压是否与变压器高压侧一致。把Three-Phase Fault并联在受关注的位置。最常见的是并在线路首端升压变压器高压侧出口或者线路上某一点。短路故障点加在线路首端时故障对系统的冲击最大因为剩余阻抗最小这时候故障最严重放在线路中点或者末端冲击会相对小一些。CCT会随故障位置变化这也很好理解。设置Powergui的仿真类型和求解器。这里建议用连续仿真算法选ode23tb刚性系统常用最大步长设小一点比如1e-4秒或更小确保波形平滑。添加示波器和变量输出。至少要看三个量发电机的功角δ、转子转速偏差Δω、电磁功率Pe。功角可以从Simplified Synchronous Machine模块的Rotor angle deviation (rad)输出口直接得到转速偏差从Speed deviation (pu)口拿电磁功率可以用Three-Phase Active Reactive Power模块测三相有功功率。功角信号首次提取时注意看单位。有些版本输出的转子角是相对于同步旋转参考系的电角度单位是rad或deg有些是弧度。为了方便和教科书对照可以在模型里加一个Gain模块把弧度转换成角度乘180/pi这样波形读数直观很多。机组初始功角一般不会刚好是0因为输送有功功率时功角必然超前这是正常的。3.2 典型仿真结果稳定与失稳的波形对比搭好模型、完成初始化之后跑一个0.2s发生三相短路、0.25s切除故障持续0.05s的仿真观察波形0到0.2s功角基本是一条水平直线转速偏差为零电磁功率等于机械功率系统处于稳态。0.2到0.25s功角快速增大。因为三相短路导致电磁功率骤降机端短路时几乎为零机械功率照旧输入过剩功率全在加速转子功角曲线以明显的上凸趋势增长转速偏差同步上升。0.25s故障切除后电磁功率恢复功角开始回落产生类似衰减振荡的曲线。如果故障切除得够快功角会经过几次减幅摆动后稳定在新的稳态值附近因为系统结构变了双回变单回稳态功角比原来大。转速偏差也会小幅度振荡后归零。这就是暂态稳定的画面。如果故障切除时间太长比如0.4s才切除功角在故障期间已经冲过了失稳临界点切除后功角并不会回头而是一路单调增大转速偏差也一直正向增长系统失步。此时波形一眼就能看出来功角曲线冲上几十度、上百度还不回头这种情况下仿真通常运行一段时间后会因转速偏差太大而数值发散报错停止。我第一次跑的时候把故障持续时间设到0.1s结果功角曲线直接飙到180度以上还不回头当时还以为是模型搭错了查了半天后来才意识到这就是失稳——系统已经失去同步功角曲线本来就会一直增大因为转子越转越快同步坐标下它的相对角度当然越拉越大。这个现象从原理上理解很清楚但没亲手跑过仿真的人很容易对着失稳波形一脸茫然以为模型坏了。所以看到功角暴涨、转速持续上升先别急着查模型判断一下是不是参数本来就落入了失稳区间。3.3 临界切除时间CCT的扫描方法求CCT是暂态稳定仿真最重要的定量输出。思路非常直接不断修改故障切除时间二分法逼近临界值。对一个固定故障点和固定故障类型先设一个肯定能稳定的切除时间比如0.05s通过看功角曲线衰减振荡判定稳定。再设一个肯定失稳的时间比如0.5s功角曲线单调增判定失稳。取中间值仿真判断稳定还是失稳更新上界或下界。重复几次把临界切除时间锁定到满意的精度比如±0.005s。实际操作时可以用脚本自动扫描。用sim()函数在循环里修改Fault模块的Transition time参数每次仿真完判断末尾时刻的功角变化趋势。判断稳定性的逻辑可以写成仿真结束后取功角序列如果最后一段比如仿真最后1秒功角的极差小于某个阈值而且转速偏差趋近于零判断为稳定否则失稳。我自己写扫描脚本时还加了一个保险如果功角最大值超过180度直接判失稳避免出现暂态稳定判定把“振荡不失步”和“单调失步”搞混的问题。CCT受故障位置影响很大故障点离机端越近CCT越小因为故障导致的电磁功率跌落越严重、加速面积越大。很多教材里经典的“求某线路首端三相短路时发电机临界切除时间”习题用Simulink扫描出来的结果和理论值基本吻合差别主要来自模型简化程度。把励磁、调速器都加上以后CCT会偏大一些因为励磁强励能提升暂态电势、进而提升故障切除后的电磁功率相当于增大了减速面积。这也是为什么实际系统靠保护动作但也靠励磁系统帮忙扛过第一摆。4. 常见问题与排查技巧实录4.1 仿真报错、不收敛与初始化问题Simulink电力系统仿真的报错类型不少其中我踩过最多的是下面这几种。第一类仿真刚开始就跑飞波形出现离谱尖峰或者直接报“Singularity”或“Solver could not converge”。大概率是初值没初始化好。处理方法双击Powergui选Tools Compute Initial States或者在Power Flow工具里先算一次潮流然后让模型从计算好的稳态初值开始仿真。这一步是电力系统仿真的标准操作跟普通控制系统的Simulink模型不太一样——带电气网络的模型不是从零状态开始而是从潮流解开始否则功率不守恒。第二类三相短路时电磁功率波形出现严重高频振荡。这跟输电线路的分布参数电容、变压器漏感等高频分量有关。处理办法把仿真最大步长调小到1e-5秒或者改用od23tb、ode15s这类刚性求解器必要时打开Powergui里的Discrete solver配合合适步长比如50微秒做离散化仿真。电力系统连续仿真耗时较长尤其是带分布参数线路时用离散求解器往往能大幅提速波形也不差。第三类故障切除时间设置后波形显示故障模块对系统毫无影响功角和功率纹丝不动。这多半是故障模块没有正确并接到线路上或者接地故障时故障模块的接地端子没接。Check一下故障模块是串联还是并联——短路故障一定是与被短路的部分并联跨接的接地故障一定要把模块的ground端接地。模块在模型中看起来颜色正确不代表电气连接正确有时候画线连错了节点自己看不出来这时候把线路拉开、逐个节点检查最有效。4.2 波形异常与参数调整心得功角曲线出来以后如果发现振荡不衰减或者振荡频率特别高/特别低按下面几个方向排查振荡频率异常先检查惯性时间常数H。H越大转子越“重”振荡周期越长。如果H设成了0.5s功角摆动会非常快看起来很不自然把H调到典型值2到6秒范围内波形就正常了。发电机阻尼Damping系数也很重要简化模型中阻尼系数设为零时功角振荡几乎不衰减这也是正常的物理现象想让它衰减就在模块里把Damping设为2~5 pu。功角曲线初始值不是零是正常的。稳态时发电机输送有功功角必然大于零具体数值由输送功率和总电抗共同决定。如果你把发电机有功输出设得很高接近极限输送功率初始功角就可能超过60度甚至90度这种情况下系统很脆弱很小的扰动就失稳。这对应教材里的“静态稳定极限”和“动态稳定裕度”的关系从波形上能直观感觉到。电磁功率波形在故障瞬间出现高频毛刺可以先忽略前几个周期。因为故障瞬间网络拓扑突变电气量会有一个电磁暂态过程这个时间尺度和转子运动的机电暂态差了几个数量级。我们关心的主要是机电暂态也就是功角的大趋势电磁功率波形上的毛刺只要不影响整体包络就不必太纠结。如果你用的是分布参数线路模型开断瞬间的行波效应也会在功率波形上产生振荡这是正常的不代表模型错了。4.3 如何从“能跑”到“可信”进阶校核与扩展方向模型能跑通、能扫出CCT这只是第一步。要让结果有说服力特别是写论文或者做工程分析时建议做至少两组校核。校核一跟等面积法则的理论值对比。把仿真得到的临界切除时间跟手算的CCT做对照。手算需要先求故障前、故障期间、故障切除后三条功率特性曲线P-δ曲线再根据等面积条件列出积分方程求解。Simulink仿真的好处是自动计入了全部电磁动态不需要手算积分但两者在合理误差范围内应该接近。如果差异过大大概率是某个电抗参数对不上检查发电机暂态电抗和变压器漏抗是否使用了同一套基准值。校核二不同短路类型的稳定性对比。保持其他条件不变分别做三相短路、两相短路、单相接地短路得到的CCT排序必然是三相短路最小两相短路居中单相接地最大。如果顺序反了多半是故障模块错误或零序/负序参数没设对。这个“排序感”是最快的自检方法比对着数值精打细算还管用。如果要做更贴近实际的分析可以考虑这样扩展加上励磁系统IEEE Type-I或简易AVR、调速器模型看强励对CCT的提升效果把单回线运行检修时只剩一回作为初始工况计算N-1条件下的暂态稳定裕度或者把故障点分散到线路的不同位置绘制CCT-故障位置曲线这些都能把一次简单的课程仿真升级到接近科研和工程场景的分析深度。我个人做这套仿真最大的体会是Simulink里的电力系统模型模块搭起来很快真正的门槛在参数设置和结果解读。很多人一上来就把发电机、变压器、线路参数随便填波形乱了也不知道该调哪里最后只能对着曲线干瞪眼。所以强烈建议动手之前把等面积法则、功率特性方程这些理论基础先过一遍再对照着仿真波形去理解——看那条功角曲线一秒拉高的时候你脑海里要有“加速面积大于减速面积”这个判断看它衰减回稳的时候你要能想到哪部分的阻尼在消耗振荡能量。做到这一步仿真就不是交差了它是真正帮你把电力系统暂态稳定这个概念钉进脑子里。最后再分享一个小技巧所有参数尽量不要直接在模块里裸填建议用Simulink Model Properties Callbacks里的InitFcn或者直接写个初始化脚本把参数统一管理起来。这样扫CCT时只需要改脚本里的一个变量模型跟着变不用每个模块翻来覆去地找参数。做工程仿真也好、写论文也罢一套能批量扫描、能自动判断稳定性的脚本比手动反复拖动仿真省的时间不是一点半点。