فهرست منبع

内短路观测,屏蔽故障禁止加热

LAPTOP-EG88H5BE\86151 2 سال پیش
والد
کامیت
fbbc2eceb0

+ 1 - 1
inc/EmbeddedCoder_inc/BCUDisp.h

@@ -143,7 +143,7 @@ extern uint16_T sorv_R_cellEi[cmnc_num_cellUNumMax];
 extern uint16_T sorv_R_cellEo[cmnc_num_cellUNumMax];
 extern uint16_T sorv_R_cell[cmnc_num_cellUNumMax];
 
-extern boolean_T iscd_flg_flt;
+extern boolean_T iscd_flg_flt[3];
 extern uint16_T  iscv_Q_remainCpEi[cmnc_num_cellUNumMax];
 extern uint32_T  iscd_tm_totalEi;
 extern uint16_T  iscv_Q_remainCpEo[cmnc_num_cellUNumMax];

+ 6 - 4
src/AppTaskTcp.c

@@ -579,15 +579,17 @@ static void TcpDataInfoAssembleSend()
         UINT8 rbuf[1000];
         static UINT8 Debugcounter = 0;
         sprintf((char *)rbuf, "B-%d,%d,%d,%d,,\
+                                %d,%d,%d,%d,%d,%d,,\
                                 %d,%d,%d,%d,%d,%d,,\
                                 %d,%d,%d,%d,,\
-                                %d,%d,%d,%d,,\
-                                %d,%d,%d,%d,%d,%d",
+                                %d,%d,%d,%d,%d,%d,,\
+                                %d,%d,%d",
                 socd_pct_ahSoc, socd_pct_ekfSoc, socd_pct_battSoc, socd_pct_vcuSoc,
                 sfmd_I_curr, maxCellVol, minCellVol, sfmv_V_cellU[0], sfmv_V_cellU[1], sfmv_V_cellU[2],
-                cand_idx_cellNr, cand_Q_cellCap, ihd_tm_parkTime, sohd_Q_chrgEo,
+                cand_idx_cellNr, cand_Q_cellCap, ihd_tm_parkTime, sohd_Q_chrgEo,iscv_Q_remainCpEi[cand_idx_cellNr-1],iscd_tm_totalEi,
                 pimd_V_ocv, pimd_R_ohm, pimd_R_polar, pimd_F_polar,
-                pimv_V_cellOcv[0], pimv_V_cellOcv[1], pimv_V_cellOcv[2], pimv_R_cellOhm[0], pimv_R_cellOhm[1], pimv_R_cellOhm[2]);
+                pimv_V_cellOcv[0], pimv_V_cellOcv[1], pimv_V_cellOcv[2], pimv_R_cellOhm[0], pimv_R_cellOhm[1], pimv_R_cellOhm[2],
+                iscd_flg_flt[0],iscd_flg_flt[1],iscd_flg_flt[2]);
         if (Debugcounter % 5 == 0)
         {
             sprintf((char *)rbuf + strlen(rbuf), ",A-%x,%d,%d,%x,%x,,%d,%d,,%x,%d",

+ 2 - 3
src/EmbeddedCoder_src/BCU.c

@@ -130,13 +130,12 @@ void BCU(void)
                     ihd_st_chrgMosControl = ChargeForbiddenControl == 0;
                     ihd_st_disChrgMosControl = DisChargeForbiddenControl == 0;
                     ihd_st_relayControl = RelayForbiddenControl == 0;
-<<<<<<< HEAD
+
 					ihd_st_heatStat = battHeatEnableState;
                     // ihd_flg_DTCClear = 1;   //////clear
-=======
                     ihd_st_heatStat = battHeatEnableState;
                     // ihd_flg_DTCClear = 1; //////clear
->>>>>>> ef04e418bc1d22392de11207d9dec0014c0c572e
+
                     //调用算法
                     SFM();
                     TMS();

+ 1 - 1
src/EmbeddedCoder_src/BCUDisp.c

@@ -142,7 +142,7 @@ uint16_T  sorv_R_cellEi[cmnc_num_cellUNumMax];
 uint16_T  sorv_R_cellEo[cmnc_num_cellUNumMax];
 uint16_T  sorv_R_cell[cmnc_num_cellUNumMax];
 
-boolean_T iscd_flg_flt;
+boolean_T iscd_flg_flt[3];
 uint16_T  iscv_Q_remainCpEi[cmnc_num_cellUNumMax];
 uint32_T  iscd_tm_totalEi;
 uint16_T  iscv_Q_remainCpEo[cmnc_num_cellUNumMax];

+ 3 - 1
src/EmbeddedCoder_src/ISC.c

@@ -153,7 +153,9 @@ void ISC(void)
     }
 	
     /////
-    iscd_flg_flt = iscd_flg_disChrgFlt||iscd_flg_timedWakeUpFlt ||iscd_flg_fulStat;
+    iscd_flg_flt[0] = iscd_flg_disChrgFlt;
+    iscd_flg_flt[1] = iscd_flg_timedWakeUpFlt ;
+	iscd_flg_flt[2] = iscd_flg_fulStat;
 
 	iscd_flg_firstRun = false;
 }

+ 1 - 1
src/EmbeddedCoder_src/SFM.c

@@ -279,7 +279,7 @@ void SFM(void)
         sfmn_flg_HVILFlt = false;
     }
     // 16
-    sfmd_flg_iscFltEo = iscd_flg_flt || sfmd_flg_iscFltEi || sfmd_flg_iscFltEo;
+    sfmd_flg_iscFltEo = iscd_flg_flt[0] ||iscd_flg_flt[1] ||iscd_flg_flt[2]|| sfmd_flg_iscFltEi || sfmd_flg_iscFltEo;
 
     // 22 充电Mos失效故障
     sfmn_flg_chrgMosClosFlt = JudgeTimeSystem(!sfmn_flg_interComFlt, ihd_flg_chrgMosClosFlt, &DiagTime.N22, 2);

+ 3 - 2
src/EmbeddedCoder_src/TMS.c

@@ -74,12 +74,13 @@ void TMS(void)
             tmsd_st_heatAct = 0;
         }
     }
-
-    //因故障关闭热管理
+ 
+    /*/因故障关闭热管理
     if (((sfmd_st_fltAct >> 4) & 0x01) == 1)
     {
         tmsd_st_heatAct = 0;
     }
+    */
 
     //强制控制加热回路
     if (ihd_st_heatForceControl == 1)