Browse Source

合并 : 零压、零流突变录波逻辑;
修改 : 录波逻辑为开关录波;

lch 6 tháng trước cách đây
mục cha
commit
59e85e3d02

+ 3 - 1
README.md

@@ -66,4 +66,6 @@
 04. 修改 : 开入防抖数据赋值;
 05. 修改 : 频率追踪更新方式;
 06. 修改 : led时间;
-07. 修复 : 兴通力电源模块通讯规约解析数据长度出错问题;
+07. 修复 : 兴通力电源模块通讯规约解析数据长度出错问题;
+08. 合并 : 零压、零流突变录波逻辑;
+09. 修改 : 录波逻辑为开关录波;

+ 3 - 0
dtu/dtu_main_t536/app/protect.c

@@ -454,6 +454,9 @@ int protect_polling(void)
 
         _protect_alarm();    // 异常告警类逻辑
         _protect_sfsh_clr(); // 清除手分、手合标志
+
+		// 突变录波
+		mutation_wave_record(g_protect.sw);
     }
 
     // 保护巡检完毕,检查事故总

+ 60 - 2
dtu/dtu_main_t536/app/record.c

@@ -305,7 +305,6 @@ extern float g_freq;
 char wave_name[RECORD_FILES_MAX][40];	
 
 int g_wave_filetype = 1; //录波文件格式.默认是BINARY
