forked from SZV10X_Software/SZV103_FM33A0xxEV_SiZhu

jinlicong
2024-06-19 6e3f1f560d618b37ee1a47fa2b0f682b70c3ef1c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#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