Jelajahi Sumber

1.SOP修改 2.SOC 增加上下限

LAPTOP-EG88H5BE\86151 3 tahun lalu
induk
melakukan
f8095f63ab
2 mengubah file dengan 8 tambahan dan 8 penghapusan
  1. 5 5
      src/EmbeddedCoder_src/SOC.c
  2. 3 3
      src/EmbeddedCoder_src/SOP.c

+ 5 - 5
src/EmbeddedCoder_src/SOC.c

@@ -117,7 +117,7 @@ void SOC(void)
         onceFlg_chrg = true;
         onceFlg_dischrg = true;
 		socn_pct_battSoc_save = 0;
-		socn_pct_bcuSoc_save = 0;	
+		socn_pct_bcuSoc_save = 0;
     }
     
     //=====================================================================
@@ -125,7 +125,7 @@ void SOC(void)
     //=====================================================================
     if (socd_flg_firstRun)
     { //
-        if (socd_pct_battSocEi > 1000 || socd_pct_bcuSocEi > 1000 || ihd_st_EOLState == 0  ||
+        if (socd_pct_battSocEi > socc_pct_battSocUp || socd_pct_bcuSocEi > socc_pct_battSocUp || ihd_st_EOLState == 0  ||
            (((int16_T)(socd_pct_battSocEi - socd_pct_bcuSocEi) > 300 || (int16_T)(socd_pct_battSocEi - socd_pct_bcuSocEi) < -300) && ihd_tm_parkTime >= cmnc_tm_parkTime && sfmd_I_curr < 10 && sfmd_I_curr > -10))
         {
             socn_pct_battSocEE = look1_u16tu16(sfmd_V_cellUAvrg, cmnm_V_ocv, cmnm_pct_soc, 13);
@@ -475,8 +475,8 @@ void SOC(void)
 		
         //printf("8----lowCntl:%d,lowFlg:%d,ahSoc0_utrckLow:%d,estSoc0_utrckLow:%d,socn_pct_utrackSoc:%d\n",lowCntl,lowFlg,ahSoc0_utrckLow,estSoc0_utrckLow,socn_pct_utrackSoc);
     }
-    socd_pct_battSoc   = socn_pct_utrackSoc;
-    socd_pct_battSocEo = socn_pct_utrackSoc;
+	socd_pct_battSoc = Saturation_u(socn_pct_utrackSoc, socc_pct_battSocLow, socc_pct_battSocUp);
+    socd_pct_battSocEo = socd_pct_battSoc;
 
     
     //===============================================================================================================================================================
@@ -503,7 +503,6 @@ void SOC(void)
         }
     }
     
-
     //
     if (ihd_st_workStat == 2)
     {
@@ -567,6 +566,7 @@ void SOC(void)
 		
         //printf("11-----x:[%d-%d-%d],y:[%d-%d-%d],bcusoc:%d,socd_pct_bcuSoc:%d\n",x[0],x[1],x[2],y[0],y[1],y[2],bcuSoc,socd_pct_bcuSoc);
     }
+	socd_pct_bcuSoc = Saturation_u(socd_pct_bcuSoc, socc_pct_battSocLow, socc_pct_battSocUp);
     socd_pct_bcuSocEo = socd_pct_bcuSoc;
 
 	//=======================================VCUSOC========================================================================================

+ 3 - 3
src/EmbeddedCoder_src/SOP.c

@@ -29,7 +29,7 @@ void SOP(void)
     Rp  = (real_T)look1_u16tu16(socd_pct_battSoc, cmnm_pct_soc, cmnm_R_polar,13) * 0.001 * 0.001;
     RC  = (real_T)look1_u16tu16(socd_pct_battSoc, cmnm_pct_soc, cmnm_F_polar,13) * 0.001;
 	//printf("%f %f  %f  %f\n",ocv,Ro,Rp,RC);
-
+    //sopn_V_up = (real_T)sfmd_V_cellUAvrg * 0.001 - ocv - (real_T)sfmd_I_curr * 0.1 * Ro;
     //printf("soc:%d,I:%d,up:%f\n",socd_pct_battSoc,sfmd_I_curr,sopn_V_up);
     //充电功率
     sopn_I_currPred = 0;
@@ -72,7 +72,7 @@ void SOP(void)
     }
     sopn_V_battU = (ocv +  sopn_I_currPred * Ro + sopn_V_up) * cmnc_num_cellUNum;
 	sopd_I_chrgCurrMax = (int16_T)(sopn_I_currPred * 10);
-    sopd_P_chrgPMax = (uint16_T)(sopn_V_battU * sopn_I_currPred * 1000);
+    sopd_P_chrgPMax = (uint16_T)(sopn_V_battU * sopn_I_currPred);
 	predSystem(ocv,Ro,Rp,RC,sopn_I_currPred,sopn_V_up,&sopn_pct_socPred10,&sopn_V_battPred10);
     //printf("%f,  %f, %f\n\n",sopn_I_currPred,sopn_pct_socPred10,sopn_V_battPred10);
 
@@ -116,7 +116,7 @@ void SOP(void)
     }
     sopn_V_battU = sopn_V_battPred10 * cmnc_num_cellUNum;
 	sopd_I_disChrgCurrMax = (int16_T)(sopn_I_currPred * 10);
-    sopd_P_disChrgPMax = (uint16_T)(- sopn_V_battU * sopn_I_currPred * 1000);
+    sopd_P_disChrgPMax = (uint16_T)(- sopn_V_battU * sopn_I_currPred);
     
     
     sopn_V_up = sopn_V_up * exp(-1/RC) + Rp * (1 - exp(-1/RC)) * sfmd_I_curr;