
三段式电流保护是继电保护里最基础也最实用的一套“梯队配合”方案一段抢速度二段补盲区三段兜底。很多刚接触这个知识点的人教材公式都能看明白但一旦要给真实系统算出一段、二段、三段的具体动作电流和动作时间就开始犯迷糊。我最近正好把一个基于MATLAB的三段式电流保护整定案例完整跑了一遍从系统建模、短路电流计算到三段保护的定值整定和灵敏性校验所有数值都已经算出来了。这篇就把整个思路、计算过程、代码实现和实操中的坑一次性讲清楚适合电气工程专业的学生、刚接触继电保护整定的现场工程师以及想用MATLAB做电力系统仿真的入门者。1. 三段式电流保护的设计思路先搞清楚每一段到底在干什么1.1 一段保护的本质无时限电流速断抢的是故障后的头几十毫秒电流速断保护的核心逻辑很简单故障电流越大说明故障点离母线越近危害越大所以要以最快的速度切除它。一段保护的整定原则是“躲过本线路末端最大短路电流”——也就是保证线路末端发生最严重的金属性三相短路时流过本保护的电流刚好够不到动作门槛这样保护范围就被限制在本线路内部动作不需要额外延时实现无时限跳闸。但这个“快”是有代价的。短路电流的大小取决于系统运行方式、故障类型和故障距离。系统在最大运行方式下系统阻抗最小时同样位置的故障电流最大一段保护的定值必须按这个极端情况来整定。可一旦运行方式变化或者故障类型从三相短路变成两相短路同样距离下的故障电流会明显变小一段保护的实际保护范围会缩水。线路越短、系统阻抗占比越大一段保护范围越小甚至可能接近零。这就是后面二段保护存在的根本原因。1.2 二段保护要解决的事把一段够不到的死区补上一段保护保护不了线路全长尤其是远离电源侧那一段必须靠二段来补。二段限时电流速断保护的整定原则是“躲过下级线路一段保护的动作电流”也就是和下一级线路的一段保护做配合。这样做的含义是本线路末端故障时二段保护要能动下级线路出口附近故障时二段的保护范围允许深入下一级但必须与下一级的一段保护划清界限让下一级的保护优先进动作。既然有配合就必须有时间差。二段保护的动作时间一般比下级一段保护大一个时间阶梯Δt常规取0.3~0.5秒。所以二段保护的定值会比一段低、启动范围更大但动作速度稍慢靠“短延时”换取“保护范围覆盖全长”。不过二段也不是万能的如果本线路末端发生故障时的最小短路电流通常按最小运行方式下的两相短路算仍然不足以启动二段说明二段灵敏度不够这在整定计算时是要重点校验的。1.3 三段保护按负荷电流整定给整个区域兜底三段保护即定时限过电流保护它不跟短路电流“较劲”而是跟最大负荷电流躲距离按“最大负荷电流可靠系数自启动系数返回系数”来整定。正常运行时最大负荷电流再大也不会让三段误动但一旦线路发生短路哪怕远端的电流也能超过三段定值所以三段能保护本线路全长也能作为相邻元件的远后备保护。三段保护的动作时间按阶梯配合原则逐级递增离电源越近的保护动作时间越长。这个方向跟“保护的职责”正好相反——靠近电源的保护要兜的底更多必须等到下游所有保护都拒动之后才轮到自己动作。三段保护的灵敏性校验分两个位置近后备按本线路末端两相短路电流校验收敛要求远后备按相邻线路末端两相短路电流校验成套保护能不能安全成立就看这两个数够不够。用一张表把三段保护的定位收拢一下保护段整定依据动作时间保护范围核心目的一段本线路末端最大三相短路电流0s无时限本线路一部分约20%~80%快速切除近区故障二段下级线路一段保护动作电流0.3~0.5s本线路全长并伸入下级补齐一段死区三段最大负荷电流考虑返回系数阶梯递增本线路及相邻线路后备保护兜底2. MATLAB仿真的第一关把系统参数按“最大/最小运行方式”搭好2.1 系统模型的选取一个典型的110kV双线路辐射网我做仿真时选的案例是一个110kV双线路辐射网电源侧通过两段输电线路给末端负荷供电。之所以选双线路而不是单线路是因为三段式电流保护最有意思的“上下级配合”关系需要至少两条线路才能体现线路AB靠近电源线路BC接在AB后面。系统的主要参数按常见工程经验取值额定线电压110kV电源侧最大运行方式等值阻抗0.5Ω归算到110kV侧电源侧最小运行方式等值阻抗0.8Ω线路正序阻抗0.4Ω/km线路AB长度40km总阻抗16Ω线路BC长度50km总阻抗20Ω线路AB最大负荷电流400A线路BC最大负荷电流250A注意一个容易绕晕的点最大运行方式对应的是“系统等值阻抗最小”因为阻抗越小同样故障点的短路电流越大对保护的考验越严酷最小运行方式则对应“系统等值阻抗最大”此时短路电流最小保护最容易出现灵敏度不足的问题。整定计算时一段、二段在最大运行方式下整定灵敏性校验在最小运行方式下进行这套“双工况”思路是从始至终都要贯彻的。2.2 短路电流计算用有名值还是标幺值电力系统教科书里短路计算通常用标幺值好处是不同电压等级折算方便。但对于110kV这样单一电压等级的小型辐射网络我更推荐直接用有名值物理概念更直观MATLAB脚本里写起来也不容易出错。三相短路电流的公式是I(3) U / (√3 × ZΣ)其中U是线电压110kVZΣ是从电源到故障点的总正序阻抗。两相短路电流的公式是I(2) U / (2 × ZΣ)注意三相短路和两相短路的比例关系是√3/2即两相短路电流约为三相的0.866倍灵敏度校验时一律用最小运行方式下的两相短路电流这是最严苛的故障条件。基于这套参数B母线和C母线的短路电流就可以直接算出B母线三相短路最大运行方式I(3)kB.max 110000 / (√3 × 16.5) ≈ 3849AB母线两相短路最小运行方式I(2)kB.min 110000 / (2 × 16.8) ≈ 3274AC母线三相短路最大运行方式I(3)kC.max 110000 / (√3 × 36.5) ≈ 1740AC母线两相短路最小运行方式I(2)kC.min 110000 / (2 × 36.8) ≈ 1495A这些电流值看着不大但对于110kV系统来说已经是很典型的量级。后面所有保护定值都是从这四个数字演化出来的务必保证这一步算对否则后面全盘皆错。2.3 MATLAB建模的两种路线脚本计算与Simulink仿真在实际做MATLAB仿真时有两条完全不同的路线。一条是纯m脚本的数值计算路线把系统参数定义成变量用公式直接算短路电流、整定值、灵敏系数最后用plot画保护范围或时间配合图。另一条是用Simulink搭建一个包含电源、线路、故障发生器的动态仿真模型用示波器观察故障电流波形和断路器动作时序。我的建议是如果目标是理解三段式电流保护的整定逻辑优先用脚本计算代码清晰、改参数方便、过程完全透明如果目标是验证保护装置的动作逻辑、测量CT饱和的影响或者给课程设计做动态演示再用Simulink。这里重点讲脚本计算路线因为它对应的是“数值均已算出”这个核心诉求——先把定值算明白再去谈动态仿真。3. 三段保护数值整定全流程每个系数怎么取、为什么这么取3.1 一段保护整定可靠系数取1.25动作电流按最大三相短路来躲保护1线路AB的一段保护应按B母线三相短路的最大短路电流来整定Iop1 Krel1 × I(3)kB.max 1.25 × 3849 ≈ 4811A工程上取4800A可靠系数Krel1为什么取1.25而不是更大因为一段保护的动作电流必须躲过线路末端的最大短路电流但故障电流计算本身存在误差、线路阻抗参数有偏差、互感器传变有误差所以要在理论最大短路电流基础上留出25%的裕度。如果取大了保护范围会缩短取小了线路末端外部故障时可能越限误动。1.2~1.3是常规取值我在这个案例里取1.25。一段保护瞬间动作动作时间为0s。但这还不够还要校验最小保护范围。所谓保护范围就是在这个距离以内发生故障时短路电流能超过动作电流保护才能启动。按最小运行方式下两相短路算Z_limit U / (2 × Iop1) 110000 / (2 × 4800) ≈ 11.46Ω这个阻抗里包含了系统阻抗0.8Ω扣除后线路阻抗约为10.66Ω对应线路长度26.6km占AB线路全长的66.6%远大于规程要求的15%所以一段保护范围合格。3.2 二段保护整定与下级一段配合灵敏度校验卡得最严二段保护不能随便按“躲过本线路末端最大短路电流”来整定那样定值会太高导致本线路末端故障时灵敏度不够。正确的做法是与下级线路BC线路的一段保护配合让保护范围伸入下一级但不超过下级一段的保护范围末端。先算保护2线路BC的一段定值Iop1_next Krel1 × I(3)kC.max 1.25 × 1740 ≈ 2175A工程上取2200A然后保护1的二段定值与它配合Iop2 Krel2 × Iop1_next 1.1 × 2200 2420A工程上取2400A配合系数Krel2取1.1~1.2比一段的可靠系数小因为上级二段与下级一段之间已经有时间差0.5s来保证选择性电流裕度可以适当缩小太小则失去配合意义太大则灵敏度被压低。取1.1是工程常见做法。二段灵敏性校验要求在本线路末端B母线最小运行方式下两相短路时灵敏度系数达到1.3以上Ksen2 I(2)kB.min / Iop2 3274 / 2400 ≈ 1.36大于1.3合格。要说的是二段灵敏度是整套整定里最容易卡壳的环节。如果这条AB线路很短或者系统中阻抗占比很大哪怕配合系数已经取到1.1灵敏度都可能低于1.3。这时候需要重新审视配合关系或者适当牺牲一些选择性、减小二段定值甚至考虑改用方向性电流保护来解耦。灵敏度不达标时强行提高定值等于让线路末端故障靠三段来切除这是设计上不能接受的。3.3 三段保护整定返回系数、自启动系数一个都不能少三段保护按照躲最大负荷电流来整定公式是Iop3 (Krel3 × Mss / Kre) × IL.max对线路AB最大负荷电流400A可靠系数Krel3取1.2自启动系数Mss取1.5返回系数Kre取0.85代入Iop3 (1.2 × 1.5 / 0.85) × 400 ≈ 847A工程上取850A这里解释三个系数的物理意义可靠系数1.2保证正常负荷波动不会误动自启动系数1.5考虑故障切除后负荷电动机同时自启动电流会明显超过正常值返回系数0.85则是为了保证保护动作后电流回落到整定值以下时能可靠返回。如果返回系数取接近1保护动作后只要电流略微下降就返回容易在故障切除后的负荷电流波动中反复动作、非常危险。三段保护的灵敏性校验分两处近后备本线路末端两相短路电流 / 三段定值 ≥ 1.5 Ksen3_near 3274 / 850 ≈ 3.85满足远后备相邻线路末端C母线两相短路电流 / 三段定值 ≥ 1.2 Ksen3_far 1495 / 850 ≈ 1.76满足动作时间从末端往上逐级递增。假设线路BC末端变压器保护的最长动作时间是0.5s则保护2的三段取1.0s保护1的三段在保护2三段基础上再加一个时间阶梯取1.5s。阶梯时间Δt取0.5s要大于断路器动作时间加上保护装置固有动作时间、再加上时间继电器误差的累积0.5s在这个电压等级下是可靠的选择。三段保护最常被忽略的是远后备灵敏度。线路越长、级数越多越靠近电源的线路其三段保护要“看”得越远但远端故障电流经过多级线路阻抗衰减后可能已经不大。这个案例里1.76的裕量还算健康如果裕量逼近1.2甚至更低就要考虑把定值进一步降低或者把三段保护升级为带方向判别的过流保护避免在环网或双端电源场景下误动。我把三个保护的整定结果汇总如下保护段整定公式计算电流实际取值动作时间保护1一段1.25 × I(3)kB.max4811A4800A0s保护1二段1.1 × Iop1_next2420A2400A0.5s保护1三段(1.2×1.5/0.85) × IL.max847A850A1.5s保护2一段1.25 × I(3)kC.max2175A2200A0s保护2二段1.1 × 变压器速断定值1040A1040A0.5s保护2三段(1.2×1.5/0.85) × IL.max529A530A1.0s所有数值均已算出并且通过了灵敏度校验。4. MATLAB代码实现从参数定义到整定校验的完整脚本思路4.1 定义系统参数和短路电流计算函数MATLAB脚本的第一步是定义系统参数。我喜欢把所有物理量都写成带单位变量的形式这样后面改动参数时非常直观哪条线路长了、哪个阻抗变了一目了然。% 系统参数有名值单位V, Ω, km, A U 110e3; % 额定线电压 110kV Z_s_max 0.5; % 最大运行方式系统阻抗最小阻抗 Z_s_min 0.8; % 最小运行方式系统阻抗最大阻抗 z_line 0.4; % 线路单位长度正序阻抗 Ω/km % 线路参数 L_AB 40; Z_AB z_line * L_AB; L_BC 50; Z_BC z_line * L_BC; % 负荷电流 IL_AB 400; IL_BC 250;短路电流计算我单独封装成函数避免在脚本里反复写公式。三相短路和两相短路的公式形式固定用函数封装后不容易手误。function I3 calc_I3(U, Z) I3 U / (sqrt(3) * Z); end function I2 calc_I2(U, Z) I2 U / (2 * Z); end注意两相短路公式里没有√3这和三相短路公式的分母位置不同新手最容易在这里搞混。写成函数后每次调用只传总阻抗Z不用再纠结电压是线电压还是相电压也不容易把0.866的系数用错。4.2 短路电流计算和整定校验脚本主脚本按顺序做四件事算各母线短路电流、算一 二段定值、算三段定值和灵敏性、输出整定表格。% 第一步计算各点短路电流 I3_kB_max calc_I3(U, Z_s_max Z_AB); % B母线三相短路最大方式 I2_kB_min calc_I2(U, Z_s_min Z_AB); % B母线两相短路最小方式 I3_kC_max calc_I3(U, Z_s_max Z_AB Z_BC); % C母线三相短路最大方式 I2_kC_min calc_I2(U, Z_s_min Z_AB Z_BC); % C母线两相短路最小方式 % 第二步整定计算 Krel1 1.25; Krel2 1.1; Krel3 1.2; Kre 0.85; Mss 1.5; % 保护1线路AB Iop1_1 Krel1 * I3_kB_max; % 一段 Iop1_next Krel1 * I3_kC_max; % 下级保护2一段 Iop2_1 Krel2 * Iop1_next; % 二段与下级一段配合 Iop3_1 Krel3 * Mss / Kre * IL_AB; % 三段 % 保护2线路BC Iop1_2 Iop1_next; % 一段 Iop2_2 1040; % 二段与变压器速断配合 Iop3_2 Krel3 * Mss / Kre * IL_BC; % 三段 % 第三步灵敏性校验 Ksen1_2 I2_kB_min / Iop2_1; % 保护1二段近后备 Ksen3_1_near I2_kB_min / Iop3_1; % 保护1三段近后备 Ksen3_1_far I2_kC_min / Iop3_1; % 保护1三段远后备 Ksen2_2 I2_kC_min / Iop2_2; % 保护2二段灵敏度 Ksen3_2_near I2_kC_min / Iop3_2; % 保护2三段近后备执行之后在命令窗口直接查看变量值就能得到前面表格里所有整定结果。完整脚本最核心的逻辑其实就是三组公式和三组校验MATLAB在这里的价值不是算得比手算快而是方便改参数。比如把可靠系数Krel1从1.25改成1.3或者把线路BC从50km改成30km所有定值和灵敏系数立刻跟着变配合曲线也能马上重画这对方案比选特别有用。4.3 绘制时间配合阶梯图的MATLAB技巧整定计算的最后一步是画时间阶梯配合图也就是把各保护的动作电流和动作时间用阶梯线画在同一张图上。这个图做出来之后配合关系是否合理一眼就能看出来。figure; hold on; % 保护1三段动作电流850A时间1.5s plot([Iop3_1 Iop3_1], [0 1.5], k--, LineWidth, 1.5); % 保护1二段动作电流2400A时间0.5s plot([Iop2_1 Iop2_1], [0 0.5], b-, LineWidth, 1.5); % 保护1一段动作电流4800A时间0s plot([Iop1_1 Iop1_1], [0 0.1], r-, LineWidth, 1.5); % 依次画保护2的各段... xlabel(动作电流A); ylabel(动作时间s); ylim([0 2]); grid on;画图的细节是每一条线从动作电流值开始画到对应的动作时间竖线的x坐标代表这个保护的启动门槛y坐标封顶在动作时间上。实际工程图里还会把灵敏度校验点、上一级和下一级保护的线用不同线型区分开。这张图不需要太花哨重点是分级清晰、时间差肉眼可见答辩或汇报时放出来非常出效果。5. 数值算完只是第一步校验、画图与调整的经验之门5.1 灵敏性校验不通过时的调整顺序灵敏性校验这个东西表面上是算一个比值但实际调试时往往要反复试好几轮。我的经验是发现灵敏性不达标时先不要急着改定值而要按照以下顺序排查第一检查系统运行方式是不是取对了。最大运行方式对应最小系统阻抗最小运行方式对应最大系统阻抗这两个概念反了所有校验全部报废。第二检查故障类型。校验灵敏度用的是两相短路电流不是三相短路电流两相短路要比三相短路小约13.4%用错了会让结果失真。第三再回头审视配合关系。二段定值如果是按下级一段配合取出来的可以试着把配合系数Krel2从1.1降到1.05或者把下级一段的可靠系数Krel1从1.25降到1.2这样二段定值整体下移灵敏度随之上升。第四最后一个手段是改变系统阻抗参数或线路长度假设看看是不是现场实际施工参数与设计参数偏差过大导致的异常。在实际的工程案例中二段灵敏度不过是最常见的整定难题。尤其是当本线路很短、下级线路很长或者系统阻抗很大时本线路末端和下级线路首端的短路电流差别很小给二段留出的“整定空间”非常窄。5.2 一段保护范围的计算与图形化显示一段保护并不是安装在哪里都能成立的。如果一段保护范围太短比如低于线路全长的15%就失去快速切除近区故障的意义了。保护范围的计算方法是反推在最小运行方式下发生两相短路短路电流恰好等于一段动作电流的位置就是保护范围的边界。之前3.1节已经算过AB线路的一段保护范围从母线A往线路方向看能保护到26.6km处占全长66.6%。用MATLAB可以把这个过程图形化L_range linspace(0, L_AB, 200); I_fault U ./ (2 * (Z_s_min z_line * L_range)); plot(L_range, I_fault, b-, LineWidth, 1.5); hold on; yline(Iop1_1, r--, 一段定值); xlabel(故障距离km); ylabel(两相短路电流A);图上非常直观故障点距离越远短路电流越小与一段定值水平线相交的位置就是保护范围末端。如果这条交点落在后段说明一段保护覆盖良好如果交点贴近母线甚至根本不相交说明这段线路不适合装设电流速断保护需要有“线路很短时一段保护没有明显作用”的意识。5.3 时间阶梯配合图中容易出现的两个设计误区时间配合图最常见的误区是“把所有保护的时间都尽量往短了调”。乍一看时间越小切除越快但整定过紧会导致级差不足断路器动作时间、保护装置固有动作时间、时间继电器误差、CT饱和后的动作延迟每一项都要占用时间裕度。级差取0.3s在110kV及以上电压等级勉强可用但现场维护水平参差、开关动作时间离散性大时0.5s更稳妥。这个案例里统一用0.5s低压侧或者220kV以上系统还可以进一步优化但初学阶段没必要冒这个险。第二个误区是“只看电流大小、不看方向”。在环网或双电源供电场景里故障电流会从多个方向流入故障点靠单一电流幅值无法判断故障区间。三段式电流保护本质上是辐射网的逻辑接在环网上必须叠加方向元件才成立。做整定计算时先确认你的网络拓扑是辐射网如果是环网要么按环网分式解环后的运行方式计算要么加上方向保护这一点在设计阶段就要想清楚。6. 实操中容易踩的坑与排查建议我把整个仿真和整定过程中个人踩过、也见过别人踩过的坑整理成了表格按出险概率排序现象根本原因排查与解决办法二段灵敏度长期低于1.3与下级一段配合空间不足线路长度比例不合理减小配合系数调整线路长度假设必要时升级为方向电流保护一段保护范围为零线路太短或系统阻抗占比过高退出该段的一段保护仅用二段三段覆盖或者在定值单中允许更长的保护范围三相短路和两相短路电流用混公式选择错误或没注意运行方式统一封装函数校验脚本中明确注释故障类型与运行方式三段保护动作后频繁返回返回系数取值接近1或负荷电流接近定值Kre推荐0.85左右且校验最大负荷电流时预留30%以上裕度时间配合图阶梯重叠每级级差太小或整定表漏算重建时限配合表每级至少增加0.5s曲线图坐标不匹配电流单位混了kA和A全部用A画图时再按需换算或在坐标轴标注中明确单位参数改了但结果没变MATLAB脚本有旧变量缓存或没保存重跑用clear all清工作区重新执行全脚本这些坑里最隐蔽的是“三相短路和两相短路用混”。从数学上看I(2) 0.866 × I(3)有些人觉得“差得不多”直接在灵敏度校验里用0.866乘一下三相短路电流也不再区分运行方式。但最大运行方式下的三相短路电流和最小运行方式下的两相短路电流不仅故障类型不同、系统的运行方式也不同两者叠加差异可以到20%甚至更多。我校验结果那么健康正是因为每一步都严格按“最大方式整定、最小方式校验”的规程走。另外还有一条特别实战的经验所有定值在算出来之后都要“取整”到方便现场整定的值。4800A、2400A、850A这些数字理论上精确值是4811A、2420A、847A但实际保护装置的定值整定步长和互感器变比决定了定值只能在一定范围内设置。我在脚本里最后一步做round取整保留整数或者50的倍数既不影响保护性能又给现场调试省事。还有一次我在校验保护2的三段远后备灵敏度时发现如果把变压器低压侧假设的两相短路电流算进去数值只有693A比定值530A高不了多少灵敏度勉强1.31。这个例子说明相邻变压器低压侧的故障电流经过变压器阻抗大幅衰减后对高压侧三段保护来说已经“鞭长莫及”。远后备保护能发挥作用的前提是相邻元件阻抗不能太大变压器这类大阻抗元件不能指望太远的后备否则就要考虑配置专用母线保护或者变压器保护。个人在实际操作中的体会是三段式电流保护整定最容易出彩的地方不是背下那些公式而是真正理解每一个系数的“取值范围为什么长这样”。可靠系数、返回系数、自启动系数每一个都是从多年运行经验里沉淀出来的它们的大小背后是保护可靠性和灵敏性之间的平衡。MATLAB在这里干的最有价值的一件事就是把这些需要反复试算的校验过程变成了改参数就能出结果的工具。拿到一个完全陌生的系统参数时花十分钟把脚本跑一遍、把灵敏性曲线画出来比翻三天参考书都管用。