Browse Source

01. 增加: 线损维护串口切换功能。
02. 修改: 频率更新处理,共享内存读回第二组频率对应的是第一组电压的,所以F1与F2读取索引调换。
03. 修改: 级联线损电度更新去除投退判断。
04. 修改: 去除保护逻辑判断错误返回条件。

EWen 3 months ago
parent
commit
9038431358

+ 7 - 1
README.md

@@ -61,4 +61,10 @@
 01. 增加: 实时线程timer_1ms管理应用时间。
 01. 增加: 实时线程timer_1ms管理应用时间。
 02. 合并: PPS秒脉冲处理。
 02. 合并: PPS秒脉冲处理。
 03. 修复: 更新TIMER3 CLV寄存器数值操作失败的问题。
 03. 修复: 更新TIMER3 CLV寄存器数值操作失败的问题。
-04. 增加: 标准化相关对时方式定值(待对接逻辑)。
+04. 增加: 标准化相关对时方式定值(待对接逻辑)。
+
+# 20251215
+01. 增加: 线损维护串口切换功能。
+02. 修改: 频率更新处理,共享内存读回第二组频率对应的是第一组电压的,所以F1与F2读取索引调换。
+03. 修改: 级联线损电度更新去除投退判断。
+04. 修改: 去除保护逻辑判断错误返回条件。

+ 3 - 1
app_public/fuxi_public/fuxi_bsp/include/gpio.h

@@ -68,7 +68,9 @@ unsigned short gpio_di_fj(void);
 #endif
 #endif
 void gpio_kout_do(int on, unsigned int kout);
 void gpio_kout_do(int on, unsigned int kout);
 void gpio_pwm_do(int on, unsigned int kout);
 void gpio_pwm_do(int on, unsigned int kout);
-					
+#ifdef GW_AREA_MAIN_2021
+void line_loss_maintain(bool bmaintain);
+#endif
 #endif
 #endif
 /*------------------------------ Îļþ½áÊø -------------------------------------
 /*------------------------------ Îļþ½áÊø -------------------------------------
 */
 */

+ 3 - 1
app_public/fuxi_public/fuxi_bsp/source/freq.c

@@ -150,7 +150,9 @@ float freq_get(unsigned int index)
 
 
 	if(ret < 0)
 	if(ret < 0)
 		return 0.0;
 		return 0.0;
-
+	// 共享内存读回第二组频率才是实际对应第一组电压的频率
+	// 所以此处需调换一下
+	index = index == 0 ? 1 : 0;
 	freq = (float)shm_f.us_freq[index]/1000;
 	freq = (float)shm_f.us_freq[index]/1000;
 
 
 #ifdef DTIM_FREQ_DEBUG
 #ifdef DTIM_FREQ_DEBUG

+ 13 - 0
app_public/fuxi_public/fuxi_bsp/source/gpio.c

@@ -881,6 +881,19 @@ void esam_power_ctrl(int on)
 		write(gpio_val_fd_other[ESAM_PWR], "0", 2);
 		write(gpio_val_fd_other[ESAM_PWR], "0", 2);
 }
 }
 
 
+#ifdef GW_AREA_MAIN_2021
+void line_loss_maintain(bool bmaintain)
+{
+	if(bmaintain)
+	{
+		write(gpio_val_fd_other[LINE_LOSS_SET], "1", 2);
+	}
+	else
+	{
+		write(gpio_val_fd_other[LINE_LOSS_SET], "0", 2);
+	}
+}
+#endif
 /*------------------------------ ÄÚ²¿º¯Êý -------------------------------------
 /*------------------------------ ÄÚ²¿º¯Êý -------------------------------------
 */
 */
 
 

+ 4 - 0
dtu/dtu_main_t536/app/IECLINK.c

