☰
三段式电流保护整定计算:从公式推导到Matlab可视化实战
2026/10/13 15:36:46 网站建设 项目流程

做继电保护的人,谁还没被三段式电流保护折磨过几回。教材里一段、二段、三段写得明明白白,真到自己拿着一个双线路网络去整定计算,才发现到处都是坑:单位搞混、灵敏度算出来不够、时限配合捋不顺。我前两年带课程设计时,把这道题从纯手算升级成Matlab脚本加曲线可视化,整个流程跑下来顺畅多了,学生出错的概率也明显下降。今天就拿一个典型的110kV双线路算例,把一段、二段、三段保护的数值计算完整走一遍,每一步的公式、代码、校验逻辑都会写清楚,也把我在实际计算里踩过的坑一并抖出来。这篇文章适合刚接触继电保护的学生、准备继保课程设计的人,以及正在做电网运行方式分析的新入职工程师。

1. 三段式电流保护的整定逻辑梳理

1.1 为什么非要“一段、二段、三段”配在一起

先说一个很多初学者容易忽略的点:三段式电流保护不是三个独立方案,而是一套“由近到远、由快到慢”的配合体系。只有一段时,它瞬时动作、特别快,但保护范围只覆盖线路首端附近,末端故障它根本够不着;只有三段时,保护范围能到相邻线路甚至更远,但动作时间太长,故障不切除会让设备烧坏。所以实际保护配置把“速动性”和“选择性、灵敏性”拆开,让一段负责最危险、最近处的故障,二段补上本线路全长的保护,三段留作后备。

理解这条逻辑线后,再看整定公式就不会死记硬背了。每个保护段回答的问题不同:一段回答“多远以内我可以无延时跳掉”,二段回答“本线路没来得及动作时谁上来”,三段回答“前面所有保护都拒动时我能不能兜底”。

1.2 三个保护段的整定公式与物理含义

我习惯把三个保护段的整定逻辑整理成一张表,放在手边,计算之前先确认自己用的是哪套公式:

保护段整定原则整定公式灵敏性要求
I段(瞬时电流速断)躲过本线路末端最大三相短路电流(I_{dz}^{I}=K_{rel}^{I}\cdot I_{k.max}^{本线路末端})最小保护范围≥线路全长15%~20%
II段(限时电流速断)躲过相邻线路I段保护范围末端短路,或与相邻线路II段配合(I_{dz}^{II}=K_{rel}^{II}\cdot I_{dz}^{相邻段})本线路末端最小两相短路电流下,(K_{sen}\geq1.3\sim1.5)
III段(定时限过电流)躲过本线路最大负荷电流(I_{dz}^{III}=\dfrac{K_{rel}^{III}\cdot K_{st}}{K_{re}}\cdot I_{L.max})近后备≥1.3~1.5,远后备≥1.2

可靠系数取值也有讲究。I段通常取1.2~1.3,这个裕度要吸收非周期分量、互感器传变误差和计算误差;II段因为已经和相邻保护配合,系数可以稍微放宽,取1.1~1.2;III段面对的是负荷电流,要考虑可靠系数、自启动系数和返回系数三者的联合作用。

1.3 时间阶梯与选择性是怎么“错开”的

三段式保护的选择性除了靠定值,还要靠时间阶梯。保护动作时间的安排原则很简单:从最下游的线路往电源侧,每一级保护的动作时间递增加一个时间阶梯(\Delta t)。常规(\Delta t)取0.3~0.5s,我习惯取0.5s,稳妥。

为什么梯度不能太小?因为要让上一级保护在动作前,确实给下一级保护留出“启动、判断、出口跳闸、断路器分闸”的完整时间。断路器分闸时间本身就要几十毫秒,再加上保护装置的动作时间、返回时间以及时间继电器误差,0.5s的阶梯在工程上最常用。

2. 用Matlab搭建整定计算框架

2.1 为什么选Matlab而不是手算或Excel

手算三段式保护其实不难,难的是“整定→校验→不合格→调参数→再校验”这个循环。我第一次做课程设计时,手算调整一次定值,等于把全部公式重新抄一遍,算完基本就不想改了。用Excel也能做,但公式藏在单元格里,逻辑不直观,画保护范围曲线又得另起炉灶。

