#ifndef _SIZHU_CTRL_WORD_H
|
#define _SIZHU_CTRL_WORD_H
|
#include "sys.h"
|
|
#define SYSTEM_SINGLE_BIT_SET1 0x0001
|
#define SYSTEM_SINGLE_BIT_SET0 0x0000
|
|
/*******************************˼ÖþÐÂϵͳ״̬×Ö******************************/
|
#define SSW_LCD_ALWAYS_SHOW_MODE 0x0001
|
#define SSW_LCD_FLOW_SHOW_MODE 0x0002
|
#define SSW_WORK_STATE_CALIBRATION 0x0001
|
#define SSW_WORK_STATE_PARA_CONFIG 0x0002
|
#define SSW_WORK_STATE_PARA_SHOW 0x0003
|
|
#define SSW_VALVE_STATUS_OPEN 0x0001
|
#define SSW_VALVE_STATUS_CLOSE 0x0002
|
#define SSW_VALVE_STATUS_OPENING 0x0003
|
#define SSW_VALVE_STATUS_CLOSEING 0x0004
|
#define SSW_VALVE_STATUS_ERR 0x0005
|
|
#define SSW_BILLING_TYPE_TERMINAL 0x0001
|
#define SSW_BILLING_TYPE_CENTER 0x0002
|
|
#define SSW_MEDIA_STATUS_WATER 0x0001
|
#define SSW_MEDIA_STATUS_AIR 0x0002
|
#define SSW_MEDIA_STATUS_GAS 0x0003
|
|
#define SSW_CHANNEL_REMOVAL_STATUS_UP 0x0001
|
#define SSW_CHANNEL_REMOVAL_STATUS_DOWN 0x0002
|
#define SSW_CHANNEL_REMOVAL_STATUS_MID 0x0003
|
/*******************************˼ÖþÐÂϵͳ״̬×Ö******************************/
|
|
|
/*******************************˼ÖþÐÂϵͳ¹¦ÄÜ¿ØÖÆ×Ö******************************/
|
#define SFCW_CURRENT_LOOP_WORK_CONDITION 0x0004
|
#define SFCW_CURRENT_LOOP_LOW_LIMIT 0x0002
|
#define SFCW_CURRENT_LOOP_OPEN 0x0001
|
|
#define SFCW_LCD_BIDIRECTIONAL 0x0004
|
#define SFCW_LCD_NORMAL_SHOW_MODE 0x0000
|
#define SFCW_LCD_FLOW_SHOW_MODE 0x0002
|
#define SFCW_LCD_ALWAYS_SHOW_MODE 0x0001
|
|
#define SFCW_PRE_CORRECTION_TYPE 0x0000
|
#define SFCW_TEM_CORRECTION_TYPE 0x0000
|
|
#define SFCW_MANUAL_UP_CHANNEL_REMOVAL_CTRL 0x0004
|
#define SFCW_MANUAL_DOWN_CHANNEL_REMOVAL_CTRL 0x0002
|
#define SFCW_MANUAL_MID_CHANNEL_REMOVAL_CTRL 0x0001
|
#define SFCW_MANUAL_ALL_CHANNEL_REMOVAL_CTRL 0x0006
|
|
#define SFCW_BILLING_TYPE_NONE 0x0000
|
#define SFCW_BILLING_TYPE_TERMINAL 0x0001
|
#define SFCW_BILLING_TYPE_CENTER 0x0002
|
/*******************************˼ÖþÐÂϵͳ¹¦ÄÜ¿ØÖÆ×Ö******************************/
|
|
|
#pragma pack(1)
|
/*********************************ϵͳ״̬×ÖÏà¹Ø**************************************/
|
typedef struct system_status_word_inf
|
{
|
uint16_t lcd_mode : 3;
|
uint16_t : 1;
|
uint16_t account_state : 1;
|
uint16_t flow_direction : 1;
|
uint16_t : 2;
|
uint16_t : 1; // Ô¤Áô
|
uint16_t power_state : 1;
|
uint16_t : 1;
|
uint16_t cover_open :1;
|
uint16_t mainboard_remove :1;
|
uint16_t : 3;
|
|
uint16_t valve_state : 3;
|
uint16_t valve_lock : 1;
|
uint16_t set_cumulate_up_to : 1;
|
uint16_t no_use_gas_date_up_to : 1;
|
uint16_t no_gprs_date_up_to : 1;
|
uint16_t virtual_billing : 1;
|
uint16_t billing_type : 2;
|
uint16_t : 1; // Ô¤Áô
|
uint16_t balance_small_1 : 1;
|
uint16_t balance_small_2 : 1;
|
uint16_t balance_small_3 : 1;
|
uint16_t balance_small_4 : 1;
|
uint16_t balance_small_5 : 1;
|
|
uint16_t lith_low : 1;
|
uint16_t lith_down : 1;
|
uint16_t lith_remove : 1;
|
uint16_t alka_low : 1;
|
uint16_t alka_down : 1;
|
uint16_t alka_remove : 1;
|
uint16_t : 2;
|
uint16_t gprs_status : 1;
|
uint16_t : 3;
|
uint16_t valve_bat_low: 1;
|
uint16_t valve_bat_down: 1;
|
uint16_t : 2;
|
|
uint16_t temp_err : 1;
|
uint16_t temp_up : 1;
|
uint16_t temp_up_up : 1;
|
uint16_t temp_down : 1;
|
uint16_t temp_down_down : 1;
|
uint16_t cpu_temp_up : 1;
|
uint16_t cpu_temp_down : 1;
|
uint16_t tem_sudden_change: 1;
|
uint16_t press_err : 1;
|
uint16_t press_up : 1;
|
uint16_t press_up_up : 1;
|
uint16_t press_down : 1;
|
uint16_t press_down_down : 1;
|
uint16_t : 3;
|
|
uint16_t flow_ver_err : 1;
|
uint16_t tof_diff_err : 1;
|
uint16_t sound_vel_err : 1;
|
uint16_t snr_err : 1;
|
uint16_t sig_up : 1;
|
uint16_t sig_th_err : 1;
|
uint16_t gain_err : 1;
|
uint16_t ut_lose : 1;
|
uint16_t media_status : 2;
|
uint16_t dismantle : 1;
|
uint16_t : 1;
|
uint16_t channel_removal_status:2;
|
uint16_t : 2;
|
|
uint16_t gas_leakage : 1;
|
uint16_t lcd_up : 1;
|
uint16_t lcd_temp_low : 1;
|
uint16_t flow_up_1 : 1;
|
uint16_t flow_up_2 : 1;
|
uint16_t flow_up_3 : 1;
|
uint16_t small_flow:1;
|
uint16_t constant_flow : 1;
|
uint16_t cl_have_flow : 1;
|
uint16_t : 2;
|
uint16_t current_loop_open: 1;
|
uint16_t : 4;
|
}SYSTEM_STA_WORD_T;
|
#define SYSTEM_STATUS_WORD_INF_LENGTH sizeof(SYSTEM_STA_WORD_T)
|
|
typedef union
|
{
|
u16 status_word_union[SYSTEM_STATUS_WORD_INF_LENGTH>>1];
|
SYSTEM_STA_WORD_T status_word;
|
}SYSTEM_STATUS_WORD_T;
|
/*********************************ϵͳ״̬×ÖÏà¹Ø**************************************/
|
|
|
|
/*********************************¹¦ÄÜ¿ØÖÆ×ÖÏà¹Ø**************************************/
|
typedef struct
|
{
|
uint16_t current_loop_set : 3;
|
uint16_t : 1;
|
uint16_t small_flow_cut_off : 1;
|
uint16_t : 2;
|
uint16_t bidirectional_measure: 1;
|
uint16_t lcd_mode: 3;
|
uint16_t : 5;
|
|
uint16_t compressibility_factor_choose : 2;
|
uint16_t compressibility_factor_type : 1;
|
uint16_t pre_correction_type : 3;
|
uint16_t pre_err_process_mode: 2;
|
uint16_t : 3;
|
uint16_t tem_correction_type : 3;
|
uint16_t tem_err_process_mode : 2;
|
|
uint16_t penalty_measure2 : 1;
|
uint16_t penalty_measure3 : 1;
|
uint16_t : 6;
|
uint16_t measure_channel_removal : 3;
|
uint16_t manual_flow_para_ctrl: 1;
|
uint16_t : 4;
|
|
uint16_t balance_sufficient_allow_open_valve: 1;
|
uint16_t exti_flag: 1;
|
uint16_t virtual_billing : 1;
|
uint16_t : 1;
|
uint16_t calibration_mode: 1;
|
uint16_t account_open: 1;
|
uint16_t : 2;
|
uint16_t show_balance : 1;
|
uint16_t show_price: 1;
|
uint16_t show_logo : 1;
|
uint16_t : 3;
|
uint16_t billing_mode: 2;
|
|
uint16_t : 16;
|
}SYSTEM_FUN_CTRL_WORD_T;
|
#define SYSTEM_FUNCTION_CTRL_WORD_INF_LENGTH sizeof(SYSTEM_FUN_CTRL_WORD_T)
|
|
typedef union system_function_ctrl_word_inf //ϵͳ¹¦ÄÜ¿ØÖÆ×Ö
|
{
|
u16 fun_ctrl_union[SYSTEM_FUNCTION_CTRL_WORD_INF_LENGTH>>1];
|
SYSTEM_FUN_CTRL_WORD_T fun_ctrl_word;
|
}SYSTEM_FUNCTION_CTRL_WORD_T;
|
/*********************************¹¦ÄÜ¿ØÖÆ×ÖÏà¹Ø**************************************/
|
|
|
/*********************************±¨¾¯¿ØÖÆ×ÖÏà¹Ø**************************************/
|
typedef struct
|
{
|
uint16_t : 4; // Ô¤Áô
|
uint16_t account_status : 1;
|
uint16_t flow_bidirectional : 1;
|
uint16_t : 2;
|
uint16_t system_start : 1;
|
uint16_t power_state : 1;
|
uint16_t : 1;
|
uint16_t cover_open : 1;
|
uint16_t mainboard_remove : 1;
|
uint16_t : 3;
|
|
uint16_t valve_error : 1;
|
uint16_t valve_state_change : 1;
|
uint16_t : 2;
|
uint16_t set_cumulate_up_to : 1;
|
uint16_t no_use_gas_date_up_to : 1;
|
uint16_t no_gprs_date_up_to : 1;
|
uint16_t : 4;
|
uint16_t balance_small_1 : 1;
|
uint16_t balance_small_2 : 1;
|
uint16_t balance_small_3 : 1;
|
uint16_t balance_small_4 : 1;
|
uint16_t balance_small_5 : 1;
|
|
uint16_t lith_low : 1;
|
uint16_t lith_down : 1;
|
uint16_t lith_remove : 1;
|
uint16_t alka_low : 1;
|
uint16_t alka_down : 1;
|
uint16_t alka_remove : 1;
|
uint16_t : 2;
|
uint16_t gprs_status : 1;
|
uint16_t : 3;
|
uint16_t valve_bat_low:1;
|
uint16_t valve_bat_down:1;
|
uint16_t : 2;
|
|
uint16_t temp_err : 1;
|
uint16_t temp_up : 1;
|
uint16_t temp_up_up : 1;
|
uint16_t temp_down : 1;
|
uint16_t temp_down_down : 1;
|
uint16_t cpu_temp_up : 1;
|
uint16_t cpu_temp_down : 1;
|
uint16_t tem_sudden_change : 1;
|
uint16_t press_err : 1;
|
uint16_t press_up : 1;
|
uint16_t press_up_up : 1;
|
uint16_t press_down : 1;
|
uint16_t press_down_down : 1;
|
uint16_t : 3;
|
|
uint16_t flow_vel_err : 1;
|
uint16_t tof_diff_err : 1;
|
uint16_t sound_vel_err : 1;
|
uint16_t snr_err : 1;
|
uint16_t sig_up : 1;
|
uint16_t sig_th_err : 1;
|
uint16_t gain_err : 1;
|
uint16_t ut_lose : 1;
|
uint16_t media_water : 1;
|
uint16_t media_err : 1;
|
uint16_t dismantle : 1;
|
uint16_t : 1;
|
uint16_t channel_removal : 1;
|
uint16_t : 3;
|
|
uint16_t gas_leakage : 1;
|
uint16_t lcd_up : 1;
|
uint16_t lcd_temp_low : 1;
|
uint16_t flow_up_1 : 1;
|
uint16_t flow_up_2 : 1;
|
uint16_t flow_up_3 : 1;
|
uint16_t constant_status : 2;
|
uint16_t cl_have_flow : 1;
|
uint16_t : 7;
|
|
uint16_t gas_cumulate_amend : 1;
|
uint16_t balance_amend : 1;
|
uint16_t temp_para_amend : 1;
|
uint16_t press_para_amend : 1;
|
uint16_t billing_para_amend : 1;
|
uint16_t current_loop_para_amend: 1;
|
uint16_t low_pulse_para_amend: 1;
|
uint16_t : 1;
|
uint16_t gas_cal_amend : 1;
|
uint16_t gas_para_amend : 1;
|
uint16_t pluse_cal_amend : 1;
|
uint16_t ut_err_amend : 1;
|
uint16_t ut_cal_amend : 1;
|
uint16_t : 3;
|
} SYS_ALARM_T;
|
|
#define SYSTEM_ALARM_WORD_INF_LENGTH sizeof(SYS_ALARM_T)
|
|
typedef union
|
{
|
uint16_t alarm_word_union[SYSTEM_ALARM_WORD_INF_LENGTH >> 1];
|
SYS_ALARM_T alarm_word;
|
}SYSTEM_ALARM_WORD_T; // ±¨¾¯×Ö
|
|
typedef union
|
{
|
uint16_t alarm_ctl_word_union[SYSTEM_ALARM_WORD_INF_LENGTH >> 1];
|
SYS_ALARM_T alarm_ctl_word;
|
}SYSTEM_ALARM_CTRL_WORD_T; // ±¨¾¯¿ØÖÆ×Ö
|
|
typedef union
|
{
|
uint16_t alarm_ctl_send_union[SYSTEM_ALARM_WORD_INF_LENGTH >> 1];
|
SYS_ALARM_T alarm_ctl_send_word;
|
} SYSTEM_ALARM_REPORT_CTRL_WORD_T; // ±¨¾¯Éϱ¨×Ö
|
/*********************************±¨¾¯¿ØÖÆ×ÖÏà¹Ø**************************************/
|
|
|
/*********************************¹Ø·§¿ØÖÆ×ÖÏà¹Ø**************************************/
|
typedef struct
|
{
|
uint16_t gprs_cmd_need_close_valve_flag : 1; // Ô¶´«ÃüÁî
|
uint16_t gprs_cmd_close_valve_type : 1;
|
|
uint16_t flow_direction_need_close_valve_flag : 1; // Á÷ÏòÒì³£
|
uint16_t flow_direction_close_valve_type : 1;
|
|
uint16_t power_sta_need_close_valve_flag : 1; // Íâµç±ä»¯
|
uint16_t power_sta_close_valve_type : 1;
|
|
uint16_t : 2;
|
|
uint16_t cover_open_need_close_valve_flag : 1; // ¿ª¸Ç
|
uint16_t cover_open_close_valve_type : 1;
|
|
uint16_t main_board_removal_need_close_valve_flag : 1; // ¿ª¸Ç
|
uint16_t main_board_removal_close_valve_type : 1;
|
|
uint16_t : 4;
|
} VALVE_STATUS_CHANGE_T;
|
|
typedef struct
|
{
|
uint16_t valve_error_need_close_valve_flag : 1; // ·§ÃÅÒì³£
|
uint16_t valve_error_close_valve_type : 1;
|
|
uint16_t balance_1_need_close_valve_flag : 1; // Óà¶îÉÙ¶î1
|
uint16_t balance_1_close_valve_type : 1;
|
|
uint16_t balance_2_need_close_valve_flag : 1; // Óà¶îÉÙ¶î2
|
uint16_t balance_2_close_valve_type : 1;
|
|
uint16_t balance_3_need_close_valve_flag : 1; // Óà¶îÉÙ¶î3
|
uint16_t balance_3_close_valve_type : 1;
|
|
uint16_t balance_4_need_close_valve_flag : 1; // Óà¶îÉÙ¶î4
|
uint16_t balance_4_close_valve_type : 1;
|
|
uint16_t balance_5_need_close_valve_flag : 1; // Óà¶îÉÙ¶î5
|
uint16_t balance_5_close_valve_type : 1;
|
uint16_t : 4;
|
} VALVE_BILLING_CHANGE_1_T;
|
|
typedef struct
|
{
|
uint16_t set_cumulate_need_close_valve_flag : 1; // ÉèÖõÄÀÛ»ýÆøÁ¿µ½
|
uint16_t set_cumulate_close_valve_type : 1;
|
|
uint16_t no_use_gas_need_close_valve_flag : 1; // ÎÞÓÃÆøÌìÊýµ½
|
uint16_t no_use_gas_close_valve_type : 1;
|
|
uint16_t no_gprs_need_close_valve_flag : 1; // ÎÞÉϱ¨ÌìÊý
|
uint16_t no_gprs_close_valve_type : 1;
|
uint16_t : 10;
|
} VALVE_BILLING_CHANGE_2_T;
|
|
typedef struct
|
{
|
uint16_t lith_low_need_close_valve_flag : 1; // ﮵çµÍµç
|
uint16_t lith_low_close_valve_type : 1;
|
|
uint16_t lith_down_need_close_valve_flag : 1; // ﮵çÇ·/µôµç
|
uint16_t lith_down_close_valve_type : 1;
|
|
uint16_t lith_remove_need_close_valve_flag : 1; // ﮵çÒÆ³ý
|
uint16_t lith_remove_close_valve_type : 1;
|
|
uint16_t alka_low_need_close_valve_flag : 1; // ¼îµçµÍµç
|
uint16_t alka_low_close_valve_type : 1;
|
|
uint16_t alka_down_need_close_valve_flag : 1; // ¼îµçÇ·/µôµç
|
uint16_t alka_down_close_valve_type : 1;
|
|
uint16_t alka_remove_need_close_valve_flag : 1; // ¼îµçÒÆ³ý
|
uint16_t alka_remove_close_valve_type : 1;
|
|
uint16_t gprs_fail_need_close_valve_flag : 1; // gprsʧ°Ü
|
uint16_t gprs_fail_close_valve_type : 1;
|
uint16_t : 2;
|
} VALVE_VOLTAGE_CHANGE_1_T;
|
|
typedef struct
|
{
|
uint16_t flow_bat_low_need_close_valve_flag :1;
|
uint16_t flow_bat_low_need_close_valve_type :1;
|
|
uint16_t flow_bat_down_need_close_valve_flag :1;
|
uint16_t flow_bat_down_need_close_valve_type :1;
|
|
uint16_t read_485_abnormal_need_close_valve_flag :1;
|
uint16_t read_485_abnormal_need_close_valve_type :1;
|
|
uint16_t read_485_smaller_abnormal_need_close_valve_flag :1;
|
uint16_t read_485_smaller_abnormal_need_close_valve_type :1;
|
|
uint16_t pulse_broken_need_close_valve_flag :1;
|
uint16_t pulse_broken_need_close_valve_type :1;
|
|
uint16_t valve_bat_low_need_close_valve_flag :1;
|
uint16_t valve_bat_low_need_close_valve_type :1;
|
|
uint16_t valve_bat_down_need_close_valve_flag :1;
|
uint16_t valve_bat_down_need_close_valve_type :1;
|
|
uint16_t : 2; // ¸ù¾ÝÐÒ飬»ù±¾É϶¼ÊÇSZV10XÏà¹ØµÄ²ÎÊý£¬È¼Æø±íÎÞÓÃ
|
} VALVE_VOLTAGE_CHANGE_2_T;
|
|
typedef struct
|
{
|
uint16_t temp_up_need_close_valve_flag : 1; // ζȳ¬ÉÏÏÞ
|
uint16_t temp_up_close_valve_type : 1;
|
|
uint16_t temp_up_up_need_close_valve_flag : 1; // ζȳ¬ÉÏÉÏÏÞ
|
uint16_t temp_up_up_close_valve_type : 1;
|
|
uint16_t temp_down_need_close_valve_flag : 1; // ζȳ¬ÏÂÏÞ
|
uint16_t temp_down_close_valve_type : 1;
|
|
uint16_t temp_down_down_need_close_valve_flag : 1; // ζȳ¬ÏÂÏÂÏÞ
|
uint16_t temp_down_down_close_valve_type : 1;
|
|
uint16_t press_up_need_close_valve_flag : 1; // ѹÁ¦³¬ÉÏÏÞ
|
uint16_t press_up_close_valve_type : 1;
|
|
uint16_t press_up_up_need_close_valve_flag : 1; // ѹÁ¦³¬ÉÏÉÏÏÞ
|
uint16_t press_up_up_close_valve_type : 1;
|
|
uint16_t press_down_need_close_valve_flag : 1; // ѹÁ¦³¬ÏÂÏÞ
|
uint16_t press_down_close_valve_type : 1;
|
|
uint16_t press_down_down_need_close_valve_flag : 1; // ѹÁ¦³¬ÏÂÏÂÏÞ
|
uint16_t press_down_down_close_valve_type : 1;
|
} VALVE_TP_ERR_1_T;
|
|
typedef struct
|
{
|
uint16_t temp_err_need_close_valve_flag : 1; // ζȴíÎó
|
uint16_t temp_err_close_valve_type : 1;
|
|
uint16_t press_err_need_close_valve_flag : 1; // ѹÁ¦´íÎó
|
uint16_t press_err_close_valve_type : 1;
|
|
uint16_t ambient_temp_up_need_close_valve_flag : 1; // »·¾³Î¶ȳ¬ÉÏÏÞ
|
uint16_t ambient_temp_up_close_valve_type : 1;
|
|
uint16_t ambient_temp_down_need_close_valve_flag : 1; // »·¾³Î¶ȳ¬ÏÂÏÞ
|
uint16_t ambient_temp_down_close_valve_type : 1;
|
|
uint16_t ambient_temp_sudden_change_need_close_valve_flag : 1; // »·¾³Î¶ȳ¬ÏÂÏÞ
|
uint16_t ambient_temp_sudden_change_close_valve_type : 1;
|
uint16_t : 6;
|
} VALVE_TP_ERR_2_T;
|
|
typedef struct
|
{
|
uint16_t flow_vel_err_need_close_valve_flag : 1; // Á÷ËÙÒì³£
|
uint16_t flow_vel_err_close_valve_type : 1;
|
|
uint16_t tof_diff_err_need_close_valve_flag : 1; // ·ÉÐÐʱ¼ä²îÒì³£
|
uint16_t tof_diff_err_close_valve_type : 1;
|
|
uint16_t sound_vel_err_need_close_valve_flag : 1; // ÉùËÙÒì³£
|
uint16_t sound_vel_err_close_valve_type : 1;
|
|
uint16_t snr_err_need_close_valve_flag : 1; // ÐÅÔë±ÈÒì³££¨Signal to Noise Ratio£©
|
uint16_t snr_err_close_valve_type : 1;
|
|
uint16_t sig_up_need_close_valve_flag : 1; // ÐźÅÒç³ö
|
uint16_t sig_up_close_valve_type : 1;
|
|
uint16_t sig_th_err_need_close_valve_flag : 1; // ÐźÅãÐÖµÒì³££¨Threshold£©
|
uint16_t sig_th_err_close_valve_type : 1;
|
|
uint16_t gain_err_need_close_valve_flag : 1; // ÔöÒæÒì³£
|
uint16_t gain_err_close_valve_type : 1;
|
|
uint16_t ut_lose_need_close_valve_flag : 1; // ̽ͷ¶ªÊ§£¨Ultrasonic Transducer£©
|
uint16_t ut_lose_close_valve_type : 1;
|
} VALVE_MEASURE_ERR_1_T;
|
|
typedef struct
|
{
|
uint16_t flooding_water_need_close_valve_flag : 1; // ½øË®
|
uint16_t flooding_water_close_valve_type : 1;
|
|
uint16_t media_err_need_close_valve_flag : 1; // ½éÖÊÒì³£
|
uint16_t media_err_close_valve_type : 1;
|
|
uint16_t dismantle_need_close_valve_flag : 1; // ²ð±í
|
uint16_t dismantle_close_valve_type : 1;
|
|
uint16_t metering_unit_abnormal_need_close_valve_flag : 1;//¼ÆÁ¿µ¥ÔªÒì³£
|
uint16_t metering_unit_abnormal_need_close_valve_type : 1;//¼ÆÁ¿µ¥ÔªÒì³£
|
|
uint16_t : 8;
|
} VALVE_MEASURE_ERR_2_T;
|
|
typedef struct
|
{
|
uint16_t leakage_need_close_valve_flag : 1; // ÆøÌåй©£¨½ÓÍⲿ±¨¾¯Æ÷Åжϣ©
|
uint16_t leakage_close_valve_type : 1;
|
|
uint16_t lcd_up_need_close_valve_flag : 1; // lcdÏÔʾ³¬ÏÞ
|
uint16_t lcd_up_close_valve_type : 1;
|
|
uint16_t lcd_temp_low_need_close_valve_flag : 1; // lcdµÍÎÂ
|
uint16_t lcd_temp_low_close_valve_type : 1;
|
|
uint16_t flow_up_1_need_close_valve_flag : 1; // Á÷Á¿³¬ÏÞ1
|
uint16_t flow_up_1_close_valve_type : 1;
|
|
uint16_t flow_up_2_need_close_valve_flag : 1; // Á÷Á¿³¬ÏÞ2
|
uint16_t flow_up_2_close_valve_type : 1;
|
|
uint16_t flow_up_3_need_close_valve_flag : 1; // Á÷Á¿³¬ÏÞ3
|
uint16_t flow_up_3_close_valve_type : 1;
|
|
uint16_t cl_constant_flow_need_close_valve_flag : 1; // ¹Ø·§ºãÁ÷£¨Î¢Ð¡Á÷Á¿Ð¹Â©£©
|
uint16_t cl_constant_flow_valve_type : 1;
|
|
uint16_t op_constant_flow_close_valve_flag : 1; // ¿ª·§ºãÁ÷
|
uint16_t op_constant_flow_valve_type : 1;
|
} VALVE_OTHER_ERR_1_T;
|
|
typedef struct
|
{
|
uint16_t cl_have_flow_need_close_valve_flag : 1; // ¹Ø·§×߯ø
|
uint16_t cl_have_flow_valve_type : 1;
|
|
uint16_t e2p_write_err_need_close_valve_flag : 1; // e2pдÒì³£
|
uint16_t e2p_write_err_flow_valve_type : 1;
|
|
uint16_t e2p_read_err_need_close_valve_flag : 1; // e2p¶ÁÒì³£
|
uint16_t e2p_read_err_flow_valve_type : 1;
|
uint16_t : 10;
|
} VALVE_OTHER_ERR_2_T;
|
|
typedef struct
|
{
|
VALVE_STATUS_CHANGE_T valve_ctr_1;
|
VALVE_BILLING_CHANGE_1_T valve_ctr_2;
|
VALVE_BILLING_CHANGE_2_T valve_ctr_3;
|
VALVE_VOLTAGE_CHANGE_1_T valve_ctr_4;
|
VALVE_VOLTAGE_CHANGE_2_T valve_ctr_5;
|
VALVE_TP_ERR_1_T valve_ctr_6;
|
VALVE_TP_ERR_2_T valve_ctr_7;
|
VALVE_MEASURE_ERR_1_T valve_ctr_8;
|
VALVE_MEASURE_ERR_2_T valve_ctr_9;
|
VALVE_OTHER_ERR_1_T valve_ctr_10;
|
VALVE_OTHER_ERR_2_T valve_ctr_11;
|
} VALVE_CTL_BYTES_T; // ¹Ø·§¿ØÖÆ×Ö
|
|
// ¹Ø·§×Ö³¤¶È
|
#define VALVE_CTL_LENGTH (sizeof(VALVE_STATUS_CHANGE_T) + sizeof(VALVE_BILLING_CHANGE_1_T) + sizeof(VALVE_BILLING_CHANGE_2_T) + \
|
sizeof(VALVE_VOLTAGE_CHANGE_1_T) + sizeof(VALVE_VOLTAGE_CHANGE_2_T) + sizeof(VALVE_TP_ERR_1_T) + \
|
sizeof(VALVE_TP_ERR_2_T) + sizeof(VALVE_MEASURE_ERR_1_T) + sizeof(VALVE_MEASURE_ERR_2_T) + \
|
sizeof(VALVE_OTHER_ERR_1_T) + sizeof(VALVE_OTHER_ERR_2_T))
|
#define VALVE_CTL_LEN sizeof(VALVE_CTL_BYTES_T)
|
|
#pragma pack()
|
|
extern SYSTEM_STATUS_WORD_T system_status_word_g;
|
extern SYSTEM_FUNCTION_CTRL_WORD_T system_function_ctrl_word_g;
|
extern SYSTEM_ALARM_WORD_T system_alarm_word_g;
|
extern SYSTEM_ALARM_CTRL_WORD_T system_alarm_ctrl_word_g;
|
extern SYSTEM_ALARM_REPORT_CTRL_WORD_T system_alarm_report_ctrl_word_g;
|
extern VALVE_CTL_BYTES_T valve_ctl_bytes_g;
|
#endif
|