Engee 文档
Notebook

带简化同步发电机的电力系统模型

在本例中,我们考虑一台同步发电机(模型 power_ssm.engee)P=20kW,U=24kV,在 0.1 时(模型 power_ssm.engee)母线上连接有基本负载(P=10kW,Q=100VAR)和开关负载(P=10kW,Q=100VAR)。

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

In [ ]:
Pkg.add(["Statistics"])
In [ ]:
using Plots
using DataFrames
using Statistics
gr();

加载模型

In [ ]:
model_name = "power_ssm"
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 8 entries:
  "Q"   => 4001×2 DataFrame…
  "i_b" => 4001×2 DataFrame…
  "i_c" => 4001×2 DataFrame…
  "P"   => 4001×2 DataFrame…
  "v_b" => 4001×2 DataFrame…
  "v_a" => 4001×2 DataFrame…
  "i_a" => 4001×2 DataFrame…
  "v_c" => 4001×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;
v_a = results["v_a"].value;
v_b = results["v_b"].value;
v_c = results["v_c"].value;

加载模拟数据并使其可视化

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

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

输出电压瞬时值随时间变化的曲线图:

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

结论

本例中使用了 Engee 模型的指令控制工具。该模型演示了同步发电机在负载变化的浪涌中的运行情况。仿真结果被导入交互式脚本,使用交互式 Plots 库绘图进行可视化,并进行分析。