Matlab的好处是脚本即文档。所有公式摊开写在脚本里,参数改一个数,重新跑一下,定值、灵敏度、保护范围一次全出来。再加上它自带绘图能力,短路电流随距离变化的曲线可以直接画出来和定值线做对比,这对理解“保护范围到底在哪里”帮助非常大。

2.2 算例网络与参数设定

为了让计算过程完整且可复现,我构造一个典型的110kV双线路辐射网络:母线A经线路AB供电到母线B,母线B再经线路BC供电到负荷侧。保护安装在线路AB靠近母线A的一侧,要对AB线路配置三段式电流保护,同时校验它与相邻线路BC保护的配合。

所有参数用有名值计算,电压单位V、电流单位A、阻抗单位Ω、长度单位km,避免标幺值换算在初学时带来的额外负担。

参数符号数值
系统额定线电压(U_N)110kV
线路AB长度(L_{AB})20km
线路BC长度(L_{BC})15km
线路单位电抗(x_1)0.4Ω/km
最大运行方式系统阻抗(X_{s.min})3Ω
最小运行方式系统阻抗(X_{s.max})5Ω
最大负荷电流(I_{L.max})200A
I段可靠系数(K_{rel}^{I})1.3
II段可靠系数(K_{rel}^{II})1.15
III段可靠系数(K_{rel}^{III})1.2
自启动系数(K_{st})1.5
返回系数(K_{re})0.85

2.3 短路电流计算的三条基础公式

整套计算只依赖三个公式,搞清楚这三个公式,后面代码就是在反复调用它们。

第一,最大运行方式下线路末端三相短路电流。它决定I段定值,公式是:

[ I_{k.max}^{(3)}=\frac{E_{\phi}}{X_{s.min}+X_{线路}} ]

(E_{\phi})是相电势。对110kV系统来说(E_{\phi}=110kV/\sqrt{3}\approx63.5kV)。

第二,最小运行方式下两相短路电流。它决定灵敏度校验,公式是:

[ I_{k.min}^{(2)}=\frac{\sqrt{3}}{2}\cdot\frac{E_{\phi}}{X_{s.max}+X_{线路}} ]

有个很好记的规律:对于110kV系统,(\frac{\sqrt{3}}{2}\cdot E_{\phi}=55kV),正好是线电压的一半。所以两相短路电流可以直接写为(U_N/2)除以总阻抗。

第三,I段最小保护范围校验。令最小运行方式下两相短路电流等于I段定值,反解故障距离:

[ l_{min}=\frac{1}{x_1}\left(\frac{55kV}{I_{dz}^{I}}-X_{s.max}\right) ]

这个式子的物理意义很直白:在系统最弱、故障类型最不利的情况下,短路电流还能大于I段定值的线路长度只有这么远。

3. 核心代码实现与分层整定

3.1 一段保护整定:定值计算加保护范围校验

先说一段保护。基于前面参数,Matlab脚本从系统参数定义开始:

% 三段式电流保护整定计算 % 单位约定:V / A / Ω / km U_N = 110e3; % 额定线电压 E_ph = U_N / sqrt(3); % 相电势,约63508V x1 = 0.4; % 线路单位电抗 L_AB = 20; X_AB = x1*L_AB; % 线路AB阻抗 L_BC = 15; X_BC = x1*L_BC; % 线路BC阻抗 Xs_min = 3; % 最大运行方式系统阻抗 Xs_max = 5; % 最小运行方式系统阻抗 IL_max = 200; % 最大负荷电流 Krel_1 = 1.3; Krel_2 = 1.15; Krel_3 = 1.2; Kst = 1.5; Kre = 0.85;

I段整定关键是最大运行方式下AB末端三相短路电流:

% I段:躲过线路AB末端最大三相短路电流 I_k_AB_max = E_ph / (Xs_min + X_AB); % 5773.5 A I_dz_I = Krel_1 * I_k_AB_max; % 7505.5 A % 最小保护范围校验(最小运行方式下两相短路) l_min = ((U_N/2) / I_dz_I - Xs_max) / x1; % 5.82 km l_min_pct = l_min / L_AB * 100; % 29.12% fprintf('I段整定值:%.1f A\n', I_dz_I); fprintf('最小保护范围:%.2f km,占全长 %.1f%%\n', l_min, l_min_pct);

跑出来的结果是I段定值7505.5A,最小保护范围5.82km,占全线长29.12%,大于20%,合格。

