|
@@ -322,7 +322,7 @@ void UPS_NonCriticalAlarmMonitor(void)
|
|
|
NonCriticalAlarmOldState = NonCriticalAlarmCurrent;
|
|
|
}
|
|
|
#endif
|
|
|
-
|
|
|
+static bool test_akb_flag = false;
|
|
|
/**
|
|
|
* @brief Мониторинг бита Test in progress
|
|
|
*/
|
|
@@ -368,7 +368,7 @@ void UPS_TestFinishMonitor(void)
|
|
|
sprintf(log_string, "Авария(%0.2f Ач)", Ccalc);
|
|
|
log_event_data(LOG_TEST_ALARM_AKB, log_string);
|
|
|
syslog(SYSLOG_INFORMATIONAL, "Ёмкость АКБ: %s", log_string);
|
|
|
-#ifdef HARDWARE_BT6711
|
|
|
+#if HARDWARE_BT6711 || HARDWARE_BT6711_V1
|
|
|
SNMP_SendUserTrap(BATTERY_FAIL);
|
|
|
#endif
|
|
|
#ifdef RELAY_ALARM_AKB
|
|
@@ -379,7 +379,7 @@ void UPS_TestFinishMonitor(void)
|
|
|
sprintf(log_string, "Норма(%0.2f Ач)", Ccalc);
|
|
|
log_event_data(LOG_TEST_ALARM_AKB, log_string);
|
|
|
syslog(SYSLOG_INFORMATIONAL, "Ёмкость АКБ: %s", log_string);
|
|
|
-#ifdef HARDWARE_BT6711
|
|
|
+#if HARDWARE_BT6711 || HARDWARE_BT6711_V1
|
|
|
SNMP_SendUserTrap(BATTERY_NORM);
|
|
|
#endif
|
|
|
#ifdef RELAY_ALARM_AKB
|
|
@@ -406,7 +406,7 @@ void UPS_TestFinishMonitor(void)
|
|
|
log_event_data(LOG_TEST_UPS, log_string);
|
|
|
syslog(SYSLOG_INFORMATIONAL, "Тест батареи: %s", log_string);
|
|
|
test_time = 0;
|
|
|
-#ifdef HARDWARE_BT6711
|
|
|
+#if HARDWARE_BT6711 || HARDWARE_BT6711_V1
|
|
|
SNMP_SendUserTrap(TEST_BAT_STOP);
|
|
|
#endif
|
|
|
#else
|
|
@@ -415,6 +415,7 @@ void UPS_TestFinishMonitor(void)
|
|
|
#endif
|
|
|
flUpdateLog = true;
|
|
|
} else {
|
|
|
+ test_akb_flag = true;
|
|
|
memset(log_string, 0, sizeof(log_string));
|
|
|
switch (get_act_source()) {
|
|
|
case WEB_ACT:
|
|
@@ -448,7 +449,7 @@ void UPS_TestFinishMonitor(void)
|
|
|
printf("Test start\r\n");
|
|
|
log_event_data(LOG_TEST_UPS, log_string);
|
|
|
syslog(SYSLOG_INFORMATIONAL, "Тест батареи: %s", log_string);
|
|
|
-#ifdef HARDWARE_BT6711
|
|
|
+#if HARDWARE_BT6711 || HARDWARE_BT6711_V1
|
|
|
SNMP_SendUserTrap(TEST_BAT_RUN);
|
|
|
#endif
|
|
|
flUpdateLog = true;
|
|
@@ -466,6 +467,25 @@ uint8_t UPS_VACinputRangeAlarm(void)
|
|
|
static uint8_t stateCurrentVACinput_low = HYST_IDLE;
|
|
|
static uint8_t stateCurrentVACinput_high = HYST_IDLE;
|
|
|
float VACinputCurrent = UPS.VAC_in;
|
|
|
+ static uint8_t cnt = 0;
|
|
|
+ if(test_akb_flag) {
|
|
|
+
|
|
|
+ if (UPS.VAC_in>255) {
|
|
|
+ test_akb_flag = false;
|
|
|
+ cnt = 0;
|
|
|
+ ups_metac_service_pdu(ups_cancel_test);
|
|
|
+ log_event_data(LOG_TEST_UPS, "Ошибка");
|
|
|
+ } else {
|
|
|
+ if(cnt < 20){
|
|
|
+ cnt++;
|
|
|
+ } else {
|
|
|
+ if (UPS.Mode == 'L') {
|
|
|
+ test_akb_flag = false;
|
|
|
+ }
|
|
|
+ cnt = 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
/* Отслеживается переход через нижнию границу */
|
|
|
if (VACinputCurrent < sSettings.sAlarmManager.ac_input_range.low)
|
|
@@ -656,7 +676,7 @@ void UPS_VACoutputLowRangeMonitor(void)
|
|
|
relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 1);
|
|
|
#endif
|
|
|
log_event_data(LOG_ALARM_VAC_LOW_OUTPUT, "Авария");
|
|
|
-#ifdef HARDWARE_BT6711
|
|
|
+#if HARDWARE_BT6711 || HARDWARE_BT6711_V1
|
|
|
// Отправка трапа о занижении
|
|
|
SNMP_SendUserTrap(VAC_LOW_OUTPUT_ALARM);
|
|
|
syslog(SYSLOG_ERROR, "Низкое входное напряжение (%0.1f В)", VACoutputCurrent);
|
|
@@ -679,7 +699,7 @@ void UPS_VACoutputLowRangeMonitor(void)
|
|
|
relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 0);
|
|
|
#endif
|
|
|
log_event_data(LOG_ALARM_VAC_LOW_OUTPUT, "Норма");
|
|
|
-#ifdef HARDWARE_BT6711
|
|
|
+#if HARDWARE_BT6711 || HARDWARE_BT6711_V1
|
|
|
// Отправка трапа о нормализации
|
|
|
SNMP_SendUserTrap(VAC_LOW_OUTPUT_NORM);
|
|
|
syslog(SYSLOG_NOTICE, "Выходное напряжение в норме (%0.1f В)", VACoutputCurrent);
|
|
@@ -730,7 +750,7 @@ void UPS_VACoutputHighRangeMonitor(void)
|
|
|
relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 1);
|
|
|
#endif
|
|
|
log_event_data(LOG_ALARM_VAC_HIGH_OUTPUT, "Авария");
|
|
|
-#ifdef HARDWARE_BT6711
|
|
|
+#if HARDWARE_BT6711 || HARDWARE_BT6711_V1
|
|
|
// Отправка трапа о завышении
|
|
|
SNMP_SendUserTrap(VAC_HIGH_OUTPUT_ALARM);
|
|
|
syslog(SYSLOG_ERROR, "Высокое входное напряжение (%0.1f В)", VACoutputCurrent);
|
|
@@ -752,7 +772,7 @@ void UPS_VACoutputHighRangeMonitor(void)
|
|
|
relay_setup_log(CurrROtype_Sourse, DC_PRESENT, 0);
|
|
|
#endif
|
|
|
log_event_data(LOG_ALARM_VAC_HIGH_OUTPUT, "Норма");
|
|
|
-#ifdef HARDWARE_BT6711
|
|
|
+#if HARDWARE_BT6711 || HARDWARE_BT6711_V1
|
|
|
// Отправка трапа о нормализации
|
|
|
SNMP_SendUserTrap(VAC_HIGH_OUTPUT_NORM);
|
|
|
syslog(SYSLOG_NOTICE, "Выходное напряжение в норме (%0.1f В)", VACoutputCurrent);
|
|
@@ -1387,6 +1407,7 @@ void UPS_BatteryConnectMonitor(void)
|
|
|
else{
|
|
|
AKBconnectCurrent = 0;
|
|
|
}
|
|
|
+ AKBconnectCurrent |= UPS.warn_status & 0x01;
|
|
|
|
|
|
UPS.Alarm = (UPS.Alarm & 0xfffffff7) | (AKBconnectCurrent << 3);
|
|
|
|