|
@@ -12,8 +12,8 @@ void SFM_Init(void)
|
|
|
|
|
|
void SFM(void)
|
|
|
{
|
|
|
- static uint8_T sfmn_num_Cnt;
|
|
|
- boolean_T sfmn_flg_interComFlt;
|
|
|
+ static uint8_T sfmn_num_Cnt;
|
|
|
+ boolean_T sfmn_flg_interComFlt;
|
|
|
boolean_T sfmn_flg_authFlt;
|
|
|
boolean_T sfmn_flg_HVILFlt;
|
|
|
boolean_T sfmn_flg_chrgMosClosFlt;
|
|
@@ -29,14 +29,13 @@ void SFM(void)
|
|
|
static uint16_T heatT2Arr[10];
|
|
|
static uint16_T SumT2;
|
|
|
|
|
|
-
|
|
|
- static uint16_T CellUArry[4][cmnc_num_cellUNumMax];
|
|
|
- static uint8_T ErrNr[cmnc_num_cellUNumMax];
|
|
|
- static uint8_T RecNr[cmnc_num_cellUNumMax];
|
|
|
+ static uint16_T CellUArry[4][cmnc_num_cellUNumMax];
|
|
|
+ static uint8_T ErrNr[cmnc_num_cellUNumMax];
|
|
|
+ static uint8_T RecNr[cmnc_num_cellUNumMax];
|
|
|
static boolean_T sfmv_flg_cellUOpenFlt[cmnc_num_cellUNumMax];
|
|
|
static boolean_T ErrUFlg[cmnc_num_cellUNumMax];
|
|
|
- uint32_T SumU;
|
|
|
- uint16_T UNum;
|
|
|
+ uint32_T SumU;
|
|
|
+ uint16_T UNum;
|
|
|
boolean_T sfmd_flg_volFlt;
|
|
|
boolean_T Enable1;
|
|
|
boolean_T Enable2;
|
|
@@ -53,8 +52,8 @@ void SFM(void)
|
|
|
static uint16_T modTArr[cmnc_num_modTNumMax];
|
|
|
uint16_T Tnum;
|
|
|
uint32_T SumT;
|
|
|
-
|
|
|
- static uint8_T modTRatNr[cmnc_num_modTNumMax];
|
|
|
+
|
|
|
+ static uint8_T modTRatNr[cmnc_num_modTNumMax];
|
|
|
boolean_T sfmd_flg_modTRatFlt;
|
|
|
boolean_T sfmv_flg_modTRatFlt[cmnc_num_modTNumMax];
|
|
|
boolean_T sfmd_flg_chrgMosTRatFlt;
|
|
@@ -77,7 +76,7 @@ void SFM(void)
|
|
|
boolean_T sfmd_flg_modTAllFlt;
|
|
|
boolean_T sfmd_flg_heatPanTAllFlt;
|
|
|
boolean_T sfmd_flg_currOpenFlt;
|
|
|
- uint16_T sfmn_I_currAbs;
|
|
|
+ uint16_T sfmn_I_currAbs;
|
|
|
static boolean_T sfmd_flg_cellUOverFlt2;
|
|
|
static boolean_T sfmd_flg_cellUOverFlt1;
|
|
|
static boolean_T sfmd_flg_cellULowFlt2;
|
|
@@ -88,7 +87,7 @@ void SFM(void)
|
|
|
static boolean_T sfmd_flg_battUOverFlt1;
|
|
|
static boolean_T sfmd_flg_battULowFlt2;
|
|
|
static boolean_T sfmd_flg_battULowFlt1;
|
|
|
-
|
|
|
+
|
|
|
boolean_T chrgFlg;
|
|
|
boolean_T disChrgFlg;
|
|
|
static boolean_T sfmd_flg_chrgModTOverFlt2;
|
|
@@ -117,7 +116,7 @@ void SFM(void)
|
|
|
boolean_T sfmd_flg_heatPanTOverFlt1;
|
|
|
static boolean_T sfmd_flg_chrgCurrOverFlt;
|
|
|
static boolean_T sfmd_flg_disChrgCurrOverFlt;
|
|
|
-
|
|
|
+
|
|
|
boolean_T sfmd_flg_chrgCurrOverMisFlt;
|
|
|
boolean_T sfmd_flg_disChrgCurrOverMisFlt;
|
|
|
boolean_T sfmd_flg_battULowMisFlt;
|
|
@@ -152,13 +151,13 @@ void SFM(void)
|
|
|
int32_T SumRR;
|
|
|
boolean_T sfmd_flg_deltRFlt;
|
|
|
static uint8_T deltRFltNr[cmnc_num_cellUNumMax];
|
|
|
-
|
|
|
+
|
|
|
boolean_T FltFlg[FltArrLen];
|
|
|
- uint16_T FltLevel[FltArrLen];
|
|
|
- uint8_T FltAct[FltArrLen];
|
|
|
- uint16_T FltCodeArr[FltDispArrLen];
|
|
|
- uint16_T FltLevelArr[FltDispArrLen];
|
|
|
- uint8_T FltActArr[FltDispArrLen];
|
|
|
+ uint16_T FltLevel[FltArrLen];
|
|
|
+ uint8_T FltAct[FltArrLen];
|
|
|
+ uint16_T FltCodeArr[FltDispArrLen];
|
|
|
+ uint16_T FltLevelArr[FltDispArrLen];
|
|
|
+ uint8_T FltActArr[FltDispArrLen];
|
|
|
uint16_T i;
|
|
|
uint16_T j;
|
|
|
uint16_T k;
|
|
@@ -705,7 +704,7 @@ void SFM(void)
|
|
|
// 163 soc不匹配
|
|
|
sfmd_flg_socMisFlt = 0 && !sfmd_flg_firstRun && (!sfmn_flg_interComFlt) && ((int16_T)(socd_pct_vcuSoc - ihd_pct_soc) > 100 || (int16_T)(socd_pct_vcuSoc - ihd_pct_soc) < -100);
|
|
|
// 164 SOH 不匹配
|
|
|
- sfmd_flg_sohMisFlt = !sfmd_flg_firstRun && (!sfmn_flg_interComFlt) && ((int16_T)(sohd_pct_bcuSoh - ihd_pct_soh) > 50 || (int16_T)(sohd_pct_bcuSoh - ihd_pct_soh) < -50);
|
|
|
+ sfmd_flg_sohMisFlt = 0 && !sfmd_flg_firstRun && (!sfmn_flg_interComFlt) && ((int16_T)(sohd_pct_bcuSoh - ihd_pct_soh) > 50 || (int16_T)(sohd_pct_bcuSoh - ihd_pct_soh) < -50);
|
|
|
|
|
|
// 178
|
|
|
sfmd_flg_deltRFlt = false;
|
|
@@ -715,7 +714,7 @@ void SFM(void)
|
|
|
SumRR = 0;
|
|
|
for (i = 0; i < cmnc_num_cellUNum; i++)
|
|
|
{
|
|
|
- if(!cdmv_flg_inval[i])
|
|
|
+ if (!cdmv_flg_inval[i])
|
|
|
{
|
|
|
SumR = SumR + cdmv_R_deltOhm[i];
|
|
|
SumRR = SumRR + cdmv_R_deltOhm[i] * cdmv_R_deltOhm[i];
|
|
@@ -733,7 +732,7 @@ void SFM(void)
|
|
|
deltRFltNr[i] = 0;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
for (i = 0; i < cmnc_num_cellUNum; i++)
|
|
|
{
|
|
|
if (deltRFltNr[i] > 60)
|
|
@@ -1756,10 +1755,9 @@ void SFM(void)
|
|
|
//======================================================================
|
|
|
|
|
|
sfmd_flg_cellUInval = sfmn_flg_interComFlt || sfmd_flg_volFlt;
|
|
|
- sfmd_flg_currInval = sfmn_flg_interComFlt || sfmd_flg_currOpenFlt;
|
|
|
- sfmd_flg_modTInval = sfmn_flg_interComFlt || sfmd_flg_modTOpenFlt || sfmd_flg_modTRatFlt;
|
|
|
+ sfmd_flg_currInval = sfmn_flg_interComFlt || sfmd_flg_currOpenFlt;
|
|
|
+ sfmd_flg_modTInval = sfmn_flg_interComFlt || sfmd_flg_modTOpenFlt || sfmd_flg_modTRatFlt;
|
|
|
sfmd_flg_firstRun = false;
|
|
|
}
|
|
|
|
|
|
//===============================================================================
|
|
|
-
|