这里有个细节值得多说一句:为什么最小保护范围校验用的是“最小运行方式下的两相短路”,而不是最大运行方式下的三相短路?因为保护范围短不短,要看最不利的情况。系统最小运行方式下系统阻抗最大,短路电流最小;两相短路电流又比三相短路小。这两种因素叠加,得到的保护范围是最短的,如果这种情况下都满足20%的要求,其他情况下更没问题。

3.2 二段保护整定:与相邻I段配合的“失败案例”

二段的常规做法是与相邻线路BC的I段配合。先算出BC线路末端在最大运行方式下的三相短路电流,再乘BC的I段可靠系数,得到相邻线路I段定值,最后用本保护的可靠系数和它配合:

% II段:先尝试与相邻线路BC的I段配合 I_k_BC_max = E_ph / (Xs_min + X_AB + X_BC); % 3735.8 A I_dz_BC_I = Krel_1 * I_k_BC_max; % 4856.5 A I_dz_II = Krel_2 * I_dz_BC_I; % 5585.0 A % 灵敏度校验:本线路AB末端最小两相短路电流 I_k_AB_min = (U_N/2) / (Xs_max + X_AB); % 4230.8 A Ksen_II = I_k_AB_min / I_dz_II; % 0.76 fprintf('II段初次整定:%.1f A\n', I_dz_II); fprintf('II段灵敏度:%.2f(要求≥1.3)\n', Ksen_II);

灵敏度0.76,远低于1.3,不合格。这个结果我在教学时经常会碰到,不是算错了,而是二段整定里最典型的工程矛盾:相邻线路BC末端短路电流大,导致BC的I段定值大,AB的II段被迫抬高,结果AB线路末端最小两相短路电流又不够看了。线路AB比BC长、或者系统阻抗变化幅度大时,这个问题尤其突出。

3.3 二段保护调整:换用与相邻II段配合

面对灵敏度不足,最直接的调整思路有两个。一是把II段可靠系数从1.15降到1.1,但这里算下来只有0.79,仍然不够。二是改用与相邻线路BC的II段配合,牺牲一部分速动性,换取明显更低的整定值。

BC线路的II段需要保护BC全长,我们按“BC末端最小两相短路电流除以1.3”反推一个BC II段定值,然后AB的II段与它配合:

% BC线路末端最小两相短路电流 I_k_BC_min = (U_N/2) / (Xs_max + X_AB + X_BC); % 2894.7 A % BC II段按常规近后备灵敏度1.3反推 I_dz_BC_II = I_k_BC_min / 1.3; % 2226.7 A % AB II段与BC II段配合 I_dz_II = 1.1 * I_dz_BC_II; % 2449.4 A Ksen_II = I_k_AB_min / I_dz_II; % 1.73 fprintf('II段调整后整定值:%.1f A\n', I_dz_II); fprintf('II段灵敏度:%.2f(合格)\n', Ksen_II);

调整后II段定值2449.4A,灵敏度1.73,满足要求。代价是时限变长:BC的II段按常规取0.5s,AB的II段要再错开一个(\Delta t),取1.0s。

这里必须提醒一句:上面反推BC II段定值是简化演示。实际工程中BC的II段定值还要和更下游的保护配合,不是随便按灵敏度反推一下就能用的。但作为理解“二段灵敏度不够时怎么调整”的教学算例,这个思路完全成立。

3.4 三段保护整定与三级时限配合

三段保护的任务是作为本线路和相邻线路的后备,整定核心是躲过最大负荷电流:

% III段:躲过最大负荷电流 I_dz_III = (Krel_3 * Kst / Kre) * IL_max; % 423.5 A % 近后备灵敏度:AB末端最小两相短路 Ksen_III_near = I_k_AB_min / I_dz_III; % 9.99 % 远后备灵敏度:BC末端最小两相短路 Ksen_III_far = I_k_BC_min / I_dz_III; % 6.84 fprintf('III段整定值:%.1f A\n', I_dz_III); fprintf('近后备灵敏度:%.2f(要求≥1.5)\n', Ksen_III_near); fprintf('远后备灵敏度:%.2f(要求≥1.2)\n', Ksen_III_far);

III段定值423.5A,做近后备灵敏度9.99,远后备灵敏度6.84,全部合格。注意灵敏度这么高并不奇怪,过电流保护的定值是按负荷电流整定的,本身很小,而短路电流通常有几千安,数值上自然很充裕。

