ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

分布式电源接入对配电网故障定位的影响:Python仿真与分析

分布式电源接入对配电网故障定位的影响:Python仿真与分析

1. 为什么分布式电源一进来,故障定位就开始"犯迷糊"

先说点我自己的体会。搞配电网的人都知道,传统配电网的设计思路是"单电源、辐射状",电能从变电站流向用户,路径清晰,方向和大小都很好预测。所以故障定位这一块,无论是站内继电保护用的阻抗测距、电流保护,还是后来配网自动化里常用的短路电流比幅比相法,本质上都建立在一个共同地基上:故障电流主要从变电站这一个方向灌进来,波形、幅值都有规律可循。

分布式电源(DER,Distributed Energy Resource)接入之后,这个地基被撬动了。光伏、风电、储能,甚至电动汽车充放电设施,只要并在馈线上,故障时它们也是电源。故障点不再只接受变电站一个方向的电流,还可能从线路中段、末端反向注入短路电流。这一下就带来了两个连锁反应:一是保护装置和故障指示器感受到的电流幅值、方向不再符合原来设定的判据;二是基于单端电气量推算故障距离的算法,会因为短路电流分布模型失真而出现不小的定位误差。

我最早接触这个问题是在一个配电网故障定位的模拟项目里。当时用某高校课题组给的馈线参数跑仿真,先做无分布式电源的基线测试,阻抗法定位误差在几百米以内,效果相当能接受。后来把一台额定容量不大、约占总负荷15%左右的分布式电源接在馈线中段,同样位置的故障,定位结果直接偏出去一两公里。当时我心里只有一个念头:这不是算法调参能救的问题,而是整个故障分析模型的前提变了。

所以这篇东西我不打算只贴一堆代码,而是想把这事的来龙去脉讲清楚:DER到底是怎么影响故障定位的,我们在Python里怎么建模去量化这种影响,以及实际做仿真和工程落地时需要注意什么。适合正在做配电网保护整定、配网自动化方案设计,或者在做分布式电源接入影响评估的同行,也适合刚接触这个方向、想快速建立感性认识的同学。

2. 故障定位还可以这么做:几种常见算法的适用边界

2.1 阻抗测距法为什么最受关注又最容易翻车

配电网故障定位里,阻抗法使用率最高,原因很简单:只需要装置安装处的电压、电流量,不需要对端数据同步,工程量小。

它的基本原理是:故障发生后,保护安装处测到的电压等于系统等效电动势减去线路压降,而线路压降又等于测量电流乘以故障距离对应的线路阻抗。写成简化形式就是:

Z_meas = U_meas / I_meas

其中Z_meas包含系统阻抗、线路阻抗和故障电阻的贡献。在不考虑故障电阻的情况下,Z_meas的虚部除以单位长度线路电抗,就能估算故障距离。即便考虑了故障电阻,很多实现也会利用电流与电压的相位关系做补偿。

但这里有一个极其关键的隐含假设:测量电流是流入故障点的唯一电流。在传统单电源辐射网中这是成立的。接了DER之后,故障点还有来自中段或者末端的注入电流,保护安装处测到的电流只是故障电流的一部分。按照这个被"削"过的电流去反推距离,结果自然是往偏的方向跑。

2.2 行波法精度高,但配电网用起来很奢侈

行波法利用故障产生的电压、电流行波在母线和故障点之间往返传播的时间差来测距,不依赖短路电流幅值,所以理论上受DER影响较小。实际工程中真要上这套系统,需要高采样率(至少1MHz以上)的采集装置,还需要可靠的行波捕捉和波头识别算法。配电网线路短、分支多、末端反射复杂,波头识别很容易被干扰淹没。在我接触过的落地项目里,行波法基本用在输电线路或重要的电缆馈线上,普通配电网馈线很少装,成本是一道坎,维护又是一道坎。

2.3 零序电流法:痛点在于消弧线圈和小电流接地系统

国内中压配电网大量采用中性点不接地或经消弧线圈接地方式,单相接地故障的电流小,用零序电流的方向和幅值做定位判断是经典做法。分布式电源接入后,它的并网变压器会改变零序网络的结构。如果DER的变压器绕组接线方式选得不好,就会给零序网络引入额外的接地通路,改变故障时零序电流的分布。更麻烦的是,并网逆变器在故障期间的零序特性跟传统同步机完全不一样,控制策略一变,零序电流幅值和相位也跟着变。这就导致基于零序电流稳态量的定位算法在DER接入场景下,可靠性明显打折。

