R2UWaterRS485UW500/app/UWater_gp22_app.c

9083 lines
344 KiB
C
Raw Normal View History

2024-06-03 15:49:39 +08:00
/*
* File: __GP22LoRa_GP22_APP_C
* Author:
*
* Created on<EFBFBD><EFBFBD>2017-8-3
*/
#ifdef __cplusplus
extern "C"
{
#endif
#include "sys_config.h"
#include "UWater_gp22_app.h"
#include "UWater_rtcc_driver.h"
#include "UWater_rtcc_app.h"
#include "UWater_eeprom_driver.h"
#include "UWater_frame_app.h"
#include "UWater_gp22_driver.h"
#include "UWater_pt_app.h"
#include "UWater_gpio_driver.h"
#include "UWater_timer1uS_driver.h"
#include "UWater_uart_driver.h"
#include "math.h"
#include "UWater_power_app.h"
#include "UWater_lcd_app.h"
#include "UWater_lptimer_driver.h"
#include "UWater_TemperatureCalculate_app.h"
#include "sys_processor.h"
#define PowerSaveDataMsgSys PowerUnSleepSaveDataMsgSys
/*------------------------------ Variable Define -------------------------------------*/
u32 gp22_sample_result;
/**********<2A><><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD><EFBFBD>*************/
static u8 gp22_date_save_state;
static To_Float_GP30 old_monitor_flow ;
/**********<2A><><EFBFBD>ݴ洢<DDB4><E6B4A2><EFBFBD><EFBFBD>*************/
//GP22<32><32><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><E3B4A6><EFBFBD><EFBFBD>
static u8 s_g_gp22_app_state_num = GP22_APP_S0; // GP22<32><32><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><E3B4A6><EFBFBD><EFBFBD>
//static u8 s_g_sample_flow_num = 0; //ʵ<>ʼ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD> <20><><EFBFBD><EFBFBD>
static u32 s_g_flow_data[GP22_APP_QUEUE_SIZE]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
static u32 s_g_flow_type[GP22_APP_QUEUE_SIZE]; //<2F><><EFBFBD>Ͳɼ<CDB2><C9BC><EFBFBD><EFBFBD><EFBFBD>
static u32 s_g_sample_sum_lcd;
static float s_g_diftof_data[GP22_APP_DIFTOF_SIZE]; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> 2016-8-15
static u16 s_g_diftof_head = 0; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD> ͷ<><CDB7>ַ
static float s_g_diftof_data_2[GP22_APP_DIFTOF_SIZE_2]; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> 2016-8-15
static u16 s_g_diftof_head_2 = 0; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD> ͷ<><CDB7>ַ
static u8 s_g_diftof_head_2_quotient = 0;
static u8 s_g_diftof_for_total = FALSE;
#if EN_LARGE_FILITER//2022-01-10
static float s_g_diftof_data_3[GP22_APP_DIFTOF_SIZE_3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> 2020-3-6
static float still_water_add_3 = 0;
static u16 s_g_diftof_head_3 = 0; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ھ<EFBFBD><DABE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
static u8 s_g_diftof_head_3_quotient = 0;
#endif
/*<2A><><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
//<2F>¶Ȳɼ<C8B2><C9BC><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>
static float s_g_temp_data[MAX_TEMP_NUM]; //<2F><><EFBFBD>ڲɼ<DAB2><C9BC><EFBFBD> 2019-8-11
static u8 s_g_sample_head = 0; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD> ͷ<><CDB7>ַ
static u8 s_g_sample_length = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u8 s_g_sample_start_flag = FALSE; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־λ
static u8 s_g_sample_ok_flag= 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
float temp_sample_value=0;//<2F><><EFBFBD>ڴ洢<DAB4><E6B4A2><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><C2B6><EFBFBD>ֵ
/*<2A><><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
static u32 gp30_app_start_flow_filter;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//static u32 gp22_app_start_flow_reverse;
static float gp30_app_start_flow_filter_float;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵfloat<61><74><EFBFBD><EFBFBD>
static float gp30_app_start_flow_reverse_float;
//static float gp30_app_start_flow_filter_for_float;
static u32 s_alarma_stop_check_tick = 0;
GP30_SYS_Date gp22_app_data; //gp22<32><32>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
GP30_SYS_Date gp22_test_data; //gp22<32>춨״̬<D7B4>µ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
EVENT gp30_event;
EVENT_FLAG gp30_event_flag;
EVENT_FLAG gp30_event_save_flag;
To_Float gp30_test_total_start_flow;
To_Float gp30_total_flow_last; //GP30<33>ϴ<EFBFBD><CFB4>ۼ<EFBFBD><DBBC><EFBFBD>2016-6-23
static u8 s_g_sample_flag = 0; //<2F><><EFBFBD>βɼ<CEB2><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>־
OVERRUN_NUM gp30_overrun_num;
static u32 s_g_sample_total_sum = 0; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>ܼƲ<DCBC><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//static float s_g_sample_add = 0; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//GP22<32><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static u8 s_g_gp22_sample_app_state_num = GP22_APP_SAMPLE_S0;
//static float gp30_total_flow_calcult_factor = FACTOR_0_5;
//static u8 s_g_gp22_sample_span = GP22_SAMPLE_2HZ; //1<><31><EFBFBD><EFBFBD>0.5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
//static u8 s_g_gp22_sample_sum = 0;//<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>л<EFBFBD>ʱ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>,<2C><><EFBFBD><EFBFBD>5min<69><6E>
//static u8 s_g_gp22_sample_flag_num = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>
//static float globle_total_flow_float = 0;
static u8 start_measure_flag = 1; //<2F><>ʼ<EFBFBD><CABC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//static u8 s_g_send_data_app_state_num = SEND_DATA_S0;//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
To_Float_GP30 total_flow_old;//<2F>Ǽ춨״̬<D7B4>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
To_Float_GP30 total_flow_now;//<2F>Ǽ춨״̬<D7B4>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
To_Float_GP30 total_reverse_flow_old;//<2F>Ǽ춨״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
To_Float_GP30 total_reverse_flow_now;//<2F>Ǽ춨״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
u32 mater_waring_state;
u32 send_timer_old = 0;//<2F>춨״̬<D7B4><CCAC>ʱ1s
u32 low_power_timer_old = 0;//<2F>͵<EFBFBD>ƽ״̬ʱ<CCAC><CAB1>
//static u8 total_flow_change_flag = 0;//<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>־
static u8 s_gp30_eep_complete=0;
////////////////////////////////////////////////////////////////////<2F>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD>Ϊdouble<6C><65><EFBFBD><EFBFBD>
To_Double duoble_total_flow;
////////////////////////////////////////////////////////////////////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static float s_g_temp_float_flow_data[GP22_APP_QUEUE_SIZE]; //float<61><74><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> 2019-5-10
static u8 ins_flow_flag = 0; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
static float globle_cur_total_flow_float = 0;
////////////////////////////////////////////////////////////////////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><>ˮʱ<CBAE><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static u32 s_g_still_water_time = 0; //<2F><>ˮʱ<CBAE><CAB1><EFBFBD><EFBFBD>
//static u32 s_g_still_time = 0; //<2F><>ˮʱ<CBAE><CAB1>
//static float s_g_still_lenth = 0; //<2F><>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD>
//static float s_g_still_water_time_min = 0; //<2F><>ˮʱ<CBAE><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ
//static float s_g_still_water_time_max = 0; //<2F><>ˮʱ<CBAE><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//static u8 s_g_still_flag = FALSE;
//static u8 s_g_still_finish = FALSE; //<2F>ӿ<EFBFBD><D3BF><EFBFBD>Ϣ
//static u8 s_g_flow_err_sum = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//static u8 s_g_set_window = FALSE; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>
static u8 Gp30_init_data_flag = FALSE;//<2F>³<EFBFBD>ֵ<EFBFBD><D6B5>־
//GP22<32><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B4A6><EFBFBD><EFBFBD>
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
static u8 s_g_gp22_app_clear_data_state_num = GP30_APP_CLEAR_DATA_S0;
GP30_APP_SAVE_DATA g_sample_save_data; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>
GP30_DIFTOF_CAL_DATA g_diftof_cal_data;//У׼<D0A3><D7BC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD>־
static float calibration_diftof_value=0;//<2F><><EFBFBD>ڼ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>ʱ<EFBFBD>ĵ<EFBFBD>ǰʱ<C7B0><CAB1><EFBFBD><EFBFBD>
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ݱ<EFBFBD><DDB1>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD><EFBFBD>
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD>GP22<32><32>ǰ<EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1>ݴ洢
//<2F><>ͬʱ<CDAC><CAB1>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LCD<43><44>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ǰ<EFBFBD>ۼ<EFBFBD>ֵ<EFBFBD><D6B5>
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD> ״̬<D7B4><CCAC>2 <20><>0x77 0x88<38><38>+ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ4 + <20>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>kW?h<><68>4 + <20>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>kW?h<><68>4 + <20>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m3<6D><33>4 + <20><>ˮʱ<CBAE><CAB1><EFBFBD><EFBFBD>4 = 22<32>ֽ<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2022-5-23 09:46:56
static u8 s_g_gp30_control_cal_state = GP30_CONTROL_S0; //LPTIMERʱ<52><CAB1><EFBFBD><EFBFBD>
static u32 s_g_gp30_control_cal_timer = 0;
static u8 s_gp22_cal_interval_msg = FALSE; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ᣬĬ<E1A3AC><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lptimer
/*ZCC <20><> nB <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD> 2022-7-21 15:38:06*/
static float ZCC_NB_buf[3]={0};
static u8 ZCC_direction_flow_flag[3]={0};
static float ZCC_ins_flow[3]={0};
//#pragma clang diagnostic push
//#pragma clang diagnostic ignored "-Wunknown-attributes"
#define __no_init __attribute__((zero_init))
__no_init volatile float gp22_copy_total_flow __attribute__((section(".ARM.__at_0x20007F00")));
__no_init volatile float gp22_copy_total_flow_reverse __attribute__((section(".ARM.__at_0x20007F04")));
__no_init volatile float gp22_copy_total_flow_test __attribute__((section(".ARM.__at_0x20007F08")));
__no_init volatile float gp22_copy_temp_total_flow_float_test __attribute__((section(".ARM.__at_0x20007F0C")));
__no_init volatile u32 gp22_copy_reset_flag_test __attribute__((section(".ARM.__at_0x20007F10")));
__no_init volatile u32 MCU_reset_judge __attribute__((section(".ARM.__at_0x20007F14")));
__no_init volatile float gp22_copy_temp_total_flow_float __attribute__((section(".ARM.__at_0x20007F18")));
__no_init volatile u16 record_last_calculative_time __attribute__((section(".ARM.__at_0x20007F1C"))); //<2F><><EFBFBD>ڼ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>ϴμ<CFB4><CEBC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㸴λ<E3B8B4><CEBB>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>
__no_init volatile float temp_calculate_last __attribute__((section(".ARM.__at_0x20007F38")));//<2F><>¼<EFBFBD>ϴεķ<CEB5><C4B7><EFBFBD><EFBFBD><EFBFBD><C2B6><EFBFBD>ֵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>
/*<2A><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>壬ע<E5A3AC>ⲻҪ<E2B2BB>ظ<EFBFBD>
__no_init volatile u8 meter_reset_cnt __attribute__((section(".ARM.__at_0x20007F20")));//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
__no_init volatile u8 meter_reset_reason __attribute__((section(".ARM.__at_0x20007F21")));//<2F>ϴθ<CFB4>λԭ<CEBB><D4AD>
__no_init volatile u8 s_valapp_upload_times __attribute__((section(".ARM.__at_0x20007F22")));//<2F><><EFBFBD>Źر<C5B9>״̬<D7B4>£<EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>ϱ<EFBFBD><CFB1>Ĵ<EFBFBD><C4B4><EFBFBD>
*/
//#pragma clang diagnostic pop
static u8 s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S0;
GP30_APP_EVENT_DATA s_g_event_data;
//static DateTime gp30_get_time;
//GP22Ӧ<32>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ʼ<EFBFBD><CABC>
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>: GP22Ӧ<32>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD> EE<45><45><EFBFBD>ݶ<EFBFBD>ȡ
//EEPROM<4F><4D><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0x80-0xB7
//<2F><>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>־: 0x77 0x88
static u8 s_g_gp22_init_state_num = GP30_APP_INIT_S0;
static u8 g_gp22_init_flag = 0; //GP22 Ӧ<>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5>ж<EFBFBD>
static u8 s_g_bootloader_msg = FALSE;
static u8 diftof_auto_calibration_msg = FALSE;//<2F><>ˮʱ<CBAE><CAB1><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>У׼<D0A3><D7BC>־
static u8 transducer_err_msg = FALSE;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>־
static u8 s_g_gp22_err_flag = 0;
static u8 reverse_flow_sum = 0;
//static u8 s_gengxin_statebyte_msg = FALSE;
//static u32 GP30_filter_last_value = 0;//<2F><><EFBFBD><EFBFBD>MID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><ECB3A3><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>_<EFBFBD><5F>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>
//static float GP30_filter_last_value_for_shunshi = 0;//<2F><><EFBFBD><EFBFBD>MID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><ECB3A3><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>_<EFBFBD><5F><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>
//static float TempCurve(float x);
//float FlowCurveWaterMeter(float x);
TYP_FLOW_COEFFICIENT *flow_coef;
UNION_4U8TOU32 *seg_flow_coef;//2020-07-08 <20><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
//u16 g_test_start_sum = 0;
//u16 g_test_stop_sum = 0;
static u32 intval_time = 0; //LPTIM<49><4D>ʱ,<2C><><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD>׼ȷ<D7BC>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
static u16 record_calculative_time = 0; //<2F><><EFBFBD>ڼ<EFBFBD>¼<EFBFBD><C2BC><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD>ĵ<EFBFBD>ǰʱ<C7B0><EFBFBD><E4A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>´μ<C2B4><CEBC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/*GP30<33>жϼ<D0B6><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
static uint8_t s_gp22_Data_Update_msg = 0; //GP30<33>жϱ<D0B6>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>ʱ<EFBFBD>ж<EFBFBD>
#if WENDU_FANSUAN_OPEN
u32 s_g_up_am[GP22_APP_TEMP_INVERSE_DATA_SIZE+GP22_APP_TEMP_INVERSE_DATA_SIZE]; //am<61>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ4<C7B0><34><EFBFBD><EFBFBD><E6B4A2>4~<7E><>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD><E6B4A2>8~<7E><>11<31><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
u32 s_g_down_am[GP22_APP_TEMP_INVERSE_DATA_SIZE+GP22_APP_TEMP_INVERSE_DATA_SIZE]; //down<77>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ4<C7B0><34><EFBFBD><EFBFBD><E6B4A2>4~<7E><>7<EFBFBD><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD><E6B4A2>8~<7E><>11<31><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#else
static u32 s_g_up_am[GP22_APP_MAX_AM_BUFFER]; //UP<55><50><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
static u32 s_g_down_am[GP22_APP_MAX_AM_BUFFER]; //down<77><6E><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
#endif
//float FilterJunZhi_float(float *p, u8 len); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>ͷ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ20ms
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//const u32 sound_speed_back [101] = {
// 0X057A5604,
// 0X057F4FDC, 0X05842C89, 0X0588EC8C, 0X058D905F, 0X0592187F,
// 0X05968562, 0X059AD77F, 0X059F0F4B, 0X05A32D37, 0X05A731B3,
// 0X05AB1D2D, 0X05AEF011, 0X05B2AAC9, 0X05B64DBB, 0X05B9D94E,
// 0X05BD4DE6, 0X05C0ABE4, 0X05C3F3A9, 0X05C72592, 0X05CA41FD,
// 0X05CD4942, 0X05D03BBB, 0X05D319BF, 0X05D5E3A3, 0X05D899B9,
// 0X05DB3C54, 0X05DDCBC4, 0X05E04857, 0X05E2B259, 0X05E50A16,
// 0X05E74FD6, 0X05E983E2, 0X05EBA681, 0X05EDB7F6, 0X05EFB885,
// 0X05F1A871, 0X05F387F8, 0X05F5575C, 0X05F716D8, 0X05F8C6A9,
// 0X05FA670B, 0X05FBF835, 0X05FD7A62, 0X05FEEDC7, 0X0600529B,
// 0X0601A911, 0X0602F15D, 0X06042BB1, 0X0605583E, 0X06067734,
// 0X060788C1, 0X06088D14, 0X06098458, 0X060A6EB8, 0X060B4C60,
// 0X060C1D78, 0X060CE22A, 0X060D9A9C, 0X060E46F6, 0X060EE75D,
// 0X060F7BF6, 0X061004E5, 0X0610824D, 0X0610F450, 0X06115B11,
// 0X0611B6B0, 0X0612074D, 0X06124D07, 0X061287FE, 0X0612B84F,
// 0X0612DE18, 0X0612F975, 0X06130A83, 0X0613115E, 0X06130E20,
// 0X061300E6, 0X0612E9C7, 0X0612C8DF, 0X06129E46, 0X06126A16,
// 0X06122C66, 0X0611E54F, 0X061194E8, 0X06113B4A, 0X0610D88B,
// 0X06106CC2, 0X060FF805, 0X060F7A6B, 0X060EF40A, 0X060E64F8,
// 0X060DCD4A, 0X060D2D18, 0X060C8475, 0X060BD378, 0X060B1A36,
// 0X060A58C5, 0X06098F39, 0X0608BDA9, 0X0607E429, 0X060702D0,
//};
/*
RAM<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
return TRUE <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FALSE <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ż<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ
*/
u8 RAMDataVerify(u8* pCheckData,u8 nSizeof)
{
u8 nCount=0;
volatile u8 nDataTemp=0;
u32 nCheck = 0;
for(nCount=0; nCount<nSizeof;nCount++)
{
nDataTemp = *(pCheckData+nCount);
nCheck = (u32)(pCheckData+nCount)&0x00007FFF;//-0x20000000;
//<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(nCheck == M0P_RAM->ERRADDR_f.ERRADDR)
{
M0P_RAM->ICLR_f.ERRCLR = 0;
return TRUE;
}
}
return FALSE;
}
/*<2A><><EFBFBD><EFBFBD>̨<EFBFBD>Ӵ<EFBFBD><D3B4>ʼ<EBBFAA><CABC>-------------------------------------------------------*/
/***************************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD> Check_Start_STOP_Filter_Flag()
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ѯStart-Stopʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD>־
****************************************************************/
u8 Check_Start_STOP_Filter_Flag()
{
return s_g_sample_ok_flag;
}
/***************************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD> float sample_temp_value(void)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Start-Stopʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD>־
****************************************************************/
void Clear_Start_STOP_Filter_Flag()
{
s_g_sample_ok_flag=0;
}
/***************************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD> Check_Temperature_Parameter()
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Start-Stop<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
****************************************************************/
float Check_Temperature_Parameter()
{
return temp_sample_value;
}
/***************************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD> void start_temp_sample(void)
<EFBFBD><EFBFBD> <EFBFBD>ܣ<EFBFBD> START <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <EFBFBD><EFBFBD>
****************************************************************/
void start_temp_sample(void)
{
if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬,<2C><><EFBFBD><EFBFBD>ÿ<EFBFBD>ζ<EFBFBD><CEB6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
{
return;
}
if((01 == LcdCheckStateApp()) && (0 == start_measure_flag)) //<2F><EFBFBD><ECB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
return;
}
if(s_g_sample_start_flag)
{
s_g_temp_data[s_g_sample_head] = TempCheckValueApp(); //<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EBB5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_sample_head++;
if(MAX_TEMP_NUM!=s_g_sample_head)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
{
if(s_g_sample_length !=MAX_TEMP_NUM)
{
s_g_sample_length=s_g_sample_head;//
}
}
else
{
s_g_sample_length=MAX_TEMP_NUM;
}
s_g_sample_head %= MAX_TEMP_NUM;
}
}
/*<2A><><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>*/
/*
stop2<EFBFBD>£<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧЧ<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RtccDriver<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>OB<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><EFBFBD><EFBFBD>stop<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void WDTWakeUpClear(void);
void WDTWakeUpSumAdd(void);
u8 WDTWakeUpIfReset(void);
*/
u8 WDTWakeUpIfReset(void)
{
return FALSE; //<2F><><EFBFBD><EFBFBD>ʱδʵ<CEB4>֣<EFBFBD>PIC<49><43><EFBFBD>Ѿ<EFBFBD>ʵ<EFBFBD><CAB5>
}
/*------------------------------ Function Define -------------------------------------*/
/******************************************************************************
* <EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD> bcdToHex32
* <EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD> ѹ<EFBFBD><EFBFBD>BCD<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> hexֵ
* <EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>
* <EFBFBD>޸ģ<EFBFBD> N/A
******************************************************************************/
u32 bcdToHex32(u32 value)
{
signed char i;
u8 factor;
u32 rtval = 0;
for (i = 28; i >= 0; i -= 4)
{
factor = (value >> i) & 0xf;
if (factor > 9) return 0XFFFFFFFF; //<2F><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD>
rtval = rtval * 10 + factor;
}
return rtval;
}
/***************************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD> u32 FilterJunZhi(u32 *data, u8 data_len)
<EFBFBD><EFBFBD> <EFBFBD>ܣ<EFBFBD> <EFBFBD><EFBFBD>ֵ+<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> u32 *data <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <EFBFBD><EFBFBD> <EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD>ֵ
****************************************************************/
//void quick_sort(float *p, u8 l, u8 r) //int a[]={49,38,65,97,76,13,27}; int l = 0; int r = 6;
//{
// u8 i, j;
// float x;
//
// if (l < r)
// {
// i = l;
// j = r;
// x = p[i];
// while (i < j)
// {
// while(i < j && p[j] > x)
// j--; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>һ<EFBFBD><D2BB>С<EFBFBD><D0A1>x<EFBFBD><78><EFBFBD><EFBFBD> */
// if(i < j)
// p[i++] = p[j];
//
// while(i < j && p[i] < x)
// i++; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD> */
// if(i < j)
// p[j--] = p[i];
//
// }
// p[i] = x;
// quick_sort(p, l, i-1); /* <20>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD> */
// quick_sort(p, i+1, r);
// }
//}
//void quiksort(float *a,u8 low,u8 high)
//{
// u8 i = low;
// u8 j = high;
// float temp = a[i];
//
// if( low < high)
// {
// while(i < j)
// {
// while((a[j] >= temp) && (i < j))
// {
// j--;
// }
// a[i] = a[j];
// while((a[i] <= temp) && (i < j))
// {
// i++;
// }
// a[j]= a[i];
// }
// a[i] = temp;
// quiksort(a,low,i-1);
// quiksort(a,j+1,high);
// }
// else
// {
// return;
// }
//}
//void quicksort(float* a,u8 left,u8 right)
//{
// u8 i,j;
// float temp;
//
// i=left;
// j=right;
// temp=a[left];
// if(left>right)
// return;
// while(i!=j)
// {
// while(a[j]>=temp&&j>i)
// j--;
// if(j>i)
// a[i++]=a[j];
// while(a[i]<=temp&&j>i)
// i++;
// if(j>i)
// a[j--]=a[i];
//
// }
// a[i]=temp;
// quicksort(a,left,i-1);
// quicksort(a,i+1,right);
//}
//u32 FilterJunZhi(u32 *data, u8 data_len)
//{
// u8 i, j, len, count;
// u32 *p;
// u32 temp = 0, sum = 0;
// p = data;
// len = data_len;
// for (j = 0; j < len - 1; j++)
// {
// for (i = 0; i < len - 1 - j; i++)
// {
// if (p[i] > p[i + 1])
// {
// temp = p[i];
// p[i] = p[i + 1];
// p[i + 1] = temp;
// }
// }
// }
// for (count = 2; count < len - 2; count++)
// {
// sum += p[count];
// }
// return (u32) (sum / (len - 4));
//}
#if LILUNGONGSHI_MODLE_WATER_METER
#if ROUND_LLGS_DN15_BRASS_40KPA_GP30_32768 || ROUND_LLGS_DN20_BRASS_40KPA_GP30_32768|| ROUND_LLGS_WDFS_DN15_BRASS_40KPA_GP30_32768 || ROUND_LLGS_WDFS_DN20_BRASS_40KPA_GP30_32768 \
|| ROUND_LLGS_XFZ_DN15_BRASS_40KPA_GP30_32768 || ROUND_LLGS_XFZ_DN20_BRASS_40KPA_GP30_32768 \
||Plastic_LLGS_WDFS_DN15_PALSTIC_40KPA_GP30_32768
// Բ<>DZ<EFBFBD>ר<EFBFBD><D7A8> ----<2D><><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/************<2A><><EFBFBD>۹<EFBFBD>ʽ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EEB2B9><EFBFBD><EFBFBD><EFBFBD>ߺ<EFBFBD><DFBA><EFBFBD>*****************
Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>ֵȷ<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><EFBFBD><EFBFBD>ֵ
Description: <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> 1<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3<EFBFBD><EFBFBD>˲ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************************************/
float ErrorModifyCruve(float temp_value_float,float time_dof_temp_float,float ins_flow_temp_float)
{
u8 i=0;
float error=1;
u8 rows = sizeof(default_error_cruve)/sizeof(default_error_cruve[0]);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for(i=0;i<(rows-1);i++)//<2F>ȱ<EFBFBD><C8B1><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><C2B6><EFBFBD><EFBFBD>ڵķ<DAB5>Χ
{
if(temp_value_float <= default_error_cruve[i][0])
{
break;
}
}
if(ins_flow_temp_float <= SEGMENT_NUM_SMALL)//ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB2B9><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ģʱģ<CAB1>͵ķֶ<C4B7> 2021-11-17
{
error = default_error_cruve[i][1] + default_error_cruve[i][2]*temp_value_float + default_error_cruve[i][3]*time_dof_temp_float +
default_error_cruve[i][4]*temp_value_float*time_dof_temp_float + default_error_cruve[i][5]*time_dof_temp_float*time_dof_temp_float;
}
else if(ins_flow_temp_float <= SEGMENT_NUM_MIDDLE)
{
error = default_error_cruve[i][6] + default_error_cruve[i][7]*temp_value_float + default_error_cruve[i][8]*time_dof_temp_float +
default_error_cruve[i][9]*temp_value_float*time_dof_temp_float + default_error_cruve[i][10]*time_dof_temp_float*time_dof_temp_float;
}
else//ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
error = default_error_cruve[i][11] + default_error_cruve[i][12]*temp_value_float + default_error_cruve[i][13]*time_dof_temp_float +
default_error_cruve[i][14]*temp_value_float*time_dof_temp_float + default_error_cruve[i][15]*time_dof_temp_float*time_dof_temp_float;
}
return ins_flow_temp_float * error;
}
#else
/************<2A><><EFBFBD>۹<EFBFBD>ʽ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EEB2B9><EFBFBD><EFBFBD><EFBFBD>ߺ<EFBFBD><DFBA><EFBFBD>*****************
Function: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>ֵȷ<EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Χ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><EFBFBD><EFBFBD>ֵ
Description: <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD> 1<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3<EFBFBD><EFBFBD>˲ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
****************************************************************/
float ErrorModifyCruve(float temp_value_float,float time_dof_temp_float,float ins_flow_temp_float)
{
u8 i=0;
float error=1;
u8 rows = sizeof(default_error_cruve)/sizeof(default_error_cruve[0]);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
for(i=0;i<(rows-1);i++)//<2F>ȱ<EFBFBD><C8B1><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3><EFBFBD><C2B6><EFBFBD><EFBFBD>ڵķ<DAB5>Χ
{
if(temp_value_float <= default_error_cruve[i][0])
{
break;
}
}
if(ins_flow_temp_float <= SEGMENT_NUM_MIDDLE)//ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB2B9><EFBFBD><EFBFBD><EFBFBD>ߡ<EFBFBD><DFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ģʱģ<CAB1>͵ķֶ<C4B7> 2021-11-17
{
#if ERROR_MODIFY_CRUVE_FOR_SMALL_FLOW // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PF25<32><35>PF32<33><32>PF40<34>ھ<EFBFBD><DABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ֶη<D6B6>ʽ
if(ins_flow_temp_float <= SEGMENT_NUM_SMALL)
{
error = default_error_cruve[i][1] + default_error_cruve[i][2]*temp_value_float + default_error_cruve[i][3]*time_dof_temp_float +
default_error_cruve[i][4]*temp_value_float*time_dof_temp_float + default_error_cruve[i][5]*time_dof_temp_float*time_dof_temp_float;
}
else
{
error = default_error_cruve[i][6] + default_error_cruve[i][7]*temp_value_float + default_error_cruve[i][8]*time_dof_temp_float +
default_error_cruve[i][9]*temp_value_float*time_dof_temp_float + default_error_cruve[i][10]*time_dof_temp_float*time_dof_temp_float;
}
#else
error = default_error_cruve[i][1] + default_error_cruve[i][2]*temp_value_float + default_error_cruve[i][3]*time_dof_temp_float +
default_error_cruve[i][4]*temp_value_float*time_dof_temp_float + default_error_cruve[i][5]*time_dof_temp_float*time_dof_temp_float;
#endif
}
else if(ins_flow_temp_float <= SEGMENT_NUM_ERROR_MIDDLE)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>15<31>ھ<EFBFBD><DABE><EFBFBD>ģ<EFBFBD>ֶ<EFBFBD>ר<EFBFBD><D7A8>
{
error = default_error_cruve[i][6] + default_error_cruve[i][7]*temp_value_float + default_error_cruve[i][8]*time_dof_temp_float +
default_error_cruve[i][9]*temp_value_float*time_dof_temp_float + default_error_cruve[i][10]*time_dof_temp_float*time_dof_temp_float;
}
else//ȷ<><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEB2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
error = default_error_cruve[i][11] + default_error_cruve[i][12]*temp_value_float + default_error_cruve[i][13]*time_dof_temp_float +
default_error_cruve[i][14]*temp_value_float*time_dof_temp_float + default_error_cruve[i][15]*time_dof_temp_float*time_dof_temp_float;
}
return ins_flow_temp_float * error;
}
#endif
#endif
float FilterJunZhi_TestForGp30_float(float *p, u8 data_len) //<2F>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>춨״̬<D7B4><CCAC><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
{
u8 i, j, count,zero_sum = 0, valve_flag = 0, position = 0,start_flow_sum = 0;
float temp = 0, sum = 0, average_diftof=0;
if(data_len < 10)
{
return 0;
}
for (i = 0; i < data_len; i++)
{
if(((p[i]>=0)&&(p[i] < gp30_app_start_flow_filter_float))||((p[i]<0)&&(p[i] > gp30_app_start_flow_reverse_float)))
{
start_flow_sum++;
zero_sum++;
if (zero_sum == 2) //buffer0<72><30>buffer1<72><31>ˮ<EFBFBD><CBAE>buffer234<33><34><EFBFBD><EFBFBD><EFBFBD>٣<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if(1==i)
{
if ((p[2] >= gp30_app_start_flow_filter_float)||(p[2] <= gp30_app_start_flow_reverse_float)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>򿪹ط<F2BFAAB9>
{
if((((p[3] >= gp30_app_start_flow_filter_float)||(p[3] <= gp30_app_start_flow_reverse_float)) && ((p[4] >= gp30_app_start_flow_filter_float)||(p[4] <= gp30_app_start_flow_reverse_float)))||((p[3] == 0)
&& ((p[4] >= gp30_app_start_flow_filter_float)||(p[4] <= gp30_app_start_flow_reverse_float)))||(((p[3] >= gp30_app_start_flow_filter_float)||(p[3] <= gp30_app_start_flow_reverse_float)) && (p[4] == 0)))
{
position = i;
valve_flag = 1;
break;
}
}
}
else if(15==i)//buffer14<31><34>buffer15<31><35>ˮ<EFBFBD><CBAE>buffer11 12 13<31><33><EFBFBD><EFBFBD><EFBFBD>٣<EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ط<EFBFBD>
{
if((p[11] >= gp30_app_start_flow_filter_float)||(p[11] <= gp30_app_start_flow_reverse_float)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>򿪹ط<F2BFAAB9>
{
if((((p[12] >= gp30_app_start_flow_filter_float)||(p[12] <= gp30_app_start_flow_reverse_float)) && ((p[13] >= gp30_app_start_flow_filter_float)||(p[13] <= gp30_app_start_flow_reverse_float)))||((p[12] == 0)
&& ((p[13] >= gp30_app_start_flow_filter_float)||(p[13] <= gp30_app_start_flow_reverse_float)))||(((p[12] >= gp30_app_start_flow_filter_float)||(p[12] <= gp30_app_start_flow_reverse_float)) && (p[13] == 0)))
{
valve_flag = 2;
position = i - 1;
break;
}
}
}
}
else if ((zero_sum >= 3)&&(zero_sum <= 13)) //<2F><><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>
{
if (i < (data_len - 3))
{
if ((p[i + 1] >= gp30_app_start_flow_filter_float)||(p[i + 1] <= gp30_app_start_flow_reverse_float)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>򿪹ط<F2BFAAB9>
{
if((((p[i + 2] >= gp30_app_start_flow_filter_float)||(p[i+2] <= gp30_app_start_flow_reverse_float)) && ((p[i + 3] >= gp30_app_start_flow_filter_float)||(p[i+3] <= gp30_app_start_flow_reverse_float)))||((p[i + 2] == 0)
&& ((p[i + 3] >= gp30_app_start_flow_filter_float)||(p[i+3] <= gp30_app_start_flow_reverse_float)))||(((p[i + 2] >= gp30_app_start_flow_filter_float)||(p[i+2] <= gp30_app_start_flow_reverse_float)) && (p[i + 3] == 0)))
{
position = i;
valve_flag = 1;
break;
}
}
}
if (i >= 5)
{
if ((p[i - 3] >= gp30_app_start_flow_filter_float)||(p[i - 3] <= gp30_app_start_flow_reverse_float)) //ǰ<><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ط<EFBFBD><D8B7><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>򿪹ط<F2BFAAB9>
{
if((((p[i - 4] >= gp30_app_start_flow_filter_float)||(p[i-4] <= gp30_app_start_flow_reverse_float)) && ((p[i - 5] >= gp30_app_start_flow_filter_float)||(p[i-5] <= gp30_app_start_flow_reverse_float)))||((p[i - 4] == 0)
&& ((p[i - 5] >= gp30_app_start_flow_filter_float)||(p[i-5] <= gp30_app_start_flow_reverse_float)))||(((p[i - 4] >= gp30_app_start_flow_filter_float)||(p[i-4] <= gp30_app_start_flow_reverse_float)) && (p[i - 5] == 0)))
{
valve_flag = 2;
position = i - 2;
break;
}
}
}
}
else if (zero_sum == 14)
{
if (((p[14] >= gp30_app_start_flow_filter_float)||(p[14] <= gp30_app_start_flow_reverse_float)) && ((p[15] >= gp30_app_start_flow_filter_float)||(p[15] <= gp30_app_start_flow_reverse_float))) //14<31><34>0<EFBFBD><30><EFBFBD>ж<EFBFBD> 15 16<31>Ƿ<EFBFBD><C7B7><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><31><D6A4><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>
{
valve_flag = 3;
break;
}
else if (((p[0] >= gp30_app_start_flow_filter_float)||(p[0] <= gp30_app_start_flow_reverse_float)) && ((p[1] >= gp30_app_start_flow_filter_float)||(p[1] <= gp30_app_start_flow_reverse_float))) //14<31><34>0<EFBFBD><30><EFBFBD>ж<EFBFBD> 1 2<>Ƿ<EFBFBD><C7B7><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><31><D6A4><EFBFBD>ǹط<C7B9>
{
valve_flag = 4;
break;
}
}
}
else
{
zero_sum = 0;
}
}
if(0==valve_flag)
{
for (j = 0; j < data_len - 1; j++)
{
for (i = 0; i < data_len - 1 - j; i++)
{
if (p[i] > p[i + 1])
{
temp = p[i];
p[i] = p[i + 1];
p[i + 1] = temp;
}
}
}
for (count = GP30_APP_FILTER_MAX_MIN_SIZE; count < (data_len - GP30_APP_FILTER_MAX_MIN_SIZE); count++) //<2F><>ͷ<EFBFBD><CDB7>ȥ<EFBFBD><C8A5>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С1<D0A1><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
{
sum += p[count];
}
sum = sum / (data_len - GP30_APP_FILTER_SIZE);
if((10 == LcdCheckStateApp())&&(start_flow_sum>=GP22_APP_EXCEED_START_FLOW_SUM))
{
if(((sum > 0)&&(sum < FLOAT_15NS))||((sum < 0)&&((sum > -FLOAT_15NS))))
{
sum=0;
}
}
}
else if (1 == valve_flag)
{
position = position + 1;
data_len = data_len - position;
for (i = 0; i < data_len; i++)
{
sum += p[i + position];
}
average_diftof = sum/data_len;
if(((average_diftof > 0)&&(average_diftof < FLOAT_2NS))||((average_diftof < 0)&&((average_diftof > -FLOAT_2NS))))
{
if((gp22_test_data.s.peak_up<=TOF_UP_AM)&&(gp22_test_data.s.peak_down<=TOF_DOWN_AM))
{
sum=0;
}
else
{
sum = sum / GP22_APP_QUEUE_SIZE;
}
}
else
{
sum = sum / GP22_APP_QUEUE_SIZE;
}
}
else if (2 == valve_flag)
{
for (i = 0; i < position; i++)
{
sum += p[i];
}
average_diftof = sum/position;
if(((average_diftof > 0)&&(average_diftof < FLOAT_2NS))||((average_diftof < 0)&&((average_diftof > -FLOAT_2NS))))
{
if((gp22_test_data.s.peak_up<=TOF_UP_AM)&&(gp22_test_data.s.peak_down<=TOF_DOWN_AM))
{
sum=0;
}
else
{
sum = sum / GP22_APP_QUEUE_SIZE;
}
}
else
{
sum = sum / GP22_APP_QUEUE_SIZE;
}
}
else if (3 == valve_flag)//ǰ<><C7B0>14<31><34>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
sum = p[14]+p[15];
average_diftof = sum/2;
if(((average_diftof > 0)&&(average_diftof < FLOAT_2NS))||((average_diftof < 0)&&((average_diftof > -FLOAT_2NS))))
{
if((gp22_test_data.s.peak_up<=TOF_UP_AM)&&(gp22_test_data.s.peak_down<=TOF_DOWN_AM))
{
sum=0;
}
else
{
sum = sum / GP22_APP_QUEUE_SIZE;
}
}
else
{
sum = sum / GP22_APP_QUEUE_SIZE;
}
}
else if (4 == valve_flag)//ǰ<><C7B0>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>buffer<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD>14<31><34>С<EFBFBD><D0A1>ʼ<EFBFBD><CABC><EFBFBD>Ĺط<C4B9><D8B7><EFBFBD><EFBFBD><EFBFBD>
{
sum = p[0]+p[1];
average_diftof = sum/2;
if(((average_diftof > 0)&&(average_diftof < FLOAT_2NS))||((average_diftof < 0)&&((average_diftof > -FLOAT_2NS))))
{
if((gp22_test_data.s.peak_up<=TOF_UP_AM)&&(gp22_test_data.s.peak_down<=TOF_DOWN_AM))
{
sum=0;
}
else
{
sum = sum / GP22_APP_QUEUE_SIZE;
}
}
else
{
sum = sum / GP22_APP_QUEUE_SIZE;
}
}
return sum;
}
//u32 FilterJunZhi_TestForGp30(u32 *data, u8 data_len) //<2F>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>춨״̬<D7B4><CCAC><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
//{
// u8 i, j, len, count;
// u32 *p;
// u32 temp = 0, sum = 0;
//// u32 front_avg = 0,behind_avg = 0;
//// u32 sum_difference_value[2]={0};//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sum<75>IJ<EFBFBD>ֵ
//// static u32 GP30_filter_value[3]={0};//<2F>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//// static u8 sum_cnt=0;//sum<75><6D><EFBFBD><EFBFBD>
// p = data;
// len = data_len;
//
// if(len < 10)
// {
// return 0;
// }
// for (j = 0; j < len - 1; j++)
// {
// for (i = 0; i < len - 1 - j; i++)
// {
// if (p[i] > p[i + 1])
// {
// temp = p[i];
// p[i] = p[i + 1];
// p[i + 1] = temp;
// }
// }
// }
//// //16<31><36>buffer<65><72><EFBFBD>д<EFBFBD><D0B4>ڵ<EFBFBD><DAB5><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
//// if((p[0]==p[7])||(p[1]==p[8])||(p[2]==p[9])||(p[3]==p[10])||(p[4]==p[11])||(p[5]==p[12])||(p[6]==p[13])||(p[7]==p[14])||(p[8]==p[15]))
//// {
//// return GP30_filter_last_value;
//// }
// for (count = GP30_APP_FILTER_MAX_MIN_SIZE; count < (len - GP30_APP_FILTER_MAX_MIN_SIZE); count++) //<2F><>ͷ<EFBFBD><CDB7>ȥ<EFBFBD><C8A5>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4B4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С1<D0A1><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
// {
// sum += p[count];
// }
// sum = (u32) (sum / (len - GP30_APP_FILTER_SIZE));
//// if( sum < GP30_DIFTOF_FILTER_ENABLE_MAX_VALUE )//ʱ<><CAB1><EFBFBD><EFBFBD>С<EFBFBD><D0A1>30ns<6E>Ž<EFBFBD><C5BD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>
//// {
//// GP30_filter_value[sum_cnt]=sum;
//// sum_cnt++;
//// if(3==sum_cnt)//sumֵ<6D><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>Ϊ3
//// {
//// sum_cnt=0;
//// }
//// //<2F><><EFBFBD><EFBFBD>sum<75><6D>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵ڶ<CDB5><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD>ֵ
//// if(GP30_filter_value[1]>GP30_filter_value[0])
//// {
//// sum_difference_value[0]=GP30_filter_value[1]-GP30_filter_value[0];
//// }
//// else
//// {
//// sum_difference_value[0]=GP30_filter_value[0]-GP30_filter_value[1];
//// }
//// //<2F><><EFBFBD><EFBFBD>sum<75>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD>ֵ
//// if(GP30_filter_value[2]>GP30_filter_value[1])
//// {
//// sum_difference_value[1]=GP30_filter_value[2]-GP30_filter_value[1];
//// }
//// else
//// {
//// sum_difference_value[1]=GP30_filter_value[1]-GP30_filter_value[2];
//// }
//// //sum<75><6D><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>жϣ<D0B6><CFA3><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¡<EFBFBD>
//// if((sum_difference_value[0]<sum * FLOW_RATE_FILTER_COEFFICIENT)&&(sum_difference_value[1]<sum * FLOW_RATE_FILTER_COEFFICIENT))
//// {
//// GP30_filter_last_value=(GP30_filter_value[0]+GP30_filter_value[1]+GP30_filter_value[2])/3;//<2F><><EFBFBD><EFBFBD>sumֵ<6D><D6B5>ƽ<EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ƽ<EFBFBD><C6BD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
//// }
////
//// half_len = len/2 ;
////
//// for (count = 0; count < half_len; count++) //ǰ8<C7B0><38><EFBFBD><EFBFBD>
//// {
//// front_avg += p[count];
//// }
//// front_avg = front_avg/half_len;
//// for (count = half_len; count < len; count++) //<2F><>8<EFBFBD><38><EFBFBD><EFBFBD>
//// {
//// behind_avg += p[count];
//// }
//// behind_avg = behind_avg/half_len;
////
//// if((behind_avg > front_avg) &&(sum >gp30_app_start_flow_filter))
//// {
//// if((behind_avg - front_avg) > sum * FLOW_RATE_FILTER_COEFFICIENT)
//// {
//// return GP30_filter_last_value;
//// }
//// else//<2F><><EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD>Ƚϣ<C8BD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2>Ҫ<EFBFBD><D2AA><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
//// {
//// if(sum > GP30_filter_last_value)
//// {
//// if((sum-GP30_filter_last_value)>sum * FLOW_RATE_FILTER_COEFFICIENT)
//// {
//// return GP30_filter_last_value;
//// }
//// else
//// {
//// return sum;
//// }
//// }
//// else
//// {
//// if((GP30_filter_last_value-sum)>sum * FLOW_RATE_FILTER_COEFFICIENT)
//// {
//// return GP30_filter_last_value;
//// }
//// else
//// {
//// return sum;
//// }
//// }
//// }
//// }
//// else if((behind_avg == front_avg) && (sum > gp30_app_start_flow_filter))
//// {
//// return GP30_filter_last_value;
//// }
//// }
// return sum;
//}
/***************************************************************
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD> float FilterJunZhi_float(float *p, u8 len) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>ֵ
<EFBFBD><EFBFBD> <EFBFBD>ܣ<EFBFBD>
<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ <EFBFBD><EFBFBD> <EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD>ֵ
****************************************************************/
//float FilterJunZhi_float(float *p, u16 len) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ֵ14ms
//{
// u16 i;
// float nMax,nMin,sum = 0;
//
// nMax = p[0];
// nMin = p[0];
// for (i=0; i<len; i++)
// {
// if (nMin > p[i])
// {
// nMin = p[i];
// }
//
// if (nMax < p[i])
// {
// nMax = p[i];
// }
//
// sum = sum + p[i];
// }
// sum = sum - nMax -nMin;
//
// return (float) (sum / (len - 2));
//}
//float FilterJunZhi_float(float *p, u8 len) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>ͷ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ20ms
//{
// u8 i;
// float nMax,nMin,nMax2,nMin2,sum = 0;
// nMax=0;
// nMax2=0;
// nMin=0x40000;
// nMin2=0x40000;
// for (i=0; i<len; i++)
// {
// if(p[i]>nMax)
// {
// nMax2=nMax;
// nMax=p[i];
// }
// else if(p[i]>nMax2)
// {
// nMax2=p[i];
// }
// if(p[i]<nMin)
// {
// nMin2=nMin;
// nMin=p[i];
// }
// else if(p[i]<nMin2)
// {
// nMin2=p[i];
// }
// sum = sum + p[i];
// }
// sum = sum - nMax -nMin - nMax2 - nMin2;
// return (float) (sum / (len - 4));
//}
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>λ<EFBFBD>õ<EFBFBD><EFBFBD>±<EFBFBD>
*
* @param arr <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param left <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>
* @param right <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>
* @return <EFBFBD>ҵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
//u8 partition(float arr[], int left, int right)
//{
// u8 j = left, i;
// float selectedValue = arr[right];
// float temp;
// // <20><><6A><D6B8>Ԥ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ĵ<EFBFBD>λ<EFBFBD><CEBB>
// // <20><><EFBFBD>α<EFBFBD>i<EFBFBD><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ѡ<EFBFBD><D1A1>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><6A><D6B8>λ<EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><E0A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// for (i = left; i < right; i++) {
// if (arr[i] < selectedValue) {
// // <20><><EFBFBD><EFBFBD>i<EFBFBD><69><6A>õ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><6A><D6B8><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
// temp = arr[i];
// arr[i] = arr[j];
// arr[j] = temp;
// j++;
// }
// }
// arr[right] = arr[j];
// arr[j] = selectedValue;
// return j;
//}
/**
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>н<EFBFBD><EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
* @param arr <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param left <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>
* @param right <EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>±<EFBFBD>
*/
//void quickSort(float arr[], u8 left, int right)
//{
// u8 q;
// if (left < right) {
// q = partition(arr, left, right);
// quickSort(arr, left, q - 1);
// quickSort(arr, q + 1, right);
// }
//}
#if EN_LARGE_FILITER
float FilterJunZhi_float_GP30Filter(float *p, u8 len) //<2F>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GP30һ<30><D2BB>buf<75><66><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
{
u8 count,i,j;
float sum=0,temp,sum_ou=0,sum_ji=0;
float p_ji[8],p_ou[8];
for (j = 0; j < len; j=j+2)
{
p_ou[j/2] = p[j];
p_ji[j/2] = p[j+1];
}
//<2F>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD> <20>˲<EFBFBD>
for (j = 0; j < len/2 - 1; j++)
{
for (i = 0; i < len/2 - 1 - j; i++)
{
if (p_ou[i] > p_ou[i + 1])
{
temp = p_ou[i];
p_ou[i] = p_ou[i + 1];
p_ou[i + 1] = temp;
}
if (p_ji[i] > p_ji[i + 1])
{
temp = p_ji[i];
p_ji[i] = p_ji[i + 1];
p_ji[i + 1] = temp;
}
}
}
for (count = 1; count < (len/2 - 1); count++) //<2F><>ͷ<EFBFBD><CDB7>ȥ<EFBFBD><C8A5>1<EFBFBD><31><EFBFBD><EFBFBD>
{
sum_ou += p_ou[count];
sum_ji += p_ji[count];
}
sum = (float) (sum_ou+sum_ji) / (len - 4);
return sum;
}
#elif EN_SMALL_FILITER
float FilterJunZhi_float_GP30Filter(float *p, u8 len) //<2F>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GP30һ<30><D2BB>buf<75><66><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
{
u8 count,filter_min_max,half_len,i,j;
float sum=0,temp;
// gp30_app_start_flow_filter_for_float = Gp30DataToFloat(gp30_app_start_flow_filter);
//<2F><><EFBFBD>ٲ<EFBFBD><D9B2>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2019-11-29 16:28:16
// quickSort(p,0,len-1);
for (j = 0; j < len - 1; j++)
{
for (i = 0; i < len - 1 - j; i++)
{
if (p[i] > p[i + 1])
{
temp = p[i];
p[i] = p[i + 1];
p[i + 1] = temp;
}
}
}
// if((p[0]==p[7])||(p[1]==p[8])||(p[2]==p[9])||(p[3]==p[10])||(p[4]==p[11])||(p[5]==p[12])||(p[6]==p[13])||(p[7]==p[14])||(p[8]==p[15]))
// {
// return -1000;
// }
half_len = len/2 ;
filter_min_max = half_len/2; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>˲<EFBFBD><CBB2>ĸ<EFBFBD><C4B8><EFBFBD>
for (count = filter_min_max; count < (len - filter_min_max); count++) //<2F><>ͷ<EFBFBD><CDB7>ȥ<EFBFBD><C8A5>filter_min_max<61><78><EFBFBD><EFBFBD>
{
sum += p[count];
}
sum = (float) (sum / (len - half_len));
// if( sum < Gp30DataToFloat(GP30_DIFTOF_FILTER_ENABLE_MAX_VALUE) )//ʱ<><CAB1><EFBFBD><EFBFBD>С<EFBFBD><D0A1>30ns<6E>Ž<EFBFBD><C5BD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2>
// {
// for (count = 0; count < half_len; count++) //ǰ<><C7B0><EFBFBD><EFBFBD>buf
// {
// front_avg += p[count];
// }
// front_avg = front_avg/half_len;
// for (count = half_len; count < len; count++) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>buf
// {
// behind_avg += p[count];
// }
// behind_avg = behind_avg/half_len;
//
// if((behind_avg > front_avg) &&(sum > gp30_app_start_flow_filter_for_float))
// {
// if((behind_avg - front_avg) > sum * GP30_DIFTOF_FILTER_COEFFICIENT) //2019-10-11 <20><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD>0.3<EFBFBD><EFBFBD>Ϊ0.2
// {
//// if((GP30_filter_last_value_for_shunshi > (float)30*sum)||(GP30_filter_last_value_for_shunshi < (float)0.03*sum))
////// if(GP30_filter_last_value_for_shunshi < (float)0.03*sum)
//// {
//// return sum;
//// }
//// else
// {
//// return GP30_filter_last_value_for_shunshi;
// //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>̶<EFBFBD><CCB6><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϴ˴<CFB4><CBB4>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
// return -1000;
// }
// }
// else
// {
// return sum;
// }
// }
// else if((behind_avg == front_avg) && (sum > gp30_app_start_flow_filter_for_float))
// {
//// return GP30_filter_last_value_for_shunshi;
// return -1000;
// }
// else if(sum + gp30_app_start_flow_filter_for_float<0)
// {
// return -1000;
// }
// }
return sum;
}
#endif
/****************************************************************
Function: float FilterJunZhi_float_DIFTOFFilter (float *p, u8 len)
Description: GP30ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сȡƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
float FilterJunZhi_float_DIFTOFFilter(float *p, u8 len) //<2F>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC>Ǽ춨<C7BC><ECB6A8>ֻȥ<D6BB><C8A5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Сֵ
{
// float diftof_buffer[GP22_APP_DIFTOF_SIZE_2]={0}; //ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> 2019-8-21
u8 i;
float sum=0,nMax,nMin;
if(len > GP22_APP_DIFTOF_SIZE_2)
{
len=GP22_APP_DIFTOF_SIZE_2;
}
// for(i=0;i<len;i++)
// {
// diftof_buffer[i]=*(p+i);//<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷŽ<DDB7><C5BD><EFBFBD><EFBFBD><EFBFBD>buffer<65><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>buffer<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򣬲<EFBFBD><F2A3ACB2><EFBFBD>ԭʼ<D4AD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// }
//quickSort(diftof_buffer,0,len-1);
nMax = p[0];
nMin = p[0];
for (i=0; i<len; i++)
{
if (nMin > p[i])
{
nMin = p[i];
}
if (nMax < p[i])
{
nMax = p[i];
}
sum = sum + p[i];
}
sum = sum - nMax -nMin;
return (float) (sum / (len - 2));
// for (count = 2; count < (len - 2); count++) //<2F><>ͷ<EFBFBD><CDB7>ȥ<EFBFBD><C8A5>2<EFBFBD><32><EFBFBD><EFBFBD>
// {
// sum += diftof_buffer[count];
// }
//
// return (float) (sum / (len - 4));
}
/****************************************************************
Function: void Gp22AppDataPre (void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֯
Input:
Return:
Others:
*****************************************************************/
void Gp22AppDataPre(void)
{
static DateTime data_time;
g_sample_save_data.s.flag[0] = 0x77;
g_sample_save_data.s.flag[1] = 0x88;
RtccGetDateTime(&data_time);
g_sample_save_data.s.time[0] = data_time.s.year;
g_sample_save_data.s.time[1] = data_time.s.month;
g_sample_save_data.s.time[2] = data_time.s.day;
g_sample_save_data.s.time[3] = data_time.s.hour;
g_sample_save_data.s.total_flow.gp30_u32 = gp22_app_data.s.total_flow.gp30_u32;
g_sample_save_data.s.total_flow_reverse.gp30_u32 = gp22_app_data.s.total_flow_reverse.gp30_u32;
g_sample_save_data.s.up_tof_dif.gp30_u32 = gp22_app_data.s.up_tof_dif.gp30_u32;
g_sample_save_data.s.down_tof_dif.gp30_u32 = gp22_app_data.s.down_tof_dif.gp30_u32;
}
/****************************************************************
Function: void Gp22AppInitProcess (void)
Description: GP22Ӧ<EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,GP22<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
void Gp22AppInitProcess(void)
{
static u8 ee_write_result_init;
u8 i;
// u32 data;
// static float reset_limit_data = 0;
// float nDoubleTemp=0.0;
switch (s_g_gp22_init_state_num)
{
case GP30_APP_INIT_S0:
if (EepIfIdle())
{
for (i = 0; i < GP30_APP_MAX_DATA; i++)
{
gp22_app_data.data[i] = 0;
gp22_test_data.data[i] = 0;
}
EepRead(GP30_APP_DATA_ADDR, &g_sample_save_data.data[0], sizeof (GP30_APP_SAVE_DATA), &ee_write_result_init);
s_g_gp22_init_state_num = GP30_APP_INIT_S1;
}
break;
case GP30_APP_INIT_S1:
if ((SUCCESS == EepCheckMsg(ee_write_result_init)) && (TASK_IDLE == EepIfIdle())) //<2F><>ee<65>ɹ<EFBFBD>
{
if ((0x77 == g_sample_save_data.s.flag[0]) && (0x88 == g_sample_save_data.s.flag[1])) //<2F><><EFBFBD>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD>
{
// if((gp22_copy_total_flow > g_sample_save_data.s.total_flow.gp30_float)||(gp22_copy_total_flow_reverse > g_sample_save_data.s.total_flow_reverse.gp30_float))//2017 02,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// data = FrameCheckParaApp(FramePara_DNx);
// if(0x15 ==data)
// {
// reset_limit_data = 250.0;
// }
// else if(0x20 == data)
// {
// reset_limit_data = 400.0;
// }
// else if(0x25 == data)
// {
// reset_limit_data = 500.0;
// }
// else if(0x32 == data)
// {
// reset_limit_data = 1000.0;
// }
// else if(0x40 == data)
// {
// reset_limit_data = 1200.0;
// }
if(MCU_RESET_JUDGE_FLAG == MCU_reset_judge)//<2F>Ƕϵ縴λ
{
//ʹ<><CAB9>ram<61><6D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>żУ<C5BC><EFBFBD><E9B9A6> <20>б<EFBFBD>gp22_copy_total_flow<6F><77><EFBFBD>ŵ<EFBFBD>ram<61><6D><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ȷ
//<2F><><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD>
if(TRUE == RAMDataVerify((u8*)&gp22_copy_total_flow,sizeof(gp22_copy_total_flow)))
{
gp22_copy_total_flow=g_sample_save_data.s.total_flow.gp30_float;
}
else
{
g_sample_save_data.s.total_flow.gp30_float = gp22_copy_total_flow;
}
//
if(TRUE == RAMDataVerify((u8*)&gp22_copy_total_flow_reverse,sizeof(gp22_copy_total_flow_reverse)))
{
gp22_copy_total_flow_reverse=g_sample_save_data.s.total_flow_reverse.gp30_float;
}
else
{
g_sample_save_data.s.total_flow_reverse.gp30_float = gp22_copy_total_flow_reverse;
}
s_g_gp22_init_state_num = GP30_APP_INIT_S5;
}
else
{
s_g_gp22_init_state_num = GP30_APP_INIT_S7;
}
//UP<55><50>DOWN<57><4E><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B2B9>ֵ<EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>ж<EFBFBD>
if(((g_sample_save_data.s.up_tof_dif.gp30_float)>TOF_COMPENSATION_COEFFICIENT)||((g_sample_save_data.s.down_tof_dif.gp30_float)>TOF_COMPENSATION_COEFFICIENT)|| \
((g_sample_save_data.s.up_tof_dif.gp30_float)<-TOF_COMPENSATION_COEFFICIENT)||((g_sample_save_data.s.down_tof_dif.gp30_float)<-TOF_COMPENSATION_COEFFICIENT))
{
g_sample_save_data.s.up_tof_dif.gp30_float = 0;
g_sample_save_data.s.down_tof_dif.gp30_float = 0;
s_g_gp22_init_state_num = GP30_APP_INIT_S5;
}
gp22_app_data.s.total_flow.gp30_u32 = g_sample_save_data.s.total_flow.gp30_u32;
gp22_app_data.s.total_flow_reverse.gp30_u32 = g_sample_save_data.s.total_flow_reverse.gp30_u32;
old_monitor_flow.gp30_u32 = g_sample_save_data.s.total_flow.gp30_u32;//<2F>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>¼EE<45>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>ֵ
gp22_app_data.s.up_tof_dif.gp30_float = g_sample_save_data.s.up_tof_dif.gp30_float;
gp22_app_data.s.down_tof_dif.gp30_float = g_sample_save_data.s.down_tof_dif.gp30_float;
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
//<2F>˴<EFBFBD><CBB4><EFBFBD>Ҫ<EFBFBD><D2AA>¼<EFBFBD>³<EFBFBD>ֵ<EFBFBD><D6B5>GP30
// gp30_test_total_start_flow.gp30_u32 = gp22_app_data.total_flow.gp30_u32;
}
else //<2F>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD>
{
old_monitor_flow.gp30_u32 =0;//<2F><>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
if (EepIfIdle())
{
Gp22AppDataPre();
EepWrite(&g_sample_save_data.data[0], GP30_APP_DATA_ADDR, sizeof (GP30_APP_SAVE_DATA), &ee_write_result_init);
s_g_gp22_init_state_num = GP30_APP_INIT_S3;
}
else
{
s_g_gp22_init_state_num = GP30_APP_INIT_S2;
}
}
}
// else if (ERROR == EepCheckMsg(ee_write_result_init)) //<2F><>EE<45>
// {
// s_g_gp22_init_state_num = GP30_APP_INIT_S4;
// }
break;
case GP30_APP_INIT_S2:
if (EepIfIdle())
{
Gp22AppDataPre();
EepWrite(&g_sample_save_data.data[0], GP30_APP_DATA_ADDR, sizeof (GP30_APP_SAVE_DATA), &ee_write_result_init);
s_g_gp22_init_state_num = GP30_APP_INIT_S3;
}
break;
case GP30_APP_INIT_S3: //<2F><>ѯ<EFBFBD>Ƿ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
if ((SUCCESS == EepCheckMsg(ee_write_result_init))&& (TASK_IDLE == EepIfIdle())) //д<>ɹ<EFBFBD>
{
s_g_gp22_init_state_num = GP30_APP_INIT_S7;
}
break;
// case GP30_APP_INIT_S4: //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if (EepIfIdle())
// {
// if(0x00004D3C==FrameCheckParaApp(FramePara_CCFlow))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// gp22_app_data.s.total_flow_reverse.gp30_float=0;
// g_sample_save_data.s.total_flow_reverse.gp30_u32=0;
// gp22_copy_total_flow_reverse=0;
// EepWrite(&g_sample_save_data.data[14], GP30_APP_DATA_TOTAL_FLOW_ADDR_REVERSE, 4, &ee_write_result_init);
// }
// s_g_gp22_init_state_num = GP30_APP_INIT_S7;
// }
// break;
case GP30_APP_INIT_S5://2017 02,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (EepIfIdle())
{
EepWrite(&g_sample_save_data.data[6], GP30_APP_DATA_TOTAL_FLOW_ADDR, 16, &ee_write_result_init);//ԭ<><D4AD>ֻд<D6BB><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD>8<EFBFBD>ֽڵ<D6BD>up<75><70>down<77><6E><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>IJ<EFBFBD>ֵ
s_g_gp22_init_state_num = GP30_APP_INIT_S3;
}
break;
case GP30_APP_INIT_S6:
// if ((SUCCESS == EepCheckMsg(ee_write_result_init))&& (TASK_IDLE == EepIfIdle())) //д<>ɹ<EFBFBD>
// {
mater_waring_state = FrameCheckParaApp(FramePara_Sta1_2);
g_gp22_init_flag = 1;
// }
break;
case GP30_APP_INIT_S7:
if ((SUCCESS == EepCheckMsg(ee_write_result_init))&& (TASK_IDLE == EepIfIdle())) //д<>ɹ<EFBFBD>
{
EepRead(DIFTOF_CALIBRATION_FLAG_ADDR, &g_diftof_cal_data.data[0], sizeof (GP30_DIFTOF_CAL_DATA), &ee_write_result_init);
s_g_gp22_init_state_num = GP30_APP_INIT_S8;
}
break;
case GP30_APP_INIT_S8:
if ((SUCCESS == EepCheckMsg(ee_write_result_init))&& (TASK_IDLE == EepIfIdle())) //д<>ɹ<EFBFBD>
{
if(FALSE == CheckDiftofCalibrationFlag())
{
g_diftof_cal_data.s.diftof_calibration_value.data=0;
}
s_g_gp22_init_state_num = GP30_APP_INIT_S6;
}
break;
default:
break;
}
}
/****************************************************************
Function: void Gp22TestInitApp (void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
void Gp22TestInitApp(void)
{
u16 i;
LPTimer0Init(RTC_ClkSource(), 128);//<2F><>ʱ1s
//RtccSetAlrm(0, TEST_ALARMA_RTCC_US); //500ms
s_alarma_stop_check_tick=Timer1usGetTick();
// gp30_total_flow_calcult_factor = FACTOR_0_5;
// RtccSetAlrm(0, 62500); //62.5ms
// s_g_gp22_sample_span = GP22_SAMPLE_2HZ; //2016-8-2 ÿ<>ζ<EFBFBD><CEB6><EFBFBD><EFBFBD><EFBFBD>
// s_g_gp22_sample_flag_num = 0;
// s_g_sample_flow_num = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if((TRUE == RAMDataVerify((u8*)&gp22_copy_temp_total_flow_float_test,sizeof(gp22_copy_temp_total_flow_float_test)))||\
(TRUE == RAMDataVerify((u8*)&gp22_copy_total_flow_test,sizeof(gp22_copy_total_flow_test)))||\
(gp22_copy_temp_total_flow_float_test<(float)0)||(gp22_copy_temp_total_flow_float_test >(float)1500)||(gp22_copy_total_flow_test < (float)0))
{
gp22_copy_temp_total_flow_float_test = 0;//<2F><>֤
gp22_copy_total_flow_test = 0;
}
if((TRUE == RAMDataVerify((u8*)&record_last_calculative_time,sizeof(record_last_calculative_time))))
{
record_last_calculative_time = 0;
}
#if (HARDWARE_VERSION==0x18)//Բ<>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
if(FrameCheckMsgApp(Msg_WdtReset)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʱι<CAB1><CEB9><EFBFBD><EFBFBD><EFBFBD>µĸ<C2B5>λ
{
FrameClearMsgApp(Msg_WdtReset);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>λԴ
gp22_test_data.s.total_flow.gp30_float= gp22_copy_total_flow_test+(((float)record_last_calculative_time/(float)128)+(float)2.06)*gp22_copy_temp_total_flow_float_test;//1s<31><73><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD> 2.2 -2 .05
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)128)+(float)2.06)*gp22_copy_temp_total_flow_float_test/(float)1000;
}
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>λ
{
gp22_test_data.s.total_flow.gp30_float=gp22_copy_total_flow_test+(((float)record_last_calculative_time/(float)128)+(float)0.33)*gp22_copy_temp_total_flow_float_test;//1s<31><73><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD> //0.5-0.3-0.36-0.33
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)128)+(float)0.33)*gp22_copy_temp_total_flow_float_test/(float)1000;
}
#elif (HARDWARE_VERSION==0x14) //<2F><><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
if(FrameCheckMsgApp(Msg_WdtReset)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʱι<CAB1><CEB9><EFBFBD><EFBFBD><EFBFBD>µĸ<C2B5>λ
{
FrameClearMsgApp(Msg_WdtReset);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>λԴ
gp22_test_data.s.total_flow.gp30_float= gp22_copy_total_flow_test+(((float)record_last_calculative_time/(float)128)+(float)2.35)*gp22_copy_temp_total_flow_float_test;//1s<31><73><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD> 2.45
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)128)+(float)2.35)*gp22_copy_temp_total_flow_float_test/(float)1000;
}
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>λ
{
gp22_test_data.s.total_flow.gp30_float=gp22_copy_total_flow_test+(((float)record_last_calculative_time/(float)128)+(float)0.35)*gp22_copy_temp_total_flow_float_test;//1s<31><73><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD> 0.46
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)128)+(float)0.35)*gp22_copy_temp_total_flow_float_test/(float)1000;
}
#endif
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
gp22_copy_temp_total_flow_float = 0;
start_measure_flag = 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_sample_ok_flag = 0;
// temp_total_flow_u32 = 0;
gp22_test_data.s.total_flow_reverse.gp30_float = 0;
gp22_test_data.s.ins_flow = 0;
gp22_app_data.s.ins_flow = 0;
gp22_test_data.s.ins_flow_cnt = 0;//˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>һ<EFBFBD>ξͼ<CEBE>1<EFBFBD><31>
gp22_test_data.s.ins_flow_sum = 0;//˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD>ۼƺ<DBBC>
gp22_test_data.s.ins_flow_sum_temp = 0;
gp22_test_data.s.ins_flow_max = 0;
gp22_test_data.s.ins_flow_min = 0;
for (i = 0; i < GP22_APP_QUEUE_SIZE; i++)
{
s_g_flow_data[i] = 0;
}
memset(s_g_flow_type, 0, sizeof(s_g_flow_type));
for (i = 0; i < GP22_APP_DIFTOF_SIZE; i++)
{
s_g_diftof_data[i] = 0;
}
for (i = 0; i < GP22_APP_DIFTOF_SIZE_2; i++)
{
s_g_diftof_data_2[i] = 0;
}
#if EN_LARGE_FILITER
for (i = 0; i < GP22_APP_DIFTOF_SIZE_3; i++)
{
s_g_diftof_data_3[i] = 0;
}
s_g_diftof_head_3 = 0;
s_g_diftof_head_3_quotient=0;
#endif
s_g_diftof_head = 0;
s_g_diftof_head_2 = 0;
s_g_diftof_head_2_quotient=0;
s_g_sample_total_sum = 0;
s_g_diftof_for_total = FALSE;
// s_g_sample_flow_head = 0;
// s_g_sample_total_sum = 0;
// s_g_sample_add = 0;
}
/****************************************************************
Function: void Gp22SampleApp (void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
void Gp22SampleApp(void)
{
// u16 i;
switch (s_g_gp22_sample_app_state_num)
{
case GP22_APP_SAMPLE_S0:
if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬
{
NormalResetCompensation();
// SetResetFlowcompMsg();
// s_g_sample_flow_num = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// s_g_gp22_sample_flag_num = 0;
// Gp22SetSampleRate(8); //<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>8Hz
// Gp22SetBufferLength(16);//<2F><><EFBFBD><EFBFBD>16
s_g_gp22_sample_app_state_num = GP22_APP_SAMPLE_S2;
}
else //<2F>춨״̬
{
// VerificationResetCompensation();
Gp22TestInitApp();
// Gp22SetSampleRate(16); //<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>16Hz
// Gp22SetBufferLength(16);//<2F><><EFBFBD><EFBFBD>16
s_g_gp22_sample_app_state_num = GP22_APP_SAMPLE_S1;
}
break;
case GP22_APP_SAMPLE_S1:
if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬
{
LPTimer0_Work(FALSE);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>LPtimer
s_g_sample_ok_flag=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־λ
Gp22SetSampleRateMsg(8); //<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>8Hz
// Gp22SetBufferLength(16);//<2F><><EFBFBD><EFBFBD>16
gp22_copy_total_flow_test=0;//ÿ<>δӼ춨<D3BC><ECB6A8><EFBFBD>˼춨<CBBC><ECB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>copy<70>ļ춨<C4BC>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1s<31><73><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>
gp22_copy_temp_total_flow_float_test=0;
gp22_copy_temp_total_flow_float=0;
gp22_copy_reset_flag_test = GP30_COPY_RESET_NORMAL_FLAG;//<2F><><EFBFBD><EFBFBD><EFBFBD>Ǽ춨<C7BC><ECB6A8>־
s_g_gp22_sample_app_state_num = GP22_APP_SAMPLE_S2;
// s_g_sample_flow_num = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// s_g_gp22_sample_flag_num = 0;
}
break;
case GP22_APP_SAMPLE_S2:
if (1 == LcdCheckStateApp()) //<2F>춨״̬
{
record_last_calculative_time = 0;//<2F><>ֹ<EFBFBD>Ǽ춨<C7BC><ECB6A8><EFBFBD><EFBFBD><ECB6A8><EFBFBD><EFBFBD>
Gp22TestInitApp();
Gp22SetSampleRateMsg(16); //<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>16Hz
// Gp22SetBufferLength(16);//<2F><><EFBFBD><EFBFBD>16
gp22_copy_reset_flag_test = GP30_COPY_RESET_TEST_FLAG;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB6A8>־
s_g_gp22_sample_app_state_num = GP22_APP_SAMPLE_S1;
}
break;
default:
break;
}
}
/******<2A><><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>float<61><74><EFBFBD>ͣ<EFBFBD>ת<EFBFBD><D7AA>Ϊ16λ<36><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16λС<CEBB><D0A1><EFBFBD><EFBFBD>ʽ*************
Function: u32 FloatToGp30Data (float data)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>float<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>ת<EFBFBD><EFBFBD>Ϊ16λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16λС<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
Input:
Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Others: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>130us @3.6864M<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ/ PIC24FJ128GA306 /s<EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
****************************************************************/
u32 FloatToGp30Data(float data)
{
if (data > 32768)
{
return 0;
}
return ((u32) (data * (float)65536));
}
/*************<2A><>16λ<36><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16λС<CEBB><D0A1>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ******************
Function: float Gp30DataToFloat (u32 data)
Description: <EFBFBD><EFBFBD>16λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>16λС<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
Input:
Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Others: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>130us @3.6864M<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ/ PIC24FJ128GA306 / s<EFBFBD><EFBFBD><EFBFBD>Ż<EFBFBD>
****************************************************************/
float Gp30DataToFloat(u32 data)
{
return ((float) data / (float)65536);
}
/****************************************************************
Function: void StillWatetCalculate (void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
#if EN_SMALL_FILITER
void StillWatetCalculate(u32 dif_value)
{
u8 i = 0;
u32 temp_value;
float still_water_add = 0, float_differ=0;
if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬,<2C><><EFBFBD><EFBFBD>ÿ<EFBFBD>ζ<EFBFBD><CEB6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
{
return;
}
if((01 == LcdCheckStateApp()) && (0 == start_measure_flag)) //<2F>춨״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
return;
}
temp_value = dif_value;
if (temp_value >= 0x80000000) //<2F><><EFBFBD><EFBFBD>
{
temp_value &= 0x7FFFFFFF;
float_differ = 0 - Gp30DataToFloat(temp_value);
}
else
{
// float_differ_last_time = temp_value;
float_differ = Gp30DataToFloat(temp_value);
}
// // 2019-12-10 10:14:37 <20>˲<EFBFBD><CBB2>Ķ<EFBFBD><C4B6><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if((01 == LcdCheckStateApp()) && (0 == start_measure_flag)) //<2F><EFBFBD><ECB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// s_g_diftof_data_testforlastvalue[s_g_diftof_head_testforlastvalue] = float_differ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// s_g_diftof_head_testforlastvalue++;
// s_g_diftof_head_testforlastvalue %= GP22_APP_DIFTOF_SIZE;
//
// if(0 == s_g_diftof_head_testforlastvalue) //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
// {
// GP30_filter_last_value_for_shunshi = FilterJunZhi_float_GP30Filter(s_g_diftof_data_testforlastvalue,GP22_APP_DIFTOF_SIZE);
// }
// return;
// }
s_g_diftof_data[s_g_diftof_head] = float_differ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_diftof_head++;
s_g_diftof_head %= GP22_APP_DIFTOF_SIZE;
if(0 == s_g_diftof_head) //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
{
s_g_diftof_for_total = TRUE;
// if(0 == s_g_diftof_head_2)
// {
// s_g_diftof_data_2[s_g_diftof_head_2] = FilterJunZhi_float_DIFTOFFilter(s_g_diftof_data,GP22_APP_DIFTOF_SIZE);
// }
// else
{
float temp_diftof_data_filter = FilterJunZhi_float_GP30Filter(s_g_diftof_data,GP22_APP_DIFTOF_SIZE);
if(temp_diftof_data_filter > -900)
{
s_g_diftof_data_2[s_g_diftof_head_2] = temp_diftof_data_filter;
s_g_diftof_head_2 ++;
s_g_sample_total_sum ++;
s_g_diftof_head_2_quotient =s_g_diftof_head_2/GP22_APP_DIFTOF_SIZE_2;
s_g_diftof_head_2 %= GP22_APP_DIFTOF_SIZE_2;
}
}
// GP30_filter_last_value_for_shunshi = s_g_diftof_data_2[s_g_diftof_head_2] ;
// s_g_diftof_head_2 ++;
// s_g_sample_total_sum ++;
// s_g_diftof_head_2 %= GP22_APP_DIFTOF_SIZE_2;
if((0 != s_g_diftof_head_2) && (s_g_sample_total_sum < GP22_APP_DIFTOF_SIZE_2))//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
{
if(s_g_diftof_head_2 > 4)
{
still_water_add = FilterJunZhi_float_DIFTOFFilter(s_g_diftof_data_2,s_g_diftof_head_2);
}
else
{
for (i = 0; i < s_g_diftof_head_2; i++)
{
still_water_add = still_water_add + s_g_diftof_data_2[i];
}
still_water_add = still_water_add / s_g_diftof_head_2;
}
}
else if((0 != s_g_diftof_head_2)||((s_g_diftof_head_2_quotient!=0)&&(0 == s_g_diftof_head_2)))//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
{
// for (i = 0; i < GP22_APP_DIFTOF_SIZE_2; i++)
// {
// still_water_add = still_water_add + s_g_diftof_data_2[i];
// }
// still_water_add = still_water_add / GP22_APP_DIFTOF_SIZE_2;
still_water_add = FilterJunZhi_float_DIFTOFFilter(s_g_diftof_data_2,GP22_APP_DIFTOF_SIZE_2);
}
else if((0 == s_g_diftof_head_2)&&(0 == s_g_diftof_head_2_quotient))//start<72><74>stop֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>ݾ<EFBFBD><DDBE><EFBFBD><EFBFBD><EFBFBD>if((behind_avg - front_avg) > sum * GP30_DIFTOF_FILTER_COEFFICIENT)
{
still_water_add = 0;
}
if (still_water_add >= 0)
{
s_g_still_water_time = FloatToGp30Data(still_water_add);
}
else
{
still_water_add = 0 - still_water_add;
s_g_still_water_time = FloatToGp30Data(still_water_add);
s_g_still_water_time |= 0x80000000;
}
gp22_app_data.s.TOF_diff = s_g_still_water_time;
gp22_test_data.s.TOF_diff = s_g_still_water_time;
}
}
/****************************************************************
Function: void StillWatetCalculate (void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>õij<EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
#elif EN_LARGE_FILITER
void StillWatetCalculate(u32 dif_value)
{
u8 i = 0;
u32 temp_value;
float still_water_add = 0, float_differ=0;
if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬,<2C><><EFBFBD><EFBFBD>ÿ<EFBFBD>ζ<EFBFBD><CEB6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
{
return;
}
if((01 == LcdCheckStateApp()) && (0 == start_measure_flag)) //<2F>춨״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
return;
}
temp_value = dif_value;
if (temp_value >= 0x80000000) //<2F><><EFBFBD><EFBFBD>
{
temp_value &= 0x7FFFFFFF;
float_differ = 0 - Gp30DataToFloat(temp_value);
}
else
{
// float_differ_last_time = temp_value;
float_differ = Gp30DataToFloat(temp_value);
}
// // 2019-12-10 10:14:37 <20>˲<EFBFBD><CBB2>Ķ<EFBFBD><C4B6><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if((01 == LcdCheckStateApp()) && (0 == start_measure_flag)) //<2F><EFBFBD><ECB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// s_g_diftof_data_testforlastvalue[s_g_diftof_head_testforlastvalue] = float_differ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// s_g_diftof_head_testforlastvalue++;
// s_g_diftof_head_testforlastvalue %= GP22_APP_DIFTOF_SIZE;
//
// if(0 == s_g_diftof_head_testforlastvalue) //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
// {
// GP30_filter_last_value_for_shunshi = FilterJunZhi_float_GP30Filter(s_g_diftof_data_testforlastvalue,GP22_APP_DIFTOF_SIZE);
// }
// return;
// }
s_g_diftof_data[s_g_diftof_head] = float_differ;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_diftof_head++;
s_g_diftof_head %= GP22_APP_DIFTOF_SIZE;
if(0 == s_g_diftof_head) //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>16<31><36>buff<66><66><EFBFBD><EFBFBD>
{
s_g_diftof_for_total = TRUE;
// if(0 == s_g_diftof_head_2)
// {
// s_g_diftof_data_2[s_g_diftof_head_2] = FilterJunZhi_float_DIFTOFFilter(s_g_diftof_data,GP22_APP_DIFTOF_SIZE);
// }
// else
{
float temp_diftof_data_filter = FilterJunZhi_float_GP30Filter(s_g_diftof_data,GP22_APP_DIFTOF_SIZE);
if(temp_diftof_data_filter > -900)
{
s_g_diftof_data_2[s_g_diftof_head_2] = temp_diftof_data_filter;
s_g_diftof_head_2 ++;
s_g_sample_total_sum ++;
s_g_diftof_head_2_quotient =s_g_diftof_head_2/GP22_APP_DIFTOF_SIZE_2;
s_g_diftof_head_2 %= GP22_APP_DIFTOF_SIZE_2;
}
}
// GP30_filter_last_value_for_shunshi = s_g_diftof_data_2[s_g_diftof_head_2] ;
// s_g_diftof_head_2 ++;
// s_g_sample_total_sum ++;
// s_g_diftof_head_2 %= GP22_APP_DIFTOF_SIZE_2;
if((0 != s_g_diftof_head_2) && (s_g_sample_total_sum < GP22_APP_DIFTOF_SIZE_2))//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
{
if(s_g_diftof_head_2 > 4)
{
still_water_add = FilterJunZhi_float_DIFTOFFilter(s_g_diftof_data_2,s_g_diftof_head_2);
}
else
{
for (i = 0; i < s_g_diftof_head_2; i++)
{
still_water_add = still_water_add + s_g_diftof_data_2[i];
}
still_water_add = still_water_add / s_g_diftof_head_2;
}
}
else if(((s_g_diftof_head_2_quotient!=0)&&(0 == s_g_diftof_head_2)))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
{
still_water_add_3 =0;
s_g_diftof_data_3[s_g_diftof_head_3] = FilterJunZhi_float_DIFTOFFilter(s_g_diftof_data_2,GP22_APP_DIFTOF_SIZE_2);//30<33><30><EFBFBD>˲<EFBFBD>ֵ
// s_g_diftof_data_3[s_g_diftof_head_3] = still_water_add; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD> 2020-3-6
s_g_diftof_head_3++;
s_g_diftof_head_3_quotient =s_g_diftof_head_3/GP22_APP_DIFTOF_SIZE_3;//ȡ<><C8A1>
s_g_diftof_head_3 %= GP22_APP_DIFTOF_SIZE_3;//ȡ<><C8A1>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>20<32><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
if((0 != s_g_diftof_head_3) && (s_g_sample_total_sum < GP22_APP_DIFTOF_SUM))//<2F><><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> 40*15
{
for (i = 0; i < s_g_diftof_head_3; i++)
{
still_water_add_3 = still_water_add_3+s_g_diftof_data_3[i];
}
still_water_add_3 = still_water_add_3 / s_g_diftof_head_3;
}
else if((0 != s_g_diftof_head_3)||((s_g_diftof_head_3_quotient!=0)&&(0 == s_g_diftof_head_3)))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
{
for (i = 0; i < GP22_APP_DIFTOF_SIZE_3; i++)
{
still_water_add_3 = still_water_add_3 + s_g_diftof_data_3[i];
}
still_water_add_3 = still_water_add_3 / GP22_APP_DIFTOF_SIZE_3;
}
}
else if((0 == s_g_diftof_head_2)&&(0 == s_g_diftof_head_2_quotient))//start<72><74>stop֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>ݾ<EFBFBD><DDBE><EFBFBD><EFBFBD><EFBFBD>if((behind_avg - front_avg) > sum * GP30_DIFTOF_FILTER_COEFFICIENT)
{
still_water_add = 0;
}
if(s_g_sample_total_sum >= GP22_APP_DIFTOF_SIZE_2)
{
still_water_add= still_water_add_3;
}
if (still_water_add >= 0)
{
s_g_still_water_time = FloatToGp30Data(still_water_add);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2019-12-27
}
else
{
still_water_add = 0 - still_water_add;
s_g_still_water_time = FloatToGp30Data(still_water_add);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2019-12-27
s_g_still_water_time |= 0x80000000;
}
gp22_app_data.s.TOF_diff = s_g_still_water_time;
gp22_test_data.s.TOF_diff = s_g_still_water_time;
}
}
#endif
/////////////////////////////////////////////<2F><><EFBFBD><EFBFBD>2////////////////////////////
//void StillWatetCalculate(u32 dif_value)
//{
// static u8 sum = 0;
// u32 temp_value;
// static float still_water_add = 0, float_differ;
//
// if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬,<2C><><EFBFBD><EFBFBD>ÿ<EFBFBD>ζ<EFBFBD><CEB6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
// {
// return;
// }
//
// if (sum < GP22_APP_DIFTOF_SIZE)
// {
//// temp_value = Gp22TimeDiffer(4); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
// temp_value = dif_value;
//
// if (temp_value >= 0x80000000) //<2F><><EFBFBD><EFBFBD>
// {
// temp_value &= 0x7FFFFFFF;
// float_differ = 0 - Gp30DataToFloat(temp_value);
// }
// else
// {
// float_differ = Gp30DataToFloat(temp_value);
// }
//
// if (0 == sum) //<2F>տ<EFBFBD>ʼ
// {
// sum++; //<2F>Ѿ<EFBFBD><D1BE><EFBFBD>ʼ
// s_g_still_water_time_max = float_differ;
// s_g_still_water_time_min = float_differ;
// }
// else
// {
// sum++; //<2F>Ѿ<EFBFBD><D1BE><EFBFBD>ʼ
// if (float_differ > s_g_still_water_time_max)
// {
// still_water_add += s_g_still_water_time_max;
// s_g_still_water_time_max = float_differ;
// }
// else if (float_differ < s_g_still_water_time_min)
// {
// still_water_add += s_g_still_water_time_min;
// s_g_still_water_time_min = float_differ;
// }
// else
// {
// still_water_add += float_differ;
// }
// }
// }
// else //GP22_APP_DIFTOF_SIZE <20><><EFBFBD><EFBFBD>
// {
// still_water_add = still_water_add / (GP22_APP_DIFTOF_SIZE-1);
//
// if (still_water_add >= 0)
// {
// s_g_still_water_time = FloatToGp30Data(still_water_add);
// }
// else
// {
// still_water_add = 0 - still_water_add;
// s_g_still_water_time = FloatToGp30Data(still_water_add);
// s_g_still_water_time |= 0x80000000;
// }
//
// gp22_app_data.TOF_diff = s_g_still_water_time;
// gp22_test_data.TOF_diff = s_g_still_water_time;
// sum = 0;
// still_water_add = 0;
// }
//}
//////////////////////////////////////////////////////////// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮʱ<CBAE><CAB1><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>////////////////////////////////////////////
//void StillWatetCalculate(u32 dif_value)
//{
// static u8 sum = 0, result;
// u32 temp_value, temp_time;//, temp_speed;
// static float still_water_add = 0, float_differ;
// static u32 still_time_max, still_time_min, time_add = 0;
//
// if (TRUE == s_g_still_flag)
// {
// if (sum < 100)
// {
// temp_value = Gp22TimeDiffer(4);
// temp_time = Gp22TimeDiffer(5); // 2014-5-12 16:53:20
//
// if (temp_value > 0x80000000) //<2F><><EFBFBD><EFBFBD>
// {
// temp_value &= 0x7FFFFFFF;
// float_differ = 0 - Gp30DataToFloat(temp_value);
// }
// else
// {
// float_differ = Gp30DataToFloat(temp_value);
// }
//
// if (0 == sum) //<2F>տ<EFBFBD>ʼ
// {
// sum++; //<2F>Ѿ<EFBFBD><D1BE><EFBFBD>ʼ
// s_g_still_water_time_max = float_differ;
// s_g_still_water_time_min = float_differ;
//
// still_time_max = temp_time;
// still_time_min = temp_time;
// }
// else
// {
// sum++; //<2F>Ѿ<EFBFBD><D1BE><EFBFBD>ʼ
// if (float_differ > s_g_still_water_time_max)
// {
// still_water_add += s_g_still_water_time_max;
// s_g_still_water_time_max = float_differ;
// }
// else if (float_differ < s_g_still_water_time_min)
// {
// still_water_add += s_g_still_water_time_min;
// s_g_still_water_time_min = float_differ;
// }
// else
// {
// still_water_add += float_differ;
// }
//
// // <20><>ˮʱ<CBAE>䣬û<E4A3AC>в<EFBFBD>
// if (temp_time > still_time_max)
// {
// time_add += still_time_max;
// still_time_max = temp_time;
// }
// else if (temp_time < still_time_min)
// {
// time_add += still_time_min;
// still_time_min = temp_time;
// }
// else
// {
// time_add += temp_time;
// }
// }
// }
// else //100<30><30><EFBFBD><EFBFBD>
// {
// still_water_add = still_water_add / 99;
// time_add = time_add / 99;
//
// s_g_still_time = time_add; //û<><C3BB>250 <20><>ns
//
// u8 temp_in_int = (u8) (TempCheckValueApp() >> 16);//////////////////////////////////ʵ<>ʲ<EFBFBD><CAB2><EFBFBD>///////////////////////////////////////////
// u32 temp_speed = sound_speed_back[temp_in_int];
// s_g_still_lenth = Gp30DataToFloat(s_g_still_time) * Gp30DataToFloat(temp_speed);
//
// Gp22AppDataPre();
// if (EepIfIdle()) //æ<>Ļ<EFBFBD><C4BB><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3>ȴ<EFBFBD>1h<31>Ĵ洢<C4B4><E6B4A2><EFBFBD><EFBFBD>
// {
// EepWrite(&g_sample_save_data.data[0], GP30_APP_DATA_ADDR, sizeof (GP30_APP_SAVE_DATA), &result);
// }
// if (still_water_add >= 0)
// {
// s_g_still_water_time = FloatToGp30Data(still_water_add);
// }
// else
// {
// still_water_add = 0 - still_water_add;
// s_g_still_water_time = FloatToGp30Data(still_water_add);
// s_g_still_water_time |= 0x80000000;
// }
// s_g_still_flag = FALSE;
// s_g_still_finish = TRUE;
// sum = 0;
// still_water_add = 0;
// time_add = 0;
// }
// }
//}
/****************************************************************
Function: void Gp22SampleChange (void)
Description: GP22 <EFBFBD>ڷǼ״̬<EFBFBD><EFBFBD>,<EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
//void Gp22SampleChange (void)
//{
// if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬
// {
// if(0 != gp22_test_data.s.ins_flow) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,<2C><><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB>ɸ߲<C9B8><DFB2><EFBFBD>Ƶ<EFBFBD><C6B5>
// {
// s_g_gp22_sample_span = GP22_SAMPLE_2HZ; //0.5s
// s_g_gp22_sample_sum = 0;
// }
// else
// {
// if(GP22_SAMPLE_2HZ == s_g_gp22_sample_span)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,<2C>ҵ<EFBFBD>ǰ<EFBFBD><C7B0>0.5s<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// s_g_gp22_sample_sum++;
// if(s_g_gp22_sample_sum > 40) //2min֮<6E><D6AE>,<2C>л<EFBFBD><D0BB><EFBFBD>1s =3*<2A><><EFBFBD><EFBFBD>
// {
// s_g_gp22_sample_span = GP22_SAMPLE_0_5HZ; //2s
// s_g_gp22_sample_sum = 0;
// }
// }
// }
// }
//}
/****************************************************************
Function: void Gp22AppClearData (void)
Description: GP22-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
Input:<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Return:
*****************************************************************/
void Gp22FlowDetect(float current_ins_flow)
{
static u8 gp30_app_flow_detect_state = GP30_APP_FLOW_DETECT_S0;
static float original_total_flow=0;//<2F><>¼ԭʼ<D4AD><CABC><EFBFBD><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>
float accumulate_volume_diff=0,accumulate_volume_diff_5L=0,accumulate_volume_diff_10L=0,accumulate_volume_diff_100L=0;//<2F><>ǰ<EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>-<2D><>ʼ<EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>
static u8 NbIoTUpload_state=FALSE;
if(FixedTimeNbIoTUploadIfIdle() == TASK_BUSY)//
{
NbIoTUpload_state = TRUE;
}
switch (gp30_app_flow_detect_state)
{
case GP30_APP_FLOW_DETECT_S0:
{
if(current_ins_flow!=0)//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ٲ<EFBFBD>Ϊ0
{
if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬
{
original_total_flow = gp22_app_data.s.total_flow.gp30_float;//<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD>Ǽ춨<C7BC>ۻ<EFBFBD><DBBB><EFBFBD>
}
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ춨
{
original_total_flow = gp22_test_data.s.total_flow.gp30_float;//<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>
}
RtccSetTimer(FLOW_DETECT_TIME, FLOW_DETECT_5S);//<2F><>ʱ5s
NbIoTUpload_state = FALSE;
gp30_app_flow_detect_state = GP30_APP_FLOW_DETECT_S1;
}
break;
}
case GP30_APP_FLOW_DETECT_S1:
{
if(0==RtccCheckTimer(FLOW_DETECT_TIME))//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B5BD>
{
gp30_app_flow_detect_state = GP30_APP_FLOW_DETECT_S2;
}
break;
}
case GP30_APP_FLOW_DETECT_S2:
{
// if(current_ins_flow<=(float)200)//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>С<EFBFBD><D0A1>200L/h
{
if(0==current_ins_flow)//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ϊ0
{
if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬
{
accumulate_volume_diff = gp22_app_data.s.total_flow.gp30_float - original_total_flow;//<2F><><EFBFBD>㵱ǰ<E3B5B1>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
accumulate_volume_diff_5L = accumulate_volume_diff - (float)0.5;//<2F><>5L<35>IJ<EFBFBD>ֵ
accumulate_volume_diff_10L = accumulate_volume_diff - (float)1;//<2F><>10L<30>IJ<EFBFBD>ֵ
accumulate_volume_diff_100L = accumulate_volume_diff - (float)10;//<2F><>100L<30>IJ<EFBFBD>ֵ
if((accumulate_volume_diff_10L >=(float)-0.035)&&(accumulate_volume_diff_10L <= (float)0.035))
{
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float - accumulate_volume_diff_10L *(float)0.2;//<2F><>С80%
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
}
else if((accumulate_volume_diff_5L >=(float)-0.0175)&&(accumulate_volume_diff_5L <= (float)0.0175))
{
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float - accumulate_volume_diff_5L *(float)0.2;//<2F><>С80%
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
}
else if((accumulate_volume_diff_100L >=(float)-0.8)&&(accumulate_volume_diff_100L <= (float)0.8))
{
if(TRUE==NbIoTUpload_state)
{
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float - accumulate_volume_diff_100L *(float)0.85;//<2F><>С15%
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
}
}
}
else//<2F>춨״̬
{
accumulate_volume_diff = gp22_test_data.s.total_flow.gp30_float - original_total_flow;//<2F><><EFBFBD>㵱ǰ<E3B5B1>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
accumulate_volume_diff_5L = accumulate_volume_diff - (float)500;//<2F><>5L<35>IJ<EFBFBD>ֵ
accumulate_volume_diff_10L = accumulate_volume_diff - (float)1000;//<2F><>10L<30>IJ<EFBFBD>ֵ
if((accumulate_volume_diff_10L >=(float)-35)&&(accumulate_volume_diff_10L <= (float)35))
{
gp22_test_data.s.total_flow.gp30_float = gp22_test_data.s.total_flow.gp30_float - accumulate_volume_diff_10L *(float)0.2;//<2F><>С80%
}
else if((accumulate_volume_diff_5L >=(float)-17.5)&&(accumulate_volume_diff_5L <= (float)17.5))
{
gp22_test_data.s.total_flow.gp30_float = gp22_test_data.s.total_flow.gp30_float - accumulate_volume_diff_5L *(float)0.2;//<2F><>С80%
}
}
NbIoTUpload_state = FALSE;
gp30_app_flow_detect_state = GP30_APP_FLOW_DETECT_S0;
}
}
// else //<2F><><EFBFBD>ٴ<EFBFBD><D9B4><EFBFBD>200 <20>򲻽<EFBFBD><F2B2BBBD><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// gp30_app_flow_detect_state = GP30_APP_FLOW_DETECT_S3;
// }
break;
}
case GP30_APP_FLOW_DETECT_S3:
{
if(0==current_ins_flow)//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ϊ0
{
gp30_app_flow_detect_state = GP30_APP_FLOW_DETECT_S0;
}
break;
}
default:
{
gp30_app_flow_detect_state = GP30_APP_FLOW_DETECT_S0;
break;
}
}
}
/****************************************************************
Function: void Gp22EventCheckApp(void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>¼
Input:
Return:
Others:
*****************************************************************/
void Gp22EventCheckApp(u32 ins_flow)
{
//15 20 25 32 40 <20>ھ<EFBFBD>
//0.002 0.004 0.006 0.010 0.025 ʹ<><CAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//0.010 0.016 0.025 0.040 0.064 <20><>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
//0.016 0.025 0.040 0.064 0.100 <20>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
//2.5 4.0 6.3 10.0 16.0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//3.125 5.0 7.875 12.5 20.0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ins_flow = MulGp30Data(ins_flow, 0x00000041); //ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿСʱ
if((ins_flow != 0)&&((ins_flow < MIN_FLOW_0_6)||(ins_flow > MAX_FLOW_1_02))) ///<2F><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>60%,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>102%
{
gp22CheckErrEventApp(GP30_low_high_flow); // 5/4
}
else
{
gp22CheckErrEventApp(GP30_low_high_flow_DE); // 5/4 DE
}
if((ins_flow != 0)&&(ins_flow < MIN_FLOW_0_3)) //<2F><>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>30%<25><>Ϊ΢©<CEA2><C2A9>3L/h
{
gp22CheckErrEventApp(GP30_low_flow); // 3/4
}
else
{
gp22CheckErrEventApp(GP30_low_flow_DE); // 3/4 DE
}
float temp_temp = TempCheckValueApp();
if((temp_temp > 55) || (temp_temp < -0.5)) //T50<35>¶ȷ<C2B6>Χ,0-55<35><35>
{
gp22CheckErrEventApp(GP30_out_temp); // 4/4
}
else
{
gp22CheckErrEventApp(GP30_out_temp_DE); // 4/4 DE
}
}
/****************************************************************
Function: void
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
float ModifyForVolumeTestbench(float temp_ins_flow_float)
{
float temp_value = TempCheckValueApp();
#if LLGS_DN15_BRASS_40KPA_GP30_32768
if(temp_ins_flow_float >= (float)110) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if((temp_value >= (float)28)&&(temp_value < (float)31)) //<2F>¶ȷ<C2B6>Χ
{
temp_ins_flow_float = temp_ins_flow_float * ((float)-0.0013*temp_value + (float)1.0373);//28 1 31 -0.4%
}
else if((temp_value >= (float)31)&&(temp_value < (float)34)) //<2F>¶ȷ<C2B6>Χ
{
temp_ins_flow_float = temp_ins_flow_float * ((float)0.0013*temp_value + (float)0.9547);//34 1 31 -0.4%
}
}
else if((temp_ins_flow_float > (float)23)&&(temp_ins_flow_float < (float)27))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value < (float)23) //<2F>¶ȷ<C2B6>Χ
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.005;//
}
}
else if(temp_ins_flow_float <= (float)23) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if((temp_value >= (float)12)&&(temp_value < (float)23)) //<2F>¶ȷ<C2B6>Χ
{
temp_ins_flow_float = temp_ins_flow_float * ((float)-0.00018182*temp_value +(float)1.00718182);//12+0.5% 23 +0.3
}
else if(temp_value < (float)12) //<2F>¶ȷ<C2B6>Χ
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.005;//
}
}
#elif Buxiugang_LLGS_WDFS_DN15_BXG_40KPA_GP30_32768
#elif Plastic_LLGS_WDFS_DN15_PALSTIC_40KPA_GP30_32768
#elif ROUND_LLGS_DN15_BRASS_40KPA_GP30_32768 || ROUND_LLGS_WDFS_DN15_BRASS_40KPA_GP30_32768
if(temp_value < (float)16.41)
{
if(temp_ins_flow_float < (float)8.5)
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.997;
}
// else if((temp_ins_flow_float >= (float)6)&&(temp_ins_flow_float < (float)8.5))
// {
// temp_ins_flow_float = temp_ins_flow_float * ((float)0.0032*temp_ins_flow_float+ (float)0.9758);//6:-0.5% 8.5:+0.3%
// }
// else if((temp_ins_flow_float >= (float)8.5)&&(temp_ins_flow_float < (float)25))
// {
// temp_ins_flow_float = temp_ins_flow_float * (float)1.003;
// }
// else if(temp_ins_flow_float >= (float)180)
// {
// temp_ins_flow_float = temp_ins_flow_float * (float)1.0025;
// }
}
else if((temp_value >= (float)16.41)&&(temp_value < (float)22.43))
{
if((temp_ins_flow_float >= (float)8.5)&&(temp_ins_flow_float < (float)25))
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.003;
}
else if(temp_ins_flow_float >= (float)180)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.0025;
}
}
else if((temp_value >= (float)28.06)&&(temp_value < (float)34.86)) //2022-5-30 14:30:33
{
if(temp_ins_flow_float <= (float)25)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.002;
}
}
else if((temp_value >= (float)34.86)&&(temp_value < (float)41.9))
{
if(temp_ins_flow_float >= (float)180)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.002;
}
}
else if(temp_value >= (float)41.9) //<2F>¶ȷ<C2B6>Χ
{
if((temp_ins_flow_float >= (float)8.5)&&(temp_ins_flow_float < (float)25))
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.003;
}
}
#elif EN_DN15_BRASS_63KPA_GP30_32768 // <20><><EFBFBD><EFBFBD>̨<EFBFBD><CCA8>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#elif MID_DN15_BRASS_63KPA_GP30_32768
if(temp_value >= (float)35)
{
if(temp_ins_flow_float < (float)25)
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.998;
}
else if(temp_ins_flow_float>= (float)2100)
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.997;
}
}
else if((temp_value >= (float)17)&&(temp_value < (float)35))
{
if(temp_ins_flow_float < (float)25)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.003;
}
}
else if((temp_value >= (float)15)&&(temp_value < (float)17))
{
if(temp_ins_flow_float <= (float)30)
{
temp_ins_flow_float = temp_ins_flow_float * ((float)0.003*temp_value +(float) 0.955);
}
}
#elif PF_DN15_BRASS_63KPA_GP30_32768
if(temp_value >= (float)17)
{
if(temp_ins_flow_float < (float)25)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.008;
}
else if((temp_ins_flow_float >= (float)25)&&(temp_ins_flow_float < (float)30))
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.005;//
}
else if((temp_ins_flow_float >= (float)30)&&(temp_ins_flow_float < (float)45))
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.003;//
}
}
else if((temp_value >= (float)15)&&(temp_value < (float)17))
{
if(temp_ins_flow_float <= (float)30)
{
temp_ins_flow_float = temp_ins_flow_float * ((float)0.003*temp_value +(float) 0.955);
}
}
#elif EN_DN20_BRASS_63KPA_GP30_32768
#elif MID_DN20_BRASS_63KPA_GP30_32768
if(temp_ins_flow_float <= (float)22)
{
if(temp_value < (float)13)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.005;
}
else if((temp_value >= (float)13)&&(temp_value < (float)21))
{
temp_ins_flow_float = temp_ins_flow_float *((float)0.0004*temp_value + (float)1.0001);//35:+0.5%-0.85%
}
else if((temp_value >= (float)21)&&(temp_value < (float)23))
{
temp_ins_flow_float = temp_ins_flow_float *((float)-0.002*temp_value + (float)1.05);//35:+0.8%-0.4%
}
else if((temp_value >= (float)27)&&(temp_value < (float)30))
{
temp_ins_flow_float = temp_ins_flow_float *((float)0.001*temp_value + (float)0.977);//35:+0.4%-0.7%
}
else if((temp_value >= (float)30)&&(temp_value < (float)34))
{
temp_ins_flow_float = temp_ins_flow_float *((float)-0.001*temp_value + (float)1.037);//35:+0.7%-0.3%
}
else if(temp_value >= (float)40)
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.003;//
}
}
else if((temp_ins_flow_float > (float)22)&&(temp_ins_flow_float <= (float)24)) //<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>22<32><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if(temp_value <= (float)23)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.004;
}
else if((temp_value >= (float)27)&&(temp_value < (float)34))
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.003;//
}
}
else if(temp_ins_flow_float > (float)260)
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.997;
}
#elif DN20_BRASS_40KPA_GP30_32768
if(temp_ins_flow_float <= (float)200)
{
temp_ins_flow_float = temp_ins_flow_float * TEST_BENCH_coefficient;//<2F><>е̨<D0B5><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
#elif LLGS_WDFS_DN20_BRASS_40KPA_GP30_32768
if(temp_value <15)
{
if(temp_ins_flow_float < (float)35)
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.995;
}
}
else if((temp_value >= (float)30))
{
if(temp_ins_flow_float < (float)35)
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.997;
}
}
#elif PF_DN20_BRASS_63KPA_GP30_32768
if(temp_ins_flow_float <= (float)22)
{
if(temp_value < (float)13)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.005;
}
else if((temp_value >= (float)13)&&(temp_value < (float)21))
{
temp_ins_flow_float = temp_ins_flow_float *((float)0.0004*temp_value + (float)1.0001);//35:+0.5%-0.85%
}
else if((temp_value >= (float)21)&&(temp_value < (float)23))
{
temp_ins_flow_float = temp_ins_flow_float *((float)-0.002*temp_value + (float)1.05);//35:+0.8%-0.4%
}
else if((temp_value >= (float)27)&&(temp_value < (float)30))
{
temp_ins_flow_float = temp_ins_flow_float *((float)0.001*temp_value + (float)0.977);//35:+0.4%-0.7%
}
else if((temp_value >= (float)30)&&(temp_value < (float)34))
{
temp_ins_flow_float = temp_ins_flow_float *((float)-0.001*temp_value + (float)1.037);//35:+0.7%-0.3%
}
else if(temp_value >= (float)40)
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.003;//
}
}
else if((temp_ins_flow_float > (float)22)&&(temp_ins_flow_float <= (float)24)) //<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>22<32><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if(temp_value <= (float)23)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.004;
}
else if((temp_value >= (float)27)&&(temp_value < (float)34))
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.003;//
}
}
else if(temp_ins_flow_float > (float)260)
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.997;
}
#elif LLGS_DN20_BRASS_40KPA_GP30_32768
if(temp_value < (float)12.97)
{
if(temp_ins_flow_float < (float)30)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.005;
}
else if((temp_ins_flow_float >= (float)30)&&(temp_ins_flow_float < (float)100))
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.008;//
}
else if((temp_ins_flow_float >= (float)100)&&(temp_ins_flow_float < (float)150))
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.005;//
}
else if((temp_ins_flow_float >= (float)150)&&(temp_ins_flow_float < (float)180))
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.003;//
}
}
else if((temp_value >= (float)12.97)&&(temp_value < (float)22.62))
{
if(temp_ins_flow_float < (float)180)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.007;
}
else if((temp_ins_flow_float >= (float)180)&&(temp_ins_flow_float < (float)220))
{
temp_ins_flow_float = temp_ins_flow_float *(float)1.003;//
}
}
else if((temp_value >= (float)22.62)&&(temp_value < (float)25.54))
{
if(temp_ins_flow_float <= (float)150)
{
temp_ins_flow_float = temp_ins_flow_float * ((float)-0.0017*temp_value + (float)1.0437);//0.5-0
}
}
else if((temp_value >= (float)27.99)&&(temp_value < (float)31.12))
{
if(temp_ins_flow_float < (float)45)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.003;
}
}
#elif Buxiugang_LLGS_WDFS_DN20_BXG_40KPA_GP30_32768
#elif ROUND_LLGS_DN20_BRASS_40KPA_GP30_32768 || ROUND_LLGS_WDFS_DN20_BRASS_40KPA_GP30_32768
if(temp_value < (float)19.83)
{
if((temp_ins_flow_float >= (float)19)&&(temp_ins_flow_float < (float)35))
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.002;
}
else if((temp_ins_flow_float >= (float)180)&&(temp_ins_flow_float < (float)4300))
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.996;
}
}
else if((temp_value >= (float)19.83)&&(temp_value < (float)25.5))
{
if(temp_ins_flow_float <= (float)35)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.002;
}
else if((temp_ins_flow_float >= (float)180)&&(temp_ins_flow_float < (float)4300))
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.998;
}
}
else if((temp_value >= (float)25.5)&&(temp_value < (float)40))
{
if(temp_ins_flow_float <= (float)19)
{
temp_ins_flow_float = temp_ins_flow_float *((float)0.0003*temp_value + (float)0.993);//<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȵ<C2B6><C8B5><EFBFBD><EFBFBD><EFBFBD> 25.5<EFBFBD><EFBFBD> +0<><30> 40<34>ȣ<EFBFBD>+0.4%
}
else if((temp_ins_flow_float >= (float)150)&&(temp_ins_flow_float < (float)180))
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.998;
}
else if((temp_ins_flow_float >= (float)180)&&(temp_ins_flow_float < (float)4300))
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.995;
}
else if(temp_ins_flow_float >= (float)4300)
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.998;
}
}
else if(temp_value >= (float)40) //<2F>¶ȷ<C2B6>Χ
{
if((temp_ins_flow_float >= (float)150)&&(temp_ins_flow_float < (float)180))
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.997;
}
else if((temp_ins_flow_float >= (float)180)&&(temp_ins_flow_float < (float)4300))
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.993;
}
else if(temp_ins_flow_float >= (float)4300)
{
temp_ins_flow_float = temp_ins_flow_float * (float)0.996;
}
}
#elif PF_DN25_BRASS_63KPA_GP30_32768
if(temp_value > (float)35)
{
if((temp_ins_flow_float > (float)400))
{
temp_ins_flow_float = temp_ins_flow_float *(float)0.996;
}
}
else if((temp_value > (float)27.69)&&(temp_value <= (float)35))
{
if(temp_ins_flow_float <= (float)65)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.003;
}
else if((temp_ins_flow_float > (float)4500))
{
temp_ins_flow_float = temp_ins_flow_float *(float)0.998;
}
}
else if(temp_value <= (float)27.69)
{
if(temp_ins_flow_float <= (float)65)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.005;
}
else if((temp_ins_flow_float > (float)4500))
{
temp_ins_flow_float = temp_ins_flow_float *(float)0.998;
}
}
#elif DN25_BRASS_40KPA_GP30_32768
if(temp_value > (float)35)
{
if((temp_ins_flow_float > (float)400))
{
temp_ins_flow_float = temp_ins_flow_float *(float)0.996;
}
}
else if((temp_value > (float)27.69)&&(temp_value <= (float)35))
{
if(temp_ins_flow_float <= (float)65)
{
temp_ins_flow_float = temp_ins_flow_float * (float)1.003;
}
else if((temp_ins_flow_float > (float)4500))
{
temp_ins_flow_float = temp_ins_flow_float *(float)0.998;
}
}
else if((temp_value <= (float)27.69))
{
if((temp_ins_flow_float > (float)4500))
{
temp_ins_flow_float = temp_ins_flow_float *(float)0.996;
}
}
#endif
return temp_ins_flow_float;
}
/****************************************************************
Function: void Gp22FlowCalculate(u32 time_dof)
Description: <EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>Ȳ<EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
float Gp22FlowCalculate(u32 time_dof)
{
static u32 diftof_abnormal_cnt=0;
static u32 transducer_check_cnt=0;
float ins_flow_temp_float = 0;
float time_dof_temp_float = 0;
float temp_value_float=0;
#if WENDU_FANSUAN_OPEN
Water_Meter_Temp_calculate(time_dof);//<2F><><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>---<2D><><EFBFBD>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
#endif
if(RtccCheckMsgApp(RtccMsg_Transducer_Check))
{
RtccClearMsgApp(RtccMsg_Transducer_Check);//<2F><>ÿ<EFBFBD><C3BF>2<EFBFBD><32><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><E2BBBB><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ı<EFBFBD>־
if(transducer_check_cnt>DIFTOF_CALIBRATION_CNT)
{
transducer_err_msg = TRUE;
}
else
{
transducer_err_msg = FALSE;
}
transducer_check_cnt=0;
}
if((time_dof < gp30_app_start_flow_filter)||(time_dof >= 0x40000)) //DN15<31><35>DN20<32><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>900<30><30>700ps<70><73>3.77L<EFBFBD><EFBFBD>5 L<><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>800<30><30>600<30><30>3.3L<EFBFBD><EFBFBD>4.2<EFBFBD><EFBFBD>//2019<31><39>1<EFBFBD><31>22<32>գ<EFBFBD><D5A3><EFBFBD><EFBFBD><EFBFBD>ʱд<CAB1><D0B4>
{
ins_flow_temp_float = 0;
}
else
{
transducer_check_cnt++;
time_dof_temp_float = Gp30DataToFloat(time_dof); //<2F>Ȱ<EFBFBD><C8B0><EFBFBD>Чʱ<D0A7><CAB1><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ɸ<EFBFBD><C9B8><EFBFBD><EFBFBD><EFBFBD>
time_dof_temp_float = time_dof_temp_float * (float)250;// <20><>usת<73><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>ns<6E><73> /4 *1000=ns
//------------------------------------------------- <20><><EFBFBD><EFBFBD><EFBFBD>¶ȴ<C2B6><C8B4>ʼ<EBBFAA><CABC>-------------
if(TRUE == CheckDiftofCalibrationFlag())
{
diftof_abnormal_cnt++;
if(RtccCheckMsgApp(RtccMsg_DiftofCalibration))
{
RtccClearMsgApp(RtccMsg_DiftofCalibration);//<2F><>ÿ<EFBFBD><C3BF>2<EFBFBD><32><EFBFBD><EFBFBD>У׼<D0A3><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
if(diftof_abnormal_cnt>DIFTOF_CALIBRATION_CNT)
{
Gp30DiftofCalibration();
diftof_auto_calibration_msg = TRUE;
}
diftof_abnormal_cnt=0;
}
}
else
{
diftof_abnormal_cnt=0;
}
if(s_g_sample_ok_flag)
{
temp_value_float = temp_sample_value;//<2F><>ȡ<EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><C2B6><EFBFBD>ֵ
}
else
{
temp_value_float = TempCheckValueApp();//<2F><>ȡʵʱ<CAB5><CAB1><EFBFBD><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>-----<2D><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if((temp_value_float<-0.5)&&((gp22_app_data.s.peak_up>95)&&(gp22_app_data.s.peak_down>95)))//<2F><EFBFBD><C2B6><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ϊ<EFBFBD>¶ȴ<C2B6><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
temp_value_float = 20;
}
flow_coef=ReadCofficientApp();//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>׵<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>
#if DN15_BRASS_40KPA_GP30_32768 || WDFS_DN15_BRASS_40KPA_GP30_32768 || LLGS_DN15_BRASS_40KPA_GP30_32768 || LLGS_WDFS_DN15_BRASS_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-3.089 + (float)0.1979*temp_value_float + (float)5.032*time_dof_temp_float -(float)0.004616*temp_value_float*temp_value_float + (float)0.03869*temp_value_float*time_dof_temp_float + (float)0.02473*time_dof_temp_float*time_dof_temp_float;
#elif ROUND_LLGS_DN15_BRASS_40KPA_GP30_32768 || ROUND_LLGS_WDFS_DN15_BRASS_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-3.089 + (float)0.1979*temp_value_float + (float)5.032*time_dof_temp_float -(float)0.004616*temp_value_float*temp_value_float + (float)0.03869*temp_value_float*time_dof_temp_float + (float)0.02473*time_dof_temp_float*time_dof_temp_float;
#elif Plastic_LLGS_WDFS_DN15_PALSTIC_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-2.994 + (float)0.1383*temp_value_float + (float) 5.823*time_dof_temp_float -(float)0.002506*temp_value_float*temp_value_float + (float)0.03894*temp_value_float*time_dof_temp_float + (float)0.02752*time_dof_temp_float*time_dof_temp_float;
#elif Buxiugang_LLGS_WDFS_DN15_BXG_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-3.219 + (float)0.1349*temp_value_float + (float)5.279*time_dof_temp_float -(float)0.002371*temp_value_float*temp_value_float + (float)0.02696*temp_value_float*time_dof_temp_float + (float)0.01182*time_dof_temp_float*time_dof_temp_float;
#elif ROUND_LLGS_XFZ_DN15_BRASS_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-2.163+ (float)0.1283*temp_value_float + (float)5.585*time_dof_temp_float -(float)0.002701*temp_value_float*temp_value_float + (float)0.0443*temp_value_float*time_dof_temp_float + (float)0.02777*time_dof_temp_float*time_dof_temp_float;
#elif DN20_BRASS_40KPA_GP30_32768 || WDFS_DN20_BRASS_40KPA_GP30_32768 || LLGS_DN20_BRASS_40KPA_GP30_32768 || LLGS_WDFS_DN20_BRASS_40KPA_GP30_32768 || ROUND_LLGS_DN20_BRASS_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-4.374+ (float)0.2251*temp_value_float + (float)7.566*time_dof_temp_float -(float)0.004431*temp_value_float*temp_value_float + (float)0.05552*temp_value_float*time_dof_temp_float + (float)0.03715*time_dof_temp_float*time_dof_temp_float;
#elif ROUND_LLGS_XFZ_DN20_BRASS_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-4.228+ (float)0.2106*temp_value_float + (float)7.191*time_dof_temp_float -(float)0.003052*temp_value_float*temp_value_float + (float)0.03379*temp_value_float*time_dof_temp_float + (float)0.007546*time_dof_temp_float*time_dof_temp_float;
#elif ROUND_LLGS_DN20_BRASS_40KPA_GP30_32768 || ROUND_LLGS_WDFS_DN20_BRASS_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-4.374+ (float)0.2251*temp_value_float + (float)7.566*time_dof_temp_float -(float)0.004431*temp_value_float*temp_value_float + (float)0.05552*temp_value_float*time_dof_temp_float + (float)0.03715*time_dof_temp_float*time_dof_temp_float;
#elif Buxiugang_LLGS_WDFS_DN20_BXG_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-4.363+ (float)0.1885*temp_value_float + (float)8.31*time_dof_temp_float -(float)0.003478*temp_value_float*temp_value_float + (float)0.05026*temp_value_float*time_dof_temp_float + (float)0.02686*time_dof_temp_float*time_dof_temp_float;
#elif DN25_BRASS_40KPA_GP30_32768 || LLGS_DN25_BRASS_40KPA_GP30_32768
float Mum_T_DIFTOF = (float)-4.629 + (float)0.1449*temp_value_float + (float)7.528*time_dof_temp_float -(float)0.002609*temp_value_float*temp_value_float + (float)0.05185*temp_value_float*time_dof_temp_float + (float)0.03089*time_dof_temp_float*time_dof_temp_float;
#elif DN32_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-13.82 + (float)0.4569 *temp_value_float + (float)12.48*time_dof_temp_float -(float)0.006447*temp_value_float*temp_value_float + (float)0.06745*temp_value_float*time_dof_temp_float + (float)0.02257*time_dof_temp_float*time_dof_temp_float;
#elif DN40_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-29.04 + (float)1.514*temp_value_float + (float)23.38*time_dof_temp_float -(float)0.0237*temp_value_float*temp_value_float + (float)0.1134*temp_value_float*time_dof_temp_float + (float)0.008339*time_dof_temp_float*time_dof_temp_float;
#elif BM_DN15_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-1.889+ (float)0.08152*temp_value_float + (float)4.085*time_dof_temp_float -(float)0.001562*temp_value_float*temp_value_float + (float)0.03146*temp_value_float*time_dof_temp_float + (float)0.03695*time_dof_temp_float*time_dof_temp_float;
#elif BM_DN20_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF=(float)-4.947 + (float)0.2216*temp_value_float + (float)8.223*time_dof_temp_float -(float)0.003235*temp_value_float*temp_value_float + (float)0.04133*temp_value_float*time_dof_temp_float + (float)0.02369*time_dof_temp_float*time_dof_temp_float;
#elif BM_DN25_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-4.629 + (float)0.1449*temp_value_float + (float)7.528*time_dof_temp_float -(float)0.002609*temp_value_float*temp_value_float + (float)0.05185*temp_value_float*time_dof_temp_float + (float)0.03089*time_dof_temp_float*time_dof_temp_float;
#elif BM_DN32_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-13.82 + (float)0.4569 *temp_value_float + (float)12.48*time_dof_temp_float -(float)0.006447*temp_value_float*temp_value_float + (float)0.06745*temp_value_float*time_dof_temp_float + (float)0.02257*time_dof_temp_float*time_dof_temp_float;
#elif BM_DN40_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-29.04 + (float)1.514*temp_value_float + (float)23.38*time_dof_temp_float -(float)0.0237*temp_value_float*temp_value_float + (float)0.1134*temp_value_float*time_dof_temp_float + (float)0.008339*time_dof_temp_float*time_dof_temp_float;
#elif MID_DN15_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-3.484 + (float)0.08413*temp_value_float + (float)5.147*time_dof_temp_float -(float)0.0009018*temp_value_float*temp_value_float + (float)0.02242*temp_value_float*time_dof_temp_float + (float)0.01383*time_dof_temp_float*time_dof_temp_float;
#elif MID_DN20_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-4.779 + (float)0.1773*temp_value_float + (float)7.718*time_dof_temp_float -(float)0.0029*temp_value_float*temp_value_float + (float)0.04264*temp_value_float*time_dof_temp_float + (float)0.02904*time_dof_temp_float*time_dof_temp_float;
#elif MID_DN25_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-10.63 + (float)0.4456 *temp_value_float + (float)8.033*time_dof_temp_float -(float)0.007159*temp_value_float*temp_value_float + (float)0.04336*temp_value_float*time_dof_temp_float + (float)0.009849*time_dof_temp_float*time_dof_temp_float;
#elif EN_DN15_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-3.484 + (float)0.08413*temp_value_float + (float)5.147*time_dof_temp_float -(float)0.0009018*temp_value_float*temp_value_float + (float)0.02242*temp_value_float*time_dof_temp_float + (float)0.01383*time_dof_temp_float*time_dof_temp_float;
#elif EN_DN20_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-6.865 + (float)0.334*temp_value_float + (float)8.025*time_dof_temp_float -(float)0.005138*temp_value_float*temp_value_float + (float)0.04061*temp_value_float*time_dof_temp_float + (float)0.01638*time_dof_temp_float*time_dof_temp_float;
//20211204
#elif PF_DN15_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-3.484 + (float)0.08413*temp_value_float + (float)5.147*time_dof_temp_float -(float)0.0009018*temp_value_float*temp_value_float + (float)0.02242*temp_value_float*time_dof_temp_float + (float)0.01383*time_dof_temp_float*time_dof_temp_float;
#elif PF_DN20_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-4.779 + (float)0.1773*temp_value_float + (float)7.718*time_dof_temp_float -(float)0.0029*temp_value_float*temp_value_float + (float)0.04264*temp_value_float*time_dof_temp_float + (float)0.02904*time_dof_temp_float*time_dof_temp_float;
#elif PF_DN25_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-4.629 + (float)0.1449*temp_value_float + (float)7.528*time_dof_temp_float -(float)0.002609*temp_value_float*temp_value_float + (float)0.05185*temp_value_float*time_dof_temp_float + (float)0.03089*time_dof_temp_float*time_dof_temp_float;
#elif PF_DN32_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-13.82 + (float)0.4569 *temp_value_float + (float)12.48*time_dof_temp_float -(float)0.006447*temp_value_float*temp_value_float + (float)0.06745*temp_value_float*time_dof_temp_float + (float)0.02257*time_dof_temp_float*time_dof_temp_float;
#elif PF_DN40_BRASS_63KPA_GP30_32768
float Mum_T_DIFTOF = (float)-29.04 + (float)1.514*temp_value_float + (float)23.38*time_dof_temp_float -(float)0.0237*temp_value_float*temp_value_float + (float)0.1134*temp_value_float*time_dof_temp_float + (float)0.008339*time_dof_temp_float*time_dof_temp_float;
#endif
#if LILUNGONGSHI_MODLE_WATER_METER
if (Mum_T_DIFTOF <= SEGMENT_NUM_LARGE) //С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۹<EFBFBD>ʽ+<2B><><EFBFBD><EFBFBD><EEB2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
float sound_speed_C;
float reynolds_coefficient;
//*******************************<2A><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>********************************//
//<2F><><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>C
u8 calculate_num ; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
float calculate_decimal ; //<2F>¶ȵ<C2B6>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if((temp_value_float < 0) || (temp_value_float > 100)) //<2F><EFBFBD><EFBFBD><C2B6>жϣ<D0B6><CFA3><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>
{
sound_speed_C = sound_speed_in_water[20];
}
else
{
calculate_num = (u8) (temp_value_float); //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
calculate_decimal = temp_value_float - calculate_num; //<2F>¶ȵ<C2B6>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sound_speed_C = sound_speed_in_water[calculate_num] + calculate_decimal * (sound_speed_in_water[calculate_num + 1] - sound_speed_in_water[calculate_num]);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
float ins_flow_rate_float = sound_speed_C * sound_speed_C * time_dof_temp_float * FLOW_RATE_MULTIPLIER;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5>
float temp_cal = temp_value_float;
if(temp_value_float < 0)
{
temp_cal = 0;
}
else if(temp_value_float > 55)
{
temp_cal = 55;
}
float kinematic_viscosity = (float)-0.006*temp_cal*temp_cal*temp_cal + (float)0.9153*temp_cal*temp_cal - (float)55.214*temp_cal + (float)1784.2;
float water_density = 1000*((float)-0.00000535*temp_cal*temp_cal+(float)0.0000130707*temp_cal+(float)1.0001);
float Reynolds_number = 1000*water_density * ins_flow_rate_float * MEASYRING_TUBE_DIAMETER / kinematic_viscosity; //<2F><>ŵ<EFBFBD><C5B5>Re = <20><>*v*L/<2F><> L<><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ins_flow_temp_float = ins_flow_rate_float * FLOW_MULTIPLIER; // L/h
// u32 tickstart_test = Timer1usGetTick(); //<2F><><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD>ʱ<EFBFBD><CAB1>
//<2F><><EFBFBD><EFBFBD><EFBFBD>ٶȲ<D9B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2021-2-1
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȱ<EFBFBD><C8B0>յ<EFBFBD>һ<EFBFBD><D2BB>
/*
4000<Re<100000 n=6<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>=1.08887
<120000 n=7<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>=1.075704
<350000 n=8<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>=1.065936
<3240000 n=9<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>=1.0584
>3240000 n=10<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>=1.05241
*/
// float XIAN_coefficient = (float)1.08887;
// if(Reynolds_number < (float)100000)
// {
// XIAN_coefficient = (float)1.08887;
// }
// else if(Reynolds_number < (float)120000)
// {
// XIAN_coefficient = (float)1.075704;
// }
// else if(Reynolds_number < (float)350000)
// {
// XIAN_coefficient = (float)1.065936;
// }
// else if(Reynolds_number < (float)3240000)
// {
// XIAN_coefficient = (float)1.0584;
// }
// else
// {
// XIAN_coefficient = (float)1.05241;
// }
// ins_flow_temp_float = ins_flow_temp_float*XIAN_coefficient;
//<2F><><EFBFBD>ٶȲ<D9B6><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ֶ<EFBFBD>
//=Y3/(1+0.01*SQRT(6.25+431*POWER(V3,-0.237))) <20><><EFBFBD><EFBFBD><EFBFBD>Ը<EFBFBD><D4B8>ã<EFBFBD><C3A3><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
//̩<><CCA9>չ<EFBFBD><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// r = taylor(1 + (0.01 * sqrt(6.25 + 431*power(x,-0.237))),x,'order',10)
//<2F><>ʽ<EFBFBD><CABD>
// reynolds_coefficient = (float)1 + ((float)0.01 * sqrt((float)6.25 + 431*pow(Reynolds_number,-0.237)));
// reynolds_coefficient = (float)1 + ((float)0.01 * ((float)6.25 + 431*pow(Reynolds_number,-0.237)));
// reynolds_coefficient = (float)1 + ((float)0.01 * sqrt((float)6.25 + 431*(Reynolds_number)));
// reynolds_coefficient = (float)1 / reynolds_coefficient;
//<2F><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD> ע<>⣺1<E2A3BA><31>ÿ<EFBFBD><C3BF><EFBFBD>ھ<EFBFBD><DABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱѡ<CAB1><D1A1><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<CEBB><D0A1>
float x = Reynolds_number/(float)1000;
if(x < (float)5.4)
{
reynolds_coefficient = (float)0.000047977*x*x*x*x*x - (float)0.00081617*x*x*x*x + (float)0.005381*x*x*x - (float)0.017564*x*x + (float)0.031606*x + (float)0.89468;//<2F><>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD>
}
else if(x < (float)50)
{
reynolds_coefficient = (float)0.00000000027746*x*x*x*x*x - (float)0.000000046288*x*x*x*x + (float)0.0000030565*x*x*x - (float)0.00010318*x*x + (float)0.0020177*x + (float)0.91854;//<2F><>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD>
}
else if(x < (float)400)
{
reynolds_coefficient = (float)0.0000000000000068051*x*x*x*x*x - (float)0.0000000000089476*x*x*x*x + (float)0.0000000046656*x*x*x - (float)0.0000012475*x*x + (float)0.00019399*x + (float)0.93385;//<2F><>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD>
}
else//<2F><>1000<30><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>
{
reynolds_coefficient = -(float)0.00000000000000625752*x*x*x*x + (float)0.00000000002284921079*x*x*x - (float)0.00000003409499816486*x*x + (float)0.00002828954763422040*x + (float)0.94386733698271600000;
}
ins_flow_temp_float = ins_flow_temp_float * reynolds_coefficient; //<2F><>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD>۹<EFBFBD>ʽģ<CABD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ins_flow_temp_float = ErrorModifyCruve(temp_value_float,time_dof_temp_float,ins_flow_temp_float);
}
else //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6><EFBFBD>ʽģ<CABD><C4A3>
{
if(temp_value_float > (float)35)//<2F><><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD>DN15<31>ھ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶ȷ<C2B6>Ϊ<EFBFBD><CEAA>2<EFBFBD><32> <20><>ģ
{
if(Mum_T_DIFTOF < DXS_SEGMENT_NUM_LARGE)//<2F><><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ֺ<EFBFBD><D6BA><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD>DN15<31>ھ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>2<EFBFBD><32>
{
ins_flow_temp_float = default_error_DXS[1]+default_error_DXS[2]*temp_value_float
+default_error_DXS[3]*(time_dof_temp_float+default_error_DXS[0])
+default_error_DXS[4]*temp_value_float*temp_value_float
+default_error_DXS[5]*(time_dof_temp_float+default_error_DXS[0])*temp_value_float
+default_error_DXS[6]*(time_dof_temp_float+default_error_DXS[0])*(time_dof_temp_float+default_error_DXS[0])
+default_error_DXS[7]*temp_value_float*temp_value_float*temp_value_float
+default_error_DXS[8]*(time_dof_temp_float+default_error_DXS[0])*temp_value_float*temp_value_float
+default_error_DXS[9]*(time_dof_temp_float+default_error_DXS[0])*(time_dof_temp_float+default_error_DXS[0])*temp_value_float
+default_error_DXS[10]*(time_dof_temp_float+default_error_DXS[0])*(time_dof_temp_float+default_error_DXS[0])*(time_dof_temp_float+default_error_DXS[0]);
}
else
{
ins_flow_temp_float = default_error_DXS[12]+default_error_DXS[13]*temp_value_float
+default_error_DXS[14]*(time_dof_temp_float+default_error_DXS[11])
+default_error_DXS[15]*temp_value_float*temp_value_float
+default_error_DXS[16]*(time_dof_temp_float+default_error_DXS[11])*temp_value_float
+default_error_DXS[17]*(time_dof_temp_float+default_error_DXS[11])*(time_dof_temp_float+default_error_DXS[11])
+default_error_DXS[18]*temp_value_float*temp_value_float*temp_value_float
+default_error_DXS[19]*(time_dof_temp_float+default_error_DXS[11])*temp_value_float*temp_value_float
+default_error_DXS[20]*(time_dof_temp_float+default_error_DXS[11])*(time_dof_temp_float+default_error_DXS[11])*temp_value_float
+default_error_DXS[21]*(time_dof_temp_float+default_error_DXS[11])*(time_dof_temp_float+default_error_DXS[11])*(time_dof_temp_float+default_error_DXS[11]);
}
}
else
{
if(Mum_T_DIFTOF < DXS_SEGMENT_NUM_LARGE)
{
ins_flow_temp_float = default_error_DXS[23]+default_error_DXS[24]*temp_value_float
+default_error_DXS[25]*(time_dof_temp_float+default_error_DXS[22])
+default_error_DXS[26]*temp_value_float*temp_value_float
+default_error_DXS[27]*(time_dof_temp_float+default_error_DXS[22])*temp_value_float
+default_error_DXS[28]*(time_dof_temp_float+default_error_DXS[22])*(time_dof_temp_float+default_error_DXS[22])
+default_error_DXS[29]*temp_value_float*temp_value_float*temp_value_float
+default_error_DXS[30]*(time_dof_temp_float+default_error_DXS[22])*temp_value_float*temp_value_float
+default_error_DXS[31]*(time_dof_temp_float+default_error_DXS[22])*(time_dof_temp_float+default_error_DXS[22])*temp_value_float
+default_error_DXS[32]*(time_dof_temp_float+default_error_DXS[22])*(time_dof_temp_float+default_error_DXS[22])*(time_dof_temp_float+default_error_DXS[22]);
}
else
{
ins_flow_temp_float = default_error_DXS[34]+default_error_DXS[35]*temp_value_float
+default_error_DXS[36]*(time_dof_temp_float+default_error_DXS[33])
+default_error_DXS[37]*temp_value_float*temp_value_float
+default_error_DXS[38]*(time_dof_temp_float+default_error_DXS[33])*temp_value_float
+default_error_DXS[39]*(time_dof_temp_float+default_error_DXS[33])*(time_dof_temp_float+default_error_DXS[33])
+default_error_DXS[40]*temp_value_float*temp_value_float*temp_value_float
+default_error_DXS[41]*(time_dof_temp_float+default_error_DXS[33])*temp_value_float*temp_value_float
+default_error_DXS[42]*(time_dof_temp_float+default_error_DXS[33])*(time_dof_temp_float+default_error_DXS[33])*temp_value_float
+default_error_DXS[43]*(time_dof_temp_float+default_error_DXS[33])*(time_dof_temp_float+default_error_DXS[33])*(time_dof_temp_float+default_error_DXS[33]);
}
}
// ins_flow_temp_float=ins_flow_temp_float*(0.00002844805f*ins_flow_temp_float+0.93148870327f);
}
#endif
#if SUBSECTION_NUM_THREE
// if (Mum_T_DIFTOF <= SEGMENT_NUM_SMALL)
// {
// ins_flow_temp_float = flow_coef[23].flt+flow_coef[24].flt*temp_value_float
// +flow_coef[25].flt*(time_dof_temp_float+flow_coef[22].flt)
// +flow_coef[26].flt*temp_value_float*temp_value_float
// +flow_coef[27].flt*(time_dof_temp_float+flow_coef[22].flt)*temp_value_float
// +flow_coef[28].flt*(time_dof_temp_float+flow_coef[22].flt)*(time_dof_temp_float+flow_coef[22].flt)
// +flow_coef[29].flt*temp_value_float*temp_value_float*temp_value_float
// +flow_coef[30].flt*(time_dof_temp_float+flow_coef[22].flt)*temp_value_float*temp_value_float
// +flow_coef[31].flt*(time_dof_temp_float+flow_coef[22].flt)*(time_dof_temp_float+flow_coef[22].flt)*temp_value_float
// +flow_coef[32].flt*(time_dof_temp_float+flow_coef[22].flt)*(time_dof_temp_float+flow_coef[22].flt)*(time_dof_temp_float+flow_coef[22].flt);
// }
// else if (Mum_T_DIFTOF <= SEGMENT_NUM_MIDDLE)
// {
// ins_flow_temp_float = flow_coef[12].flt+flow_coef[13].flt*temp_value_float
// +flow_coef[14].flt*(time_dof_temp_float+flow_coef[11].flt)
// +flow_coef[15].flt*temp_value_float*temp_value_float
// +flow_coef[16].flt*(time_dof_temp_float+flow_coef[11].flt)*temp_value_float
// +flow_coef[17].flt*(time_dof_temp_float+flow_coef[11].flt)*(time_dof_temp_float+flow_coef[11].flt)
// +flow_coef[18].flt*temp_value_float*temp_value_float*temp_value_float
// +flow_coef[19].flt*(time_dof_temp_float+flow_coef[11].flt)*temp_value_float*temp_value_float
// +flow_coef[20].flt*(time_dof_temp_float+flow_coef[11].flt)*(time_dof_temp_float+flow_coef[11].flt)*temp_value_float
// +flow_coef[21].flt*(time_dof_temp_float+flow_coef[11].flt)*(time_dof_temp_float+flow_coef[11].flt)*(time_dof_temp_float+flow_coef[11].flt);
// }
// else
// {
// ins_flow_temp_float = flow_coef[1].flt+flow_coef[2].flt*temp_value_float
// +flow_coef[3].flt*(time_dof_temp_float+flow_coef[0].flt)
// +flow_coef[4].flt*temp_value_float*temp_value_float
// +flow_coef[5].flt*(time_dof_temp_float+flow_coef[0].flt)*temp_value_float
// +flow_coef[6].flt*(time_dof_temp_float+flow_coef[0].flt)*(time_dof_temp_float+flow_coef[0].flt)
// +flow_coef[7].flt*temp_value_float*temp_value_float*temp_value_float
// +flow_coef[8].flt*(time_dof_temp_float+flow_coef[0].flt)*temp_value_float*temp_value_float
// +flow_coef[9].flt*(time_dof_temp_float+flow_coef[0].flt)*(time_dof_temp_float+flow_coef[0].flt)*temp_value_float
// +flow_coef[10].flt*(time_dof_temp_float+flow_coef[0].flt)*(time_dof_temp_float+flow_coef[0].flt)*(time_dof_temp_float+flow_coef[0].flt);
// }
#elif SUBSECTION_NUM_FOUR
if(Mum_T_DIFTOF <= SEGMENT_NUM_SMALL)
{
#if LILUNGONGSHI_MODLE_WATER_METER
ins_flow_temp_float = ins_flow_temp_float*(flow_coef[34].flt + flow_coef[36].flt*ins_flow_temp_float);
#else
ins_flow_temp_float = flow_coef[34].flt+flow_coef[35].flt*temp_value_float
+flow_coef[36].flt*(time_dof_temp_float+flow_coef[33].flt)
+flow_coef[37].flt*temp_value_float*temp_value_float
+flow_coef[38].flt*(time_dof_temp_float+flow_coef[33].flt)*temp_value_float
+flow_coef[39].flt*(time_dof_temp_float+flow_coef[33].flt)*(time_dof_temp_float+flow_coef[33].flt)
+flow_coef[40].flt*temp_value_float*temp_value_float*temp_value_float
+flow_coef[41].flt*(time_dof_temp_float+flow_coef[33].flt)*temp_value_float*temp_value_float
+flow_coef[42].flt*(time_dof_temp_float+flow_coef[33].flt)*(time_dof_temp_float +flow_coef[33].flt)*temp_value_float
+flow_coef[43].flt*(time_dof_temp_float+flow_coef[33].flt)*(time_dof_temp_float+flow_coef[33].flt)*(time_dof_temp_float+flow_coef[33].flt);
#endif
}
else if (Mum_T_DIFTOF <= SEGMENT_NUM_MIDDLE)
{
#if LILUNGONGSHI_MODLE_WATER_METER
ins_flow_temp_float = ins_flow_temp_float*(flow_coef[23].flt + flow_coef[25].flt*ins_flow_temp_float);
#else
ins_flow_temp_float = flow_coef[23].flt+flow_coef[24].flt*temp_value_float
+flow_coef[25].flt*(time_dof_temp_float+flow_coef[22].flt)
+flow_coef[26].flt*temp_value_float*temp_value_float
+flow_coef[27].flt*(time_dof_temp_float+flow_coef[22].flt)*temp_value_float
+flow_coef[28].flt*(time_dof_temp_float+flow_coef[22].flt)*(time_dof_temp_float+flow_coef[22].flt)
+flow_coef[29].flt*temp_value_float*temp_value_float*temp_value_float
+flow_coef[30].flt*(time_dof_temp_float+flow_coef[22].flt)*temp_value_float*temp_value_float
+flow_coef[31].flt*(time_dof_temp_float+flow_coef[22].flt)*(time_dof_temp_float+flow_coef[22].flt)*temp_value_float
+flow_coef[32].flt*(time_dof_temp_float+flow_coef[22].flt)*(time_dof_temp_float+flow_coef[22].flt)*(time_dof_temp_float+flow_coef[22].flt);
#endif
}
else if (Mum_T_DIFTOF <= SEGMENT_NUM_LARGE)
{
#if LILUNGONGSHI_MODLE_WATER_METER
ins_flow_temp_float = ins_flow_temp_float*(flow_coef[12].flt + flow_coef[14].flt*ins_flow_temp_float);
#else
ins_flow_temp_float = flow_coef[12].flt+flow_coef[13].flt*temp_value_float
+flow_coef[14].flt*(time_dof_temp_float+flow_coef[11].flt)
+flow_coef[15].flt*temp_value_float*temp_value_float
+flow_coef[16].flt*(time_dof_temp_float+flow_coef[11].flt)*temp_value_float
+flow_coef[17].flt*(time_dof_temp_float+flow_coef[11].flt)*(time_dof_temp_float+flow_coef[11].flt)
+flow_coef[18].flt*temp_value_float*temp_value_float*temp_value_float
+flow_coef[19].flt*(time_dof_temp_float+flow_coef[11].flt)*temp_value_float*temp_value_float
+flow_coef[20].flt*(time_dof_temp_float+flow_coef[11].flt)*(time_dof_temp_float+flow_coef[11].flt)*temp_value_float
+flow_coef[21].flt*(time_dof_temp_float+flow_coef[11].flt)*(time_dof_temp_float+flow_coef[11].flt)*(time_dof_temp_float+flow_coef[11].flt);
#endif
}
else
{
#if LILUNGONGSHI_MODLE_WATER_METER
ins_flow_temp_float = ins_flow_temp_float*(flow_coef[1].flt + flow_coef[3].flt*ins_flow_temp_float);
#else
ins_flow_temp_float = flow_coef[1].flt+flow_coef[2].flt*temp_value_float
+flow_coef[3].flt*(time_dof_temp_float+flow_coef[0].flt)
+flow_coef[4].flt*temp_value_float*temp_value_float
+flow_coef[5].flt*(time_dof_temp_float+flow_coef[0].flt)*temp_value_float
+flow_coef[6].flt*(time_dof_temp_float+flow_coef[0].flt)*(time_dof_temp_float+flow_coef[0].flt)
+flow_coef[7].flt*temp_value_float*temp_value_float*temp_value_float
+flow_coef[8].flt*(time_dof_temp_float+flow_coef[0].flt)*temp_value_float*temp_value_float
+flow_coef[9].flt*(time_dof_temp_float+flow_coef[0].flt)*(time_dof_temp_float+flow_coef[0].flt)*temp_value_float
+flow_coef[10].flt*(time_dof_temp_float+flow_coef[0].flt)*(time_dof_temp_float+flow_coef[0].flt)*(time_dof_temp_float+flow_coef[0].flt);
#endif
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>2021-06-28
#if WENDU_FANSUAN_OPEN
if(temp_value_float<(float)0.5)//<2F>¶ȷ<C2B6><C8B7><EFBFBD>0<EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
return 0;
}
else if((temp_value_float<(float)5)&&((gp22_app_data.s.peak_up<95)||(gp22_app_data.s.peak_down<95)))//<2F><EFBFBD>ֵС<D6B5><D0A1>5<EFBFBD>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>߷<EFBFBD>ֵС<D6B5><D0A1>95mv
{
return 0;
}
#endif
if((temp_value_float<(float)0.1)&&(0!=temp_value_float))
{
return 0;
}
if(TRUE == CheckDiftofCalibrationFlag())
{
if(ins_flow_temp_float <= CALIBRATION_PROTECT_VALUE)
{
return 0;
}
}
#if DOMESTIC_TYPE_METER
if(((gp22_app_data.s.peak_up < TOF_UP_AM_0_8 )||(gp22_app_data.s.peak_down < TOF_DOWN_AM_0_8))&&(ins_flow_temp_float<=Q1_0_8))
{
return 0;
}
#endif
if(ins_flow_temp_float<0)
{
ins_flow_temp_float=0;
}//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD>˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>дΪ0
#elif SUBSECTION_NUM_FIVE
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
//<2F><>ģ<EFBFBD><C4A3><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD>λ<EFBFBD><CEBB>
#if DN15_BRASS_40KPA_GP30_32768 || WDFS_DN15_BRASS_40KPA_GP30_32768//<2F><><EFBFBD><EFBFBD>֤
#elif LLGS_DN15_BRASS_40KPA_GP30_32768 //<2F><><EFBFBD><EFBFBD>2022-02-18 Lv
if(temp_value_float < (float)13) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)23) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;//-0.3%
}
else if((ins_flow_temp_float >= (float)120)&&(ins_flow_temp_float < (float)350)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
if((temp_value_float >= (float)13)&&(temp_value_float < (float)17)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)23)&&(ins_flow_temp_float < (float)43)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)70)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;//-0.5%
}
else if(ins_flow_temp_float >= (float)350) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)17)&&(temp_value_float < (float)23)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)25)&&(ins_flow_temp_float < (float)43)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
}
else if((temp_value_float >= (float)23)&&(temp_value_float < (float)28)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)25)&&(ins_flow_temp_float < (float)43)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if(ins_flow_temp_float >= (float)85) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)28)&&(temp_value_float < (float)31)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)19) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002;
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)50)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if(ins_flow_temp_float >= (float)85) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
}
else if((temp_value_float >= (float)31)&&(temp_value_float < (float)38)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)23) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)23)&&(ins_flow_temp_float < (float)50)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)50)&&(ins_flow_temp_float < (float)65)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
}
else if(temp_value_float >= (float)38) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)60) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)60)&&(ins_flow_temp_float < (float)65)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >= (float)90)&&(ins_flow_temp_float < (float)110)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if(ins_flow_temp_float >= (float)1400) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
#elif Buxiugang_LLGS_WDFS_DN15_BXG_40KPA_GP30_32768
if(temp_value_float < (float)11.3) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)8) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004; // <20><><EFBFBD><EFBFBD>21<32><31><EFBFBD>£<EFBFBD>0.6%
}
else if((ins_flow_temp_float >= (float)21)&&(ins_flow_temp_float < (float)26)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002;//<2F><><EFBFBD><EFBFBD>21~27<32><37>0.2%
}
else if((ins_flow_temp_float >= (float)26)&&(ins_flow_temp_float < (float)65)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;//<2F><><EFBFBD><EFBFBD>26~65<36><35>-0.3%
}
else if((ins_flow_temp_float >= (float)110)&&(ins_flow_temp_float < (float)150)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;//
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)1500)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.007;//
}
else if((ins_flow_temp_float >= (float)1500)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;//
}
else if(ins_flow_temp_float >= (float)2800)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;//
}
}
else if((temp_value_float >= (float)11.3)&&(temp_value_float < (float)16)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)19) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004; // <20><><EFBFBD><EFBFBD>19<31><39><EFBFBD>£<EFBFBD>0.6%
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)21)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;//<2F><><EFBFBD><EFBFBD>19~21<32><31>0.3%
}
else if((ins_flow_temp_float >= (float)26)&&(ins_flow_temp_float < (float)65)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;//<2F><><EFBFBD><EFBFBD>26~65<36><35>-0.5%
}
else if((ins_flow_temp_float >= (float)110)&&(ins_flow_temp_float < (float)150)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;//
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)1500)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.007;//
}
else if((ins_flow_temp_float >= (float)1500)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;//
}
else if(ins_flow_temp_float >= (float)2800)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;//
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else if((temp_value_float >= (float)16)&&(temp_value_float < (float)17)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)19) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003; // <20><><EFBFBD><EFBFBD>19<31><39><EFBFBD>£<EFBFBD>0.3%
}
else if((ins_flow_temp_float >= (float)24)&&(ins_flow_temp_float < (float)26)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995; //
}
else if((ins_flow_temp_float >= (float)26)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99; //
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)65)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995; //<2F><><EFBFBD><EFBFBD>55~65<36><35>-0.5%
}
else if((ins_flow_temp_float >= (float)110)&&(ins_flow_temp_float < (float)150)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;//
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)1200)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.007;//
}
else if((ins_flow_temp_float >= (float)1200)&&(ins_flow_temp_float < (float)1500)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;//
}
else if(ins_flow_temp_float >= (float)2800)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;//
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else if((temp_value_float >= (float)17)&&(temp_value_float < (float)25.14)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)24)&&(ins_flow_temp_float < (float)26)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995; //
}
else if((ins_flow_temp_float >= (float)26)&&(ins_flow_temp_float < (float)28)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99; //
}
else if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.986; //
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99; //
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)65)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995; //<2F><><EFBFBD><EFBFBD>55~65<36><35>-0.5%
}
else if((ins_flow_temp_float >= (float)110)&&(ins_flow_temp_float < (float)150)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;//
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)1200)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.007;//
}
else if((ins_flow_temp_float >= (float)1200)&&(ins_flow_temp_float < (float)1500)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;//
}
else if(ins_flow_temp_float >= (float)2800)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;//
}
}
//<2F>¶ȹ<C2B6><C8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
else if((temp_value_float >= (float)25.14)&&(temp_value_float < (float)28)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)24)&&(ins_flow_temp_float < (float)26)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.002797*temp_value_float + (float)0.924678); //<2F><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>25.14~28-->-0.5~0.3% 0.002797+0.924678
}
else if((ins_flow_temp_float >= (float)26)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.005245*temp_value_float + (float)0.858147); //0.005245+0.858147 <20><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>25.14~28-->-1~0.5%
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)60)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.0035*temp_value_float + (float)0.9071); //0.00350+0.90710 <20><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>25.14~28-->-0.5~0.5%
}
else if((ins_flow_temp_float >= (float)60)&&(ins_flow_temp_float < (float)65)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.001748*temp_value_float + (float)0.956049); //0.001748+ 0.956049 <20><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>25.14~28-->0~0.5%
}
else if((ins_flow_temp_float >= (float)65)&&(ins_flow_temp_float < (float)1200)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
}
else if((temp_value_float >= (float)28)&&(temp_value_float < (float)36)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)26) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.007; //
}
else if((ins_flow_temp_float >= (float)26)&&(ins_flow_temp_float < (float)1200)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01; //
}
else if((ins_flow_temp_float >= (float)1200)&&(ins_flow_temp_float < (float)2100)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005; //<2F><><EFBFBD><EFBFBD>1100<30><30><EFBFBD>ϣ<EFBFBD>0.3%
}
else if((ins_flow_temp_float >= (float)2100)&&(ins_flow_temp_float < (float)2800)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003; //<2F><><EFBFBD><EFBFBD>1100<30><30><EFBFBD>ϣ<EFBFBD>0.3%
}
}
else if(temp_value_float >= (float)36) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)1200) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01; // <20><><EFBFBD><EFBFBD>20<32><30><EFBFBD>£<EFBFBD>0.7%
}
else if((ins_flow_temp_float >= (float)1200)&&(ins_flow_temp_float < (float)1300)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005; //
}
else if((ins_flow_temp_float >= (float)1300)&&(ins_flow_temp_float < (float)2800)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003; //<2F><><EFBFBD><EFBFBD>1200<30><30><EFBFBD>ϣ<EFBFBD>0.3%
}
}
#elif Plastic_LLGS_WDFS_DN15_PALSTIC_40KPA_GP30_32768
if(temp_value_float < (float)13)
{
if(ins_flow_temp_float < (float)8) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;//
}
else if((ins_flow_temp_float >= (float)8)&&(ins_flow_temp_float < (float)33)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003; //
}
else if((ins_flow_temp_float >= (float)33)&&(ins_flow_temp_float < (float)95)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005; //
}
else if(ins_flow_temp_float >= (float)95) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002; //
}
}
else if((temp_value_float >= (float)13)&&(temp_value_float < (float)17))
{
if(ins_flow_temp_float < (float)23) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;//
}
else if((ins_flow_temp_float >= (float)23)&&(ins_flow_temp_float < (float)33)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004; //
}
else if((ins_flow_temp_float >= (float)33)&&(ins_flow_temp_float < (float)95)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002; //
}
}
else if((temp_value_float >= (float)17)&&(temp_value_float < (float)28.4)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)23)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;//<2F><><EFBFBD><EFBFBD>23~35<33><35>0.2%
}
}
else if((temp_value_float >= (float)28.4)&&(temp_value_float < (float)33.67)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)5) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;//
}
else if((ins_flow_temp_float >= (float)5)&&(ins_flow_temp_float < (float)12))
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.001286*ins_flow_temp_float+(float)0.988571); //0.001286+0.988571 5-0.995 12-1.004
}
else if((ins_flow_temp_float >= (float)12)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;//
}
else if((ins_flow_temp_float >= (float)1700)&&(ins_flow_temp_float < (float)2100)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002;
}
else if(ins_flow_temp_float >= (float)2100) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
}
else if((temp_value_float >= (float)33.67)&&(temp_value_float < (float)36)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)5) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;//
}
else if((ins_flow_temp_float >= (float)5)&&(ins_flow_temp_float < (float)12))
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.002*ins_flow_temp_float+(float)0.98); //0.002+ 0.98 5-0.99 12-1.004
}
else if((ins_flow_temp_float >= (float)12)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;//
}
else if((ins_flow_temp_float >= (float)1700)&&(ins_flow_temp_float < (float)2100)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)2100)&&(ins_flow_temp_float < (float)2800)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if(ins_flow_temp_float >= (float)2800)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
}
else if((temp_value_float >= (float)36)&&(temp_value_float < (float)43)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)5) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;//
}
else if((ins_flow_temp_float >= (float)5)&&(ins_flow_temp_float < (float)12))
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.002286*ins_flow_temp_float+(float)0.978571); //0.002286+0.978571 5-0.99 12-1.006
}
else if((ins_flow_temp_float >= (float)12)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.006;//
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)50)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002;
}
else if((ins_flow_temp_float >= (float)75)&&(ins_flow_temp_float < (float)1700)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)1700)&&(ins_flow_temp_float < (float)2100)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)2100)&&(ins_flow_temp_float < (float)2800)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.009;
}
else if(ins_flow_temp_float >= (float)2800)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.013;
}
}
else if(temp_value_float >= (float)43) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)5) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;//
}
else if((ins_flow_temp_float >= (float)5)&&(ins_flow_temp_float < (float)12))
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.002286*ins_flow_temp_float+(float)0.978571); //0.002286+0.978571 5-0.99 12-1.006
}
else if((ins_flow_temp_float >= (float)12)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.006;//
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)50)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002;
}
else if((ins_flow_temp_float >= (float)75)&&(ins_flow_temp_float < (float)78)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >= (float)78)&&(ins_flow_temp_float < (float)1700)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.007;
}
else if((ins_flow_temp_float >= (float)1700)&&(ins_flow_temp_float < (float)2100)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.009;
}
else if((ins_flow_temp_float >= (float)2100)&&(ins_flow_temp_float < (float)2800)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.014;
}
else if(ins_flow_temp_float >= (float)2800)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.018;
}
}
#elif ROUND_LLGS_DN15_BRASS_40KPA_GP30_32768 || ROUND_LLGS_WDFS_DN15_BRASS_40KPA_GP30_32768 //<2F><>Ҫ<EFBFBD><D2AA><EFBFBD>Կ<EFBFBD><D4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD><EFBFBD><E4B3A3>Բ<EFBFBD><D4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)130))//<2F><><EFBFBD><EFBFBD>40-50
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.003;
}
// else if(ins_flow_temp_float < (float)7) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)0.99; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD> -1%
// }
// else if((ins_flow_temp_float >= (float)7)&&(ins_flow_temp_float < (float)7.5))//<2F><><EFBFBD><EFBFBD>7-8.5
// {
// ins_flow_temp_float = ins_flow_temp_float *((float)0.02*ins_flow_temp_float+(float)0.85); //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD> -1%-0<><30><EFBFBD><EFBFBD>
// }
// else if((ins_flow_temp_float >= (float)50)&&(ins_flow_temp_float < (float)110))//<2F><><EFBFBD><EFBFBD>50-110
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)1.004;
// }
// else if((ins_flow_temp_float >= (float)110)&&(ins_flow_temp_float < (float)130))//<2F><><EFBFBD><EFBFBD>110-130
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)1.003;
// }
if(ins_flow_temp_float < (float)7) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float >= (float)30) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.995; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD> -1%<25><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>Ϊ0.995 04 22
}
// else if((temp_value_float >= (float)25)&&(temp_value_float < (float)30)) //<2F>¶ȷ<C2B6>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)0.995; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD> -0.5%//
// }
}
else if((ins_flow_temp_float >= (float)7)&&(ins_flow_temp_float < (float)8.5))//<2F><><EFBFBD><EFBFBD>7-8.5
{
if(temp_value_float >= (float)30) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.0033*ins_flow_temp_float + (float)0.9717); //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- -0.5%
}
else if((temp_value_float >= (float)25)&&(temp_value_float < (float)30)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)-0.001*temp_value_float + (float)1.025); //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- -0.5%//
}
}
else if((ins_flow_temp_float >= (float)8.5)&&(ins_flow_temp_float < (float)18))//<2F><><EFBFBD><EFBFBD>8.5-18
{
if(temp_value_float >= (float)47) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.003; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- 0.3%
}
else if((temp_value_float >= (float)28)&&(temp_value_float < (float)42)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.997; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- -0.3%
}
}
else if((ins_flow_temp_float >= (float)25)&&(ins_flow_temp_float < (float)32))//<2F><><EFBFBD><EFBFBD>25-32
{
if(temp_value_float >= (float)25)
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.997; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- -0.3%
}
}
else if((ins_flow_temp_float >= (float)33)&&(ins_flow_temp_float < (float)38))//<2F><><EFBFBD><EFBFBD>33-38
{
if(temp_value_float >= (float)38) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.002; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- 0.2%
}
}
else if((ins_flow_temp_float >= (float)38)&&(ins_flow_temp_float < (float)55))//<2F><><EFBFBD><EFBFBD>38-55
{
if(temp_value_float >= (float)45) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.007; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- 0.7%
}
else if(temp_value_float >= (float)38) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.004; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- 0.4%
}
else if(temp_value_float >= (float)25) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.002; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- 0.2%
}
}
// else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)85))//<2F><><EFBFBD><EFBFBD>55-85
// {
// if(temp_value_float >= (float)35) //<2F>¶ȷ<C2B6>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)1.005; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- 0.5%
// }
// else if(temp_value_float >= (float)25) //<2F>¶ȷ<C2B6>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)1.003; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- 0.3%
// }
// }
else if((ins_flow_temp_float >= (float)140)&&(ins_flow_temp_float < (float)280))//<2F><><EFBFBD><EFBFBD>140-280
{
if((temp_value_float >= (float)34.86)&&(temp_value_float < (float)38)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.996; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- -0.4%
}
else if((temp_value_float >= (float)28)&&(temp_value_float < (float)34.86)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.997; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- -0.3%
}
}
else if((ins_flow_temp_float >= (float)280)&&(ins_flow_temp_float < (float)400))//<2F><><EFBFBD><EFBFBD>280-400
{
if((temp_value_float >= (float)34.86)&&(temp_value_float < (float)38)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.996; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- -0.4%
}
else if((temp_value_float >= (float)25)&&(temp_value_float < (float)34.86)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.997; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- -0.3%
}
}
else if((ins_flow_temp_float >= (float)400)&&(ins_flow_temp_float < (float)1200))//<2F><><EFBFBD><EFBFBD>400-1200
{
if((temp_value_float >= (float)25)&&(temp_value_float < (float)34.86)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.997; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- -0.3%
}
}
else if(ins_flow_temp_float >= (float)1200)//<2F><><EFBFBD><EFBFBD>1200+
{
if(temp_value_float < (float)13.07) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.002; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0-- 0.2%
}
}
#elif LLGS_WDFS_DN15_BRASS_40KPA_GP30_32768
//ȫ<><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD> 2021/8/6
if((ins_flow_temp_float >= (float)50)&&(ins_flow_temp_float < (float)70))//<2F><><EFBFBD><EFBFBD>50-70<37><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD>ص<EFBFBD>
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.995;
}
//<2F><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD> 2021/8/6
if(temp_value_float >= (float)35) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35))
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.003;
}
else if((ins_flow_temp_float >= (float)90)&&(ins_flow_temp_float < (float)200))
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.004;
}
else if(ins_flow_temp_float >= (float)200)
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.007;
}
}
else if((temp_value_float >= (float)30)&&(temp_value_float < (float)35)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35))
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>+0.3%
}
else if((ins_flow_temp_float >= (float)90)&&(ins_flow_temp_float < (float)200))
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.0016*temp_value_float + (float)0.948); //30~35<33>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>-0.4%~0.4%
}
else if(ins_flow_temp_float >= (float)200)
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.0014*temp_value_float + (float)0.958); //30~35<33>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0~0.7%
}
}
else if((temp_value_float >= (float)15)&&(temp_value_float < (float)30)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)90)&&(ins_flow_temp_float < (float)200)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>-0.4%
}
}
if((temp_value_float >= (float)15)&&(temp_value_float < (float)17)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)50) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0025*temp_value_float + (float)1.0425); //15~17<31>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>+0.5%~0
}
}
else if((temp_value_float >= (float)10)&&(temp_value_float < (float)15))//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)50)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)-0.002*temp_value_float + (float)1.035); //15~10<31>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0.5~1.5%
}
else if(ins_flow_temp_float >= (float)70)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)-0.001*temp_value_float + (float)1.015); //15~10<31>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0%~05%
}
}
else if(temp_value_float < (float)10)//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)50)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.015; //<2F><><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>+1.5%
}
else if(ins_flow_temp_float >= (float)70)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)-0.002*temp_value_float + (float)1.025); //10~5<>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD>߲<EFBFBD><DFB2><EFBFBD>0.5%~1.5%
}
}
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2021-07-24
#elif BM_DN15_BRASS_63KPA_GP30_32768
if(temp_value_float >= (float)35) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
#elif MID_DN15_BRASS_63KPA_GP30_32768
if(temp_value_float < (float)13) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)50) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)90)&&(ins_flow_temp_float < (float)200)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if((temp_value_float >= (float)13)&&(temp_value_float < (float)21)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)50) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
// else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
// }
}
else if((temp_value_float >= (float)21)&&(temp_value_float < (float)23)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)17) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0025*temp_value_float + (float)1.0575);//+0.5--0<><30><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)17)&&(ins_flow_temp_float < (float)19)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0025*ins_flow_temp_float + (float)0.9625);//1.005-1.01<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)45)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0005*ins_flow_temp_float + (float)1.0275);//1.01-1.005<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
// else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
// }
}
else if((temp_value_float >= (float)23)&&(temp_value_float < (float)25)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)35) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.004*temp_value_float+ (float)0.908);//0--0.8<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
// else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
// }
}
else if((temp_value_float >= (float)25)&&(temp_value_float < (float)27)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)8) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)8)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)50)&&(ins_flow_temp_float < (float)70)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
// else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
// }
}
else if((temp_value_float >= (float)27)&&(temp_value_float < (float)33)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)8) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)8)&&(ins_flow_temp_float < (float)13)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.001*ins_flow_temp_float + (float)1.05);//0.5~~~-0.5 <20><><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)70)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
else if(ins_flow_temp_float >= (float)2000) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if((temp_value_float >= (float)33)&&(temp_value_float < (float)46)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)22)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >= (float)22)&&(ins_flow_temp_float < (float)32)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)60)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if(ins_flow_temp_float >= (float)150) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if(temp_value_float >= (float)46) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)22)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >= (float)22)&&(ins_flow_temp_float < (float)24)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)32)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)60)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
#elif EN_DN15_BRASS_63KPA_GP30_32768
if(temp_value_float >= (float)41) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0004*ins_flow_temp_float + (float)1.017); //-0.0004x + 1.017 35-1.003 55 0.995
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)155)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)155)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if(ins_flow_temp_float >= (float)1900) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if((temp_value_float >= (float)33)&&(temp_value_float < (float)41))
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)19)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0012*ins_flow_temp_float + (float)0.9808); //0.0012x + 0.9808 13-0.4 19+0.3
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0005*ins_flow_temp_float + (float)1.0223); //-0.0005x + 1.0223 35-1.003 55 0.992
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if(ins_flow_temp_float >= (float)1900) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if((temp_value_float >= (float)28)&&(temp_value_float < (float)33))
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)19)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0008*ins_flow_temp_float + (float)0.9872); //0.0008x + 0.9872 13-0.2 19+0.3
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0004*ins_flow_temp_float + (float)1.017); //-0.0004x + 1.017 35-1.003 55 0.995
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if(ins_flow_temp_float >= (float)1900) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)18)&&(temp_value_float < (float)28))
{
if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)14)&&(temp_value_float < (float)18))
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)19)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0013*ins_flow_temp_float + (float)0.9777); // 0.0013x + 0.9777 13-0.5 18+0.3
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)60)&&(ins_flow_temp_float < (float)78)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if(ins_flow_temp_float >= (float)85) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if(temp_value_float < (float)14)
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.998;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)65)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0013*ins_flow_temp_float + (float)0.9235); //0.0013x + 0.9235 55-0.5 65+0.8
}
else if((ins_flow_temp_float >= (float)65)&&(ins_flow_temp_float < (float)75)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)75)&&(ins_flow_temp_float < (float)85)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0011*ins_flow_temp_float + (float)1.0905); //-0.0011x + 1.0905 65+0.8 85-0.3
}
else if((ins_flow_temp_float >= (float)85)&&(ins_flow_temp_float < (float)95)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
else if(ins_flow_temp_float >= (float)95) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.992;
}
}
#elif ROUND_LLGS_XFZ_DN15_BRASS_40KPA_GP30_32768
if(temp_value_float >= (float)28.58) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)8.5) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002;
}
else if((ins_flow_temp_float >= (float)8.5)&&(ins_flow_temp_float < (float)13)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)19)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)600)&&(ins_flow_temp_float < (float)700)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)700)&&(ins_flow_temp_float < (float)1400)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)1400)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
}
else if((temp_value_float >= (float)23)&&(temp_value_float < (float)28.58))
{
if(ins_flow_temp_float < (float)8.5) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)8.5)&&(ins_flow_temp_float < (float)28)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)90)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)90)&&(ins_flow_temp_float < (float)180)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)350)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
}
else if((temp_value_float >= (float)18.5)&&(temp_value_float < (float)23))
{
if(ins_flow_temp_float < (float)8.5) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >= (float)8.5)&&(ins_flow_temp_float < (float)28)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.013;
}
else if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)90)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)90)&&(ins_flow_temp_float < (float)100)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)250)&&(ins_flow_temp_float < (float)350)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)350)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >= (float)1900)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
}
else if((temp_value_float >= (float)17.5)&&(temp_value_float < (float)18.5))
{
if(ins_flow_temp_float < (float)28) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)120)&&(ins_flow_temp_float < (float)180)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)350)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
}
else if((temp_value_float >= (float)14)&&(temp_value_float < (float)17.5))
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)95)&&(ins_flow_temp_float < (float)120)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)120)&&(ins_flow_temp_float < (float)180)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float >= (float)180)&&(ins_flow_temp_float < (float)190)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)550)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if(temp_value_float < (float)14) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)25)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)85)&&(ins_flow_temp_float < (float)95)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)95)&&(ins_flow_temp_float < (float)120)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float >= (float)120)&&(ins_flow_temp_float < (float)180)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.985;
}
else if((ins_flow_temp_float >= (float)180)&&(ins_flow_temp_float < (float)190)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float >= (float)190)&&(ins_flow_temp_float < (float)230)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)550)&&(ins_flow_temp_float < (float)750)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)750)&&(ins_flow_temp_float < (float)1100)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.007;
}
else if((ins_flow_temp_float >= (float)1100)&&(ins_flow_temp_float < (float)1900)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
#elif PF_DN15_BRASS_63KPA_GP30_32768
if(temp_value_float < (float)13) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)50)&&(ins_flow_temp_float < (float)70)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if(ins_flow_temp_float >= (float)90) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if((temp_value_float >= (float)13)&&(temp_value_float < (float)21)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)50) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)21)&&(temp_value_float < (float)23)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)17) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0025*temp_value_float + (float)1.0575);//+0.5--0<><30><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)17)&&(ins_flow_temp_float < (float)19)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0025*ins_flow_temp_float + (float)0.9625);//1.005-1.01<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)45)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0005*ins_flow_temp_float + (float)1.0275);//1.01-1.005<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)23)&&(temp_value_float < (float)25)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)35) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.004*temp_value_float+ (float)0.908);//0--0.8<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)25)&&(temp_value_float < (float)27)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)8) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)8)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)50)&&(ins_flow_temp_float < (float)70)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)27)&&(temp_value_float < (float)33)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)8) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)8)&&(ins_flow_temp_float < (float)13)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)35)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)45)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.001*ins_flow_temp_float + (float)1.05);//0.5~~~-0.5 <20><><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)70)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)150)&&(ins_flow_temp_float < (float)2000)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)33)&&(temp_value_float < (float)46)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)22)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >= (float)22)&&(ins_flow_temp_float < (float)32)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)60)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if(ins_flow_temp_float >= (float)150) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if(temp_value_float >= (float)46) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)22)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >= (float)22)&&(ins_flow_temp_float < (float)24)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)32)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)60)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if(ins_flow_temp_float >= (float)150) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
#elif DN20_BRASS_40KPA_GP30_32768 || WDFS_DN20_BRASS_40KPA_GP30_32768
if((temp_value_float < (float)17)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)50))
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.995;
}
else if(ins_flow_temp_float < (float)35)
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0007*ins_flow_temp_float+(float)1.0222);//-0.2%~1.6%
}
else if(ins_flow_temp_float < (float)9)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.015;
}
}
else if((temp_value_float >= (float)25)&&(temp_value_float < (float)35)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if(temp_value_float >= (float)35) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float >= (float)130) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
}
#elif LLGS_DN20_BRASS_40KPA_GP30_32768 //<2F><><EFBFBD><EFBFBD>2022-02-18
if(temp_value_float < (float)13) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)65) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if(ins_flow_temp_float >=(float)120) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)13)&&(temp_value_float < (float)17)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)65) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if(ins_flow_temp_float >=(float)120) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)17)&&(temp_value_float < (float)24)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)120)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
}
else if((temp_value_float >= (float)24)&&(temp_value_float < (float)27)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)120)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
}
else if(temp_value_float >= (float)27) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)120) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
#elif Buxiugang_LLGS_WDFS_DN20_BXG_40KPA_GP30_32768
if(temp_value_float >= (float)33) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)28) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)33))
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.007;
}
else if((ins_flow_temp_float >= (float)33)&&(ins_flow_temp_float < (float)36))
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.002;
}
else if((ins_flow_temp_float >= (float)38)&&(ins_flow_temp_float < (float)95))
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.996;
}
}
else if((temp_value_float >= (float)29.9)&&(temp_value_float < (float)33)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)36)
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.003;
}
else if((ins_flow_temp_float >= (float)38)&&(ins_flow_temp_float < (float)65))
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.996;
}
else if((ins_flow_temp_float >= (float)65)&&(ins_flow_temp_float < (float)130))
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.997;
}
}
else if((temp_value_float >= (float)24.5)&&(temp_value_float < (float)29.9)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)38))
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.003;
}
else if((ins_flow_temp_float >= (float)65)&&(ins_flow_temp_float < (float)130))
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.996;
}
}
else if((temp_value_float >= (float)18.46)&&(temp_value_float < (float)24.5)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)43))
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.003;
}
else if((ins_flow_temp_float >= (float)65)&&(ins_flow_temp_float < (float)130))
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.996;
}
}
else if(temp_value_float < (float)18.46) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)28)
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.998;
}
else if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)48))
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.003;
}
else if((ins_flow_temp_float >= (float)48)&&(ins_flow_temp_float < (float)65))
{
ins_flow_temp_float = ins_flow_temp_float *(float)1.005;
}
else if((ins_flow_temp_float >= (float)75)&&(ins_flow_temp_float < (float)130))
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.996;
}
else if((ins_flow_temp_float >= (float)130)&&(ins_flow_temp_float < (float)550))
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.997;
}
}
#elif ROUND_LLGS_DN20_BRASS_40KPA_GP30_32768 || ROUND_LLGS_WDFS_DN20_BRASS_40KPA_GP30_32768
// if((ins_flow_temp_float >= (float)1500)&&(ins_flow_temp_float < (float)3000))//<2F><><EFBFBD><EFBFBD>1500-3000
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)0.997;
// }
if(temp_value_float >= (float)35) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)8)
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.99;
}
else if((ins_flow_temp_float >= (float)8)&&(ins_flow_temp_float < (float)13))
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.002*ins_flow_temp_float+(float)0.974);//-1--- 0
}
// else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)35))
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)0.997;
// }
}
else if((temp_value_float >= (float)33)&&(temp_value_float < (float)35)) //<2F>¶ȷ<C2B6>Χ --<2D><><EFBFBD>ȶ<EFBFBD>
{
if(ins_flow_temp_float < (float)13)
{
ins_flow_temp_float = ins_flow_temp_float *(float)0.995;
}
// else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)35))
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)0.998;
// }
}
// else if((temp_value_float >= (float)12.7)&&(temp_value_float < (float)17)) //<2F>¶ȷ<C2B6>Χ
// {
// if(ins_flow_temp_float < (float)13)
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)0.995;
// }
// else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)38))
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)0.997;
// }
// }
// else if(temp_value_float < (float)12.7) //<2F>¶ȷ<C2B6>Χ
// {
// if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)35))
// {
// ins_flow_temp_float = ins_flow_temp_float *(float)0.997;
// }
// }
#elif LLGS_WDFS_DN20_BRASS_40KPA_GP30_32768
if(ins_flow_temp_float < (float)30) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float >= (float)35) //
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.006;
}
else if((temp_value_float >= (float)30)&&(temp_value_float < (float)35)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.001*temp_value_float + (float)0.97); //30--35<33><35> 0%~0.5%
}
}
else if((ins_flow_temp_float >= (float)30)&&(ins_flow_temp_float < (float)130))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float >= (float)30) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.006;
}
else if((temp_value_float > (float)15)&&(temp_value_float < (float)30))
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((ins_flow_temp_float >= (float)200))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float < (float)15)
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
#elif BM_DN20_BRASS_63KPA_GP30_32768
//2020-06-28 <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD>һ<EFBFBD>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(temp_value_float >= (float)45) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)55) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997; //2020-09-11 <20><><EFBFBD>ݻ<EFBFBD>е̨<D0B5><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)130)&&(ins_flow_temp_float < (float)600))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if((temp_value_float < (float)40)&&(temp_value_float >= (float)30)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)20) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)50)&&(ins_flow_temp_float < (float)90))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if((ins_flow_temp_float >= (float)130)&&(ins_flow_temp_float < (float)600))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if((temp_value_float < (float)45)&&(temp_value_float >=(float)15)) //<2F>¶ȷ<C2B6>Χ //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if(temp_value_float <(float)15)//
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.992;
}
}
else if(ins_flow_temp_float > (float)600)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float >= (float)35)//2020-09-11 <20><><EFBFBD>ݻ<EFBFBD>е̨<D0B5><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.998;
}
}
//<2F><>е̨<D0B5><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2020-07-08
if(ins_flow_temp_float < (float)50)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if((temp_value_float < (float)40)&&(temp_value_float >=(float)15)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if(temp_value_float >= (float)40) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(temp_value_float >= (float)15)//2021-05-12
{
if((ins_flow_temp_float >= (float)30)&&(ins_flow_temp_float <= (float)50))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float > (float)50)&&(ins_flow_temp_float < (float)100))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.991;
}
else if((ins_flow_temp_float >= (float)100)&&(ins_flow_temp_float < (float)120))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
//2021-05-10
else if(temp_value_float <(float)15)
{
if(ins_flow_temp_float < (float)30)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.998;
}
else
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
#elif MID_DN20_BRASS_63KPA_GP30_32768
if(temp_value_float < (float)13) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float >= (float)70)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
// else if(ins_flow_temp_float <= (float)22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
// }
}
else if((temp_value_float >= (float)13)&&(temp_value_float < (float)15)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float >= (float)130) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)17)&&(temp_value_float < (float)22)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)45)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;//1.005
}
}
else if((temp_value_float >= (float)23)&&(temp_value_float < (float)27)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float >= (float)95) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)27)&&(temp_value_float < (float)30)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)50) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00167 *temp_value_float + (float)1.045);//0--0.5%<25><><EFBFBD><EFBFBD>
}
}
else if((temp_value_float >= (float)30)&&(temp_value_float < (float)34)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)50)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.00125*temp_value_float + (float)0.9525);//0.99-0.995
}
else if(ins_flow_temp_float >= (float)180) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)37)&&(temp_value_float < (float)43)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;//0.996
}
else if(ins_flow_temp_float >= (float)70) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.992;
}
}
else if(temp_value_float >= (float)43) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;//0.996
}
else if(ins_flow_temp_float >= (float)70) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
}
if(temp_value_float >= (float)40) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)20) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;//+0.5
}
}
#elif EN_DN20_BRASS_63KPA_GP30_32768
if(temp_value_float >= (float)34.35) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)19) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002;
}
else if((ins_flow_temp_float >= (float)43)&&(ins_flow_temp_float < (float)125)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
else if((ins_flow_temp_float >= (float)135)&&(ins_flow_temp_float < (float)180)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float) -0.000111*ins_flow_temp_float + (float)1.015);//-0.000111+ 1.015 135 0 180 -0.5
}
else if((ins_flow_temp_float >= (float)180)&&(ins_flow_temp_float < (float)620)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
else if((ins_flow_temp_float >= (float)620)&&(ins_flow_temp_float < (float)2600)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
else if(ins_flow_temp_float >= (float)2600) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.998;
}
}
else if((temp_value_float >= (float)27.5)&&(temp_value_float < (float)34.35))//<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)14)&&(ins_flow_temp_float < (float)23)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
else if((ins_flow_temp_float >= (float)33)&&(ins_flow_temp_float < (float)38)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)83)&&(ins_flow_temp_float < (float)125)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)180)&&(ins_flow_temp_float < (float)230)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)230)&&(ins_flow_temp_float < (float)620)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
else if((ins_flow_temp_float >= (float)620)&&(ins_flow_temp_float < (float)2600)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
else if(ins_flow_temp_float >= (float)2600) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.998;
}
}
else if((temp_value_float >= (float)18.7)&&(temp_value_float < (float)27.5))//<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)38)&&(ins_flow_temp_float < (float)48)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >= (float)73)&&(ins_flow_temp_float < (float)83)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ <20><><EFBFBD><EFBFBD>
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.998;
}
else if((ins_flow_temp_float >= (float)83)&&(ins_flow_temp_float < (float)125)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
else if((ins_flow_temp_float >= (float)125)&&(ins_flow_temp_float < (float)140)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.000667*ins_flow_temp_float + (float)0.911667);//0.000667+0.911667 125 0.5 140 -0.5
}
else if((ins_flow_temp_float >= (float)180)&&(ins_flow_temp_float < (float)620)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)620)&&(ins_flow_temp_float < (float)3300)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.998;
}
}
else if((temp_value_float >= (float)13.24)&&(temp_value_float < (float)18.7))//<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)38)&&(ins_flow_temp_float < (float)48)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.002;
}
else if((ins_flow_temp_float >= (float)73)&&(ins_flow_temp_float < (float)83)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ <20><><EFBFBD><EFBFBD>
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.998;
}
else if((ins_flow_temp_float >= (float)83)&&(ins_flow_temp_float < (float)125)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
else if((ins_flow_temp_float >= (float)125)&&(ins_flow_temp_float < (float)140)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ <20><><EFBFBD><EFBFBD>
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0006*ins_flow_temp_float + (float)0.918);//0.0006+ 0.918 125 -0.7 140 0.2
}
else if((ins_flow_temp_float >= (float)180)&&(ins_flow_temp_float < (float)620)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)620)&&(ins_flow_temp_float < (float)2600)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if(temp_value_float < (float)13.24)//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)38) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float >= (float)73)&&(ins_flow_temp_float < (float)83)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ <20><><EFBFBD><EFBFBD>
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)83)&&(ins_flow_temp_float < (float)125)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float >= (float)125)&&(ins_flow_temp_float < (float)180)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.002*temp_value_float + (float)0.97);// 0.002x + 0.97 15<31><35> 0 10<31><30> -1
}
else if((ins_flow_temp_float >= (float)180)&&(ins_flow_temp_float < (float)620)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float >= (float)620)&&(ins_flow_temp_float < (float)2600)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.992;
}
else if(ins_flow_temp_float >= (float)2600) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
#elif PF_DN20_BRASS_63KPA_GP30_32768
if(temp_value_float < (float)13) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float >= (float)70)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if(ins_flow_temp_float <= (float)22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)13)&&(temp_value_float < (float)15)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float >= (float)130) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
else if(ins_flow_temp_float <= (float)22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)15)&&(temp_value_float < (float)17)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)17)&&(temp_value_float < (float)22)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)45)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;//1.005
}
}
else if((temp_value_float >= (float)23)&&(temp_value_float < (float)27)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float >= (float)95) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)27)&&(temp_value_float < (float)30)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)50) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00167 *temp_value_float + (float)1.045);//0--0.5%<25><><EFBFBD><EFBFBD>
}
}
else if((temp_value_float >= (float)30)&&(temp_value_float < (float)34)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)50)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.00125*temp_value_float + (float)0.9525);//0.99-0.995
}
else if(ins_flow_temp_float >= (float)180) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float >= (float)37)&&(temp_value_float < (float)43)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;//0.996
}
else if(ins_flow_temp_float >= (float)70) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.992;
}
}
else if(temp_value_float >= (float)43) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;//0.996
}
else if(ins_flow_temp_float >= (float)70) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD>
if((temp_value_float >= (float)27)&&(temp_value_float < (float)30)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)19) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.005*temp_value_float + (float)1.135);//0---1.5
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)32)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0033*temp_value_float + (float)1.09);//0--1
}
else if((ins_flow_temp_float >= (float)32)&&(ins_flow_temp_float < (float)45)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0017*temp_value_float + (float)1.045);//0----0.5
}
}
else if((temp_value_float >= (float)30)&&(temp_value_float < (float)32)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)19) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.985;//-1.5
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)32)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;//-1
}
else if((ins_flow_temp_float >= (float)32)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;//-0.5
}
}
else if((temp_value_float >= (float)32)&&(temp_value_float < (float)34)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)32) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;//-1
}
else if((ins_flow_temp_float >= (float)32)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;//-0.5
}
}
else if((temp_value_float >= (float)34)&&(temp_value_float < (float)37)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)32) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;//-0.5
}
else if(ins_flow_temp_float >= (float)90) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if((temp_value_float >= (float)37)&&(temp_value_float < (float)40)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)19) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float) -0.00667 *temp_value_float+ (float)1.24167);//-0.5-----2.5
}
else if((ins_flow_temp_float >= (float)19)&&(ins_flow_temp_float < (float)32)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float) -0.005*temp_value_float + (float)1.18);//-0.5-----2
}
else if((ins_flow_temp_float >= (float)32)&&(ins_flow_temp_float < (float)38)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00333*temp_value_float + (float)1.11833);//-0.5----1.5
}
else if((ins_flow_temp_float >= (float)38)&&(ins_flow_temp_float < (float)45)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00333*temp_value_float + (float)1.12333);//0--1
}
else if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;//-0.5
}
}
else if(temp_value_float >= (float)40) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)13) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.97;//-3
}
else if((ins_flow_temp_float >= (float)13)&&(ins_flow_temp_float < (float)22)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.975;//-2.5
}
else if((ins_flow_temp_float >= (float)22)&&(ins_flow_temp_float < (float)28)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.98;//-2
}
else if((ins_flow_temp_float >= (float)28)&&(ins_flow_temp_float < (float)38)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.985;//-1.5
}
else if((ins_flow_temp_float >= (float)38)&&(ins_flow_temp_float < (float)45)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;//0--1
}
else if((ins_flow_temp_float >= (float)45)&&(ins_flow_temp_float < (float)55)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;//-0.5
}
else if((ins_flow_temp_float >= (float)55)&&(ins_flow_temp_float < (float)70)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;//-0.3
}
}
#elif DN25_BRASS_40KPA_GP30_32768
if(temp_value_float > (float)39) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)18)
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float > (float)18)&&(ins_flow_temp_float <= (float)22))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float > (float)22)&&(ins_flow_temp_float <= (float)35))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.988;
}
else if((ins_flow_temp_float > (float)35)&&(ins_flow_temp_float <= (float)45))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
else if((ins_flow_temp_float > (float)45)&&(ins_flow_temp_float <= (float)90))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float > (float)90)&&(ins_flow_temp_float <= (float)110))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0004*ins_flow_temp_float + (float)0.958); //0.0004x + 0.958 90-0.6 110+0.2
}
else if((ins_flow_temp_float > (float)110)&&(ins_flow_temp_float <= (float)130))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0005*ins_flow_temp_float + (float)1.055); //-0.0005x + 1.055 110+0 130-1
}
else if((ins_flow_temp_float > (float)130)&&(ins_flow_temp_float <= (float)180))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float > (float)180)&&(ins_flow_temp_float <= (float)190))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0007*ins_flow_temp_float + (float)0.864); //0.0007x + 0.864 180-1 190-0.3
}
else if(ins_flow_temp_float >= (float)190)
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float > (float)37)&&(temp_value_float <= (float)39)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float > (float)18)&&(ins_flow_temp_float <= (float)22))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float > (float)22)&&(ins_flow_temp_float <= (float)45))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
else if((ins_flow_temp_float > (float)45)&&(ins_flow_temp_float <= (float)90))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float > (float)90)&&(ins_flow_temp_float <= (float)110))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0004*ins_flow_temp_float + (float)0.958); //0.0004x + 0.958 90-0.6 110+0.2
}
else if((ins_flow_temp_float > (float)110)&&(ins_flow_temp_float <= (float)130))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0005*ins_flow_temp_float + (float)1.055); //-0.0005x + 1.055 110+0 130-1
}
else if((ins_flow_temp_float > (float)130)&&(ins_flow_temp_float <= (float)180))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float > (float)180)&&(ins_flow_temp_float <= (float)190))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0007*ins_flow_temp_float + (float)0.864); //0.0007x + 0.864 180-1 190-0.3
}
else if(ins_flow_temp_float >= (float)190)
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float > (float)33)&&(temp_value_float <= (float)37)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)18)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float > (float)22)&&(ins_flow_temp_float <= (float)45))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
else if((ins_flow_temp_float > (float)45)&&(ins_flow_temp_float <= (float)90))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
else if((ins_flow_temp_float > (float)90)&&(ins_flow_temp_float <= (float)110))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0004*ins_flow_temp_float + (float)0.958); //0.0004x + 0.958 90-0.6 110+0.2
}
else if((ins_flow_temp_float > (float)110)&&(ins_flow_temp_float <= (float)130))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0005*ins_flow_temp_float + (float)1.055); //-0.0005x + 1.055 110+0 130-1
}
else if((ins_flow_temp_float > (float)130)&&(ins_flow_temp_float <= (float)180))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
else if((ins_flow_temp_float > (float)180)&&(ins_flow_temp_float <= (float)190))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0007*ins_flow_temp_float + (float)0.867); //0.0007x + 0.867 180-0.7 190-0
}
}
else if((temp_value_float > (float)27)&&(temp_value_float <= (float)33)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)18)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if((ins_flow_temp_float > (float)18)&&(ins_flow_temp_float <= (float)22))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0012*ins_flow_temp_float + (float)1.0255); //-0.0012x + 1.0255 18+0.3 22-0.2
}
else if((ins_flow_temp_float > (float)22)&&(ins_flow_temp_float <= (float)45))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.998;
}
else if((ins_flow_temp_float > (float)45)&&(ins_flow_temp_float <= (float)90))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float > (float)110)&&(ins_flow_temp_float <= (float)180))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
else if((temp_value_float > (float)15)&&(temp_value_float <= (float)17)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)18)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.004*temp_value_float + (float)0.927); //15<31>棺-1.3%~17<31><37>-0.5% 0.004x + 0.927
}
else if((ins_flow_temp_float > (float)18)&&(ins_flow_temp_float <= (float)45))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0015*temp_value_float + (float)0.9695); //15<31>棺-0.8%~17<31><37>-0.5% 0.0015x + 0.9695
}
else if((ins_flow_temp_float > (float)45)&&(ins_flow_temp_float <= (float)65))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.004*temp_value_float + (float)0.927); //15<31>棺-1.3%~17<31><37>-0.5% 0.004x + 0.927
}
else if((ins_flow_temp_float > (float)65)&&(ins_flow_temp_float <= (float)180))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0065*temp_value_float + (float)0.8845); //15<31>棺-1.8%~17<31><37>-0.5% 0.0065x + 0.8845
}
else if((ins_flow_temp_float > (float)180)&&(ins_flow_temp_float <= (float)320))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.004*temp_value_float + (float)0.927); //15<31>棺-1.3%~17<31><37>-0.5% 0.004x + 0.927
}
else if((ins_flow_temp_float > (float)320)&&(ins_flow_temp_float <= (float)550))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0025*temp_value_float + (float)0.9525); //15<31>棺-1%~17<31><37>-0.5% 0.0025x + 0.9525
}
else if(ins_flow_temp_float>(float)4800)
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0025*temp_value_float + (float)0.9525); //15<31>棺-1%~17<31><37>-0.5% 0.0025x + 0.9525
}
}
else if(temp_value_float <= (float)15) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)18)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.987;
}
else if((ins_flow_temp_float > (float)18)&&(ins_flow_temp_float <= (float)45))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.992;
}
else if((ins_flow_temp_float > (float)45)&&(ins_flow_temp_float <= (float)65))
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0005*ins_flow_temp_float + (float)1.0145); //-0.0005x + 1.0145 45 -0.8 65 -1.8
}
else if((ins_flow_temp_float > (float)65)&&(ins_flow_temp_float <= (float)180))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.982;
}
else if((ins_flow_temp_float > (float)180)&&(ins_flow_temp_float <= (float)320))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.987;
}
else if((ins_flow_temp_float > (float)320)&&(ins_flow_temp_float <= (float)550))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float > (float)550)&&(ins_flow_temp_float <= (float)4800))
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if(ins_flow_temp_float > (float)4800)
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
}
// else if(temp_value_float <= (float)15) //<2F>¶ȷ<C2B6>Χ
// {
// if(temp_value_float>=(float)10)
// {
// if(ins_flow_temp_float <= (float)90)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
// {
// ins_flow_temp_float = ins_flow_temp_float * ((float)0.0004*temp_value_float + (float)0.989); //15<31>棺-0.5%~~10<31>棺-0.7%
// }
// else if(ins_flow_temp_float>(float)90)
// {
// ins_flow_temp_float = ins_flow_temp_float * ((float)0.001*temp_value_float + (float)0.983);//15<31>棺-0.2%~~10<31>棺-0.7%
// }
// }
// else //10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
// }
// }
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if((ins_flow_temp_float > (float)90)&&(ins_flow_temp_float <= (float)120))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if((temp_value_float >= (float)15)&&(temp_value_float < (float)22)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0009*temp_value_float + (float)0.9841); //15<31>棺-0.3%~~22<32>棺+0.3%
}
else if((temp_value_float > (float)22)&&(temp_value_float <= (float)32)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
#elif LLGS_DN25_BRASS_40KPA_GP30_32768
#elif BM_DN25_BRASS_63KPA_GP30_32768
#elif MID_DN25_BRASS_63KPA_GP30_32768
#elif PF_DN25_BRASS_63KPA_GP30_32768
if(temp_value_float > (float)35) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)43)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
else if(ins_flow_temp_float >= (float)130)
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((temp_value_float > (float)24)&&(temp_value_float <= (float)35)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)47)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if(temp_value_float <= (float)15) //<2F>¶ȷ<C2B6>Χ
{
if(temp_value_float>=(float)10)
{
if(ins_flow_temp_float <= (float)90)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0004*temp_value_float + (float)0.989); //15<31>棺-0.5%~~10<31>棺-0.7%
}
else if(ins_flow_temp_float>(float)90)
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.001*temp_value_float + (float)0.983);//15<31>棺-0.2%~~10<31>棺-0.7%
}
}
else //10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if((ins_flow_temp_float > (float)90)&&(ins_flow_temp_float <= (float)120))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if((temp_value_float >= (float)15)&&(temp_value_float < (float)22)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0009*temp_value_float + (float)0.9841); //15<31>棺-0.3%~~22<32>棺+0.3%
}
else if((temp_value_float > (float)22)&&(temp_value_float <= (float)32)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
#elif DN32_BRASS_63KPA_GP30_32768
if(temp_value_float > (float)49.01) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)43))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0005*ins_flow_temp_float + (float)0.9825); //35:0 43:0.4
}
if((ins_flow_temp_float >= (float)43)&&(ins_flow_temp_float < (float)70))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >= (float)90)&&(ins_flow_temp_float < (float)120))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >= (float)120)&&(ins_flow_temp_float < (float)160))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)160)&&(ins_flow_temp_float < (float)230))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.012;
}
else if((ins_flow_temp_float >=(float)230)&&(ins_flow_temp_float < (float)280))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >=(float)280)&&(ins_flow_temp_float < (float)300))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00035*ins_flow_temp_float + (float)1.102); //280: 0.4~300:-0.3
}
else if((ins_flow_temp_float >=(float)300)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.00014*ins_flow_temp_float + (float)0.955); //300: -0.4~350:0.4
}
else if((ins_flow_temp_float >=(float)350)&&(ins_flow_temp_float < (float)600))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)600)&&(ins_flow_temp_float < (float)850))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
}
else if((temp_value_float >= (float)43.67)&&(temp_value_float < (float)49.01)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >=(float)28)&&(ins_flow_temp_float < (float)43))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >=(float)43)&&(ins_flow_temp_float < (float)70))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.00015*ins_flow_temp_float + (float)0.99863); //43:0.5 70:0.9
}
else if((ins_flow_temp_float >=(float)70)&&(ins_flow_temp_float < (float)90))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >=(float)90)&&(ins_flow_temp_float < (float)160))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >=(float)160)&&(ins_flow_temp_float < (float)230))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >=(float)230)&&(ins_flow_temp_float < (float)280))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >=(float)280)&&(ins_flow_temp_float < (float)300))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00035*ins_flow_temp_float + (float)1.102); //280: 0.4~300:-0.3
}
else if((ins_flow_temp_float >=(float)300)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.00014*ins_flow_temp_float + (float)0.955); //300: -0.4~350:0.4
}
else if((ins_flow_temp_float >=(float)350)&&(ins_flow_temp_float < (float)850))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
}
else if((temp_value_float >= (float)35.71)&&(temp_value_float < (float)43.67)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)28)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >=(float)28)&&(ins_flow_temp_float < (float)43))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >=(float)43)&&(ins_flow_temp_float < (float)70))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)0.000111*ins_flow_temp_float + (float)1.005222); //43:1.01~ 70:1.013
}
else if((ins_flow_temp_float >=(float)70)&&(ins_flow_temp_float < (float)90))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
else if((ins_flow_temp_float >=(float)90)&&(ins_flow_temp_float < (float)160))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >=(float)160)&&(ins_flow_temp_float < (float)230))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >=(float)230)&&(ins_flow_temp_float < (float)280))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >=(float)280)&&(ins_flow_temp_float < (float)300))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0005*ins_flow_temp_float + (float)1.144); //280: 0.4~300:-0.6
}
else if((ins_flow_temp_float >=(float)300)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0002*ins_flow_temp_float + (float)0.934); //300: -0.6~350:0.4
}
else if((ins_flow_temp_float >=(float)350)&&(ins_flow_temp_float < (float)850))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
}
else if((temp_value_float >= (float)29)&&(temp_value_float < (float)35.71)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)35)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)43))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0005*ins_flow_temp_float + (float)0.9875); //35:0.5 43:0.9
}
else if((ins_flow_temp_float >=(float)43)&&(ins_flow_temp_float < (float)70))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.009;
}
else if((ins_flow_temp_float >=(float)70)&&(ins_flow_temp_float < (float)90))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)160)&&(ins_flow_temp_float < (float)260))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >=(float)280)&&(ins_flow_temp_float < (float)300))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00025*ins_flow_temp_float + (float)1.07); //280: 0~300:-0.5
}
else if((ins_flow_temp_float >=(float)300)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.00014*ins_flow_temp_float + (float)0.953); //300: -0.5~350:0.2
}
}
else if((temp_value_float >= (float)27.18)&&(temp_value_float < (float)29)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)90)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)160)&&(ins_flow_temp_float < (float)260))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >=(float)280)&&(ins_flow_temp_float < (float)300))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00025*ins_flow_temp_float + (float)1.07); //280: 0~300:-0.5
}
else if((ins_flow_temp_float >=(float)300)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.00014*ins_flow_temp_float + (float)0.953); //300: -0.5~350:0.2
}
}
else if((temp_value_float >= (float)25)&&(temp_value_float < (float)27.18)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)160)&&(ins_flow_temp_float < (float)260))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)2000)&&(ins_flow_temp_float < (float)9500))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)19.6)&&(temp_value_float < (float)25)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float<(float)70)
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00056*temp_value_float + (float)1.01389 ); //19.6<EFBFBD><EFBFBD> 0.3 25<32><35> :0
}
else if((ins_flow_temp_float >= (float)160)&&(ins_flow_temp_float < (float)260))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)2000)&&(ins_flow_temp_float < (float)9500))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)18.6)&&(temp_value_float < (float)19.6)) //<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)160)&&(ins_flow_temp_float < (float)260))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)2000)&&(ins_flow_temp_float < (float)9500))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if((temp_value_float >= (float)13.73)&&(temp_value_float < (float)18.6)) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float<(float)25)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)25)&&(ins_flow_temp_float < (float)50))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0004*ins_flow_temp_float + (float)1.015);// 25 0.5 50 -0.5
}
else if((ins_flow_temp_float >= (float)50)&&(ins_flow_temp_float < (float)110))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((ins_flow_temp_float >= (float)110)&&(ins_flow_temp_float < (float)160))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0001*ins_flow_temp_float + (float)0.9840);//0.0001+ 0.9840 110 -0.5 160 0
}
else if((ins_flow_temp_float >= (float)160)&&(ins_flow_temp_float < (float)260))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)2000)&&(ins_flow_temp_float < (float)9500))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
else if(temp_value_float < (float)13.73) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float<(float)25)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)25)&&(ins_flow_temp_float < (float)50))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0006*ins_flow_temp_float + (float)1.02);// 25 0.5 50 -1
}
else if((ins_flow_temp_float >= (float)50)&&(ins_flow_temp_float < (float)110))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else if((ins_flow_temp_float >= (float)110)&&(ins_flow_temp_float < (float)160))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0002*ins_flow_temp_float + (float)0.968);// 110 -1 160 0
}
else if((ins_flow_temp_float >= (float)160)&&(ins_flow_temp_float < (float)260))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)2000)&&(ins_flow_temp_float < (float)9500))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ԭʼУ׼<D0A3><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if((ins_flow_temp_float >= (float)33)&&(ins_flow_temp_float < (float)75))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if((temp_value_float >= (float)22)&&(temp_value_float < (float)33)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
}
else if((ins_flow_temp_float >= (float)400)&&(ins_flow_temp_float < (float)600))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float >= (float)22) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
#elif BM_DN32_BRASS_63KPA_GP30_32768
if(temp_value_float < (float)15) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)55)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.003;
}
}
#elif PF_DN32_BRASS_63KPA_GP30_32768
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if((ins_flow_temp_float > (float)33)&&(ins_flow_temp_float <= (float)75))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float < (float)15) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if((temp_value_float >= (float)15)&&(temp_value_float < (float)22)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0011*temp_value_float + (float)0.9779); //15<31>棺-0.5%~~22<32>棺+0.3%
}
else if((temp_value_float >= (float)22)&&(temp_value_float < (float)33)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if(temp_value_float >= (float)33) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.01;
}
}
else if((ins_flow_temp_float >= (float)78)&&(ins_flow_temp_float < (float)170))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
else if((ins_flow_temp_float >= (float)170)&&(ins_flow_temp_float < (float)400))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float >= (float)33) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.99;
}
else
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.993;
}
}
else if((ins_flow_temp_float >= (float)400)&&(ins_flow_temp_float <= (float)600))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float < (float)15) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
else if((temp_value_float >= (float)15)&&(temp_value_float < (float)22)) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0004*temp_value_float + (float)0.9906); //15<31>棺-0.3%~~22<32>棺+0%
}
else if(temp_value_float > (float)22) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if((ins_flow_temp_float >= (float)600)&&(ins_flow_temp_float <= (float)3100))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float < (float)17) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.992;
}
else
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
}
//<2F>¶ȵ<C2B6><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2022- 03 -21
if(temp_value_float < (float)15) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float <= (float)43)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float > (float)43)&&(ins_flow_temp_float <= (float)50))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float *((float)-0.00114* ins_flow_temp_float + (float)1.05414); //43 :0.5 50:-0.3
}
else if((ins_flow_temp_float > (float)50)&&(ins_flow_temp_float <= (float)75))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
#elif DN40_BRASS_63KPA_GP30_32768
if(temp_value_float < (float)11.98)//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)35)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)60))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00012*ins_flow_temp_float + (float)1.0092);//35:+0.5% ~ 60:+0.2 -0.00012x + 1.0092
}
else if((ins_flow_temp_float >= (float)60)&&(ins_flow_temp_float < (float)70))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0006*ins_flow_temp_float + (float)1.038);//60:+0.2% ~ 70:-0.4%
}
else if((ins_flow_temp_float >= (float)70)&&(ins_flow_temp_float < (float)85))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
else if(ins_flow_temp_float >= (float)600)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
}
else if(temp_value_float < (float)16.5)//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)35)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
else if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)60))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00012*ins_flow_temp_float + (float)1.0092);//35:+0.5% ~ 60:+0.2 -0.00012x + 1.0092
}
else if((ins_flow_temp_float >= (float)60)&&(ins_flow_temp_float < (float)70))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0006*ins_flow_temp_float + (float)1.038);//60:+0.2% ~ 70:-0.4%
}
else if((ins_flow_temp_float >= (float)70)&&(ins_flow_temp_float < (float)85))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.992;
}
else if((ins_flow_temp_float >= (float)85)&&(ins_flow_temp_float < (float)120))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
else if((ins_flow_temp_float >= (float)200)&&(ins_flow_temp_float < (float)320))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >= (float)320)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.000133*ins_flow_temp_float + (float)1.046667);//320:+0.4% ~ 350:+0
}
else if(ins_flow_temp_float >= (float)600)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
}
else if(temp_value_float < (float)20.54)//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)60)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >= (float)70)&&(ins_flow_temp_float < (float)85))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997; //75:+0% ~ 85:+0.5
}
else if((ins_flow_temp_float >= (float)85)&&(ins_flow_temp_float < (float)120))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.003*temp_value_float + (float)0.947); //16.5 -0.4 20.54 +0.8 0.003x + 0.947 <20><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)120)&&(ins_flow_temp_float < (float)200))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.001*temp_value_float + (float)0.9837); //16.5 0 20.54 +0.4 0.001x + 0.9837 <20><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>
}
else if((ins_flow_temp_float >= (float)200)&&(ins_flow_temp_float < (float)320))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.004;
}
else if((ins_flow_temp_float >= (float)320)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.000267*ins_flow_temp_float + (float)1.093333);//320:+0.8% ~ 350:+0
}
}
else if(temp_value_float < (float)27.5)//<2F>¶ȷ<C2B6>Χ
{
if((ins_flow_temp_float >= (float)75)&&(ins_flow_temp_float < (float)85))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0003*ins_flow_temp_float + (float)0.9775);//75:0% ~ 85:+0.3 0.0003 x + 0.9775
}
else if((ins_flow_temp_float >= (float)85)&&(ins_flow_temp_float < (float)280))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)280)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.000071*ins_flow_temp_float + (float)1.025);//280:+0.5% ~ 350:+0
}
}
else if(temp_value_float < (float)33.56)//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float<(float)60)
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0015*temp_value_float + (float)0.9577); //27.5<EFBFBD><EFBFBD> 0 33.56<EFBFBD><EFBFBD> :0.9
}
else if((ins_flow_temp_float >= (float)60)&&(ins_flow_temp_float < (float)70))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0004*ins_flow_temp_float + (float)0.98);//60:+0.4% ~ 70:+0.8
}
else if((ins_flow_temp_float >= (float)70)&&(ins_flow_temp_float < (float)85))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0002*ins_flow_temp_float + (float)0.991);//70:+0.5% ~ 85:+0.8
}
else if((ins_flow_temp_float >= (float)85)&&(ins_flow_temp_float < (float)280))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.012;
}
else if((ins_flow_temp_float >= (float)280)&&(ins_flow_temp_float < (float)320))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)320)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.00020*ins_flow_temp_float + (float)1.07);//320:+0.6% ~ 350:+0 -0.00020 x + 1.07000
}
}
else if(temp_value_float < (float)39.62)//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float<(float)60)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.009;
}
else if((ins_flow_temp_float >= (float)60)&&(ins_flow_temp_float < (float)70))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0004*ins_flow_temp_float + (float)0.98);//60:+0.4% ~ 70:+0.8
}
else if((ins_flow_temp_float >= (float)70)&&(ins_flow_temp_float < (float)85))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0003*ins_flow_temp_float + (float)0.9893);//70:+0.8% ~ 85:+1.2
}
else if((ins_flow_temp_float >= (float)85)&&(ins_flow_temp_float < (float)280))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.012;
}
else if((ins_flow_temp_float >= (float)280)&&(ins_flow_temp_float < (float)320))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.008;
}
else if((ins_flow_temp_float >= (float)320)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.000267*ins_flow_temp_float + (float)1.093333);//320:+0.8% ~ 350:+0
}
}
else if(temp_value_float < (float)43.67)//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)60)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.009;
}
else if((ins_flow_temp_float >= (float)60)&&(ins_flow_temp_float < (float)85))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0002*ins_flow_temp_float + (float)0.995); //60:0.7% ~ 85:1.2 0.00020 x + 0.99500
}
else if((ins_flow_temp_float >= (float)85)&&(ins_flow_temp_float < (float)220))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.012;
}
else if((ins_flow_temp_float >= (float)220)&&(ins_flow_temp_float < (float)280))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.007;
}
else if((ins_flow_temp_float >= (float)280)&&(ins_flow_temp_float < (float)320))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0006*temp_value_float + (float)1.0284); //39<33><39> 0.5 44<34><34>:0.2 -0.00060 x + 1.02840
}
else if((ins_flow_temp_float >= (float)320)&&(ins_flow_temp_float < (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.000167*ins_flow_temp_float + (float)1.055333);//320:+0.2% ~ 350:-0.3
}
else if(ins_flow_temp_float > (float)350)
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
else if(temp_value_float >= (float)43.67)//<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)35)
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.005;
}
if((ins_flow_temp_float >= (float)35)&&(ins_flow_temp_float < (float)60))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0002*ins_flow_temp_float + (float)0.9994);//35:0% ~ 60:0.6% ---> 35:0.5% ~ 60:0.9%
}
else if((ins_flow_temp_float >= (float)60)&&(ins_flow_temp_float < (float)85))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.00036*ins_flow_temp_float + (float)0.9844);//60:0.6% ~ 85:1.5
}
else if((ins_flow_temp_float >= (float)85)&&(ins_flow_temp_float < (float)220))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.015;
}
else if((ins_flow_temp_float >= (float)220)&&(ins_flow_temp_float < (float)320))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0001*ins_flow_temp_float + (float)1.032);//220:+1% ~ 320:+0
}
}
#elif BM_DN40_BRASS_63KPA_GP30_32768
if(temp_value_float > (float)35) //<2F>¶ȷ<C2B6>Χ
{
if(ins_flow_temp_float < (float)80)
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
}
if((ins_flow_temp_float > (float)110)&&(ins_flow_temp_float <= (float)180))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.00001648*ins_flow_temp_float*ins_flow_temp_float - (float)0.00475923*ins_flow_temp_float + (float)1.32378501);
if(ins_flow_temp_float <= (float)160)
{
if((temp_value_float < (float)31)&&(temp_value_float >= (float)10))//<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0000241*temp_value_float*temp_value_float + (float)0.0003506*temp_value_float + (float)1.0147);
}
else if(temp_value_float < (float)10) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.015;
}
}
}
else if((ins_flow_temp_float > (float)180)&&(ins_flow_temp_float < (float)1100))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float > (float)15) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.987;
}
}
#elif PF_DN40_BRASS_63KPA_GP30_32768
if((ins_flow_temp_float > (float)57)&&(ins_flow_temp_float <= (float)90))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float <= (float)15) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.995;
}
else if(temp_value_float > (float)35) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.996;
}
}
else if((ins_flow_temp_float >= (float)95)&&(ins_flow_temp_float <= (float)130))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if(temp_value_float < (float)32) //<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.006;
}
else
{
ins_flow_temp_float = ins_flow_temp_float * (float)1.012;
}
}
else if((ins_flow_temp_float >= (float)260)&&(ins_flow_temp_float <= (float)350))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
ins_flow_temp_float = ins_flow_temp_float * (float)0.997;
}
else if((ins_flow_temp_float >= (float)700)&&(ins_flow_temp_float <= (float)1800))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
{
if((temp_value_float >= (float)15)&&(temp_value_float < (float)22))//<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)-0.0008*temp_value_float + (float)1.0125); //15<31>棺0%~~22<32>棺-0.5%
}
else if((temp_value_float >= (float)22)&&(temp_value_float < (float)25))//<2F>¶ȷ<C2B6>Χ
{
ins_flow_temp_float = ins_flow_temp_float * ((float)0.0012*temp_value_float + (float)0.9688); //22<32>棺-0.5%~~25<32>棺+0%
}
}
#endif
ins_flow_temp_float=modify_flow(ins_flow_temp_float);
}
if(ins_flow_temp_float > LIMIT_FLOW_1_5Q4) //<2F>Թ<EFBFBD><D4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.5<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬2019-4-20 3.125*1.5=4.68
{
ins_flow_temp_float = LIMIT_FLOW_1_5Q4;
}
return ins_flow_temp_float;
}
/*ZCC <20><> nB <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD> 2022-7-21 15:38:06*/
float ZCC_NB_judge(float interval_value , u8 ins_flow_flag, float ins_flow)
{
float temp_value;
//ÿ<>θ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD>ظ<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA>
ZCC_NB_buf[0]=ZCC_NB_buf[1];
ZCC_NB_buf[1]=ZCC_NB_buf[2];
ZCC_NB_buf[2]=interval_value;
ZCC_direction_flow_flag[0]=ZCC_direction_flow_flag[1];
ZCC_direction_flow_flag[1]=ZCC_direction_flow_flag[2];
ZCC_direction_flow_flag[2]=ins_flow_flag;
ZCC_ins_flow[0]=ZCC_ins_flow[1];
ZCC_ins_flow[1]=ZCC_ins_flow[2];
ZCC_ins_flow[2]=ins_flow;
if(FixedTimeNbIoTUploadIfIdle() == TASK_IDLE)//NB<4E>ϱ<EFBFBD><CFB1>ڼ<EFBFBD><DABC>ſ<EFBFBD><C5BF><EFBFBD>
{
return 0;
}
if((0 == ZCC_ins_flow[0]) && (0 == ZCC_ins_flow[2]))//<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ
{
if( GP22_APP_DIFTOF_NEGT == ZCC_direction_flow_flag[1] )//<2F><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>ֵ<EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򲻲<EFBFBD><F2B2BBB2><EFBFBD>
{
return 0;
}
else
{
return (0 - ZCC_NB_buf[1]);
}
}
else //<2F><>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮ
{
if(ZCC_ins_flow[0] >= ZCC_ins_flow[2])
{
temp_value = ZCC_ins_flow[0] - ZCC_ins_flow[2];
}
else
{
temp_value = ZCC_ins_flow[2] - ZCC_ins_flow[0];
}
if(temp_value < (ZCC_ins_flow[0] * 0.1)) //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
{
if(( GP22_APP_DIFTOF_NEGT == ZCC_direction_flow_flag[1] )&&( GP22_APP_DIFTOF_POST == ZCC_direction_flow_flag[0] )&&( GP22_APP_DIFTOF_POST == ZCC_direction_flow_flag[2] ))
{
ZCC_direction_flow_flag[1] =GP22_APP_DIFTOF_POST;//<2F><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>ֵ<EFBFBD>Ǹ<EFBFBD><C7B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ZCC_NB_buf[1]= ZCC_NB_buf[0];
return ZCC_NB_buf[0];
}
else if(((ZCC_ins_flow[1] - ZCC_ins_flow[0]) > 0.4 * ZCC_ins_flow[0]) || ((ZCC_ins_flow[0] - ZCC_ins_flow[1]) > 0.4 * ZCC_ins_flow[0])) //<2F>ж<EFBFBD><D0B6>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
return (ZCC_NB_buf[0] - ZCC_NB_buf[1]); //<2F><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>ֵ
}
}
}
return 0;
}
/****************************************************************
Function: void Gp22FilterCalculate (u8 temp_flag)
Description: GP22 <EFBFBD>˲<EFBFBD><EFBFBD>ͼ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input: <EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ɼ<EFBFBD> <EFBFBD><EFBFBD>־
Return:
Others: <EFBFBD><EFBFBD>ȡ<EFBFBD>Ƚӿڲ<EFBFBD><EFBFBD><EFBFBD>: 0<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD> 3<EFBFBD><EFBFBD>׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
*****************************************************************/
void Gp22FilterCalculate(u8 temp_flag)
{
u32 temp_value;
u8 i;
float temp_total_flow_float = 0, temp_ins_flow_float= 0, temp_value_float = 0;
gp30_app_start_flow_filter=FrameCheckParaApp(FramePara_StartFlow);//<2F>˴<EFBFBD><CBB4><EFBFBD>Ҫ<EFBFBD><D2AA>¼<EFBFBD>³<EFBFBD>ֵ<EFBFBD><D6B5>GP30
// gp22_app_start_flow_reverse =0x80000000|gp30_app_start_flow_filter;
gp30_app_start_flow_filter_float=Gp30DataToFloat(gp30_app_start_flow_filter);
gp30_app_start_flow_reverse_float=0-gp30_app_start_flow_filter_float;
// s_gengxin_statebyte_msg = TRUE;
//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>
for (i = 0; i < GP22_APP_QUEUE_SIZE; i++)
{
if ( s_g_flow_data[i] >= 0x80000000) //<2F><><EFBFBD><EFBFBD>
{
s_g_flow_data[i] &= 0x7FFFFFFF;
s_g_temp_float_flow_data[i] = 0 - Gp30DataToFloat( s_g_flow_data[i]);
s_g_flow_data[i] |= 0x80000000;
}
else
{
s_g_temp_float_flow_data[i] = Gp30DataToFloat(s_g_flow_data[i]);
}
}
/* <20><><EFBFBD>µ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>gp22_app_data<74><61><EFBFBD><EFBFBD><EFBFBD>춨״̬<D7B4><CCAC>ͬʱ<CDAC><CAB1><EFBFBD>¼춨<C2BC><ECB6A8><EFBFBD><EFBFBD>gp22_test_data<74><61>*/
if (10 == LcdCheckStateApp()) //<2F>Ǽ춨״̬
{
// if (GP22_APP_FLOW_TEMP == temp_flag) //ͬʱ<CDAC><EFBFBD>+<2B><><EFBFBD><EFBFBD>ʱ,<2C>ż<EFBFBD><C5BC><EFBFBD>һ<EFBFBD><D2BB>
// {
s_g_sample_flag = 0;
temp_value_float = FilterJunZhi_TestForGp30_float(&s_g_temp_float_flow_data[0], GP22_APP_QUEUE_SIZE); //<2F>˲<EFBFBD>
// if(start_flow_sum >= GP22_APP_EXCEED_START_FLOW_SUM) //<2F><><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// temp_value_float = 0;
// }
// else
// {
//temp_value = FlowFilter(&s_g_temp_flow_data[0], GP22_APP_QUEUE_SIZE); //<2F>˲<EFBFBD> <20><><EFBFBD>ط<EFBFBD>
//temp_value = Gp22TimeDiffer(GP22_APP_FLOW_DIFFER); //<2F><> <20>˲<EFBFBD>
//temp_value_float = FilterJunZhi_TestForGp30_float(&s_g_temp_float_flow_data[0], GP22_APP_QUEUE_SIZE); //<2F>˲<EFBFBD>
calibration_diftof_value = temp_value_float;//<2F><><EFBFBD>ڼ<EFBFBD>¼<EFBFBD>Ǽ춨<C7BC><ECB6A8>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У׼<D0A3><D7BC>
// }
if(temp_value_float <0)
{
ins_flow_flag = GP22_APP_DIFTOF_NEGT;//<2F>˲<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ı<EFBFBD>־
temp_value_float = 0 - temp_value_float;
}
else
{
ins_flow_flag = GP22_APP_DIFTOF_POST;//<2F>˲<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ı<EFBFBD>־
}
temp_value = FloatToGp30Data(temp_value_float);
//˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
temp_ins_flow_float = Gp22FlowCalculate(temp_value);
gp22_test_data.s.ins_flow = FloatToGp30Data(temp_ins_flow_float);
gp22_app_data.s.ins_flow = gp22_test_data.s.ins_flow;
Gp22EventCheckApp(gp22_test_data.s.ins_flow); //<2F>¼<EFBFBD><C2BC><EFBFBD>¼<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if(TRUE == gp30_event_flag.reverse_flow)
{
// gp22_app_data.s.ins_flow = 0;
reverse_flow_sum++;
if(reverse_flow_sum >= 240)////ԭ<><D4AD><EFBFBD><EFBFBD>10<31><30>20s<30><73>240<34>ΰ˷<CEB0><CBB7><EFBFBD>reverse_flow_sum<75><6D>u8<75><38><EFBFBD><EFBFBD>
{
reverse_flow_sum = 0;
// Gp22AppSetGp22Err();
}
}
else
{
reverse_flow_sum = 0;
}
if(gp22_app_data.s.ins_flow != 0)
{
gp22CheckErrEventApp(GP30_no_water_DE); // 1/4 DE
gp22CheckErrEventApp(GP30_TOF_overrun_DE);
}
// temp_ins_flow_float = temp_ins_flow_float * (float)Compensate_Coefficient_For_Normal;//<2F><><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷǼ<CDB7><C7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2020-12-30
//<2F><>е̨<D0B5><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
temp_ins_flow_float = ModifyForVolumeTestbench(temp_ins_flow_float);
Gp22FlowDetect(temp_ins_flow_float);
if(0 != temp_ins_flow_float) //˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ټ<EFBFBD><D9BC><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD>
{
// total_flow_change_flag = 1;
// //<2F>Ǽ춨״̬ <20>Ŵ<EFBFBD>100<30><30>
{
//<2F><><EFBFBD>ݲ<EFBFBD>ͬ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD>
// temp_total_flow_float = temp_ins_flow_float * (float)((GP22_APP_SAMPLE_SIZE / 2) * s_g_gp22_sample_span) ;
if(FALSE == s_gp22_cal_interval_msg) //LPTIMERʱ<52><CAB1><EFBFBD><EFBFBD>
{
temp_total_flow_float = temp_ins_flow_float * ((float)intval_time/(float)128);//256<35><36>Ƶ<EFBFBD><C6B5>0x80<38><30><EFBFBD><EFBFBD>1s
}
else
{
temp_ins_flow_float = temp_ins_flow_float*(float)0.997;//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1>ڼ<EFBFBD><DABC><EFBFBD><EFBFBD><EFBFBD>ԭʼ<D4AD><CABC><EFBFBD><EFBFBD>
temp_total_flow_float = temp_ins_flow_float * (float)intval_time / (float)1000000;
}
temp_total_flow_float = temp_total_flow_float * (float)100 / (float)3600;
temp_total_flow_float = temp_total_flow_float / (float)1000.0; //lifangmi
}
if(GP22_APP_DIFTOF_POST == ins_flow_flag)
{
// <20><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼӵĵ<D3B5>λ
// if(gp22_app_data.s.total_flow.gp30_float > 99999000)
// {
// globle_total_flow_float = globle_total_flow_float + temp_total_flow_float;
// if(globle_total_flow_float > 100)
// {
// globle_total_flow_float = globle_total_flow_float - 100;
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + 100;
// }
// }
// else if(gp22_app_data.s.total_flow.gp30_float > 9999990)
// {
// globle_total_flow_float = globle_total_flow_float + temp_total_flow_float;
// if(globle_total_flow_float > 10)
// {
// globle_total_flow_float = globle_total_flow_float - 10;
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + 10;
// }
// }
// else if(gp22_app_data.s.total_flow.gp30_float > 999990)
// {
// globle_total_flow_float = globle_total_flow_float + temp_total_flow_float;
// if(globle_total_flow_float > 1)
// {
// globle_total_flow_float = globle_total_flow_float - 1;
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + 1;
// }
// }
// else
// {
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + temp_total_flow_float;
// }
duoble_total_flow.gp30_double += (double)temp_total_flow_float;
// gp22_app_data.s.total_flow.gp30_float = (float) duoble_total_flow.gp30_double;
// gp22_copy_total_flow = gp22_app_data.s.total_flow.gp30_float;//2017 02,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// gp22_copy_temp_total_flow_float = temp_total_flow_float;//<2F><><EFBFBD>渴λ<E6B8B4><CEBB><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC> ͨ<><CDA8><EFBFBD><EFBFBD>ͬ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD>
}
else
{
if(0x00004D3C==FrameCheckParaApp(FramePara_CCFlow)) //<2F><>ʽ1
{
//gp22_app_data.s.cur_total_flow.gp30_float=0;
//gp22_copy_cur_total_flow=0;
// <20><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼӵĵ<D3B5>λ
// if(gp22_app_data.s.total_flow.gp30_float > 99999000)
// {
// globle_total_flow_float = globle_total_flow_float - temp_total_flow_float;
// if(globle_total_flow_float < -100)
// {
// globle_total_flow_float = globle_total_flow_float + 100;
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float - 100;
// }
// }
// else if(gp22_app_data.s.total_flow.gp30_float > 9999990)
// {
// globle_total_flow_float = globle_total_flow_float - temp_total_flow_float;
// if(globle_total_flow_float < -10)
// {
// globle_total_flow_float = globle_total_flow_float + 10;
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float - 10;
// }
// }
// else if(gp22_app_data.s.total_flow.gp30_float > 999990)
// {
// globle_total_flow_float = globle_total_flow_float - temp_total_flow_float;
// if(globle_total_flow_float < -1)
// {
// globle_total_flow_float = globle_total_flow_float + 1;
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float - 1;
// }
// }
// else
// {
// if(gp22_app_data.s.total_flow.gp30_float <= temp_total_flow_float)
// {
// gp22_app_data.s.total_flow.gp30_float = 0;
// }
// else
// {
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float - temp_total_flow_float;
// }
// }
if(duoble_total_flow.gp30_double <= temp_total_flow_float)
{
duoble_total_flow.gp30_double = 0;
}
else
{
duoble_total_flow.gp30_double = duoble_total_flow.gp30_double - temp_total_flow_float;
}
gp22_app_data.s.total_flow.gp30_float = (float)duoble_total_flow.gp30_double;
gp22_copy_total_flow = gp22_app_data.s.total_flow.gp30_float;//2017 02,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
// <20><><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼӵĵ<D3B5>λ
if(gp22_app_data.s.total_flow_reverse.gp30_float > 99999000)
{
globle_cur_total_flow_float = globle_cur_total_flow_float + temp_total_flow_float;
if(globle_cur_total_flow_float > 100)
{
globle_cur_total_flow_float = globle_cur_total_flow_float - 100;
gp22_app_data.s.total_flow_reverse.gp30_float = gp22_app_data.s.total_flow_reverse.gp30_float + 100;
}
}
else if(gp22_app_data.s.total_flow_reverse.gp30_float > 9999990)
{
globle_cur_total_flow_float = globle_cur_total_flow_float + temp_total_flow_float;
if(globle_cur_total_flow_float > 10)
{
globle_cur_total_flow_float = globle_cur_total_flow_float - 10;
gp22_app_data.s.total_flow_reverse.gp30_float = gp22_app_data.s.total_flow_reverse.gp30_float + 10;
}
}
else if(gp22_app_data.s.total_flow_reverse.gp30_float > 999990)
{
globle_cur_total_flow_float = globle_cur_total_flow_float + temp_total_flow_float;
if(globle_cur_total_flow_float > 1)
{
globle_cur_total_flow_float = globle_cur_total_flow_float - 1;
gp22_app_data.s.total_flow_reverse.gp30_float = gp22_app_data.s.total_flow_reverse.gp30_float + 1;
}
}
else
{
gp22_app_data.s.total_flow_reverse.gp30_float = gp22_app_data.s.total_flow_reverse.gp30_float + temp_total_flow_float;
}
gp22_copy_total_flow_reverse = gp22_app_data.s.total_flow_reverse.gp30_float;//2017 02,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
else
{
// gp22_copy_total_flow = gp22_app_data.s.total_flow.gp30_float;//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gp22_copy_total_flow_reverse = gp22_app_data.s.total_flow_reverse.gp30_float;//2021 01,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// gp22_copy_temp_total_flow_float = 0;
}
/*ZCC <20><> nB <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD> 2022-7-21 15:38:06*/
float correct_value = ZCC_NB_judge(temp_total_flow_float,ins_flow_flag,temp_ins_flow_float);
if((correct_value > 2) || (correct_value < -2))//<2F>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD>ж<EFBFBD>
{
correct_value = 0;
}
duoble_total_flow.gp30_double += correct_value;
gp22_app_data.s.total_flow.gp30_float = (float) duoble_total_flow.gp30_double;
gp22_copy_total_flow = gp22_app_data.s.total_flow.gp30_float;//2017 02,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gp22_copy_temp_total_flow_float = temp_total_flow_float;//<2F><><EFBFBD>渴λ<E6B8B4><CEBB><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC> ͨ<><CDA8><EFBFBD><EFBFBD>ͬ<EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD>
/*ZCC <20><> nB <20>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD> 2022-7-21 15:38:06*/
MCU_reset_judge = MCU_RESET_JUDGE_FLAG; //ֻ<><D6BB><EFBFBD>ڸ<EFBFBD>ֵ<EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>ϵ<EFBFBD><CFB5>ɹ<EFBFBD>
//ÿ<>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,2016-7-21
// Gp22SampleChange(); //<2F>Ǽ춨״̬<D7B4>²<EFBFBD><C2B2><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
// }
}
else //<2F>춨״̬<D7B4><CCAC>ÿ<EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬2016-10-24
{
if(TRUE == s_g_diftof_for_total)
{
s_g_diftof_for_total = FALSE;
start_temp_sample();//<2F><><EFBFBD><EFBFBD><EFBFBD>¶Ⱥͳ<C8BA><CDB3><EFBFBD><EFBFBD>¶ȶ<C2B6><C8B6><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ֲɼ<D6B2>
}
//<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬2016-10-26
//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸߵ<C8B8>
// for (i = 0; i < GP22_APP_QUEUE_SIZE; i++)
// {
// if ( s_g_flow_data[i] >= 0x80000000) //<2F><><EFBFBD><EFBFBD>
// {
// s_g_flow_data[i] &= 0x7FFFFFFF;
// s_g_temp_float_flow_data[i] = 0 - Gp30DataToFloat( s_g_flow_data[i]);
// s_g_flow_data[i] |= 0x80000000;
// }
// else
// {
// s_g_temp_float_flow_data[i] = Gp30DataToFloat(s_g_flow_data[i]);
// }
// if(s_g_temp_flow_data[i] >= 0x80000000)
// {
// s_g_temp_flow_data[i] = 0;
// }
// if(s_g_temp_flow_data[i] < gp30_app_start_flow_filter)
// {
// start_flow_sum ++;
// if(start_flow_sum > GP22_APP_EXCEED_START_FLOW_SUM_VERIFICATION)
// {
// break;
// }
// }
// }
// if(start_flow_sum > GP22_APP_EXCEED_START_FLOW_SUM_VERIFICATION) //<2F><><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// temp_value = 0;
// }
// else
// {
// temp_value = FilterJunZhi_TestForGp30(&s_g_temp_flow_data[0], GP22_APP_QUEUE_SIZE); //<2F>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD>У׼<D0A3><D7BC>˲ʱ<CBB2>ٶȼ<D9B6><C8BC><EFBFBD>
// temp_value = FilterJunZhi(&s_g_temp_flow_data[0], GP22_APP_QUEUE_SIZE); //<2F>˲<EFBFBD><CBB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD>У׼<D0A3><D7BC>˲ʱ<CBB2>ٶȼ<D9B6><C8BC><EFBFBD>
//temp_value_float = FilterJunZhi_TestForGp30_float(&s_g_temp_float_flow_data[0], GP22_APP_QUEUE_SIZE); //<2F>˲<EFBFBD>
temp_value_float = FilterJunZhi_TestForGp30_float(&s_g_temp_float_flow_data[0], GP22_APP_QUEUE_SIZE); //<2F>˲<EFBFBD>
calibration_diftof_value = temp_value_float;//<2F><><EFBFBD>ڼ<EFBFBD>¼<EFBFBD><EFBFBD><ECB6A8>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У׼<D0A3><D7BC>
// }
//GP30_filter_last_value = temp_value;
if(temp_value_float<0)
{
temp_value_float=0;
}
temp_value = FloatToGp30Data(temp_value_float);
temp_ins_flow_float = Gp22FlowCalculate(temp_value);
s_g_sample_sum_lcd = FloatToGp30Data(temp_ins_flow_float);
if(TRUE == gp30_event_flag.reverse_flow)
{
// temp_ins_flow_float = 0;
// gp22_test_data.s.ins_flow = 0;
// gp22_app_data.s.ins_flow = gp22_test_data.s.ins_flow;
reverse_flow_sum++;
if(reverse_flow_sum >= 15)
{
reverse_flow_sum = 0;
// Gp22AppSetGp22Err();
}
}
else
{
reverse_flow_sum = 0;
}
//<2F><>е̨<D0B5><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
temp_ins_flow_float = ModifyForVolumeTestbench(temp_ins_flow_float);
DiftofForTestbench(temp_ins_flow_float);//<2F><><EFBFBD>Գ<EFBFBD><D4B3><EFBFBD>̨<EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
Gp22FlowDetect(temp_ins_flow_float);
if(0 != temp_ins_flow_float) //˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ټ<EFBFBD><D9BC><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD>
{
gp22CheckErrEventApp(GP30_no_water_DE); // 1/4 DE
gp22CheckErrEventApp(GP30_TOF_overrun_DE);
// temp_total_flow_float = temp_ins_flow_float * (float)1.73611;
temp_total_flow_float = temp_ins_flow_float * ((float)intval_time/(float)128)/(float)36;//256<35><36>Ƶ<EFBFBD><C6B5>0x80<38><30><EFBFBD><EFBFBD>1s;
gp22_test_data.s.total_flow.gp30_float += temp_total_flow_float;
duoble_total_flow.gp30_double += temp_total_flow_float/(float)1000;
gp22_app_data.s.total_flow.gp30_float = (float)duoble_total_flow.gp30_double;
gp22_copy_total_flow_test=gp22_test_data.s.total_flow.gp30_float;
gp22_copy_temp_total_flow_float_test=temp_total_flow_float;
gp22_copy_total_flow = gp22_app_data.s.total_flow.gp30_float;//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// globle_total_flow_float_jian += temp_total_flow_float;
// time = 125 * 65536 / 2; //62.5ms<EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>ֱֵ<D6B5><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,2016-8-2
// temp_total_flow = MulGp30Data(GP22_APP_TOTAL_FLOW_PARA_JIAN, temp_value_total_shunshi);
// temp_total_flow = MulGp30Data(temp_total_flow , time);
//
// temp_total_flow_float = Gp30DataToFloat(temp_total_flow);
// temp_total_flow_u32 += (u32)(temp_total_flow_float*1000.0); //4294967295
// if(temp_total_flow_u32 > 100000000)
// {
// temp_total_flow_u32 -= 100000000;
// temp_total_flow_u32_1 ++;0
//
// }
//// temp_total_flow_float = temp_total_flow_float/1000.0;
// gp22_test_data.total_flow.gp30_float = (float)temp_total_flow_u32_1*100 + ((float)(temp_total_flow_u32))/1000000.0;
// gp22_app_data.total_flow.gp30_float += temp_total_flow_float/1000000;
}
else
{
gp22_copy_total_flow = gp22_app_data.s.total_flow.gp30_float;//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gp22_copy_total_flow_reverse = gp22_app_data.s.total_flow_reverse.gp30_float;//2021 01,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gp22_copy_temp_total_flow_float_test = 0;
}
MCU_reset_judge = MCU_RESET_JUDGE_FLAG; //ֻ<><D6BB><EFBFBD>ڸ<EFBFBD>ֵ<EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD>ϵ<EFBFBD><CFB5>ɹ<EFBFBD>
}
}
/****************************************************************
Function: void gp22CheckErrEventApp (u8 err_event)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>
Input:
Return:
Others:
// //Bit0<74><30><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>>Q4<51><34><EFBFBD><EFBFBD><Q1<51><31>
// //Bit1<74><31>ˮ<EFBFBD>³<EFBFBD><C2B3><EFBFBD><EFBFBD>¶ȵȼ<C8B5><C8BC><EFBFBD>Χ
// //Bit2 <20><>GP30<33>źų<C5BA>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>
// //Bit3 <20><>GP30<33><30><EFBFBD><EFBFBD>
// //Bit4<74><34><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
// //Bit5<74><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// //Bit6<74><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>
Bit0:<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>>Q4<EFBFBD><EFBFBD><EFBFBD><EFBFBD><Q1 GP30_low_high_flow
Bit1:ˮ<EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵȼ<EFBFBD><EFBFBD><EFBFBD>Χ GP30_out_temp
Bit2:<EFBFBD><EFBFBD>ת GP30_reverse_flow
Bit3:<EFBFBD><EFBFBD>ˮ GP30_no_water
Bit4:GP30<EFBFBD> GP30_err
Bit5:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GP30_low_flow
Bit6:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źŵͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GP30_low_amp;
Bit7:GP30ͨ<EFBFBD><EFBFBD><EFBFBD> GP30_communication_err
Bit8:TOF overrun GP30_TOF_overrun
*****************************************************************/
void gp22CheckErrEventApp (u8 err_event)
{
u8 sum_res = 0;
static u8 sum_reverse_clear = 0;
static u8 sum_no_water_clear = 0;
static u8 sum_water_diredtion_clear = 0;
static u8 sum_low_amp_clear = 0;
if(10 == LcdCheckStateApp()) //NORMAL
{
sum_res = GP30_APP_EVENT_SUM_NORMAL;
}
else
{
sum_res = GP30_APP_EVENT_SUM_TEST;
}
switch (err_event)
{
case GP30_communication_err:
gp30_event.communication_err++;
if(gp30_event.communication_err > sum_res)
{
gp30_event_flag.communication_err = TRUE;
gp30_event_save_flag.communication_err = TRUE;
}
break;
case GP30_no_water:
gp30_event.no_water++;
if(gp30_event.no_water > sum_res)
{
sum_no_water_clear=0;
gp30_event_flag.no_water = TRUE;
gp30_event_save_flag.no_water = TRUE;
}
break;
case GP30_low_flow:
gp30_event.low_flow++;
if(gp30_event.low_flow > sum_res)
{
gp30_event_flag.low_flow = TRUE;
gp30_event_save_flag.low_flow = TRUE;
}
break;
case GP30_out_temp:
gp30_event.out_temp++;
if(gp30_event.out_temp > sum_res)
{
gp30_event_flag.out_temp = TRUE;
gp30_event_save_flag.out_temp = TRUE;
}
break;
case GP30_low_high_flow:
gp30_event.low_high_flow++;
if(gp30_event.low_high_flow > sum_res)
{
gp30_event_flag.low_high_flow = TRUE;
gp30_event_save_flag.low_high_flow = TRUE;
}
break;
case GP30_reverse_flow:
// gp30_event.reverse_flow++;
// sum_reverse_clear = 0;
// if(gp30_event.reverse_flow > (sum_res+sum_res))
// {
// gp30_event_flag.reverse_flow = TRUE;
// gp30_event_save_flag.reverse_flow = TRUE;
// }
gp30_event.reverse_flow++;
if(gp30_event.reverse_flow > (sum_res+sum_res))
{
sum_reverse_clear = 0;
gp30_event.reverse_flow = 0;
gp30_event_flag.reverse_flow = TRUE;
gp30_event_save_flag.reverse_flow = TRUE;
}
break;
case GP30_TOF_overrun:
gp30_event.tof_overrun++;
if(gp30_event.tof_overrun > sum_res)
{
gp30_event_flag.tof_overrun = TRUE;
gp30_event_save_flag.tof_overrun = TRUE;
}
break;
case GP30_low_amp:
gp30_event.low_amp++;
if(gp30_event.low_amp > sum_res)
{
sum_low_amp_clear=0;
gp30_event_flag.low_amp = TRUE;
gp30_event_save_flag.low_amp = TRUE;
}
break;
case GP30_err:
gp30_event.gp30_err++;
if(gp30_event.gp30_err > sum_res)
{
gp30_event_flag.gp30_err = TRUE;
gp30_event_save_flag.gp30_err = TRUE;
}
break;
case GP30_water_direction:
gp30_event.water_direction_reverse++;
if(gp30_event.water_direction_reverse > sum_res)
{
gp30_event_flag.water_direction = TRUE;
sum_water_diredtion_clear= 0;
}
break;
case GP30_communication_err_DE:
gp30_event_flag.communication_err = FALSE;
gp30_event.communication_err = 0;
break;
case GP30_no_water_DE:
sum_no_water_clear++;
if(sum_no_water_clear > GP30_APP_EVENT_SUM_NORMAL)
{
sum_no_water_clear=0;
gp30_event_flag.no_water = FALSE;
gp30_event.no_water = 0;
}
break;
case GP30_low_flow_DE:
gp30_event_flag.low_flow = FALSE;
gp30_event.low_flow = 0;
break;
case GP30_out_temp_DE:
gp30_event_flag.out_temp = FALSE;
gp30_event.out_temp = 0;
break;
case GP30_low_high_flow_DE:
gp30_event_flag.low_high_flow = FALSE;
gp30_event.low_high_flow = 0;
break;
case GP30_reverse_flow_DE:
// if(TRUE == gp30_event_flag.reverse_flow)
{
sum_reverse_clear++;
if(sum_reverse_clear > GP30_APP_EVENT_SUM_NORMAL)
{
sum_reverse_clear = 0;
gp30_event_flag.reverse_flow = FALSE;
gp30_event.reverse_flow = 0;
}
}
break;
case GP30_TOF_overrun_DE:
gp30_event_flag.tof_overrun = FALSE;
gp30_event.tof_overrun = 0;
break;
case GP30_low_amp_DE:
sum_low_amp_clear++;
if(sum_low_amp_clear > GP30_APP_EVENT_SUM_NORMAL)
{
sum_low_amp_clear=0;
gp30_event_flag.low_amp = FALSE;
gp30_event.low_amp = 0;
}
break;
case GP30_err_DE:
gp30_event_flag.gp30_err = FALSE;
gp30_event.gp30_err = 0;
break;
case GP30_water_direction_DE:
sum_water_diredtion_clear++;
if(sum_water_diredtion_clear > GP30_APP_EVENT_SUM_NORMAL)
{
gp30_event_flag.water_direction = FALSE;
gp30_event.water_direction_reverse = 0;
sum_water_diredtion_clear = 0;
}
break;
case GP30_clear_all:
gp30_event.communication_err = 0;
gp30_event.no_water = 0;
gp30_event.low_flow = 0;
gp30_event.out_temp = 0;
gp30_event.low_high_flow = 0;
gp30_event.water_direction_reverse = 0;
// gp30_event_flag.trans_err = FALSE;
// gp30_event_flag.no_water = FALSE;
// gp30_event_flag.low_flow = FALSE;
// gp30_event_flag.out_temp = FALSE;
// gp30_event_flag.low_high_flow = FALSE;
gp30_event_save_flag.communication_err = FALSE;
gp30_event_save_flag.no_water = FALSE;
gp30_event_save_flag.low_flow = FALSE;
gp30_event_save_flag.out_temp = FALSE;
gp30_event_save_flag.low_high_flow = FALSE;
break;
default:
break;
}
}
/****************************************************************
Function: void gp22App (void)
Description: GP22<EFBFBD><EFBFBD><EFBFBD>ݼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
void Gp22App(void)
{
// u32 gp22_sample_result;
u8 gp22_err_result;
// u8 temp_flow_head;
// u32 temp_dif_time;
u8 i = 0;
u8 GP30_low_amp_cnt = 0;//ÿ16<31><36>buffer<65>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
// static u8 s_diftof_overrun_num = 0;
// static u8 s_tdc_overrun_num = 0; //<2F><>ˮ
// static u8 s_tof_overrun_num = 0;
// float temp_value_float = 0;
u32 *s_g_flow_data_pointer; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
u32 *s_g_flow_type_pointer; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
#if WENDU_FANSUAN_OPEN
u32 *s_g_tof_am_pointer; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
#else
static u8 s_temp_sample_num = 0;
u32 sum_up_am=0,sum_down_am=0;//<2F><><EFBFBD><EFBFBD>Up<55><70>Down<77><6E><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD>
u8 up_am_cnt=0,down_am_cnt=0;//ͳ<>Ʒ<EFBFBD><C6B7>ϺϷ<CFBA><CFB7><EFBFBD>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD> 2022-05-11
u32 *s_g_up_am_pointer; //UP<55><50><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
u32 *s_g_down_am_pointer; //DOWN<57><4E><EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
#endif
switch (s_g_gp22_app_state_num)
{
case GP22_APP_S0:
gp22_sample_result = Gp22CheckSampleMsg();
if (gp22_sample_result != BIT2) //δ<><CEB4><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD>
{
// if((01 == LcdCheckStateApp()) && (0 == start_measure_flag)) //<2F><EFBFBD><ECB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// Gp22ClearSampleMsg();
// TempStartTaskApp();//<2F><><EFBFBD><EFBFBD><EFBFBD>¶Ȳɼ<C8B2>
// break;
// }
// else
// {
#if !WENDU_FANSUAN_OPEN
if(10== LcdCheckStateApp()) //<2F>Ǽ춨
{
s_temp_sample_num++;
if(0 == s_temp_sample_num % 3)
{
s_temp_sample_num = 0;
TempStartTaskApp();//<2F><><EFBFBD><EFBFBD><EFBFBD>¶Ȳɼ<C8B2>
s_g_sample_flag = GP22_APP_FLOW_TEMP; //<2F><><EFBFBD>βɼ<CEB2><C9BC>¶ȱ<C2B6>־
}
}
else
{
TempStartTaskApp();//<2F><><EFBFBD><EFBFBD><EFBFBD>¶Ȳɼ<C8B2>
s_g_sample_flag = GP22_APP_FLOW_TEMP; //<2F><><EFBFBD>βɼ<CEB2><C9BC>¶ȱ<C2B6>־
}
#endif
s_g_gp22_app_state_num = GP22_APP_S1;
// }
}
break;
case GP22_APP_S1:
if (0x01 == (gp22_sample_result & 0x01)) //<2F><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
{
gp30_overrun_num.GP30_sample_err_num = 0 ;
Gp22ClearSampleMsg(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MSG
s_g_gp22_err_flag = 0;
gp22CheckErrEventApp(GP30_communication_err_DE);
Gp22DateBuf(&s_g_flow_data_pointer);
Gp22TypeBuf(&s_g_flow_type_pointer);
#if WENDU_FANSUAN_OPEN
Gp22_TOF_AM_Buf(&s_g_tof_am_pointer);
#else
Gp22DOWN_AM_Buf(&s_g_down_am_pointer);
Gp22UP_AM_Buf(&s_g_up_am_pointer);
#endif
for(i = 0;i < GP22_APP_QUEUE_SIZE;i++)
{
s_g_flow_data[i] = *(s_g_flow_data_pointer + i);
s_g_flow_type[i] = *(s_g_flow_type_pointer + i);
#if WENDU_FANSUAN_OPEN
Tof_And_AM_Data_Collect(i,s_g_tof_am_pointer[i]);//<2F><><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵIJɼ<C4B2>
#else
if(i < GP22_APP_MAX_AM_BUFFER)
{
s_g_up_am[i] = *(s_g_up_am_pointer + i);
s_g_down_am[i] = *(s_g_down_am_pointer + i);
s_g_up_am[i] = (s_g_up_am[i] & 0x000000FFU) << 24 | (s_g_up_am[i] & 0x0000FF00U) << 8 | (s_g_up_am[i] & 0x00FF0000U) >> 8 | (s_g_up_am[i] & 0xFF000000U) >> 24; //<2F><>С<EFBFBD><D0A1>ת<EFBFBD><D7AA>
s_g_down_am[i] = (s_g_down_am[i] & 0x000000FFU) << 24 | (s_g_down_am[i] & 0x0000FF00U) << 8 | (s_g_down_am[i] & 0x00FF0000U) >> 8 | (s_g_down_am[i] & 0xFF000000U) >> 24; //<2F><>С<EFBFBD><D0A1>ת<EFBFBD><D7AA>
if(0x80000000 == (s_g_up_am[i] & 0x80000000)) //<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>:дΪ0
{
s_g_up_am[i] = 0;
}
if(0x80000000 == (s_g_down_am[i] & 0x80000000)) //<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>дΪ0
{
s_g_down_am[i] = 0;
}
if((s_g_up_am[i]>0)&&(s_g_up_am[i] < UP_AM_MAX))//UP<55><50><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>(0~UP_AM_MAX)<29><>Χ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ݼӺ<DDBC>
{
sum_up_am += s_g_up_am[i];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ЧUP<55><50><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD>
up_am_cnt++;//ͳ<><CDB3><EFBFBD><EFBFBD>ЧUP<55><50><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
}
if((s_g_down_am[i]>0)&&(s_g_down_am[i] < DOWN_AM_MAX))//DOWN<57><4E><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD>(0~DOWN_AM_MAX)<29><>Χ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>ݼӺ<DDBC>
{
sum_down_am += s_g_down_am[i];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ЧDOWN<57><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܺ<EFBFBD>
down_am_cnt++;//ͳ<><CDB3><EFBFBD><EFBFBD>ЧDOWN<57><4E><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD>
}
}
#endif
s_g_flow_data[i] = (s_g_flow_data[i] & 0x000000FFU) << 24 | (s_g_flow_data[i] & 0x0000FF00U) << 8 | (s_g_flow_data[i] & 0x00FF0000U) >> 8 | (s_g_flow_data[i] & 0xFF000000U) >> 24; //<2F><>С<EFBFBD><D0A1>ת<EFBFBD><D7AA>
// s_g_flow_type[i] = (s_g_flow_type[i] & 0x000000FFU) << 24 | (s_g_flow_type[i] & 0x0000FF00U) << 8 | (s_g_flow_type[i] & 0x00FF0000U) >> 8 | (s_g_flow_type[i] & 0xFF000000U) >> 24; //<2F><>С<EFBFBD><D0A1>ת<EFBFBD><D7AA> //type<70><65><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>С<EFBFBD><D0A1>
// +5 -2 -11 -1 -5 -11
// s_g_flow_data[i]=s_g_flow_data[i]-11;
if(TRUE == CheckDiftofCalibrationFlag())
{
s_g_flow_data[i]=s_g_flow_data[i] + g_diftof_cal_data.s.diftof_calibration_value.data;
// temp_value_float = TempCheckValueApp();
// if(temp_value_float > 35)
// {
// s_g_flow_data[i] = s_g_flow_data[i]-DIFTOF_HIGH_TEMP_CALIBRATION_VALUE;
// }
}
if(0x01000000 == (s_g_flow_type[i] & 0x01000000)) //<2F><><EFBFBD><EFBFBD>DIFTOF<4F><46><EFBFBD><EFBFBD>
{
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>,<2C>Ѳ<EFBFBD><D1B2><EFBFBD>ת<EFBFBD><D7AA>Ϊԭ<CEAA><D4AD>
if(0x80000000 == (s_g_flow_data[i] & 0x80000000)) //ʱ<><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>:<3A><><EFBFBD><EFBFBD>λΪ1
{
s_g_flow_data[i] &= 0x7FFFFFFF;
s_g_flow_data[i] = (~s_g_flow_data[i]) + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ԭ<EFBFBD><D4AD>
gp22CheckErrEventApp(GP30_water_direction); //ˮ<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
gp22CheckErrEventApp(GP30_water_direction_DE);//
}
//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
if(((s_g_flow_data[i] > 0) && (s_g_flow_data[i] <= LIMIT_DIFTOF_FORWARD)) || ((s_g_flow_data[i] >= 0x80000000) && (s_g_flow_data[i] <= 0x80000107))) //0~700ns<6E><73><EFBFBD><EFBFBD>-1~0ns <20><><EFBFBD><EFBFBD>2019-3-9 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ-200-800ns
{
gp22CheckErrEventApp(GP30_reverse_flow_DE);
}
//С<><D0A1>1ns<6E><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ<EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>޸Ĵ˴<C4B4> 2019-3-11
else if((s_g_flow_data[i] > 0x80000107) && (s_g_flow_data[i] <= LIMIT_DIFTOF_REVERSE)) //-200ns ~ -1ns(<28><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><>ⲻͬ<E2B2BB>ھ<EFBFBD>) <20><><EFBFBD><EFBFBD> 2019-3-9 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ-200-800ns
{
gp22CheckErrEventApp(GP30_reverse_flow);
// if (01== LcdCheckStateApp()) //<2F>춨״̬
// {
// if(TRUE == gp30_event_flag.reverse_flow)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ĵ<EFBFBD>ת<EFBFBD><D7AA><><CEAA>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2018-12-17<31><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD>DLY<4C>̼<EFBFBD><CCBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣩2019-3-9
// {
// s_g_flow_data[i] = 0; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2018-10-12 14:37:22
// }
// else //<2F><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
// {
// if (0 == i)
// {
// s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
// }
// else
// {
// s_g_flow_data[i] = s_g_flow_data[i-1];
// }
// }
// }
}
else if((s_g_flow_data[i] > LIMIT_DIFTOF_REVERSE) && (s_g_flow_data[i] <= 0x80040000)) //-1000ns ~ -100ns
{
s_g_flow_data[i] = 0x00040000-(s_g_flow_data[i]&0x7FFFFFFF);
}
else
{
if (0 == i)
{
s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
}
else
{
s_g_flow_data[i] = s_g_flow_data[i-1];
}
}
StillWatetCalculate(s_g_flow_data[i]); //ʱ<><CAB1><EFBFBD><EFBFBD>
gp22CheckErrEventApp(GP30_err_DE);
gp22CheckErrEventApp(GP30_no_water_DE);
gp22CheckErrEventApp(GP30_TOF_overrun_DE);
gp30_overrun_num.tdc_overrun_num = 0;//<2F><>ˮ
gp30_overrun_num.tof_overrun_num = 0;//TOF Overrun
gp30_overrun_num.diftof_overrun_num = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼƴ<DBBC><C6B4><EFBFBD>
gp30_overrun_num.type_err_num = 0;//<2F><>GP30<33><EFBFBD>ۼƴ<DBBC><C6B4><EFBFBD>
Gp22ClearErrMsg(0);
Gp22ClearErrMsg(1);
}
/*
Norbert Breyer: 2019-3-9
1. No receive at all - TDC overrun
2. very small signal or noise, TDC gets triggered but amplitude very low - MIN_AMP error
TOF overrun as well
*/
else if(0x08000000 == (s_g_flow_type[i]&0x08000000)) //<2F><>ˮ:TDC overrun
{
if(gp30_overrun_num.tdc_overrun_num >= GP22_APP_QUEUE_SIZE)
{
s_g_flow_data[i] = 0;
}
else
{
gp30_overrun_num.tdc_overrun_num++;
if (0 == i)
{
s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
}
else
{
s_g_flow_data[i] = s_g_flow_data[i-1];
}
}
StillWatetCalculate(s_g_flow_data[i]); //ʱ<><CAB1><EFBFBD><EFBFBD> 2019-7-4 18:48:02
gp22CheckErrEventApp(GP30_no_water);
gp22CheckErrEventApp(GP30_water_direction_DE);//<2F><>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD>£<EFBFBD>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gp22CheckErrEventApp(GP30_reverse_flow_DE);
gp30_overrun_num.diftof_overrun_num = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼƴ<DBBC><C6B4><EFBFBD>
gp30_overrun_num.type_err_num = 0;//<2F><>GP30<33><EFBFBD>ۼƴ<DBBC><C6B4><EFBFBD>
gp22CheckErrEventApp(GP30_err_DE);
Gp22ClearErrMsg(0);
Gp22ClearErrMsg(1);
}
else if(0x02000000 == (s_g_flow_type[i]&0x02000000)) //GP30_TOF_overrun
{
if(gp30_overrun_num.tof_overrun_num >= GP22_APP_QUEUE_SIZE)
{
s_g_flow_data[i] = 0;
}
else
{
gp30_overrun_num.tof_overrun_num++;
if (0 == i)
{
s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
}
else
{
s_g_flow_data[i] = s_g_flow_data[i-1];
}
}
StillWatetCalculate(s_g_flow_data[i]); //ʱ<><CAB1><EFBFBD><EFBFBD> 2019-7-4 18:48:02
gp22CheckErrEventApp(GP30_TOF_overrun);
gp22CheckErrEventApp(GP30_err_DE);
gp22CheckErrEventApp(GP30_no_water); //TOF Overrun<75><6E><EFBFBD><EFBFBD>ˮ <20><>Ҫȷ<D2AA><C8B7>
gp22CheckErrEventApp(GP30_water_direction_DE);//<2F><>ˮ<EFBFBD><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
gp22CheckErrEventApp(GP30_reverse_flow_DE);
gp30_overrun_num.diftof_overrun_num = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۼƴ<DBBC><C6B4><EFBFBD>
gp30_overrun_num.type_err_num = 0;//<2F><>GP30<33><EFBFBD>ۼƴ<DBBC><C6B4><EFBFBD>
Gp22ClearErrMsg(0);
Gp22ClearErrMsg(1);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
else if(0x04000000 == (s_g_flow_type[i]&0x04000000)) //GP30_DIFTOF overrun
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
gp30_overrun_num.diftof_overrun_num++;
// if(gp30_overrun_num.diftof_overrun_num >= (GP22_APP_QUEUE_SIZE + GP22_APP_QUEUE_SIZE))
// {
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD><D3B4><EFBFBD><EFBFBD><EFBFBD>ʩ
// //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>λGP30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>춨start<72><74>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<E1B6AA><D2BB>buf<75><66><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2018-11-28
// //<2F><><EFBFBD><EFBFBD>״̬<D7B4>£<EFBFBD><C2A3><EFBFBD><EFBFBD><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>
//
// gp30_overrun_num.diftof_overrun_num = 0;
//// #if defined(DLY_SWITCH)
//// Gp22AppSetGp22Err();
//// #endif
// }
// //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>,<2C>Ѳ<EFBFBD><D1B2><EFBFBD>ת<EFBFBD><D7AA>Ϊԭ<CEAA><D4AD>
// if(0x80000000 == (s_g_flow_data[i] & 0x80000000)) //ʱ<><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>:<3A><><EFBFBD><EFBFBD>λΪ1
// {
// s_g_flow_data[i] &= 0x7FFFFFFF;
// s_g_flow_data[i] = (~s_g_flow_data[i]) + 1; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ԭ<EFBFBD><D4AD>
// }
//
// if((s_g_flow_data[i] < 0x80080000) && (s_g_flow_data[i] >= 0x80053333)) //-2000~-1300ns
// {
// s_g_flow_data[i] &= 0x7FFFFFFF; //ʱ<><CAB1><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA>
// s_g_flow_data[i] = 0x80000 - s_g_flow_data[i]; //2000-
// gp22CheckErrEventApp(GP30_reverse_flow_DE);
// }
// else if((s_g_flow_data[i] < 0x80040000) && (s_g_flow_data[i] >= 0x80013333)) //-1000~-300ns
// {
// s_g_flow_data[i] &= 0x7FFFFFFF; //ʱ<><CAB1><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA>
// s_g_flow_data[i] = 0x40000 - s_g_flow_data[i]; //1000-
// gp22CheckErrEventApp(GP30_reverse_flow_DE);
// }
// else if((s_g_flow_data[i] > 0x40000) && (s_g_flow_data[i] <= 0x6CCCC)) //1000~1700ns
// {
// s_g_flow_data[i] -= 0x40000; //-1000ns
// gp22CheckErrEventApp(GP30_reverse_flow_DE);
// }
// else if((s_g_flow_data[i] > 0x80000) && (s_g_flow_data[i] <= 0xACCCC)) //2000~2700ns
// {
// s_g_flow_data[i] -= 0x80000; //-2000ns
// gp22CheckErrEventApp(GP30_reverse_flow_DE);
// }
// else
// {
//<2F><><EFBFBD>ϴ<EFBFBD>ֵ
if(gp30_overrun_num.diftof_overrun_num <= 3)
{
if (0 == i)
{
s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
}
else
{
s_g_flow_data[i] = s_g_flow_data[i-1];
}
}
// }
StillWatetCalculate(s_g_flow_data[i]);
// gp22CheckErrEventApp(GP30_no_water_DE);
// gp22CheckErrEventApp(GP30_TOF_overrun_DE);
// gp30_overrun_num.tdc_overrun_num = 0;
// gp30_overrun_num.tof_overrun_num = 0;
}
else if((0x20000000 == (s_g_flow_type[i]&0x20000000)) || (0 == s_g_flow_type[i])) //GP30<33>쳣:GP30 cannot make valid DIFTOF measurements (internal error)
{
gp22CheckErrEventApp(GP30_err);
gp30_overrun_num.type_err_num++;
if (0 == i)
{
s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
}
else
{
s_g_flow_data[i] = s_g_flow_data[i-1];
}
if(gp30_overrun_num.type_err_num >= (GP22_APP_QUEUE_SIZE))
{
gp30_overrun_num.type_err_num = 0;
if(FixedTimeNbIoTUploadIfIdle() == TASK_IDLE)//<2F>ϱ<EFBFBD><CFB1>ڼ䲻<DABC><E4B2BB><EFBFBD><EFBFBD>GP30 <20><>ʼ<EFBFBD><CABC>
{
Gp22ErrInit();
}
}
/*
gp22CheckErrEventApp(GP30_err);
// gp30_overrun_num.type_err_num++;
if(gp30_overrun_num.type_err_num >= (GP22_APP_QUEUE_SIZE*8))
{
// gp30_overrun_num.type_err_num = GP22_APP_QUEUE_SIZE*8;//<2F><><EFBFBD><EFBFBD>---<2D><><EFBFBD><EFBFBD>һֱ<D2BB><D6B1>λ<EFBFBD><CEBB>type_err_numһֱ++<2B><>u8<75><38><EFBFBD>͵Ļᳬ<C4BB><E1B3AC>Χ<EFBFBD><CEA7><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><E1B5BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_flow_data[i] = 0;
}
else
{
gp30_overrun_num.type_err_num++;
if (0 == i)
{
s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
}
else
{
s_g_flow_data[i] = s_g_flow_data[i-1];
}
}*/
StillWatetCalculate(s_g_flow_data[i]); //ʱ<><CAB1><EFBFBD><EFBFBD> 2019-7-4 18:48:02
}
else
{
gp22CheckErrEventApp(GP30_err_DE);
// gp30_overrun_num.type_err_num = 0; //<2F><>typeΪ0<CEAA>Ĵ<EFBFBD><C4B4><EFBFBD>
//<2F><><EFBFBD>ϴ<EFBFBD>ֵ
if (0 == i)
{
s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
}
else
{
s_g_flow_data[i] = s_g_flow_data[i-1];
}
StillWatetCalculate(s_g_flow_data[i]);
}
/*
Having delay window only, no first hit level, the amplitude is the only measure to detect an empty tube.
I propose to set the MIN_AMP level to a very low value and to take this as empty tube detection.
*/
if(0x10000000 == (s_g_flow_type[i] & 0x10000000)) //<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
gp22CheckErrEventApp(GP30_low_amp);
GP30_low_amp_cnt++;
if(GP30_low_amp_cnt==GP22_APP_QUEUE_SIZE)
{
for(i = 0;i<GP22_APP_QUEUE_SIZE;i++)
{
s_g_flow_data[i] = 1; //2021-12-09
}
}
if (0 == i)//
{
if((s_g_flow_data[GP22_APP_QUEUE_SIZE-1]<=0x80000000)&&(s_g_flow_data[GP22_APP_QUEUE_SIZE-1]>=0x00006666))//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>100ns
{
s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
}
else
{
s_g_flow_data[i] = 1; //2021-12-09
}
}
else
{
if((s_g_flow_data[i-1]<=0x80000000)&&(s_g_flow_data[i-1]>=0x00006666))//ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>100ns
{
s_g_flow_data[i] = s_g_flow_data[i-1];
}
else
{
s_g_flow_data[i] = 1; //2021-12-09
}
}
}
else
{
gp22CheckErrEventApp(GP30_low_amp_DE);
}
}
#if WENDU_FANSUAN_OPEN
//Find_MaxValue_for_AM1(s_g_up_am,s_g_down_am,2*GP22_APP_TEMP_INVERSE_DATA_SIZE);//<2F><><EFBFBD><EFBFBD>Ѱ<EFBFBD><D1B0>6<EFBFBD><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD>ֵ<EFBFBD><D6B5>Ӧ<EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>ʱ<EFBFBD><CAB1>
//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
Gp30_Tof_Collect_and_Deal();//<2F>Բɼ<D4B2><C9BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĴ<DDB5><C4B4><EFBFBD>
gp22_test_data.s.peak_up=GetTemperatureCalculateParameter(UP_AM_AVERAGE);
gp22_test_data.s.peak_down=GetTemperatureCalculateParameter(DOWN_AM_AVERAGE);
#else
if(down_am_cnt!=0)
{
gp22_test_data.s.peak_down=sum_down_am/(down_am_cnt);
}
else
{
gp22_test_data.s.peak_down = 0;
}
if(up_am_cnt!=0)
{
gp22_test_data.s.peak_up=sum_up_am/(up_am_cnt);
}
else
{
gp22_test_data.s.peak_up = 0;
}
#endif
GP30_Set_Data_UpdateMsg();
gp22_app_data.s.peak_up=gp22_test_data.s.peak_up;
gp22_app_data.s.peak_down=gp22_test_data.s.peak_down;
// Gp22FilterCalculate(s_g_sample_flag); //GP22 <20>˲<EFBFBD><CBB2>Ͳ<EFBFBD><CDB2><EFBFBD>
s_g_gp22_app_state_num = GP22_APP_S0;
}
else if (0x02 == (gp22_sample_result & 0x02)) //<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
{
gp30_overrun_num.GP30_sample_err_num++;
Gp22ClearSampleMsg(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>MSG
gp22_err_result = Gp22CheckErrMsg();
// Gp22AppSetGp22Err(); <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
if(gp30_overrun_num.GP30_sample_err_num >= 5)
{
gp30_overrun_num.GP30_sample_err_num = 5;
memset(s_g_flow_data, 0, sizeof(s_g_flow_data));
memset(s_g_flow_type, 0, sizeof(s_g_flow_type));
}
else
{
for(i = 0;i < GP22_APP_QUEUE_SIZE;i++)
{
if (0 == i)
{
s_g_flow_data[i] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
}
else
{
s_g_flow_data[i] = s_g_flow_data[i-1];
}
}
StillWatetCalculate(s_g_flow_data[i]);
}
if(0x01 == (gp22_err_result & 0x01)) //Bit0 <20>жϵȴ<CFB5><C8B4><EFBFBD>ʱ
{
gp22CheckErrEventApp(GP30_communication_err);
}
else if(0x02 == (gp22_err_result & 0x02)) //Bit1 ͨѶ<CDA8><D1B6>ʱ
{
gp22CheckErrEventApp(GP30_communication_err);
}
// Gp22FilterCalculate(s_g_sample_flag);
s_g_gp22_app_state_num = GP22_APP_S0;
}
break;
default:
break;
}
/******************************************************************************
*******************************************************************************/
// u32 gp22_sample_result;
// u8 gp22_err_result;
// u8 temp_flow_head;
// u32 temp_dif_time;
// u8 sample_flag = 0;
// switch (s_g_gp22_app_state_num)
// {
// case GP22_APP_S0:
// if(TASK_IDLE == Gp22IfIdle())
// {
// if ((BIT2 == (RtccCheckMsg() & BIT2))) //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// {
// RtccClearMsg(2);
// if((01 == LcdCheckStateApp()) && (0 == start_measure_flag)) //<2F><EFBFBD><ECB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// break;
// }
// else
// {
// sample_flag = 1;
// }
// }
// }
// if (sample_flag) //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
// {
// sample_flag = 0;
//// s_g_gp22_sample_flag_num++;
//// s_g_gp22_sample_flag_num = s_g_gp22_sample_flag_num % 5;
//// if(s_g_gp22_sample_flag_num == s_g_gp22_sample_span) //<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD>ʷ<EFBFBD><CAB7><EFBFBD>
// {
//// STM32_GPIO_TogglePin(GPIOE, STM32_GPIO_PIN_15);
//
//// s_g_gp22_sample_flag_num = 0;
//// if (s_g_sample_flow_num >= GP22_APP_SAMPLE_SIZE)
// {
//// s_g_sample_flow_num = 0;
// Gp22StartTask(GP22_APP_FLOW); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<2B><EFBFBD>
// TempStartTaskApp();//<2F><><EFBFBD><EFBFBD><EFBFBD>¶Ȳɼ<C8B2>
// s_g_sample_flag = GP22_APP_FLOW_TEMP; //<2F><><EFBFBD>βɼ<CEB2><C9BC>¶ȱ<C2B6>־
// }
//// else
//// {
//// Gp22StartTask(GP22_APP_FLOW); //ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//// s_g_sample_flag = GP22_APP_FLOW; //<2F><><EFBFBD><EFBFBD>û<EFBFBD>вɼ<D0B2><C9BC>¶ȱ<C2B6>־
//// }
//// s_g_sample_flow_num++;
// s_g_gp22_app_state_num = GP22_APP_S1;
// }
// }
// break;
// case GP22_APP_S1:
// gp22_sample_result = Gp22CheckSampleMsg();
// if (1 == (gp22_sample_result & 0x01)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// s_g_flow_data[s_g_sample_flow_head] = Gp22TimeDiffer(GP22_APP_FLOW_DIFFER_SIGN);///////<2F>ijɴ<C4B3><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>
// if((s_g_flow_data[s_g_sample_flow_head] >= 0x80000419))
// {
//// Nop();
//// Nop();
//// s_g_flow_err_sum = 0; //<2F><><EFBFBD><EFBFBD>5<EFBFBD><35>
// }
//
//// if(TRUE == gp30_event_flag.reverse_flow)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ĵ<EFBFBD>ת<EFBFBD><D7AA>
//// {
//// s_g_flow_data[s_g_sample_flow_head] = 0;
//// }
//
// StillWatetCalculate(s_g_flow_data[s_g_sample_flow_head]); //ʱ<><CAB1><EFBFBD><EFBFBD> 1/4
// s_g_sample_flow_head++;
// s_g_sample_flow_head %= GP22_APP_QUEUE_SIZE;
//// s_g_flow_err_sum = 0; //<2F><><EFBFBD><EFBFBD>5<EFBFBD><35>
// gp22CheckErrEventApp(GP30_no_water_DE); // 1/4 DE
// gp22CheckErrEventApp(GP30_reverse_flow_DE);
//
// s_g_gp22_err_flag = 0; //2018-7-12
// Gp22FilterCalculate(s_g_sample_flag); //GP22 <20>˲<EFBFBD><CBB2>Ͳ<EFBFBD><CDB2><EFBFBD>
// s_g_gp22_app_state_num = GP22_APP_S0;
// }
// else if (2 == (gp22_sample_result & 0x02)) //<2F><><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
// {
// gp22_err_result = Gp22CheckErrMsg();
// if (1 == ((gp22_err_result >> 4)&0x01)) //ʱ<><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
// {
// temp_dif_time = Gp22TimeDiffer(GP22_APP_FLOW_DIFFER);
// if ((temp_dif_time < 0x00040000) && (temp_dif_time > 0x00018F5C)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0.39-1us
// {
// s_g_flow_data[s_g_sample_flow_head] = 0x00040000 - temp_dif_time;
// if((temp_dif_time >= 0x00040000))
// {
// // Nop();
// // Nop();
//// s_g_flow_err_sum = 0; //<2F><><EFBFBD><EFBFBD>5<EFBFBD><35>
// temp_dif_time = 0;
// }
// //<2F><>ת
// //gp22CheckErrEventApp(GP30_reverse_flow);
// // if(TRUE == gp30_event_flag.reverse_flow)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ĵ<EFBFBD>ת<EFBFBD><D7AA>
// // {
// // s_g_flow_data[s_g_sample_flow_head] = 0;
// // }
// ///////////////////////////////
// StillWatetCalculate(s_g_flow_data[s_g_sample_flow_head]); //ʱ<><CAB1><EFBFBD><EFBFBD> 2/4
//// s_g_flow_err_sum++;
//// if (s_g_flow_err_sum >= 5)
//// {
//// s_g_flow_err_sum = 0;
//// s_g_set_window = TRUE; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>
//// }
// }
// else //װ<><D7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD>߾<EFBFBD>ˮʱ<CBAE><CAB1><EFBFBD>ĸ<EFBFBD>ֵ
// {
// if ((temp_dif_time > 0x00000190) && (temp_dif_time <= 0x00018F5C)) //<2F><>ת<EFBFBD><D7AA>Χ<EFBFBD><CEA7> ʹ<><CAB9>0.0015-0.39us
// {
// gp22CheckErrEventApp(GP30_reverse_flow);
//// u32 temp111 = Gp22TimeDiffer(GP22_APP_FLOW_DIFFER_SIGN);
//// temp111 = temp111;
// StillWatetCalculate(float_differ_last_time); //ʱ<><CAB1><EFBFBD><EFBFBD> 3/4 2016-9-18 11:21:55 <20><><EFBFBD>ϴ<EFBFBD>ֵ
// if(TRUE == gp30_event_flag.reverse_flow)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ĵ<EFBFBD>ת<EFBFBD><D7AA>
// {
// s_g_flow_data[s_g_sample_flow_head] = 0;
// }
// else //<2F><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>
// {
// if (0 == s_g_sample_flow_head)
// {
// s_g_flow_data[s_g_sample_flow_head] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
// }
// else
// {
// temp_flow_head = s_g_sample_flow_head - 1;
// s_g_flow_data[s_g_sample_flow_head] = s_g_flow_data[temp_flow_head];
// }
// }
// }
// else
// {
// gp22CheckErrEventApp(GP30_reverse_flow_DE);
// StillWatetCalculate(Gp22TimeDiffer(GP22_APP_FLOW_DIFFER_SIGN)); //ʱ<><CAB1><EFBFBD><EFBFBD> 3/4
// s_g_flow_data[s_g_sample_flow_head] = 0;
// }
//// s_g_flow_err_sum = 0; //<2F><><EFBFBD><EFBFBD>5<EFBFBD><35>
// }
//
// s_g_gp22_err_flag = 0; //2018-7-12
//
// s_g_sample_flow_head++;
// s_g_sample_flow_head %= GP22_APP_QUEUE_SIZE;
// Gp22FilterCalculate(s_g_sample_flag); //GP22 <20>˲<EFBFBD><CBB2>Ͳ<EFBFBD><CDB2><EFBFBD>
// }
// else if (1 == ((gp22_err_result >> 2)&0x01)) //<2F>źų<C5BA>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>
// {
// s_g_flow_data[s_g_sample_flow_head] = 0;
// s_g_sample_flow_head++;
// s_g_sample_flow_head %= GP22_APP_QUEUE_SIZE;
//// s_g_flow_err_sum = 0; //<2F><><EFBFBD><EFBFBD>5<EFBFBD><35>
//
// gp22CheckErrEventApp(GP30_no_water); // 1/4
// gp22CheckErrEventApp(GP30_reverse_flow_DE);
//
// s_g_gp22_err_flag = 0; //2018-7-12
// Gp22FilterCalculate(s_g_sample_flag); //GP22 <20>˲<EFBFBD><CBB2>Ͳ<EFBFBD><CDB2><EFBFBD>
// }
// if ((16 != gp22_err_result) && (4 != gp22_err_result)) //<2F><>·<EFBFBD><C2B7><EFBFBD><EFBFBD>·<EFBFBD><C2B7>GP22<32><32><EFBFBD><EFBFBD>
// {
//// gp22_app_data.in_temp = 0;
//// gp22_app_data.s.ins_flow = 0;
//// gp22_app_data.ins_power = 0;
//// gp22_app_data.out_temp = 0;
//// gp22_test_data.in_temp = 0;
//// gp22_test_data.s.ins_flow = 0;
//// gp22_test_data.ins_power = 0;
//// gp22_test_data.out_temp = 0;
//
//// gp22CheckErrEventApp(GP30_trans_err); // 2/4
//
//
// s_g_flow_data[s_g_sample_flow_head] = 0;
// s_g_sample_flow_head++;
// s_g_sample_flow_head %= GP22_APP_QUEUE_SIZE;
// Gp22FilterCalculate(s_g_sample_flag); //GP22 <20>˲<EFBFBD><CBB2>Ͳ<EFBFBD><CDB2><EFBFBD>
// /*************************/
//// s_g_flow_err_sum = 0; //<2F><><EFBFBD><EFBFBD>5<EFBFBD><35>
//
//// if(0 != gp22_err_result)
//// {
//// Gp22AppSetGp22Err();
//// }
// }
// s_g_gp22_app_state_num = GP22_APP_S0;
// }
// else if (4 == (gp22_sample_result & 0x04)) //<2F><><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// {
// if (0 == s_g_sample_flow_head)
// {
// s_g_flow_data[s_g_sample_flow_head] = s_g_flow_data[GP22_APP_QUEUE_SIZE-1];
// }
// else
// {
// temp_flow_head = s_g_sample_flow_head - 1;
// s_g_flow_data[s_g_sample_flow_head] = s_g_flow_data[temp_flow_head];
// }
// StillWatetCalculate(s_g_flow_data[s_g_sample_flow_head]); //ʱ<><CAB1><EFBFBD><EFBFBD> 4/4
// s_g_sample_flow_head++;
// s_g_sample_flow_head %= GP22_APP_QUEUE_SIZE;
//// s_g_flow_err_sum = 0; //<2F><><EFBFBD><EFBFBD>5<EFBFBD><35>
// Gp22FilterCalculate(s_g_sample_flag); //GP22 <20>˲<EFBFBD><CBB2>Ͳ<EFBFBD><CDB2><EFBFBD>
//
// s_g_gp22_err_flag = 0; //2018-7-12
// s_g_gp22_app_state_num = GP22_APP_S0;
// }
// break;
// default:
// break;
// }
//if (FrameCheckMsgApp(GP22_APP_STILL_WATER_FRAME)) //<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ѯ<EFBFBD><D1AF>ˮʱ<CBAE><CAB1><EFBFBD><EFBFBD>
//////////////////////////////////////////////////////////////////////////////////////////////////
// if (Gp22CheckMeasureMsg())
// {
// if (01 == LcdCheckStateApp()) //<2F>춨״̬
// {
// //FrameClearMsgApp(GP22_APP_STILL_WATER_FRAME);
// Gp22ClearMeasureMsg();
// s_g_still_finish = FALSE;
// s_g_still_flag = TRUE;
// s_g_still_time = 0;
// }
// }
}
/****************************************************************
Function: void Gp22AppSetGp22Err (void)
Description: 2018-8-6
Input:
Return:
Others:
*****************************************************************/
void Gp22AppSetGp22Err (void)
{
if(s_g_gp22_err_flag < 10)
{
// if(GP22_S2 != s_gp22_machine_state)//<2F><>GP30<33><30><EFBFBD><EFBFBD><EFBFBD>߶Ͽ<DFB6>,GP30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>S2״̬
// {
s_g_gp22_err_flag++;//2018-8-9<><39><EFBFBD><EFBFBD>GP22ͨ<32><CDA8><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD>
// }
Gp22ErrInit();
}
else
{
// if(1 == LcdCheckStateApp()) //<2F>춨״̬
// {
// FrameSetMsgApp(OutVerificationMsg);//FrameExitTest();
// }
// FrameSetMsgApp(BootloaderMsg);
// NVIC_SystemReset(); //reset //<2F><><EFBFBD><EFBFBD>
Gp30Sleep();
}
}
/****************************************************************
Function: void Gp22AppClearData (void)
Description: GP22<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*****************************************************************/
void Gp22AppClearData(void)
{
u8 i;
static u8 ee_write_result_clear_data;
switch (s_g_gp22_app_clear_data_state_num)
{
case GP30_APP_CLEAR_DATA_S0:
{
if (1 == FrameCheckMsgApp(ClearRealtimeDataMsg)) //<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
{
FrameClearMsgApp(ClearRealtimeDataMsg); //<2F><>MSG
for (i = 0; i < GP22_APP_QUEUE_SIZE; i++)
{
s_g_flow_data[i] = 0;
}
// s_g_sample_flow_head = 0;
// s_g_sample_flow_num = 0;
duoble_total_flow.gp30_double = 0;
gp22_app_data.s.total_flow.gp30_u32 = 0;
gp22_app_data.s.total_flow_reverse.gp30_u32 = 0;
gp22_test_data.s.total_flow.gp30_u32 = 0;
gp22_test_data.s.total_flow_reverse.gp30_u32 = 0;
total_flow_old.gp30_float = 0;
gp22_copy_total_flow = 0;
gp22_copy_total_flow_reverse = 0;
gp22_copy_total_flow_test=0;
gp22_copy_temp_total_flow_float_test=0;
Gp22AppDataPre();
if (EepIfIdle())
{
EepWrite(&g_sample_save_data.data[0], GP30_APP_DATA_ADDR, sizeof (GP30_APP_SAVE_DATA), &ee_write_result_clear_data);
s_g_gp22_app_clear_data_state_num = GP30_APP_CLEAR_DATA_S0;
gp22CheckErrEventApp(GP30_clear_all);//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>Ϣ
}
else
{
s_g_gp22_app_clear_data_state_num = GP30_APP_CLEAR_DATA_S1;
}
}
}
break;
case GP30_APP_CLEAR_DATA_S1:
if (EepIfIdle())
{
EepWrite(&g_sample_save_data.data[0], GP30_APP_DATA_ADDR, sizeof (GP30_APP_SAVE_DATA), &ee_write_result_clear_data);
s_g_gp22_app_clear_data_state_num = GP30_APP_CLEAR_DATA_S0;
gp22CheckErrEventApp(GP30_clear_all);//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>Ϣ
}
break;
default:
break;
}
}
/****************************************************************
Function: void Gp22AppSaveData (void)
Description: GP22<EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
void Gp22AppSaveData(void)
{
static u8 ee_write_result_save_data = 0;
float temp_diff;
switch (s_g_gp22_app_save_data_state_num)
{
case GP30_APP_SAVE_S0:
RtccSetTimer(RTCC_TIMER_GP30_NUM, SAMPLE_INTERVAL_1h);
s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S1;
break;
case GP30_APP_SAVE_S1:
//<2F><>ʱ<EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߴ<DFB4><E6B4A2>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>³<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD><EFBFBD><EFBFBD>δʵ<CEB4>֣<EFBFBD>
if ((0 == RtccCheckTimer(RTCC_TIMER_GP30_NUM)) || (TRUE == PowerSaveDataMsgSys()) || (1== FrameCheckMsgApp(BootloaderMsg))||Gp30_init_data_flag || (TRUE == CheckAutoCalibrationMsg())||(TRUE == WDTWakeUpIfReset())
#if WENDU_FANSUAN_OPEN
|| (TempInverseCheckMsgApp(TofCaliberateMsg)==TRUE)//<2F><><EFBFBD>ڴ洢<DAB4><E6B4A2><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>У׼<D0A3><D7BC><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>־
#endif
)//<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ洢״̬
{
if (EepIfIdle())
{
#if WENDU_FANSUAN_OPEN
TempInverseClearMsgApp(TofCaliberateMsg);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6B4A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־!!!
#endif
if(0 == RtccCheckTimer(RTCC_TIMER_GP30_NUM)) //<2F><>ʱ<EFBFBD>
{
temp_diff = gp22_app_data.s.total_flow.gp30_float - gp30_total_flow_last.gp30_float;
if((temp_diff > (float)1)||(temp_diff < (float)-1)) //<2F><><EFBFBD><EFBFBD>10L<30>Ŵ洢
{
gp30_total_flow_last.gp30_float = gp22_app_data.s.total_flow.gp30_float;
Gp22AppDataPre();
EepWrite(&g_sample_save_data.data[0], GP30_APP_DATA_ADDR, sizeof (GP30_APP_SAVE_DATA), &ee_write_result_save_data);
s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S6;
}
else
{
s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S0;
}
}
else if(TRUE == CheckAutoCalibrationMsg())
{
diftof_auto_calibration_msg = FALSE;
EepWrite(&g_diftof_cal_data.data[8], DIFTOF_CALIBRATION_VALUE_ADDR, 4, &s_gp30_eep_complete);
}
else
{
Gp30_init_data_flag = FALSE;
Gp22AppDataPre();
EepWrite(&g_sample_save_data.data[0], GP30_APP_DATA_ADDR, sizeof (GP30_APP_SAVE_DATA), &ee_write_result_save_data);
s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S6;
}
}
}
break;
// case GP30_APP_SAVE_S2: //shijian 1
//// if (gp30_event.trans_err >= GP30_APP_EVENT_SUM)
// if (TRUE == gp30_event_save_flag.trans_err)
// {
// if (EepIfIdle())
// {
// RtccGetDateTime(&gp30_get_time);
// s_g_event_data.s.time[0] = gp30_get_time.s.year;
// s_g_event_data.s.time[1] = gp30_get_time.s.month;
// s_g_event_data.s.time[2] = gp30_get_time.s.day;
// s_g_event_data.s.time[3] = gp30_get_time.s.hour;
// s_g_event_data.s.time[4] = gp30_get_time.s.minute;
// s_g_event_data.s.time[5] = gp30_get_time.s.second;
// s_g_event_data.s.total_flow.gp30_u32 = Gp30CheckDataApp(GP30_APP_TOTAL_FLOW);
// s_g_event_data.s.state = FrameCheckByte();
// EepWrite(&s_g_event_data.s.time[0], GP30_APP_TRANS_ERR_ADDR, sizeof (GP30_APP_EVENT_DATA), &ee_write_result_save_data);
//// gp30_event.trans_err = 0;
// s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S3;
// }
// }
// else
// {
// s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S3;
// }
// break;
// case GP30_APP_SAVE_S3: //shijian 2
//// if (gp30_event.no_water >= GP30_APP_EVENT_SUM)
// if (TRUE == gp30_event_save_flag.no_water)
// {
// if (EepIfIdle())
// {
// RtccGetDateTime(&gp30_get_time);
// s_g_event_data.s.time[0] = gp30_get_time.s.year;
// s_g_event_data.s.time[1] = gp30_get_time.s.month;
// s_g_event_data.s.time[2] = gp30_get_time.s.day;
// s_g_event_data.s.time[3] = gp30_get_time.s.hour;
// s_g_event_data.s.time[4] = gp30_get_time.s.minute;
// s_g_event_data.s.time[5] = gp30_get_time.s.second;
// s_g_event_data.s.total_flow.gp30_u32 = Gp30CheckDataApp(GP30_APP_TOTAL_FLOW);
// s_g_event_data.s.state = FrameCheckByte();
// EepWrite(&s_g_event_data.s.time[0], GP30_APP_NO_WATER_ADDR, sizeof (GP30_APP_EVENT_DATA), &ee_write_result_save_data);
//// gp30_event.no_water = 0;
// s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S4;
// }
// }
// else
// {
// s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S4;
// }
// break;
// case GP30_APP_SAVE_S4: //shijian 3
//// if (gp30_event.low_flow >= GP30_APP_EVENT_SUM)
// if (TRUE == gp30_event_save_flag.low_flow)
// {
// if (EepIfIdle())
// {
// RtccGetDateTime(&gp30_get_time);
// s_g_event_data.s.time[0] = gp30_get_time.s.year;
// s_g_event_data.s.time[1] = gp30_get_time.s.month;
// s_g_event_data.s.time[2] = gp30_get_time.s.day;
// s_g_event_data.s.time[3] = gp30_get_time.s.hour;
// s_g_event_data.s.time[4] = gp30_get_time.s.minute;
// s_g_event_data.s.time[5] = gp30_get_time.s.second;
// s_g_event_data.s.total_flow.gp30_u32 = Gp30CheckDataApp(GP30_APP_TOTAL_FLOW);
// s_g_event_data.s.state = FrameCheckByte();
// EepWrite(&s_g_event_data.s.time[0], GP30_APP_LOW_FLOW_ADDR, sizeof (GP30_APP_EVENT_DATA), &ee_write_result_save_data);
//// gp30_event.low_flow = 0;
// s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S5;
// }
// }
// else
// {
// s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S5;
// }
// break;
// case GP30_APP_SAVE_S5: //shijian 4
//// if (gp30_event.out_temp >= GP30_APP_EVENT_SUM)
// if (TRUE == gp30_event_save_flag.out_temp)
// {
// if (EepIfIdle())
// {
// RtccGetDateTime(&gp30_get_time);
// s_g_event_data.s.time[0] = gp30_get_time.s.year;
// s_g_event_data.s.time[1] = gp30_get_time.s.month;
// s_g_event_data.s.time[2] = gp30_get_time.s.day;
// s_g_event_data.s.time[3] = gp30_get_time.s.hour;
// s_g_event_data.s.time[4] = gp30_get_time.s.minute;
// s_g_event_data.s.time[5] = gp30_get_time.s.second;
// s_g_event_data.s.total_flow.gp30_u32 = Gp30CheckDataApp(GP30_APP_TOTAL_FLOW);
// s_g_event_data.s.state = FrameCheckByte();
// EepWrite(&s_g_event_data.s.time[0], GP30_APP_OUT_TEMP_ADDR, sizeof (GP30_APP_EVENT_DATA), &ee_write_result_save_data);
//// gp30_event.out_temp = 0;
// s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S6;
// }
// }
// else
// {
// s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S6;
// }
// break;
case GP30_APP_SAVE_S6:
if (EepIfIdle()) //ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>Ϣ
{
gp22CheckErrEventApp(GP30_clear_all);//ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>Ϣ
if (1 == FrameCheckMsgApp(BootloaderMsg))
{
FrameClearMsgApp(BootloaderMsg);
s_g_bootloader_msg = TRUE;
}
if ((TRUE == PowerSaveDataMsgSys())||(TRUE == WDTWakeUpIfReset()))
{
Meter_ResetCountAdd(0x01);
NVIC_SystemReset(); //reset //<2F><><EFBFBD><EFBFBD>
}
s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S0;
}
break;
default:
break;
}
}
/*
*
*
*
*
*
*
* <EFBFBD>ӿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*
*
*
*
*
*
*/
/****************************************************************
Function: void Gp22SaveDataMotinor(void)
Description: GP22<EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
void Gp22SaveDataMotinor(void)
{
To_Float_GP30 gp22_temp_flow;
switch (gp22_date_save_state)
{
case GP22_APP_MONITOR_S(0):
{
RtccSetTimer(TIMER_DATE_SAVE_MONITOR, 60); //1min
gp22_date_save_state = GP22_APP_MONITOR_S(1);
break;
}
case GP22_APP_MONITOR_S(1):
{
if(0==RtccCheckTimer(TIMER_DATE_SAVE_MONITOR))
{
gp22_temp_flow.gp30_u32 = Gp30CheckDataApp(2);
if( (0==FrameCheckMsgApp(InitialDataMsg)) && ((gp22_temp_flow.gp30_float - old_monitor_flow.gp30_float) > (float)150) )//<2F><>30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿСʱ<D0A1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
gp22_app_data.s.total_flow.gp30_float = old_monitor_flow.gp30_float;
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
}
else
{
FrameClearMsgApp(InitialDataMsg);
old_monitor_flow.gp30_float = gp22_temp_flow.gp30_float;
}
gp22_date_save_state = GP22_APP_MONITOR_S(0);
}
break;
}
default:
{
break;
}
}
}
/***********************<2A><><EFBFBD><EFBFBD><EFBFBD>¶ȵ<C2B6><C8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>****************
Function: flow_coefficient_calculate
Input: target_temperature ---Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> source_temperature--Դ<EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ1 Compensation_factor<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Return: Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
Others: Դ<EFBFBD>ȣ<EFBFBD>18<EFBFBD><EFBFBD>~35<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>Ϊ+1
****************************************************************/
float temperature_coefficient_calculate(float target_temperature,float Compensation_factor)
{
float flow_coefficient_value = 1;
float k = 0,b = 0;
float temperature_diff = 0,source_temperature = 0; //<2F>¶Ȳ<C2B6>ֵ
if(target_temperature>=46)
{
target_temperature = (float)46;//<2F><><EFBFBD><EFBFBD>46<34>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD>46<34>Ƚ<EFBFBD><C8BD>м<EFBFBD><D0BC><EFBFBD>
temperature_diff = (float)11;
source_temperature = (float)35;
}
else if((target_temperature>35)&&(target_temperature<46))
{
temperature_diff = (float)11;
source_temperature = (float)35;
}
else if((target_temperature>15)&&(target_temperature<18))
{
temperature_diff = (float)-3;
source_temperature = (float)18;
}
else if(target_temperature<=15)
{
target_temperature = (float)15;//С<><D0A1>15<31>ȣ<EFBFBD><C8A3><EFBFBD><EFBFBD><EFBFBD>15<31>Ƚ<EFBFBD><C8BD>м<EFBFBD><D0BC><EFBFBD>
temperature_diff = (float)-3;
source_temperature = (float)18;
}
if(temperature_diff!=0)
{
k = (Compensation_factor-1)/(temperature_diff);
b = 1 - k*source_temperature;
flow_coefficient_value = k*target_temperature + b;
}
return flow_coefficient_value;
}
/***********************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>****************
Function: flow_coefficient_calculate
Input: target_temperature ---Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Compensation_factor_source<EFBFBD><EFBFBD>Ӧ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Compensation_factor_target<EFBFBD><EFBFBD>Ӧ<EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ins_flow_temp_float:<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Return: Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
Others: ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.3<EFBFBD><EFBFBD>R250Q2~0.33Q3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χ
****************************************************************/
float flow_coefficient_calculate(float target_temperature,float Compensation_factor_source,float Compensation_factor_target,float ins_flow_temp_float)
{
float flow_coefficient_value = 1;
float k = 0,b = 0,x=0;
float flow_diff = 0,temp_Compensation_factor_source = 0,temp_Compensation_factor_target = 0;
if(ins_flow_temp_float > (R250Q2*(float)2))
{
flow_diff = Q3_6_6 - R250Q2*(float)2;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
x = R250Q2*(float)2;
}
else
{
flow_diff = R250Q2*(float)2 - R250Q2*(float)1.3;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
x = R250Q2*(float)1.3;
}
temp_Compensation_factor_source = temperature_coefficient_calculate(target_temperature,Compensation_factor_source);//
temp_Compensation_factor_target = temperature_coefficient_calculate(target_temperature,Compensation_factor_target);//
k = (temp_Compensation_factor_target-temp_Compensation_factor_source)/(flow_diff);
b = temp_Compensation_factor_source - k*x;
flow_coefficient_value = k*ins_flow_temp_float + b;
return flow_coefficient_value;
}
/***********************<2A><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>****************
Function: ProtectFrameCheckParaApp(u32 parameter, u8 flag)
Description: <EFBFBD>ж<EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ںϷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD>
****************************************************************/
u32 ProtectParaApp(u32 parameter)
{
if((parameter < FLOW_COEFFICIENT_MIN)||(parameter > FLOW_COEFFICIENT_MAX))
{
FrameSetMsgApp(BootloaderMsg);
parameter = 65536;//<2F><><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ϵ<EFBFBD><CFB5>1 (<28>Ŵ<EFBFBD>65536<33><36>)
}
return parameter;
}
/***********************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>****************
Function: float modify_flow( float ins_flow_temp_float)
Description:
Input: ˲ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ins_flow_temp_float
Return:
Others:
****************************************************************/
float modify_flow( float ins_flow_temp_float)
{
float flow_temp_float,temp_value_float;
seg_flow_coef = Read_Flow_CofficientApp();//2020-07-08
temp_value_float = TempCheckValueApp();//<2F><>ȡ˲ʱ<CBB2><EFBFBD>
if(temp_value_float<(float)18)
{
if((temp_value_float>(float)15)&&(temp_value_float<(float)18))//<2F><><EFBFBD>߹<EFBFBD><DFB9><EFBFBD>
{
if((ins_flow_temp_float>0)&&(ins_flow_temp_float <= R400Q1 + R400Q1*(float)0.3))
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[0].datas)));
}
else if(ins_flow_temp_float <= R400Q2 + R400Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[1].datas)));
}
else if(ins_flow_temp_float <= R250Q2 + R250Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[2].datas)));
}
else if(ins_flow_temp_float <= R250Q2*(float)2)
{
if(65536==seg_flow_coef[3].datas)
{
flow_temp_float = ins_flow_temp_float * flow_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[2].datas)),Gp30DataToFloat(ProtectParaApp(seg_flow_coef[3].datas)),ins_flow_temp_float);
}
else
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[3].datas)));
}
}
else if(ins_flow_temp_float <= Q3_3_3)//0.33 * Q3
{
if(65536==seg_flow_coef[3].datas)
{
flow_temp_float = ins_flow_temp_float * flow_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[3].datas)),Gp30DataToFloat(ProtectParaApp(seg_flow_coef[4].datas)),ins_flow_temp_float);
}
else
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[3].datas));
}
}
else if(ins_flow_temp_float <= Q3_6_6)//0.66 * Q3
{
flow_temp_float = ins_flow_temp_float *Gp30DataToFloat(ProtectParaApp(seg_flow_coef[4].datas));
}
else
{
flow_temp_float = ins_flow_temp_float *Gp30DataToFloat(ProtectParaApp(seg_flow_coef[5].datas));
}
}
else
{
if((ins_flow_temp_float>0)&&(ins_flow_temp_float <= R400Q1 + R400Q1*(float)0.3))
{
flow_temp_float = ins_flow_temp_float *Gp30DataToFloat(ProtectParaApp(seg_flow_coef[0].datas));
}
else if(ins_flow_temp_float <= R400Q2 + R400Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float *Gp30DataToFloat(ProtectParaApp(seg_flow_coef[1].datas));
}
else if(ins_flow_temp_float <= R250Q2 + R250Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[2].datas));
}
else if(ins_flow_temp_float <= R250Q2*(float)2)
{
if(65536==seg_flow_coef[3].datas)
{
flow_temp_float = ins_flow_temp_float * flow_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[2].datas)),Gp30DataToFloat(ProtectParaApp(seg_flow_coef[3].datas)),ins_flow_temp_float);
}
else
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[3].datas)));
}
}
else if(ins_flow_temp_float <= Q3_3_3)//0.33 * Q3
{
if(65536==seg_flow_coef[3].datas)
{
flow_temp_float = ins_flow_temp_float * flow_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[3].datas)),Gp30DataToFloat(ProtectParaApp(seg_flow_coef[4].datas)),ins_flow_temp_float);
}
else
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[4].datas)));
}
}
else if(ins_flow_temp_float <= Q3_6_6)//0.66 * Q3
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[4].datas)));
}
else
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[5].datas)));
}
}
}
else if(temp_value_float<(float)35)
{
if((ins_flow_temp_float>0)&&(ins_flow_temp_float <= R400Q1 + R400Q1*(float)0.3))
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[6].datas));
}
else if(ins_flow_temp_float <= R400Q2 + R400Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[7].datas));
}
else if(ins_flow_temp_float <= R250Q2 + R250Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[8].datas));
}
else if(ins_flow_temp_float <= Q3_3_3)//0.33 * Q3
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[9].datas));
}
else if(ins_flow_temp_float <= Q3_6_6)//0.66 * Q3
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[10].datas));
}
else
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[11].datas));
}
}
else
{
if((temp_value_float>(float)35)&&(temp_value_float<(float)46))//<2F><><EFBFBD>߹<EFBFBD><DFB9><EFBFBD>
{
if((ins_flow_temp_float>0)&&(ins_flow_temp_float <= R400Q1 + R400Q1*(float)0.3))
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[12].datas)));
}
else if(ins_flow_temp_float <= R400Q2 + R400Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[13].datas)));
}
else if(ins_flow_temp_float <= R250Q2 + R250Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[14].datas)));
}
else if(ins_flow_temp_float <= R250Q2*(float)2)
{
if(65536==seg_flow_coef[15].datas)
{
flow_temp_float = ins_flow_temp_float * flow_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[14].datas)),Gp30DataToFloat(ProtectParaApp(seg_flow_coef[15].datas)),ins_flow_temp_float);
}
else
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[15].datas)));
}
}
else if(ins_flow_temp_float <= Q3_3_3)//0.33 * Q3
{
if(65536==seg_flow_coef[15].datas)
{
flow_temp_float = ins_flow_temp_float * flow_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[15].datas)),Gp30DataToFloat(ProtectParaApp(seg_flow_coef[16].datas)),ins_flow_temp_float);
}
else
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[15].datas));
}
}
else if(ins_flow_temp_float <= Q3_6_6)//0.66 * Q3
{
flow_temp_float = ins_flow_temp_float *Gp30DataToFloat(ProtectParaApp(seg_flow_coef[16].datas));
}
else
{
flow_temp_float = ins_flow_temp_float *Gp30DataToFloat(ProtectParaApp(seg_flow_coef[17].datas));
}
}
else
{
if((ins_flow_temp_float>0)&&(ins_flow_temp_float <= R400Q1 + R400Q1*(float)0.3))
{
flow_temp_float = ins_flow_temp_float *Gp30DataToFloat(ProtectParaApp(seg_flow_coef[12].datas));
}
else if(ins_flow_temp_float <= R400Q2 + R400Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float *Gp30DataToFloat(ProtectParaApp(seg_flow_coef[13].datas));
}
else if(ins_flow_temp_float <= R250Q2 + R250Q2*(float)0.3)
{
flow_temp_float = ins_flow_temp_float * Gp30DataToFloat(ProtectParaApp(seg_flow_coef[14].datas));
}
else if(ins_flow_temp_float <= R250Q2*(float)2)
{
if(65536==seg_flow_coef[15].datas)
{
flow_temp_float = ins_flow_temp_float * flow_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[14].datas)),Gp30DataToFloat(ProtectParaApp(seg_flow_coef[15].datas)),ins_flow_temp_float);
}
else
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[15].datas)));
}
}
else if(ins_flow_temp_float <= Q3_3_3)//0.33 * Q3
{
if(65536==seg_flow_coef[15].datas)
{
flow_temp_float = ins_flow_temp_float * flow_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[15].datas)),Gp30DataToFloat(ProtectParaApp(seg_flow_coef[16].datas)),ins_flow_temp_float);
}
else
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[15].datas)));
}
}
else if(ins_flow_temp_float <= Q3_6_6)//0.66 * Q3
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[16].datas)));
}
else
{
flow_temp_float = ins_flow_temp_float *temperature_coefficient_calculate(temp_value_float,Gp30DataToFloat(ProtectParaApp(seg_flow_coef[17].datas)));
}
}
}
return flow_temp_float;
}
/*************************************************
Function: void FlowIntvalTimeLPTimer(void)
Description: <EFBFBD><EFBFBD><EFBFBD>ڻ<EFBFBD>ȡ<EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input<EFBFBD><EFBFBD>
Return:
Others:
*************************************************/
void FlowIntvalTimeLPTimer(void)
{
// static u16 test_temp[50] = {0};
// static u16 test_temp1=0;
u16 temp = 0;//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>Σ<EFBFBD><CEA3><EFBFBD>ֹ<EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
temp = (u16)LPTimer1GetTick();
intval_time = (u16)(temp - record_calculative_time);
// test_temp[test_temp1]=intval_time;
// test_temp1++;
// if(50==test_temp1)
// {
// test_temp1=0;
// }
// if(0x200!=intval_time)
// {
// u8 a=1;
// }
record_calculative_time = temp;
if(intval_time >= 0x500)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10s<30><73><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><ECB3A3>ʹ<EFBFBD><CAB9>6s
{
intval_time = 0x300;
}
}
/*************************************************
Function: void RecordCalculativeIntvalTimeLPTimer(void)
Description: <EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴμ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input<EFBFBD><EFBFBD>
Return:
Others:
*************************************************/
void RecordCalculativeIntvalTimeLPTimer(void)
{
record_last_calculative_time = (u16)(LPTimer1GetTick() - record_calculative_time);
if(record_last_calculative_time >= 0x500)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>10s<30><73><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><ECB3A3>ʹ<EFBFBD><CAB9>1s
{
if(01 == LcdCheckStateApp())//<2F>춨ȡ0.5 ----ʵ<>ʲ<EFBFBD><CAB2><EFBFBD>
{
record_last_calculative_time = 0x80;
}
else//<2F>Ǽ춨
{
record_last_calculative_time = 0x300;//<2F><><EFBFBD><EFBFBD>6s<36><73><EFBFBD><EFBFBD>
}
}
}
/***********************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>***************************
Function: void Gp22MachineApp (void)
Description: Ӧ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
Input:
Return:
Others:
*****************************************************************/
void Gp30MachineApp(void)
{
Gp22SampleApp();
Gp22App();
RecordCalculativeIntvalTimeLPTimer();
if(10 == LcdCheckStateApp())//<2F>Ǽ춨
{
switch (s_g_gp30_control_cal_state)
{
case GP30_CONTROL_S0:
{
if(0x08 == (RtccCheckMsg() & 0x08))//<2F><><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>RTC+GP30<33>жϼ<D0B6><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if(TRUE== GP30_Check_Data_UpdateMsg())
{
RtccClearMsg(3);
GP30_Clear_Data_UpdateMsg();
FlowIntvalTimeLPTimer();
s_g_gp30_control_cal_timer = Timer1usGetTick(); //<2F>ڲ<EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
Gp22FilterCalculate(s_g_sample_flag);
if(FixedTimeNbIoTUploadIfIdle() == TASK_BUSY)//<2F>ϱ<EFBFBD><CFB1>ڼ<EFBFBD><DABC><EFBFBD>GP30<33>жϼ<D0B6><CFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
s_gp22_cal_interval_msg = TRUE;
s_g_gp30_control_cal_state = GP30_CONTROL_S1; // <20>ڲ<EFBFBD>ʱ<EFBFBD><CAB1>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
}
}
}
break;
}
case GP30_CONTROL_S1:
{
if(TRUE== GP30_Check_Data_UpdateMsg())
{
RtccClearMsg(3);
GP30_Clear_Data_UpdateMsg();
FlowIntvalTimeLPTimer();
intval_time = Timer1usGetTick() - s_g_gp30_control_cal_timer; //<2F><><EFBFBD>³<EFBFBD>ʼ<EFBFBD><CABC>intval_time<6D><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_gp30_control_cal_timer = Timer1usGetTick();
if(intval_time > 10000000)
{
intval_time = 2000000;
}
Gp22FilterCalculate(s_g_sample_flag);
//if((FixedTimeNbIoTUploadIfIdle() == TASK_IDLE)&&(0==gp22_app_data.s.ins_flow))//<2F><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD>ɻ<EFBFBD><C9BB><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD>Ǿ<EFBFBD>ˮ
if(FixedTimeNbIoTUploadIfIdle() == TASK_IDLE)//<2F>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>
{
s_g_gp30_control_cal_state = GP30_CONTROL_S0; //LPTIMERʱ<52><CAB1><EFBFBD><EFBFBD>
s_gp22_cal_interval_msg = FALSE;
}
}
break;
}
}
}
else if((01 == LcdCheckStateApp())&&(TRUE == GetLpTimerFlag()))//<2F><20><>ģʽ<C4A3><CABD><EFBFBD><EFBFBD>lptimer<65><72><EFBFBD><EFBFBD>0.5s<EFBFBD><EFBFBD>ʱ<EFBFBD>ж<EFBFBD>
{
s_alarma_stop_check_tick=Timer1usGetTick();
if(TRUE== GP30_Check_Data_UpdateMsg())
{
GP30_Clear_Data_UpdateMsg();
ClearLpTimerFlag();
FlowIntvalTimeLPTimer();
Gp22FilterCalculate(s_g_sample_flag);
FrameClearMsgApp(MsgRtccAdjustTime);//<2F><>Уʱ<D0A3><CAB1>Ϣ,<2C><><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ƿ<EFBFBD>ֹ<EFBFBD>춨0.5s<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD>
}
}
else if((01 == LcdCheckStateApp())&&((Timer1usGetTick() - s_alarma_stop_check_tick) >= ALARMA_STOP_CHECK_TICKS))//<2F><EFBFBD><ECB6A8><EFBFBD><EFBFBD>flag<61><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD>򲹳<EFBFBD><F2B2B9B3><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
if(FrameCheckMsgApp(MsgRtccAdjustTime) == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Уʱ<D0A3><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTC<54>ж<EFBFBD><D0B6>ӳ<EFBFBD>һ<EFBFBD><D2BB>,<2C><><EFBFBD><EFBFBD>λ
{
if(FixedTimeNbIoTUploadIfIdle() == TASK_IDLE)//<2F><><EFBFBD><EFBFBD>NBģ<42><C4A3>û<EFBFBD>й<EFBFBD><D0B9><EFBFBD>
{
#if (HARDWARE_VERSION==0x18)//Բ<>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
gp22_test_data.s.total_flow.gp30_float=gp22_copy_total_flow_test + (((float)record_last_calculative_time/(float)128)+(float)0.33)*gp22_copy_temp_total_flow_float_test;//1s<31><73><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)128)+(float)0.33)*gp22_copy_temp_total_flow_float_test/(float)1000;
#elif (HARDWARE_VERSION==0x14)//<2F><><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
gp22_test_data.s.total_flow.gp30_float=gp22_copy_total_flow_test + (((float)record_last_calculative_time/(float)128)+(float)0.35)*gp22_copy_temp_total_flow_float_test;//1s<31><73><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)128)+(float)0.35)*gp22_copy_temp_total_flow_float_test/(float)1000;
#endif
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
Meter_ResetCountAdd(0x02);
NVIC_SystemReset();
}
}
else
{
FrameClearMsgApp(MsgRtccAdjustTime);//<2F><>Уʱ<D0A3><CAB1>Ϣ,<2C><><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ƿ<EFBFBD>ֹ<EFBFBD>춨0.5s<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD>
}
}
Gp22AppClearData();
Gp22AppSaveData();
//SendDataApp();
Gp22SaveDataMotinor();
#if WENDU_FANSUAN_OPEN
FanSuan_Caliberate_Timeout();//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>У׼<D0A3><D7BC>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
}
/****************************************************************
Function: void Gp22InitApp (void)
Description: Ӧ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
*****************************************************************/
void Gp30InitApp(void)
{
gp30_event_flag.low_flow = FALSE;
gp30_event_flag.no_water = FALSE;
gp30_event_flag.out_temp = FALSE;
gp30_event_flag.communication_err = FALSE;
s_g_gp22_sample_app_state_num = GP22_APP_SAMPLE_S0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_gp22_app_state_num = GP22_APP_S0; // GP22<32><32><EFBFBD>ݼ<EFBFBD><DDBC><EFBFBD><E3B4A6><EFBFBD><EFBFBD>
s_g_gp22_app_clear_data_state_num = GP30_APP_CLEAR_DATA_S0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3B4A6><EFBFBD><EFBFBD>
s_g_gp22_app_save_data_state_num = GP30_APP_SAVE_S0; //<2F><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>
gp22_date_save_state = GP22_APP_MONITOR_S(0);
// ////////////////////////////////////////////////////////////////
// ///////////////////////////////////////////////////////////////////
// ////////////////////////////////////////////////////////////////////test
// gp22_app_data.s.total_flow.gp30_float = 1200;
// ////////////////////////////////////////////////////////////////
// ///////////////////////////////////////////////////////////////////
// ////////////////////////////////////////////////////////////////////
while (!g_gp22_init_flag)
{
EepMachineDriver(); //EE<45><45><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FrameMachineApp();
Gp22AppInitProcess();
}
// if(GP30_filter_last_value>GP30_DIFTOF_FILTER_ENABLE_MAX_VALUE)
// {
// GP30_filter_last_value=0;
// }
// if((0x33!=gp30_error_restart_flag)&&(0x77!=gp30_error_restart_flag))
// {
// gp30_error_restart_flag=0x33;//0x33<33><33>ʾGP30<33><EFBFBD><ECB3A3><EFBFBD>Ը<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
// }
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ+<2B>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD>ʱ<EFBFBD>¶ȵĺϷ<C4BA><CFB7><EFBFBD><EFBFBD>ж<EFBFBD>2021-03-13
if(TRUE == RAMDataVerify((u8*)&temp_calculate_last,sizeof(temp_calculate_last))||\
(temp_calculate_last<0)||(temp_calculate_last>60))
{
temp_calculate_last = (float)20;//<2F>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>20<32><30><EFBFBD>϶<EFBFBD>
}
if((GP30_COPY_RESET_NORMAL_FLAG!=gp22_copy_reset_flag_test)&&(GP30_COPY_RESET_TEST_FLAG!=gp22_copy_reset_flag_test))
{
gp22_copy_reset_flag_test=GP30_COPY_RESET_NORMAL_FLAG;//0x55<35><35>ʾ<EFBFBD>Ǽ춨<C7BC>ı<EFBFBD>־
temp_calculate_last = (float)20;//Ӳ<><D3B2><EFBFBD><EFBFBD>λ<EFBFBD>£<EFBFBD>Ĭ<EFBFBD><C4AC>20<32><30>
}
if(GP30_COPY_RESET_TEST_FLAG==gp22_copy_reset_flag_test)//<2F>춨״̬<D7B4><CCAC>λ
{
Gp22SetSampleRateMsg(16); //<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>16Hz
FrameSetMsgApp(SetVerificationMsg);//<2F>趨Ϊ<E8B6A8>춨״̬
}
else
{
gp22_copy_total_flow_test=0;
gp22_copy_temp_total_flow_float_test=0;
}
}
/****************************************************************
Function: u16 Gp30CheckErrDataApp (void)
Description: <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
Input:
Return:
Others:
Bit0:<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>>Q4<EFBFBD><EFBFBD><EFBFBD><EFBFBD><Q1 GP30_low_high_flow
Bit1:ˮ<EFBFBD>³<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵȼ<EFBFBD><EFBFBD><EFBFBD>Χ GP30_out_temp
Bit2:<EFBFBD><EFBFBD>ת GP30_reverse_flow
Bit3:<EFBFBD><EFBFBD>ˮ GP30_no_water
Bit4:GP30<EFBFBD> GP30_err
Bit5:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GP30_low_flow
Bit6:<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>źŵͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> GP30_low_amp;
Bit7:GP30ͨ<EFBFBD><EFBFBD><EFBFBD> GP30_communication_err
Bit8:TOF overrun GP30_TOF_overrun
Bit9:ˮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> water_reverse
*****************************************************************/
u16 Gp30CheckErrDataApp(void)
{
u16 temp_flag = 0;
temp_flag = ( (gp30_event_flag.low_high_flow<<0)|
(gp30_event_flag.out_temp<<1)|
(gp30_event_flag.reverse_flow<<2)|
(gp30_event_flag.no_water<<3) |
(gp30_event_flag.gp30_err<<4) |
(gp30_event_flag.low_flow<<5)|
(gp30_event_flag.low_amp<<6) |
(gp30_event_flag.communication_err<<7)|
(gp30_event_flag.tof_overrun<<8)|
(gp30_event_flag.water_direction<<9));
return temp_flag;
}
/***********************<2A><>ѯ<EFBFBD><D1AF>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>(ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>)*****************
Function: u32 Gp30CheckDataApp (u8)
Description: <EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ǰϵͳʵʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>
1<EFBFBD><EFBFBD>//˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>
2<EFBFBD><EFBFBD>//<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
3<EFBFBD><EFBFBD>//<2F><EFBFBD>
4<EFBFBD><EFBFBD>//up<75><70><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
5<EFBFBD><EFBFBD>//up<75><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱ<EFBFBD>
6<EFBFBD><EFBFBD>//up<75><70>ֵ
7<EFBFBD><EFBFBD>//down<77><6E><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
8<EFBFBD><EFBFBD>//down<77><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱ<EFBFBD>
9<EFBFBD><EFBFBD>//down<77><6E>ֵ
10<EFBFBD><EFBFBD>//ʱ<><CAB1><EFBFBD><EFBFBD>
Return: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>4<EFBFBD>ֽڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Others:
****************************************************************/
u32 Gp30CheckDataApp(u8 data_para)
{
switch (data_para)
{
case 1:
return (gp22_app_data.s.ins_flow);
case 2:
if(gp22_app_data.s.total_flow.gp30_float<0)
{
gp22_app_data.s.total_flow.gp30_float=0;
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
}
return (gp22_app_data.s.total_flow.gp30_u32);
case 3:
if(gp22_app_data.s.total_flow_reverse.gp30_float<0)
{
gp22_app_data.s.total_flow_reverse.gp30_float=0;
}
return (gp22_app_data.s.total_flow_reverse.gp30_u32);
case 4:
return (gp22_app_data.s.TOF_up);
case 5:
return (gp22_app_data.s.ratio_up);
case 6:
return (gp22_app_data.s.peak_up);
case 7:
return (gp22_app_data.s.TOF_down);
case 8:
return (gp22_app_data.s.ratio_down);
case 9:
return (gp22_app_data.s.peak_down);
case 10:
return (gp22_app_data.s.TOF_diff);
case 11:
return (gp22_app_data.s.up_tof_dif.gp30_u32);//У׼ʱ<D7BC><CAB1>UP<55><50><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>У׼<D0A3><D7BC>ֵ*1000 <20><>usת<73><D7AA>Ϊns
case 12:
return (gp22_app_data.s.down_tof_dif.gp30_u32);//У׼ʱ<D7BC><CAB1>DOWN<57><4E><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>У׼<D0A3><D7BC>ֵ*1000 <20><>usת<73><D7AA>Ϊns
default:
return (0xffffffff);
}
}
u32 Gp30CheckTestDataApp(u8 data_para)
{
switch (data_para)
{
case 1:
return (gp22_test_data.s.ins_flow);
case 2:
return (gp22_test_data.s.total_flow.gp30_u32);
case 3:
return (gp22_test_data.s.total_flow_reverse.gp30_u32);
case 4:
#if WENDU_FANSUAN_OPEN
gp22_test_data.s.TOF_up = GetTemperatureCalculateParameter(TOF_UP);
#endif
return (gp22_test_data.s.TOF_up);
case 5:
return (gp22_test_data.s.ratio_up);
case 6:
return (gp22_test_data.s.peak_up);
case 7:
#if WENDU_FANSUAN_OPEN
gp22_test_data.s.TOF_down = GetTemperatureCalculateParameter(TOF_DOWN);
#endif
return (gp22_test_data.s.TOF_down);
case 8:
return (gp22_test_data.s.ratio_down);
case 9:
return (gp22_test_data.s.peak_down);
case 10:
return (gp22_test_data.s.TOF_diff);
case 12:
return ( s_g_sample_sum_lcd);
default:
return (0xffffffff);
}
}
/***********************<2A><><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>*****************
Function: void Gp30StartMeasureApp (u8 flag)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return: flag<EFBFBD><EFBFBD>1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<EFBFBD><EFBFBD>ֹͣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Others:
****************************************************************/
void Gp30StartMeasureApp (u8 flag)
{
u16 i;
float temp_max =s_g_temp_data[0], temp_min =s_g_temp_data[0];
start_measure_flag = flag;
s_g_sample_start_flag=flag;
if(flag) //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
{
#if WENDU_FANSUAN_OPEN
if(FrameCheckMsgApp(MsgCaliberate))//<2F><>ȡУ׼<D0A3><D7BC>־-----1: <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>У׼ 0<><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У׼
{
GP30_tof_buchang_filter(START_CALIBREATE);
}
#endif
for (i = 0; i < GP22_APP_DIFTOF_SIZE; i++)
{
s_g_diftof_data[i] = 0;
}
for (i = 0; i < GP22_APP_DIFTOF_SIZE_2; i++)
{
s_g_diftof_data_2[i] = 0;
}
#if EN_LARGE_FILITER
for (i = 0; i < GP22_APP_DIFTOF_SIZE_3; i++)
{
s_g_diftof_data_3[i] = 0;
}
s_g_diftof_head_3_quotient=0;
s_g_diftof_head_3 = 0;
#endif
// s_g_sample_flow_head = 0;
s_g_diftof_head = 0;
s_g_diftof_head_2 = 0;
s_g_diftof_head_2_quotient=0;
s_g_sample_total_sum = 0;
s_g_diftof_for_total = FALSE;
// s_g_sample_total_sum = 0;
// s_g_sample_add = 0;
gp22_app_data.s.ins_flow = 0;
gp22_test_data.s.ins_flow = 0;
gp22_test_data.s.ins_flow_cnt = 0;//˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>һ<EFBFBD>ξͼ<CEBE>1<EFBFBD><31>
gp22_test_data.s.ins_flow_sum = 0;//˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD>ۼƺ<DBBC>
gp22_test_data.s.ins_flow_sum_temp = 0;//
gp22_app_data.s.ins_flow_max = 0;//
gp22_app_data.s.ins_flow_min = 0;
/*<2A><><EFBFBD><EFBFBD>ˮ̨<CBAE><CCA8>*/
for(i=0;i<MAX_TEMP_NUM;i++)
{
s_g_temp_data[i]=0;//<2F><><EFBFBD><EFBFBD>ֵ<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><E9B8B3>ֵ<EFBFBD><D6B5>
}
s_g_sample_head=0;//<2F><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ͷ<EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD>
s_g_sample_length=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_sample_ok_flag=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־<EFBFBD><D6BE>?
temp_sample_value=0; //<2F><EFBFBD><C2B6>˲<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
}
else
{
#if WENDU_FANSUAN_OPEN
FrameClearMsgApp(MsgCaliberate);//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>У׼У׼<D0A3><D7BC>־
GP30_tof_buchang_filter(STOP_CALIBREATE);//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><E3B5A5>ʱ<EFBFBD><EFBFBD><E4B2B9><EFBFBD><EFBFBD>ֵ
#endif
if(s_g_sample_length>3)
{
//1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><C2B6>˲<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ Ȼ<><C8BB>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡƽ<C8A1><C6BD>ֵ
for(i=0;i<s_g_sample_length;i++)
{
if((s_g_temp_data[i]>=temp_max))
{
temp_max = s_g_temp_data[i];
}
if((s_g_temp_data[i]<=temp_min))
{
temp_min = s_g_temp_data[i];
}
temp_sample_value+=s_g_temp_data[i];//<2F><><EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD><C2B6>˲<EFBFBD><CBB2><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
temp_sample_value=(temp_sample_value-temp_max-temp_min)/(s_g_sample_length-2);//1<><31><EFBFBD><EFBFBD><C2B6>˲<EFBFBD><CBB2><EFBFBD>ֵ 2<><32><EFBFBD><EFBFBD><EFBFBD><C2B6>˲<EFBFBD><CBB2><EFBFBD>ֵ
s_g_sample_length=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_sample_ok_flag=1;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־<EFBFBD><D6BE>1
}
else //<2F><>ʵʱ<CAB5><EFBFBD>ֵ
{
s_g_sample_length=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9B3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
s_g_sample_ok_flag=0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
temp_sample_value=0;//<2F><EFBFBD><C2B6>˲<EFBFBD><CBB2><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
}
}
}
/***********************<2A><>ѯģ<D1AF><C4A3><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*****************
Function: u8 Gp30IfSleepApp (void)
Description: <EFBFBD><EFBFBD>ѯģ<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return: SLEEP_TRUE<EFBFBD><EFBFBD>1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SLEEP_FALSE<EFBFBD><EFBFBD>0 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Others:
****************************************************************/
u8 Gp30IfSleepApp(void)
{
if ((s_g_gp30_control_cal_state == GP30_CONTROL_S0)&&(s_g_gp22_app_clear_data_state_num == GP30_APP_CLEAR_DATA_S0) && (s_g_gp22_app_save_data_state_num == GP30_APP_SAVE_S1) &&
((s_g_gp22_app_state_num == GP22_APP_S0) &&(0x04 == (Gp22CheckSampleMsg()&0x04))))
{
return TRUE;
}
return FALSE;
}
/***********************<2A>³<EFBFBD>ֵ(ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>)*************************
Function: u8 Gp30InitDataApp (u32 total_flow, u32 negative_total_flow)
Description: <EFBFBD>³<EFBFBD>ֵ(ϵͳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>):<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return: TRUE:<EFBFBD><EFBFBD><EFBFBD><EFBFBD> FALSE<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD>
Others:
****************************************************************/
u8 Gp30InitDataApp(u32 total_flow, u32 negative_total_flow)
{
gp22_app_data.s.total_flow.gp30_float = (float)(total_flow);//(float)bcdToHex32(total_flow);
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
total_flow_old.gp30_float = gp22_app_data.s.total_flow.gp30_float;
gp22_copy_total_flow = gp22_app_data.s.total_flow.gp30_float;//2017 02,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if(0x00002B1A==FrameCheckParaApp(FramePara_CCFlow)) //<2F><>ʽ2
// {
gp22_app_data.s.total_flow_reverse.gp30_float = (float)(negative_total_flow);//(float)bcdToHex32(negative_total_flow);
// }
// else
// {
// gp22_app_data.s.total_flow_reverse.gp30_float = 0;
// }
gp22_copy_total_flow_reverse = gp22_app_data.s.total_flow_reverse.gp30_float;//2017 02,<2C><><EFBFBD>ĸ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Gp30_init_data_flag = TRUE;
return TRUE;
}
/************************************************
Function: void Gp30DiftofCalibration(void)
Description: <EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
Input:
Return:
Others:
****************************************************************/
void Gp30DiftofCalibration(void)
{
float diftof_value=0;
// temp_value_float = TempCheckValueApp();//<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><EFBFBD>ֵ
// diftof_value = (float)0.0010128*temp_value_float*temp_value_float - (float)0.0045999*temp_value_float - (float)0.30159;//<2F><>ͬ<EFBFBD><EFBFBD><C2B6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E4BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><DFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<C2B6><C8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><C2B6><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ӧ<EFBFBD>ñ<EFBFBD>У׼Ϊ<D7BC><CEAA><EFBFBD><EFBFBD>ns
// diftof_value = diftof_value/(float)250;//ת<><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>GP30<33><30>ʽ
if(TRUE == CheckDiftofCalibrationFlag())
{
if(0x80000000 == (g_diftof_cal_data.s.diftof_calibration_value.data & (0x80000000)))//<2F><><EFBFBD><EFBFBD>ֵΪ<D6B5><CEAA>
{
calibration_diftof_value += Gp30DataToFloat(~(g_diftof_cal_data.s.diftof_calibration_value.data)+1);//<2F>ѿ<EFBFBD><D1BF><EFBFBD>У׼<D0A3><D7BC><EFBFBD><EFBFBD>ԭԭʼʱ<CABC><CAB1><EFBFBD><EFBFBD>
}
else //<2F><><EFBFBD><EFBFBD>ֵΪ<D6B5><CEAA>
{
calibration_diftof_value -= Gp30DataToFloat(g_diftof_cal_data.s.diftof_calibration_value.data);//<2F>ѿ<EFBFBD><D1BF><EFBFBD>У׼<D0A3><D7BC><EFBFBD><EFBFBD>ԭԭʼʱ<CABC><CAB1><EFBFBD><EFBFBD>
}
// if(temp_value_float > (float)35)
// {
// calibration_diftof_value += DIFTOF_HIGH_TEMP_CALIBRATION_VALUE_FLOAT;//<2F>¶ȴ<C2B6><C8B4><EFBFBD>35<33><35>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1500ps<70><73><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD>¶ȴ<C2B6><C8B4><EFBFBD>35<33>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD>ٵ<EFBFBD>1500ps<70><73>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
// }
}
diftof_value = -calibration_diftof_value;//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EEB2B9>ֵ
if((diftof_value<DIFTOF_CALIBRATION_MIN)||(diftof_value>DIFTOF_CALIBRATION_MAX))//0.04=10ns/250 <20><><EFBFBD><EFBFBD>У׼ֵ<D7BC><D6B5><EFBFBD><EFBFBD>10ns<6E><73><EFBFBD><EFBFBD>С<EFBFBD><D0A1>-10ns<6E><73><EFBFBD><EFBFBD>У׼
{
return;
}
if(diftof_value<0)
{
diftof_value = -diftof_value;
g_diftof_cal_data.s.diftof_calibration_value.data = ~(FloatToGp30Data(diftof_value)-1);//ת<><D7AA>ΪGP30<33><30>ʽ
}
else
{
g_diftof_cal_data.s.diftof_calibration_value.data = FloatToGp30Data(diftof_value);//ת<><D7AA>ΪGP30<33><30>ʽ
}
}
/************************************************
Function: u8 CheckAutoCalibrationMsg(void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>У׼<EFBFBD><EFBFBD>־
Input:
Return: diftof_auto_calibration_msg
Others:
****************************************************************/
u8 CheckAutoCalibrationMsg(void)
{
return diftof_auto_calibration_msg;
}
/************************************************
Function: u8 CheckTransducerErrorMsg(void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ񶳻<EFBFBD><EFBFBD><EFBFBD>־
Input:
Return: transducer_err_msg
Others:
****************************************************************/
u8 CheckTransducerErrorMsg(void)
{
return transducer_err_msg;
}
/************************************************
Function: u8 CheckDiftofCalibrationFlag(void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У׼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
Input:
Return: True or False
Others:
****************************************************************/
u8 CheckDiftofCalibrationFlag(void)
{
if(DIFTOF_CALIBRATION_FLAG ==g_diftof_cal_data.s.diftof_calibration_flag.data)
{
return TRUE;
}
return FALSE;
}
/************************************************
Function: void Gp30TestFlowInit(void)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼֵ
Input:
Return:
Others:
****************************************************************/
//void Gp30TestFlowInit(void)
//{
// u8 i;
// gp30_test_total_start_flow.gp30_u32 = gp22_app_data.s.total_flow.gp30_u32;
// for (i = 0; i < GP30_APP_MAX_DATA; i++)
// {
// gp22_test_data.data[i] = 0;
// }
//}
/************************************************
Function: void VerificationResetCompensation(void)
Description: <EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
****************************************************************/
//void VerificationResetCompensation(void)
//{
// if((gp22_copy_temp_total_flow_float_test<(float)0)||(gp22_copy_temp_total_flow_float_test >(float)1500)||(gp22_copy_total_flow_test < (float)0))
// {
// gp22_copy_temp_total_flow_float_test = 0;//<2F><>֤
// gp22_copy_total_flow_test = 0;
// }
// if(Reset_GetFlag(ResetFlagMskWdt)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʱι<CAB1><CEB9><EFBFBD><EFBFBD><EFBFBD>µĸ<C2B5>λ
// {
// Reset_ClearFlag(ResetFlagMskWdt);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>λԴ
// gp22_test_data.s.total_flow.gp30_float=gp22_copy_total_flow_test+gp22_copy_temp_total_flow_float_test*(float)4.0;
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (float)4.0*gp22_copy_temp_total_flow_float_test/(float)1000;
// }
// else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĸ<EFBFBD>λ
// {
// gp22_test_data.s.total_flow.gp30_float=gp22_copy_total_flow_test+gp22_copy_temp_total_flow_float_test*(float)4.2;
// gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (float)4.2*gp22_copy_temp_total_flow_float_test/(float)1000;
// }
//}
/************************************************
Function: void NormalResetCompensation(void)
Description: <EFBFBD>Ǽ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Input:
Return:
Others:
****************************************************************/
void NormalResetCompensation(void)
{
if((gp22_copy_reset_flag_test == GP30_COPY_RESET_NORMAL_FLAG)&&(MCU_RESET_JUDGE_FLAG == MCU_reset_judge)) //<2F>Ƕϵ縴λ<E7B8B4><CEBB><EFBFBD>Ҹ<EFBFBD>λǰ<CEBB>ǷǼ춨
{
if(TRUE == RAMDataVerify((u8*)&gp22_copy_temp_total_flow_float,sizeof(gp22_copy_temp_total_flow_float))||\
(gp22_copy_temp_total_flow_float<(float)0)||(gp22_copy_temp_total_flow_float>(float)56))//<2F><><EFBFBD><EFBFBD>1000 000L/h<><68><EFBFBD><EFBFBD> <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲ʱ<CBB2>ۻ<EFBFBD><DBBB><EFBFBD>Ϊ560L
{
gp22_copy_temp_total_flow_float =0;
}
if(gp22_app_data.s.total_flow.gp30_float<(float)0)
{
gp22_app_data.s.total_flow.gp30_float = 0;
}
if(TRUE == RAMDataVerify((u8*)&record_last_calculative_time,sizeof(record_last_calculative_time)))
{
record_last_calculative_time = 0;
}
#if (HARDWARE_VERSION==0x18)//Բ<>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
if(FrameCheckMsgApp(Msg_WdtReset)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʱι<CAB1><CEB9><EFBFBD><EFBFBD><EFBFBD>µĸ<C2B5>λ
{
FrameClearMsgApp(Msg_WdtReset);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>λԴ
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)256)+(float)1.27)*gp22_copy_temp_total_flow_float; //2s<32><73><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD> 1.55-1.34-1.32-1.3
}
else
{
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)256)+(float)0.21)*gp22_copy_temp_total_flow_float; //0.58-0.36-0.2-0.21
}
#elif (HARDWARE_VERSION==0x14)//<2F><><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD><EFBFBD><EFBFBD>
if(FrameCheckMsgApp(Msg_WdtReset)) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB>ʱι<CAB1><CEB9><EFBFBD><EFBFBD><EFBFBD>µĸ<C2B5>λ
{
FrameClearMsgApp(Msg_WdtReset);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>λԴ
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)256)+(float)1.25)*gp22_copy_temp_total_flow_float; // 1.6-
}
else
{
gp22_app_data.s.total_flow.gp30_float = gp22_app_data.s.total_flow.gp30_float + (((float)record_last_calculative_time/(float)256)+(float)0.25)*gp22_copy_temp_total_flow_float;// 0.7
}
#endif
duoble_total_flow.gp30_double = gp22_app_data.s.total_flow.gp30_float;
}
}
/***************************************************************
Function: u8 Gp30CheckBootloaderMsgApp (void)
Description:
Input:
Return:
Others:
****************************************************************/
u8 Gp30CheckBootloaderMsgApp(void)
{
if (s_g_bootloader_msg)
{
s_g_bootloader_msg = FALSE;
return TRUE;
}
return FALSE;
}
/***************************************************************
Function: u8 Gp30GetTestRamFlag (void)
Description: <EFBFBD><EFBFBD>ȡ<EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>־
Input:
Return:
Others:
****************************************************************/
u32 Gp30GetTestRamFlag(void)
{
return gp22_copy_reset_flag_test;
}
/*2021-06-04
<EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD>GP30<EFBFBD>жϱ<EFBFBD>־<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
u8 GP30_Check_Data_UpdateMsg(void)
{
return s_gp22_Data_Update_msg;
}
void GP30_Set_Data_UpdateMsg(void)
{
s_gp22_Data_Update_msg=1;
}
void GP30_Clear_Data_UpdateMsg(void)
{
s_gp22_Data_Update_msg=0;
}
/****************************************************************
Function: void DiftofForTestbench(float temp_ins_flow_float)
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD>ֵ
Input:
Return: <EFBFBD><EFBFBD>
*****************************************************************/
void DiftofForTestbench(float temp_ins_flow_float)
{
if(0 == start_measure_flag) //<2F>춨״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
return;
}
gp22_test_data.s.ins_flow_cnt++;
if(1 == gp22_test_data.s.ins_flow_cnt%20)
{
gp22_app_data.s.ins_flow_max = temp_ins_flow_float;
gp22_app_data.s.ins_flow_min = temp_ins_flow_float;
}
if(temp_ins_flow_float > gp22_app_data.s.ins_flow_max)
{
gp22_app_data.s.ins_flow_max = temp_ins_flow_float;
}
if(temp_ins_flow_float < gp22_app_data.s.ins_flow_min)
{
gp22_app_data.s.ins_flow_min = temp_ins_flow_float;
}
gp22_test_data.s.ins_flow_sum_temp += temp_ins_flow_float; //<2F>׶<EFBFBD><D7B6>ۼ<EFBFBD>
if(( gp22_test_data.s.ins_flow_cnt%20>=3 )||( 0 == gp22_test_data.s.ins_flow_cnt%20))
{
temp_ins_flow_float = (gp22_test_data.s.ins_flow_sum+(gp22_test_data.s.ins_flow_sum_temp - gp22_app_data.s.ins_flow_max-gp22_app_data.s.ins_flow_min))/(gp22_test_data.s.ins_flow_cnt-((gp22_test_data.s.ins_flow_cnt+17)/20)*2);
// <20><>ʽ<EFBFBD><CABD>(gp22_test_data.s.ins_flow_cnt-((gp22_test_data.s.ins_flow_cnt+17)/20)*2 <20><><EFBFBD><EFBFBD>Լ<EFBFBD>֣<EFBFBD>17<31><37>ȡֵ<C8A1><D6B5>Χ17<31><37>18<31><38>19
}
else
{
temp_ins_flow_float = (gp22_test_data.s.ins_flow_sum+(gp22_test_data.s.ins_flow_sum_temp ))/(gp22_test_data.s.ins_flow_cnt-(gp22_test_data.s.ins_flow_cnt/20)*2);// '/10=/20*2
}
if(0 == gp22_test_data.s.ins_flow_cnt%20)
{
gp22_test_data.s.ins_flow_sum += gp22_test_data.s.ins_flow_sum_temp - gp22_app_data.s.ins_flow_max-gp22_app_data.s.ins_flow_min;//gp22_test_data.s.ins_flow_sum_temp<6D><70><EFBFBD>ۻ<EFBFBD><DBBB><EFBFBD>
gp22_test_data.s.ins_flow_sum_temp = 0;//gp22_test_data.s.ins_flow_sum_temp20<32>λ<EFBFBD><CEBB><EFBFBD>
}
// gp22_test_data.s.ins_flow_cnt++;
// gp22_test_data.s.ins_flow_sum += temp_ins_flow_float;//˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD>ۼӺ<DBBC>
// temp_ins_flow_float = gp22_test_data.s.ins_flow_sum / (float)gp22_test_data.s.ins_flow_cnt;//ÿ<>μ<EFBFBD><CEBC><EFBFBD>˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD>ֵ
if(gp22_test_data.s.ins_flow_cnt>INS_FLOW_CAL_CNT_MAX)//<2F><><EFBFBD><EFBFBD>30<33><30><EFBFBD>ӣ<EFBFBD>˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD>ʼ<EFBFBD><CABC>¼
{
gp22_test_data.s.ins_flow_cnt = 0;
gp22_test_data.s.ins_flow_sum = 0;
gp22_test_data.s.ins_flow_sum_temp = 0;
gp22_test_data.s.ins_flow_max = 0;
gp22_test_data.s.ins_flow_min = 0;
}
gp22_test_data.s.ins_flow = FloatToGp30Data(temp_ins_flow_float);
gp22_app_data.s.ins_flow = gp22_test_data.s.ins_flow;
Gp22EventCheckApp(gp22_test_data.s.ins_flow); //<2F>¼<EFBFBD><C2BC><EFBFBD>¼<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
#ifdef __cplusplus
}
#endif //#ifdef __cplusplus