Engee 文档
Notebook

B2DZ和TNZNP330-500kV功能测试程序

在本例中,实施了测试网络模型以执行附录B2STO56947007-29.120.70.241-2017中的330-500kV DZ和TNNP的功能测试。 RPA微处理器器件的技术要求。此示例包含12个名为B2_X.engee的模型,其中X是实验编号的数量或范围,模型B2。engee用于验证。 该模型已经过调整和测试,以KPM节奏发射. 有关使用KPM RHYTHM的更多信息,请参阅示例[KPM RHYTHM:Quick Start](https://engee.com/community/ru/catalogs/projects/kpm-ritm-bystryi-start )和[KPM节奏:实时操作](https://engee.com/community/ru/catalogs/projects/kpm-ritm-rabota-v-realnom-vremeni )。 实验的例子是在没有连接真实设备的情况下进行演示的,您需要自己连接。 要连接RPA端子,您需要将DAC块和数字输入/输出从节奏块库添加到模型中,然后将端子连接到节奏KPM。 模拟网络的方案:

image_2.png

电力系统的参数A:
直接序列的有源电阻为1,038欧姆
直接序列的感应电阻为13,322欧姆。
零序的有源电阻为1,403欧姆
零序的感应电阻为16.429欧姆。
等效EMF–523kV
电动势相位角为0°

电力系统参数B:
直接序列的有源电阻为3,761欧姆
直接序列的感应电阻为39.757欧姆。
零序的有源电阻为1,661欧姆。
零序的感应电阻为31.988欧姆。
等效EMF-474kV
电动势相位角为-11.26°

A-B线的参数:
长度152.63公里
直线的电阻率一致。 0.01967+j0.2899欧姆/公里
零序线的电阻率为0.1697+j1.1071欧姆/公里
直接序列的比容量为3,908nF/km
零序的比容量为2,851nF/km
互感电阻率0.15+j0.3044欧姆/公里

测量电流互感器:
TFRM-500b U1
pt=2000/1A
Snom=40VA,cos φ=0.8
K10=18
Qact=23.6cm2
Lc=2.28厘米
W1=1
W2=2000
R2=4.23欧姆
X2=0欧姆

模型验证

在第一次启动之前,您需要安装一个用于呈现表的包。:

In [ ]:
using Pkg
Pkg.add("PrettyTables")

所需模式参数与计算模式参数的比较:

In [ ]:
model_name = "B2"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
blocks = ["Q1_ctrl", "Q2_ctrl", "Q3_ctrl", "Q4_ctrl", "ЗН_3", "ЗН_4"]
switch_states = [0 0 0 0 1 1]
for i = 1:length(blocks)
    engee.set_param!(model_name*"/"*blocks[i], "Value" => switch_states[i]);
end
time_ar = [0, 1]
switch = ones(2,4,2)
# Запуск загруженной модели:
results = engee.run(model_name);
# вектор времени симуляции
# sim_time = results["P1_1"].time;
P1_1_ex1 = results["P1_1"].value[end]
Q1_1_ex1 = results["Q1_1"].value[end]
V1_1_ex1 = results["V1_1"].value[end][1]
I1_1_ex1 = results["I1_1"].value[end][1]
P2_1_ex1 = results["P2_1"].value[end]
Q2_1_ex1 = results["Q2_1"].value[end]
V2_1_ex1 = results["V2_1"].value[end][1]
I2_1_ex1 = results["I2_1"].value[end][1]
switch_states = [0 0 1 1 0 0]
for i = 1:length(blocks)
    engee.set_param!(model_name*"/"*blocks[i], "Value" => switch_states[i]);
end
# Запуск загруженной модели:
results = engee.run(model_name);
# вектор времени симуляции
# sim_time = results["P1_1"].time;
P1_1_ex2 = results["P1_1"].value[end]
Q1_1_ex2 = results["Q1_1"].value[end]
V1_1_ex2 = results["V1_1"].value[end][1]
I1_1_ex2 = results["I1_1"].value[end][1]
P2_1_ex2 = results["P2_1"].value[end]
Q2_1_ex2 = results["Q2_1"].value[end]
V2_1_ex2 = results["V2_1"].value[end][1]
I2_1_ex2 = results["I2_1"].value[end][1];

不尊重结果:

In [ ]:
using PrettyTables
colomn1 = ["Обе цепи в работе", "Напряжение на шинах, кВ", "Ток по линии, А",
"Активный переток мощности, МВт", "Реактивный переток мощности, МВАр", "",
"Цепь 2 отключена с двух сторон и заземлена", "Напряжение на шинах, кВ", "Ток по линии, А",
"Активный переток мощности, МВт", "Реактивный переток мощности, МВАр"]
colomn2 = ["", "518,4", "392", "347,8", "53,53", "", "", "517,7", "618", "532,3", "154,8"]
colomn3 = ["", "505,9", "449", "-346,2", "-186,8", "", "", "496,5", "681", "-528,3", "-251,9"]
colomn4 = ["", V1_1_ex1, I1_1_ex1*1e3, P1_1_ex1, Q1_1_ex1, "", "", V1_1_ex2, I1_1_ex2*1e3, P1_1_ex2, Q1_1_ex2]
colomn5 = ["", V2_1_ex1, I2_1_ex1*1e3, P2_1_ex1, Q2_1_ex1, "", "", V2_1_ex2, I2_1_ex2*1e3, P2_1_ex2, Q2_1_ex2]
colomn6 = ["", (518.4 - V1_1_ex1) / 518.4 * 100, (0.392 - I1_1_ex1) / 0.392 * 100, (347.8 - P1_1_ex1) / 347.8 * 100,
(53.53 - Q1_1_ex1) / 53.53 * 100, "", "", (517.7 - V1_1_ex2) / 517.7 * 100, (0.618 - I1_1_ex2) / 0.618 * 100, 
(532.3 - P1_1_ex2) / 532.3 * 100, (154.8 - Q1_1_ex2) / 154.8 * 100]
colomn7 = ["", (505.9 - V2_1_ex1) / 505.9 * 100, (0.449 - I2_1_ex1) / 0.449 * 100, (-346.2 - P2_1_ex1) / -346.2 / 100,
(-186.8 - Q2_1_ex1) / -186.8 * 100, "", "", (496.5 - V2_1_ex2) / 496.5 * 100, (0.681 - I2_1_ex2) / 0.681 * 100,
(-528.3 - P2_1_ex2) / -528.3 * 100, (-251.9 - Q2_1_ex2) / -251.9 * 100]
data = hcat(colomn1, colomn2, colomn3, colomn4, colomn5, colomn6, colomn7);
header = (["Режимы", "ПС А", "ПС Б", "ПС А", "ПС Б", "ПС А", "ПС Б"], 
["", "RTDS", "RTDS", "Engee", "Engee", "Ошибка, %", "Ошибка, %"])
pretty_table(
    data;
    header = header,
    alignment = :l,
    formatters = ft_printf("%5.2f")
)
┌────────────────────────────────────────────┬───────┬────────┬────────┬─────────┬───────────┬───────────┐
│ Режимы                                     │ ПС А  │ ПС Б   │ ПС А   │ ПС Б    │ ПС А      │ ПС Б      │
│ RTDS  │ RTDS   │ Engee  │ Engee   │ Ошибка, % │ Ошибка, % │
├────────────────────────────────────────────┼───────┼────────┼────────┼─────────┼───────────┼───────────┤
│ Обе цепи в работе                          │       │        │        │         │           │           │
│ Напряжение на шинах, кВ                    │ 518,4 │ 505,9  │ 518.56 │ 505.93  │ -0.03     │ -0.01     │
│ Ток по линии, А                            │ 392   │ 449    │ 387.39 │ 442.69  │  1.18     │  1.41     │
│ Активный переток мощности, МВт             │ 347,8 │ -346,2 │ 344.16 │ -340.72 │  1.05     │  0.00     │
│ Реактивный переток мощности, МВАр          │ 53,53 │ -186,8 │ 51.17  │ -185.47 │  4.41     │  0.71     │
│                                            │       │        │        │         │           │           │
│ Цепь 2 отключена с двух сторон и заземлена │       │        │        │         │           │           │
│ Напряжение на шинах, кВ                    │ 517,7 │ 496,5  │ 517.80 │ 496.60  │ -0.02     │ -0.02     │
│ Ток по линии, А                            │ 618   │ 681    │ 610.64 │ 671.38  │  1.19     │  1.41     │
│ Активный переток мощности, МВт             │ 532,3 │ -528,3 │ 526.57 │ -520.73 │  1.08     │  1.43     │
│ Реактивный переток мощности, МВАр          │ 154,8 │ -251,9 │ 150.51 │ -249.64 │  2.77     │  0.90     │
└────────────────────────────────────────────┴───────┴────────┴────────┴─────────┴───────────┴───────────┘

计算误差小于5%。

所需短路电流与计算电流的比较:

In [ ]:
model_name = "B2"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
switch = []
time_ar = [0, 1]
fault = reshape([0 0 0 1; 0 0 0 1; 1 0 0 0; 1 0 0 0; 0 1 1 0; 0 1 1 0], (6, 4, 1))
fault = cat(fault, fault, dims = 3)
blocks = ["ЗН_3", "ЗН_4", "Q1_ctrl", "Q2_ctrl","Q3_ctrl","Q4_ctrl","Q5_ctrl","Q6_ctrl"]
switch_states = [1 1 0 0 0 0 1 1; 0 0 0 0 1 1 1 1]
results = Matrix{Any}(undef, 12, 2)
for j = 1:2
    for i = 1:6
        engee.set_param!(model_name*"/"*blocks[i], "Value" => switch_states[j, i]);
    end
    for i = 1:6
        if i % 2 == 1
            switch = cat(reshape(fault[i,:,:], (1,4,2)), ones(5,4,2), dims = 1)
        else
            switch = cat(ones(1,4,2), reshape(fault[i,:,:], (1,4,2)), ones(4,4,2), dims = 1)
        end
        result = engee.run(model_name);
        if i <= 2
            results[i + (j - 1) * 6, 1] = result["I1_1"].value[end][1];
            results[i + (j - 1) * 6, 2] = result["I2_1"].value[end][1];
        else
            results[i + (j - 1) * 6, 1] = result["3I_0_1"].value[end];
            results[i + (j - 1) * 6, 2] = result["3I_0_2"].value[end];
        end       
    end
end

显示结果:

In [ ]:
using PrettyTables
I_ref =[24.71 4.226 20.794 1.29 22.935 1.429 22.35 5.194 19.59 1.737 21.47 1.819;
2.206 11.07 1.181 11.16 1.303 12.36 3.316 7.145 1.734 9.324 1.9 9.761]
colomn1 = ["Обе цепи в работе", "K1", "K2", "K1", "K2","K1", "K2", 
"Цепь 2 отключена с двух сторон и заземлена", "K1", "K2","K1", "K2", "K1", "K2"]
colomn2 = ["", "K(3)", "K(3)", "K(1,1)", "K(1,1)", "K(1)", "K(1)", "","K(3)", "K(3)", "K(1,1)", "K(1,1)", "K(1)", "K(1)"]
colomn3 = ["", "I1", "I1", "3I0", "3I0", "3I0", "3I0", "", "I1", "I1", "3I0", "3I0", "3I0", "3I0"]
colomn4 = ["", "24,71", "4,226", "20,794", "1,29", "22,935", "1,429", "", "22,35", "5,194", "19,59", "1,737", "21,47", "1,819"]
colomn5 = ["", "2,206", "11,07", "1,181", "11,16", "1,303", "12,36", "", "3,316", "7,145", "1,734", "9,324", "1,9", "9,761"]
colomn6 = reshape(cat("", transpose(results[1:6,1]),"", transpose(results[7:12,1]), dims=2), (14))
colomn7 = reshape(cat("", transpose(results[1:6,2]),"", transpose(results[7:12,2]), dims=2), (14))
colomn8 = reshape(cat("", (results[1:6,1].-I_ref[1,1:6])./I_ref[1,1:6].*100,
"", (results[7:12,1].-I_ref[1,7:12])./I_ref[1,7:12].*100, dims=1), (14))
colomn9 = reshape(cat("", (results[1:6,2].-I_ref[2,1:6])./I_ref[2,1:6].*100,
"", (results[7:12,2].-I_ref[2,7:12])./I_ref[2,7:12].*100, dims=1), (14))
data = hcat(colomn1, colomn2, colomn3, colomn4, colomn5, colomn6, colomn7, colomn8, colomn9);
header = (["Режимы КЗ", "", "", "от ПС А", "от ПС Б", "от ПС А", "от ПС Б", "от ПС А", "от ПС Б"], 
["Место КЗ", "Вид КЗ", "", "RTDS", "RTDS", "Engee", "Engee", "Ошибка, %", "Ошибка, %"])
pretty_table(
    data;
    header = header,
    alignment = :l,
    formatters = ft_printf("%5.2f")
)
┌────────────────────────────────────────────┬────────┬─────┬─────────┬─────────┬─────────┬─────────┬───────────┬───────────┐
│ Режимы КЗ                                  │ от ПС А │ от ПС Б │ от ПС А │ от ПС Б │ от ПС А   │ от ПС Б   │
│ Место КЗ                                   │ Вид КЗ │ RTDS    │ RTDS    │ Engee   │ Engee   │ Ошибка, % │ Ошибка, % │
├────────────────────────────────────────────┼────────┼─────┼─────────┼─────────┼─────────┼─────────┼───────────┼───────────┤
│ Обе цепи в работе                          │        │     │         │         │         │         │           │           │
│ K1                                         │ K(3)   │ I1  │ 24,71   │ 2,206   │ 24.34   │  2.19   │ -1.51     │ -0.65     │
│ K2                                         │ K(3)   │ I1  │ 4,226   │ 11,07   │  4.21   │ 11.08   │ -0.36     │  0.05     │
│ K1                                         │ K(1,1) │ 3I0 │ 20,794  │ 1,181   │ 20.89   │  1.16   │  0.48     │ -1.64     │
│ K2                                         │ K(1,1) │ 3I0 │ 1,29    │ 11,16   │  1.27   │ 11.18   │ -1.61     │  0.14     │
│ K1                                         │ K(1)   │ 3I0 │ 22,935  │ 1,303   │ 23.03   │  1.28   │  0.40     │ -1.75     │
│ K2                                         │ K(1)   │ 3I0 │ 1,429   │ 12,36   │  1.41   │ 12.37   │ -1.65     │  0.12     │
│ Цепь 2 отключена с двух сторон и заземлена │        │     │         │         │         │         │           │           │
│ K1                                         │ K(3)   │ I1  │ 22,35   │ 3,316   │ 22.58   │  3.22   │  1.04     │ -2.82     │
│ K2                                         │ K(3)   │ I1  │ 5,194   │ 7,145   │  5.18   │  6.85   │ -0.34     │ -4.16     │
│ K1                                         │ K(1,1) │ 3I0 │ 19,59   │ 1,734   │ 19.69   │  1.72   │  0.50     │ -1.08     │
│ K2                                         │ K(1,1) │ 3I0 │ 1,737   │ 9,324   │  1.72   │  9.34   │ -1.18     │  0.20     │
│ K1                                         │ K(1)   │ 3I0 │ 21,47   │ 1,9     │ 21.56   │  1.88   │  0.40     │ -1.15     │
│ K2                                         │ K(1)   │ 3I0 │ 1,819   │ 9,761   │  1.80   │  9.77   │ -1.27     │  0.13     │
└────────────────────────────────────────────┴────────┴─────┴─────────┴─────────┴─────────┴─────────┴───────────┴───────────┘

计算误差小于5%。

实验1-10

瞬态电阻和负载对DZ运行的影响。

测试条件:

-KZ位置:点K4.
-短路类型:K(1,1)VS0,K(1)B0

实验参数:

image_2.png

实验No.1设置在模型中。 为了进行其他实验,需要改变短路的类型和短路块中的瞬态电阻。

In [ ]:
model_name = "B2_1_10"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])';
results[1, 3] = stack(collect(result["V1_1"].value[:])[!,:value])';
results[1, 4] = stack(collect(result["V2_1"].value[:])[!,:value])';   
sim_time = collect(result["I1_1"].time[:])[!,:time];

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1;
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir + 2], xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, layout=(2,1))
Out[0]:

实验11-14

近短路的情况下检查遥控器的操作。

测试条件:

-短路类型:K(3)ABC
-短路位置的瞬态电阻:0欧姆。

实验参数:

image_2.png

该模型定义了经验No.11。 对于其他实验,有必要将短路单元移动到所需的点。

In [ ]:
model_name = "B2_11_14"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])';
results[1, 3] = stack(collect(result["V1_1"].value[:])[!,:value])';
results[1, 4] = stack(collect(result["V2_1"].value[:])[!,:value])';  
sim_time = result["I1_1"].time;

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1;
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir + 2], xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, layout=(2,1))
Out[0]:

经验15-16

检查轮胎外部短路的燃油泵的操作

测试条件:

-KZ位置:点K3,点K4。
-短路类型:K(1)A0.
-短路位置的瞬态电阻:0欧姆。
-平行线从两侧断开并接地。
-正常负载模式,短路前。

image_2.png

模型有经验编号15。 为了进行第16号实验,有必要将短路块移动到所需的点。

In [ ]:
model_name = "B2_15_16"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])';
results[1, 3] = stack(collect(result["V1_1"].value[:])[!,:value])';
results[1, 4] = stack(collect(result["V2_1"].value[:])[!,:value])';      
sim_time = result["I1_1"].time;

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1;
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir + 2], xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, layout=(2,1))
Out[0]:

经验17-20

用一个成功的OAPV的内部短路检查DZ和TNNP的操作.

模式的序列:

-0-0.5s正常负载模式,短路前
-0.4s在架空中间发生短路
线路-0.5秒从两侧断开线路A相,无震动暂停(1.5秒)
-1s短路消失
-1.5s从PS a侧激活a相(OAPV)
-1.7s从PS B侧激活a相线。

image_2.png

该模型定义了经验No.17。 对于其他实验,有必要改变短路块中的短路电阻和/或将其移动到所需的点。

In [ ]:
model_name = "B2_17_20"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])'; 
results[1, 3] = stack(collect(result["V1_1"].value[:])[!,:value])';
results[1, 4] = stack(collect(result["V2_1"].value[:])[!,:value])'; 
sim_time = collect(result["I1_1"].time[:])[!,:time];

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1;
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir+2], xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, layout=(2,1))
Out[0]:

实验21-24

用不成功的OAPV的内部短路检查DZ和TNNP的操作。

模式的序列:

-0-0.4s正常负载模式,短路前。
-线路上发生0.4s短路
-0.5s切断两侧短路的线路a相,无冲击暂停(1.5s)
-2s从控制线侧接通线路a相
-2.1s线路从PS A的保护断开。

image_2.png

该模型定义了经验No.21。 对于其他实验,有必要改变短路块中的短路电阻和/或将其移动到所需的点。