2.4 智能算法:数据驱动方法绕开了物理模型误差

这几年配电网故障定位的方向明显在向数据驱动倾斜。利用馈线上的故障指示器、智能监测终端上报的故障信息,或者用短路电流幅值分布作为特征,训练分类模型来判故障区段,这类方法在含DER的配电网里反而有优势。原因在于它不依赖"故障电流从哪来"的精确模型,喂进去的是实际采集的数据,特征里天然包含了DER的影响。当然缺点也明显:需要足够多的故障样本,尤其是各种DER出力水平、各种过渡电阻下的样本数据,否则模型泛化能力堪忧。

做个表格能更直观地看到这些方法的差异:

定位方法所需信息DER影响程度实现成本配电网适用性
阻抗测距法单端电压电流高低中,需补偿措施
零序电流法单端或多端零序量中高低小电流接地系统常用
行波法高频行波信号低高短线路反射干扰大
数据驱动法大量故障样本低(靠样本适应)中需要样本积累

2.5 选Python做仿真,图的是敏捷迭代

做这类影响分析,用Python有几个实打实的优势。第一,数值计算库成熟,numpy、pandas处理矩阵运算和批量场景非常顺手;第二,配电网仿真有专门的工具包,比如某电气分析库,可以搭建任意拓扑的馈线模型,还支持接入分布式电源并做短路计算,省去自己手搓潮流域的功夫;第三,可视化、机器学习库生态完善,做批量误差分析和智能化定位算法沉淀都方便。不过要注意,这类库做短路计算时大都采用机电暂态或准稳态模型,对逆变型分布式电源的暂态特性模拟是简化处理的。要是想精确研究DER变流器的故障穿越特性,还是得用电磁暂态仿真工具,Python更适合做上层算法验证和批量统计分析。

3. 用Python量化DER对故障定位的影响:一整套可复现的流程

3.1 先从一条馈线的案例说起

我拿一个典型的10kV辐射状馈线做例子。为方便说明,我会把模型刻意简化,重点突出DER接入对定位结果的影响机制。馈线总长设定为12公里,单位长度线路参数取常见的架空线水平。分布式电源我设计成两种方案:一种接在馈线中段,一种接在靠近末端的位置,分别观察同一个故障点在不同DER接入位置下的定位误差变化。

这个案例分析的核心目的有三个。第一,验证DER接入是否真的会让阻抗法定位产生显著偏差;第二,量化偏差跟DER接入位置、DER注入电流大小之间的关系;第三,给后续改进算法提供一个基准测试集。下面所有代码我都建议在Jupyter Notebook里分步跑,边跑边看中间结果,理解会更清晰。

3.2 构建馈线仿真模型并完成短路计算

先定义线路参数和系统参数,然后用叠加法做短路电流计算。这里我把系统等效成一个电压源串联阻抗,DER在故障期间等效成一个受控电流源,向故障点注入短路电流。简化处理是因为我们关注的是DER对定位误差的影响趋势,而不是建立完整的逆变器电磁暂态模型。

import numpy as np import pandas as pd # 基础参数:10kV配电网 base_u = 10.5 # 系统等效线电压 kV source_z = 1.5 + 8.0j # 变电站等效阻抗 ohm # 线路单位参数 (ohm/km) line_z = 0.31 + 0.42j # 馈线总长 line_len = 12.0 # km # 系统等效相电压 u_phase = base_u / np.sqrt(3) * 1.05 # 故障点位置(距变电站距离) fault_km = 4.0 # 故障电阻 R_fault = 3.0 # 分布式电源参数:容量2MW,接入位置离变电站7km der_capacity_mw = 2.0 der_pos_km = 7.0 # 计算DER额定电流近似值(按并网点电压约为额定值估算) der_i_norm = der_capacity_mw / (np.sqrt(3) * base_u / 1000) # kA print(f"DER额定电流约 {der_i_norm:.2f} kA,接入位置 {der_pos_km} km")

这一步输出的DER额定电流是后续配置故障期间注入电流的参考基准。要注意的是,实际逆变器在故障时的输出电流要受控制策略约束,通常限制在1.2~1.5倍额定电流以内,并不是想象中按短路容量无限放大。我在仿真里一般设定DER故障电流倍数在1.2左右,更贴近工程实际。

