|
|
@@ -459,7 +459,7 @@ const SET_LIST JMList[]=
|
|
|
const SET_LIST TULF8List[]=
|
|
|
{
|
|
|
{"G B K ", 0,},
|
|
|
- {"Utf-8 ", 1,},
|
|
|
+ {"UTF-8 ", 1,},
|
|
|
{"UNICODE", 2,},
|
|
|
};
|
|
|
#define TULF8ListNum sizeof(TULF8List)/sizeof(SET_LIST)
|
|
|
@@ -952,10 +952,8 @@ const TSETTABLE tSwSetTable[] = // min max default
|
|
|
{SETTYPE_F, SET_S, 0, 100.0, 100.0, 0, 0, GROUP_SET_GOOSEDZ, 0x0000, FLOAT_R, "零序电流跳闸延时"},
|
|
|
{SETTYPE_F, SET_S, 0.00, 100.0, 0.1, 0, 0, GROUP_SET_GOOSEDZ, 0x0000, FLOAT_R, "故障点下游开关隔离时间"},
|
|
|
{SETTYPE_F, SET_S, 0.01, 100.0, 1.0, 0, 0, GROUP_SET_GOOSEDZ, 0x0000, FLOAT_R, "首开关失压跳闸时限"},
|
|
|
- #ifdef GD_AREA_ECZD_CHAOZHOU_2022
|
|
|
- {SETTYPE_F, SET_S, 0.01, 100.0, 5.0, 0, 0, GROUP_SET_GOOSEDZ, 0x0000, FLOAT_R, "供电恢复时限"},
|
|
|
- {SETTYPE_LIST, SET_NULL, 0, TGooseKGNum - 1, 1, TGooseKG, TGooseKGNum, GROUP_SET_GOOSEDZ, 0x0000, UINT_R, "本接点开关类型"},
|
|
|
- #endif
|
|
|
+ {SETTYPE_F, SET_S, 0.01, 100.0, 5.0, 0, 0, GROUP_SET_GOOSEDZ, 0x0000, FLOAT_R, "供电恢复时限"},
|
|
|
+ {SETTYPE_LIST, SET_NULL, 0, TGooseKGNum - 1, 1, TGooseKG, TGooseKGNum, GROUP_SET_GOOSEDZ, 0x0000, UINT_R, "本接点开关类型"},
|
|
|
{SETTYPE_LIST, SET_NULL, 0, FAKGTYPENum - 1, 1, FAKGTYPE, FAKGTYPENum, GROUP_SET_GOOSEDZ, 0x0000, UINT_R, "开关位置类型"},
|
|
|
#else
|
|
|
{SETTYPE_F, SET_U, 0.0, 330.0, 30.0, 0, 0, GROUP_SET_GOOSEDZ, 0x0000, FLOAT_R, "无压定值"},
|
|
|
@@ -1217,7 +1215,6 @@ const TSETTABLE tCstSetTable[] =
|
|
|
{SETTYPE_F, SET_S, 0.01, 0.1, 0.040, 0, 0, GROUP_CSTSET_FA, 0x0000, FLOAT_R, "goose判断时间"},
|
|
|
{SETTYPE_LIST, SET_NULL, 0, TTListNum - 1, 0, TTList, TTListNum, GROUP_CSTSET_FA, 0x0000, BOOL_R, "负荷开关goose发布"},
|
|
|
{SETTYPE_LIST, SET_NULL, 0, TTListNum - 1, 0, TTList, TTListNum, GROUP_CSTSET_FA, 0x0000, BOOL_R, "goose发布在故障确认后"},
|
|
|
- {SETTYPE_F, SET_S, 0.00, 10.0, 0.0, 0, 0, GROUP_CSTSET_FA, 0x0000, FLOAT_R, "短时失压闭锁时间"},
|
|
|
{SETTYPE_F, SET_S, 0.00, 10.0, 6.0, 0, 0, GROUP_CSTSET_FA, 0x0000, FLOAT_R, "单侧来电解锁时间"},
|
|
|
{SETTYPE_LIST, SET_NULL, 0, TTListNum - 1, 0, TTList, TTListNum, GROUP_CSTSET_FA, 0x0000, BOOL_R, "FA闭锁合闸禁止遥合"},
|
|
|
#ifdef FA_PL_PJ
|
|
|
@@ -2342,7 +2339,6 @@ bool MakeRunSet(bool bFirst)
|
|
|
ptSet->dT_sendext = GetSetTIME(psetbuf[CSTSET_GOOSE_SENDEXT_T].ff);
|
|
|
ptSet->dT_goosecheck = GetSetTIME(psetbuf[CSTSET_GOOSE_CHECK_T].ff);
|
|
|
ptSet->bTT_fhkg_pub = ((WORD)psetbuf[CSTSET_GOOSE_FHKG_PUB].ff == 1) ? true : false; // 负荷开关发送goose投退
|
|
|
- ptSet->dT_bs_lost = GetSetTIME(psetbuf[CSTSET_SHORT_BS_LOST_T].ff);
|
|
|
ptSet->dT_ldjs = GetSetTIME(psetbuf[CSTSET_SHORT_LDJS_T].ff);
|
|
|
ptSet->bTT_bs_ykon = ((WORD)psetbuf[CSTSET_BS_YKON_TT].ff == 1) ? true : false;
|
|
|
ptSet->bTT_goose_send_after = (((WORD)psetbuf[CSTSET_GOOSE_SEND_FAULT].ff == 1) ? true : false); //
|
|
|
@@ -2399,10 +2395,6 @@ bool MakeRunSet(bool bFirst)
|
|
|
ptSet->bTT_ShowOne = ((WORD)psetbuf[CSSET_DISP_ONE_TWO].ff == 1) ? true : false;
|
|
|
ptSet->dDc_num = (DWORD)(psetbuf[CSSET_SET_DC_NUM].ff); // 直流通道数量
|
|
|
|
|
|
- { // ptSet->bYX_AC:未投入定值时,以通道配置的判断为准;投入定值时,以定值为准
|
|
|
- ptSet->bYX_AC = gb_yx_ac;
|
|
|
- }
|
|
|
-
|
|
|
#ifdef YC_QUANTITY
|
|
|
ptSet->dYC_num = (DWORD)(psetbuf[CSSET_YC_NUM].ff); // 每间隔遥参数量
|
|
|
#endif
|
|
|
@@ -2502,58 +2494,11 @@ bool MakeRunSet(bool bFirst)
|
|
|
#if defined GD_AREA_ZHONGSHAN || defined GD_AREA_ECZD_2020 || defined GD_AREA_ZHONGSHAN_2020 // 中山局将此定值放至公共定值
|
|
|
for (sw = 0; sw < SWITCH_NUM_MAX; sw++)
|
|
|
{
|
|
|
- ptSet->tSwSet[sw].bTT_KZHL = (((WORD)psetbuf[SET_TT_KZHL].ff == 1) ? true : false); //&ptSet->bFUN_TWCN; //控制回路
|
|
|
+ ptSet->tSwSet[sw].bTT_KZHL = (((WORD)psetbuf[SET_TT_KZHL].ff == 1) ? true : false); // 控制回路
|
|
|
#ifdef YF_TQ_JL_TY_PUBLIC
|
|
|
ptSet->tSwSet[sw].bTT_BH_ALL_YB = (((WORD)psetbuf[SET_BH_YB].ff == 0) ? true : false); // 停用压板
|
|
|
#endif
|
|
|
}
|
|
|
-
|
|
|
-#if defined GD_AREA_ECZD_2020 || defined GD_AREA_ZHONGSHAN_2020
|
|
|
- // 软压板状态处理
|
|
|
- ptSet->bTT_BH_YB = true;
|
|
|
- ptSet->bTT_SOFT_YK_YB = true;
|
|
|
- ptSet->bTT_SOFT_JZS_YB = false;
|
|
|
-
|
|
|
-#ifdef defined GD_AREA_ZHONGSHAN_2020 || (defined GD_AREA_ECZD_2020)
|
|
|
- ptSet->bTT_SOFT_BH_YB = ((WORD)psetbuf[SET_BH_YBTT].ff == 1) ? true : false;
|
|
|
- ptSet->bTT_SOFT_FA_YB = ((WORD)psetbuf[SET_FA_YBTT].ff == 1) ? true : false;
|
|
|
- ptSet->bTT_SOFT_GOOSE_YB = ((WORD)psetbuf[SET_GOOSE_YBTT].ff == 1) ? true : false;
|
|
|
-#else
|
|
|
- ptSet->bTT_SOFT_GOOSE_YB = true;
|
|
|
- ptSet->bTT_SOFT_FA_YB = true;
|
|
|
- ptSet->bTT_SOFT_BH_YB = true;
|
|
|
-#endif
|
|
|
-#ifdef GD_AREA_ECZD_CHAOZHOU_2022
|
|
|
- ptSet->bTT_SOFT_BH_YB_PUB = ((WORD)psetbuf[SET_BH_YBTT].ff == 1) ? true : false;
|
|
|
- ptSet->bTT_SOFT_FA_YB_PUB = ((WORD)psetbuf[SET_FA_YBTT].ff == 1) ? true : false;
|
|
|
- ptSet->bTT_SOFT_GOOSE_YB_PUB = ((WORD)psetbuf[SET_GOOSE_YBTT].ff == 1) ? true : false;
|
|
|
-#endif
|
|
|
- ptSet->bTT_KZ_YB = ((WORD)psetbuf[SET_KZ_OUT_YB].ff == 1) ? true : false;
|
|
|
-#ifdef YF_TQ_JL_TY_PUBLIC
|
|
|
- ptSet->bTT_TQ_YB = ((WORD)psetbuf[SET_TQ_YB].ff == 1) ? true : false; // 同期合闸软压板
|
|
|
-#else
|
|
|
-#ifdef FUNC_TQ_JL_PUBLIC
|
|
|
- ptSet->bTT_TQ_YB = ((((WORD)psetbuf[SET_TQ_YB].ff == 1) ? true : false) && (((WORD)psetbuf[SET_TQ_YB_PUB].ff == 1) ? true : false)); // !!!解列压板
|
|
|
-#else
|
|
|
- ptSet->bTT_TQ_YB = ((WORD)psetbuf[SET_TQ_YB].ff == 1) ? true : false; // 同期合闸软压板
|
|
|
-#endif
|
|
|
-#endif
|
|
|
-
|
|
|
-#ifdef YF_TQ_JL_TY_PUBLIC
|
|
|
- ptSet->bTT_JL_YB = ((WORD)psetbuf[SET_JL_YB].ff == 1) ? true : false; // 解列压板
|
|
|
-#else
|
|
|
-#ifdef FUNC_TQ_JL_PUBLIC
|
|
|
- ptSet->bTT_JL_YB = ((((WORD)psetbuf[SET_JL_YB].ff == 0) ? true : false) && (((WORD)psetbuf[SET_JL_YB_PUB].ff == 1) ? true : false)); // !!!解列压板(停用)
|
|
|
-#else
|
|
|
- ptSet->bTT_JL_YB = ((WORD)psetbuf[SET_JL_YB].ff == 0) ? true : false; // !!!解列压板(停用)
|
|
|
-#endif
|
|
|
-#endif
|
|
|
-
|
|
|
-#ifdef YF_TQ_JL_TY_PUBLIC
|
|
|
- ptSet->bTT_EDIT_YB = ((WORD)psetbuf[SET_YF].ff == 1) ? true : false; // 远方投退软压板
|
|
|
-#endif
|
|
|
-
|
|
|
-#endif
|
|
|
#endif
|
|
|
|
|
|
for (i = 0; i < VOL_NUMBER; i++)
|
|
|
@@ -2685,17 +2630,43 @@ bool MakeRunSet(bool bFirst)
|
|
|
fKI0 = (float)(g_ui[ui_begin + SW_AC_I0].m2_factor_k) / 256.0;
|
|
|
|
|
|
fresh_sw_ac_set(psetbuf, sw); // 将定值刷新到测量值中
|
|
|
+
|
|
|
+ /* 压板 */
|
|
|
+ {
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_cg = (((WORD)psetbuf[SET_BH_YBTT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 常规保护投入
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_zdchz = (((WORD)psetbuf[SET_CHZ_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 自动重合闸投入
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_fa = (((WORD)psetbuf[SET_FA_YBTT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 就地馈线自动化投入
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_dfa = (((WORD)psetbuf[SET_GOOSE_YBTT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 智能分布式投入
|
|
|
+ // ptSet->tSwSet[sw].btt_gnyb_jzs = (((WORD)psetbuf[SET_MODE_JZS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 集中模式压板
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_jzs = false; // 集中模式压板
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_tqhz = (((WORD)psetbuf[SET_TQ_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 同期合闸投入
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_zdjl = (((WORD)psetbuf[SET_JL_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 自动解列投入
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_xdljd = (((WORD)psetbuf[SET_XDL_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 小电流接地保护投入
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_xldxgj = (((WORD)psetbuf[SET_LA_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 线路断线告警投入
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_btdcd = (((WORD)psetbuf[SET_TRASW_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 不停电传动投入
|
|
|
+
|
|
|
+ ptSet->tSwSet[sw].btt_yxyb_gnztt = (((WORD)psetbuf[SET_BH_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 自动化功能总投退软压板
|
|
|
+ ptSet->tSwSet[sw].btt_yxyb_gnzck = (((WORD)psetbuf[SET_KZ_OUT_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 自动化功能总出口软压板
|
|
|
+ ptSet->tSwSet[sw].btt_yxyb_chz = (((WORD)psetbuf[SET_RECS_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 重合闸软压板
|
|
|
+
|
|
|
+ mode_total = (BYTE)(psetbuf[SET_BH_YBTT + sw * SW_SET_NUMBER].ff + psetbuf[SET_FA_YBTT + sw * SW_SET_NUMBER].ff + psetbuf[SET_GOOSE_YBTT + sw * SW_SET_NUMBER].ff);
|
|
|
+ if (mode_total > 1)
|
|
|
+ { // 当前只允许一种功能模式投入运行
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_cg = false;
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_fa = false;
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_dfa = false;
|
|
|
+ }
|
|
|
+
|
|
|
+#ifdef YK_SOFT_YB // 遥控压板
|
|
|
+ ptSet->bTT_SOFT_YK_YB = ((WORD)psetbuf[SET_YK_YBTT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
+#endif
|
|
|
+ }
|
|
|
|
|
|
// 过流类定值
|
|
|
{
|
|
|
poc = &ptSet->tSwSet[sw].toc[BH_GL1];
|
|
|
-#if defined GD_AREA_ECZD_2020
|
|
|
- poc->bTz = (((WORD)psetbuf[SET_GL1_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bGj = (((WORD)psetbuf[SET_GL1_TT + sw * SW_SET_NUMBER].ff == 0) ? true : false);
|
|
|
-#else
|
|
|
- poc->bTz = (((WORD)psetbuf[SET_GL1_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bGj = (((WORD)psetbuf[SET_GL1_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
-#endif
|
|
|
+ poc->bTz = (((WORD)psetbuf[SET_GL1_TT + sw * SW_SET_NUMBER].ff == 2) ? true : false);
|
|
|
+ poc->bGj = (((WORD)psetbuf[SET_GL1_TT + sw * SW_SET_NUMBER].ff == 0) ? false : true);
|
|
|
poc->bDir = (((WORD)psetbuf[SET_GL1_DIR + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
poc->dT = GetSetTIME(psetbuf[SET_GL1_T + sw * SW_SET_NUMBER].ff);
|
|
|
#ifdef OCI_XB_0MS
|
|
|
@@ -2705,41 +2676,54 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->dT = GetSetTIME(0.026);
|
|
|
}
|
|
|
#endif
|
|
|
-
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_GL1_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //过流定值返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[BH_GL2];
|
|
|
-#if defined GD_AREA_ECZD_2020 // 广东标准2020要求告警+跳闸两个选项 跳闸包含跳闸和告警
|
|
|
poc->bTz = (((WORD)psetbuf[SET_GL2_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bGj = (((WORD)psetbuf[SET_GL2_TT + sw * SW_SET_NUMBER].ff == 0) ? true : false);
|
|
|
-#else
|
|
|
- poc->bTz = (((WORD)psetbuf[SET_GL2_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bGj = (((WORD)psetbuf[SET_GL2_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
-#endif
|
|
|
+ poc->bGj = (((WORD)psetbuf[SET_GL2_TT + sw * SW_SET_NUMBER].ff == 0) ? false : true);
|
|
|
poc->bDir = (((WORD)psetbuf[SET_GL2_DIR + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
poc->dT = GetSetTIME(psetbuf[SET_GL2_T + sw * SW_SET_NUMBER].ff);
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_GL2_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //过流2定值返回值
|
|
|
-
|
|
|
- poc = &ptSet->tSwSet[sw].toc[BH_DLBS];
|
|
|
- poc->bGj = (((WORD)psetbuf[SET_BH_DLBS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bTz = (((WORD)psetbuf[SET_BH_DLBS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->dI = GetSetSQR(psetbuf[SET_BH_DLBS_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[BH_GL3];
|
|
|
- poc->bTz = false;
|
|
|
- poc->bGj = false;
|
|
|
- poc->bDir = false;
|
|
|
-
|
|
|
poc->bTz = (((WORD)psetbuf[SET_GL3_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bGj = (((WORD)psetbuf[SET_GL3_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
+ poc->bGj = (((WORD)psetbuf[SET_GL3_TT + sw * SW_SET_NUMBER].ff == 0) ? false : true);
|
|
|
poc->bDir = (((WORD)psetbuf[SET_GL3_DIR + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
-
|
|
|
poc->dT = GetSetTIME(psetbuf[SET_GL3_T + sw * SW_SET_NUMBER].ff);
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_GL3_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //过流2定值返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 返回值
|
|
|
+
|
|
|
+ poc = &ptSet->tSwSet[sw].toc[BH_LX1];
|
|
|
+ poc->bTz = (((WORD)psetbuf[SET_LX1_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
+ poc->bGj = (((WORD)psetbuf[SET_LX1_TT + sw * SW_SET_NUMBER].ff == 0) ? false : true);
|
|
|
+ poc->bDir = false;
|
|
|
+ poc->dT = GetSetTIME(psetbuf[SET_LX1_T + sw * SW_SET_NUMBER].ff);
|
|
|
+ poc->dI = GetSetSQR(psetbuf[SET_LX1_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100);
|
|
|
+
|
|
|
+ poc = &ptSet->tSwSet[sw].toc[BH_LX2];
|
|
|
+ poc->bTz = (((WORD)psetbuf[SET_LX2_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
+ poc->bGj = (((WORD)psetbuf[SET_LX2_TT + sw * SW_SET_NUMBER].ff == 0) ? false : true);
|
|
|
+ poc->bDir = false;
|
|
|
+ poc->dT = GetSetTIME(psetbuf[SET_LX2_T + sw * SW_SET_NUMBER].ff);
|
|
|
+ poc->dI = GetSetSQR(psetbuf[SET_LX2_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100);
|
|
|
+
|
|
|
+ poc = &ptSet->tSwSet[sw].toc[BH_LX3];
|
|
|
+ poc->bTz = (((WORD)psetbuf[SET_LX3_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
+ poc->bGj = (((WORD)psetbuf[SET_LX3_TT + sw * SW_SET_NUMBER].ff == 0) ? true : false);
|
|
|
+ poc->bDir = false;
|
|
|
+ poc->dT = GetSetTIME(psetbuf[SET_LX3_T + sw * SW_SET_NUMBER].ff);
|
|
|
+ poc->dI = GetSetSQR(psetbuf[SET_LX3_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100);
|
|
|
+
|
|
|
+ poc = &ptSet->tSwSet[sw].toc[BH_DLBS]; //
|
|
|
+ poc->bGj = (((WORD)psetbuf[SET_BH_DLBS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
+ poc->bTz = (((WORD)psetbuf[SET_BH_DLBS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
+ poc->dI = GetSetSQR(psetbuf[SET_BH_DLBS_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[BH_GLJS]; // 后加速,固定为过流1段定值
|
|
|
poc->bTz = (((WORD)psetbuf[SET_GLJS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
@@ -2750,15 +2734,26 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_GLJS_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
else
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_GL1_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100);
|
|
|
+
|
|
|
+ poc = &ptSet->tSwSet[sw].toc[BH_LXJS];
|
|
|
+ poc->bTz = (((WORD)psetbuf[SET_GLJS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
+ poc->bGj = false;
|
|
|
+ poc->bDir = false;
|
|
|
+ poc->dT = GetSetTIME(psetbuf[SET_LXJS_T + sw * SW_SET_NUMBER].ff);
|
|
|
+ if (GetSetSQR(psetbuf[SET_LXJS_I + sw * SW_SET_NUMBER].ff, fKI0))
|
|
|
+ poc->dI = GetSetSQR(psetbuf[SET_LXJS_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
+ else
|
|
|
+ poc->dI = GetSetSQR(psetbuf[SET_LX1_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100);
|
|
|
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98;
|
|
|
poc = &ptSet->tSwSet[sw].toc[BH_OVI_ZZ];
|
|
|
poc->bGj = (((WORD)psetbuf[SET_DLZZ_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
poc->bDir = false;
|
|
|
poc->bTz = false;
|
|
|
poc->dT = GetSetTIME(psetbuf[SET_DLZZ_T + sw * SW_SET_NUMBER].ff);
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_DLZZ_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //过流2定值返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[BH_OVI_GZ];
|
|
|
poc->bGj = (((WORD)psetbuf[SET_DLGZ_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
@@ -2766,7 +2761,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->bTz = false;
|
|
|
poc->dT = GetSetTIME(psetbuf[SET_DLGZ_T + sw * SW_SET_NUMBER].ff);
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_DLGZ_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //过流2定值返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[BH_OVI];
|
|
|
poc->bGj = (((WORD)psetbuf[SET_DLYX_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
@@ -2774,41 +2769,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->bTz = false;
|
|
|
poc->dT = GetSetTIME(psetbuf[SET_DLYX_T + sw * SW_SET_NUMBER].ff);
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_DLYX_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //过流2定值返回值
|
|
|
-
|
|
|
- poc = &ptSet->tSwSet[sw].toc[BH_LX1];
|
|
|
- poc->bTz = (((WORD)psetbuf[SET_LX1_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bGj = (((WORD)psetbuf[SET_LX1_TT + sw * SW_SET_NUMBER].ff == 0) ? true : false);
|
|
|
- poc->bDir = false;
|
|
|
- poc->dT = GetSetTIME(psetbuf[SET_LX1_T + sw * SW_SET_NUMBER].ff);
|
|
|
- poc->dI = GetSetSQR(psetbuf[SET_LX1_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98;
|
|
|
-
|
|
|
- poc = &ptSet->tSwSet[sw].toc[BH_LX2];
|
|
|
- poc->bTz = (((WORD)psetbuf[SET_LX2_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bGj = (((WORD)psetbuf[SET_LX2_TT + sw * SW_SET_NUMBER].ff == 0) ? true : false);
|
|
|
- poc->bDir = false;
|
|
|
- poc->dT = GetSetTIME(psetbuf[SET_LX2_T + sw * SW_SET_NUMBER].ff);
|
|
|
- poc->dI = GetSetSQR(psetbuf[SET_LX2_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98;
|
|
|
- poc = &ptSet->tSwSet[sw].toc[BH_LX3];
|
|
|
- poc->bTz = (((WORD)psetbuf[SET_LX3_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bGj = (((WORD)psetbuf[SET_LX3_TT + sw * SW_SET_NUMBER].ff == 0) ? true : false);
|
|
|
- poc->bDir = false;
|
|
|
- poc->dT = GetSetTIME(psetbuf[SET_LX3_T + sw * SW_SET_NUMBER].ff);
|
|
|
- poc->dI = GetSetSQR(psetbuf[SET_LX3_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98;
|
|
|
-
|
|
|
- poc = &ptSet->tSwSet[sw].toc[BH_LXJS];
|
|
|
- poc->bTz = (((WORD)psetbuf[SET_GLJS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- poc->bGj = false;
|
|
|
- poc->bDir = false;
|
|
|
- poc->dT = GetSetTIME(psetbuf[SET_LXJS_T + sw * SW_SET_NUMBER].ff);
|
|
|
- if (GetSetSQR(psetbuf[SET_LXJS_I + sw * SW_SET_NUMBER].ff, fKI0))
|
|
|
- poc->dI = GetSetSQR(psetbuf[SET_LXJS_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
- else
|
|
|
- poc->dI = GetSetSQR(psetbuf[SET_LX1_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98;
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[BH_OVI0];
|
|
|
poc->bGj = (((WORD)psetbuf[SET_LXYX_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
@@ -2816,7 +2777,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->bTz = false;
|
|
|
poc->dT = GetSetTIME(psetbuf[SET_LXYX_T + sw * SW_SET_NUMBER].ff);
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_LXYX_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //过流2定值返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 返回值
|
|
|
}
|
|
|
// 智能分布式定值
|
|
|
{
|
|
|
@@ -2840,16 +2801,16 @@ bool MakeRunSet(bool bFirst)
|
|
|
#endif
|
|
|
|
|
|
poc->dIgl = GetSetSQR(psetbuf[SET_GOOSET_GL_I + sw * SW_SET_NUMBER].ff, fKI); // 过流定值
|
|
|
- poc->dIgl_fh = _Mul_Div_U(poc->dIgl, 96, 100); // 0.96=0.98*0.98; //过流定值返回值
|
|
|
+ poc->dIgl_fh = _Mul_Div_U(poc->dIgl, 96, 100); // 过流定值返回值
|
|
|
poc->dTgl = GetSetTIME(psetbuf[SET_GOOSET_GL_T + sw * SW_SET_NUMBER].ff);
|
|
|
|
|
|
poc->dIlx = GetSetSQR(psetbuf[SET_GOOSET_LX_I + sw * SW_SET_NUMBER].ff, fKI0); // 零序定值
|
|
|
- poc->dIlx_fh = _Mul_Div_U(poc->dIlx, 96, 100); // 0.96=0.98*0.98; //零序定值返回值
|
|
|
+ poc->dIlx_fh = _Mul_Div_U(poc->dIlx, 96, 100); // 零序定值返回值
|
|
|
poc->dTlx = GetSetTIME(psetbuf[SET_GOOSET_GL_T + sw * SW_SET_NUMBER].ff); // 2020指导意见默认只有一个时限,共用 "故障跳闸时限"
|
|
|
|
|
|
#if defined GD_AREA_ZHONGSHAN_2020
|
|
|
poc->dIgl2 = GetSetSQR(psetbuf[SET_GOOSET_GL2_I + sw * SW_SET_NUMBER].ff, fKI); // 过流2定值
|
|
|
- poc->dIgl2_fh = _Mul_Div_U(poc->dIgl2, 96, 100); // 0.96=0.98*0.98; //过流2定值返回值
|
|
|
+ poc->dIgl2_fh = _Mul_Div_U(poc->dIgl2, 96, 100); // 返回值
|
|
|
poc->dTgl2 = GetSetTIME(psetbuf[SET_GOOSET_GL2_T + sw * SW_SET_NUMBER].ff);
|
|
|
poc->dTlx = GetSetTIME(psetbuf[SET_GOOSET_LX_T + sw * SW_SET_NUMBER].ff); // 中山分开零序延时
|
|
|
poc->bKg_mainloop = (((WORD)psetbuf[SET_GOOSE_KG_TYPE + sw * SW_SET_NUMBER].ff == 0) ? true : false); // 主环开关
|
|
|
@@ -2861,8 +2822,8 @@ bool MakeRunSet(bool bFirst)
|
|
|
|
|
|
poc->bTT_ll = (((WORD)psetbuf[SET_GOOSE_LL_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 联络合闸
|
|
|
poc->dTll = GetSetTIME(psetbuf[SET_GOOSET_LL_T + sw * SW_SET_NUMBER].ff); // 联络合闸时间
|
|
|
- // poc->bTT_DIR=(((WORD)psetbuf[SET_GOOSET_DIR_TT+sw*SW_SET_NUMBER ].ff==1 )?true:false); // 合环运行
|
|
|
- // poc->bTT_mxTfz=(((WORD)psetbuf[SET_GOOSET_MXTFZ_TT+sw*SW_SET_NUMBER ].ff==1 )?true:false); // 母线故障跳分支
|
|
|
+ // poc->bTT_DIR=(((WORD)psetbuf[SET_GOOSET_DIR_TT+sw*SW_SET_NUMBER ].ff==1 )?true:false); // 合环运行
|
|
|
+ // poc->bTT_mxTfz=(((WORD)psetbuf[SET_GOOSET_MXTFZ_TT+sw*SW_SET_NUMBER ].ff==1 )?true:false); // 母线故障跳分支
|
|
|
|
|
|
#else
|
|
|
poc->bTT_gooseFA = (((WORD)psetbuf[SET_GOOSE_FA_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 智能分布式投退
|
|
|
@@ -2872,16 +2833,16 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->bsw_ll = (((WORD)psetbuf[SET_GOOSE_FTU_TYPE + sw * SW_SET_NUMBER].ff == 3) ? true : false); // 联络
|
|
|
|
|
|
poc->dIgl = GetSetSQR(psetbuf[SET_GOOSET_GL_I + sw * SW_SET_NUMBER].ff, fKI); // 过流定值
|
|
|
- poc->dIgl_fh = _Mul_Div_U(poc->dIgl, 96, 100); // 0.96=0.98*0.98; //过流定值返回值
|
|
|
+ poc->dIgl_fh = _Mul_Div_U(poc->dIgl, 96, 100); // 过流定值返回值
|
|
|
poc->dTgl = GetSetTIME(psetbuf[SET_GOOSET_GL_T + sw * SW_SET_NUMBER].ff);
|
|
|
#ifdef GD_AREA_ZHONGSHAN
|
|
|
poc->dIgl2 = GetSetSQR(psetbuf[SET_GOOSET_GL2_I + sw * SW_SET_NUMBER].ff, fKI); // 过流2定值
|
|
|
- poc->dIgl2_fh = _Mul_Div_U(poc->dIgl2, 96, 100); // 0.96=0.98*0.98; //过流2定值返回值
|
|
|
+ poc->dIgl2_fh = _Mul_Div_U(poc->dIgl2, 96, 100); // 返回值
|
|
|
poc->dTgl2 = GetSetTIME(psetbuf[SET_GOOSET_GL2_T + sw * SW_SET_NUMBER].ff);
|
|
|
#endif
|
|
|
|
|
|
poc->dIlx = GetSetSQR(psetbuf[SET_GOOSET_LX_I + sw * SW_SET_NUMBER].ff, fKI0); // 零序定值
|
|
|
- poc->dIlx_fh = _Mul_Div_U(poc->dIlx, 96, 100); // 0.96=0.98*0.98; //零序定值返回值
|
|
|
+ poc->dIlx_fh = _Mul_Div_U(poc->dIlx, 96, 100); // 零序定值返回值
|
|
|
poc->dTlx = GetSetTIME(psetbuf[SET_GOOSET_LX_T + sw * SW_SET_NUMBER].ff);
|
|
|
|
|
|
poc->dTsdlost = GetSetTIME(psetbuf[SET_GOOSET_SDLOST_T + sw * SW_SET_NUMBER].ff); // 首端失压时间
|
|
|
@@ -2908,12 +2869,13 @@ bool MakeRunSet(bool bFirst)
|
|
|
bool bch1, bch2, bch3;
|
|
|
bch1 = (((WORD)psetbuf[SET_CH1_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 一次重合闸
|
|
|
bch2 = (((WORD)psetbuf[SET_CH2_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 二次重合闸
|
|
|
- bch3 = false;
|
|
|
#ifdef DISP_SET_CH_T3
|
|
|
bch3 = (((WORD)psetbuf[SET_CH3_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 多次重合闸
|
|
|
+#else
|
|
|
+ bch3 = false;
|
|
|
#endif
|
|
|
ptSet->tSwSet[sw].bTT_CHZ = bch1 || bch2 || bch3;
|
|
|
- ptSet->tSwSet[sw].bTT_chz_tq = (((WORD)psetbuf[SET_CH_TQ + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 同期重合闸
|
|
|
+ ptSet->tSwSet[sw].bTT_chz_tq = (((WORD)psetbuf[SET_CH_TQ + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 重合检同期
|
|
|
#ifdef CHZ_JWY_LM
|
|
|
ptSet->tSwSet[sw].bTT_chz_mwy = (((WORD)psetbuf[SET_CH_MWY + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 检母线无压
|
|
|
ptSet->tSwSet[sw].bTT_chz_lwy = (((WORD)psetbuf[SET_CH_XWY + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 检线路无压
|
|
|
@@ -2924,13 +2886,13 @@ bool MakeRunSet(bool bFirst)
|
|
|
ptSet->tSwSet[sw].bTT_TTCH_TT = (((WORD)psetbuf[SET_TTCH_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 偷跳启动重合
|
|
|
ptSet->tSwSet[sw].dT_chz[0] = GetSetTIME(psetbuf[SET_CH_T1 + sw * SW_SET_NUMBER].ff);
|
|
|
ptSet->tSwSet[sw].dT_chz[1] = GetSetTIME(psetbuf[SET_CH_T2 + sw * SW_SET_NUMBER].ff);
|
|
|
- ptSet->tSwSet[sw].dT_chz[2] = 0;
|
|
|
- ptSet->tSwSet[sw].dT_ch_gl_tt = (((WORD)psetbuf[SET_CH_GL_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- ptSet->tSwSet[sw].dT_ch_jd_tt = (((WORD)psetbuf[SET_CH_JD_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
-
|
|
|
#ifdef DISP_SET_CH_T3
|
|
|
ptSet->tSwSet[sw].dT_chz[2] = GetSetTIME(psetbuf[SET_CH_T3 + sw * SW_SET_NUMBER].ff);
|
|
|
+#else
|
|
|
+ ptSet->tSwSet[sw].dT_chz[2] = 0;
|
|
|
#endif
|
|
|
+ ptSet->tSwSet[sw].dT_ch_gl_tt = (((WORD)psetbuf[SET_CH_GL_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
+ ptSet->tSwSet[sw].dT_ch_jd_tt = (((WORD)psetbuf[SET_CH_JD_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
#ifdef DISP_CHZOKCHR_2_SW
|
|
|
ptSet->tSwSet[sw].dT_chz_cd = GetSetTIME(psetbuf[SET_CHZCD_2 + sw * SW_SET_NUMBER].ff);
|
|
|
ptSet->tSwSet[sw].dT_chz_ok = GetSetTIME(psetbuf[SET_CHZ_OK + sw * SW_SET_NUMBER].ff);
|
|
|
@@ -2969,7 +2931,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
ptSet->tSwSet[sw].dRVS_MAX_T = GetSetTIME(9999); // 反时限最长时间
|
|
|
}
|
|
|
|
|
|
- ptSet->tSwSet[sw].d_bh_xbcoe = GetSetSQR(psetbuf[SET_BH_XBCOE + sw * SW_SET_NUMBER].ff, 256);
|
|
|
+ ptSet->tSwSet[sw].d_bh_xbcoe = GetSetSQR(psetbuf[SET_BH_XBCOE + sw * SW_SET_NUMBER].ff, 256); // 二次谐波闭锁系数
|
|
|
ptSet->tSwSet[sw].bTT_bh_ptdx = (((WORD)psetbuf[SET_BH_PTDX + sw * SW_SET_NUMBER].ff == 1) ? true : false); // PT断线检查
|
|
|
ptSet->tSwSet[sw].bTT_bh_xbbs = (((WORD)psetbuf[SET_BH_XBBS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false); // 谐波闭锁
|
|
|
// 同期
|
|
|
@@ -3051,8 +3013,8 @@ bool MakeRunSet(bool bFirst)
|
|
|
#endif
|
|
|
|
|
|
#ifdef FUNC_DRIVE
|
|
|
- ptSet->bTT_DRIVE = ((WORD)psetbuf[SET_XDL_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false; // 不停电传动功能软压板
|
|
|
- fresh_set_soe(EV_DRIVE, ptSet->bTT_DRIVE, bFirst, 0);
|
|
|
+ ptSet->tSwSet[sw].btt_gnyb_btdcd = ((WORD)psetbuf[SET_XDL_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false; // 不停电传动功能软压板
|
|
|
+ fresh_set_soe(EV_DRIVE, ptSet->tSwSet[sw].btt_gnyb_btdcd, bFirst, 0);
|
|
|
for (sw = 0; sw < SWITCH_NUM_MAX; sw++)
|
|
|
{
|
|
|
ptSet->tSwSet[sw].dT_Drive_hz = GetSetTIME(psetbuf[SET_DRIVE_HZ_T + sw * SW_SET_NUMBER].ff);
|
|
|
@@ -3066,7 +3028,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
ptSet->tSwSet[sw].dIBSCHZ = GetSetSQR(psetbuf[SET_CH_DLBS_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
ptSet->tSwSet[sw].dT_chz_Topen = GetSetTIME(psetbuf[SET_CHZ_OPEN + sw * SW_SET_NUMBER].ff); // 重合闸开放时间,默认300秒
|
|
|
|
|
|
- // 配网自动化功能
|
|
|
+ // FA
|
|
|
{
|
|
|
ptSet->tSwSet[sw].bTT_fa_poweron = ((DWORD)psetbuf[SET_P_YY_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
ptSet->tSwSet[sw].bTT_fa_lineon = ((DWORD)psetbuf[SET_L_YY_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
@@ -3136,7 +3098,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
|
|
|
ptSet->tSwSet[sw].d_fa_xbcoe = GetSetSQR(psetbuf[SET_FA_XBCOE + sw * SW_SET_NUMBER].ff, 256);
|
|
|
ptSet->tSwSet[sw].dU_OverU0 = GetSetSQR(psetbuf[SET_FA_U0_U + sw * SW_SET_NUMBER].ff, fKU[PUB_AC_U01]); //
|
|
|
- ptSet->tSwSet[sw].dU_OverU0_fh = _Mul_Div_U(ptSet->tSwSet[sw].dU_OverU0, 96, 100); // 0.96=0.98*0.98;
|
|
|
+ ptSet->tSwSet[sw].dU_OverU0_fh = _Mul_Div_U(ptSet->tSwSet[sw].dU_OverU0, 96, 100);
|
|
|
ptSet->tSwSet[sw].dT_OverU0 = GetSetTIME(psetbuf[SET_FA_U0_T + sw * SW_SET_NUMBER].ff);
|
|
|
#if defined GD_AREA_ECZD_2020
|
|
|
ptSet->tSwSet[sw].dU_UF = GetSetSQR(0.20 * fUn, fKU[PUB_AC_UAB1]); // 瞬压定值固定取20%额定值
|
|
|
@@ -3161,7 +3123,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
if (poc->dT < T_FA_TZ_MIN_TIME)
|
|
|
poc->dT = T_FA_TZ_MIN_TIME; // 不小于20ms
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_FA_GL_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); //返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[FA_GL_II]; // 相间II段故障
|
|
|
poc->bTz = ((((WORD)psetbuf[SET_GZCHECK_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false));
|
|
|
@@ -3194,7 +3156,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->bGj = false;
|
|
|
poc->dI = false;
|
|
|
#endif
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); //返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[FA_GL2]; // 相间告警
|
|
|
poc->bTz = false;
|
|
|
@@ -3202,7 +3164,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->bGj = (((WORD)psetbuf[SET_FA_GL2_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
poc->dT = GetSetTIME(psetbuf[SET_FA_GL2_T + sw * SW_SET_NUMBER].ff);
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_FA_GL2_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); //返回值
|
|
|
#ifdef GD_AREA_ECZD_2020
|
|
|
poc->dU = GetSetSQR(psetbuf[SET_FA_FHDDY + sw * SW_SET_NUMBER].ff * fUn / 100, fKU[PUB_AC_UAB1]); // 低电压定值
|
|
|
poc->dU_fh = _Mul_Div_U(poc->dU, 104, 100); // 返回值
|
|
|
@@ -3216,7 +3178,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->bGj = false;
|
|
|
poc->dT = GetSetTIME(0.00); // 大电流闭锁0毫秒
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_FA_DLBS_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); //返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[FA_LX]; // 零序故障
|
|
|
poc->bTz = (((WORD)psetbuf[SET_GZCHECK_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
@@ -3242,16 +3204,15 @@ bool MakeRunSet(bool bFirst)
|
|
|
if (poc->dT < T_FA_TZ_MIN_TIME)
|
|
|
poc->dT = T_FA_TZ_MIN_TIME; // 不小于20ms
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_FA_LX_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); //返回值
|
|
|
|
|
|
poc = &ptSet->tSwSet[sw].toc[FA_LX2]; // 零序告警
|
|
|
poc->bTz = false;
|
|
|
poc->bDir = false;
|
|
|
poc->bGj = (((WORD)psetbuf[SET_FA_LX2_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false);
|
|
|
- ;
|
|
|
poc->dT = GetSetTIME(psetbuf[SET_FA_LX2_T + sw * SW_SET_NUMBER].ff);
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_FA_LX2_I + sw * SW_SET_NUMBER].ff, fKI0);
|
|
|
- poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); // 0.96=0.98*0.98; //返回值
|
|
|
+ poc->dI_fh = _Mul_Div_U(poc->dI, 96, 100); //返回值
|
|
|
}
|
|
|
|
|
|
// 零序过电压投入
|
|
|
@@ -3272,76 +3233,12 @@ bool MakeRunSet(bool bFirst)
|
|
|
ptSet->tSwSet[sw].dBHOverU0_fh = _Mul_Div_U(ptSet->tSwSet[sw].dBHOverU0, 96, 100); // 0.96=0.98*0.98
|
|
|
ptSet->tSwSet[sw].dBHTOverU0 = GetSetTIME(psetbuf[SET_U0_T + sw * SW_SET_NUMBER].ff);
|
|
|
}
|
|
|
-#if defined GD_AREA_ECZD_2020 || defined GD_AREA_ZHONGSHAN_2020 // 2020二次指导意见软压板放到公共 2020-9-9
|
|
|
- // 软压板状态处理
|
|
|
- ptSet->bTT_CHZ_YB = ((WORD)psetbuf[SET_CHZ_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false; // 重合闸投入软压板
|
|
|
-#else
|
|
|
- {
|
|
|
- // 软压板状态处理
|
|
|
- ptSet->bTT_SOFT_GOOSE_YB = true;
|
|
|
- ptSet->bTT_SOFT_FA_YB = true;
|
|
|
- ptSet->bTT_SOFT_BH_YB = true;
|
|
|
- ptSet->bTT_EDIT_YB = true;
|
|
|
- ptSet->bTT_KZ_YB = true;
|
|
|
- ptSet->bTT_SOFT_YK_YB = true;
|
|
|
- ptSet->bTT_SOFT_JZS_YB = false;
|
|
|
- ptSet->bTT_BH_YB = true;
|
|
|
- ptSet->bTT_TQ_YB = true;
|
|
|
- ptSet->bTT_JL_YB = true;
|
|
|
- // 装置软压板配置
|
|
|
- ptSet->bTT_EDIT_YB = ((WORD)psetbuf[SET_EDIT_PAR_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
- ptSet->bTT_BH_YB = ((WORD)psetbuf[SET_BH_YB].ff == 1) ? true : false;
|
|
|
- ptSet->bTT_KZ_YB = ((WORD)psetbuf[SET_KZ_OUT_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
-
|
|
|
- ptSet->bTT_CHZ_YB = ((WORD)psetbuf[SET_CHZ_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false; // 重合闸投入软压板
|
|
|
- ptSet->bTT_TQ_YB = ((WORD)psetbuf[SET_TQ_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false; // 同期合闸软压板
|
|
|
-
|
|
|
-#if (defined GD_AREA_ZHONGSHAN)
|
|
|
- mode_total = (BYTE)(psetbuf[SET_BH_YBTT + sw * SW_SET_NUMBER].ff + psetbuf[SET_FA_YBTT + sw * SW_SET_NUMBER].ff + psetbuf[SET_GOOSE_YBTT + sw * SW_SET_NUMBER].ff);
|
|
|
- if (mode_total > 1)
|
|
|
- { // 当前只允许一种功能模式投入运行
|
|
|
- ptSet->bTT_SOFT_BH_YB = false;
|
|
|
- ptSet->bTT_SOFT_FA_YB = false;
|
|
|
- ptSet->bTT_SOFT_GOOSE_YB = false;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- ptSet->bTT_SOFT_BH_YB = ((WORD)psetbuf[SET_BH_YBTT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
- ptSet->bTT_SOFT_FA_YB = ((WORD)psetbuf[SET_FA_YBTT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
- ptSet->bTT_SOFT_GOOSE_YB = ((WORD)psetbuf[SET_GOOSE_YBTT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
- }
|
|
|
-#endif
|
|
|
|
|
|
- ptSet->bTT_SOFT_JZS_YB = ((WORD)psetbuf[SET_MODE_JZS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
-
|
|
|
-#ifdef YK_SOFT_YB // 遥控压板
|
|
|
- ptSet->bTT_SOFT_YK_YB = ((WORD)psetbuf[SET_YK_YBTT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
-#endif
|
|
|
-
|
|
|
- ptSet->bTT_JL_YB = ((WORD)psetbuf[SET_JL_YB].ff == 1) ? true : false; //
|
|
|
- }
|
|
|
-#endif
|
|
|
-
|
|
|
-#ifdef GD_AREA_ZHONGSHAN_2020 // 中山智能分布式手合故障处理
|
|
|
+#ifdef GD_AREA_ZHONGSHAN_2020 // 中山智能分布式手合故障处理
|
|
|
ptSet->tSwSet[sw].tGocSet.tOc[FAG_GL1] = ptSet->tSwSet[sw].toc[FA_GL]; // 使用相间故障1段定值
|
|
|
ptSet->tSwSet[sw].tGocSet.tOc[FAG_GL2] = ptSet->tSwSet[sw].toc[FA_GL2]; // 使用相间故障2段定值
|
|
|
ptSet->tSwSet[sw].tGocSet.tOc[FAG_LX] = ptSet->tSwSet[sw].toc[FA_LX]; // 使用FA零序定值
|
|
|
#endif
|
|
|
-
|
|
|
-#ifdef CUSTOMIZE_BZT // 备自投
|
|
|
-
|
|
|
- ptSet->tSwSet[sw].bBZT_TT = ((WORD)psetbuf[SET_BZT_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
- ptSet->tSwSet[sw].bFD = ((WORD)psetbuf[SET_BZT_FS + sw * SW_SET_NUMBER].ff == 0) ? true : false;
|
|
|
- ptSet->tSwSet[sw].bJX = ((WORD)psetbuf[SET_BZT_FS + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
- ptSet->tSwSet[sw].bAUTO = ((WORD)psetbuf[SET_BZT_FS + sw * SW_SET_NUMBER].ff == 2) ? true : false;
|
|
|
- // ptSet->tSwSet[sw].bDJX = ((WORD)psetbuf[SET_BZT_FS+sw*SW_SET_NUMBER].ff==3 )?true:false;
|
|
|
- ptSet->tSwSet[sw].bZF = ((WORD)psetbuf[SET_BZT_FS + sw * SW_SET_NUMBER].ff == 3) ? true : false;
|
|
|
-
|
|
|
- // ptSet->tSwSet[sw].bZF = ((WORD)psetbuf[SET_BZF_TT+sw*SW_SET_NUMBER].ff==1 )?true:false;
|
|
|
- ptSet->tSwSet[sw].dT_BTTZ = GetSetTIME(psetbuf[SET_BZTT_T + sw * SW_SET_NUMBER].ff);
|
|
|
- ptSet->tSwSet[sw].dT_BTHZ = GetSetTIME(psetbuf[SET_BZTH_T + sw * SW_SET_NUMBER].ff);
|
|
|
- ptSet->tSwSet[sw].dT_BTCD = GetSetTIME(psetbuf[SET_TCD + sw * SW_SET_NUMBER].ff);
|
|
|
-#endif
|
|
|
// 其他定值
|
|
|
{
|
|
|
ptSet->tSwSet[sw].bTT_Current_Inv = ((WORD)psetbuf[SET_CURRENT_INV_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
@@ -3353,6 +3250,17 @@ bool MakeRunSet(bool bFirst)
|
|
|
ptSet->tSwSet[sw].bTT_QYD_BS = ((WORD)psetbuf[SET_QYD_BS_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
ptSet->tSwSet[sw].bTT_Power_v2 = false;
|
|
|
#ifdef CUSTOMIZE_BZT // 备自投
|
|
|
+ ptSet->tSwSet[sw].bBZT_TT = ((WORD)psetbuf[SET_BZT_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
+ ptSet->tSwSet[sw].bFD = ((WORD)psetbuf[SET_BZT_FS + sw * SW_SET_NUMBER].ff == 0) ? true : false;
|
|
|
+ ptSet->tSwSet[sw].bJX = ((WORD)psetbuf[SET_BZT_FS + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
+ ptSet->tSwSet[sw].bAUTO = ((WORD)psetbuf[SET_BZT_FS + sw * SW_SET_NUMBER].ff == 2) ? true : false;
|
|
|
+ // ptSet->tSwSet[sw].bDJX = ((WORD)psetbuf[SET_BZT_FS+sw*SW_SET_NUMBER].ff==3 )?true:false;
|
|
|
+ ptSet->tSwSet[sw].bZF = ((WORD)psetbuf[SET_BZT_FS + sw * SW_SET_NUMBER].ff == 3) ? true : false;
|
|
|
+
|
|
|
+ // ptSet->tSwSet[sw].bZF = ((WORD)psetbuf[SET_BZF_TT+sw*SW_SET_NUMBER].ff==1 )?true:false;
|
|
|
+ ptSet->tSwSet[sw].dT_BTTZ = GetSetTIME(psetbuf[SET_BZTT_T + sw * SW_SET_NUMBER].ff);
|
|
|
+ ptSet->tSwSet[sw].dT_BTHZ = GetSetTIME(psetbuf[SET_BZTH_T + sw * SW_SET_NUMBER].ff);
|
|
|
+ ptSet->tSwSet[sw].dT_BTCD = GetSetTIME(psetbuf[SET_TCD + sw * SW_SET_NUMBER].ff);
|
|
|
|
|
|
// 母线pt1电压电压选择
|
|
|
dw = (int)(psetbuf[SET_BZT_MX_PT1 + sw * SW_SET_NUMBER].ff);
|
|
|
@@ -3396,7 +3304,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
poc->dI = GetSetSQR(psetbuf[SET_GL1_I + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
|
|
|
ptSet->tSwSet[sw].dwl = GetSetSQR(psetbuf[SET_BZT_WL + sw * SW_SET_NUMBER].ff, fKI);
|
|
|
- ptSet->tSwSet[sw].dwl_fh = _Mul_Div_U(ptSet->tSwSet[sw].dwl, 96, 100); // 0.96=0.98*0.98;
|
|
|
+ ptSet->tSwSet[sw].dwl_fh = _Mul_Div_U(ptSet->tSwSet[sw].dwl, 96, 100);
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
@@ -3404,21 +3312,8 @@ bool MakeRunSet(bool bFirst)
|
|
|
ptSet->tSwSet[sw].bTT_PT2_ll_check = ((WORD)psetbuf[SET_PT2_LL_CHECK_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
|
|
|
// 功能模块配置项目表
|
|
|
- {
|
|
|
- ptSet->bTT_SOFT_BH_YB = ((WORD)psetbuf[SET_FA_YBTT + sw * SW_SET_NUMBER].ff == 0) ? true : false;
|
|
|
- ptSet->bTT_SOFT_FA_YB = ((WORD)psetbuf[SET_FA_YBTT + sw * SW_SET_NUMBER].ff == 1) ? true : false;
|
|
|
- ptSet->bTT_SOFT_GOOSE_YB = ((WORD)psetbuf[SET_FA_YBTT + sw * SW_SET_NUMBER].ff == 2) ? true : false;
|
|
|
-#ifdef GD_AREA_ECZD_CHAOZHOU_2022
|
|
|
- ptSet->bTT_SOFT_BH_YB = ptSet->bTT_SOFT_BH_YB_PUB && ptSet->bTT_SOFT_BH_YB;
|
|
|
- ptSet->bTT_SOFT_FA_YB = ptSet->bTT_SOFT_FA_YB_PUB && ptSet->bTT_SOFT_FA_YB;
|
|
|
- ptSet->bTT_SOFT_GOOSE_YB = ptSet->bTT_SOFT_GOOSE_YB_PUB && ptSet->bTT_SOFT_GOOSE_YB;
|
|
|
-#endif
|
|
|
- ptSet->bTT_TQ_YB = ((((WORD)psetbuf[SET_TQ_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false) && ptSet->bTT_TQ_YB); // 检同期压板
|
|
|
- ptSet->bTT_JL_YB = ((((WORD)psetbuf[SET_JL_YB + sw * SW_SET_NUMBER].ff == 1) ? true : false) && ptSet->bTT_JL_YB); // 解列压板
|
|
|
- ptSet->tSwSet[sw].bTT_jl_dy = (ptSet->tSwSet[sw].bTT_jl_dy && ptSet->bTT_JL_YB);
|
|
|
- ptSet->tSwSet[sw].bTT_jl_hz = (ptSet->tSwSet[sw].bTT_jl_hz && ptSet->bTT_JL_YB);
|
|
|
- ptSet->bTT_BH_YB = ((((WORD)psetbuf[SET_BH_YB + sw * SW_SET_NUMBER].ff == 0) ? true : false) && ptSet->bTT_BH_YB); // 保护功能总压板
|
|
|
- }
|
|
|
+ ptSet->tSwSet[sw].bTT_jl_dy = (ptSet->tSwSet[sw].bTT_jl_dy && ptSet->tSwSet[sw].btt_gnyb_zdjl);
|
|
|
+ ptSet->tSwSet[sw].bTT_jl_hz = (ptSet->tSwSet[sw].bTT_jl_hz && ptSet->tSwSet[sw].btt_gnyb_zdjl);
|
|
|
|
|
|
#ifdef FUN_JDXX
|
|
|
{ // 接地选线定值
|
|
|
@@ -3479,6 +3374,7 @@ bool MakeRunSet(bool bFirst)
|
|
|
ptSet->tSwSet[sw].dT_drive_again = GetSetTIME(psetbuf[SET_DRIVE_AGAIN_T + sw * SW_SET_NUMBER].ff);
|
|
|
#endif
|
|
|
}
|
|
|
+
|
|
|
// 无压定值为0.3倍的电压值
|
|
|
ptSet->dU02V_SQR = (DWORD)rt_round((0.8 * fKU[PUB_AC_U01]) * (0.8 * fKU[PUB_AC_U01])); // 16电压
|
|
|
#if 0
|
|
|
@@ -3524,7 +3420,9 @@ bool MakeRunSet(bool bFirst)
|
|
|
|
|
|
m_runsection = pRunSet->section;
|
|
|
|
|
|
+#if !defined CPU_FUXI
|
|
|
create_set_data_txt();
|
|
|
+#endif
|
|
|
return bRet;
|
|
|
}
|
|
|
|
|
|
@@ -3559,7 +3457,6 @@ int print_EquipParaTable(void)
|
|
|
dat = (DWORD) psetbuf[i].ff;
|
|
|
rt_printf("%d\t%-20s\t\t", i+1, pTable->szName);
|
|
|
|
|
|
-
|
|
|
switch(pTable->wType)
|
|
|
{
|
|
|
case SETTYPE_F:
|