-bool g_rcd_type_enable[RECORD_TYPE_NUM];
 
 
 /*------------------------------ 函数声明 -------------------------------------
@@ -1414,7 +1413,8 @@ int rcd_start(u32 sw, u32 type,u32 waves)
 	{
 		return -3;
 	}
-	if(g_rcd_type_enable[type] == 0)
+
+	if (pRunSet->tSwSet[sw].bTT_rcd_type[type] == 0)
 	{
 	#ifdef XDL_ZT
 		TSETSW *pSet = &pRunSet->tSwSet[sw];
@@ -3665,6 +3665,64 @@ int rcd_get_A_D_N(char *data, int *pA, int *pD, int *pN, int *pUI)  //
 	return 0;
 }
 
+/**
+ * @brief   mutation_wave_record
+ * @details 突变录波
+ * @param   sw 			间隔号
+ * @return  none
+ * @author  EWen
+ * @date    2023-11-03
+ * @remarks 
+ */
+void mutation_wave_record(int sw)
+{
+    DWORD I0, U0;
+    int ui_begin;
+    static DWORD sw_ac_i0[SWITCH_NUM_MAX] = {0};
+    static DWORD sw_ac_u0[SWITCH_NUM_MAX] = {0};
+
+    if (pRunSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_LLTB])
+    {
+        ui_begin = UI_SW_INDEX_BEGIN(sw);
+        I0 = _Mul_Div_U(sqrt_32fix(g_ui[ui_begin + SW_AC_I0].m2[0]), 256, g_ui[ui_begin + SW_AC_I0].m2_factor_k);
+
+        if (I0 < sw_ac_i0[sw])
+        {
+            sw_ac_i0[sw] = I0;
+        }
+
+        if ((I0 > sw_ac_i0[sw]) && (I0 - sw_ac_i0[sw]) >= pRunSet->tSwSet[sw].dI_i0TB)
+        {
+            sw_ac_i0[sw] = I0;
+            rcd_start(sw, RECORD_TYPE_LLTB, RECORD_LEN_TZQD);
+        }
+    }
+    else
+    {
+        sw_ac_i0[sw] = 0;
+    }
+
+    if (pRunSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_LYTB])
+    {
+        U0 = _Mul_Div_U(sqrt_32fix(g_ui[PUB_AC_U01].m2[0]), 256, g_ui[PUB_AC_U01].m2_factor_k);
+
+        if (U0 < sw_ac_u0[sw])
+        {
+            sw_ac_u0[sw] = U0;
+        }
+
+        if ((U0 > sw_ac_u0[sw]) && (U0 - sw_ac_u0[sw]) >= pRunSet->tSwSet[sw].dU_u0TB)
+        {
+            sw_ac_u0[sw] = U0;
+            rcd_start(sw, RECORD_TYPE_LYTB, RECORD_LEN_TZQD);
+        }
+    }
+    else
+    {
+        sw_ac_u0[sw] = 0;
+    }
+}
+
 #if 0
 void testwavefile(void)
 {

+ 5 - 1
dtu/dtu_main_t536/app/record.h

@@ -31,7 +31,10 @@ enum
 	RECORD_TYPE_LXDY,     	// 录波类型为零序电压
 	RECORD_TYPE_LXGL,		// 录波类型为零序过流
 	RECORD_TYPE_LLTB,   	// 录波类型为零流突变
+	RECORD_TYPE_LYTB,   	// 录波类型为零压突变
 	RECORD_TYPE_CHZ,   		// 录波类型为重合闸
+    RECORD_TYPE_TV,         // 录波类型为残压
+    RECORD_TYPE_FA,         // 录波类型为FA动作
 #if defined FUN_JDXX ||defined XDL_ZT
 	RECORD_TYPE_XDLJD,		// 录波类型为小电流接地
 #endif
@@ -48,7 +51,6 @@ enum
 */
 extern int g_wave_filetype;
 extern char wave_name[RECORD_FILES_MAX][40];
-extern bool g_rcd_type_enable[RECORD_TYPE_NUM];
 
 int rcd_init(void);
 int rcd_exit(void);
@@ -63,6 +65,8 @@ void _rcd_get_waveno(void);
 
 int rcd_start_xdl(char *name,int sw,char **chn_name,int chn_num,int chn_length,struct timespec *ts);
 int rcd_get_A_D_N(char *data, int *pA, int *pD, int *pN, int *pUI);  //获取模拟通道数,状态通道数,采样数
+
+void mutation_wave_record(int sw);
 						
 #endif //_RECORD_H_
 

+ 38 - 22
dtu/dtu_main_t536/app/set.c

@@ -147,6 +147,7 @@ BH_SET_GROUP SetGroups[]=  //
 #endif
 	{SETGROUP_TYPE_BH,          1, 		    0, 	            GROUP_SET_FSX,		    "保护定值", 		"反时限定值", },
 	{SETGROUP_TYPE_BH,          1, 		    0, 	            GROUP_SET_DLYX,		    "保护定值", 		"电流越限", },			
+	{SETGROUP_TYPE_BH,          1, 		    0,				GROUP_SET_RECORD,       "保护定值",         "录波功能", },
 	{SETGROUP_TYPE_BH,          1, 		    0,              GROUP_SET_SWSET,	    "保护定值", 		"辅助定值", },
 #ifdef	CUSTOMIZE_BZT //备自投
 	{SETGROUP_TYPE_BH,          1, 		    0,              GROUP_SET_BZT,		    "保护定值", 		"备自投", },	
@@ -178,7 +179,6 @@ BH_SET_GROUP SetGroups[]=  //
 	{SETGROUP_TYPE_CSTSET		,1, 		0,				GROUP_CSTSET_CALC,	    "内部定值",         "计算功能", },
 	{SETGROUP_TYPE_CSTSET		,1, 		0,				GROUP_CSTSET_COMM,	    "内部定值",         "通信功能", },
 	{SETGROUP_TYPE_CSTSET		,1, 		0,				GROUP_CSTSET_FA,	    "内部定值",         "FA功能", },
-	{SETGROUP_TYPE_CSTSET		,1, 		0,				GROUP_CSTSET_RECORD,    "内部定值",         "录波功能", },
 	{SETGROUP_TYPE_CSTSET		,1, 		0,				GROUP_CSTSET_OTHERS,    "内部定值",         "辅助定值", },
 	
 };
@@ -1153,6 +1153,23 @@ const TSETTABLE tSwSetTable[] = // min 	 max 		     default
     {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_DLYX,         0x0000, BOOL_R, "零序电流越限投退"},
     {SETTYPE_F,     SET_A,      0.1,    10.0,               5.0,    0,          0,              GROUP_SET_DLYX,         0x0000, FLOAT_R, "零序电流越限定值"},
     {SETTYPE_F,     SET_S,      0,      99.0,               99,     0,          0,              GROUP_SET_DLYX,         0x0000, FLOAT_R, "零序电流越限时间"},
