Browse Source

[BT-6711]add traps, some fix

balbekova 4 years ago
parent
commit
7a0f613736

+ 6 - 2
config/board_bt6711.h

@@ -178,6 +178,10 @@ XSETTING( Syslog_Settings_t,	sSyslog, SETTINGS_SetSyslogDef, ALL_DEFAULT ) \
   XTRAP(VAC_LOW_OUTPUT_NORM,               12,     true,      GetOutputVoltageStr) \
   XTRAP(VAC_LOW_OUTPUT_NORM,               12,     true,      GetOutputVoltageStr) \
   XTRAP(VAC_HIGH_OUTPUT_ALARM,             12,     true,      GetOutputVoltageStr) \
   XTRAP(VAC_HIGH_OUTPUT_ALARM,             12,     true,      GetOutputVoltageStr) \
   XTRAP(VAC_HIGH_OUTPUT_NORM,              12,     true,      GetOutputVoltageStr) \
   XTRAP(VAC_HIGH_OUTPUT_NORM,              12,     true,      GetOutputVoltageStr) \
+  XTRAP(TEST_BAT_RUN,                      16,     true,      GetBatCapacityStr) \
+  XTRAP(TEST_BAT_STOP,                     16,     true,      GetBatCapacityStr) \
+  XTRAP(BATTERY_FAIL,                      16,     true,      GetBatCapacityStr) \
+  XTRAP(BATTERY_NORM,                      16,     true,      GetBatCapacityStr) \  
   XTRAP(LOW_BAT_ALARM,                     16,     true,      GetBatCapacityStr) \
   XTRAP(LOW_BAT_ALARM,                     16,     true,      GetBatCapacityStr) \
   XTRAP(LOW_BAT_NORM,                      16,     true,      GetBatCapacityStr) \
   XTRAP(LOW_BAT_NORM,                      16,     true,      GetBatCapacityStr) \
   XTRAP(BATTERY_CONNECT_ALARM,             16,     true,      GetBatCapacityStr) \
   XTRAP(BATTERY_CONNECT_ALARM,             16,     true,      GetBatCapacityStr) \
@@ -204,10 +208,10 @@ typedef enum
   VAC_LOW_OUTPUT_NORM,
   VAC_LOW_OUTPUT_NORM,
   VAC_HIGH_OUTPUT_ALARM,
   VAC_HIGH_OUTPUT_ALARM,
   VAC_HIGH_OUTPUT_NORM,
   VAC_HIGH_OUTPUT_NORM,
-#if 0
   TEST_BAT_RUN,
   TEST_BAT_RUN,
   TEST_BAT_STOP,
   TEST_BAT_STOP,
-#endif
+  BATTERY_FAIL,
+  BATTERY_NORM,
   LOW_BAT_ALARM,
   LOW_BAT_ALARM,
   LOW_BAT_NORM,
   LOW_BAT_NORM,
   BATTERY_CONNECT_ALARM,
   BATTERY_CONNECT_ALARM,

+ 32 - 8
docs/bt6711/BT6711.MIB

@@ -580,53 +580,77 @@ IMPORTS
      DESCRIPTION ""
      DESCRIPTION ""
      ::= { traps 15 } 
      ::= { traps 15 } 
 
 
-     lowBatAlarm  NOTIFICATION-TYPE
+     testBatRun  NOTIFICATION-TYPE
      OBJECTS              { batCap }
      OBJECTS              { batCap }
      STATUS               current
      STATUS               current
      DESCRIPTION ""
      DESCRIPTION ""
      ::= { traps 16 }
      ::= { traps 16 }
 
 
-     lowBatNorm  NOTIFICATION-TYPE
+     testBatStop  NOTIFICATION-TYPE
      OBJECTS              { batCap }
      OBJECTS              { batCap }
      STATUS               current
      STATUS               current
      DESCRIPTION ""
      DESCRIPTION ""
      ::= { traps 17 }
      ::= { traps 17 }
 
 
-     batteryConnectAlarm  NOTIFICATION-TYPE
+     batteryFailed  NOTIFICATION-TYPE
      OBJECTS              { batCap }
      OBJECTS              { batCap }
      STATUS               current
      STATUS               current
      DESCRIPTION ""
      DESCRIPTION ""
      ::= { traps 18 }
      ::= { traps 18 }
 
 
-     batteryConnectNorm  NOTIFICATION-TYPE
+     batteryNorm  NOTIFICATION-TYPE
      OBJECTS              { batCap }
      OBJECTS              { batCap }
      STATUS               current
      STATUS               current
      DESCRIPTION ""
      DESCRIPTION ""
      ::= { traps 19 }	
      ::= { traps 19 }	