@@ -1147,7 +1147,11 @@ void lnk_slave_dd(u8 ch,u8 ti,u8 vsq,u8 cot,u8 al,u8 *ps)
 		if(lt)
 		if(lt)
 		{
 		{
 			dt = &g_dd_table[lt->tbl_index];
 			dt = &g_dd_table[lt->tbl_index];
+		#ifdef METERING_ENERGY	
 			if((dt->owner >0)&&(pRunSet->dd_calc_mode == 2))
 			if((dt->owner >0)&&(pRunSet->dd_calc_mode == 2))
+		#else
+			if(dt->owner >0)
+		#endif
 			{
 			{
 			
 			
 #ifdef M_IT_TC
 #ifdef M_IT_TC

+ 1 - 1
dtu/dtu_main_t536/app/protect.c

@@ -364,7 +364,7 @@ int protect_polling(void)
 	// 内部状态识别
 	// 内部状态识别
 	run_status_check(dTDelta);
 	run_status_check(dTDelta);
 
 
-	if(rt_err_count())return -1;  //系统异常,退出保护处理
+	// if(rt_err_count())return -1;  //系统异常,退出保护处理 //去除此判断 modify by Ewen
 	// 公共轮巡类保护
 	// 公共轮巡类保护
 	{
 	{
 		Pro_vol(dTDelta);		// 电压告警逻辑
 		Pro_vol(dTDelta);		// 电压告警逻辑

+ 14 - 0
dtu/dtu_main_t536/app/set.c

@@ -3024,6 +3024,9 @@ const  TSETTABLE tCstSetTable[]=   	// min       max        default
 #ifdef FUNC_YC_DEAD_ZONE_ALL
 #ifdef FUNC_YC_DEAD_ZONE_ALL
 	{SETTYPE_LIST,	SET_NULL,	"遥测总死区有效投退",			0 , 	TTListNum-1,		1,		TTList, 	TTListNum,	GROUP_CSTSET_OTHERS,0X0000, BOOL_R},
 	{SETTYPE_LIST,	SET_NULL,	"遥测总死区有效投退",			0 , 	TTListNum-1,		1,		TTList, 	TTListNum,	GROUP_CSTSET_OTHERS,0X0000, BOOL_R},
 #endif
 #endif
+#ifdef GW_AREA_MAIN_2021
+	{SETTYPE_LIST,	SET_NULL,	"线损维护",			0 , 	TTListNum-1,		0,		TTList, 	TTListNum,	GROUP_CSTSET_OTHERS,0X0000, BOOL_R},
+#endif
 }
 }
 ;
 ;
 const int CSTSET_NUMBER = (sizeof(tCstSetTable)/sizeof(tCstSetTable[0]));
 const int CSTSET_NUMBER = (sizeof(tCstSetTable)/sizeof(tCstSetTable[0]));
@@ -4189,6 +4192,17 @@ bool  MakeRunSet(bool bFirst)
 	ptSet->bTT_CTYC=false;		//CT异常检查
 	ptSet->bTT_CTYC=false;		//CT异常检查
 #endif
 #endif
 
 
+#ifdef GW_AREA_MAIN_2021
+		if((WORD)psetbuf[CSSET_LS_MAINTAIN].ff==1)
+		{
+			line_loss_maintain(true);
+		}
+		else
+		{
+			line_loss_maintain(false);
+		}
+#endif
+
 #ifdef PUB_SET_SECTION	
 #ifdef PUB_SET_SECTION	
 
 
 	 /*先读取定值区0的公共定值*/
 	 /*先读取定值区0的公共定值*/

+ 3 - 0
dtu/dtu_main_t536/app/set.h

@@ -1992,6 +1992,9 @@ enum
 #endif
 #endif
 #ifdef FUNC_YC_DEAD_ZONE_ALL
 #ifdef FUNC_YC_DEAD_ZONE_ALL
 	CSSET_SET_YC_DEAD_ZONE_ALL,		//遥测总死区有效投退
 	CSSET_SET_YC_DEAD_ZONE_ALL,		//遥测总死区有效投退
+#endif
+#ifdef GW_AREA_MAIN_2021
+	CSSET_LS_MAINTAIN,	// 线损维护切换
 #endif
 #endif
 	CSTSET_NUM
 	CSTSET_NUM
 };
 };