/********************************* (C) РОТЕК *********************************** * @module ups_monitor * @file ups_monitor.h * @version 1.0.0 * @date XX.XX.XXXX * $brief ups_monitor ******************************************************************************* * @history Version Author Comment * XX.XX.XXXX 1.0.0 Telenkov D.A. First release. ******************************************************************************* */ /* Define to prevent recursive ----------------------------------------------*/ #ifndef UPS_MONITOR_H #define UPS_MONITOR_H #include "common_config.h" /** * @brief Состояния для реализации алгоритма гистерезиса */ typedef enum { HYST_IDLE = 0, HYST_UP, HYST_DOWN, } HYST_STATE_t; /** * @brief Мониторинг бита Test in progress */ void UPS_TestFinishMonitor(void); /** * @brief Мониторинг бита DI0 state */ void UPS_DI0Monitor(void); #ifdef TYPE_CRITICAL_ALARM_MONITOR /** * @brief Мониторинг бита NonCriticalAlarm */ void UPS_CriticalAlarmMonitor(void); /** * @brief Мониторинг бита NonCriticalAlarm */ void UPS_NonCriticalAlarmMonitor(void); #endif /** * @brief Мониторинг LainFail бита */ void UPS_LineFailMonitor(void); #ifdef VAC_OUT_MONITOR /** * @brief Мониторинг аварии выходного напряжения по нижней границе */ void UPS_VACoutputLowRangeMonitor(void); /** * @brief Мониторинг аварии выходного напряжения по верхней границе */ void UPS_VACoutputHighRangeMonitor(void); #endif /** * @brief Мониторинг бита LowBat */ void UPS_LowBatMonitor(void); /** * @brief Задача мониторинга параметров UPS */ void UPS_Monitor(void *params); /** * @brief Мониторинг нагрузки */ void UPS_PowerMonitor(void); #ifdef SENSOR_TEMP_MONITOR /** * @brief Мониторинг аварии датчика температуры */ void sensorTemperatureMonitor(void); #endif #ifdef TEMP_AKB_MONITOR /** * @brief Мониторинг температуры по верхней границе */ void UPS_TemperatureHighRangeMonitor(void); /** * @brief Мониторинг температуры по нижней границе */ void UPS_TemperatureLowRangeMonitor(void); #endif #ifdef TEMP_CABINET_MONITOR /** * @brief Мониторинг температуры шкафа по верхней границе */ void Cabinet_TemperatureHighRangeMonitor(void); /** * @brief Мониторинг температуры шкафа по нижней границе */ void Cabinet_TemperatureLowRangeMonitor(void); #endif /** * @brief Мониторинг параметра upsParams.connect */ void UPS_ConnectMonitor(void); /** * @brief Мониторинг параметра upsParams.connect */ void UPS_BatteryConnectMonitor(void); #ifdef AKB_CHANGE_MONITOR /** * @brief Мониторинг параметра замены АКБ */ void AKB_Change_Monitor(void); #endif #ifdef UPS_FAILED_MONITOR void UPS_Failed_Monitor(void); #endif #ifdef PHASE_FAIL_MONITOR void UPS_PhaseFailMonitor(void); #endif #ifdef EPO_MONITOR void UPS_EPOMonitor(void); #endif #ifdef OVERTEMPRATURE_MONITOR void UPS_OverTempratureMonitor(void); #endif #ifdef INVERTERHIGHVOLTAGE_MONITOR void UPS_InventerHighVoltageMonitor(void); #endif #endif /* #ifndef UPS_MONITOR_H */ /********************************* (C) РОТЕК **********************************/