+
+     lowBatAlarm  NOTIFICATION-TYPE
+     OBJECTS              { batCap }
+     STATUS               current
+     DESCRIPTION ""
+     ::= { traps 20 }
+
+     lowBatNorm  NOTIFICATION-TYPE
+     OBJECTS              { batCap }
+     STATUS               current
+     DESCRIPTION ""
+     ::= { traps 21 }
+
+     batteryConnectAlarm  NOTIFICATION-TYPE
+     OBJECTS              { batCap }
+     STATUS               current
+     DESCRIPTION ""
+     ::= { traps 22 }
+
+     batteryConnectNorm  NOTIFICATION-TYPE
+     OBJECTS              { batCap }
+     STATUS               current
+     DESCRIPTION ""
+     ::= { traps 23 }	
 	 
 	 
      powerAlarm  NOTIFICATION-TYPE
      powerAlarm  NOTIFICATION-TYPE
      OBJECTS              { power }
      OBJECTS              { power }
      STATUS               current
      STATUS               current
      DESCRIPTION ""
      DESCRIPTION ""
-     ::= { traps 20 }
+     ::= { traps 24 }
 
 
     powerNorm  NOTIFICATION-TYPE
     powerNorm  NOTIFICATION-TYPE
      OBJECTS              { power }
      OBJECTS              { power }
      STATUS               current
      STATUS               current
      DESCRIPTION ""
      DESCRIPTION ""
-     ::= { traps 21 }
+     ::= { traps 25 }
 
 
 	ConnectMonitorAlarm  NOTIFICATION-TYPE
 	ConnectMonitorAlarm  NOTIFICATION-TYPE
      OBJECTS              { connectMonitor }
      OBJECTS              { connectMonitor }
      STATUS               current
      STATUS               current
      DESCRIPTION ""
      DESCRIPTION ""
-     ::= { traps 22 }
+     ::= { traps 26 }
 	 
 	 
      connectMonitorNorm  NOTIFICATION-TYPE
      connectMonitorNorm  NOTIFICATION-TYPE
      OBJECTS              { connectMonitor }
      OBJECTS              { connectMonitor }
      STATUS               current
      STATUS               current
      DESCRIPTION ""
      DESCRIPTION ""
-     ::= { traps 23 }
+     ::= { traps 27 }
 
 
 END
 END
 
 

+ 4 - 4
modules/MegaTec/megatec.c

@@ -778,14 +778,14 @@ void ups_mode_response(char *data)
     DBG printf("UPS ups_mode_parser_start: %s\r\n", data);
     DBG printf("UPS ups_mode_parser_start: %s\r\n", data);
 #ifdef UPS_MODE_MONITOR
 #ifdef UPS_MODE_MONITOR
     if (UPS.Mode != data[0]) {
     if (UPS.Mode != data[0]) {
+        UPS.Mode = data[0]; 
         memset(value, 0, sizeof(value));
         memset(value, 0, sizeof(value));
         GetModeStr(value, &len);
         GetModeStr(value, &len);
         SNMP_SendUserTrap(UPS_MODE);
         SNMP_SendUserTrap(UPS_MODE);
         syslog(SYSLOG_INFORMATIONAL, "Режим ИБП: %s", value);
         syslog(SYSLOG_INFORMATIONAL, "Режим ИБП: %s", value);
         log_event_data(LOG_UPS_MODE, value);
         log_event_data(LOG_UPS_MODE, value);
     }
     }
-#endif
-    UPS.Mode = data[0]; 
+#endif    
 }
 }
 
 
 #define BIT_OFFSET(c, offset) ((c - 0x30) << offset)
 #define BIT_OFFSET(c, offset) ((c - 0x30) << offset)
