Smart_Report/CalculateMainTransformer.py

113 lines
4.1 KiB
Python
Raw Permalink Normal View History

2025-04-17 14:15:10 +08:00
import Self_defined_functions
import math
#------------------------------------------------------------------------------------------------------------------------------------
def MainTransformer_DiffProtection(K_k, I_eh, n_CTh, n_ylmax):
# 该函数适用于以下定值的计算:
# 牵引变压器差动保护边相差动速断电流值、动作电流值、一段制动电流值、二段制动电流值
# 牵引变压器差动保护中间相差动速断电流值、动作电流值、一段制动电流值、二段制动电流值
# 牵引变压器差动保护差流越限定值
# 检测一下数据输入类型
for name, value in locals().items():
Self_defined_functions.check_input(value)
I_sd_bx = K_k * (n_ylmax * I_eh) / n_CTh
I_dz_bx = 0.5 * I_eh / n_CTh
I_zd1_bx = I_eh / n_CTh
I_zd2_bx = 3 * I_eh / n_CTh
I_yxdz = 0.2 * I_eh / n_CTh
# 使用辅助函数计算每个量及其乘以根号三的结果
results = [I_sd_bx, math.sqrt(3) * I_sd_bx,
I_dz_bx, math.sqrt(3) * I_dz_bx,
I_zd1_bx, math.sqrt(3) * I_zd1_bx,
I_zd2_bx, math.sqrt(3) * I_zd2_bx]
return results, I_yxdz
def MainTransformer_ZeroSequence_Overcurrent(I_eh, n_CTh):
# 该函数适用于以下定值的计算:
# 牵引变压器零序过流保护电流值
# 检测一下数据输入类型
for name, value in locals().items():
Self_defined_functions.check_input(value)
I_lx = 0.5 * I_eh / n_CTh
return I_lx
def MainTransformer_LowVoltage_Voltage(U_min, K_k, n_PT):
# 该函数适用于以下定值的计算:
# 牵引变压器低压启动过电流动作电压值
# 检测一下数据输入类型
for name, value in locals().items():
Self_defined_functions.check_input(value)
U_dz = U_min / (K_k * n_PT)
return U_dz
def MainTransformer_LowVoltage_HiVoltageSideCurrent(K_kh, I_eh, n_CTh):
# 该函数适用于以下定值的计算:
# 牵引变压器低压启动过电流高压侧电流值
# 检测一下数据输入类型
for name, value in locals().items():
Self_defined_functions.check_input(value)
I_dzh = K_kh * I_eh / (n_CTh)
results = [I_dzh, I_dzh * math.sqrt(3)]
return results
def MainTransformer_LowVoltage_LowVoltageSideCurrent(K_kl, I_el, n_CTl):
# 该函数适用于以下定值的计算:
# 牵引变压器低压启动过电流低压侧电流值
# 检测一下数据输入类型
for name, value in locals().items():
Self_defined_functions.check_input(value)
I_dzl = K_kl * I_el / (n_CTl)
results = [I_dzl, I_dzl*math.sqrt(3)]
return results
def MainTransformer_LowVoltage_PTVoltage(U_min, K_k, K_lm, n_PT):
# 该函数适用于以下定值的计算:
# 牵引变压器低压启动过电流PT断线电压定值
# 检测一下数据输入类型
for name, value in locals().items():
Self_defined_functions.check_input(value)
U_dzPT = U_min / (K_k * K_lm * n_PT)
return U_dzPT
def MainTransformer_LowVoltage_AmpCoeffiHigh(I_fhmaxh, Ieh):
# 该函数适用于以下定值的计算:
# 牵引变压器低压启动过电流高压侧放大倍数
# 检测一下数据输入类型
for name, value in locals().items():
Self_defined_functions.check_input(value)
n_h = I_fhmaxh / Ieh
return n_h
def MainTransformer_LowVoltage_AmpCoeffiLow(I_fhmaxl, Iel):
# 该函数适用于以下定值的计算:
# 牵引变压器低压启动过电流低压侧放大倍数
# 检测一下数据输入类型
for name, value in locals().items():
Self_defined_functions.check_input(value)
n_l = I_fhmaxl / Iel
return n_l
def MainTransformer_Overload_Current(I_eh, n_CTh):
# 该函数适用于以下定值的计算:
# 牵引变压器过负荷定时限动作电流
# 检测一下数据输入类型
for name, value in locals().items():
Self_defined_functions.check_input(value)
I_dz1 = 2 * I_eh / n_CTh
I_dz2 = 2.5 * I_eh / n_CTh
results = [I_dz1, I_dz1 * math.sqrt(3),
I_dz2, I_dz2 * math.sqrt(3)]
return results