EmAdapt 参数适配
概述
EmAdapt 是 EmeyeStudio 的核心算法模块,用于电机控制器参数的自动适配。它基于实时工况数据(相电流、母线电压、转速等),自动计算出适配当前工况的控制器参数(如 PI 系数、滤波器参数等),并提供计算依据的中间过程量,帮助工程师理解"为什么是这个值"。
EmAdapt 算法通过动态库(DLL)形式集成到 EmeyeStudio,当前版本支持本地模式。
功能范围
当前版本提供以下 EmAdapt 能力:
| 能力项 | 说明 |
|---|---|
| 电流环 PI 适配算法(本地计算) | 通过算法应用对话框调用 |
| 算法应用对话框 EmAdapt 入口 | 「分析 → 应用算法」对话框包含 EmAdapt 类别,参数/输入/输出动态生成 |
| EmAdapt 深度分析窗口 | 数值面板 + 趋势曲线(时间轴)+ 中间过程量折叠 + CSV 导出 + 波形光标联动 |
| 波形光标联动 | 移动波形十字光标,数值面板与趋势竖线同步更新参数值 |
云端服务模式、转速环 PI 适配、滤波器设计、准在线自动触发等能力当前版本暂未提供。
当前能力:深度分析窗口支持批量计算与光标联动 — 「应用」算法后自动对整段数据分批计算,生成参数时间序列;移动波形十字光标时,数值面板与趋势竖线同步更新对应时刻的参数值。
适用场景
| 场景 | 说明 |
|---|---|
| 新电机参数整定 | 更换电机型号或硬件平台后,输入额定参数和带宽期望,自动得到适配的控制器参数 |
| 运行中参数适用性观察 | 查看当前工况下算法推荐的参数值,对比实际使用值判断是否需要调整 |
| 适配依据追溯 | 查看中间过程量(开环截止频率、相位裕度、等效电感等),理解参数计算依据 |
| 离线数据回溯分析 | 对历史数据执行参数适配计算,评估当时工况下的最优参数 |
功能入口
EmAdapt 提供两个入口:
1. 算法应用对话框(配置与计算)
- 菜单:「分析 → 应用算法」
- 资源管理器右键:数据节点「新建配置」
- 用途:选择 EmAdapt 算法、配置参数、映射输入通道、执行计算
2. EmAdapt 深度分析窗口(结果展示)
- 菜单:「分析 → EmAdapt 深度分析」(
Ctrl+Alt+E) - 视图菜单:「视图 → EmAdapt 深度分析」(切换 dock 显隐)
- 用途:查看算法输出的字段当前值与趋势变化,导出趋势数据
在算法应用对话框中执行「应用」后,深度分析窗口会自动弹出并显示结果。
使用步骤
1. 加载数据
在波形窗口中加载包含相电流、母线电压等通道的数据(DAQ 采集或历史文件),确保算法输入通道可用。
2. 打开算法应用对话框
点击菜单「分析 → 应用算法」,打开算法应用对话框。
3. 选择 EmAdapt 算法
在左侧算法类别树中选择「EmAdapt」→「电流环 PI 适配」。
对话框右侧会根据算法插件元数据自动生成三个区域:
- 算法参数:电机额定参数与带宽期望
- 输入变量映射:算法输入通道与数据变量的映射
- 输出设置:算法输出字段列表与变量前缀
4. 配置电机参数
在「算法参数」区填写电机额定参数和带宽期望:
| 参数 | 含义 | 单位 | 默认值 | 取值范围 |
|---|---|---|---|---|
| Ld | d 轴电感 | H | 0.005 | 0.000001 ~ 1.0 |
| Lq | q 轴电感 | H | 0.005 | 0.000001 ~ 1.0 |
| Rs | 定子电阻 | Ω | 0.5 | 0.0001 ~ 100.0 |
| bandwidthHz | 期望电流环带宽 | Hz | 2000 | 10 ~ 20000 |
| polePairs | 极对数 | - | 4 | 1 ~ 50 |
5. 映射输入通道
在「输入变量映射」区,将数据通道映射到算法输入。系统会根据通道名自动匹配,可手动调整下拉框:
| 输入通道 | 是否必需 | 说明 |
|---|---|---|
| phaseCurrentA | 是 | A 相电流(A) |
| phaseCurrentB | 是 | B 相电流(A) |
| phaseCurrentC | 是 | C 相电流(A) |
| busVoltage | 是 | 母线电压(V) |
| speed | 否 | 转速(rpm) |
| dutyCycle | 否 | 占空比 |
通道名别名支持:系统自动识别以下别名,无需手动修改通道名:
| 标准名 | 支持的别名 |
|---|---|
| phaseCurrentA | phaseCurrentA / ia / Ia / i_a / phase_a_current / current_a |
| phaseCurrentB | phaseCurrentB / ib / Ib / i_b / phase_b_current / current_b |
| phaseCurrentC | phaseCurrentC / ic / Ic / i_c / phase_c_current / current_c |
| busVoltage | busVoltage / udc / Udc / u_dc / vbus / dc_bus |
| speed | speed / omega / n / rpm / rotor_speed |
| dutyCycle | dutyCycle / dutyA / duty_a / duty |
6. 执行计算
点击「应用并保存」按钮,算法对当前波形数据执行参数适配计算。
- 算法自动对整段数据分批计算(滑动窗口),生成参数随时间变化的序列
- 计算成功后,EmAdapt 深度分析窗口自动弹出并显示结果
- 计算失败时弹出错误对话框,提示失败原因
- 配置同时保存到工程,可在资源管理器中重复应用
7. 查看深度分析结果
在 EmAdapt 深度分析窗口中:
- 数值面板(上部):表格形式显示各字段当前值与单位
- 趋势曲线(中部):参数随时间变化的曲线,X 轴为时间(ms),红色虚线为光标竖线
- 中间过程量:默认折叠,勾选「显示中间过程量」展开
- 清空趋势:清除所有计算数据,重新开始
- 导出趋势:将当前趋势数据导出为 CSV 文件(含时间列 + 各字段值列)
8. 光标联动分析
在波形窗口中移动鼠标,十字光标吸附到采样点时:
- 数值面板实时更新为光标所在时刻的参数值
- 趋势曲线的红色竖线同步移动到对应时间点
- 适用于观察不同工况段(如启动加速、稳态运行、负载突变)下的参数变化趋势
光标联动在算法应用后生效。若未应用算法或已清空趋势,移动光标不会更新数值面板。
输出字段说明
电流环 PI 适配算法输出 5 个字段,分为最终参数和中间过程量两类:
最终参数
| 字段 | 显示名 | 单位 | 说明 |
|---|---|---|---|
| kp_i | Kp_i | - | 电流环比例系数 |
| ki_i | Ki_i | - | 电流环积分系数 |
中间过程量
中间过程量用于追溯参数计算依据,默认在数值面板中折叠,可勾选「显示中间过程量」展开。
| 字段 | 显示名 | 单位 | 说明 |
|---|---|---|---|
| omega_c | ωc | Hz | 开环截止频率 |
| phi_m | φm | ° | 相位裕度 |
| L_eq | 等效电感 | mH | 当前工况等效电感 |
EmAdapt 深度分析窗口
EmAdapt 深度分析窗口是 EmeyeStudio 的专用 dock 窗口,用于展示算法输出的字段值与趋势变化,满足深度分析需求。
窗口布局
┌─────────────────────────────────────────────────────┐
│ EmAdapt 深度分析(dock,可浮动/停靠右侧) │
├─────────────────────────────────────────────────────┤
│ 上部:数值面板(表格) │
│ ┌──────────┬────────┬──────┐ │
│ │ 字段名 │ 当前值 │ 单位 │ │
│ ├──────────┼────────┼──────┤ │
│ │ Kp_i │ 0.823 │ - │ ← 最终参数 │
│ │ Ki_i │ 145.2 │ - │ ← 最终参数 │
│ │ ωc │ 2000 │ Hz │ ← 中间过程量(折叠) │
│ │ φm │ 45.2 │ ° │ ← 中间过程量(折叠) │
│ │ 等效电感 │ 2.87 │ mH │ ← 中间过程量(折叠) │
│ └──────────┴────────┴──────┘ │
├─────────────────────────────────────────────────────┤
│ 中部:趋势曲线(单图多曲线 + 光标竖线) │
│ ┌─────────────────────────────────────────────┐ │
│ │ Kp_i ──────╱──╲───── │ ← 光标竖线 │ │
│ │ Ki_i ────╱──────╲── │ (红色虚线) │ │
│ │ (横轴:时间 ms,纵轴:参数值) │ │
│ └─────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────┤
│ [☐ 显示中间过程量] [清空趋势] [导出趋势] │
└─────────────────────────────────────────────────────┘
功能说明
| 功能 | 说明 |
|---|---|
| 数值面板 | 表格形式展示字段当前值(3 列:字段名 / 当前值 / 单位),缺失值显示 --;光标联动时实时更新 |
| 趋势曲线 | 单图多曲线展示参数随时间的变化,X 轴为时间(ms),Y 轴自动缩放;支持拖动、缩放、选中 |
| 光标竖线 | 红色虚线,跟随波形窗口十字光标移动,指示当前查看的时间点 |
| 中间过程量折叠 | 默认仅显示最终参数(Kp_i / Ki_i),勾选「显示中间过程量」展开中间字段行 |
| 清空趋势 | 清除所有计算数据与光标联动状态,重新开始 |
| 导出趋势 | 将当前趋势数据导出为 CSV 文件(含时间列 + 各字段值列) |
| dock 操作 | 支持浮动、停靠右侧、关闭;通过「视图 → EmAdapt 深度分析」切换显隐 |
与波形悬浮窗的区别
| 维度 | 波形悬浮窗 | EmAdapt 深度分析窗口 |
|---|---|---|
| 设计目标 | 快速瞥一眼数值 | 逐项审视、对比、判断适用性 |
| 信息密度 | 低(单点数值) | 高(多字段 + 单位 + 依据 + 趋势) |
| 适合场景 | 日常观察 | 深度分析、参数整定、技术审核 |
部署模式
EmAdapt 支持两种部署模式:
| 模式 | 说明 |
|---|---|
| 本地模式(local) | 算法 DLL 部署在本地,直接调用,响应快(当前版本使用) |
| 云端模式(cloud) | 算法服务部署在云端,通过 HTTPS 调用(当前版本暂未提供) |
- 当前版本使用本地模式,算法 DLL(
emadaptalgo.dll)随软件分发
计算原理
电流环 PI 适配基于经典控制理论,核心流程:
- 工况识别:从输入批次提取三相电流 RMS,表征当前工况的负载水平
- 磁饱和效应:电流越大,等效电感越小
- 参数计算:基于饱和电感和期望带宽,计算满足稳定性裕度的 PI 系数
- 结果输出:输出最终参数和中间过程量(截止频率、相位裕度、等效电感等)
计算公式(简化示意):
三相 RMS I_rms = sqrt(mean(ia² + ib² + ic²) / 3)
饱和因子 sat = 0.3 × min(I_rms/10, 0.7)
等效电感 L_eq = Ld × 1000 × (1 - sat) (mH, 随电流降低)
截止频率 ωc = 期望带宽 bandwidthHz (Hz)
相位裕度 φm = 47.3 - 5.0 × min(I_rms/10, 0.7) (°, 随电流降低)
比例系数 Kp_i = (L_eq / 1000) × 2π × ωc
积分系数 Ki_i = Kp_i × ωc / 3
注意事项
- 必需通道:三相电流(A/B/C)和母线电压为必需输入,缺失任一通道将导致计算失败
- 数据对齐:多个输入通道的采样点数应一致,系统自动取最小长度对齐
- 采样率:系统从时间戳差分自动计算采样率,无需手动指定
- 参数合法性:Ld 和 bandwidthHz 必须为正数,否则算法可能返回无效结果
- 分批计算:「应用」算法后自动对整段数据分批计算(约 200 批),生成参数时间序列;计算耗时与数据量成正比
- 光标联动:移动波形十字光标时数值面板实时更新;若已清空趋势或未应用算法,光标联动不生效
- 结果时效:当前版本为离线批量计算,非连续波形实时计算
常见问题
Q: 算法应用对话框中没有 EmAdapt 类别
EmAdapt 类别仅在算法 DLL 正常加载时显示。请确认软件安装目录下存在 emadaptshell.dll 和 emadaptalgo.dll 文件。如缺失,请重新安装软件。启动时查看日志,若提示 "EmAdapt plugin not ready" 即为 DLL 加载失败。
Q: 计算结果中 Kp_i / Ki_i 为 0
检查电机参数配置:Ld 和 bandwidthHz 必须为正数。如参数配置正确仍为 0,请检查输入数据是否有效(三相电流和母线电压通道是否正确映射)。
Q: 缺少 phaseCurrentC 通道怎么办
三相电流为必需输入。如数据源缺少某一相电流,可尝试通过公式引擎从其他通道推导(如 ic = -(ia + ib)),或将缺失通道数据补零后参与计算(但结果精度会降低)。
Q: 深度分析窗口的「应用」后没有弹出
若深度分析窗口未自动弹出,可通过菜单「分析 → EmAdapt 深度分析」或「视图 → EmAdapt 深度分析」手动打开。窗口状态(显隐、浮动/停靠)会被记住。
Q: 趋势曲线如何清空
点击窗口底部的「清空趋势」按钮,可清除所有计算数据与光标联动状态,重新开始。
Q: 移动鼠标时数值面板没有更新
光标联动需要先应用算法生成参数时间序列。请确认:
1. 已通过「分析 → 应用算法」执行过 EmAdapt 计算(深度分析窗口有趋势曲线)
2. 未点击「清空趋势」清除数据
3. 鼠标在波形窗口的采样点附近移动(十字光标吸附到数据点时才触发)