@@ -966,7 +966,7 @@ void kstar_mode(void)
 void request_task(void *params)
 void request_task(void *params)
 {
 {
     uint8_t kestar_req[3] = { ups_status_req, ups_remain_time_reg, ups_info};
     uint8_t kestar_req[3] = { ups_status_req, ups_remain_time_reg, ups_info};
-    uint8_t voltronic_req[8] = {ups_status_req, ups_akb_info, ups_model_req, ups_version_req, ups_version2_req, ups_serial_req, ups_mode_req, ups_warning_status};//
+    uint8_t voltronic_req[8] = {ups_status_req, ups_akb_info, ups_model_req, ups_mode_req, ups_version_req, ups_version2_req, ups_serial_req, ups_warning_status};//
     uint8_t num_req = 0;
     uint8_t num_req = 0;
     uint8_t *req;
     uint8_t *req;
 
 
@@ -1120,7 +1120,7 @@ void ups_megatec_init(void)
 {
 {
     init_UPS_value();
     init_UPS_value();
     UPS.Present = true;
     UPS.Present = true;
-    xTaskCreate(request_task, ( char * ) "request_task", configMINIMAL_STACK_SIZE * 2, NULL, tskIDLE_PRIORITY, NULL);
+    xTaskCreate(request_task, ( char * ) "request_task", configMINIMAL_STACK_SIZE * 3, NULL, tskIDLE_PRIORITY, NULL);
     xTaskCreate(akb_time_work_task, ( char * ) "akb_time_work_task", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY,
     xTaskCreate(akb_time_work_task, ( char * ) "akb_time_work_task", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY,
         NULL);
         NULL);
     UPSRestoreTimer = xTimerCreate("UPSRestoreTmr", configTICK_RATE_HZ*30, pdFALSE, ( void * ) 0, UPSRestoreCallback);
     UPSRestoreTimer = xTimerCreate("UPSRestoreTmr", configTICK_RATE_HZ*30, pdFALSE, ( void * ) 0, UPSRestoreCallback);

+ 2 - 0
modules/cli/CLI_Commands.c

@@ -38,7 +38,9 @@
 #include "cli.h"
 #include "cli.h"
 #include "netconf.h"
 #include "netconf.h"
 #include "control_symbol.h"
 #include "control_symbol.h"
+#ifdef SYSLOG_ENABLE
 #include "syslog.h"
 #include "syslog.h"
+#endif
 
 
 const int8_t *const pcInvalidCommand = ( int8_t * )
 const int8_t *const pcInvalidCommand = ( int8_t * )
     "Неправильно введены параметры команды.  Введите \"help\" для просмотра списка поддерживаемых команд.\r\n\r\n";
     "Неправильно введены параметры команды.  Введите \"help\" для просмотра списка поддерживаемых команд.\r\n\r\n";

+ 16 - 4
modules/monitor/ups_monitor.c

@@ -367,7 +367,10 @@ void UPS_TestFinishMonitor(void)
         if (Ccalc_percent >= 80) {
         if (Ccalc_percent >= 80) {
           sprintf(log_string, "Авария(%0.2f Ач)", Ccalc);
           sprintf(log_string, "Авария(%0.2f Ач)", Ccalc);
           log_event_data(LOG_TEST_ALARM_AKB, log_string);
           log_event_data(LOG_TEST_ALARM_AKB, log_string);
-	  syslog(SYSLOG_INFORMATIONAL, "Тест батареи: %s", log_string);
+	        syslog(SYSLOG_INFORMATIONAL, "Ёмкость АКБ: %s", log_string);
+#ifdef HARDWARE_BT6711
+          SNMP_SendUserTrap(BATTERY_FAIL);
+#endif
 #ifdef RELAY_ALARM_AKB
 #ifdef RELAY_ALARM_AKB
           relay_setup_log(CurrROtype_Sourse, ALARM_AKB, 1);
           relay_setup_log(CurrROtype_Sourse, ALARM_AKB, 1);
           AKBAlarmState = 1;
           AKBAlarmState = 1;
@@ -375,7 +378,10 @@ void UPS_TestFinishMonitor(void)
         } else {
         } else {
           sprintf(log_string, "Норма(%0.2f Ач)", Ccalc);
           sprintf(log_string, "Норма(%0.2f Ач)", Ccalc);
           log_event_data(LOG_TEST_ALARM_AKB, log_string);
           log_event_data(LOG_TEST_ALARM_AKB, log_string);
-	  syslog(SYSLOG_INFORMATIONAL, "Тест батареи: %s", log_string);
+	        syslog(SYSLOG_INFORMATIONAL, "Ёмкость АКБ: %s", log_string);
+#ifdef HARDWARE_BT6711
+          SNMP_SendUserTrap(BATTERY_NORM);
+#endif
 #ifdef RELAY_ALARM_AKB
 #ifdef RELAY_ALARM_AKB
           relay_setup_log(CurrROtype_Sourse, ALARM_AKB, 0);
           relay_setup_log(CurrROtype_Sourse, ALARM_AKB, 0);
           AKBAlarmState = 0;
           AKBAlarmState = 0;
@@ -400,6 +406,9 @@ void UPS_TestFinishMonitor(void)
        log_event_data(LOG_TEST_UPS, log_string);
        log_event_data(LOG_TEST_UPS, log_string);
        syslog(SYSLOG_INFORMATIONAL, "Тест батареи: %s", log_string);
        syslog(SYSLOG_INFORMATIONAL, "Тест батареи: %s", log_string);
        test_time = 0;
        test_time = 0;
+#ifdef HARDWARE_BT6711
+          SNMP_SendUserTrap(TEST_BAT_STOP);
+#endif
 #else
 #else
       log_event_data(LOG_TEST_UPS, "Завершен");
       log_event_data(LOG_TEST_UPS, "Завершен");
       syslog_str(SYSLOG_INFORMATIONAL, "Тест батареи: Завершён");
       syslog_str(SYSLOG_INFORMATIONAL, "Тест батареи: Завершён");
@@ -439,6 +448,9 @@ void UPS_TestFinishMonitor(void)
       printf("Test start\r\n");
       printf("Test start\r\n");
       log_event_data(LOG_TEST_UPS, log_string);
       log_event_data(LOG_TEST_UPS, log_string);
       syslog(SYSLOG_INFORMATIONAL, "Тест батареи: %s", log_string);
       syslog(SYSLOG_INFORMATIONAL, "Тест батареи: %s", log_string);
+#ifdef HARDWARE_BT6711
+          SNMP_SendUserTrap(TEST_BAT_RUN);
+#endif
       flUpdateLog = true;
       flUpdateLog = true;
     }
     }
   }
   }
@@ -874,7 +886,7 @@ static uint8_t UPS_LoadRangeAlarm(void)
   /* Отслеживается переход через верхнюю границу */
   /* Отслеживается переход через верхнюю границу */
   if (load > sSettings.sAlarmManager.load_range.high)
   if (load > sSettings.sAlarmManager.load_range.high)
   {
   {
-     if (stateCurrent == HYST_IDLE) {
+     if (stateCurrent == HYST_IDLE || stateCurrent == HYST_UP) {
         stateCurrent = HYST_UP;
         stateCurrent = HYST_UP;
         flag = 1;
         flag = 1;
       }
       }
@@ -1043,7 +1055,7 @@ static uint8_t UPS_TempHighRangeAlarm(void)
   /* Отслеживается переход через верхнюю границу */
   /* Отслеживается переход через верхнюю границу */
   if (temperature > sSettings.sAlarmManager.Temprature_range.high)
   if (temperature > sSettings.sAlarmManager.Temprature_range.high)
   {
   {
-     if (stateCurrent == HYST_IDLE) {
+     if (stateCurrent == HYST_IDLE || stateCurrent == HYST_UP) {
         stateCurrent = HYST_UP;
         stateCurrent = HYST_UP;
         flag = 1;
         flag = 1;
       }
       }

+ 8 - 3
modules/settings_api_bt6711.c

@@ -66,6 +66,7 @@ const char* name_traps[] =
   "Успешное обновл. ПО",
   "Успешное обновл. ПО",
   "Сброс настроек",
   "Сброс настроек",
   "Перезагрузка",
   "Перезагрузка",
+  "Режим работы ИБП",
   "Норм. темп. АКБ по верх. границы",
   "Норм. темп. АКБ по верх. границы",
   "Авария темп. АКБ по верх. границы",
   "Авария темп. АКБ по верх. границы",
   "Норм. темп. АКБ по ниж. границы",
   "Норм. темп. АКБ по ниж. границы",
@@ -77,13 +78,17 @@ const char* name_traps[] =
   "Авария вых. напряжения по верх. границы",
   "Авария вых. напряжения по верх. границы",
   "Норм. вых. напряжения по верх. границы",
   "Норм. вых. напряжения по верх. границы",
   "Низкий заряд АКБ",
   "Низкий заряд АКБ",
+  "Тест АКБ запущен",
+  "Тест АКБ завершен",
+  "Отказ АКБ",
+  "АКБ в норме",
   "Нормализация заряда АКБ",
   "Нормализация заряда АКБ",
-  "Нагрузка в норме",
+  "Отключение АКБ",
+  "Подключение АКБ",
   "Авария нагрузки",
   "Авария нагрузки",
+  "Нагрузка в норме",
   "Авария соединения с ИБП",
   "Авария соединения с ИБП",
   "Норм. соединения с ИБП",
   "Норм. соединения с ИБП",
-  "Отключение АКБ",
-  "Подключение АКБ",
 };
 };
 
 
 /**
 /**