1. 课程导入与对齐问题定义

在工业仿真、数字孪生、电力系统分析、控制系统设计等领域,工程师常常同时面对两套计算环境:一套是部署在本地工作站或服务器上的离线仿真,另一套是运行在实时平台、云端或嵌入式控制器上的在线计算。两者使用相同或相近的物理模型,却经常给出不同的数值结果。本课程要解决的核心问题,就是让这两套计算结果能够被信任地"对齐"。

一、什么是离线仿真与在线计算

离线仿真指在非实时约束下运行的数值计算过程。典型工具包括 MATLAB/Simulink、PSCAD、PSS/E、Modelica 等。它的特点是:允许变步长求解、可以反复迭代、可以回溯调试、单次运行时间不受物理时间限制。例如一个电力系统暂态仿真,仿真 10 秒的物理过程可能实际计算耗时 30 秒,这在离线场景中完全可以接受。

在线计算指在实时约束或生产约束下运行的计算过程。它可能运行在 RT-LAB、dSPACE、PLC、边缘网关或云端微服务中。其特点是:必须在固定时间步内完成计算(如 50 μs 或 1 ms),不允许超时,输入输出与真实物理量或生产数据流绑定。在线计算一旦超时,轻则数据丢帧,重则触发保护动作。

两者的差异不只是"快慢"问题,而是求解器策略、步长、数值精度、初始化方式、代数环处理、离散化方法等一整条计算链路的差异。这些差异会在结果中累积,形成可观测的偏差。

二、对齐的工程意义

为什么必须对齐?因为离线仿真通常承担设计验证、参数整定、故障复现的职责,而在线计算承担实时控制、状态估计、保护决策的职责。如果离线仿真结论说"该参数下系统稳定",而在线计算却因数值差异导致振荡,那么设计依据就失效了。

对齐的工程意义可以归纳为三点:

  • 可信度传递:离线阶段验证过的模型和参数,能够被在线系统继承,减少重复试验成本。
  • 故障可复现:现场发生的异常可以在离线环境中复现,前提是两者数值行为一致。
  • 合规与验收:在并网、航空、轨道交通等领域,控制器入网测试要求离线模型与在线设备结果在给定误差带内一致。
对齐不是要求两套结果"完全相等",而是要求在明确的工况、时间窗和误差指标下,偏差处于可接受范围,并且偏差来源可解释、可追溯。

三、典型应用场景

以下场景中,对齐问题尤为突出:

场景离线侧在线侧主要偏差来源
新能源并网测试PSCAD 电磁暂态模型RT-LAB 实时仿真机步长、插值、接口延迟
电机控制参数整定Simulink 连续域模型DSP 离散控制代码离散化方法、定点量化
数字孪生状态估计Modelica 全阶模型边缘端降阶模型模型降阶、传感器噪声
微电网能量管理离线优化调度PLC 滚动执行时间同步、通信抖动

可以看到,偏差来源既有数值层面的(步长、精度),也有系统层面的(通信、时钟、接口)。对齐工作必须同时覆盖这两类。

四、整体学习路径

本课程后续章节将沿着"概念—建模—求解—接口—验证—排障"的主线展开。下图给出离线仿真与在线计算之间的数据流与对齐关系,帮助建立整体认知框架。

离线仿真环境 MATLAB/Simulink · PSCAD · Modelica 变步长求解 · 高精度 · 可回溯 物理模型 → 数值解 → 曲线/报表 典型步长:1e-6 ~ 1e-3 s 在线计算环境 RT-LAB · dSPACE · PLC · 边缘网关 定步长 · 实时约束 · 硬时钟 实时模型 → 控制量 → 执行器 典型步长:50 μs ~ 1 ms 对齐验证层 误差指标 · 时间窗 · 工况集 偏差来源分解 · 可追溯性 通过 / 不通过 / 需修正 离线结果 在线结果 对齐结论 → 模型修正 / 参数回写 / 验收报告 主要偏差来源 · 求解器与步长差异 · 离散化与量化误差 · 接口延迟与时钟抖动 · 初始化与代数环处理 对齐关键指标 · 最大绝对误差 MAE · 均方根误差 RMSE · 相位/时延偏差 · 稳态增益一致性

图中左侧是离线仿真环境,右侧是在线计算环境,两者各自产生结果后汇入中间的对齐验证层。对齐层不是简单比较两条曲线,而是要在明确的工况集和时间窗内,计算 MAE、RMSE、相位偏差等指标,并把偏差分解到求解器、离散化、接口等具体来源上。只有偏差可解释,才能决定是修正模型、调整参数,还是接受该误差带。

五、本课程要建立的能力

学完本课程,你应当能够:

  1. 说清离线仿真与在线计算在求解链路各环节的差异,而不是笼统地说"精度不同"。
  2. 针对一个具体对象(如并网逆变器、电机驱动、微电网),搭建可对比的离线模型与在线模型。
  3. 设计对齐验证的工况集、时间窗和误差指标,并给出通过/不通过的判断依据。
  4. 当结果不一致时,按"求解器→步长→离散化→接口→时钟"的顺序定位偏差来源。
  5. 输出一份可复现的对齐验证记录,包含模型版本、参数、工况、指标和结论。
对齐工作最容易犯的错误,是只比较最终输出曲线,而忽略中间状态量和内部信号。很多偏差在输出端被掩盖,却在控制器内部已经累积。建议从第一节课就养成记录关键中间变量的习惯。