做了这么长时间电力系统仿真我最常被问到一个问题变压器故障到底能不能用Simulink做仿真我的回答从来都是直接打开MATLAB新建一个Simulink模型给他看。变压器故障仿真这件事在Simulink里做起来没有很多人想象得那么玄乎但也绝不是一个拖几个模块一连就完事的操作。它需要你对变压器等效电路有清楚的认识对故障注入方式有合理的简化还得会从仿真波形里提取有用的特征量。这篇文章就以一次完整的仿真流程为主线从模型选型、参数计算、故障场景搭建到数据后处理把我在实际项目中踩过的坑和验证过的方法完整梳理一遍。内容更适合电力系统方向的学生、刚接触Simulink仿真的工程师以及需要给保护装置做故障特征验证的科研人员。1. 仿真方案设计为什么选Simulink做变压器故障仿真1.1 变压器故障仿真到底要解决什么问题先说清楚做变压器故障仿真的价值在哪。变压器是电力系统里承担电压变换和功率传输的核心设备一旦发生故障轻则造成局部停电重则损坏主设备甚至引发系统事故。故障仿真的核心任务就是用数字模型在无风险的条件下复现各种故障工况让我们能观察故障发生前后的电气量变化规律。我最早做变压器故障仿真是为了验证一套差动保护定值整定方案。现场不允许拿真实变压器去做短路试验哪怕是一个小容量配电变谁敢直接制造匝间短路代价太大了。而仿真可以把故障电阻从0.01Ω做到1000Ω可以把故障位置放在绕组任意百分比抽头处可以反复改变故障起始角、负载水平这些在真机上几乎无法实现。所以仿真最大的价值不是替代试验而是让我们以极低成本获得故障特征样本再反过来指导保护算法和定值设计。做过的人都知道故障仿真还承担另一个重要职能——教学演示。我接触过不少刚入门的同学对变压器不对称短路时的负序分量、零序分量完全没有直观感受。用仿真波形一拉出来电压跌落、电流激增、相位突变一目了然比讲十页理论都管用。1.2 工具选型Simulink对比PSCAD、LTspice、COMSOL很多人问我做变压器故障仿真为什么不用专业的电力系统暂态仿真软件比如PSCAD这个问题我认真想过。PSCAD在电磁暂态细节模拟上确实非常强它对输电线路波过程、开关操作过电压这些场景有很细的建模但如果我只是想做变压器本体故障特征分析Simulink有自己明显的优势。Simulink的第一优势是生态完整。前处理、仿真计算、后处理全在MATLAB一个环境下完成数据的导出和特征提取可以直接写脚本批量处理。我做50个工况的对比仿真用Simulink的话可以写一个循环把50次sim()跑完然后把结果自动存成表格。在PSCAD里做这种批量处理的体验就没有这么顺畅。第二个优势是模型层次灵活。Simulink搭配Simscape Electrical有专门的变压器电气模型可以直接用也可以自己搭磁路模型甚至可以封装自定义S-Function。这意味着故障仿真既可以停留在等效电路层面也可以往更深的物理模型扩展。再加上Simulink本身就支持自动代码生成后期还能往硬件在环、快速原型方向走。表格对比一下我和同事常用的几类工具的侧重点工具主要定位变压器故障仿真的适配度我的实际使用感受Simulink/Simscape控制系统、多域物理建模、通用仿真高等效电路层面足够用生态好一次建模多场景批量跑PSCAD/EMTDC电力系统电磁暂态精细仿真高但偏输电网和操作暂态细节丰富学习成本和授权门槛高LTspice电路级仿真侧重开关电源中适合开关电源变压器精细建模元件参数好调但电力系统特征量不直观COMSOL有限元多物理场仿真中适合温升、振动噪声和电路仿真分开做打通成本高选型结论很直接如果你的目标是分析变压器故障时一次侧、二次侧的电压电流波形提取差流、谐波、序分量特征那么Simulink是效率最高的选择。它不需要你花大量时间搭建复杂的有限元几何模型也不需要你去学另一套仿真语法。但如果你要研究故障后的局部过热分布、铁心振动特性那应该把COMSOL或ANSYS这类有限元工具纳入考虑而不是指望Simulink去做三维场分析。1.3 模型层次选择等效电路模型够不够用变压器故障仿真常见的模型层次可以分成三档。第一档是集中参数等效电路模型也就是把变压器表示成绕组电阻、漏感、励磁阻抗的组合这是Simulink里最容易搭建、运行最快、参数最容易获取的层次。第二档是磁路耦合模型把铁心饱和、磁滞、剩磁都考虑进去适合研究励磁涌流这类和铁心非线性强相关的工况。第三档是有限元模型把几何结构、绕组排布、铁心材料都建出来能得到电场磁场分布和局部热点。我在做典型故障仿真时绝大多数场景用的都是第一档。为什么因为典型故障比如单相接地、相间短路、匝间短路在电气侧的表现更多是由变压器漏抗和短路回路阻抗决定的铁心饱和特性在故障稳态分析中不是主导因素。只有在分析空载合闸励磁涌流时铁心饱和才必须认真处理。所以在Simulink建模时我的分层策略是先用电气库里的双绕组三相变压器模块搭一个能用的模型参数根据变压器的短路试验、空载试验数据换算得到。然后如果发现某个工况确实需要体现铁心饱和再切换到带饱和特性的磁路模型或者用带非线性电感的单相变压器改造出三相模型。先把等效电路模型跑通再逐步细化不要一上来就建全场域模型那样既慢又容易出错。2. 变压器建模从原理到Simulink模型搭建2.1 变压器原理回顾与等效电路参数换算无论Simulink里拖的是哪个模块你要真正填对参数就绕不开变压器等效电路那一套基本关系。变压器的核心工作原理就是电磁感应理想变压器满足电压比等于匝数比电流比等于匝数比的反比。但实际变压器绕组的电阻、铁心损耗、漏磁通以及励磁电流都不为零所以必须用等效电路来描述这些非理想效应。最常见的等效电路是T型等效电路包含原边电阻R1、原边漏感L1、励磁电阻Rm、励磁电感Lm、折算到原边的副边电阻R2、副边漏感L2。工程上做短路分析和保护整定时更常用的是简化等效电路把励磁支路放前面把R1、R2相加作为短路电阻把L1、L2相加作为短路漏感。这六个参数怎么来靠两个标准试验短路试验和空载试验。短路试验在副边短路、原边加低电压的情况下进行记录短路电压、短路电流、短路损耗由此得到短路阻抗Zk、短路电阻Rk、短路漏抗Xk。空载试验在原边加额定电压、副边开路的条件下进行记录空载电流和空载损耗由此得到励磁阻抗Zm、励磁电阻Rm、励磁电抗Xm。我在Simulink里填参数很习惯直接用标幺值。原因有两个第一标幺值可以直接从变压器铭牌参数快速换算不用关心一次侧、二次侧到底是10kV还是35kV第二Simscape模块内部很多推导都是以标幺值为基础做的你填标幺值反而更不容易因为单位换算出错。下面给一个具体例子。2.2 一台10kV/0.4kV、1000kVA配电变压器的参数计算实例假设手头有一台三相双绕组配电变压器铭牌参数如下额定容量S1000kVA电压比10kV/0.4kV短路电压百分数uk%4.5%空载电流百分数I0%2%短路损耗Pk10kW空载损耗P02kW联结组别Dyn11。先算短路电阻标幺值Rk_pu Pk / S 10kW / 1000kVA 0.01 pu短路阻抗标幺值Zk_pu uk% / 100 0.045 pu短路漏抗标幺值在忽略Rk和Zk夹角误差前先算精确值Xk_pu sqrt(Zk_pu^2 - Rk_pu^2) sqrt(0.045^2 - 0.01^2) ≈ 0.0439 pu再看励磁支路。空载损耗对应励磁电阻用并联支路导纳来理解会更清楚Gm_pu P0 / S 2kW / 1000kVA 0.002 pu对应的励磁电阻Rm_pu 1 / Gm_pu 500 pu空载电流百分数反映励磁导纳的幅值Ym_pu I0% / 100 0.02 pu励磁电纳可以用勾股关系推出来Bm_pu sqrt(Ym_pu^2 - Gm_pu^2) ≈ sqrt(0.02^2 - 0.002^2) ≈ 0.0199 pu励磁电抗标幺值约等于50.25 pu。这就是一个相当典型的配电变压器励磁阻抗量级。这个脚本我每次都用作为快速换算工具非常顺手。直接在MATLAB命令行执行S 1000e3; % 容量 VA Pk 10e3; % 短路损耗 W uk_pct 4.5; % 短路电压 % P0 2e3; % 空载损耗 W I0_pct 2; % 空载电流 % Rk_pu Pk / S Zk_pu uk_pct / 100 Xk_pu sqrt(Zk_pu^2 - Rk_pu^2) Gm_pu P0 / S Ym_pu I0_pct / 100 Bm_pu sqrt(Ym_pu^2 - Gm_pu^2) Rm_pu 1 / Gm_pu Xm_pu 1 / Bm_pu如果要在Simscape模块里填物理单位折算值那就再把标幺值乘上基准值。以一次侧为基准Zbase U1^2 / S (10kV)^2 / 1000kVA 100Ω。所以Rk实际值约1ΩXk约4.39ΩRm约50000ΩXm约5025Ω。这个量级可以作为后续填入电气模块物理参数时的估算参考。2.3 Simulink建模直接使用Simscape变压器模块我推荐你首选Simscape Electrical专区内置的三相双绕组变压器模型中文界面下叫Three-Phase Transformer (Two Windings)英文界面下就是同名模块。为什么不用自己拼的R、L、受控源因为内置模块已经把磁耦合、电压比、相位移、绕组连接方式这些都处理好了你需要做的只是填参数出错概率小得多。模块参数表里需要填的几项额定容量、额定频率、一次侧额定相电压和线电压、二次侧额定相电压和线电压、绕组电阻和漏感可以直接用标幺值、励磁电阻和励磁电感。值得特别注意的一项是联结组别。变压器模型里的绕组连接方式会影响零序通路和相位移如果你仿真的是Dyn11接线的配电变压器一次侧三角形接线、二次侧星形接线就必须在模块参数里正确选择绕组连接方式否则单相接地故障时的零序电流特征会完全失真。我自己的建模习惯是在Simulink模型里做一个层次化的结构最外层是一个PowerGrid子系统里面放三相电压源和线路阻抗中间是Transformer子系统封装变压器模块和两侧的测量模块最下面是FaultInjection子系统专门放故障模块和开关控制。层次化之后批量仿真切换故障参数就只需要改子系统内部的变量不需要在总线上乱连线。2.4 求解器与仿真步长的关键设置变压器故障仿真属于刚性系统故障瞬间电压电流波形变化剧烈同时整个模型里存在多时间常数。我个人的经验是不要用默认的ode45去硬跑容易在故障切换点附近步长自适应疯掉。建议把求解器设置为可变步长选择ode23tb或者ode15s。ode23tb在处理电力电子和强非线性电气系统时收敛速度明显更好。步长的设置也有讲究。工频50Hz一个周波是20ms如果你想看到3到5次谐波的细节至少需要每个周波采样200到500个点。我通常把最大步长限制在1e-4秒也就是10kHz的等效采样率这样既能保证谐波内容不丢失又不会因为步长过小把仿真拖得太慢。故障电阻特别小的场景比如0.01Ω的金属性短路建议把最大步长再放宽到2e-5秒同时打开零交叉检测。3. 典型故障场景仿真实操从单相接地到匝间短路3.1 故障注入的基本方法Simulink里做三相系统故障仿真最直接的工具是Three-Phase Fault模块这个名字在早期版本里叫Three-Phase Breaker或Three-Phase Fault位置在Simscape Electrical的故障库里。这个模块可以配置成单相故障、相间故障、三相故障可以设置故障电阻Rf和接地电阻Rg还能设置故障发生和清除的切换时间。模块内部支持两种控制模式内部定时控制和外部控制。如果只是跑一次固定时段的故障用内部定时就够了。例如要模拟0.1秒发生故障、0.2秒切除就直接填写Transition times为[0.1 0.2]。但如果要做批量工况扫描比如对比不同故障起始角的影响那就要切换到外部控制模式用一个Step模块来给出故障合闸信号。我在批量仿真时几乎全用外部控制这样方便在脚本里通过改变Step模块的跳变时刻来控制故障起始角。还有一个细节大家在波形分析时容易忽略故障模块的切换瞬间如果正好落在电压过零附近那么故障电流的瞬态冲击会比峰值处切入小很多。这个物理现象在仿真里是自动出现的研究保护算法时需要故意调整故障起始角这样才能覆盖最恶劣和相对温和的不同工况。3.2 案例一10kV侧单相接地故障仿真以Dyn11配电变压器为例我在一次侧10kV侧模拟C相单相接地故障。故障模块选择Phase C故障故障电阻设成10Ω的过渡电阻接地电阻设成5Ω故障时间设在0.1秒到0.2秒之间。仿真跑完之后最直观的波形变化是C相电压大幅跌落非故障相A相、B相电压升高。由于一次侧是三角形接线故障电流在线电压回路中流动但二次侧星形接线带中性点接地时二次侧会出现明显的零序电压和零序电流。我在示波器里同时监控了一次侧三相电流、二次侧三相电压、中性点零序电流这几个信号故障期间中性点的零序电流突增频率为工频波形基本正弦。这个案例里最值得关注的是故障电阻的影响。我把过渡电阻从10Ω改到100Ω再跑一次C相电压跌落幅度明显变小零序电流幅值也成比例下降。这说明单相接地故障的电气特征和过渡电阻强相关。保护整定时一般用金属性短路的特征来算灵敏性但要靠大过渡电阻工况来校验保护是否能拒动。3.3 案例二AB相间短路故障仿真相间短路比单相接地更剧烈。故障模块选择Phase A和Phase B故障电阻设成0.01Ω模拟近似金属性短路。故障时刻设在0.12秒。故障发生后A相和B相电流快速增大到额定电流的十几倍以上波形出现明显的非周期分量C相电流虽然也受影响但幅值变化远小于故障相。因为是一次侧三角形接线、二次侧星形接线AB相间短路在二次侧反映为对应线电压回路里的短路电流。零序分量在这个场景里几乎没有因为相间短路不直接构成对地通路。做完相间短路仿真可以顺便把负序分量计算出来这是区分相间短路和单相接地的重要依据。相间短路时负序分量显著而单相接地时负序远小于故障相正序跌落程度。后面数据后处理章节我会给具体的计算脚本。3.4 案例三匝间短路故障的近似建模思路匝间短路是所有故障类型里建模最麻烦的因为标准的三相双绕组变压器模块只有一个完整的绕组端子没有办法直接在绕组内部制造短路。做过仿真的人都知道Simulink没有现成的匝间短路一键故障模块需要我们自己搭近似模型。我的做法是分两种情况。第一种是定性教学演示用三个单相变压器模块搭成三相变压器组每个单相变压器的低压绕组自带一个中间抽头抽头比例设为比如5%然后用一个理想开关把抽头部分短接。这样5%的绕组直接短路相当于模拟了靠近中性点侧的少量匝间短路。这个做法的优点是概念清晰缺点是需要自己处理三相之间的磁耦合关系准确度有限。第二种是定量分析如果要研究匝间短路对差动保护的影响我更倾向于在Simulink里采用带多绕组支持的变压器模型把某一相绕组拆成两段每段单独建模参数按匝数比例分配。比如10%匝间短路就把该相高压绕组拆成90%主绕组加10%故障段故障段通过一个可控开关和一个很小的故障电阻并联到地或并联到自身。故障段被短接后变压器的等效短路阻抗变化一次侧电流增大而且三相电流出现明显不平衡。我实测下来的经验是匝间短路的初期故障相电流增加幅度可能并不像相间短路那么夸张但会出现二次谐波含量上升和三相电流不对称的趋势。这些特征虽然微弱却是很多早期故障预警算法关注的信号。3.5 示波器与测量模块的接入技巧仿真模型里信号测量模块的接法直接决定你后处理能否拿到干净的数据。我习惯用Three-Phase V-I Measurement模块它可以同时输出三相线电压和三相相电流放到故障点前后各一个分别用于观察系统侧和变压器侧。测量数据通过Go to标签送到上层最好统一命名成V_source、I_source、V_load、I_load这种格式。Scope模块里显示波形时要记得把采样时间设置得足够细。如果默认的采样步长太大故障瞬间的冲击峰值很容易被抹平看起来波形很光滑但实际峰值已经被略掉了。处理方法是给Scope加上采样时间或者直接勾选Log signals把测量数据导到工作区再统一在MATLAB里绘图。4. 仿真结果数据后处理与故障特征提取4.1 用MATLAB脚本批量跑仿真和导出数据单次仿真在Simulink里手动操作完全没问题但一旦要做工况扫描手动就太浪费时间了。我的做法是在模型里把需要保存的信号都配置成输出端口模型顶层用Outport接出去然后在MATLAB脚本里用sim()函数循环调用。下面是一个典型脚本框架跑三个不同故障电阻的场景modelName transformer_fault_sim; faultResList [0.01, 10, 100]; results struct(); for k 1:length(faultResList) set_param([modelName /Fault], Rf, num2str(faultResList(k))); simOut sim(modelName, StopTime, 0.3); results(k).Rf faultResList(k); results(k).voltage simOut.yout{1}.Values.Data; results(k).current simOut.yout{2}.Values.Data; results(k).time simOut.tout; end save(fault_scan_results.mat, results);这里有个容易踩的坑set_param修改模块参数之前要确保模型已经加载而且变量类型是字符串。用num2str转换是必须的直接传数字进去会报参数格式错误。还有simOut.yout的索引方式和Simulink版本有关老版本用的是simOut.get(yout)新版本是结构体字段访问我上面的写法是基于较新版本的习惯。4.2 特征量计算脚本RMS、谐波与序分量拿到波形之后关键是从原始数据里提取有物理意义的特征量。我常用的特征量有三类电压电流有效值、谐波含量、序分量。以二次侧三相电压为例计算各相RMS时要注意跳过故障发生前的稳态段这样得到的才是故障期间的稳态特征。Fs round(1/mean(diff(time))); winLen round(Fs * 0.02); % 一个工频周波采样点数 idxFault find(time 0.12 time 0.18); va_f va(idxFault); rms_a sqrt(mean(va_f.^2));谐波分析直接调用FFT但要记得加窗和去直流分量。我习惯先把故障后的一个完整周波数据拉出来减去这一个周波的直流均值再做fft。二次谐波与基波的比值是差动保护中最常用的制动判据之一尤其是区分励磁涌流和内部故障的时候。序分量的计算更简单用对称分量变换矩阵即可a exp(1j * 2 * pi / 3); T [1 1 1; 1 a^2 a; 1 a a^2] / sqrt(3); seq T * [Ia; Ib; Ic]; I1 abs(seq(1)); I2 abs(seq(2)); I0 abs(seq(3));这个脚本我几乎每个故障案例都会用。正序分量反映正常传输功率负序分量是相间短路和不对称故障的显著标志零序分量则直接对应接地故障的强弱。把它们算出来之后放到同一个表格里对比故障类型基本一眼就能区分。4.3 故障特征规律速查表把常见故障的特征整理成一个速查表方便后续做保护方案设计时快速对照。这张表是我经过大量工况仿真后归纳出来的供参考故障类型故障相电压故障相电流零序分量负序分量谐波特征单相接地故障相明显跌落故障相增大视接地电阻显著增大较小以基波为主相间短路两相电压跌落两相电流剧增几乎为零显著增大非周期分量明显三相短路三相电压均跌落三相电流对称增大零零非周期分量强匝间短路轻度不对称故障相缓增可能略增有上升趋势二次谐波上升过负荷电压基本正常三相电流同比例增大零零无明显新增谐波这张表只是常规特征实际仿真时会因为变压器联结组别、系统阻抗、故障位置等因素出现细节差异。这也是为什么我认为仿真过程中的批量对比比单次跑通更重要的原因。单次波形只能帮你验通模型批量对比才能帮你建立对故障特征的真正直觉。5. 仿真过程高频问题与排查技巧实录5.1 仿真卡死、不收敛或者步长小到离谱这是变压器故障仿真里最让人崩溃的问题。故障电阻设到0.01Ω甚至更低时系统呈现很强的刚性如果求解器不合适仿真会在故障瞬间反复尝试缩小步长然后报Failed to converge或停滞在某个时间点。我排查这个问题的顺序是固定的先看求解器把可变步长换成ode23tb再看最大步长设为1e-4量级再检查故障电阻如果确实需要金属性短路至少设到0.01Ω以上不要追求绝对0Ω。实际工程中的所谓金属性短路也总有电弧电阻0.01Ω已经是足够严重的情形了。还有一招非常有效在故障发生前让模型先运行一段时间让变压器稳定在额定工作点不要一上来就0秒故障这样初始瞬态和故障瞬态分离仿真收敛难度会低很多。5.2 模型编译报错变量名冲突与信号维度不匹配Simulink模型编译报错里最常见的一类是信号维度不一致。比如三相电压测量模块输出的信号是1×3的向量你直接接给标量接收端就会报错。处理办法是细心检查信号线类型必要时插入Demux或者Bus Selector拆出单相信号。还有一个隐蔽问题我的模型里经常用Go to标签传递信号如果两个不同的Go to标签名字一样但位置不同Simulink编译时可能会报Duplicate label之类的错误。建议命名时就带层次前缀比如Grid_Va、TF_Ia避免重名。变量命名规范越严格后期排查越省心。5.3 故障切换时间设置不对导致波形异常如果你发现故障模块在设定时间没有动作故障切换前后波形没有变化大概率是Transition times格式或者控制信号类型出了问题。内部定时模式要求参数是递增数组比如[0.1 0.2]表示0.1秒合闸、0.2秒分闸。外部控制模式则要留意控制信号是高电平有效还是低电平有效不同库模块可能不一样。实测中我还遇到过一种情况Step模块信号跳变时刻是0.1秒但故障模块状态切换有内部延时导致波形变化比预期晚了1到2个周期。排查方法是把故障模块的控制信号和三相电流画在同一张图里直观对齐切换瞬间和波形变化瞬间。5.4 波形看着不对相位、极性、VN方向性问题仿真波形看着不对是一个很玄学的问题但绝大多数都可以追溯到极性和相位参考。测量模块的极性标注是正极带星号还是普通引线决定电流方向的正负。如果你把某一处测量模块的极性接反故障波形里那一相电流会和实际物理方向差180度差动电流计算的正确性直接被破坏。我在整个模型里做了一条规定所有电流测量模块按电流流入变压器为参考正方向所有电压测量模块按相电压指向中性点为参考方向。这样一来差动保护仿真中用两侧电流做矢量和时刚好符合Kirchhoff电流定律。否则你会在差流计算里莫名其妙地多出两倍于实际值的电流怎么都调不对。6. 把仿真做扎实的进阶建议与扩展方向6.1 从故障仿真走向保护与控制系统联合仿真故障仿真单独做出来只是分析真正的工程价值在于和继电保护逻辑、控制系统联动。Simulink的强项就在这里。我经常在故障模型的基础上继续加入差动保护算法模块用三相电流采样算差流再用差流幅值加上二次谐波制动判据来输出跳闸信号。这个跳闸信号再控制故障模块的分闸就形成了一套完整的保护动作闭环仿真。类似的扩展方向还有很多包括把变压器仿真和电机驱动、双向储能控制、光伏逆变器这些电力电子场景联合起来。Simulink的生态决定了它在多物理域协同仿真上的潜力很大也正因为如此我们看到很多人会拿它做CarSim联合仿真、PMSM电机控制、BMS算法验证这些跨领域项目。变压器故障仿真只是Simulink仿真版图里的一块拼图但把这一个点吃透后续切换到其他电气系统仿真会顺畅很多。6.2 代码生成与硬件在环让仿真结果可落地如果你做变压器故障仿真的最终目标是开发一台实际的保护装置那Simulink还有一层更深入的价值自动代码生成。在模型配置里选择Embedded Coder配置好求解器为固定步长、离散类型就能把故障检测算法直接生成C代码部署到DSP或者MCU上做硬件在环测试。这一路我自己走过一遍最大的教训是模型里的所有连续积分环节都要换成离散模块所有输入输出端口都要明确数据类型仿真步长要和目标硬件的中断周期对齐。否则生成代码虽然在PC上跑得通下到芯片上就是另一回事。不过这方面的细节足够单独写一篇很长的实操帖这里就不展开了。6.3 跨工具互补什么时候把COMSOL和LTspice加进来虽然Simulink在电气特征上表现够用但如果你要研究变压器故障伴随的振动、噪声、温升那就需要跨工具联合。我的做法是Simulink负责生成电气故障工况数据把故障期间的电压、电流、功率损耗作为边界条件导出来再在COMSOL里做电磁-结构-声学耦合分析看振动噪声特征。反过来COMSOL算出来的分布参数也可以折算回等效电路参数再塞回Simulink做系统级分析。两个工具的耦合循环让模型既保留系统级仿真效率又获得了场域级的细节。另外如果你仿真的是开关电源里的高频变压器LTspice仍然是我的备选工具因为它的磁性元件模型在MHz频段的表现更细致。而电力系统工频变压器故障仿真还是Simulink为主LTspice一般不需要介入。6.4 个人体会仿真旅程真正的终点是与实测对照做变压器故障仿真这几年我最想分享的一点是仿真做得再漂亮也只是对真实世界的一种近似。一套模型到底准不准最终要看它能不能复现现场的典型故障录波。我曾经花了一整周调模型可仿真出来的单相接地波形总是和现场录波对不上相位、幅值都有差异。后来才发现问题出在忽略了中性点接地电阻那个只有4Ω的小电阻对单相故障电流的影响极其显著但在原理图里几乎不会被人注意。把接地电阻补进模型之后波形几乎和现场录波完全吻合。那一次之后我养成了一个习惯每做一个新的仿真场景先去查清楚系统的接地方式、对地阻抗再谈其他建模细节。最后一点建议如果你准备在自己的Simulink仿真旅程里加入变压器故障这块我的建议是先从一个最简单的单相变压器模型开始跑通一个故障场景一次故障、一张波形、一段分析。把模型做透一个场景之后再逐渐扩展到三相、不同接线组别、不同故障类型。仿真这个事最忌讳的就是一上来就想把所有故障类型、所有保护逻辑全部塞进一个模型最后只会得到一个没有精度的巨无霸。变压器故障仿真的价值不在于模型本身多复杂而在于你能从仿真波形里读出多少物理信息。模型是手段特征分析和故障规律理解才是目的。希望这篇梳理能把你在Simulink里做变压器典型故障仿真的路铺平一点少走我当初走过的弯路。