+    
+    {SETTYPE_LABEL, SET_NULL,   0,      0,                  0,      0,          0,              GROUP_SET_RECORD,    0x0000, NULL_R, "录波"},
+    {SETTYPE_LIST,  SET_NULL,   0,      WFListNum - 1,      1,      WFList,     WFListNum,      GROUP_SET_RECORD,    0x0000, UINT_R, "文件格式"},
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_RECORD,    0x0000, BOOL_R, "过流故障启动"},
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_RECORD,    0x0000, BOOL_R, "零序过流启动"},
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_RECORD,    0x0000, BOOL_R, "零序电压启动"},
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_RECORD,    0x0000, BOOL_R, "线路失压启动"},
+	{SETTYPE_LIST,	SET_NULL, 	0 , 	TTListNum - 1,	    0 ,		TTList,	    TTListNum,	    GROUP_SET_RECORD,    0x0000, BOOL_R, "零压突变启动"},
+	{SETTYPE_F,		SET_U, 	    0.01, 	220.0,			    6.5 ,	0,		    0,			    GROUP_SET_RECORD,    0x0000, FLOAT_R, "零压突变定值"},
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_RECORD,    0x0000, BOOL_R, "零流突变启动"},
+	{SETTYPE_F,		SET_A, 	    0.01, 	100.0,			    5.0 ,	0,		    0,			    GROUP_SET_RECORD,    0x0000, FLOAT_R, "零流突变定值"},
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_RECORD,    0x0000, BOOL_R, "重合闸启动"},
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_RECORD,    0x0000, BOOL_R, "残压启动"},
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_RECORD,    0x0000, BOOL_R, "FA动作"},
+#if defined FUN_JDXX || defined XDL_ZT
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_RECORD,    0x0000, BOOL_R, "小电流接地启动"},
+#endif
 
     {SETTYPE_LABEL, SET_NULL,   0,      0,                  0,      0,          0,              GROUP_SET_SWSET,         0x0000, NULL_R, "辅助定值"},
     {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_SET_SWSET,         0x0000, BOOL_R, "功率取反投退"},
@@ -1226,7 +1243,7 @@ const TSETTABLE tCstSetTable[] =
     {SETTYPE_F,     SET_NULL,   0,      1.0,                0.01,   0,          0,              GROUP_CSTSET_CALC,      0x0000, BOOL_R, "谐波校正系数"},
     {SETTYPE_5INT,  SET_NULL,   -100.0, 100.0,              0.0,    0,          0,              GROUP_CSTSET_CALC,      0x0000, INT_R, "交流温漂(ppm)"},
     {SETTYPE_5INT,  SET_NULL,   -10000.0, 10000.0,          0.0,    0,          0,              GROUP_CSTSET_CALC,      0x0000, INT_R, "直流温漂(ppm)"},
-    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_CSTSET_CALC,      0x0000, BOOL_R, "归零值投退"},
+    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      1,      TTList,     TTListNum,      GROUP_CSTSET_CALC,      0x0000, BOOL_R, "归零值投退"},
     {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_CSTSET_CALC,      0x0000, BOOL_R, "零序电压自产"},
 
     {SETTYPE_LABEL, SET_NULL,   0,      0,                  0,      0,          0,              GROUP_CSTSET_COMM,      0x0000, NULL_R, "通讯功能"},
@@ -1265,15 +1282,6 @@ const TSETTABLE tCstSetTable[] =
 
     {SETTYPE_LABEL, SET_NULL,   0,      0,                  0,      0,          0,              GROUP_CSTSET_RECORD,    0x0000, NULL_R, "录波功能"},
     {SETTYPE_LIST,  SET_NULL,   0,      WFListNum - 1,      1,      WFList,     WFListNum,      GROUP_CSTSET_RECORD,    0x0000, UINT_R, "文件格式"},
