Engee 文档
Notebook

永磁同步电机

本例将演示发电机模式下的永磁同步电机(PMSM)模型(model motor_pmsm.engee)。将展示使用指令控制在脚本开发环境中运行模型的过程,以及仿真结果的可视化。在仿真中,SPM 轴的转速从 100 转/分钟跳变到 200 转/分钟。

模型概览

Engee 模型:

motor_pmsm_engee_2.png

使用软件控制实现模型运行:

加载必要的库并准备 MATLAB 内核,以比较 Engee 模型和 Simulink 模型

In [ ]:
using Plots
using DataFrames
gr();

加载模型:

In [ ]:
model_name = "motor_pmsm"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");

运行已加载的模型

In [ ]:
results = engee.run(model_name)
Out[0]:
Dict{String, DataFrame} with 4 entries:
  "i_c" => 201×2 DataFrame…
  "i_b" => 201×2 DataFrame…
  "w"   => 201×2 DataFrame…
  "i_a" => 201×2 DataFrame

读取瞬时负载电流和轴转速数据:

In [ ]:
t = results["i_a"].time;
i_a = results["i_a"].value;
i_b = results["i_b"].value;
i_c = results["i_c"].value;
w = results["w"].value;

模拟数据的加载和可视化

输出瞬时电流值与时间的关系图:

In [ ]:
plot(t, [i_a i_b i_c], label=["Ток фазы А" "Ток фазы В" "Ток фазы С"])
plot!(title = "Результаты моделирования в Engee", ylabel = "Мгновенное значение тока, А", xlabel="Время, c")
Out[0]:

输出轴转速随时间变化的曲线图:

In [ ]:
plot(t, w, label="Скорость вращения вала")
plot!(title = "Результаты моделирования в Engee", ylabel = "Скорость вращения, об/мин", xlabel="Время, c")
Out[0]:

结论:

在本示例中,使用工具对永磁同步电机 (PMSM) 模型进行指令控制。仿真结果被导入脚本,并通过 Plots 库中的交互式绘图进行可视化。