Browse Source

[bt_6709]1) add settings(akb-ups)
2)add new settings in web
3)add new monitorings parameters

balbekova 5 năm trước cách đây
mục cha
commit
ae29f71c37

+ 48 - 1
modules/HTTP_Server/web_params_api.c

@@ -83,7 +83,7 @@ char *HTTP_GetParamsPage(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t le
     strncat(bufOut, str, len);
 
     GetBatCapacityStr(str, &len);
-    strcat(bufOut, "\",\"bat_cap\":\"");
+    strcat(bufOut, "\",\"bat_rem_cap\":\"");
     strncat(bufOut, str, len);
 
     GetInternalTempStr(str, &len);
@@ -94,6 +94,30 @@ char *HTTP_GetParamsPage(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t le
     strcat(bufOut, "\",\"bat_time_left\":\"");
     strncat(bufOut, str, len);
 
+#ifdef HARDWARE_BT6709
+
+    GetInputCurrentStr(str, &len);
+    strcat(bufOut, "\",\"in_cur\":\"");
+    strncat(bufOut, str, len);
+
+    GetOutputCurrentStr(str, &len);
+    strcat(bufOut, "\",\"out_cur\":\"");
+    strncat(bufOut, str, len);
+
+    GetVoltageAKBtStr(str, &len);
+    strcat(bufOut, "\",\"bat_volt\":\"");
+    strncat(bufOut, str, len);
+
+    GetVoltageAKBNominalStr(str, &len);
+    strcat(bufOut, "\",\"bat_cap\":\"");
+    strncat(bufOut, str, len);
+
+    GetDataNextChangeAKBStr(str, &len);
+    strcat(bufOut, "\",\"bat_exp\":\"");
+    strncat(bufOut, str, len);
+
+#endif
+
 #ifndef HARDWARE_BT6709
 
     GetDINStatusStr(str, &len, 0);
@@ -318,6 +342,29 @@ char *HTTP_GetSettingsPage(uint32_t reqNum, char *bufIn, char *bufOut, uint16_t
     GetUPSVoltCellMaxStr(str, &len);
     strcat(bufOut, "\",\"ups_cell_max\":\"");
     strncat(bufOut, str, len);
+
+#ifdef HARDWARE_BT6709
+    GetDataSetAKBStr(str, &len);
+    strcat(bufOut, "\",\"bat_prod\":\"");
+    strncat(bufOut, str, len);
+
+    GetLifeTimeAKBStr(str, &len);
+    strcat(bufOut, "\",\"bat_exp\":\"");
+    strncat(bufOut, str, len);
+
+    GetCapacityNominalAKBStr(str, &len);
+    strcat(bufOut, "\",\"bat_cap\":\"");
+    strncat(bufOut, str, len);
+
+    GetVoltageAKBNominalStr(str, &len);
+    strcat(bufOut, "\",\"bat_charge\":\"");
+    strncat(bufOut, str, len);
+
+    GetUPSPowerStr(str, &len);
+    strcat(bufOut, "\",\"ups_max_power\":\"");
+    strncat(bufOut, str, len);
+#endif
+
 #if defined HARDWARE_BT6707 || HARDWARE_BT6709
     GetVACAlarmHighRangeStr(str, &len);
     strcat(bufOut, "\",\"mainvolt_high\":\"");

+ 4 - 4
modules/MegaTec/megatec.c

@@ -263,12 +263,12 @@ void ups_status_response(char *data)
 		if(len > 0){
 			//UPS.SOC = round(100*(((atof(value))/6) - 1.85)/0.4166666667); // 1.85 - минимальное напряжение на ячейки АКБ; 2.266666667 - максимальное напряжение на ячейки АКБ; (2.266666667 - 1.85) = 0.4166666667
 			//UPS.SOC = round(100*((atof(value)) - 1.67)/0.58); // 1.667 - минимальное напряжение на ячейки АКБ; 2.267 - максимальное напряжение на ячейки АКБ; (2.267 - 1.667) = 0.6
-			tmp = atof(value);
-			if(tmp < 7){
-				UPS.SOC = round(100*(tmp - sSettings.UPS_Setting.Ucellmin)/(sSettings.UPS_Setting.Ucellmax - sSettings.UPS_Setting.Ucellmin));
+			UPS.Vakb_curr = atof(value);
+			if(UPS.Vakb_curr < 7){
+				UPS.SOC = round(100*(UPS.Vakb_curr - sSettings.UPS_Setting.Ucellmin)/(sSettings.UPS_Setting.Ucellmax - sSettings.UPS_Setting.Ucellmin));
 			}
 			else{
-				UPS.SOC = round(100*(tmp/6 - sSettings.UPS_Setting.Ucellmin)/(sSettings.UPS_Setting.Ucellmax - sSettings.UPS_Setting.Ucellmin));
+				UPS.SOC = round(100*(UPS.Vakb_curr/AKB_NUM_CELL - sSettings.UPS_Setting.Ucellmin)/(sSettings.UPS_Setting.Ucellmax - sSettings.UPS_Setting.Ucellmin));
 			}
 		}
 	}

+ 5 - 0
modules/MegaTec/megatec.h

@@ -12,6 +12,10 @@
 #include <stdint.h>
 #include <stdlib.h>
 
+#define K_EFFICIENCY		0.9
+#define AKB_VOLTAGE			12
+#define AKB_NUM_CELL		6
+
 typedef enum{
 	ups_status_req,
 	ups_test_10sec,
@@ -43,6 +47,7 @@ typedef struct{
 	float VAC_in;
 	float VAC_out;
 	float Temp;
+	float Vakb_curr;
 	uint8_t Load;
 	uint8_t SOC;
 	uint16_t work_time;

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 314 - 260
modules/parameters.c


+ 82 - 0
modules/parameters.h

@@ -34,6 +34,25 @@ void GetInternalTempStr(char *str, uint8_t *len);
 void GetAlarmMonitorStr(char *str, uint8_t *len);
 void GetConnectMonitorStr(char *str, uint8_t *len);
 
+#ifdef HARDWARE_BT6709
+
+/**
+  * @brief
+  */
+void GetInputCurrentStr(char *str, uint8_t *len);
+
+/**
+  * @brief
+  */
+void GetOutputCurrentStr(char *str, uint8_t *len);
+
+/**
+  * @brief
+  */
+void GetVoltageAKBtStr(char *str, uint8_t *len);
+
+#endif
+
 /**
   * @brief  Режим работы
   */
@@ -409,6 +428,40 @@ void GetUPSVoltCellMinStr(char *str, uint8_t *len);
   */
 void GetUPSVoltCellMaxStr(char *str, uint8_t *len);
 
+#ifdef HARDWARE_BT6709
+
+/**
+  * @brief Дата замены АКБ
+  */
+void GetDataNextChangeAKBStr(char *str, uint8_t *len);
+
+/**
+  * @brief Дата установки АКБ
+  */
+void GetDataSetAKBStr(char *str, uint8_t *len);
+
+/**
+  * @brief Срок службы АКБ
+  */
+void GetLifeTimeAKBStr(char *str, uint8_t *len);
+
+/**
+  * @brief Номинальное напряжение АКБ
+  */
+void GetVoltageAKBNominalStr(char *str, uint8_t *len);
+
+/**
+  * @brief Полная мощность АКБ
+  */
+void GetUPSPowerStr(char *str, uint8_t *len);
+
+/**
+  * @brief Емкость АКБ
+  */
+void GetCapacityNominalAKBStr(char *str, uint8_t *len);
+
+#endif
+
 // ************************************************************************** //
 //                             Параметры менеджера аварийных событий
 
@@ -678,6 +731,35 @@ void SetUPSVoltCellMinStr(char *str);
   */
 void SetUPSVoltCellMaxStr(char *str);
 
+#ifdef HARDWARE_BT6709
+
+/**
+  * @brief Дата установки АКБ
+  */
+void SetDataSetAKBStr(char *str);
+
+/**
+  * @brief Срок службы АКБ
+  */
+void SetLifeTimeAKBStr(char *str);
+
+/**
+  * @brief Номинальное напряжение АКБ
+  */
+void SetVoltageAKBNominalStr(char *str);
+
+/**
+  * @brief Полная мощность АКБ
+  */
+void SetUPSPowerStr(char *str);
+
+/**
+  * @brief Емкость АКБ
+  */
+void SetCapacityNominalAKBStr(char *str);
+
+#endif
+
 // ************************************************************************** //
 //                             Параметры менеджера аварий
 

+ 7 - 0
modules/settings_api.c

@@ -142,6 +142,13 @@ void SETTINGS_SetUPSSettingsDef(void)
 {
   sSettings.UPS_Setting.Ucellmin = 1.67;
   sSettings.UPS_Setting.Ucellmax = 2.27;
+#ifdef HARDWARE_BT6709
+  sSettings.UPS_Setting.Uakb = 24;
+  sSettings.UPS_Setting.ups_power = 1000;
+  sSettings.UPS_Setting.set_data = 0;
+  sSettings.UPS_Setting.life_time = 5;
+  sSettings.UPS_Setting.common_capacity = 9;
+#endif
   sSettings.UPS_Setting.type_ups = ups_kestar;
 }
 

+ 7 - 0
modules/settings_api.h

@@ -256,6 +256,13 @@ typedef struct
 {
 	float Ucellmin;
 	float Ucellmax;
+#ifdef HARDWARE_BT6709
+  float Uakb;
+  float ups_power;
+  uint32_t life_time;
+  uint32_t set_data;
+  uint32_t common_capacity;
+#endif
 	uint8_t type_ups;
 } UPS_Setting_t;
 

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác