#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
|