简介:这份PDF文档面向电气工程专业学生、继电保护初学者及教学实验教师,围绕Matlab/Simulink中的三段式电流保护与零序电流保护仿真建模展开,可用于理解过电流保护配合、接地故障响应及保护动作验证。文档以1个PDF文件交付,包体约984KB,主要通过图文讲解承载模型结构、整定值设置与仿真分析思路,适合课程设计、毕业设计及自学建模参考。已有1561人学习,说明其在继电保护仿真入门场景中具有一定参考价值。读者可梳理瞬时电流速断、定时限与反时限过电流的分段逻辑,了解零序电流滤序和整定比较的实现方式,并借助电流互感器、比较单元、延时逻辑、故障注入及结果分析等环节复现模型,观察保护动作时间与保护区范围,为参数调整和性能优化提供依据。
1. Simulink三段式电流保护仿真:波形能跑通,判据未必是对的
仿真里最容易得到“好看”的结果:断路器按时跳开,电流波形干净利落,Scope 上一切正常,但把整定值和动作时序拉出来核对,会发现 I 段保护范围只有 40%,II 段灵敏系数只有 0.9,上下级几乎同时跳闸。Simulink 继电保护建模真正困难的地方,从来不是把模块连起来,而是把三段电流保护的选择性、零序电流保护的灵敏性,准确映射到一条离散时间轴上:定值、级差、测量窗、断路器分闸时间,任何一项差了半个周波,保护配合关系就整体错位。下面从三段式为什么要分段讲起,一路拆到零序滤过器、相量提取和保护逻辑的源码级写法。
2. 三段式保护的分段依据:为什么越靠近电源越要先跳
2.1 短路电流随距离单调下降,这是全部矛盾的起点
单端电源的辐射状网络里,短路电流由系统等效阻抗与故障点到电源之间的线路阻抗共同决定:故障点越远,回路阻抗越大,短路电流越小。这条单调下降曲线同时带来两个互相冲突的需求:线路首端故障电流最大、对电网冲击最猛,必须尽快切除;线路末端故障电流最小,恰恰最难被识别,却又最需要保护覆盖。如果只用一套过流定值,就必然陷入两难:定值按首端大电流整定,末端故障直接落在动作区外,保护出现死区;定值按末端小电流整定,首端近区短路时保护反而要等待长延时,母线和相邻设备要承受更长的高温与电动力冲击。
三段式保护更本质的设计思路,是用“电流定值 × 时间定值”这两维信息把一条线路的保护范围切成三块互相重叠的区域,速度和范围各让一步:I 段用高定值换速度,牺牲保护范围,只保住线路首端一段;III 段用长延时换范围,把整条线路甚至相邻线路都纳入后备;II 段在两者之间做折中,用较短延时覆盖全线。理解这套“定值—时限”两维切分,是判断仿真结果是否可信的唯一标尺,任何一段动作时间异常,先回到这两维上找对应关系。
2.2 I 段、II 段、III 段的整定原则与配合链路
I 段(瞬时电流速断)的核心是“躲过本线路末端最大短路电流”。整定式是 I_set^I = K_rel^I × I_k.max^(3),可靠系数 K_rel^I 常取 1.2~1.3,取值偏小会把保护范围拉长、容易受线路参数误差和故障电阻影响而误动,取大则保护范围被压短。这样整定出来的保护范围通常只有线路全长的 50%~85%,系统阻抗越小(电源越“强”)、线路阻抗占比越大,I 段能覆盖的比例越低。动作时限上,I 段靠继电器固有动作时间,量级在 0.02~0.04 s,仿真里常直接设为 0 或一个采样周期。
II 段(限时电流速断)不与本线路末端配合,而是与下一级线路的 I 段配合:I_set^II = K_rel^II × I_set.next^I,K_rel^II 取 1.1~1.15,保证下一级 I 段范围外的故障由本级 II 段兜住。时限必须比下一级 I 段多出一个时间级差 Δt:t^II = t_next^I + Δt,Δt 常见取 0.3~0.5 s。灵敏系数按本线路末端最小两相短路电流校验:K_sen = I_k.min^(2) / I_set^II,要求不低于 1.3~1.5,这个系数如果算出来接近 1,说明 II 段在末端几乎“看不见”故障,仿真里会表现为末端故障迟迟不跳。
III 段(定时限过电流)按最大负荷电流整定,必须躲过电动机自启动带来的短时冲击:I_set^III = K_rel × K_ss / K_re × I_L.max,其中 K_rel 取 1.15~1.25,自启动系数 K_ss 取 1.5~3,返回系数 K_re 取 0.85~0.95。时限按阶梯原则逐级累加,越靠近电源越长。III 段既是本线路的近后备,也是相邻元件(下一级线路、变压器)的远后备,远后备灵敏系数要求可放宽到 1.2 左右。
| 保护段 | 整定依据 | 典型时限 | 保护范围 | 灵敏系数要求 |
|---|---|---|---|---|
| I 段 | 躲本线路末端最大三相短路电流 | 0~0.04 s | 线路首端约 50%~85% | 不校验(按范围校核) |
| II 段 | 与下级 I 段配合,K_rel≈1.1~1.15 | t_next^I + (0.3~0.5) s | 全线,并延伸至下级 I 段之外 | ≥1.3~1.5(末端两相短路) |
| III 段 | 躲最大负荷电流,计入自启动与返回系数 | 阶梯累加,逐级 +0.3~0.5 s | 全线 + 相邻元件后备 | 近后备≥1.3,远后备≥1.2 |
| 反时限段 | 启动值 + 时间倍数 TMS | 随电流连续变化 | 同 III 段 | 同 III 段 |
把这张表写成可执行的整定脚本,比在纸上算一遍靠谱得多,尤其是灵敏系数这种“差一点就翻车”的量,手算一次很容易把最小运行方式记反。
% 10 kV 馈线三段式整定(参数为虚构示例,仅演示计算链路) Sb = 100e6; Ub = 10e3; Ib = Sb / (sqrt(3)*Ub); % 基准电流,约 5774 A Zs_max = 1j*0.35; % 最大运行方式下的系统阻抗(pu) Zs_min = 1j*0.52; % 最小运行方式,用于灵敏度校验 ZL = 0.02 + 1j*0.12; % 被保护线路全长阻抗(pu) Ik_end_max = 1.0 / abs(Zs_max + ZL); % 末端三相短路电流(pu) Ik_end_min = 1.0 / abs(Zs_min + ZL); % 末端最小运行方式短路电流(pu) Krel_I = 1.25; I_I = Krel_I * Ik_end_max; % I 段定值:必须大于末端最大短路电流 Krel_II = 1.15; % 与下级 I 段配合,此处用本级 I 段示意 I_II = Krel_II * I_I; IL_max = 0.10; % 最大负荷电流(pu) Kss = 2.0; Kre = 0.9; Krel_III = 1.2; I_III = Krel_III * Kss / Kre * IL_max; Ksen_II = Ik_end_min / I_II; % 应 >= 1.3,否则 II 段保护范围不足 Ksen_III = Ik_end_min / I_III; fprintf('I段 %.3f pu (%.0f A)\n', I_I, I_I*Ib); fprintf('II段 %.3f pu (%.0f A),灵敏系数 %.2f\n', I_II, I_II*Ib, Ksen_II); fprintf('III段 %.3f pu (%.0f A),灵敏系数 %.2f\n', I_III, I_III*Ib, Ksen_III);脚本里最容易写错的是Zs_max与Zs_min的对应关系:短路电流最大对应系统阻抗最小,也就是“最大运行方式”;而灵敏系数校验必须用电流最小的工况,也就是系统阻抗最大的“最小运行方式”。这两个量一旦对调,I 段定值偏小、II 段灵敏系数虚高,仿真出来的保护配合看起来完美,实际一送电就失去选择性。
2.3 反时限特性曲线:III 段不只是“等够时间”
定时限过电流的动作时间是个常数,只要电流超过定值就开始计时,和保护对象的热积累过程没有关系。反时限过电流把 III 段的时间元件换成一条随电流增大而下降的曲线,更贴近导线热效应和熔断器的熔断特性,在长线路、多级配合、电动机回路里配合更平滑。IEC 标准给出三类常用曲线,形式统一:
function t = idmt_trip_time(I, Is, curve, TMS) % I : 故障电流有效值 % Is : 启动值(整定值) % curve: 'si' 标准反时限 | 'vi' 非常反时限 | 'ei' 极端反时限 % TMS : 时间倍数(Time Multiplier Setting),工程上用来整体平移曲线 switch lower(curve) case 'si', K = 0.14; alpha = 0.02; % 标准反时限 case 'vi', K = 13.5; alpha = 1.00; % 非常反时限 case 'ei', K = 80.0; alpha = 2.00; % 极端反时限 otherwise, error('unsupported curve type'); end M = I / Is; % 电流倍数 if M <= 1 t = inf; % 未到启动值,逻辑上永不动作 else t = K * TMS / (M^alpha - 1); end end参数含义需要结合用法理解:M是电流倍数,曲线在 M 略大于 1 时极其陡峭——标准反时限在 M=1.1 时 t 已经大到几十秒,这正是反时限“低倍过流慢慢来”的特性;TMS是唯一的整体缩放因子,调整它只会让整条曲线上下平移,不会改变曲线形状,所以多级配合时先用 TMS 拉开级差,再回头检查大电流端的动作时间是否满足要求。仿真里把它直接当动作时间用是错误的,反时限判据是积分型:电流超过启动值后要持续累积,累积到 1 才出口。
3. 零序电流的来源:三相矢量和不为零意味着什么
3.1 对称分量下的零序通道,为什么它比相间保护灵敏
把三相电流做对称分量分解,零序分量定义为 3I₀ = Ia + Ib + Ic(相量和)。正常对称运行时三相相量互差 120°、幅值相等,矢量和为零;三相对称短路同样没有零序。只有发生接地故障(或严重三相不对称)时,三相电流的矢量和才不再为零,零序通道才被激活。这就是零序保护只对接地故障敏感的根本原因。
更关键的是零序网络的拓扑性质:零序电流只能在变压器中性点接地点之间流通,不经过负荷。也就是说,负荷电流、系统潮流、甚至部分运行方式变化都不会在零序通道里留下分量,零序保护的定值可以压得很低而不会因负荷波动误动——这正是它在小电流接地系统、高阻接地故障里比相间过流保护灵敏得多的原因。仿真建模时这个性质会直接体现在参数上:线路的零序阻抗通常是正序的 2~3 倍,变压器的零序阻抗取决于绕组接法和中性点接地方式,一台 YN,d 接法的变压器,零序电流只能在 YN 侧流通、在 d 侧形成环流而不出线,如果模型里把变压器接法设错,零序保护整定会整体失效。
3.2 零序滤过器与专用零序 CT:误差来源完全不同
工程上有两种取零序量的方式,仿真里必须区分建模,否则误差量级会差一个数量级。第一种是零序电流滤过器:把三相 CT 的二次侧同极性并联求和,用三个 CT 的二次电流相加得到 3I₀。它的不平衡输出来自 CT 的变比误差和励磁电流差异,正常运行时不平衡电流大约在额定电流的 0.5%~2%,三相负荷不平衡、CT 剩磁、非同期合闸都会把它推高。
第二种是专用零序电流互感器:三相电缆同时穿过一个环形铁芯,一次侧三相电流在铁芯内合成,正常对称时磁通互相抵消,不平衡量极小,整定值可以低到 0.02~0.05 倍额定电流。仿真里前者用一个求和模块加三个带变比和饱和特性的 CT 模型实现,后者用理想变流器加三相电流求和近似。如果模型里直接用理想 CT 求和,你会得到一个“零误差”的零序通道,整定值可以压到任意低,仿真结果漂亮,但一放到有剩磁和饱和的现场就完全不成立——这是教学模型和工程模型的分水岭。
3.3 零序 I 段、II 段的整定与时序配合
零序保护同样按段配置。零序 I 段(零序速断)按躲过本线路末端接地短路时流过保护的最大 3I₀ 整定,或者按保护范围反推整定值,动作时限接近零;零序 II 段与下一级零序 I 段配合,加一个时间级差。由于零序电流不受负荷影响,零序 I 段的保护范围通常比相间 I 段更长,能覆盖线路的大部分。
灵敏系数按本线路末端最小接地故障电流校验:K_sen = 3I₀.min / 3I₀.set,近后备要求不低于 1.5。单相接地故障电流的量级可以用 I_k1 = 3U_ph / (Z₁ + Z₂ + Z₀) 估算,Z₀ 越大(中性点接地阻抗越大),故障电流越小,零序保护越难整定。在仿真里跑这组校验,最省事的做法是沿线路布置 5~7 个故障点,每个点分别注入金属性单相接地和经 300 Ω 电阻接地两种故障,记录 3I₀ 幅值,直接得到一条“零序电流—故障位置—过渡电阻”的三维关系,再回头调整定值。
提示:中性点不接地或经消弧线圈接地的系统,单相接地时零序电流是全网对地电容电流,幅值只有几安到几十安,靠幅值判据很难保证选择性,通常需要引入方向元件或群体比幅比相。这类系统在仿真里要单独建模线路对地电容,否则零序电流根本出不来。
4. Simulink 模型的分层结构:连续电磁过程与离散保护逻辑分开
4.1 一次系统搭建:参数设错,后面全是错的
一次系统的最小可用集合包括:三相电源(Three-Phase Source,设置相电压有效值、频率、正序与零序内阻抗)、变压器(Three-Phase Transformer,注意绕组接法和中性点接地参数)、线路(Distributed Parameters Line 或三相串联 RLC,分别填正序和零序的 R、L、C)、三相断路器(Three-Phase Breaker)、故障注入模块(Three-Phase Fault,可选故障相、接地电阻、切换时刻)。整个仿真环境由 powergui 决定:选 Discrete 并把采样步长设为 1e-5~1e-4 s,电磁暂态过程才有足够分辨率;保护逻辑再单独用 0.5e-3~1e-3 s 的采样率降频运行,两层时间尺度分开,既保证波形精度又不至于让逻辑模块每微秒都执行一次。
零序参数是三处最容易漏的地方:电源模块的零序阻抗默认值未必合理,变压器中性点接地方式决定零序通路是否存在,线路模块如果没有勾选零序参数,仿真里 Z₀ 会等于 Z₁,接地故障电流会被严重高估。这三个参数一旦出错,后面所有零序整定都是错的,而且波形上不一定看得出来。
4.2 从瞬时值到可用相量:测量链里的傅里叶窗口
保护判据不能直接拿瞬时采样值比较。三相正弦瞬时值相加在对称运行时恒为零、在接地故障时是脉动量,直接取绝对值去比定值,得到的是一个随相位起伏的数,动作时刻会随机漂移十几毫秒。正确链路是:采样 → 一个工频周期的滑动窗 → 全波傅里叶提取基波相量 → 取模值得有效值 → 送判据。
function [phasor, mag] = dft_1cycle(buf, N, Ts, f0) % buf : 最近一个周波的采样缓冲(实数,长度 N) % N : 一个周波内的采样点数,N = round(1/(f0*Ts)) % Ts : 保护逻辑采样步长 % f0 : 工频,50 Hz n = (0:N-1)'; k = exp(-1j*2*pi*f0*Ts*n); % 基波旋转因子 phasor = (2/N) * sum(buf .* k); % 全波傅里叶,提取基波相量 mag = abs(phasor); % 有效值,可直接与整定值比较 end这段代码的关键在窗口长度N:全波傅里叶需要一个完整工频周期(20 ms)的数据才能给出稳定结果,故障发生后的第一个周波里,窗口内混有故障前数据,测量值是从小到大“爬”上去的,动作时刻天然滞后一个窗口。半波傅里叶把窗口缩到 10 ms,速度快一倍,但偶次谐波抑制能力变差,在含大量直流分量衰减的暂态过程中误差明显。做保护配合校核时,这段窗口时间必须算进总动作时间,否则你整定的 0.3 s 级差,实际会被测量环节吃掉 20 ms。
4.3 保护逻辑:三段判据与零序判据写进一个 MATLAB Function
把所有判据集中在一个 MATLAB Function 模块里,比在 Simulink 里堆比较器和延时模块更容易维护,也更容易把“时间”这件事说清楚。用persistent变量保存定时器和反时限积分量,配合显式的复位条件,行为完全可复现。
function [trip, seg, t_act] = protect_3stage(Ia, Ib, Ic, Ts, enable) % Ia/Ib/Ic : 三相基波相量(复数),由傅里叶模块给出 % Ts : 保护逻辑采样步长(s) % enable : 保护投入信号 persistent t1 t2 t3 acc t_reset if isempty(t1) t1 = 0; t2 = 0; t3 = 0; acc = 0; t_reset = 0; end % ---- 整定值(pu,与第 2 章脚本对应)---- I_set1 = 1.85; T_set1 = 0.00; I_set2 = 2.13; T_set2 = 0.50; I_set3 = 0.55; T_set3 = 1.00; I_set0 = 0.20; T_set0 = 0.10; % 零序段 K_re = 0.95; % 返回系数,低于该比例开始复归 I0 = abs(Ia + Ib + Ic); % 相量和取模 = 3I0 Iph = max([abs(Ia), abs(Ib), abs(Ic)]); trip = false; seg = 0; t_act = 0; if ~enable t1 = 0; t2 = 0; t3 = 0; acc = 0; t_reset = 0; return; end % ---- 零序段:定值低、短延时,优先判断 ---- if I0 > I_set0 t_reset = t_reset + Ts; if t_reset >= T_set0 trip = true; seg = 4; t_act = T_set0; return; end else t_reset = 0; end % ---- I 段:瞬时,无延时 ---- if Iph > I_set1 trip = true; seg = 1; t_act = T_set1; return; end % ---- II 段:定时限 ---- if Iph > I_set2 t2 = t2 + Ts; if t2 >= T_set2 trip = true; seg = 2; t_act = T_set2; return; end else t2 = 0; end % ---- III 段:反时限积分判据 ---- if Iph > I_set3 t_trip = idmt_trip_time(Iph, I_set3, 'si', 0.1); % 见 2.3 节函数 acc = acc + Ts / t_trip; % 归一化累积 if acc >= 1 trip = true; seg = 3; t_act = t_trip; end elseif Iph < K_re * I_set3 acc = max(0, acc - Ts / 1.0); % 电流降到返回系数以下,按固定速率复归 end end几个参数值得展开说明。K_re是返回系数,电流从定值上方回落到 0.95 倍定值以下才开始清计数器,这个“死区”避免了电流在定值附近抖动导致计数器反复清零、保护永远出不了口。III 段的acc是归一化累积量而不是直接累加秒数,好处是反时限曲线更换、TMS 调整时不用改累积逻辑,只要acc到 1 就出口。零序段放在最前面判断并return,是因为零序定值低、灵敏度高,如果让相间判据先返回,接地故障容易被高定值的 I 段或 II 段“抢走”段号,事后分析动作顺序时会看错。
max([abs(Ia), abs(Ib), abs(Ic)])这种取三相最大值的方式,对相间短路足够,但对两相短路和单相接地会低估严重程度,工程上更常见的是取正序电流或按相分别判断后做逻辑或。仿真里为了看清动作过程可以先用最大值法,真正做到整定校核时应当改成按相判别。
4.4 断路器控制与动作记录:让结果可验证
保护逻辑的输出不能直接连回断路器形成反馈,否则会出现代数环:断路器状态变化立即改变电流,电流又立即改变保护输出。标准解法是在跳闸信号与断路器控制之间插一个 Unit Delay 或者 S-R 触发器,把反馈路径打断一拍,代价是引入一个采样周期的延时,做级差校核时要把这个延时计入。动作记录用 To Workspace 保存 trip 信号、段号、三相电流有效值、零序电流,仿真结束后用脚本扫描突变沿,得到每条线路的实际动作时刻,再和整定值逐条比对。
验证方法可以固定成一套流程:在线路 0%、20%、50%、85%、100% 五个位置分别注入三相短路、两相短路、单相金属性接地、单相经 300 Ω 电阻接地,共二十组工况,记录每组的动作段号和动作时间,画成“故障位置—动作时间”曲线。合格的模型应该呈现清晰的阶梯形状:首端由 I 段瞬时切除,中段由 II 段在固定时限动作,末端由 III 段在更长时限动作,相邻线路同时故障时只跳近端断路器。曲线一旦出现台阶错位或者某一段完全不动作,问题基本能定位到第 5 章列出的几类。
5. 常见问题与排查:五个让仿真结果失真的坑
5.1 保护反复动作、断路器抖动
现象:断路器跳开后几十毫秒内又合上或反复抖动,Scope 上 trip 信号是密集脉冲串。原因是跳闸信号与断路器状态构成了闭环正反馈——断路器一断开,电流降到零,保护判据复归,跳闸信号撤销,断路器又闭合,故障电流重新出现。这在逻辑上没错,但物理上断路器不会这么动作,仿真就把一个机械过程演成了振荡器。
处理方式分两层:逻辑上用 S-R 触发器或自保持锁存,保护一旦出口就保持到故障消失并经过复归延时(0.1~0.5 s)才允许复位;结构上用 Unit Delay 打断代数环,让断路器状态和判据之间至少隔一个采样周期。两条都做之后,抖动会彻底消失,但同时要意识到这会引入一个采样周期的时序误差,级差校核时不能忽略。
5.2 零序段在正常运行时就动作
现象:没有设置任何故障,零序段却间歇性出口,或者零序电流稳态值就有 0.05~0.1 倍额定电流。原因通常有两个:一是零序量用瞬时值三相相加再取绝对值,得到的是脉动量,幅值随相位波动,比较时频繁穿越定值;二是 CT 建模过于理想,忽略了变比误差、励磁电流差异和三相不同期合闸,把现场 0.5%~2% 的不平衡量抹掉了。
解决办法是先修测量链,用傅里叶提取基波相量后再求和取模,让零序量变成稳定值;再把零序定值抬到 0.1~0.2 倍额定电流并加 0.1 s 短延时,给不平衡电流留出躲过的时间;如果要模拟真实 CT 的不平衡,就在求和前给每相串一个带小比例误差和饱和特性的变流器模型,这样零序通道的稳态不平衡量才和现场对得上。
5.3 I 段动作时刻比整定值晚
现象:整定 I 段时限为 0,仿真里测到的动作时刻却有 20~40 ms 的滞后,故障电流上升沿到 trip 变高之间隔了整整一个周波。原因就是全波傅里叶的窗口效应:故障发生后的第一个工频周期内,滑动窗里还混着故障前的数据,测量值从旧值连续爬升,跨过定值需要时间;如果保护逻辑采样步长又设得比较粗(比如 1 ms),量化误差再叠加几毫秒。
这类滞后不是模型错误,是真实保护装置也存在的测量延时,关键在于把它显式化:在动作时间统计里把窗口时间、逻辑步长、断路器机械分闸时间分别列出,而不是笼统地测一个“从故障到电流归零”的总时间。真正要做级差配合时,这个 20 ms 的窗口恰恰是必须预留的裕度,忽略它会导致上下级动作时刻在时间轴上重叠。
5.4 级差设了却没有选择性
现象:上下级线路的时限明明差了 0.3 s,仿真里却几乎同时跳闸,或者下级先跳、上级后跳的顺序完全反了。原因往往在时间分辨率和机械延时上:如果仿真步长取 1e-3 s,断路器分闸时间又没有单独建模(默认瞬间断开),那么 0.3 s 的级差里能被分辨出来的有效裕度其实很少;再叠加测量窗口的 20 ms 和 Unit Delay 的一个步长,实际级差被压缩到 0.25 s 以下,遇到故障电流衰减慢的工况就会失去选择性。
解决办法是把仿真步长压到 1e-4 s 以下,让时间分辨率至少比级差小两个数量级;给断路器单独配置分闸时间(0.06~0.08 s 量级),不要用理想开关;整定时给级差留 0.05~0.1 s 裕度。做完这三件事,仿真里的动作顺序才会和整定逻辑一致,而不是被数值误差随机化。
5.5 反时限曲线对不上、故障消失后不复位
现象:按标准公式算出来 0.4 s 动作,仿真里却是 0.7 s;或者一次瞬时故障之后,第二次故障还没到时间就提前跳闸。前者通常是积分方式写错了——用t = t + Ts简单累加,累积到整定时间才动作,这实际上是定时限,不是反时限;后者是故障消失后累积量没有清零,残留的acc带到了下一次故障。
正确做法是用归一化累积:每次采样累加Ts / t_trip,累积到 1 出口,这样电流越大t_trip越小、累积越快,天然形成反时限;复位条件用返回系数卡住,电流降到 0.95 倍定值以下才按固定速率往回扣,并且把扣减限幅在 0 以上。另外,离散积分在电流剧烈变化时会有误差,采样步长越粗误差越大,1 ms 步长下累积误差可以达到几个百分点,做精确校核时要用更细的步长对比一次。
6. 设计取舍:步长、精度与仿真时长之间没有免费午餐
仿真步长是整个模型里最有“杠杆效应”的参数。取 1e-5 s,电磁暂态波形干净、CT 饱和和直流分量衰减都能看清,但 2 秒的仿真要算二十万个步点,加上保护逻辑和测量模块,一次跑几分钟很正常;取 1e-3 s,速度快两个数量级,代价是断路器分闸过程、行波、CT 饱和全部被抹平,级差配合的时序误差直接进入结果。中间值 1e-4 s 是个常见折中,既能让 0.3 s 的级差有 3000 个采样点支撑,又不至于让仿真时长失控。
| 仿真步长 | 一个工频周期采样点 | 可分辨的最小时间差 | 适用场景 |
|---|---|---|---|
| 1e-5 s | 2000 | 约 10 μs | CT 饱和、直流分量衰减、行波过程 |
| 1e-4 s | 200 | 约 0.1 ms | 保护配合校核、动作时序统计(推荐) |
| 5e-4 s | 40 | 约 0.5 ms | 只看动作段号、趋势验证 |
| 1e-3 s | 20 | 约 1 ms | 教学演示,不适合级差校核 |
另一处取舍在测量窗口。全波傅里叶给的是稳定准确的相量,代价是 20 ms 固有延时;半波傅里叶快一倍,但对偶次谐波和衰减直流分量的抑制差,短路初瞬的测量值会明显偏大,容易让 I 段范围虚长。我的习惯是在同一个模型里并存两套测量链,用全波结果做整定校核、用半波结果观察速动性,两者的差值本身就是判断模型是否可信的一个指标。
还有一处容易被忽略的取舍是“保护逻辑放在 Simulink 里还是放在 MATLAB Function 里”。纯模块搭建直观、便于演示,但定时器和状态保持要用触发器拼,级差一改就要动一堆连线;用 MATLAB Function 写判据逻辑,参数集中、易于版本管理、能把整定脚本和逻辑放在同一套变量命名下,缺点是仿真时调试不如信号线直观。教学演示偏前者,工程校核偏后者,这个选择直接决定了你后面改一次整定值要花五分钟还是五秒钟。
这套三段式电流加零序保护的仿真模型,真正的价值不在于跑出一条好看的跳闸波形,而在于它把整定计算、时限配合、测量延时、断路器机械特性这些平时散落在规程和图纸里的东西,压缩到一条可以反复试错的时间轴上:改一个可靠系数,立刻能看到 I 段保护范围缩了多少;把级差从 0.3 s 调到 0.2 s,马上能验证选择性是否还在;把接地电阻从 0 调到 300 Ω,零序段还能不能动作一目了然。
我从踩过最疼的一次坑说起:早期做配合校核时,我图省事把仿真步长设成 1e-3 s,整定表上 0.3 s 的级差算得清清楚楚,结果上下级动作时刻只差 0.18 s,排查了整整两天才发现是步长把时序吃掉了一截。从那以后,我每次建保护模型,第一件事就是把步长、测量窗口、断路器分闸时间这三个数写在模型注释的第一行,任何一次整定改动前先对照这三个数确认时间分辨率够不够。资源里的模型和整定脚本可以按这套流程直接跑起来,改参数、换工况、看时序,比在纸面上推公式快得多。希望帮到你。
本文还有配套的精品资源,点击获取