-    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_CSTSET_RECORD,    0x0000, BOOL_R, "过流故障启动"},
-    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_CSTSET_RECORD,    0x0000, BOOL_R, "线路失压启动"},
-    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_CSTSET_RECORD,    0x0000, BOOL_R, "零序电压启动"},
-    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_CSTSET_RECORD,    0x0000, BOOL_R, "零序过流启动"},
-    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_CSTSET_RECORD,    0x0000, BOOL_R, "零流突变启动"},
-    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_CSTSET_RECORD,    0x0000, BOOL_R, "重合闸启动"},
-#if defined FUN_JDXX || defined XDL_ZT
-    {SETTYPE_LIST,  SET_NULL,   0,      TTListNum - 1,      0,      TTList,     TTListNum,      GROUP_CSTSET_RECORD,    0x0000, BOOL_R, "小电流接地启动"},
-#endif
 
     {SETTYPE_LABEL, SET_NULL,   0,      0,                  0,      0,          0,              GROUP_CSTSET_OTHERS,    0x0000, NULL_R, "辅助定值"},
     {SETTYPE_UINT,  SET_S,      1,      30,                 20,     0,          0,              GROUP_CSTSET_OTHERS,    0x0000, UINT_R, "未储能告警时间"},
@@ -2485,17 +2493,6 @@ bool MakeRunSet(bool bFirst)
 
     // 录波
     g_wave_filetype = (int)psetbuf[CSTSET_WAVE_FILETYPE].ff; // 录波文件格式
-    g_rcd_type_enable[RECORD_TYPE_SD] = 1;// 
-    g_rcd_type_enable[RECORD_TYPE_QD] = 1;//
-    g_rcd_type_enable[RECORD_TYPE_GLGZ] = ((WORD)psetbuf[CSTSET_WAVE_GLGZ].ff == 1) ? true : false; // 过流故障启动
-    g_rcd_type_enable[RECORD_TYPE_XLSY] = ((WORD)psetbuf[CSTSET_WAVE_XLSY].ff == 1) ? true : false; // 线路失压启动
-    g_rcd_type_enable[RECORD_TYPE_LXDY] = ((WORD)psetbuf[CSTSET_WAVE_LXDY].ff == 1) ? true : false; // 零序电压启动
-    g_rcd_type_enable[RECORD_TYPE_LXGL] = ((WORD)psetbuf[CSTSET_WAVE_LXGL].ff == 1) ? true : false; // 零序过流启动
-    g_rcd_type_enable[RECORD_TYPE_LLTB] = ((WORD)psetbuf[CSTSET_WAVE_LLTB].ff == 1) ? true : false; // 零流突变启动
-    g_rcd_type_enable[RECORD_TYPE_CHZ] = ((WORD)psetbuf[CSTSET_WAVE_CHZ].ff == 1) ? true : false;   // 重合闸启动
-#if defined FUN_JDXX || defined XDL_ZT
-    g_rcd_type_enable[RECORD_TYPE_XDLJD] = ((WORD)psetbuf[SET_WAVE_XDLJD].ff == 1) ? true : false; // 小电流接地启动
-#endif
 
     ptSet->dWCN_T = GetSetTIME(psetbuf[CSTSET_WCNALARM_T].ff);   // 未储能告警时间
     ptSet->dSDYX_T = GetSetTIME(psetbuf[CSTSET_SD_YX_T].ff);     // 失电闭锁遥信时间
@@ -3377,6 +3374,25 @@ bool MakeRunSet(bool bFirst)
         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