In [ ]:
model_name = "B2_21_24"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])';
results[1, 3] = stack(collect(result["V1_1"].value[:])[!,:value])';
results[1, 4] = stack(collect(result["V2_1"].value[:])[!,:value])'; 
sim_time = collect(result["I1_1"].time[:])[!,:time];

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir+2], xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, layout=(2,1))
Out[0]:

实验25-30

Oapv循环中稳定的间歇短路。

模式的序列:

-0-0.4s正常负载模式。
-0.4s短路发生。
-线路A相断开0.5s。
-1s短路到(1)a0的消失。 无震动暂停(1.5秒)。
-2随着包含从PS a侧的线的a相和太阳的相位短路的发生。
-2.1带短路保护关断

image_2.png

模型有经验编号25。 为了进行其他实验,需要改变K1子系统中开关的电阻。 要更改短路点,请将短路块移动到线的中间。

In [ ]:
model_name = "B2_25_30"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])';
results[1, 3] = stack(collect(result["V1_1"].value[:])[!,:value])';
results[1, 4] = stack(collect(result["V2_1"].value[:])[!,:value])';
sim_time =  collect(result["I1_1"].time[:])[!,:time];

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 2
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir+2], xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, layout=(2,1))
Out[0]:

经验31

检查DZ和TNNP的操作与外部短路不成功的TAPV与TT饱和。

