Kaynağa Gözat

[BT-6703-RT]change alarm name & fix detect alarm VACin

balbekova 4 yıl önce
ebeveyn
işleme
d46e9ba799
2 değiştirilmiş dosya ile 33 ekleme ve 10 silme
  1. 32 9
      modules/monitor/ups_monitor.c
  2. 1 1
      modules/settings_api_bt6703_rt.c

+ 32 - 9
modules/monitor/ups_monitor.c

@@ -442,7 +442,7 @@ bool UPS_VACinputRangeAlarm(void)
   /* Отслеживается переход через нижнию границу */
   if (VACinputCurrent < sSettings.sAlarmManager.ac_input_range.low)
   {
-      if (stateCurrentVACinput == HYST_IDLE) {
+      if (stateCurrentVACinput == HYST_IDLE || stateCurrentVACinput == HYST_DOWN) {
         stateCurrentVACinput = HYST_DOWN;
         flag = true;
       }
@@ -453,12 +453,16 @@ bool UPS_VACinputRangeAlarm(void)
         stateCurrentVACinput = HYST_IDLE;
         flag = false;
       }
+  } else {
+    if (stateCurrentVACinput == HYST_DOWN) {
+      flag = true;
+    }
   }
 
   /* Отслеживается переход через верхнюю границу */
   if (VACinputCurrent > sSettings.sAlarmManager.ac_input_range.high)
   {
-      if (stateCurrentVACinput == HYST_IDLE) {
+      if (stateCurrentVACinput == HYST_IDLE || stateCurrentVACinput == HYST_UP) {
         stateCurrentVACinput = HYST_UP;
         flag = true;
       }
@@ -469,6 +473,10 @@ bool UPS_VACinputRangeAlarm(void)
         stateCurrentVACinput = HYST_IDLE;
         flag = false;
       }
+  } else {
+    if (stateCurrentVACinput == HYST_UP) {
+      flag = true;
+    }
   }
   return flag;
 }
@@ -482,6 +490,8 @@ void UPS_LineFailMonitor(void)
   static bool isValueRecv = false;
   static uint8_t lineFailOldState = 0;
   uint8_t lineFailCurrent;
+  char log_string[50];
+  uint8_t len;
 
 #if defined RELAY_AC_PRESENT
   uint8_t i = 0;
@@ -492,7 +502,8 @@ void UPS_LineFailMonitor(void)
 	  CurrROtype_Sourse[i] = sSettings.sRelays[i].ro_type_source;
 #endif
 #ifdef HARDWARE_BT6703_RT
-  lineFailCurrent = (((UPS.Status >> 7) & 0x01) || UPS_VACinputRangeAlarm()) ? 1 : 0;
+  lineFailCurrent = (((UPS.Status >> 7) & 0x01);
+  lineFailCurrent |= UPS_VACinputRangeAlarm()) ? 2 : 0;
 #else 
   lineFailCurrent = (UPS.Status >> 7) & 0x01;
 #endif
@@ -501,8 +512,14 @@ void UPS_LineFailMonitor(void)
     isValueRecv = true;
     lineFailOldState = lineFailCurrent;
 
-    if (lineFailCurrent){
-    	log_event_data(LOG_ALARM_LINE, "Авария");
+    if (lineFailCurrent != 0){
+      memset(log_string, 0, sizeof(log_string));
+      strcat(log_string, "Авария");
+#ifdef HARDWARE_BT6703_RT
+       len = strlen(log_string);
+       sprintf(&log_string[len], " (%0.1f В)", UPS.VAC_in);  
+#endif
+    	log_event_data(LOG_ALARM_LINE, log_string);
           SNMP_SendUserTrap(LINE_ALARM);
           flUpdateLog = true;
 #if	defined RELAY_AC_PRESENT
@@ -521,7 +538,7 @@ void UPS_LineFailMonitor(void)
     return;
   }
 
-  if (lineFailCurrent){
+  if (lineFailCurrent != 0){
     flCriticalAlarm = true;
     flLedAlarm = true;
   }
@@ -529,12 +546,18 @@ void UPS_LineFailMonitor(void)
   // Значение параметра изменилось
   if (lineFailCurrent != lineFailOldState)
   {
-    if (lineFailCurrent){
+    if (lineFailCurrent != 0){
 #if	defined RELAY_AC_PRESENT
     	relay_setup_log(CurrROtype_Sourse, AC_PRESENT, 1);
 #endif
 
-    	log_event_data(LOG_ALARM_LINE, "Авария");
+      memset(log_string, 0, sizeof(log_string));
+      strcat(log_string, "Авария");
+#ifdef HARDWARE_BT6703_RT
+       len = strlen(log_string);
+       sprintf(&log_string[len], " (%0.1f В)", UPS.VAC_in);  
+#endif
+    	log_event_data(LOG_ALARM_LINE, log_string);
     	SNMP_SendUserTrap(LINE_ALARM);
 #ifdef AKB_CHANGE_MONITOR
       if(UPS.Alarm & 0x40) {
@@ -556,7 +579,7 @@ void UPS_LineFailMonitor(void)
 
 #if defined RELAY_AC_PRESENT
   else{
-	  if (lineFailCurrent)
+	  if (lineFailCurrent != 0)
 		  relay_setup_log_change(CurrROtype_Sourse, OldROtype_Sourse, AC_PRESENT);
   }
 

+ 1 - 1
modules/settings_api_bt6703_rt.c

@@ -57,7 +57,7 @@ const char* logsStrShortRu[] =
     "Авария нагрузки",
     "Авария связи с ИБП",
     "Авария отключения АКБ",
-    "Авария АКБ",
+    "Ёмкость АКБ",
     "Авария ИБП",
 };