Engee 文档
Notebook

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

在这个例子中,我们将考虑一个同步发电机(power_ssm。engee型号)P=20kW U=24kV,在总线上,在0.1时间连接基础负载(P=10kW和Q=100Var)和开关负载(P=10kW和Q=100Var)(型号power_ssm。engee)。

使用软件控制实现模型启动:

In [ ]:
Pkg.add(["Statistics"])
   Resolving package versions...
  No Changes to `~/.project/Project.toml`
  No Changes to `~/.project/Manifest.toml`
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]:
SimulationResult(
    run_id => 39,
    "Q" => WorkspaceArray{Float64}("power_ssm/Q")
,
    "i_b" => WorkspaceArray{Float64}("power_ssm/i_b")
,
    "i_c" => WorkspaceArray{Float64}("power_ssm/i_c")
,
    "P" => WorkspaceArray{Float64}("power_ssm/P")
,
    "v_b" => WorkspaceArray{Float64}("power_ssm/v_b")
,
    "v_a" => WorkspaceArray{Float64}("power_ssm/v_a")
,
    "v_c" => WorkspaceArray{Float64}("power_ssm/v_c")
,
    "i_a" => WorkspaceArray{Float64}("power_ssm/i_a")

)

读取瞬时电流和电压值的数据:

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=["A相电流" "V相电流" "C相电流"])
plot!(title = "Engee中的仿真结果", ylabel = "电流的瞬时值,以及", xlabel="时间,c")
Out[0]:

输出瞬时电压值对时间的依赖关系的曲线图:

In [ ]:
plot(t, [v_a v_b v_c], label=["A相电压" "相电压V" "C相电压"])
plot!(title = "Engee中的仿真结果", ylabel = "瞬时电压值,在", xlabel="时间,c")
Out[0]:

结论:

在这个例子中,使用了Engee模型的命令管理工具。 该模型演示了同步发电机在跨越式变化的负载上的操作。 将仿真结果导入交互式脚本,使用Plots库中的交互式图形进行可视化,并进行分析。