|
@@ -208,14 +208,14 @@ void UPS_NonCriticalAlarmMonitor(void)
|
|
|
// Значение параметра изменилось
|
|
|
if (NonCriticalAlarmCurrent != NonCriticalAlarmOldState)
|
|
|
{
|
|
|
- if(OldRO0type_Sourse == CRITICAL){
|
|
|
+ if(OldRO0type_Sourse == NON_CRITICAL){
|
|
|
if(NonCriticalAlarmCurrent)
|
|
|
SetROInt(1, 0);
|
|
|
else
|
|
|
SetROInt(0, 0);
|
|
|
SNMP_SendUserTrap(DO0_TOGGLED);
|
|
|
}
|
|
|
- if(OldRO2type_Sourse == CRITICAL){
|
|
|
+ if(OldRO2type_Sourse == NON_CRITICAL){
|
|
|
if(NonCriticalAlarmCurrent)
|
|
|
SetROInt(1, 1);
|
|
|
else
|
|
@@ -225,14 +225,14 @@ void UPS_NonCriticalAlarmMonitor(void)
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if(OldRO0type_Sourse == CRITICAL && OldRO0type_Sourse != OldRO0type_Sourse){
|
|
|
+ if(OldRO0type_Sourse == NON_CRITICAL && OldRO0type_Sourse != OldRO0type_Sourse){
|
|
|
if(NonCriticalAlarmCurrent)
|
|
|
SetROInt(1, 0);
|
|
|
else
|
|
|
SetROInt(0, 0);
|
|
|
SNMP_SendUserTrap(DO0_TOGGLED);
|
|
|
}
|
|
|
- if(OldRO2type_Sourse == CRITICAL && OldRO2type_Sourse != OldRO2type_Sourse){
|
|
|
+ if(OldRO2type_Sourse == NON_CRITICAL && OldRO2type_Sourse != OldRO2type_Sourse){
|
|
|
if(NonCriticalAlarmCurrent)
|
|
|
SetROInt(1, 1);
|
|
|
else
|
|
@@ -260,6 +260,8 @@ void UPS_LineFailMonitor(void)
|
|
|
if (!isValueRecv) {
|
|
|
isValueRecv = true;
|
|
|
lineFailOldState = lineFailCurrent;
|
|
|
+ if (lineFailCurrent)
|
|
|
+ SNMP_SendUserTrap(LINE_ALARM);
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -294,6 +296,8 @@ void UPS_LowBatMonitor(void)
|
|
|
if (!isValueRecv) {
|
|
|
isValueRecv = true;
|
|
|
lowBatOldState = lowBatCurrent;
|
|
|
+ if (lowBatCurrent)
|
|
|
+ SNMP_SendUserTrap(LOW_BAT_ALARM);
|
|
|
return;
|
|
|
}
|
|
|
if (lowBatCurrent)
|
|
@@ -324,6 +328,7 @@ void UPS_PowerMonitor(void)
|
|
|
if (load > UPS_LOAD)
|
|
|
{
|
|
|
flCriticalAlarm = true;
|
|
|
+ UPS.Alarm = (UPS.Alarm & 0x0e) | (1 << 0);
|
|
|
if (stateCurrent == HYST_IDLE)
|
|
|
{
|
|
|
LED_On(LED_MINOR_R);
|
|
@@ -337,6 +342,7 @@ void UPS_PowerMonitor(void)
|
|
|
/* Отслеживается нормализация */
|
|
|
else if (load < (UPS_LOAD - UPS_LOAD_HIST))
|
|
|
{
|
|
|
+ UPS.Alarm = (UPS.Alarm & 0x0e);
|
|
|
if (stateCurrent == HYST_UP)
|
|
|
{
|
|
|
LED_Off(LED_MINOR_R);
|
|
@@ -363,6 +369,7 @@ void UPS_TemperatureMonitor(void)
|
|
|
if (temperature > UPS_TEMPERATURE)
|
|
|
{
|
|
|
flCriticalAlarm = true;
|
|
|
+ UPS.Alarm = (UPS.Alarm & 0x0d) | (1 << 1);
|
|
|
if (stateCurrent == HYST_IDLE)
|
|
|
{
|
|
|
stateCurrent = HYST_UP;
|
|
@@ -374,6 +381,7 @@ void UPS_TemperatureMonitor(void)
|
|
|
/* Отслеживается нормализация */
|
|
|
else if (temperature < (UPS_TEMPERATURE - UPS_TEMPERATURE_HIST))
|
|
|
{
|
|
|
+ UPS.Alarm = (UPS.Alarm & 0x0d);
|
|
|
if (stateCurrent == HYST_UP)
|
|
|
{
|
|
|
stateCurrent = HYST_IDLE;
|
|
@@ -395,12 +403,16 @@ void UPS_ConnectMonitor(void)
|
|
|
|
|
|
connectCurrent = UPS.Present;
|
|
|
|
|
|
+ UPS.Alarm = (UPS.Alarm & 0x0b) | ((connectCurrent^1) << 2);
|
|
|
+
|
|
|
if (!isValueRecv) {
|
|
|
isValueRecv = true;
|
|
|
connectOldState = connectCurrent;
|
|
|
+ if (!connectCurrent)
|
|
|
+ SNMP_SendUserTrap(CONNECT_MONITOR_ALARM);
|
|
|
return;
|
|
|
}
|
|
|
- if (connectCurrent)
|
|
|
+ if (!connectCurrent)
|
|
|
flCriticalAlarm = true;
|
|
|
// Значение параметра изменилось
|
|
|
if (connectCurrent != connectOldState)
|
|
@@ -429,9 +441,13 @@ void UPS_BatteryConnectMonitor(void)
|
|
|
AKBconnectCurrent = 0;
|
|
|
}
|
|
|
|
|
|
+ UPS.Alarm = (UPS.Alarm & 0x07) | (AKBconnectCurrent << 3);
|
|
|
+
|
|
|
if (!isValueRecv) {
|
|
|
isValueRecv = true;
|
|
|
AKBconnectOldState = AKBconnectCurrent;
|
|
|
+ if (AKBconnectCurrent)
|
|
|
+ SNMP_SendUserTrap(BATTERY_CONNECT_ALARM);
|
|
|
return;
|
|
|
}
|
|
|
if (AKBconnectCurrent)
|
|
@@ -439,7 +455,7 @@ void UPS_BatteryConnectMonitor(void)
|
|
|
// Значение параметра изменилось
|
|
|
if (AKBconnectCurrent != AKBconnectOldState)
|
|
|
{
|
|
|
- if (AKBconnectCurrent)
|
|
|
+ if (!AKBconnectCurrent)
|
|
|
SNMP_SendUserTrap(BATTERY_CONNECT_NORM);
|
|
|
else
|
|
|
SNMP_SendUserTrap(BATTERY_CONNECT_ALARM);
|