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