#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" #include "system_mem_para.h" /****************************************************ϵͳ±¨¾¯************************************************************************/ /*±¨¾¯¼Ç¼´æ´¢¿ØÖÆ*/ #define SYSTEM_ALARM_LOG_START_ADDR SYSTEM_ALARM_STORAGE_START_ADDR #define SYSTEM_ALARM_LOG_LENGTH sizeof(LOG_SIZHU_SYS_ALARM_SAVE_T) #define SYSTEM_ALARM_LOG_MAX_NUM 200U #define SYSTEM_ALARM_LOG_END_ADDR SYSTEM_ALARM_LOG_START_ADDR + SYSTEM_ALARM_LOG_LENGTH * (SYSTEM_ALARM_LOG_MAX_NUM -1) typedef enum { ALARM_HAPPEN, //·¢Éú ALARM_END //½áÊø } ALARM_TRIGGER_TYPE; // ±¨¾¯´¥·¢ÀàÐÍ #pragma pack(1) typedef struct log_sizhu_sys_alarm_save_t //ϵͳ±¨¾¯ { uint16_t CRC16_MODBUS; u16 serial_number; sClockBCD record_time_BCD; uint16_t alarm_id; double forward_cumulate_sc; // ÕýÏò±ê¿öÀÛ»ýÁ¿ double forward_cumulate_wc; float instant_sc; float instant_wc; float temperature; float pressure; float ambient_tem; //»·¾³ÎÂ¶È uint8_t lith_bat_v; uint8_t alka_bat_v; SYSTEM_STATUS_WORD_T status_word; u32 current_price; double residual_amount; }LOG_SIZHU_SYS_ALARM_SAVE_T; #pragma pack() void sizhuAlarmRecord(ALARM_TRIGGER_TYPE trigger_type,uint16_t alarm_id); #endif