232 lines
11 KiB
Python
232 lines
11 KiB
Python
import Self_defined_functions
|
|
import math
|
|
#------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
def Line_SingDirect_zero_DistanceI_Reactance(K_k, L_0, x_0, L_1, x_1, n_CT, n_PT):
|
|
#该函数适用于以下定值的计算:
|
|
#单线直供0区距离I段电抗值
|
|
#复线直供0区距离I段电抗值
|
|
#复线直供1区距离I段电抗值
|
|
#复线直供0区分区所距离I段电抗值
|
|
#全并联II型AT供电1区距离I段电抗值
|
|
#全并联I型AT供电2区距离I段电抗值
|
|
#经1级开闭所0区距离I段电抗值
|
|
#经1级开闭所0区距离I段开闭所电抗值
|
|
#经1级开闭所0区双进线并联保护距离I段电抗值
|
|
#经2级开闭所0区距离I段电抗值
|
|
#经2级开闭所0区距离I段1级开闭所馈线保护电抗值
|
|
#经2级开闭所0区距离I段2级开闭所馈线保护电抗值
|
|
#经2级开闭所0区双进线并联保护距离I段电抗值
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
X_dz1 = K_k * (L_0 * x_0 + L_1 * x_1) * n_CT / n_PT
|
|
return X_dz1
|
|
|
|
def Line_Switching1_zero_DistanceII_Reactance(K_k, L_0, x_0, L_1, x_1, L_2, x_2, n_CT, n_PT,k_f):
|
|
#该函数适用于以下定值的计算:
|
|
#经1级开闭所0区距离II段电抗值
|
|
#经2级开闭所0区距离III段电抗值
|
|
#经2级开闭所0区1级开闭所距离II段电抗值
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
X_dz2 = K_k * (L_0 * x_0 + L_1 * x_1 + k_f * L_2 * x_2) * n_CT / n_PT
|
|
return X_dz2
|
|
|
|
def Line_Switching2_zero_DistanceII_Reactance(K_k, L_0, x_0, L_1, x_1, L_2, x_2, n_CT, n_PT,k_f):
|
|
#该函数适用于以下定值的计算:
|
|
#经2级开闭所0区距离II段电抗值
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
X_dz2 = K_k * (L_0 * x_0 + L_1 * x_1 + k_f * K_k * L_2 * x_2) * n_CT / n_PT
|
|
return X_dz2
|
|
|
|
def Line_SingDirect_one_DistanceI_Reactance(K_k, L_0, x_0, L_1, x_1, L_2, x_2, n_CT, n_PT):
|
|
#该函数适用于单线直供1区距离I段电抗值整定值计算
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
X_dz1 = K_k * (L_0 * x_0 + L_1 * x_1 + L_2 * x_2) * n_CT / n_PT
|
|
return X_dz1
|
|
|
|
def Line_ATI_zero_DistanceI_Reactance(K_k, L_0, x_0F, L_1, x_1F, n_CT, n_PT):
|
|
#该函数适用于以下定值的计算:
|
|
#复线直供0区距离II段电抗值
|
|
#全并联I型AT供电0区距离I段电抗值
|
|
#全并联II型AT供电1区距离I段分区所电抗值
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
X_dz1 = 2 * K_k * (L_0 * x_0F + L_1 * x_1F) * n_CT / n_PT
|
|
return X_dz1
|
|
|
|
def Line_AT1_one_DistanceI_Reactance(K_k, L_0, x_0F, L_1, L_2, x_1F, n_CT, n_PT):
|
|
#检测一下数据输入类型
|
|
#该函数适用于以下定值的计算:
|
|
#全并联I型AT供电1区距离I段电抗值
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
X_dz1 = 2 * K_k * (L_0 * x_0F + (L_1 + L_2) * x_1F) * n_CT / n_PT
|
|
return X_dz1
|
|
|
|
def Line_AT2_one_DistanceII_Reactance(K_k, L_0, x_0F, L_1, x_1F, n_CT, n_PT, L_2):
|
|
#检测一下数据输入类型
|
|
#全并联II型AT供电1区距离II段电抗值
|
|
#复线直供1区距离II段电抗值
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
X_dz2_0 = 2 * K_k * (L_0 * x_0F + L_1 * x_1F) * n_CT / n_PT
|
|
X_dz2_1 = K_k * (L_0 * x_0F + (L_1 + 2 * L_2) * x_1F) * n_CT / n_PT
|
|
X_dz2 = max(X_dz2_0,X_dz2_1)
|
|
return X_dz2
|
|
|
|
def Line_DualDirect_one_DistanceII_Reactance(K_k, L_0, x_0, L_1, x_1, n_CT, n_PT, L_2, x_2):
|
|
#检测一下数据输入类型
|
|
#复线直供1区分区所距离I段电抗值
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
X_dz2_0 = K_k * (L_0 * x_0 + L_1 * x_1) * n_CT / n_PT
|
|
X_dz2_1 = K_k * (L_0 * x_0 + 2 * L_2 * x_2) * n_CT / n_PT
|
|
X_dz2 = max(X_dz2_0,X_dz2_1)
|
|
return X_dz2
|
|
|
|
def Line_ATI_zero_DistanceI_Resistance(U_min, K_k, I_fhmax, Phi_fh, Phi_xl, n_CT, n_PT):
|
|
#该函数适用于以下定值的计算:
|
|
#单线直供0区距离I段电阻值
|
|
#单线直供1区距离I段电阻值
|
|
#复线直供0区距离I段电阻值
|
|
#复线直供0区距离I段分区所电阻值
|
|
#复线直供0区距离II段电阻值
|
|
#复线直供1区距离I段电阻值
|
|
#复线直供1区距离II段电阻值
|
|
#复线直供1区距离I段分区所电阻值
|
|
#全并联I/II型AT供电0区距离I段电阻值
|
|
#全并联I型AT供电1区距离I段电阻值
|
|
#全并联II型AT供电1区距离I段电阻值
|
|
#全并联II型AT供电1区距离I段分区所电阻值
|
|
#全并联II型AT供电1区距离II段分区所电阻值
|
|
#全并联I/II型AT供电2区距离I段电阻值
|
|
#经1级开闭所0区距离I段电阻值
|
|
#经1级开闭所0区距离II段电阻值
|
|
#经1级开闭所0区距离I段开闭所电阻值
|
|
#经1级开闭所0区双进线并联保护距离I段电阻值
|
|
#经2级开闭所0区距离I段电阻值
|
|
#经2级开闭所0区距离II段电阻值
|
|
#经2级开闭所0区距离III段电阻值
|
|
#经2级开闭所0区距离I段1级开闭所馈线保护电阻值
|
|
#经2级开闭所0区距离II段1级开闭所馈线保护电阻值
|
|
#经2级开闭所0区距离I段2级开闭所馈线保护电阻值
|
|
#经2级开闭所0区双进线并联保护距离I段电阻值
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
Phi_fh_rad = math.radians(Phi_fh)
|
|
Phi_xl_rad = math.radians(Phi_xl)
|
|
R_dz1 = (U_min / (K_k * I_fhmax)) * (math.cos(Phi_fh_rad) - math.sin(Phi_fh_rad) / math.tan(Phi_xl_rad)) * (n_CT / n_PT)
|
|
return R_dz1
|
|
|
|
def Line_SwitchingStation1_zero_OverCurrent_Current(K_k, I_dmax, n_CT, I_dbmax):
|
|
#该函数适用于以下定值的计算:
|
|
#经1级开闭所0区电流速断电流值以及灵敏度
|
|
#经2级开闭所0区电流速断电流值以及灵敏度
|
|
#经2级开闭所0区1级开闭所电流速断电流值以及灵敏度
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
I_dz = K_k * I_dmax / n_CT
|
|
K_lm = I_dbmax / (n_CT * I_dz)
|
|
return I_dz, K_lm
|
|
|
|
def Line_DualDirect_zero_Overcurrent_Current(K_k, I_fhmax, n_CT):
|
|
#该函数适用于以下定值的计算:
|
|
#复线直供分区所过电流电流值
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
I_dz = K_k * I_fhmax / n_CT
|
|
return I_dz
|
|
|
|
def Line_AT1_zero_OverCurrent_Current(K_k, I_fhmax, I_dmax, n_CT, I_dbmax):
|
|
#该函数适用于以下定值的计算:
|
|
#单线直供0区电流速断电流值以及灵敏度
|
|
#单线直供1区电流速断电流值以及灵敏度
|
|
#复线直供0区电流速断电流值以及灵敏度
|
|
#复线直供1区电流速断电流值以及灵敏度
|
|
#全并联I/II型AT供电0区电流速断电流值以及灵敏度
|
|
#全并联I型AT供电1区电流速断电流值以及灵敏度
|
|
#全并联II型AT供电1区电流速断电流值以及灵敏度
|
|
#全并联I/II型AT供电2区电流速断电流值以及灵敏度
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
I_dz = K_k * max(I_fhmax, I_dmax) / n_CT
|
|
K_lm = I_dbmax / (n_CT * I_dz)
|
|
return I_dz, K_lm
|
|
|
|
def Line_AT1_zero_LowVoltage_Voltage(U_min, K_k, n_PT):
|
|
#该函数适用于以下定值的计算:
|
|
#单线直供0区低压启动过电流电压值
|
|
#单线直供1区低压启动过电流电压值
|
|
#复线直供0区低压启动过电流电压值
|
|
#复线直供1区低压启动过电流电压值
|
|
#全并联I/II型AT供电0区低压启动过电流电压值
|
|
#全并联I型AT供电1区低压启动过电流电压值
|
|
#全并联II型AT供电1区低压启动过电流电压值
|
|
#全并联II型AT供电1区低压启动过电流分区所电压值
|
|
#全并联I/II型AT供电2区低压启动过电流电压值
|
|
#经1级开闭所0区低压启动过电流电压值
|
|
#经1级开闭所0区低压启动过电流开闭所电压值
|
|
#经2级开闭所0区低压启动过电流电压值
|
|
#经2级开闭所0区低压启动过电流1级开闭所电压值
|
|
#经2级开闭所0区低压启动过电流2级开闭所电压值
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
U_dzPT = U_min / (K_k * n_PT)
|
|
return U_dzPT
|
|
|
|
def Line_AT1_zero_LowVoltage_Current(K_k, I_fhmax, K_lm, I_dmin, n_CT):
|
|
#该函数适用于以下定值的计算:
|
|
#单线直供0区低压启动过电流电流值
|
|
#单线直供1区低压启动过电流电流值
|
|
#复线直供0区低压启动过电流电流值
|
|
#复线直供1区低压启动过电流电流值
|
|
#全并联I/II型AT供电0区低压启动过电流电流值
|
|
#全并联I型AT供电1区低压启动过电流电流值
|
|
#全并联II型AT供电1区低压启动过电流电流值
|
|
#全并联II型AT供电1区低压启动过电流分区所电流值
|
|
#全并联I/II型AT供电2区低压启动过电流电流值
|
|
#经1级开闭所0区低压启动过电流电流值
|
|
#经1级开闭所0区低压启动过电流开闭所电流值
|
|
#经2级开闭所0区低压启动过电流电流值
|
|
#经2级开闭所0区低压启动过电流1级开闭所电流值
|
|
#经2级开闭所0区低压启动过电流2级开闭所电流值
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
I_dz = min(K_k * I_fhmax, I_dmin / K_lm) / n_CT
|
|
return I_dz
|
|
|
|
def Line_AT1_zero_DeltaCurrent_Current(K_k, I_emax, n_CT):
|
|
#该函数适用于以下定值的计算:
|
|
#单线直供0区电流增量电流值
|
|
#单线直供1区电流增量电流值
|
|
#复线直供0区电流增量电流值
|
|
#复线直供0区电流增量分区所电流值
|
|
#复线直供1区电流增量电流值
|
|
#复线直供1区电流增量分区所电流值
|
|
#全并联I/II型AT供电0区电流增量电流值
|
|
#全并联I型AT供电1区电流增量电流值
|
|
#全并联II型AT供电1区电流增量电流值
|
|
#全并联II型AT供电1区电流增量电流值
|
|
#全并联I/II型AT供电2区电流增量电流值
|
|
#经1级开闭所0区电流增量电流值
|
|
#经1级开闭所0区电流增量开闭所电流值
|
|
#经2级开闭所0区电流增量电流值
|
|
#经2级开闭所0区电流增量1级开闭所电流值
|
|
#经2级开闭所0区电流增量2级开闭所电流值
|
|
#检测一下数据输入类型
|
|
for name, value in locals().items():
|
|
Self_defined_functions.check_input(value)
|
|
Delta_I_dz = (K_k * I_emax) / n_CT
|
|
return Delta_I_dz |