#ifndef _SYSTEM_REALTIME_RUN_PARA_H
|
#define _SYSTEM_REALTIME_RUN_PARA_H
|
#include "stm32f10x.h"
|
#include "system_general_para.h"
|
|
#pragma pack(1)
|
typedef struct
|
{
|
u8 hour;
|
u8 min;
|
u8 sec; //¹«ÀúÈÕÔÂÄêÖÜ
|
u8 month;
|
u8 date;
|
u8 week;
|
u16 year;
|
}calendar_obj;
|
|
typedef struct
|
{
|
uint8_t year; //Ä꣬BCD Âë 00~99
|
uint8_t month; //Ô£¬BCD Âë 01~12
|
uint8_t day; //ÈÕ£¬BCD Âë 01~31
|
uint8_t hour; //ʱ£¬BCD Âë 00~23
|
uint8_t min; //·Ö£¬BCD Âë 00~59
|
uint8_t sec; //Ã룬BCD Âë 00~59
|
}sClockBCD;
|
|
typedef struct
|
{
|
//ϵͳ
|
u8 system_mode;
|
/*¹¤×÷״̬*/
|
u16 system_workstatus;
|
//»·ÎÂ
|
float ambient_temperature;
|
//ϵͳÍâÉè±êÖ¾
|
u8 system_int_flag;
|
u8 system_ble_connect;
|
u8 system_gprs_connect;
|
u8 system_485_connect;
|
u8 system_key4_down;
|
u16 system_key4_authorize_cnt; //key4Ð޸IJÎÊýÊÚȨ¼ÆÊý¡£0´ú±íÎÞ°´¼üÊÚȨ£¬°´¼üÊÚȨ60·ÖÖÓÓÐЧ£¬
|
u8 system_set_authorize_flag; //ÉèÖÃÊÚȨ±êÖ¾£¬0´ú±íδÊÚȨ£¬²»ÄÜÉèÖã»1´ú±íÓÐÊÚȨ·Ç¼ÆÁ¿Ð޸ģ»2´ú±íÓÐÊÚȨËùÓвÎÊýÐÞ¸Ä
|
//ϵͳµÄȨÏÞ±êÖ¾
|
u8 system_user;
|
|
//µç³Ø
|
u8 lith_bat_vol;
|
u8 lith_bat_percent;
|
|
u8 alka_bat_vol;
|
u8 alka_bat_percent;
|
|
//Ìõ¼þ¹Ø·§Ïà¹Ø
|
u8 day_up_result;
|
u8 previous_hour; //ÉÏһСʱ
|
u8 current_hour; //µ±Ç°Ð¡Ê±
|
u8 no_up_close_day_flag; // ÎÞÉϱ¨¹Ø·§ÌìÊýµ½±êÖ¾
|
|
double PreviousDayCumulant;//ÉÏÒ»ÌìµÄÀÛ¼Æ×ÜÁ¿£¬ÓÃÓÚÓ뵱ǰÀÛ¼Æ×ÜÁ¿±È½Ï£¬Èç¹ûÏàµÈ´ú±íµ±ÌìÎÞÓÃÆø
|
double PreviousCumulant; //ÉÏÒ»¸öÀÛ»ýÁ¿
|
u8 CumulantCloseFlag;//ÀÛ»ýÁ¿¹Ø·§ÌìÊýµ½±êÖ¾
|
|
|
}SYSTEM_REALTIME_RUN_PARA_T;
|
|
typedef struct
|
{
|
sClockBCD meter_time;
|
|
double sc_accumulation;
|
double wc_accumulation;
|
|
double sc_accumulation_calibration;
|
double wc_accumulation_calibration;
|
|
double sc_accumulation_error;
|
double wc_accumulation_error;
|
|
float wc_instant;
|
float sc_instant;
|
|
float temperature;
|
float pressure;
|
|
u8 meter_bat_vol;
|
u8 mer_bat_percent;
|
|
u8 meter_status[4];
|
|
float gas_get_factor; //ѹËõÒò×Ó
|
float C_coe; //CϵÊý
|
float K_coe; //KϵÊý
|
|
float reserved1;
|
float reserved2;
|
|
}LLJ_PARA_T;
|
|
typedef struct
|
{
|
double residual_amount; //Ê£ÓàÁ¿
|
|
double cumulative_gas_usage;
|
double cumulative_fee_usage;
|
|
int current_price;
|
|
double step_cumulative_gas_usage;
|
u8 current_step;
|
|
u8 billing_base_readable_flag;
|
double rs485_settlement_total_gas_base;
|
double rs485_settlement_balance_base;
|
|
double rs485_settlement_cumulative_gas_usage_base;
|
double rs485_settlement_cumulative_fee_usage_base;
|
double rs485_settlement_step_cumulative_gas_usage_base;
|
|
u8 step_billing_first_time_arrive_flag;
|
}BILLING_PARA_T;
|
|
|
typedef struct
|
{
|
//É豸ʵʱ״̬
|
u8 extern_power_connect_status;
|
u8 system_power_in_cnt;
|
u8 system_power_out_cnt;
|
u8 cover_open_status;
|
u8 mainboard_remove_status;
|
|
//¼Æ·ÑÓë·§ÃÅ״̬
|
u8 balance_small_1_Status;
|
u8 balance_small_2_Status;
|
u8 balance_small_3_Status;
|
u8 balance_small_4_Status;
|
u8 balance_small_5_Status;
|
|
u8 many_days_no_gas_Status;
|
u8 many_days_no_report_Status;
|
u8 cumulant_reaches_set_value_Status;
|
|
//µç³ØÓë¶Ô½ÓÉ豸״̬
|
u8 lith_bat_low_status;
|
u8 lith_bat_down_status;
|
u8 lith_bat_remove_status;
|
|
u8 alka_bat_low_status;
|
u8 alka_bat_down_status;
|
u8 alka_bat_remove_status;
|
|
u8 flow_bat_low_status;
|
u8 flow_bat_down_status;
|
|
u8 rs485_com_status;
|
u8 pulse_broken_status;
|
u8 valve_bat_low_status;
|
u8 valve_bat_down_status;
|
u8 rtc_bat_status;
|
u8 gprs_com_status;
|
u8 Data_Send_failed_time; //ͨѶÊý¾Ý·¢ËÍʧ°Ü´ÎÊý
|
|
//ÎÂѹ״̬
|
u8 system_tem_alarm_fault_status;
|
u8 system_tem_alarm_up_status;
|
u8 system_tem_alarm_up_up_status;
|
u8 system_tem_alarm_low_status;
|
u8 system_tem_alarm_low_low_status;
|
|
u8 system_pre_alarm_fault_status;
|
u8 system_pre_alarm_up_status;
|
u8 system_pre_alarm_up_up_status;
|
u8 system_pre_alarm_low_status;
|
u8 system_pre_alarm_low_low_status;
|
|
u8 ambient_tem_alarm_up_status;
|
u8 ambient_tem_alarm_low_status;
|
u8 ambient_temp_sudden_change_status;//»·Î¾ç±ä
|
|
//¼ÆÁ¿×´Ì¬
|
|
//ÆäËû״̬
|
u8 gas_leak_status;
|
u8 lcd_overrun_status;
|
u8 lcd_temp_low_status;
|
|
u8 flow_up1_status;
|
u8 flow_up2_status;
|
u8 flow_up3_status;
|
|
u8 valve_close_but_flow_status;
|
u8 e2p_write_abnormal_status;
|
u8 e2p_read_abnormal_status;
|
|
|
|
}SYSTEM_STATUS_PARA_T;
|
|
|
|
#pragma pack()
|
|
/*±¨¾¯Éϱ¨¿ØÖƲÎÊý*/
|
#define ALARM_EVERYDAY_TIMES 2 //ÿÌìÉϱ¨´ÎÊý£¬±ÈÈç2´ú±íÿÌì×î¶à·´¸´±¨¾¯2´Î¡£»Ö¸´Õý³£ÔÙ³öÏÖÒì³£²ÅÄÜ·´¸´±¨¾¯¡£
|
#define ALARM_CONTINUE_TIMES 4 //Á¬Ðø³öÏÖÎÊÌâ´ÎÊý£¬±ÈÈç4´ú±íÁ¬Ðø4´Î¼ì²âµ½Òì³£Ôò±¨¾¯
|
#define ALARM_END_CONTINUE_TIMES 4 //Á¬Ðø³öÏÖÎÊÌâ´ÎÊý£¬±ÈÈç4´ú±íÁ¬Ðø4´Î¼ì²âµ½Òì³£Ôò±¨¾¯
|
typedef struct alarm_report_para_t
|
{
|
u8 Last_day;
|
|
u8 alarm_all_flag; //×ܱ¨¾¯±êÖ¾
|
//¿ª¸Ç
|
|
//É豸ʵʱ״̬
|
u8 system_start_flag;
|
u8 extern_power_connect_flag;
|
u8 cover_open_flag;
|
u8 mainboard_remove_flag;
|
|
//¼Æ·ÑÓë·§ÃÅ״̬
|
u8 balance_small_1_flag;
|
u8 balance_small_2_flag;
|
u8 balance_small_3_flag;
|
u8 balance_small_4_flag;
|
u8 balance_small_5_flag;
|
|
u8 many_days_no_gas_flag;
|
u8 many_days_no_report_flag;
|
u8 cumulant_reaches_set_value_flag;
|
|
u8 valve_op_cl_flag;
|
u8 valve_abnormal_flag;
|
|
//µç³ØÓë¶Ô½ÓÉ豸״̬
|
u8 lith_bat_low_flag;
|
u8 lith_bat_down_flag;
|
u8 lith_bat_remove_flag;
|
|
u8 alka_bat_low_flag;
|
u8 alka_bat_down_flag;
|
u8 alka_bat_remove_flag;
|
|
u8 flow_bat_low_flag;
|
u8 flow_bat_down_flag;
|
|
u8 gprs_com_flag;
|
u8 rs485_com_flag;
|
u8 rs485_read_small_flag;
|
|
u8 pulse_broken_flag;
|
u8 valve_bat_low_flag;
|
u8 valve_bat_down_flag;
|
u8 rtc_bat_flag;
|
|
//ÎÂѹ״̬
|
u8 system_tem_alarm_fault_flag;
|
u8 system_tem_alarm_up_flag;
|
u8 system_tem_alarm_up_up_flag;
|
u8 system_tem_alarm_low_flag;
|
u8 system_tem_alarm_low_low_flag;
|
|
u8 system_pre_alarm_fault_flag;
|
u8 system_pre_alarm_up_flag;
|
u8 system_pre_alarm_up_up_flag;
|
u8 system_pre_alarm_low_flag;
|
u8 system_pre_alarm_low_low_flag;
|
|
u8 ambient_tem_alarm_up_flag;
|
u8 ambient_tem_alarm_low_flag;
|
u8 ambient_temp_sudden_change_flag;//»·Î¾ç±ä
|
|
//¼ÆÁ¿×´Ì¬
|
|
//ÆäËû״̬
|
u8 gas_leak_flag;
|
u8 lcd_overrun_flag;
|
u8 lcd_temp_low_flag;
|
|
u8 flow_up1_flag;
|
u8 flow_up2_flag;
|
u8 flow_up3_flag;
|
|
u8 valve_close_but_flow_flag;
|
u8 e2p_write_abnormal_flag;
|
u8 e2p_read_abnormal_flag;
|
|
|
//µ¥ÈÕÉÏ·¢´ÎÊý¿ØÖÆ
|
//É豸ʵʱ״̬
|
u8 extern_power_connect_cnt;
|
u8 cover_open_cnt;
|
u8 mainboard_remove_cnt;
|
|
//¼Æ·ÑÓë·§ÃÅ״̬
|
u8 balance_small_1_cnt;
|
u8 balance_small_2_cnt;
|
u8 balance_small_3_cnt;
|
u8 balance_small_4_cnt;
|
u8 balance_small_5_cnt;
|
|
u8 many_days_no_gas_cnt;
|
u8 many_days_no_report_cnt;
|
u8 cumulant_reaches_set_value_cnt;
|
|
u8 valve_op_cl_cnt;
|
u8 valve_abnormal_cnt;
|
|
//µç³ØÓë¶Ô½ÓÉ豸״̬
|
u8 lith_bat_low_cnt;
|
u8 lith_bat_down_cnt;
|
u8 lith_bat_remove_cnt;
|
|
u8 alka_bat_low_cnt;
|
u8 alka_bat_down_cnt;
|
u8 alka_bat_remove_cnt;
|
|
u8 flow_bat_low_cnt;
|
u8 flow_bat_down_cnt;
|
|
u8 gprs_com_cnt;
|
u8 rs485_com_cnt;
|
u8 rs485_read_small_cnt;
|
|
u8 pulse_broken_cnt;
|
u8 valve_bat_low_cnt;
|
u8 valve_bat_down_cnt;
|
u8 rtc_bat_cnt;
|
|
//ÎÂѹ״̬
|
u8 system_tem_alarm_fault_cnt;
|
u8 system_tem_alarm_up_cnt;
|
u8 system_tem_alarm_up_up_cnt;
|
u8 system_tem_alarm_low_cnt;
|
u8 system_tem_alarm_low_low_cnt;
|
|
u8 system_pre_alarm_fault_cnt;
|
u8 system_pre_alarm_up_cnt;
|
u8 system_pre_alarm_up_up_cnt;
|
u8 system_pre_alarm_low_cnt;
|
u8 system_pre_alarm_low_low_cnt;
|
|
u8 ambient_tem_alarm_up_cnt;
|
u8 ambient_tem_alarm_low_cnt;
|
u8 ambient_temp_sudden_change_cnt;//»·Î¾ç±ä
|
|
//¼ÆÁ¿×´Ì¬
|
|
//ÆäËû״̬
|
u8 gas_leak_cnt;
|
u8 lcd_overrun_cnt;
|
u8 lcd_temp_low_cnt;
|
|
u8 flow_up1_cnt;
|
u8 flow_up2_cnt;
|
u8 flow_up3_cnt;
|
|
u8 valve_close_but_flow_cnt;
|
u8 e2p_write_abnormal_cnt;
|
u8 e2p_read_abnormal_cnt;
|
|
|
//ÆäËû±¨¾¯Óõ½µÄ²ÎÊý
|
u8 sys_restart_report_delay_cnt;
|
|
}ALARM_REPORT_PARA_T;
|
|
|
void alarm_cnt_clear(void);
|
|
|
extern calendar_obj calendar;
|
extern sClockBCD Time_BCD_g; //BCD
|
extern LLJ_PARA_T llg_data_g;
|
extern BILLING_PARA_T billing_para_g;
|
extern SYSTEM_STATUS_PARA_T system_status_para_g;
|
extern ALARM_REPORT_PARA_T alarm_report_para_g;
|
|
#endif
|