瀏覽代碼

add alarm bit for output voltage alarm

balbekova 5 年之前
父節點
當前提交
1f77bdb8b7
共有 1 個文件被更改,包括 36 次插入36 次删除
  1. 36 36
      modules/monitor/ups_monitor.c

+ 36 - 36
modules/monitor/ups_monitor.c

@@ -469,38 +469,39 @@ void UPS_VACoutputLowRangeMonitor(void)
   /* Отслеживается переход через нижнию границу */
   if (VACoutputCurrent < sSettings.sAlarmManager.ac_output_range.low)
   {
-	flCriticalAlarm = true;
-    if (stateCurrentVACoutput == HYST_IDLE)
-	{
-      stateCurrentVACoutput = HYST_DOWN;
+	    flCriticalAlarm = true;
+      if (stateCurrentVACoutput == HYST_IDLE)
+	    {
+          UPS.Alarm |= (1 << 7);
+          stateCurrentVACoutput = HYST_DOWN;
 #if	defined HARDWARE_BT6707
-      relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 1);
+          relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 1);
 #endif
-	  log_event_data(LOG_ALARM_VAC_LOW_OUTPUT, "Авария");
+	        log_event_data(LOG_ALARM_VAC_LOW_OUTPUT, "Авария");
 	  // Отправка трапа о завышении
 	//  SNMP_SendUserTrap(POWER_ALARM);
-	  flUpdateLog = true;
-	}
-    else{
+	        flUpdateLog = true;
+	    } else {
 #if	defined HARDWARE_BT6707
-    	relay_setup_log_change(CurrROtype_Sourse, OldROtype_Sourse, DC_PRESENT);
+    	    relay_setup_log_change(CurrROtype_Sourse, OldROtype_Sourse, DC_PRESENT);
 #endif
-    }
+      }
   }
   /* Отслеживается нормализация */
   else if (VACoutputCurrent > (sSettings.sAlarmManager.ac_output_range.low + sSettings.sAlarmManager.ac_output_range.hyst))
   {
-    if (stateCurrentVACoutput == HYST_DOWN)
-	{
-    	stateCurrentVACoutput = HYST_IDLE;
+      if (stateCurrentVACoutput == HYST_DOWN)
+	    {
+          UPS.Alarm &= 0x7f;
+    	    stateCurrentVACoutput = HYST_IDLE;
 #if	defined HARDWARE_BT6707
-	  relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 0);
+	        relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 0);
 #endif
-	  log_event_data(LOG_ALARM_VAC_LOW_OUTPUT, "Норма");
+	        log_event_data(LOG_ALARM_VAC_LOW_OUTPUT, "Норма");
 	  // Отправка трапа о нормализации
 	 // SNMP_SendUserTrap(POWER_NORM);
-	  flUpdateLog = true;
-	}
+	        flUpdateLog = true;
+	    }
   }
 #if	defined HARDWARE_BT6707
   for(i = 0; i < OUTPUTS_TOTAL_COUNT; i ++){
@@ -535,38 +536,37 @@ void UPS_VACoutputHighRangeMonitor(void)
   /* Отслеживается переход через верхнюю границу */
   if (VACoutputCurrent > sSettings.sAlarmManager.ac_output_range.high)
   {
-	flCriticalAlarm = true;
-    if (stateCurrentVACoutput == HYST_IDLE)
-	{
-      stateCurrentVACoutput = HYST_UP;
+	    flCriticalAlarm = true;
+      if (stateCurrentVACoutput == HYST_IDLE) {
+          UPS.Alarm |= (1 << 7);
+          stateCurrentVACoutput = HYST_UP;
 #if	defined HARDWARE_BT6707
-      relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 1);
+          relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 1);
 #endif
-	  log_event_data(LOG_ALARM_VAC_HIGH_OUTPUT, "Авария");
+	        log_event_data(LOG_ALARM_VAC_HIGH_OUTPUT, "Авария");
 	  // Отправка трапа о завышении
 	//  SNMP_SendUserTrap(POWER_ALARM);
-	  flUpdateLog = true;
-	}
-    else{
+	        flUpdateLog = true;
+	    } else {
 #if	defined HARDWARE_BT6707
-    	relay_setup_log_change(CurrROtype_Sourse, OldROtype_Sourse, DC_PRESENT);
+    	    relay_setup_log_change(CurrROtype_Sourse, OldROtype_Sourse, DC_PRESENT);
 #endif
-    }
+      }
   }
   /* Отслеживается нормализация */
   else if (VACoutputCurrent < (sSettings.sAlarmManager.ac_output_range.high - sSettings.sAlarmManager.ac_output_range.hyst))
   {
-    if (stateCurrentVACoutput == HYST_UP)
-	{
-    	stateCurrentVACoutput = HYST_IDLE;
+      if (stateCurrentVACoutput == HYST_UP) {
+          UPS.Alarm &= 0x7f;
+    	    stateCurrentVACoutput = HYST_IDLE;
 #if	defined HARDWARE_BT6707
-	  relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 0);
+	        relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 0);
 #endif
-	  log_event_data(LOG_ALARM_VAC_HIGH_OUTPUT, "Норма");
+	        log_event_data(LOG_ALARM_VAC_HIGH_OUTPUT, "Норма");
 	  // Отправка трапа о нормализации
 	 // SNMP_SendUserTrap(POWER_NORM);
-	  flUpdateLog = true;
-	}
+	        flUpdateLog = true;
+	    }
   }
 #if	defined HARDWARE_BT6707
   for(i = 0; i < OUTPUTS_TOTAL_COUNT; i ++){