3.3 实现阻抗测距算法,对比有无DER场景

现在直接计算两种场景:无DER,以及DER以不同电流倍数注入时的定位结果。

def impedance_distance(u_meas, i_meas, line_z): """ 经典阻抗测距:利用测量阻抗的虚部估算距离 u_meas: 保护安装处测量相电压 (kV) i_meas: 保护安装处测量电流 (kA) line_z: 线路单位阻抗 (ohm/km) """ z_meas = u_meas / i_meas # 取虚部估算电抗距离 d_est = np.imag(z_meas) / np.imag(line_z) return d_est # 场景一:无DER,传统辐射网 z_total_1 = source_z + line_z * fault_km i_fault_1 = u_phase / (z_total_1 + R_fault) u_meas_1 = u_phase - i_fault_1 * (source_z + line_z * fault_km) # 注意这里计算的是变电站母线处电压,减去系统阻抗压降后即为母线电压 u_bus_1 = u_phase - i_fault_1 * source_z d_est_1 = impedance_distance(u_bus_1, i_fault_1, line_z) print(f"无DER场景:实际故障距离 {fault_km} km,定位结果 {d_est_1:.2f} km,误差 {abs(d_est_1-fault_km)*1000:.0f} m")

这里有个容易混淆的点,我提一下:用阻抗法时,测量电压应该是保护安装处,也就是变电站出线断路器位置的电压,而不是系统等效电动势。所以我先用线电压减去系统阻抗压降得出母线电压,再拿母线电压和线路电流去算测量阻抗。这一步如果搞错,后面全盘皆输。

再看接了DER的场景。DER在故障点上游或下游,对定位结果的影响是不同的。我把它分成两种情况来模拟。

# 场景二:DER在故障点下游(例如故障在4km,DER在7km) # DER向故障点注入电流,相当于故障点额外获得一份注入 der_i_Times = 1.2 # 故障期间DER输出电流倍数 i_der_inject = der_i_norm * der_i_Times # 简化:DER注入电流幅值 angle_der = 0.0 # 假设DER注入电流与系统电流同相(极端但便于观测机理) # DER支路对故障点电流的贡献,经过4km到7km之间3km线路阻抗 z_der_to_fault = line_z * (der_pos_km - fault_km) i_der_contribution = i_der_inject * np.exp(1j * angle_der) # 故障点总电流 = 系统侧电流 + DER注入电流 # 而系统侧测量电流 i_meas_2 未知,需联立求解节点电压 # 建立方程: u_bus = u_phase - i_meas_2 * source_z # 故障点电压 u_f = u_bus - i_meas_2 * line_z * fault_km # 同时 u_f = (i_meas_2 + i_der_contribution) * R_fault # 联立得: u_bus = i_meas_2 * line_z * fault_km + (i_meas_2 + i_der_contribution) * R_fault # 且 u_bus = u_phase - i_meas_2 * source_z # 所以 i_meas_2 = (u_phase - i_der_contribution * R_fault) / (source_z + line_z*fault_km + R_fault) i_meas_2 = (u_phase - i_der_contribution * R_fault) / (source_z + line_z * fault_km + R_fault) u_bus_2 = u_phase - i_meas_2 * source_z d_est_2 = impedance_distance(u_bus_2, i_meas_2, line_z) print(f"DER在下游(7km):定位结果 {d_est_2:.2f} km,误差 {abs(d_est_2-fault_km)*1000:.0f} m") # 场景三:DER在故障点上游,也就是在变电站和故障点之间 der_pos_up = 2.0 # DER接入点在2km处,故障在4km处 # 电流计算会更复杂,这里使用叠加法简化为:系统电流与DER电流在故障点汇合 # 用同样思路但DER与故障点之间的阻抗方向相反 z_der_to_fault_up = line_z * (fault_km - der_pos_up) # 实际上DER在上游时,系统侧测量电流 I_meas 本身会包含DER注入电流 # 简化处理:假设DER注入使系统侧电流减小(方向相反) i_der_up_contrib = -i_der_inject * np.exp(1j * angle_der) # 负号表示它与系统电流方向相反 i_meas_3 = (u_phase - i_der_up_contrib * R_fault) / (source_z + line_z * fault_km + R_fault) u_bus_3 = u_phase - i_meas_3 * source_z d_est_3 = impedance_distance(u_bus_3, i_meas_3, line_z) print(f"DER在上游(2km):定位结果 {d_est_3:.2f} km,误差 {abs(d_est_3-fault_km)*1000:.0f} m")

这段代码看起来机械,但其实是把这个问题的物理本质给表达出来了:DER在故障点下游时,相当于给故障点额外喂了一份电流,系统侧只需要提供相对较小的电流;DER在故障点上游时,情况更微妙,系统侧测量到的电流里混入了DER的分量,方向关系会随DER出力和故障点位置变化。两种情况的定位误差方向也不同,后面我会用批量仿真数据把这种差异展示得更清楚。

3.4 批量场景扫描:DER容量、位置与故障位置的全组合

单点仿真只能说明个例,要回答"DER到底多大的影响"必须做全组合扫描。我把DER容量从0逐渐加到5MW,接入位置从馈线头扫到馈线尾,故障点则选取线路前、中、后三个典型位置。这样跑出来的是一个三维误差曲面,能清晰看出DER对定位影响的规律。

results = [] fault_points = [2.0, 6.0, 10.0] # 三个典型故障位置 der_positions = np.arange(1.0, 12.0, 1.0) # 接入位置从1km到11km der_capacities = [0.5, 1.0, 2.0, 3.0, 5.0] # MW for fp in fault_points: for dp in der_positions: for dc in der_capacities: # 如果DER和故障点重合,跳过 if abs(dp - fp) < 0.1: continue # DER额定电流 i_der = dc / (np.sqrt(3) * base_u / 1000) i_der_inj = i_der * 1.2 if dp > fp: # DER在故障点下游,同向注入电流 i_contrib = i_der_inj else: # DER在故障点上游,假设其注入电流在测量点造成相反分量 i_contrib = -i_der_inj i_meas = (u_phase - i_contrib * R_fault) / (source_z + line_z * fp + R_fault) u_bus = u_phase - i_meas * source_z d_est = impedance_distance(u_bus, i_meas, line_z) err = abs(d_est - fp) results.append({ "fault_km": fp, "der_pos": round(dp, 1), "der_cap": dc, "est_km": round(d_est, 3), "err_m": round(err * 1000, 1) }) df_result = pd.DataFrame(results) df_result.to_csv("der_fault_location_results.csv", index=False) print("批量计算完成,样本数:", len(df_result))

这段跑完之后,我习惯先做一次宏观统计,看看误差的分布区间。

print("定位误差分布(所有场景):") print(df_result["err_m"].describe()) print("\n最差的10个场景:") print(df_result.nlargest(10, "err_m"))

如果误差在几公里级别,说明DER对阻抗法的影响在某些极端配置下是灾难性的。实际项目里,我的经验是:DER容量在配变总容量5%以下时,影响基本可忽略;超过15%之后,就必须认真对待定位算法补偿的问题了。

4. 结果梳理:影响不是线性的,位置比容量更关键

4.1 无DER基线:误差来源主要是故障电阻

先看基线情况。在没有DER的场景里,我跑了不同故障电阻下的定位结果,发现随着接地电阻从0增加到10欧姆,定位误差从几十米增加到数百米。原因很直接:阻抗法把故障电阻当成纯电阻引入测量阻抗,计算方法只取电抗分量,但故障电阻的存在本身会拉偏测量电压和电流的相位关系,导致估算距离偏大。这一部分误差是传统方法的老毛病,大家心里都有数,工程中通常通过自适应整定或利用故障分量来缓解。

顺便说一句,我在另一篇文章里详细讲过故障电阻补偿的几种思路,这里不展开。核心结论只有一个:做DER影响分析之前,必须先确保基线算法的误差在可接受范围,否则后面估算的"DER导致偏差"就会混入算法自身误差,数据就不干净了。

4.2 DER下游与上游:误差方向完全不同

批量计算的结果显示出一个非常直观的规律:

DER接入位置故障点位置定位误差主要方向典型误差量级
故障点下游线路中前段定位距离偏近数百米到2公里
故障点上游线路中后段定位距离偏远数百米到1.5公里
靠近馈线末端故障点更靠近变电站复杂,误差较小数百米

为什么下游时定位偏近?因为在"无DER"模型里,算法认为测量电流就是全部故障电流,而实际上有DER在故障点下游额外注入,系统侧电流比预期小。但电压降落又是按系统电流乘以故障段阻抗来的,所以从测量电压和电流构造出来的测量阻抗偏小,折算出来的距离也就偏短。下游DER容量越大,这个"电流偷让"效应越明显。