+        {
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_SD] = 1;
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_QD] = 1;
+            int l_data_ops = sw * SW_SET_NUMBER;
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_GLGZ] = ((WORD)psetbuf[SET_WAVE_GLGZ + l_data_ops].ff == 1) ? true : false;
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_LXGL] = ((WORD)psetbuf[SET_WAVE_LXGL + l_data_ops].ff == 1) ? true : false;
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_LXDY] = ((WORD)psetbuf[SET_WAVE_LXDY + l_data_ops].ff == 1) ? true : false;
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_XLSY] = ((WORD)psetbuf[SET_WAVE_XLSY + l_data_ops].ff == 1) ? true : false;
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_LYTB] = ((WORD)psetbuf[SET_WAVE_LYTB + l_data_ops].ff == 1) ? true : false;
+            ptSet->tSwSet[sw].dU_u0TB = (DWORD)(psetbuf[SET_U0_TB + sw * SW_SET_NUMBER].ff * 65536);
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_LLTB] = ((WORD)psetbuf[SET_WAVE_LLTB + l_data_ops].ff == 1) ? true : false;
+            ptSet->tSwSet[sw].dI_i0TB = (DWORD)(psetbuf[SET_I0_TB + sw * SW_SET_NUMBER].ff * 65536);
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_CHZ] = ((WORD)psetbuf[SET_WAVE_CHZ + l_data_ops].ff == 1) ? true : false;
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_TV] = ((WORD)psetbuf[SET_WAVE_TV + l_data_ops].ff == 1) ? true : false;
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_FA] = ((WORD)psetbuf[SET_WAVE_FA + l_data_ops].ff == 1) ? true : false;
+#if defined FUN_JDXX || defined XDL_ZT
+            ptSet->tSwSet[sw].bTT_rcd_type[RECORD_TYPE_XDLJD] = ((WORD)psetbuf[SET_WAVE_XDLJD + l_data_ops].ff == 1) ? true : false;
+#endif
+        }
         // 其他定值
         {
             ptSet->tSwSet[sw].bTT_Current_Inv = ((WORD)psetbuf[SET_CURRENT_INV_TT + sw * SW_SET_NUMBER].ff == 1) ? true : false;

+ 41 - 28
dtu/dtu_main_t536/app/set.h

@@ -141,6 +141,7 @@ enum
 #endif
     GROUP_SET_FSX,   // 反时限定值
     GROUP_SET_DLYX,  // 电流越限
+    GROUP_SET_RECORD,// 录波
     GROUP_SET_SWSET, // 开关公共定值
 #ifdef CUSTOMIZE_BZT
     GROUP_SET_BZT, // 备自投
@@ -329,10 +330,10 @@ enum
 enum
 {
     SET_LABLE_YB_GN = 0, // 列表名 功能软压板
-    SET_BH_YBTT,     // 常规保护投入
-    SET_CHZ_YB,      // 自动重合闸投入
-    SET_FA_YBTT,     // 就地馈线自动化投入
-    SET_GOOSE_YBTT,  // 智能分布式投入
+    SET_BH_YBTT,         // 常规保护投入
+    SET_CHZ_YB,          // 自动重合闸投入
+    SET_FA_YBTT,         // 就地馈线自动化投入
+    SET_GOOSE_YBTT,      // 智能分布式投入
 #ifdef JZS_FUNCTION
     SET_MODE_JZS_TT, // 集中模式压板
 #endif
@@ -532,24 +533,24 @@ enum
 #else
     SET_GOOSE_FA_TT,        // 分布式FA控制字
     SET_GOOSE_SDLOSTVOL_TT, // 分布式FA功能
-    SET_GOOSE_LL_TT,        //首开关失压分闸
+    SET_GOOSE_LL_TT,        // 首开关失压分闸
     SET_GOOSE_FA_TYPE,      // 速动/缓动
     SET_GOOSE_FTU_TYPE,     // 本节点开关类型
     SET_GOOSET_DIR_TT,      // 组网方式
     SET_GOOSET_MXTFZ_TT,    // 母线故障跳末开关
     SET_GOOSE_XBBS_TT,      // 涌流识别
 #ifdef GOOSE_NETTYPE_SET
-    SET_GOOSE_NET_TYPE,     // goose网络类型
+    SET_GOOSE_NET_TYPE, // goose网络类型
 #endif
 
     SET_LABLE_GOOSEDZ, // 列表名
 #ifdef GD_AREA_ZHONGSHAN
-    SET_GOOSET_GL_I,    //故障切除相电流I段
-    SET_GOOSET_GL_T,    // 相电流I段跳闸延时
-    SET_GOOSET_GL2_I,   // 故障切除相电流II段
-    SET_GOOSET_GL2_T,   // 相电流II段跳闸延时
-    SET_GOOSET_LX_I,    // 故障切除零序电流
-    SET_GOOSET_LX_T,    // 零序电流跳闸延时
+    SET_GOOSET_GL_I,  // 故障切除相电流I段
+    SET_GOOSET_GL_T,  // 相电流I段跳闸延时
+    SET_GOOSET_GL2_I, // 故障切除相电流II段
+    SET_GOOSET_GL2_T, // 相电流II段跳闸延时
+    SET_GOOSET_LX_I,  // 故障切除零序电流
+    SET_GOOSET_LX_T,  // 零序电流跳闸延时
 #endif
     SET_GOOSET_SDLOST_T, // 首开关失压分闸延时
     SET_GOOSET_LL_T,     // 故障恢复时间
@@ -597,7 +598,7 @@ enum
     SET_XDLQD_TT,       // 小电流启动类型
 
     SET_LABLE_XDLJD_DZ, // 列表名 小电流接地定值
-	SET_XDL_T,          // 小电流接地故障时间
+    SET_XDL_T,          // 小电流接地故障时间
     SET_XDL_HJSKF_T,    // 后加速开放时间
     SET_XDL_I,          // 小电流暂态电流
 #elif defined FUN_JDXX  // 接地选线
@@ -669,12 +670,29 @@ enum
     SET_LXYX_I,
     SET_LXYX_T,
 
-    SET_LABLE_OTHER,    // 列表名 辅助定值
-    SET_CURRENT_INV_TT, // 功率取反投退 涉及功率计算和小电流接地判断
-    SET_DIR_INV_TT,     // 保护方向取反投退 过流方向计算时使用
-    SET_TT_TWCN,        // 未储能告警
-    SET_TT_KZHL,        // 控制回路
-    SET_QYD_BS_TT,      // 气压低闭锁分合闸
+    SET_WAVE_RECORD_LABEL, // 列表名 录波功能
+    SET_WAVE_FILETYPE,     // 文件格式
+    SET_WAVE_GLGZ,         // 过流故障启动
+    SET_WAVE_LXGL,         // 零序过流启动
+    SET_WAVE_LXDY,         // 零序电压启动
+    SET_WAVE_XLSY,         // 线路失压启动
+    SET_WAVE_LYTB,         // 零压突变启动
+    SET_U0_TB,             // 零压突变定值
+    SET_WAVE_LLTB,         // 零流突变启动
+    SET_I0_TB,             // 零流突变定值
+    SET_WAVE_CHZ,          // 重合闸启动
+    SET_WAVE_TV,           // 残压
+    SET_WAVE_FA,           // FA动作
+#if defined FUN_JDXX || defined XDL_ZT
+    SET_WAVE_XDLJD, // 小电流接地启动
+#endif
+
+    SET_LABLE_OTHER,     // 列表名 辅助定值
+    SET_CURRENT_INV_TT,  // 功率取反投退 涉及功率计算和小电流接地判断
+    SET_DIR_INV_TT,      // 保护方向取反投退 过流方向计算时使用
+    SET_TT_TWCN,         // 未储能告警
+    SET_TT_KZHL,         // 控制回路
+    SET_QYD_BS_TT,       // 气压低闭锁分合闸
     SET_PT1_LL_CHECK_TT, // PT1断线检查投退
     SET_PT2_LL_CHECK_TT, // PT2断线检查投退
 
@@ -1029,15 +1047,6 @@ enum
 
     CSTSET_WAVE_RECORD_LABEL, // 列表名 录波功能
     CSTSET_WAVE_FILETYPE,     // 文件格式
-    CSTSET_WAVE_GLGZ,         // 过流故障启动
-    CSTSET_WAVE_XLSY,         // 线路失压启动
-    CSTSET_WAVE_LXDY,         // 零序电压启动
-    CSTSET_WAVE_LXGL,         // 零序过流启动
-    CSTSET_WAVE_LLTB,         // 零流突变启动
-    CSTSET_WAVE_CHZ,          // 重合闸启动
-#if defined FUN_JDXX || defined XDL_ZT
-    SET_WAVE_XDLJD, // 小电流接地启动
-#endif
 
     CSTSET_LABEL_OTHERS,         // 列表名 辅助定值
     CSTSET_WCNALARM_T,           // 未储能告警时间
@@ -1404,6 +1413,10 @@ typedef struct TSETSW
 #endif
 
     bool bTT_rcd_type[RECORD_TYPE_NUM]; // 录波投退项
+	DWORD 	dU_u0TB;      			// 零压突变录波定值
+	DWORD 	dU_u0TB_fh;				// 零压突变录波返回定值
+	DWORD 	dI_i0TB;      			// 零流突变录波定值
+	DWORD 	dI_i0TB_fh;				// 零流突变录波返回定值
 
 #ifdef CUSTOMIZE_BZT // 备自投
     DWORD dBZT_TYPE; // 备自投方式