forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-11 e4424eb6b50d0300583c422dfb71d58e040f4b9e
Function/STORAGE/sizhu_alarm_record.h
@@ -5,111 +5,63 @@
#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_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_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)
#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
typedef enum
{
   ALARM_HAPPEN,           //·¢Éú
   ALARM_END                    //½áÊø
} ALARM_TRIGGER_TYPE;       // ±¨¾¯´¥·¢ÀàÐÍ
#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 struct log_sizhu_sys_alarm_save_t  //ϵͳ±¨¾¯
{
   uint16_t   CRC16_MODBUS;
   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;
   sClockBCD       record_time_BCD;
   double         StandardGasUsageTotal;
   double         WorkingGasUsageTotal;
   double         ReverseStandardGasUsageTotal;
   double         ReverseWorkingGasUsageTotal;
   float         Standardvec;
   float         Workingvec;
   float          Temperature;
   float          Pressure;
   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;
   SYSTEM_STATUS_WORD_T  status_word;
   u32   current_price;
   double   residual_amount;
   
}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);
void sizhuAlarmRecord(ALARM_TRIGGER_TYPE trigger_type,uint16_t alarm_id);
#endif