三个保护段的时限配合,最后整理成一张时间阶梯表:

保护段时限配合关系动作时间
BC I段瞬时0s
BC II段BC I段+Δt0.5s
BC III段BC II段+Δt1.0s
AB I段瞬时0s
AB II段与BC II段配合,BC II段+Δt1.0s
AB III段与BC III段配合,BC III段+Δt1.5s

这张表就是后面画时间配合梯形图的基础。

4. 实操中的高频坑点与排查建议

4.1 单位混用:算出来的保护范围直接“消失”

我见过太多初学者把110kV直接写成110,而不是110e3。相电势变成63.5V,短路电流直接小了1000倍。更隐蔽的是三相短路电流公式中如果(E_{\phi})用V、总阻抗用Ω,得到的电流单位是A;但如果有人习惯用kA做输出,又忘了在保护范围公式里把A换算回kA,最小保护范围就会算出一个离谱的数,甚至出现“负公里”。

排查单位问题我有个固定套路:先看短路电流数量级对不对。110kV系统、线路阻抗几个欧姆,短路电流应该在千安级别,如果代码算出几十安,那肯定是电压单位或阻抗单位出了问题。

4.2 最小保护范围出现负值的三种可能

I段保护范围校验时,如果l_min算出来是负值,说明“即使故障发生在母线出口,短路电流都达不到I段定值”,这肯定不对。三个常见原因:

第一,最小运行方式系统阻抗取得太大。比如把Xs.max从5Ω改成12Ω,故障点在线路首端的短路电流都只有不到4.6kA,小于I段定值7.5kA,保护范围直接就不存在了。实际计算前要确认运行方式数据是否合理,最小方式不是随便取的。

第二,I段可靠系数取得偏大。可靠系数1.3已经不算小,如果再人为抬高,保护范围会迅速缩水。

第三,线路长度与系统阻抗不匹配。短线路配大系统阻抗,一段很容易出现保护范围不足,这时候与其勉强调系数,不如考虑改用其他保护原理,这是很多课程设计和工程计算里都会遇到的问题。

4.3 二段灵敏度不足时,常用的几种调整手段

我在3.3节演示了从“与相邻I段配合”切换到“与相邻II段配合”,这是最有效的手段。除此之外,实际工程里还有几种常见的调整策略:

调整手段灵敏度变化代价
降低II段可靠系数小幅提升裕度减小,误动风险略增
与相邻II段配合大幅提升时限从0.5s增加到1.0s
缩短相邻线路配合长度中幅提升可能失去对相邻末端的后备作用
重新核对最小运行方式取决于系统数据需向调度确认运行方式清单
改用其他原理保护彻底改善配置复杂度上升

实际整定不追求“灵敏度越高越好”。灵敏度过高,意味着保护范围延伸很远,可能与多个下游保护的时间阶梯打架。所以最终方案要在灵敏性和选择性之间找平衡,算出来的数还要放回整个保护配合表里整体检查一遍。

4.4 三段保护的负荷电流参数陷阱

三段定值公式里三个系数都容易踩坑。自启动系数(K_{st})要按线路实际负载类型来取,全是电动机负荷的线路取1.5~2.0,纯电阻性负荷可以取小一些。返回系数(K_{re})为什么小于1,很多人不理解:常规过流继电器动作后,要等电流降到“返回电流”以下才复归,返回电流比动作电流小;整定公式里除以(K_{re}),就是保证继电器在负荷电流波动时能可靠返回。

如果用的是微机保护,返回系数物理上可以更接近1,但为了与常规保护配合,很多整定方案里仍然保留0.85~0.95这个范围。这个细节在考试里容易丢分,工程上却直接影响定值大小。

5. 可视化表达与结果再校验

5.1 短路电流随距离变化曲线与定值线

算完三个定值,我再习惯性画一张“短路电流-故障距离”曲线图。横轴是故障点距母线A的距离,纵轴是短路电流,红色实线是最大运行方式下沿线路各点三相短路电流,蓝色虚线是最小运行方式下沿线路各点两相短路电流。然后把三个定值线画成水平线,和曲线相交的位置就是各保护段的实际边界。