测试条件:
-KZ位置:k4点
-短路类型:K(1)A0
-短路位置的瞬态电阻:0

模式的序列:
-0-0.4s正常负载模式。
-0.4s短路发生。
-0.5S断开损坏的线路。
-1.5s APV从PS B(1s)的一侧。
-1.6S断开损坏的线路。

image.png
In [ ]:
model_name = "B2_31"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])'; 
results[1, 3] = stack(collect(result["V1_1"].value[:])[!,:value])';
results[1, 4] = stack(collect(result["V2_1"].value[:])[!,:value])';    
sim_time =  collect(result["I1_1"].time[:])[!,:time];

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir+2], xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, layout=(2,1))
Out[0]:

实验32-35

在a-B线上以摆动中心摆动。

测试条件:
-摆动中心:在A-B线上。
-摇摆频率:1Hz和增加对摇摆锁的失败。

image_2.png

模型有经验编号32。 对于其他实验,有必要从"频率"子系统改变"正弦函数"块的幅度和频率参数。 对于实验No.32,在PS B处的电动势摆动角度从设定模式设定为±180°。 从0到0.5秒,系统工作在稳态,从0.5秒,频率开始变化。 振幅应与摆动频率成比例地增大。

In [ ]:
model_name = "B2_32_35"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])';
results[1, 3] = stack(collect(result["Zab_1"].value[:])[!,:value]);
results[1, 4] = stack(collect(result["Zab_2"].value[:])[!,:value]);
sim_time =  collect(result["I1_1"].time[:])[!,:time];

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir+2], xlabel = "t, с", ylabel = "Zab, Ом", ylims = (0, 2000))
plot(p1, p2, layout=(2,1))
Out[0]:

实验36-43

与a-B线上的摆动中心摆动,并在保护区内短路。

测试条件:

-摆动中心:在a-B线上,距离a点的线长的60%。
-摆动频率:2赫兹
-KZ位置:从PS a线的60%。
-短路类型:K(3)ABC,K(2)BC,K(1,1)BC0,K(1)A0
-短路点的电阻为0和10欧姆。

image_2.png

模型定义了经验No.36。 对于其他实验,有必要改变短路的类型和短路块中的瞬态电阻。 对于实验No.36,在PS B处的电动势摆动角度从设定模式设定为±180°。 从0到0.5秒,系统工作在稳态,从0.5秒频率开始变化,在1.125秒时在点K7发生短路。

In [ ]:
model_name = "B2_36_43"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])';
results[1, 3] = stack(collect(result["Zab_1"].value[:])[!,:value]);
results[1, 4] = stack(collect(result["Zab_2"].value[:])[!,:value]);
sim_time =  collect(result["I1_1"].time[:])[!,:time];

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir+2], xlabel = "t, с", ylabel = "Zab, Ом", ylims = (0, 2000))
plot(p1, p2, layout=(2,1))
Out[0]:

经验44

变成内部短路的平行线上的外部短路。

测试条件:

-短路类型:外部到(3)ABC,变成内部。
-KZ位置:k5点,过渡到K1点。
-线路负载:正常模式(表2)。
-短路发生角度:0°。
-短路点的瞬态电阻为0欧姆。

模式的序列:
-从PS a侧的平行线上的相位ABC短路。
-60ms后短路切换到k1点的受保护线路。

事件的顺序:

-0.5s3f在点K5处短路(a相的电压角为零)。
-0.56s3f在点K1处发生短路(在点K5处短路不消失)。
-0.6s k5点短路关断。
-0.66s k1点短路关断。

image.png
In [ ]:
model_name = "B2_44"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4)
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])';
results[1, 3] = stack(collect(result["V1_1"].value[:])[!,:value])';
results[1, 4] = stack(collect(result["V2_1"].value[:])[!,:value])';
sim_time = collect(result["I1_1"].time[:])[!,:time];

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir+2], xlabel = "t, с", ylabel = "U, кВ", label = ["a" "b" "c"])
plot(p1, p2, layout=(2,1))
Out[0]:

实验45-46

平行线的相互感应对DZ运行的影响。

测试条件:
-正常模式。
-KZ位置:点K2。
-短路位置的电阻:0欧姆。
-短路类型:K(1)A0
-a)平行线断开接地。
-b)运行中的平行线。

image.png

模型定义了经验No.45。 为了进行第46号实验,有必要打开开关Q3和Q4,断开接地刀。

In [ ]:
model_name = "B2_45_46"
model_name in [m.name for m in engee.get_all_models()] ? engee.open(model_name) : engee.load( "$(@__DIR__)/$(model_name).engee");
results = Matrix{Any}(undef, 1, 4);
result = engee.run(model_name);
results[1, 1] = stack(collect(result["I1_1"].value[:])[!,:value])';
results[1, 2] = stack(collect(result["I2_1"].value[:])[!,:value])';
results[1, 3] = stack(collect(result["Zab_1"].value[:])[!,:value]);
results[1, 4] = stack(collect(result["Zab_2"].value[:])[!,:value]);
sim_time = collect(result["I1_1"].time[:])[!,:time];

显示结果:

In [ ]:
# сторона измерения, 1 - ПС А, 2 -ПС Б
dir = 1
gr()
p1 = plot(sim_time, results[1, dir], xlabel = "t, с", ylabel = "I, кА", label = ["a" "b" "c"])
p2 = plot(sim_time, results[1, dir+2], xlabel = "t, с", ylabel = "Zab, Ом", ylims = (0, 500))
plot(p1, p2, layout=(2,1))