#ifndef __SIZHU_ALARM_RECORD_H
|
#define __SIZHU_ALARM_RECORD_H
|
|
#include "stm32f10x.h"
|
#include "system_eep_mem_manage.h"
|
#include "mem_pro.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; //»·¾³Î¶È
|
u8 lith_bat_v;
|
u8 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
|