十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

10机39节点Simulink建模与暂态稳定仿真指南

10机39节点Simulink建模与暂态稳定仿真指南 1. 10机39节点到底是什么为什么教科书和论文都爱用它1.1 从新英格兰测试系统说起如果你做电力系统方向的研究或课程设计一定绕不开 IEEE 39 节点系统也就是常说的 10 机 39 节点系统。很多人第一次看到这个名称时会有一种错觉是不是随便找了个 39 个节点的电网来跑仿真其实不是。这个系统有一个真实背景它来自 20 世纪 70 年代对新英格兰地区美国东北部输电网络的简化等值所以很多英文资料里直接叫它 New England Test SystemNETS。当年研究人员做稳定性分析时既不能拿整个新英格兰电网直接做实验也不能只看单机无穷大那种过度简化的模型于是就把真实电网中的关键机组、关键输电断面和负荷节点保留下来简化成一个 39 个母线、10 台发电机、若干变压器和输电线路的标准测试系统。后来这个系统被广泛用于暂态稳定分析、低频振荡研究、保护策略验证、广域测量系统算法验证等方向成为论文里出现频率最高的“标准算例”之一。我最早接触它是在读研做暂态稳定课题时导师直接丢了一句“你先把 10 机 39 节点系统在 Simulink 里搭出来跑通再说”。那时我对这个系统的理解也很浅以为无非是多拖几个同步发电机模块、连上线就行。真正动手后才发现搭模型只是一个环节前面还有参数整理、潮流初始化、模块选型、故障设置、结果判定这一整条链路每一步都有坑。1.2 “10机”和“39节点”分别指什么先把这个系统的结构说清楚。所谓 39 节点是指系统里有 39 条母线Bus母线编号通常为 1 到 39。但这 39 条母线并不全是高压输电母线其中也包含发电机机端母线。所谓 10 机就是有 10 台同步发电机分别接在部分母线上。要注意不是每个发电机都单独占一个新节点有的发电机母线本身就是系统里的一个节点编号。在这 10 台发电机中通常选取接在 39 号母线附近的一台机组作为平衡机参考机其余机组作为 PV 节点机参与潮流调节。实际做仿真时系统的基准容量一般取 100 MVA基准频率为 60 Hz这是美国系统的特征也是很多中文教材直接沿用而不额外说明的地方。如果你在做毕设或课程报告一定要在开头注明基准容量否则后续所有标幺值都对不上。系统内部的负荷也不是单一类型。很多版本的数据会把负荷分成恒功率、恒电流、恒阻抗三部分的组合或者用 ZIP 模型描述。做潮流计算时一般按恒功率处理但做动态仿真时如果还把负荷当成恒功率在某些电压跌落严重的情况下结果会偏保守想要更贴近实际可以在 Simulink 里用三相动态负荷模块把 ZIP 模型搭进去。1.3 这个系统适合做什么不适合做什么它在学术和工程中的定位是“标准测试平台”不是“真实电网的精确复刻”。也就是说只要你的算法、控制策略、保护方案能在这个系统上跑出预期效果审稿人和评审专家通常会认可你的方法具备在更复杂电网上推广的潜力。适合做的方向大致有这几类暂态稳定分析比如三相短路、单相接地故障后的功角摇摆曲线判断。小于扰稳定与低频振荡分析可以研究区间振荡模式。励磁系统、PSS电力系统稳定器参数设计与协调。广域测量、同步相量算法的验证。新能源接入后的稳定性对比比如把某台同步机替换成光伏逆变器或双馈风机。不适合做的方向也不少。比如这个系统的网络规模相对较小无法精细反映配电网三相不平衡问题它本身是输电网等值模型不适合做分布式电源接入的台区分析它也没有详细的直流输电线路模型做交直流混联研究时需要额外扩展。用一句话总结10 机 39 节点是一个“用来验证通用性问题”的经典平台而不是“用来复现某个具体电网工程”的沙盘。清楚这一点你就不会在选型阶段走偏。2. 搭模型第一步把“标幺值语言”翻译成 Simulink 端口2.1 母线、发电机、支路三张表的分工搭 Simulink 模型之前最重要的准备工作不是打开软件而是把你手里的数据整理清楚。网上能下载到的 10 机 39 节点数据通常包含三张核心表。第一张是母线数据表每一行对应一条母线包含母线编号、类型PQ、PV、平衡机、电压幅值初值、相角初值、有功负荷、无功负荷等。这张表告诉你每条母线上接了什么东西电压大致在什么水平。第二张是发电机数据表每一行对应一台发电机包含所在母线编号、额定有功、无功上下限、机端电压设定值有的还会附上发电机动态参数比如直轴暂态电抗、交轴暂态电抗、惯性时间常数、阻尼系数等。第三张是支路数据表每一行对应一条线路或一台变压器包含首端母线、末端母线、电阻、电抗、对地电纳、变压器变比等。这张表是你在 Simulink 里画输电线路和变压器的直接依据。我开始时犯过一个低级错误把支路表里的电阻电抗直接当成国际单位制下的欧姆值填进 Simulink 的线路模块。结果潮流计算一跑就报错电压一片混乱。后来才意识到表里的数据默认都是标幺值而 Simulink 里很多输电线路模块需要你填的是实际值或者明确指出标幺基准。所以拿到数据后第一件事是先确认数据文件头部的说明搞清楚基准容量、基准电压以及各参数的单位。2.2 基准容量与标幺值换算10 机 39 节点系统的基准容量是 100 MVA。你看到的所有发电机容量、负荷功率在标幺值体系下都是基于 100 MVA 归算的。比如某台发电机额定有功是 5.0标幺值那它的实际容量就是 500 MW。电压基准则需要分区域看。39 节点系统中部分母线属于高压输电网络部分属于发电机机端电压等级所以在把标幺值转换成 Simulink 模块里的实际电压时不能全系统用一个电压基准。举个例子某条支路两端母线都是 230 kV 电压等级那么该支路数据中的电阻电抗标幺值是基于 230 kV 和 100 MVA 归算的。换算成实际欧姆值有一个常用公式[ Z_{\text{实际}} Z_{\text{标幺}} \times \frac{U_B^2}{S_B} ]把 ( U_B 230\text{kV} )、( S_B 100\text{MVA} ) 代入[ Z_B \frac{(230 \times 10^3)^2}{100 \times 10^6} 529 , \Omega ]所以如果支路电抗标幺值是 0.025那么实际电抗就是[ 0.025 \times 529 13.225 , \Omega ]当然Simulink 里很多模块支持直接填标幺值或者填有名值具体要看版本和模块库。在 Specialized Power Systems 库中输电线路的 π 型等值电路模块通常可以用实际值填写而 Three-Phase Transformer 模块则需要填额定电压、额定容量、漏抗百分数等参数。我的经验是把换算过程写成一个 MATLAB 脚本用脚本自动生成所有线路和变压器的参数这样既不容易手误也方便以后改基准容量。2.3 Simulink 里的三种接线抽象很多人拿到单线图后直接在 Simulink 里照着画把每条三相线路都拉出来。这个思路本身没错但需要先清楚 Simulink 中电力系统模型有几种表达方式。第一种是三相拓扑模型用的模块是 Three-Phase Source、Three-Phase Transformer、Three-Phase PI Section Line 等。这种模型的物理意义清楚可以看到每一相的电压电流波形适合做故障分析、保护仿真。第二种是单线图等值模型比如用 Single-Phase 模块搭建正序网络。这种模型省资源但没法直接看三相不对称故障的细节。第三种是更抽象的机电暂态模型发电机用经典二阶模型或更高阶模型表示网络用代数方程描述。这种思路在纯 MATLAB 脚本里更常见但在 Simulink 中也可以通过 Simscape 模块实现。对于 10 机 39 节点系统最推荐的方式是搭建完整三相拓扑模型因为后续做三相短路、单相接地、断线等故障仿真时三相模型最直观。虽然模型看起来庞大但实际上节点数量并没有多到跑不动的程度普通电脑完全可以承受。3. 发电机、励磁与调速器模块选型不是随便拖一个同步电机模块就行3.1 同步电机模型阶数怎么选Simulink 的 Specialized Power Systems 库中提供了多种同步电机模型从最简单的“经典模型”到考虑定子暂态、转子励磁绕组的详细模型都有。Simscape Electrical 里常见的模块名是 Synchronous Machine pu Fundamental 和 Synchronous Machine pu Standard。选模型阶数的原则很简单你关注什么物理过程就选能表达这个过程的模型。如果只做静态潮流验证可以用简化模型发电机的内电势恒定不详细模拟励磁动态。如果做暂态稳定分析至少要选考虑转子运动方程和暂态电抗的模型也就是经典二阶模型往上。如果研究励磁系统、PSS、电压调节那就必须选详细模型并且要把励磁系统的动态特性显式建模。以一台典型的大型汽轮发电机组为例如果用标幺值同步电机模块需要填写的参数包括额定视在功率和额定电压定子电阻、漏抗直轴同步电抗、直轴暂态电抗、直轴次暂态电抗交轴同步电抗、交轴暂态电抗、交轴次暂态电抗惯性时间常数 H阻尼系数。很多初学者会忽略交轴和直轴参数的区别直接把所有电抗填成同一个值。这在某些简化模型中影响不大但如果你研究的是多机系统中的机电振荡交轴参数不准确会直接影响振荡频率和阻尼特性的计算结果。3.2 励磁系统不加会怎样如果你只搭了同步电机模块却没给它们配励磁系统那就意味着发电机的机端电压是开环控制的。在潮流初始化时Powergui 会帮你把励磁电压设到一个稳态值使发电机出口电压达到设定值。可是一旦系统发生扰动比如线路跳闸或三相短路机端电压会剧烈变化而没有闭环励磁调整的发电机会表现出完全不同于实际系统的响应。实际电网中的发电机都配有自动电压调节器AVR它检测机端电压偏差调整励磁电流从而把电压维持在允许范围内。所以在 Simulink 中做暂态仿真时至少给每台发电机配上简单的励磁模型。Simulink 库里有现成的励磁系统模型包括 IEEE DC1A、IEEE AC1A、IEEE ST1A 等标准模型。它们的复杂程度差异很大ST1A 是静态励磁响应快适合模拟现代晶闸管励磁系统DC1A 是直流励磁机模型属于比较经典的老式结构。对于初学建议先从 IEEE ST1A 或 Simplified Excitation System 起步。重点调两个参数励磁增益和励磁时间常数。增益太大会导致电压振荡太小则电压恢复慢。多机系统中各台发电机的励磁参数最好参考原始测试系统的数据不要自己随意编一组值否则很可能出现莫名其妙的低频振荡。3.3 原动机与调速器惯性常数是关键除了励磁系统原动机和调速器决定了发电机的机械功率输入。Simulink 里有汽轮机、水轮机、内燃机等多种原动机模型。10 机 39 节点系统属于大电网等值模型每台发电机的原动机类型并不完全一样但在很多教学版本中大家会统一用简化的调速器模型代替。调速器的作用是根据频率偏差调整机械功率。当系统发生故障导致频率下降时调速器会增加阀门开度提高机械功率。但这个响应过程有一定的延时而且受限于锅炉或水流的动态特性。在实际搭模型时最容易被忽略的其实是惯性时间常数 H。H 的物理意义是当发电机以额定功率输出时转子储存的动能还能维持多长时间。它的值直接影响系统受到扰动后的功角摇摆速度。比如一台 H 5 秒的发电机组系统发生三相短路后转子在加速功率作用下开始加速功角变化的速度相对较慢如果 H 只有 2 秒那么同样大小的加速功率会让功角变化快得多系统更容易失稳。因此在做暂态稳定结论分析前一定要确认所用的 H 值来自原始数据而不是随便填一个顺眼的数。在多机系统仿真里还会遇到一个典型问题如果你把所有发电机的惯性常数统一取成同一个值系统会呈现一种“整体同步摇摆”的假象区间振荡模式被掩盖。真实系统中各台机组的 H 值差异较大有的水电机组惯性大有的燃气机组惯性小这种差异恰恰是多机系统相对摇摆的根源。4. 从潮流初始化到三相短路一条完整的暂态稳定仿真链路4.1 在 Simulink 里搭建拓扑的推荐顺序搭 39 节点模型时我推荐的顺序不是“从 1 号母线开始画到 39 号”而是先搭骨架再补细节。第一步把 10 台发电机及机端母线放好。通常 39 号母线是平衡机所在位置其他发电机分布在不同区域。先确定每台发电机的接入点再用同步电机模块和机端变压器模块连接。第二步把输电网络的主干线路搭好。根据支路数据表把各条母线的连接关系理清楚。为了画面整洁建议用 Simulink 的子系统Subsystem把每个区域封装起来比如把相邻的几条母线封装成一个区域子系统子系统之间通过三相线路连接。这样整体模型看起来不会乱成一团。第三步加入负荷。39 节点系统的负荷分布在很多母线上如果直接用三相并联 RLC 负荷模块需要把恒功率负荷转换成等效阻抗。更简单的做法是使用 Three-Phase Dynamic Load 模块它可以模拟恒功率、恒电流、恒阻抗的混合特性而且可以在仿真过程中动态切换。第四步也是最关键的一步加 Powergui 模块并做潮流初始化。没有 Powergui 的模型是无法进行机电暂态和电力电子仿真的。添加 Powergui 后打开它的 Machine Initialization 界面选择 Load Flow 工具把 39 号母线上的发电机设为平衡机其他发电机设为 PV 节点填入各发电机的有功功率和机端电压设定值。运行潮流计算后Powergui 会自动计算各发电机的初始转子角、励磁电压和机械功率并把初始状态加载到 Simulink 模型中。4.2 故障时序怎么设置暂态稳定仿真一般会设置一个“先故障、后切除”的过程。最常见的是在某一回关键输电线路的出口处设置三相短路接地故障经过一段时间后由断路器切除故障线路。在 Simulink 中实现这种场景通常用 Three-Phase Fault 模块和 Three-Phase Breaker 模块配合。以一条连接 33 号母线和 34 号母线的线路为例如果我想仿真的场景是在 33 号母线出口处发生三相短路0.1 秒后故障发生0.2 秒后断路器跳闸切除该线路那么可以把故障模块放在 33 号母线引出线的位置故障时刻设置为 0.1 秒。同时在这个故障点靠近线路侧安装一个断路器设置断路器的跳闸时间为 0.2 秒。有人会问故障模块本身不是可以设置故障开始和结束时间吗为什么还要加断路器。这里有个细微差别Three-Phase Fault 模块模拟的是故障点阻抗的变化它的“故障结束”相当于故障自行消失而不是线路被切除。在实际电网中短路故障通常要靠保护装置动作、断路器跳闸来隔离短路点本身并不会自动消失。所以要更真实地模拟暂态稳定过程应该用“故障模块产生短路 断路器切除线路”的组合而不是只设置故障模块的结束时间。故障发生的时间点通常选在仿真开始后一段时间比如 1 秒或 0.5 秒这样系统可以先进入稳态然后再施加扰动。如果仿真刚开始 0 秒就短路初始时刻的电磁暂态和故障响应混在一起很难区分哪些现象是故障引起的哪些是初始化过程的过渡态。4.3 观察哪些曲线来判断稳定性仿真跑完后第一件要做的事不是看电压波形而是看发电机的功角曲线。在 Simulink 中同步电机模块的输出端口会给出转子角、转速、电磁功率、机械功率等信号。你需要把每台发电机的转子角信号引出通过 Scope 或 MATLAB 脚本绘制功角随时间变化的曲线。判断系统是否暂态稳定核心看的是“相对功角”而不是绝对功角。因为绝对功角是相对于同步旋转参考轴的而各台发电机的绝对功角可能同时增大或减小这时你需要选一台参考机通常是平衡机然后计算其他发电机相对于参考机的功角差。如果故障切除后各发电机与参考机的相对功角差逐渐减小并趋于某个稳定值说明系统是暂态稳定的。如果某个相对功角持续增大超过某个临界值后不再回落或者呈现等幅振荡甚至增幅振荡那系统就是暂态失稳的。除了功角曲线还需要看母线电压恢复情况。故障期间短路点附近的母线电压会大幅跌落故障切除后电压应该逐步恢复。如果某些母线电压长期回不到额定值附近说明可能存在无功不足或电压稳定问题。发电机的转速曲线也值得看故障瞬间发电机转速会上升切除故障后转速应逐步恢复到同步转速附近。5. 实测中的故障排查跑得起来但结果不对问题通常出在哪5.1 电压幅值始终不是额定值我遇到过不少学生反馈模型搭完后潮流计算提示收敛但观察母线电压却发现不是 1.0 标幺而是 1.2、0.6 之类明显不合理的数据。这个问题的根源九成以上是发电机母线电压设定值没有正确填入。在潮流初始化界面里平衡机要填电压幅值和相角PV 节点机要填电压幅值设定值。如果你只填了有功功率、没有填机端电压Powergui 会按默认值处理结果自然不是你想要的工作点。另外变压器分接头位置也会影响电压分布。39 节点系统中有些变压器带有抽头变比不是标准的 1:1。如果漏填了分接头比例发电机机端母线和高压母线之间的电压关系就会错位导致部分母线电压偏高、部分偏低。5.2 发电机相对功角不停上升无法收敛这是暂态稳定仿真中最经典的“失稳现象”。但要注意仿真结果失稳并不一定代表系统出了问题也可能是你的模型数据本身就不处于稳定运行范围。如果你把故障切除时间设得太晚比如三相短路持续了 0.5 秒才切除绝大多数电力系统都会失稳。临界切除时间是衡量系统暂态稳定裕度的重要指标需要通过多次仿真来寻找。比较合理的做法是用 0.1 到 0.2 秒的故障切除时间做初步扫描再逐步增加切除时间观察系统从稳定到失稳的转折点。还有一种情况故障切除后相对功角曲线呈等幅振荡既不收敛也不发散。这通常是模型中阻尼太小甚至为零导致的。同步电机模块里有一个阻尼系数 D如果你把它设成 0机组就没有阻尼转矩扰动后的振荡无法衰减。在真实系统中转子阻尼绕组、励磁系统、调速器、负荷特性都会提供一定的阻尼。为了模拟更真实可以给发电机设一个较小的阻尼系数比如 1 到 3或者通过 PSS 提供附加阻尼。5.3 求解器设置导致的高频振荡和仿真崩溃Simulink 的 Specialized Power Systems 对求解器类型非常敏感。常见的一个错误是把求解器设置成固定步长步长取得太大导致电磁暂态结果严重失真甚至出现数值振荡。建议在仿真暂时态稳定过程时使用变步长求解器比如 ode23tb 或 ode15s最大步长不要超过 1e-3 秒。如果你关心的是故障瞬间的电磁暂态细节比如短路电流的瞬时值那可能需要更小的步长比如 1e-5 秒甚至更小。但注意太小的步长会让 39 节点系统的仿真时间大大延长如果只关心机电暂态功角、转速、功率变化没有必要捕捉每一个高频细节用 1e-4 秒级别的最大步长通常已经足够。我在仿真中遇到过一种情况故障切除后电压波形上出现密集的高频毛刺看起来像噪声但幅值不小。后来发现是我把线路的对地电容设得过大同时求解器的最大步长设得太大。对地电容与线路电感构成了一个高频谐振回路步长过大时无法准确积分高频分量于是数值上出现了振荡。解决方法是减小最大步长或者检查线路电纳数据是否标幺换算错误。5.4 模型越来越大仿真越跑越慢怎么办39 节点系统全三相模型加上 10 台详细同步电机模型后计算量已经不低。如果再加入多台发电机的完整励磁系统、调速器、PSS仿真速度会明显下降。如果遇到仿真速度慢到无法忍受可以从三个方面优化。第一调整模块模型复杂度。在不影响研究目标的前提下把离故障点较远的发电机换成低阶模型。比如研究 33 号母线附近故障时靠近故障点的机组用详细模型远处的区域机组可以用经典二阶模型这样能大幅减少状态变量数量。第二合理设置输出数据的采样率。Scope 模块如果按照过高的采样率记录数据会产生大量数据点拖慢仿真。可以对不关心的信号设置较粗的采样或者只在需要时把数据记录到工作区。第三把长时间仿真分段处理。先用 Powergui 的潮流工具得到初始工作点再把初始状态保存下来之后的时域仿真不必每次都从零开始初始化。这样在扫描不同故障切除时间时可以省去重复的初始化计算。6. 做完一遍之后这个模型还能怎么延伸6.1 从三相短路到更多故障类型如果你已经成功复现了三相短路暂态稳定过程说明 Simulink 模型的基本链路已经通了。接下来最自然的延伸是换故障类型。单相接地短路是实际电网中发生概率最高的故障类型它的暂态过程和三相短路差异很大。因为单相接地时故障点存在零序和负序分量需要检查模型中的变压器接地方式是否正确。10 机 39 节点系统中部分变压器中性点接地方式在不同版本的数据中有差异做单相接地仿真前要仔细确认。两相短路和两相接地短路也有各自的特点。不同的故障类型对暂态稳定性的破坏程度不同三相短路对系统稳定性影响最大但它不是最常发生的故障。你可以把多次仿真的结果放在一起对比计算每种故障类型下的临界切除时间这是论文里很常见的一组结果。6.2 发电机控制参数优化模型搭好后还能做的一件很有价值的工作是研究 PSS 的参数整定。在没有 PSS 时多机系统可能存在阻尼较弱的低频振荡模式。你可以在某几台关键发电机的励磁系统输入端加入 PSS 模块通过特征值分析或者时域仿真来验证 PSS 对振荡的抑制效果。Simulink 里有线性化分析工具可以在 Powergui 里选择“Linear Analysis”工具把模型在稳态工作点线性化得到状态矩阵。然后计算特征值找到与区间振荡模式对应的特征值看它的实部是否为负、阻尼比是否足够。如果阻尼比过低就可以用 PSS 的相位补偿环节来改善。这一套做法做完后你对“仿真”二字的理解会完全不一样。刚开始你可能只是照着数据表搭模型、跑波形但当你开始用仿真结果反过来指导参数设计时Simulink 就不再只是画图的工具而是一个真正能帮你理解电力系统动态行为的实验平台。从我个人的经验来看10 机 39 节点系统在 Simulink 中跑通并不难难的是把每个参数背后的物理意义搞清楚。在你动手搭模型之前先把母线数据、发电机数据、支路数据逐条看一遍弄明白每个参数是什么、单位是什么、标幺基准是什么这比多拖几个模块有用得多。遇到仿真结果不符合预期也不要急着怀疑软件出了问题先从潮流初始化和数据换算开始排查绝大多数情况下问题都出在原始数据或参数设置上。
返回列表