#ifndef __SIZHU_ALARM_RECORD_H #define __SIZHU_ALARM_RECORD_H #include "define_all.h" #include "system_eep_mem_manage.h" #include "sizhu_ctrl_word.h" #include "system_general_para.h" #define SYSTEM_ALARM_LOG_FIRST_INIT_ADDR SYSTEM_ALARM_LOG_ADDR /****************************************************ϵͳ±¨¾¯************************************************************************/ #define SYSTEM_ALARM_LOG_STORAGE_LENGTH sizeof(LOG_SIZHU_SYS_ALARM_SAVE_T) #define SYSTEM_ALARM_LOG_NUM 400 #define SYSTEM_ALARM_LOG_START_ADDR SYSTEM_ALARM_LOG_ADDR + 10//DEL #define SYSTEM_ALARM_LOG_COUNT_ADDR SYSTEM_ALARM_LOG_START_ADDR #define SYSTEM_ALARM_LOG_SAVE_ADDR SYSTEM_ALARM_LOG_COUNT_ADDR + 2 #define SYSTEM_ALARM_LOG_STORAGE_START_ADDR SYSTEM_ALARM_LOG_START_ADDR + 100 #define SYSTEM_ALARM_LOG_STORAGE_END_ADDR SYSTEM_ALARM_LOG_STORAGE_START_ADDR + (SYSTEM_ALARM_LOG_NUM -1) * SYSTEM_ALARM_LOG_STORAGE_LENGTH #pragma pack(1) #define ALARM_HAPPEN 0x0000 #define ALARM_END 0x1000 //#define WARNING_ID1 1 //#define WARNING_ID2 2 ///*ÈÕÖ¾¶¨ÒåÀàÐÍ*/ //#define WARNING_SOUND_DEVIATION_TYPE 1 //#define WARNING_VELOCITY_TRANSFINITE_TYPE 2 //#define WARNING_GAIN_DEVIATION_TYPE 3 //#define WARNING_LOW_POWER_TYPE 4 //#define WARNING_NO_WORK_TYPE 5 //#define WARNING_OUTPOWER_LOSE_TYPE 6 //#define WARNING_UPPROBE_LOSE_TYPE 7 //#define WARNING_MIDPROBE_LOSE_TYPE 8 //#define WARNING_DOWNPROBE_LOSE_TYPE 9 //#define WARNING_FLOWUP_LIMIT_TYPE 10 //#define WARNING_MEASURING_ABNORMAL_TYPE 11 ///*ÎÈѹ±¨¾¯*/ //#define WARNING_TEMPERATURE_SENSING_ERROR_TYPE 101 //#define WARNING_PRESSURE_SENSING_ERROR_TYPE 102 //#define WARNING_UP_TEMPERATURE_TYPE 103 //#define WARNING_DOWN_TEMPERATURE_TYPE 104 //#define WARNING_UP_PRESSURE_TYPE 105 /*±¨¾¯ID---ÐÂϵͳ*********************************************************************************************/ //Àà±ð±êʶ #define ALARM_CLASS_SYSTEM_START 0x01 #define ALARM_CLASS_BAT_POWER 0x02 #define ALARM_CLASS_PRE 0x03 #define ALARM_CLASS_TEM 0x04 #define ALARM_CLASS_FLOW 0x05 #define ALARM_CLASS_EX_POWER 0x06 #define ALARM_CLASS_COVER_OPEN 0x07 #define ALARM_CLASS_FLOW_START_STOP 0x08 #define ALARM_CLASS_AMBIENT_TEM 0x09 #define ALARM_CLASS_LCD 0x0A //Àà±ð¾ßÌåϸ·Ö //Àà±ð¾ßÌåϸ·Ö typedef enum { ALARM_ID_NORMAL = 0x0U, ALARM_ID_SYSTEM_START, // ¸´Î» ½ö½öÊDZ¨¾¯ÀàÐͲ»²úÉú¹Ø·§ ALARM_ID_EX_POWER_STATUS_CHANGE, ALARM_ID_COVER_OPEN,//¿ª¸Ç1ÊÇ¿ª¸Ç ALARM_ID_MAINBOARD_REMOVAL,//¿ª¸Ç2ÊÇÖ÷°åÒÆ³ý ALARM_ID_GPRS_FAILED, ALARM_ID_LCD_NUMBER_OVERRUN, ALARM_ID_LITH_BAT_LOW = 0x10, // ﮵çµÍµç±¨¾¯/¹Ø·§ ALARM_ID_LITH_BAT_DOWN, ALARM_ID_LITH_BAT_REMOVAL, ALARM_ID_ALKA_BAT_LOW, ALARM_ID_ALKA_BAT_DOWN, ALARM_ID_ALKA_BAT_REMOVAL, ALARM_ID_VALVE_BAT_LOW, ALARM_ID_VALVE_BAT_DOWN, ALARM_ID_RTC_BAT_LOW, ALARM_ID_TEM_TRANSMITTER_FAILURE = 0x20, // ζÈÒì³£±¨¾¯/¹Ø·§ ALARM_ID_TEM_EXCEED_UP_LIMIT, ALARM_ID_TEM_EXCEED_UP_UP_LIMIT, ALARM_ID_TEM_EXCEED_LOW_LIMIT, ALARM_ID_TEM_EXCEED_LOW_LOW_LIMIT, ALARM_ID_PRE_TRANSMITTER_FAILURE, ALARM_ID_PRE_EXCEED_UP_LIMIT, ALARM_ID_PRE_EXCEED_UP_UP_LIMIT, ALARM_ID_PRE_EXCEED_LOW_LIMIT, ALARM_ID_PRE_EXCEED_LOW_LOW_LIMIT, ALARM_ID_AMBIENT_TEM_EXCEED_UP_LIMIT = 0x30, ALARM_ID_AMBIENT_TEM_EXCEED_LOW_LIMIT, ALARM_ID_AMBIENT_TEM_SUDDEN_CHANGE,//»·Î¾ç±ä ALARM_ID_LCD_AMBIENT_TEM_EXCEED_LOW_LIMIT,//ÒºÏÔµÍΠALARM_ID_MEASURE_SONIC_SENSOR_LOSS = 0x40, // ̽ͷ¶ªÊ§±¨¾¯/¹Ø·§ ALARM_ID_MEASURE_FLOW_VELOCITY_ABNORMAL,//Á÷ËÙÒì³£ ALARM_ID_MEASURE_TIME_DIFF_ABNORMAL,//ʱ¼ä²îÒì³£ ALARM_ID_MEASURE_SOUND_VELOCITY_ABNORMAL,//ÉùËÙÒì³£ ALARM_ID_MEASURE_SNR_ABNORMAL,//ÐÅÔë±ÈÒì³£ ALARM_ID_MEASURE_SIHNAL_OVERFLOW_ABNORMAL,//ÐźÅÒç³öÒì³£ ALARM_ID_MEASURE_THRESHOLD_ABNORMAL,//ÐźÅãÐÖµÒì³£ ALARM_ID_MEASURE_GAIN_ABNORMAL,//ÐźÅÔöÒæÒì³£ ALARM_ID_MEDIUM_WATER,//½øË® ALARM_ID_MEDIUM_ABNORMAL,//½éÖÊÒì³£ ALARM_ID_DISMANTLE_METER_ABNORMAL = 0x50,//²ð±íÒì³£ ALARM_ID_METERING_UNIT_ABNORMAL , // ¼ÆÁ¿µ¥ÔªÒì³£ ALARM_ID_MEASURE_CHANNEL_REMOVAL,//ÉùµÀÇгý ALARM_ID_FLOW_EXCEED_UP_LIMIT = 0x60,//Á÷Á¿³¬ÏÞ1 ALARM_ID_FLOW_EXCEED_UP_UP_LIMIT,//Á÷Á¿³¬ÏÞ2 ALARM_ID_FLOW_EXCEED_UP_UP_LIMIT2,//Á÷Á¿³¬ÏÞ3 ALARM_ID_FLOW_BIDIRECTIONAL,//·´ÏòÁ÷Á¿ ALARM_ID_FLOW_CONSTANT,//ºãÁ÷ ALARM_ID_FLOW_SMALL,//СÁ÷Á¿ ALARM_ID_GAS_LEAK,//ÆøÌåй© ALARM_ID_VALVE_ABNORMAL = 0x70,//·§ÃÅÒì³£±¨¾¯ ALARM_ID_VALVE_CLOSE_GAS_RUNNING_ABNORMAL,//¹Ø·§×߯ø ALARM_ID_FLOW_BAT_LOW = 0x80,//¶Ô½ÓÉ豸µÍµç ALARM_ID_FLOW_BAT_DOWN,//¶Ô½ÓÉ豸µôµç ALARM_ID_PULSE_BROKEN,//Âö³åÏß¶ÏÏß ALARM_ID_E2P_W_ABNORMAL,//eepromдÒì³£ ALARM_ID_E2P_R_ABNORMAL,//eeprom¶ÁÒì³£ ALARM_ID_READ_485_ABNORMAL,//¶Á485Òì³£ ALARM_ID_485_READING_SMALLER_ABNORMAL,//485¶ÁÊýÒì³£±äС ALARM_ID_BALANCE_SMALLER1 = 0x90,//Óà¶îÉÙ¶î ALARM_ID_BALANCE_SMALLER2, // Óà¶îÉÙ¶î1±¨¾¯/¹Ø·§ ALARM_ID_BALANCE_SMALLER3, ALARM_ID_BALANCE_SMALLER4, ALARM_ID_BALANCE_SMALLER5, ALARM_ID_CUMULATIVE_GAS_ARRIVE,//ÀÛ»ýÆøÁ¿µ½ ALARM_ID_N_DAYS_NO_GAS_ARRIVE,//¶àÌìÎÞÓÃÆø ALARM_ID_N_DAYS_NO_REPORT_ARRIVE,//¶àÌìÎÞÉϱ¨ ALARM_ID_OP_VALVE_KEY = 0x996, // ½ö½öÊǹط§ÀàÐͲ»²úÉú±¨¾¯ ALARM_ID_CL_VALVE_KEY, ALARM_ID_OP_VALVE_CMD, ALARM_ID_CL_VALVE_CMD, } SYS_ALARM_VALVE_T; // ±¨¾¯ºÍ¹Ø·§ÀàÐÍID typedef struct log_sizhu_sys_alarm_save_t //ϵͳ±¨¾¯ { u16 serial_number; uint8_t Sample_year; uint8_t Sample_month; uint8_t Sample_day; uint8_t Sample_hour; uint8_t Sample_min; uint8_t Sample_sec; uint16_t alarm_id; double StandardGasUsageTotal; double WorkingGasUsageTotal; double ReverseStandardGasUsageTotal; double ReverseWorkingGasUsageTotal; float Standardvec; float Workingvec; float Temperature; float Pressure; float ambient_tem; //»·¾³ÎÂ¶È uint8_t lith_bat_v; uint8_t alka_bat_v; SYSTEM_STATUS_WORD_T status_word; }LOG_SIZHU_SYS_ALARM_SAVE_T; typedef struct { LOG_SIZHU_RUN_T system_alarm_log; }LOG_ALARM_PARA_T; #pragma pack() extern LOG_ALARM_PARA_T log_alarm_para_g; uint8_t system_alarm_log_eeprom_default_init(void); uint8_t system_alarm_log_record_only_read_init(void); uint8_t system_alarm_log_record_save(uint8_t alarm_type, uint8_t * para_alarm_ptr); void system_alarm_log_data_handle(uint8_t alarm_type, uint16_t alarm_ID); #endif