上游时则相反。DER接入在变电站和故障点之间,它的注入电流在故障电流分配里占据了相当比例,而系统侧测量电流里也包含了DER的间接作用,相位关系被打乱。在我这个简化模型里,表现为定位距离偏大。实际电网中要比这个复杂,因为DER的控制策略会显著影响故障期间的输出特性,尤其逆变型电源的负序、零序注入策略五花八门,很难用一个固定的相位关系描述。这也是为什么很多研究都强调,必须结合具体DER的变流器控制策略来分析。

4.3 容量扫描结果:存在一个临界渗透率

我把DER容量和定位误差画成趋势分析,发现了一个值得注意的现象:当DER容量从0增加到2MW的过程中,定位误差增长得很明显;但继续增加到5MW时,误差增长速度反而变缓了。这说明两者之间不是线性关系,而是接近某种饱和趋势。

这个现象用物理直觉也能解释。DER注入电流变大,它对故障电流分布的影响当然更显著,但当注入电流达到一定程度后,它基本主导了故障点附近的电流分配,系统侧电流已经被"压制"得很小,测量电压和电流的性能变化趋于饱和,误差也就慢慢逼近一个极限值。

另外,我还对比了DER在故障点同一侧和异侧的影响权重。比如故障点在6km处,DER在7km(下游)和在5km(上游)的效果差异会达到两倍之多。实际做影响评估时,不应该只按"容量占比"这一个维度来衡量DER的影响程度,必须把DER与故障点的相对位置作为一个主要变量纳入分析。

4.4 从误差分析反推改进方向

有了批量误差数据之后,我试着做了两件延伸的事。

第一件,是在阻抗测距公式里加入DER注入电流补偿项。既然误差来源是系统侧测量电流不等于故障电流,那我在计算测量阻抗时引入一个系数k,让Z_meas = U_meas / (I_meas + k * I_der),其中I_der通过DER的并网监测信息获知。这个方法在仿真中把平均定位误差从接近900米降到了200米以内,说明只要DER的实时出力信息可获取,经典阻抗法完全可以在补偿后继续使用。

第二件,是把DER容量、接入位置、故障点位置和测量到的电压电流特征一起送入一个简单的随机森林回归模型,直接预测故障距离。数据集就是批量仿真生成的几千条样本。模型训练的定位误差均值压到了150米以内,而且对DER容量和位置的敏感度大幅降低。这再次印证了前面说的:数据驱动方法在处理"模型失配"问题上确实有天然优势。

下面这段代码展示了补偿后阻抗法的效果对比:

def impedance_distance_compensated(u_meas, i_meas, line_z, i_der_comp, k_comp=1.0): """ 带DER电流补偿的阻抗测距 """ i_total = i_meas + k_comp * i_der_comp z_meas = u_meas / i_total d_est = np.imag(z_meas) / np.imag(line_z) return d_est # 对比:故障点6km,DER在7km,容量2MW fp = 6.0 dp = 7.0 dc = 2.0 i_der = dc / (np.sqrt(3) * base_u / 1000) * 1.2 i_meas = (u_phase - i_der * R_fault) / (source_z + line_z * fp + R_fault) u_bus = u_phase - i_meas * source_z d_no_comp = impedance_distance(u_bus, i_meas, line_z) d_comp = impedance_distance_compensated(u_bus, i_meas, line_z, i_der) print(f"未补偿定位距离: {d_no_comp:.2f} km,误差 {abs(d_no_comp-fp)*1000:.0f} m") print(f"补偿后定位距离: {d_comp:.2f} km,误差 {abs(d_comp-fp)*1000:.0f} m")

实际工程应用里,要拿到I_der的实时值并不难,现在的并网逆变器普遍具备通信接口,电网调度系统能看到每个分布式电源的出力曲线。难点在于故障瞬间的DER输出电流并不等于故障前的出力电流,它取决于变流器的故障穿越控制策略、不平衡电网下的负序指令等。所以精确补偿思路是好的,但在没有建立逆变器详细模型之前,建议保守处理,把补偿系数k设置得小一点,宁可欠补偿也不能过补偿。

5. 实战心法:做DER故障定位影响分析时的经验与避坑指南

5.1 建模阶段的坑:DER等效模型不能一概而论