d = linspace(0, L_AB, 500); I_3ph = E_ph ./ (Xs_min + x1*d); I_2ph_min = (U_N/2) ./ (Xs_max + x1*d); figure('Color','w'); plot(d, I_3ph/1e3, 'r-', 'LineWidth', 1.5); hold on; plot(d, I_2ph_min/1e3, 'b--', 'LineWidth', 1.5); plot([0 L_AB], [I_dz_I I_dz_I]/1e3, 'k-', 'LineWidth', 1.2); plot([0 L_AB], [I_dz_II I_dz_II]/1e3, 'g-', 'LineWidth', 1.2); plot([0 L_AB], [I_dz_III I_dz_III]/1e3, 'm-', 'LineWidth', 1.2); legend('三相短路(最大方式)','两相短路(最小方式)', ... 'I段定值','II段定值(调整后)','III段定值','Location','east'); xlabel('故障点距母线A的距离 (km)'); ylabel('短路电流 (kA)'); grid on;

这张图画完,I段保护范围5.82km就能直接从蓝色虚线与黑色I段定值线的交点读出来。II段定值线2449.4A明显“压得很低”,说明它是靠时限而不是靠定值区分选择性的。

5.2 时间配合梯形图:肉眼检查越级问题

计算完定值和时限,我还会画一张梯形图,把每个保护段的保护范围和动作时间画成矩形块。横轴是线路走廊位置,从母线A到母线B再到母线C,纵轴是动作时间。

figure('Color','w'); hold on; xlim([0 38]); ylim([0 2.0]); rectangle('Position',[0, 0, 5.82, 0.06], 'FaceColor',[0.2 0.6 0.9]); rectangle('Position',[0, 1.0, 35, 0.06], 'FaceColor',[0.3 0.8 0.5]); rectangle('Position',[0, 1.5, 35, 0.06], 'FaceColor',[0.9 0.6 0.2]); % BC侧 rectangle('Position',[20, 0, 5.2, 0.06], 'FaceColor',[0.4 0.4 0.8]); rectangle('Position',[20, 0.5, 15, 0.06], 'FaceColor',[0.2 0.7 0.8]); rectangle('Position',[20, 1.0, 15, 0.06], 'FaceColor',[0.8 0.8 0.2]); text(2, 0.12, 'AB I段(0s)'); text(2, 1.12, 'AB II段(1.0s)'); text(2, 1.62, 'AB III段(1.5s)'); text(22, 0.12, 'BC I段(0s)'); text(22, 0.62, 'BC II段(0.5s)'); text(22, 1.12, 'BC III段(1.0s)'); xlabel('线路位置 (km)'); ylabel('动作时间 (s)');

梯形图的价值在于同一张图里看到“同一位置故障时,谁先动、谁后动”。比如母线B附近故障,BC I段0s跳、AB II段要到1.0s才跳,时间差足够让BC侧抢先把故障切除。如果肉眼看到某两块矩形在时间和空间上重叠过多,就要回头检查配合关系。

5.3 用表格清单做最后的再校验

我把最终整定结果汇总成一张表,检查每一段的定值、时限、灵敏度是否互相矛盾:

保护段整定值时限校验结果
I段7505.5A0s最小保护范围29.1%,合格
II段2449.4A1.0s近后备灵敏度1.73,合格
III段423.5A1.5s近后备9.99,远后备6.84,合格

Matlab里可以直接用table输出:

T = table({'I段';'II段';'III段'}, ... [I_dz_I; I_dz_II; I_dz_III]/1e3, ... [0; 1.0; 1.5], ... {'保护范围29.1%'; '灵敏度1.73'; '近后备9.99'}, ... 'VariableNames', {'保护段','定值_kA','时限_s','校验结论'}); disp(T);

再校验这一步不能省。我见过不少定值单,每个段落单独看都对,放在一起却发现II段灵敏度刚好卡线、III段时间和相邻线路重叠这种问题。整定计算最后一步一定是“整体回看”。

最后说一个自己实践中的体会:三段式电流保护的计算本身不复杂,真正的经验都在“调整循环”里。第一次算出不合格结果别急着怀疑代码,先把物理过程想清楚——是系统运行方式的问题,还是相邻保护配合的问题,还是本身这个线路条件就不适合用电流保护。Matlab能帮你快速跑完整个循环,但决定往哪个方向调,靠的还是对保护原理的理解。动手把参数改一改,观察保护范围曲线怎么移动,几次下来,这套配合逻辑就真正印在脑子里了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询