ARTICLE DETAIL

资讯详情

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

距离保护方向阻抗继电器Simulink建模与仿真全解析

距离保护方向阻抗继电器Simulink建模与仿真全解析 距离保护这个概念刚接触继电保护的人多少都听过但真正把它弄明白尤其是把方向阻抗继电器这个“心脏”搞透光看书是不够的。我当年做线路保护仿真时最大的感触就是书上那张R-X平面上的圆和仿真里实际跑出来的阻抗轨迹完全是两回事。这篇文章我就结合自己做输电线路距离保护建模与仿真的经验把方向阻抗继电器从原理到仿真实现、再到整定里的那些坑一次性说清楚。这篇文章适合正准备做电力系统课程设计、毕业设计或者刚入行做继保整定和仿真验证的工程师。你会看到距离保护为什么用电压电流的比值来判断故障、方向阻抗圆为什么长成那个形状、在Simulink里怎么搭一个能动的继电器模型以及整定配合里最容易让人懵的助增、外汲、振荡闭锁和过渡电阻问题。1. 距离保护到底在保护什么从三段式电流保护到测量阻抗1.1 三段式电流保护的局限运行方式依赖与灵敏度困境在讲距离保护之前得先明白它为什么会出现。线路保护最基础的是电流保护三段式电流保护在几十公里、系统阻抗变化不大的电网里用得很顺手但它有一个天生的毛病整定值依赖于系统运行方式。系统大方式运行的时候短路电流大小方式运行的时候短路电流小而保护要同时满足灵敏度和选择性的要求就必须在最大运行方式下算I段整定值、最小运行方式下校验灵敏度。一旦线路长了、系统阻抗变化大了电流保护就很尴尬——躲不过最大的负荷电流又可能够不着末端的最小短路电流。我见过一个110kV线路的案例线路长度大约45公里系统阻抗从最小方式到最大方式变化了三倍。按电流I段整定如果要躲开线路末端最大短路电流保护范围可能只有线路全长的40%不到按躲负荷电流整定III段末端经过渡电阻接地时候的短路电流又可能不够灵敏。这就是电流保护的“灵敏度与选择性之间的矛盾”而距离保护恰恰是为解决这个矛盾提出来的。1.2 距离保护的核心思想电压电流比值的比值就是阻抗距离保护的想法很直接短路点离保护安装处越远线路阻抗越大电压和电流的比值就越大。所以我不用去关心系统运行方式怎么变只要实时测量保护安装处的电压U和电流I算出比值Z U / I再和预设的整定阻抗Zset比较就能判断故障在不在保护范围内。这个Z就是“测量阻抗”它反映的是从保护安装处到故障点的等效阻抗。举一个生活化的例子。你开车从A点出发去B点如果知道路况单位里程的油耗固定那么消耗的油量就正比于你开出去的距离。系统运行方式的变化就像是“风速”变了它是外部条件但油表和里程之间的关系仍然是线性的。电流保护相当于只看“油量”这个绝对值风速一大它就判断不准而距离保护看的是“油量/里程”的比值风吹草动对它影响不大。当然输电线路的阻抗是复数不是简单的电阻。线路有电阻R和电抗X所以测量阻抗Z R jX是一个复数它落在复数平面R-X平面上。判断故障范围就变成了判断这个复数点落在哪块区域里的问题。1.3 测量阻抗 Z U / I 的物理含义与极坐标表示这里有个细节必须强调测量阻抗用的U和I是工频基波分量不是瞬时值。因为故障瞬间会有衰减直流分量、谐波分量混在信号里直接用瞬时值算出来的“阻抗”根本没法看。所以仿真里第一步永远是把电压电流波形先做傅氏滤波提取基波幅值和相位再算Z的实部和虚部。用极坐标看更直观Z的幅值等于U和I的幅值比Z的相角等于U超前I的相位差。正常负荷状态下电流滞后电压一个功率因数角Z落在第一象限偏右的位置发生金属性三相短路时线路呈强感性Z的相角接近线路阻抗角一般是60°到85°之间如果经过渡电阻短路Z会多出一个纯电阻分量轨迹就往右偏移。在仿真里我会把每个采样点算出来的Z都画在R-X平面上观察它随时间变化的轨迹。这个轨迹图是判断继电器动不动作的最直观工具后面几章会反复用到它。2. 方向阻抗继电器的核心判据测量阻抗与整定阻抗的博弈2.1 从全阻抗圆到方向阻抗圆的演进逻辑知道了Z之后怎么判断故障位置最朴素的做法是画一个圆以整定阻抗Zset为半径以原点为圆心只要Z落在圆内就认为故障在保护范围内。这就是“全阻抗圆”继电器动作条件是 |Z| ≤ |Zset|。但全阻抗圆有个致命问题它没有方向性。如果故障发生在保护安装处的背后比如母线侧测量阻抗会落在第三象限或第四象限但它的幅值完全可能小于Zset继电器照样动作。这对双侧电源线路来说是不可接受的——背后故障时本线路的保护也应该动作吗那要看配合关系但对于距离I段来说背后故障如果误动会造成保护范围扩大甚至越级跳闸。解决办法就是让圆“缩”一下让它经过原点。方向阻抗圆的圆心在Zset/2处半径也是Zset/2圆刚好过原点动作条件是 |Z - Zset/2| ≤ |Zset/2|。这样圆只覆盖第一象限正方向附近区域背后故障的Z落在负方向进不了圆方向性就出来了。2.2 动作方程比相判据与比幅判据的内在等价方向阻抗圆可以用两种方式描述仿真里两种都有人用本质是一回事。比幅判据就是上面那个圆方程|Z - Zset/2| ≤ |Zset/2|把Z U / I代进去两侧乘以|I|就变成|U - Zset·I/2| ≤ |Zset·I/2|这个式子直接用电压、电流的瞬时值或者相量就能算仿真里很方便。比相判据则是比较两个电压相量的相位差动作条件是90° ≤ arg( (Zset - Z) / (Z Zset) ) ≤ 270°看着吓人其实它的物理意义是测量阻抗Z相对于整定阻抗Zset的“偏离角度”超过了90°就说明Z落在以Zset和-Zset为直径的圆内。比相判据在硬件继电器里容易用比较器实现但在仿真里我一般用比幅判据因为复数运算模块直接算模值更直观。提示仿真建模时判据形式无所谓对错但必须保证Z和Zset是同一个基准下的复数。如果线路阻抗角是75°那Zset在R-X平面上就应该是Zset·cos75° jZset·sin75°你不能只给个幅值就完事。2.3 死区问题近端三相短路时电压为零的困境与记忆回路方向阻抗圆有方向性了但它也带来了一个新问题出口三相金属性短路时保护安装处的电压U会掉到接近于零。这时候Z U / I趋于零落在R-X平面的原点附近。而方向阻抗圆是过原点的落在原点正好在圆的边界上继电器判据处在临界状态可能动也可能不动这就是“死区”。全阻抗圆不存在这个问题因为它的圆心在原点Z0的时候|0 - 0|0铁定在圆内立即动作。但方向阻抗圆不行。工程上怎么解决用“记忆回路”。故障前的电压U_mem被记录下来故障后的极短时间内用这个记忆电压的相位来代替现在的电压相位做极化比较。因为故障瞬间电压幅值虽然塌了但故障前电压的相位是好的记忆电压能提供一个稳定的相位参考让继电器能正确判断方向。仿真里模拟记忆回路很简单用一个Delay模块保存故障前几个周期的电压波形故障发生后选择用记忆电压参与判据。不过你得注意记忆回路只能维持几十到几百毫秒长时间之后还是要切换到实时电压不然故障持续过程中电压相位偏移会导致误判。3. 从圆到多边形各类阻抗动作特性的适用边界3.1 全阻抗圆、方向阻抗圆、偏移圆一个比一个会妥协把几种常见动作特性放在一起对比能很清楚地看到它们各自妥协了什么。特性类型动作判据简写圆是否过原点方向性死区问题典型应用全阻抗圆|Z| ≤ |Zset|圆心在原点半径Zset无方向性无死区单侧电源线路或作为启动元件方向阻抗圆|Z - Zset/2| ≤ |Zset/2|过原点有方向性出口有死区距离保护I、II段偏移阻抗圆|Z - (ZsetZpol)/2| ≤ |(Zset-Zpol)/2|不过原点第一象限为主、稍向第三象限延伸基本有方向但背后有一段小动作区死区很小兼顾出口灵敏与方向性四边形特性用R、X边界约束不适用有方向性可无死区现代微机保护主流电抗特性沿X方向一条平行线约束不适用有方向性需配合方向元件侧重躲过渡电阻偏移圆是方向阻抗圆和全阻抗圆之间的折中整定阻抗Zset是第一象限的主动作区同时向反方向第三象限偏移一个小圆Zpol这样出口故障时Z即使接近原点也不容易落到圆外同时反方向的延长部分很小误动的风险可控。它在模拟式继电器时代用得比较多。3.2 电抗特性与多边形特性的工程取舍到了微机保护时代阻抗动作特性早就不是规则的圆了。四边形特性用四条直线在R-X平面上圈出一块区域每条边界独立整定X方向边界解决故障距离问题R方向边界解决过渡电阻问题负荷边界解决躲负荷问题。它的优点是灵活缺点也很明显——整定参数多四个边界的配合逻辑比一个圆复杂得多。电抗特性则是一类特殊的四边形它的上边界不是斜的而是与R轴平行的电抗线也就是说只要测量阻抗的电抗值X小于整定值Xset不管电阻多大都判为区内。这种特性对过渡电阻的耐受能力特别强因为接地故障经电弧电阻后Z会往R方向偏圆的特性可能把已经从圆“顶出去”了而电抗线只盯着X根本不在乎R怎么漂。但电抗特性有一个坑负荷阻抗的电抗分量通常不大如果直接把电抗线整定得很大重负荷情况下测量阻抗也可能落进动作区。所以使用电抗线时一定要配合负荷限制线和方向判断不能裸奔。3.3 方向阻抗继电器为什么是教材和仿真的“常客”很多人会问现在实际用的都是四边形特性了为什么我在仿真里还在用方向阻抗圆原因有两个。第一方向阻抗圆是理解所有阻抗型继电器的基础。它把一个复杂的“电压电流比值入区判断”问题变成了“平面上一个点是否落进一个圆”的几何问题物理图像非常清楚。你把方向阻抗圆搞明白了再看四边形、电抗线无非是“把圆的边界换成直线”逻辑是一样的。第二方向阻抗圆的判据简单、容易在仿真里实现特别适合教学和原理验证。我自己的经验是第一次在Simulink里用方向阻抗圆跑出正确的动作边界时那种“原来书上那个圆是这么回事”的感觉是直接看公式完全给不了的。所以这篇文章的仿真部分也以方向阻抗圆为主线等你把圆玩透了再去改成四边形特性也就顺手了。4. 在Simulink里搭一个方向阻抗继电器模型4.1 仿真平台选择与整体模型结构距离保护仿真主流平台就三个MATLAB/Simulink配合Simscape Electrical、PSCAD/EMTDC、以及各种自编的Python数值计算脚本。PSCAD的电磁暂态模型很精细但License贵、上手曲线陡Python灵活但搭三相电路模型太累MATLAB/Simulink是大多数人课题和课程设计的首选模块化程度高调试方便。我用的是MATLAB/Simulink模型整体分四个部分从上到下依次是一次系统三相电源、输电线路、故障模块。测量环节三相电压电流互感器、信号调理。保护算法傅氏滤波、阻抗计算、方向阻抗圆判据。执行环节动作信号输出、断路器控制、波形记录。4.2 故障建模与数据采集故障时刻、过渡电阻、故障类型一次系统里电源用Three-Phase Source模块设成110kV、50Hz、系统阻抗按短路容量算。线路用Three-Phase PI Section Line参数设置里填单位长度的R1、L1、C1正序和R0、L0、C0零序。故障用Three-Phase Fault模块可以设置故障类型三相短路、两相短路、单相接地、故障起始时间和过渡电阻Rf。这里有个我一直强调的细节故障起始时间不要选在电压过零点不然故障电流的衰减直流分量特别大对傅氏算法影响明显不利于你聚焦观察距离保护的判断逻辑。数据采集上我习惯用Three-Phase V-I Measurement放在线路首端输出的三相电压、电流经过一个Gain模块转换成二次值模拟PT、CT变比再做后续处理。虽然仿真里可以直接用一次值但带上变比更贴近实际也能让你体会到二次回路参数对测量精度的影响。4.3 傅氏算法提取基波为什么不能用瞬时值直接算阻抗这一步往往是新手最容易忽略但最关键的。故障后的电压电流波形不是纯正弦里面有衰减直流分量、各次谐波直接拿瞬时值的比值算“阻抗”算出来的东西在故障瞬间会剧烈振荡根本没法判断。正确的做法是用全周傅氏算法。对每个采样点用最近一个工频周期的采样数据计算基波相量的实部和虚部U_real (2/N) · Σ u(k)·sin(2πk/N)U_imag (2/N) · Σ u(k)·cos(2πk/N)电流同理。然后在复数平面上算Z U / I。Simulink里实现傅氏算法有两类路径一是用Discrete Fourier模块直接提取某次谐波二是自己搭一个采样保持累加器按公式算。我建议先用自搭的做一个周期把傅氏算法的实现细节走一遍这对理解保护装置的底层算法帮助很大。4.4 比相判据的实现相位比较模块的构建拿到Z之后在Simulink里实现方向阻抗圆判据我最常用的方法是比幅判据D1 |Z - Zset/2|D2 |Zset/2|条件D1 ≤ D2具体做法是把Z拆成实部ZR和虚部ZX用两个减法器和平方根模块算幅值再用一个Compare To Constant模块做比较输出布尔量。这个布尔量就是继电器的动作信号可以经过一个脉冲展宽模块保证出口动作至少持续一个设定时间再送给断路器。我在第一次搭的时候踩过一个坑直接用了复数信号线把Z传来传去结果Simulink里复数信号的模值计算模块Magnitude-Angle在离散模式下偶尔会因为采样时间不匹配报错。后来干脆全部拆成实部虚部标量分别走信号线逻辑更清晰、调试也更方便。4.5 典型仿真参数设置下面这组参数我在多个仿真实例里用过直接照抄也能跑出理想效果。参数项设置值说明系统额定电压110 kV线电压有效值线路长度50 km线路正序阻抗0.115 j0.401 Ω/km典型110kV架空线线路零序阻抗0.382 j1.024 Ω/km故障起始时间0.2 s避开电压过零点过渡电阻Rf0 / 10 / 50 Ω分别做金属性和带过渡电阻采样频率2000 Hz每个工频周期40个采样点方向阻抗圆整定阻抗Zset10∠75° ΩI段保护范围按线路阻抗的80%左右傅氏算法数据窗20 ms一个周期全周傅氏跑出来之后把测量阻抗Z的实部和虚部送到XY Graph模块就能看到阻抗轨迹在R-X平面上随着时间移动。金属性三相短路时轨迹会从负荷区快速移动到线路阻抗线上然后停留在距离等于故障距离的位置带过渡电阻时轨迹终点会向右偏移。5. 躲负荷、躲振荡、躲过渡电阻整定计算的核心矛盾5.1 距离I段、II段、III段的整定逻辑距离保护的三段式配合是一个层层递进的关系。距离I段的基本原则是“不伸出本线路之外”一般按被保护线路阻抗的80%85%整定。这个15%20%的裕度是用来吸收线路参数误差、互感器误差、保护装置测量误差的。仿真里我可以精确知道线路阻抗但实际工程里线路参数是估算出来的所以必须留足余地。距离II段要保护线路全长还要延伸出去和相邻线路的I段配合。它的整定值一般取本线路阻抗加上相邻线路I段阻抗的某个百分比或者按保证本线路末端故障时灵敏度不小于1.251.5来反推。II段动作时间要加上一个时间台阶一般是0.30.5秒就是为了和相邻线路的I段做时间上的配合。距离III段是远后备保护要能保护相邻元件还要躲过最小负荷阻抗。躲负荷的计算是整个整定里最容易翻车的地方负荷阻抗的幅值是|Z_load_min| U_min² / S_max它的相角是负荷功率因数角一般在10°30°之间。如果把方向阻抗圆的负荷侧边界整定得太靠近负荷区系统重载时负荷阻抗就可能落到圆里造成误动。5.2 助增电流与外汲电流分支系数如何改变感受阻抗这是整定计算里最考验功力的一环。看一个典型的双侧电源线路本线路末端发生故障时流过本线路保护的电流是I1故障点总电流是Ik它可能是I1加上相邻线路、分支线路提供的电流I2这叫助增。此时保护感受到的阻抗是Z_meas U / I1 (I1·Z_AB Ik·Z_BC) / I1 Z_AB (Ik / I1)·Z_BC分母比I1大所以Z_meas比实际距离对应的阻抗大保护范围收缩。这就是“助增让保护变懒”。反过来如果部分故障电流从母线侧分流出去流过保护的电流比故障电流还大Z_meas就变小保护范围伸长这叫外汲。工程上用一个分支系数Kb来描述这个效应Kb Ik / I1。整定II段时如果考虑Kb 1助增整定阻抗可以适当放大但如果实际运行中出现了Kb 1外汲的情况保护范围就会意外伸长可能越级。所以II段配合计算必须考虑各种运行方式下Kb的极值这是仿真里最需要做敏感性分析的场景之一。5.3 振荡闭锁测量阻抗在振荡时如何“误入”动作区电力系统振荡是距离保护最头疼的“非故障扰动”。两侧电源的功角δ在振荡过程中不断变化各点电压电流的幅值和相位都在周期摆动测量阻抗Z的轨迹会沿一条直线来回移动。这条直线如果穿过阻抗圆的动作区距离保护就会误动作——但系统并没有故障。为什么振荡时Z会走直线假设两侧电动势幅值相等系统总阻抗为ZΣ功角δ变化时测量阻抗的轨迹是Z j·(Zm - 0.5·ZΣ·cot(δ/2)) 之类的表达式在R-X平面上近似为一条直线。躲振荡的一个简单判据是看阻抗轨迹的移动速度。振荡时Z的变化速度比较慢周期是秒级而故障时Z是阶跃式的突变。微机保护可以用短窗和长窗分别计算阻抗比较两次计算结果的差值大小差值大说明突变判为故障变化慢则判为振荡闭锁出口。实际装置里还有更精细的低电压、负序分量配合逻辑但仿真的角度理解到“快变是故障、慢变是振荡”这条原则就够用了。5.4 过渡电阻对单相接地故障的影响单相接地是最常见的故障类型也是最容易让距离保护“看不清”的故障。过渡电阻包括电弧电阻、杆塔接地电阻、树枝接触电阻等数值可以从几欧到几十欧甚至上百欧。过渡电阻串联在故障回路里会让测量阻抗多出一个纯阻性分量δR。对方向阻抗圆来说这个δR把Z往R方向推如果δR足够大Z会被推出圆外保护就拒动了。这就是方向阻抗圆在接地故障面前“先天不足”的原因。电抗线和四边形特性对过渡电阻的容忍度要好得多因为它们对R方向有更宽的边界。但这不等于无限容忍如果过渡电阻太大零序电流太小保护可能根本启动不了。所以现代接地距离保护还有一个“零序电抗”特性专门利用零序电流算出的电抗来扩大耐过渡电阻能力。仿真里我经常用Rf50Ω和Rf0Ω做对比观察同一套整定值下带过渡电阻工况的阻抗轨迹如何被“推出圆外”这比单纯背结论印象深刻得多。6. 仿真结果中的典型妖情与排查思路6.1 故障发生在I段保护范围外时测量阻抗轨迹的规律仿真里最常见的验证场景是设置一个故障点距离正好超过I段整定范围比如线路长度50km整定到40km故障点在45km处然后观察继电器是否可靠不动。我在跑这个场景时发现一个有趣的现象故障瞬间阻抗轨迹并不是直接跳到一个稳定点而是先有一个明显的“甩尾”然后才稳定下来。这个甩尾是衰减直流分量和傅氏算法数据窗共同作用的结果——故障前数据窗里的负荷分量和故障后的故障分量的过渡叠加造成的。如果你用的是全周傅氏算法故障后大约要经过一个周期的“数据窗刷新”时间阻抗才能准确反映故障距离。所以看仿真结果的时候不要盯故障瞬间那几毫秒的Z值要看故障发生后2040ms之后的稳态值。这也是为什么保护装置都有动作延时本质上是给测量算法留出收敛时间。6.2 正反方向故障的区分方向性验证方向阻抗继电器到底能不能分清正反方向一定要专门做一组仿真验证。我在正方向线路末端和反方向母线侧各设一个金属性三相短路故障对比Z轨迹。正方向故障时Z从负荷点快速跑到第一象限的线路阻抗线上然后落进方向阻抗圆内动作信号输出反方向故障时Z轨迹会落在第三象限偏左的位置明显在圆外继电器不动作。这个对比实验做完你才能真正理解“方向阻抗圆过原点”这个设计有多巧妙——反方向故障时Z的幅值可能和正方向差不多但相角差了接近180°方向阻抗圆靠“相位”而不是“幅值”完成了方向判别。6.3 影响测量阻抗精度的常见坑饱和、衰减直流分量、采样率仿真跑多了你会发现结果不对多半不是判据逻辑错了而是前面几个环节引入了误差。第一个坑是电流互感器饱和。Simulink里的CT模型如果不是理想模型在大短路电流下铁芯会饱和二次电流波形畸变傅氏算法提取出来的基波幅值和相位都会偏测量阻抗自然不准。解决办法要么把CT模型设成理想变压器要么在CT饱和模型后加一个饱和补偿算法——但后者已经属于保护装置的进阶功能了。第二个坑是衰减直流分量。故障时刻离电压过零点越近衰减直流分量越大。全周傅氏算法对衰减直流分量有一定的抑制作用但如果时间常数特别大比如80120ms全周傅氏算出来的基波幅值在故障后第一个周期内仍然会偏大。在仿真里如果你只是想验证距离保护的逻辑把故障时间设在电压峰值附近可以显著减小这个干扰。第三个坑是采样率。我的经验是2000Hz每周期40点起步到了1000Hz以下傅氏算法的频谱泄漏就开始明显影响阻抗计算精度了。但采样率也不是越高越好离散傅氏模块在采样率特别高的时候对计时抖动更敏感仿真步长如果不够小还会引入量化误差。注意做仿真对比实验时建议先把过渡电阻设为0、故障时刻固定在电压峰值处、CT用理想模型确保你能在一个“干净”的工况下验证方向阻抗圆的动作逻辑。逻辑验证通过之后再逐步加入过渡电阻、故障时刻偏移、CT饱和等扰动观察继电器在各种非理想工况下的表现。这样分层递进你才能分清哪些问题是原理问题、哪些问题是测量问题。我自己做过一组不同故障条件下的对比实验结果很能说明问题金属性三相短路、故障点在线路70%处时阻抗轨迹稳定后落在Zset圆内动作正确同样位置改成带20Ω过渡电阻的单相接地Z轨迹向右漂移轨迹稳定点跑到圆外保护拒动——这不是判据写错了而是方向阻抗圆对过渡电阻的耐受能力本身有限。理解这个边界比纠结“为什么动作了/为什么没动作”重要得多。最后再分享一个做仿真时的个人体会。很多同学拿到题目第一件事就是打开Simulink拖模块拖到一半发现哪儿哪儿都不对。我自己的习惯是先在纸上把动作判据的复数表达式写清楚把整定值的手算结果算出来再带着这个“预期答案”去搭模型。仿真跑出来的轨迹和手算预期对上了说明模型是对的对不上那才是真正有价值的开始——要么你手算出了错要么模型里某个环节引入了额外误差查出来你能学到的东西比顺顺利利跑完一整个仿真多得多。方向阻抗继电器本身不复杂复杂的是它周围那一整套测量、滤波、整定和配合的逻辑这也是“建模与仿真”这件事真正的意义所在。
返回列表