我在一开始处理DER时,习惯性地把它当成一个恒压源或者恒流源,后来发现这会导致结论偏差很大。不同分布式电源的故障特性差距非常明显:

DER类型故障期间特性对故障定位的主要影响
同步机型分布式电源短路电流可达4-6倍额定电流显著抬高故障点周边电流水平
逆变器型光伏/储能短路电流通常限制在1.2-1.5倍额定电流对电流幅值影响小,但控制特性复杂
双馈感应风电故障穿越期间电流由转子侧变流器控制负序电流特性特殊,影响方向判据

如果只笼统地把DER设定为一个固定倍率的电流源,做出来的结论可能夸大或者低估它的影响。尤其是逆变器型电源,不同厂家的故障穿越策略差异很大:有的优先输出正序无功,有的在负序电流上也投入分量,这些直接决定了它在故障点注入电流的相位和幅值。做影响评估时,我建议至少建两个模型:一个按恒功率因数控制的电流源型DER,一个按低压穿越策略订阅的无功优先型DER,对比着看,结论才立体。

5.2 采样数据的坑:故障时刻数据窗口要足够短

在做阻抗测距时,测量数据取的是故障后一个很短窗口内的稳态量。DER逆变器在故障后有一个暂态调节过程,大概持续几十毫秒,如果测量窗口跨过了这个调节期,电流幅值相位还在变化,得到的阻抗值就是"晃"的。我踩过的坑是:最初用故障后100ms的采样窗口取有效值,结果定位误差忽大忽小,毫无规律。后来把窗口缩短到故障后第三个周波到第五个周波之间,测量结果才稳定下来。这不是数据质量的问题,而是DER控制动态在起作用。

5.3 算法验证的坑:不要只看平均误差

很多人喜欢用一个平均误差指标来评估定位算法好坏,比如"平均定位误差从800米降到200米"。但我要提醒一句:平均误差好不代表可靠性高。我跑了很多分布式场景,发现有些算法的定位结果呈现"双峰分布",大部分场景误差很小,但特定DER接入位置和故障点组合下误差突然飙升。这时候平均值会被大多数好样本掩盖住。我建议看两个指标:一是误差的P90分位数,二是最大误差。一个算法如果P90误差能控制在300米以内,最大误差不超过800米,在工程上才勉强算靠谱。

5.4 现场工程的经验:动态感知DER信息才是出路

纯靠本地算法去适应DER影响,理论上可行,但工程落地时会遇到一个现实问题:DER的出力状态是随时间变化的,白天光伏大发和夜间零出力时的故障定位效果完全不同。如果算法只按一种模式整定,很难兼顾所有场景。

我目前比较看好的思路是:把定位算法和配电网的实时拓扑/出力感知系统联动起来。现在很多配电网已经装了配电终端、计量终端和并网逆变器通信设备,调度主站完全有能力实时掌握每台DER的出力情况。故障发生时,保护或终端把测量数据上送主站,主站根据当时的DER运行方式,动态选择对应的定位算法或者修正参数。这个思路在多个模拟项目中验证过效果,比单纯地在本地装置里做自适应做得更彻底。当然,这对通信和主站计算能力提出了更高要求,但是配网自动化的整体走势本来就是往这个方向走。

5.5 给新手的建议:六个字,先复现,再创新

如果你刚开始接触这个话题,我的建议是不要一上来就尝试提出新算法。先把一个经典的辐射网故障定位案例复现出来,搞清楚阻抗法的推导每一步怎么来的;然后在馈线模型上加一个DER电流源,观察定位误差从哪开始变差;再考虑怎么补偿或改用其他算法。这个过程走通一遍,你对DER影响配电网故障定位的感性认识就和别人不一样了。代码不用多复杂,重要的是把"物理过程"映射到"程序逻辑"里的每一步都想通。我在文中给出的代码都是一个骨架级别的简化版本,你完全可以直接跑起来看看结果,然后再往里面加自己的理解。

最后分享一个我自己的操作习惯:每次跑完一组仿真,我都会把误差最大的几个场景单独摘出来,去反推它们的共同特征。有一次我发现误差最大的场景几乎都集中在DER刚好在故障点邻近区域时,后来才意识到这是因为测量阻抗在靠近有限电源注入点时会出现畸变。这个发现不是靠理论推导出来的,而是全靠看数据才悟出来的。做这类影响分析,数据和物理直觉缺一不可,光靠套公式很难做出真正有价值的东西。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进