Engee 文档
Notebook

永磁同步电机

这个例子将演示一个模型(modelmotor_pmsm.发电机模式的永磁同步电动机的engee)。 将显示使用命令控制和仿真结果可视化从脚本开发环境启动模型的过程。 在模拟中,SDPM轴的旋转速度从100转到200转。

模型的一般视图

工程师模型:

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]:

结论:

在这个例子中,工具被用于永磁同步电机(DSM)模型的命令控制。 仿真结果被导入到脚本中,并使用绘图库中的交互式图形进行可视化。