P8UWaterPlasticIES4G/app/UWater_Frame/UWater_frame_app.c

1606 lines
102 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/***********************************************************************************
* @Copyright (c) :(C)2015, Qindao ieslab Co., Ltd
* @FileName :GP30W_rfmodule_route_app.c
* @Author :Kv_L
* @Version :V1.0
* @Date :2015-05-18
* @Description :the function of the entity of system processor
************************************************************************************/
#ifdef __cplusplus
extern "C"
{
#endif
/*--------------------------------Including-------------------------------------------*/
#include "sys_config.h"
#include "UWater_frame_app.h"
#include "UWater_eeprom_driver.h"
#include "UWater_encryption_driver.h"
#include "UWater_uart_driver.h"
#include "UWater_timer1uS_driver.h"
#include "UWater_rtcc_app.h"
#include "UWater_power_app.h"
#include "UWater_lcd_app.h"
#include "UWater_gp22_app.h"
#include "UWater_valve_driver.h"
#include "UWater_self_test.h"
#include "sys_processor.h"
#include "UWater_QZ_Store_App.h"
#include "UWater_SY_Store_App.h"
#include "UWater_DataTools_App.h"
#include "nb_upload_monitor.h"
#include <string.h>
#include "SOE.h"
/*------------------------------ Variable Define -------------------------------------*/
TYP_STATE_MET_PTL_PACK uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
//static u16 s_frame_rcv_length = 0; //接收数据长度
//static u16 s_frame_rcv_length_temp = 0; //接收数据长度
//static u8* s_temp_buf;
//static u8 s_frame_rcv_arr[UP_BUF_SIZE];//数据接收缓冲区
static u8 s_frame_send_buf[UP_BUF_SIZE]; //发送数据缓存区
static u8 s_data_sourse;
static u16 s_frame_send_length = 0; //发送数据长度
static UNION_MSG s_struct_msg; //msg
static u8 s_frame_send_complete_flg = 0;
//nb接收缓存相关变量
u8 flag_Nbiot_rev_queue_handle_over;
NBIOT_REV_QUEUE Nbiot_rev_queue;//定义接收数据队列
u16 up_data_len;
u8 *up_data_point;
#if (MODULE_BLE_USED)
#else
u8 up_data_type;
u8 nb_send_type=SEND_TYPE_COAP;
#endif
/*------------------------------全局变量 -------------------------------------*/
static u8 task_complete_flag;//任务完成标志
float temperature_caliberate;//用于接收下发温度值---2021-03-22
/* 添加规约,用来配合水台子测流量 */
//u8 moidfy_flow_cofe_flag = 0;//2020-07-09 关于水台子给模板下发温度系数时将此标志置1然后用来将流量系数写为默认值
/*------------------------------temperature_for_flow_coefficient-----------------*/
UNION_4U8TOU32 cal_flow_coefficient[FLOW_COEFFICIENT_BUF_NUM]= {0};//多项式建模参数变量
const u32 default_flow_coefficient[FLOW_COEFFICIENT_BUF_NUM]={65536,65536,65536,65536,65536,65536,
65536,65536,65536,65536,65536,65536,
65536,65536,65536,65536,65536,65536};//流量系数的默认值
/*------------------------------ 多项式建模 -------------------------------------*/
TYP_FLOW_COEFFICIENT cal_coefficient[MULT_COEFFICIENT_BUF_NUM]= {0};//多项式建模参数变量
#if DN15_BRASS_40KPA_GP30_32768 || WDFS_DN15_BRASS_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,-10.53, 0.1519, 5.383, -0.001059, 0.05483, 0.001009, 0,-0.0005129, 0.00000002171, -0.000001051,
0,-4.321, 0.258, 4.962, -0.008089, 0.0528, 0.04399, 0.00008662, -0.0005393, 0.0002343, -0.001368,
0,-0.7155, 0.0338, 4.362, -0.001152, 0.02754, -0.02087, 0.00001305, -0.0001797, 0.005175, 0.002726,
0,-0.7155, 0.0338, 4.362, -0.001152, 0.02754, -0.02087, 0.00001305, -0.0001797, 0.005175, 0.002726,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数-----系数DN15
#elif LLGS_DN15_BRASS_40KPA_GP30_32768 || LLGS_WDFS_DN15_BRASS_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN15
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0, 10.86,-0.797,5.257,0.008639,0.06559,0.001967,0,-0.000506,-0.00001239,-0.000001748, //35℃以上
0, 10.86,-0.797,5.257,0.008639,0.06559,0.001967,0,-0.000506,-0.00001239,-0.000001748,//35℃以上
0,-13.88,0.2989,5.737,-0.004159,0.0722,0.001092,0,-0.001026,0.000001022,-0.000001078,//35℃以下
0,-13.88,0.2989,5.737,-0.004159,0.0722,0.001092,0,-0.001026,0.000001022,-0.000001078,//35℃以下
0,-13.88,0.2989,5.737,-0.004159,0.0722,0.001092,0,-0.001026,0.000001022,-0.000001078,//
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为5~25L/h流量点对应的误差补偿曲线系数第6~第10个为20~80L/h流量点对应的误差补偿曲线系数
{
11,0.76,0.008448,0.0301,0,0,0.7527,0.01251,0.03344,-0.000538,-0.001144,0.7527,0.01251,0.03344,-0.000538,-0.001144,
13,0.7993,0.003365,0.04094,0.0005522,-0.002959,0.7751,0.009213,0.0348,-0.0003542,-0.001298,0.7751,0.009213,0.0348,-0.0003542,-0.001298,
17,0.7993,0.003365,0.04094,0.0005522,-0.002959,0.8499,0.00439,0.03034,-0.0002577,-0.001127,0.8499,0.00439,0.03034,-0.0002577,-0.001127,
20,0.8129,0.001851,0.05,0.0005505,-0.004531,0.8881,0.003695,0.02194,-0.000185,-0.0007427,0.8881,0.003695,0.02194,-0.000185,-0.0007427,
23,0.7689,0.003839,0.06778,-0.0001715,-0.005136,0.9061,0.003295,0.02256,-0.0003633,-0.0005415,0.9061,0.003295,0.02256,-0.0003633,-0.0005415,
26,0.8084,0.001646,0.08054,-0.0004269,-0.006172,1.02,-0.00104,0.007569,0.0001155,-0.0003074,1.02,-0.00104,0.007569,0.0001155,-0.0003074,
28,0.7901,0.002003,0.09629,-0.0007909,-0.007199,1.04,-0.001718,0.009954,0.0000001955,-0.0002644,1.04,-0.001718,0.009954,0.0000001955,-0.0002644,
31,0.8212,0.0006825,0.09795,-0.0007563,-0.007432,1.068,-0.002633,0.007129,0.00007149,-0.0002121,1.068,-0.002633,0.007129,0.00007149,-0.0002121,
35,0.8426,-0.0002427,0.08269,-0.0001177,-0.008091,1.05,-0.001898,0.003795,0.0001396,-0.0001416,1.05,-0.001898,0.003795,0.0001396,-0.0001416,
38,0.6784,0.004326,0.1265,-0.001229,-0.009065,1.037,-0.001521,-0.0002842,0.0002595,-0.0001614,1.037,-0.001521,-0.0002842,0.0002595,-0.0001614,
41,0.7298,0.002782,0.09574,-0.0002552,-0.01007,0.9034,0.001961,0.009926,-0.0000006263,-0.0001883,0.9034,0.001961,0.009926,-0.0000006263,-0.0001883,
50,0.673,0.003889,0.1292,-0.0008534,-0.01154,0.9557,0.0006637,0.007603,0.00007408,-0.0002417,0.9557,0.0006637,0.007603,0.00007408,-0.0002417
};
#elif ROUND_LLGS_DN15_BRASS_40KPA_GP30_32768 || ROUND_LLGS_WDFS_DN15_BRASS_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN15
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0, -8.804, 0.1318, 6.219, -0.000864, 0.0437, 0.000377,0, -0.0003085,0.000001022, -0.0000004195, //流量80+以上 用全温度多项式模型
0, -8.804, 0.1318, 6.219, -0.000864, 0.0437, 0.000377,0, -0.0003085,0.000001022, -0.0000004195,
0, -8.804, 0.1318, 6.219, -0.000864, 0.0437, 0.000377,0, -0.0003085,0.000001022, -0.0000004195,
0, -8.804, 0.1318, 6.219, -0.000864, 0.0437, 0.000377,0, -0.0003085,0.000001022, -0.0000004195,
0, -8.804, 0.1318, 6.219, -0.000864, 0.0437, 0.000377,0, -0.0003085,0.000001022, -0.0000004195
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为6~25L/h流量点对应的误差补偿曲线系数第6~第10个为14~40L/h流量点对应的误差补偿曲线系数第11~第15个为40~200L/h流量点对应的误差补偿曲线系数
{
13.07,0.765,0.002734,0.07158,0.00009071,-0.00705, 0.8339,0.002906,0.03288,0.000009907,-0.001711, 0.9295,0.003061,0.00875,-0.00004722,-0.0001299,
16.41,0.7866,0.0002997,0.07463,0.0003847,-0.008219, 0.8457,0.001074,0.03638,0.0001298,-0.002214, 0.9408,0.002055,0.008822,-0.00004177,-0.0001343,
22.43,0.7771,0.0007999,0.07798,0.0002948,-0.00868, 0.823,0.002085,0.0431,-0.0001178,-0.002479, 0.9509,0.001431,0.008728,-0.00003519,-0.0001348,
28.06,0.7327,0.002323,0.09407,-0.00005757,-0.01018, 0.7973,0.003006,0.04854,-0.0002579,-0.002736, 0.9463,0.001557,0.008801,-0.00003229,-0.0001385,
34.86,0.7323,0.002196,0.0985,-0.0000352,-0.0113, 0.812,0.002382,0.04489,-0.00008069,-0.002881, 0.9239,0.00224,0.008953,-0.00002173,-0.0001512,
41.9, 0.76,0.001548,0.09319,0.0001043,-0.01153, 0.8248,0.002234,0.04377,-0.0001302,-0.002583, 0.9456,0.001666,0.009336,-0.00003381,-0.0001522,
47.13,0.7431,0.00157,0.1168,-0.0001364,-0.01415, 0.8524,0.001659,0.04421,-0.0001852,-0.002368, 0.9803,0.0008188,0.008837,-0.00001961,-0.0001557,
50, 0.7431,0.00157,0.1168,-0.0001364,-0.01415, 0.8524,0.001659,0.04421,-0.0001852,-0.002368, 0.9803,0.0008188,0.008837,-0.00001961,-0.0001557,
55, 0.7431,0.00157,0.1168,-0.0001364,-0.01415, 0.8524,0.001659,0.04421,-0.0001852,-0.002368, 0.9803,0.0008188,0.008837,-0.00001961,-0.0001557,
60, 0.7431,0.00157,0.1168,-0.0001364,-0.01415, 0.8524,0.001659,0.04421,-0.0001852,-0.002368, 0.9803,0.0008188,0.008837,-0.00001961,-0.0001557,
65, 0.7431,0.00157,0.1168,-0.0001364,-0.01415, 0.8524,0.001659,0.04421,-0.0001852,-0.002368, 0.9803,0.0008188,0.008837,-0.00001961,-0.0001557,
65, 0.7431,0.00157,0.1168,-0.0001364,-0.01415, 0.8524,0.001659,0.04421,-0.0001852,-0.002368, 0.9803,0.0008188,0.008837,-0.00001961,-0.0001557
};
#elif Plastic_LLGS_WDFS_DN15_PALSTIC_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN15
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0, -6.39,0.15,6.337,-0.001616,0.0523,-0.002968,0,-0.000438,0.00003559,0.000058,//温度大于35℃ 流量60L/h~300L/h建模
0, -16.89,0.3543,6.445,-0.004318,0.05667,0.0005633,0,-0.0004806,-0.00001418,-0.0000008426, //温度大于35℃ 流量大于200L/h建模
0, -6.39,0.15,6.337,-0.001616,0.0523,-0.002968,0,-0.000438,0.00003559,0.000058,//温度小于35℃ 流量60L/h~300L/h建模
0, -16.89,0.3543,6.445,-0.004318,0.05667,0.0005633,0,-0.0004806,-0.00001418,-0.0000008426,//温度小于35℃ 流量大于200L/h建模
0, 0,0,0,0,0,0,0,0,0,0
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为6~25L/h流量点对应的误差补偿曲线系数第6~第10个为6~25L/h流量点对应的误差补偿曲线系数第11~第15个为13~80L/h流量点对应的误差补偿曲线系数
{
11.7,0.7314,0.004013,0.0781,-0.000414,-0.007621,0.7314,0.004013,0.0781,-0.000414,-0.007621,0.8413,0.002284,0.02142,0.0000635,-0.0007116,
15.97,0.7312,0.003793,0.07647,-0.0000521,-0.008127,0.7312,0.003793,0.07647,-0.0000521,-0.008127,0.8257,0.003317,0.02329,0.00003395,-0.000817,
28.4,0.7406,0.003178,0.07846,-0.00003134,-0.008751,0.7406,0.003178,0.07846,-0.00003134,-0.008751,0.8049,0.003829,0.03186,-0.000187,-0.00118,
33.67,0.738,0.002962,0.09464,-0.0003279,-0.01034,0.738,0.002962,0.09464,-0.0003279,-0.01034,0.8296,0.002498,0.03669,-0.0001784,-0.001572,
38,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.8398,0.002087,0.03656,-0.0001246,-0.001704,
40,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.8398,0.002087,0.03656,-0.0001246,-0.001704,
45,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.8398,0.002087,0.03656,-0.0001246,-0.001704,
50,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.8398,0.002087,0.03656,-0.0001246,-0.001704,
55,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.8398,0.002087,0.03656,-0.0001246,-0.001704,
60,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.8398,0.002087,0.03656,-0.0001246,-0.001704,
65,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.8398,0.002087,0.03656,-0.0001246,-0.001704,
65,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.7842,0.001944,0.07721,-0.000104,-0.008408,0.8398,0.002087,0.03656,-0.0001246,-0.001704
};
#elif Buxiugang_LLGS_WDFS_DN15_BXG_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN15
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0, -2.192,-0.01404,5.312,0.0006432,0.04009,-0.002344,0,-0.0003402,0.0000896,0.00005323,//温度大于35℃ 流量60L/h~300L/h建模
0, -18.91,0.4122, 5.624,-0.003998,0.04005,0.0000745,0,-0.0003374,-0.000001679,-0.0000001283,//温度大于35℃ 流量大于200L/h建模
0, -2.192,-0.01404,5.312,0.0006432,0.04009,-0.002344,0,-0.0003402,0.0000896,0.00005323,//温度小于35℃ 流量60L/h~300L/h建模
0, -18.91,0.4122, 5.624,-0.003998,0.04005,0.0000745,0,-0.0003374,-0.000001679,-0.0000001283,//温度小于35℃ 流量大于200L/h建模
0, 0,0,0,0,0,0,0,0,0,0
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为6~25L/h流量点对应的误差补偿曲线系数第6~第10个为13~40L/h流量点对应的误差补偿曲线系数第11~第15个为26~80L/h流量点对应的误差补偿曲线系数
{
11.3, 0.769, 0.002026, 0.05101, -0.0000167, -0.003864, 0.8141 , 0.001264 , 0.02911 , 0.0001983 , -0.001333 , 0.8516,0.002026,0.01842,0.00002249,-0.0005787,
16, 0.7865, 0.000237 , 0.0448, 0.0007756, -0.004353, 0.8071 , 0.001343 , 0.02898 , 0.0004634 , -0.001617 , 0.7878,0.006807,0.02545,-0.0003865,-0.0007017,
25.14, 0.7644, 0.001805 , 0.0494, 0.0003414, -0.003896, 0.7172 , 0.004473 , 0.06184 , -0.0004502 , -0.003435 , 0.8434,0.003812,0.02274,-0.0002869,-0.0006708,
31.21, 0.6579, 0.004863 , 0.1172,-0.001444, -0.007909, 0.7709 , 0.003039 , 0.06236 , -0.0007973 , -0.002727 , 1.039,-0.004459,0.007693,0.0003711,-0.0007144,
42, 0.7561, 0.001235 , 0.08162, 0.00002255, -0.009173, 0.8497 , 0.0007233 , 0.03181 , 0.000139 , -0.002584, 0.8177,0.002698,0.02607,-0.0001966,-0.0007874,
45, 0.7561, 0.001235 , 0.08162, 0.00002255, -0.009173, 0.8497 , 0.0007233 , 0.03181 , 0.000139 , -0.002584, 0.8177,0.002698,0.02607,-0.0001966,-0.0007874,
50, 0.7561, 0.001235 , 0.08162, 0.00002255, -0.009173, 0.8497 , 0.0007233 , 0.03181 , 0.000139 , -0.002584, 0.8177,0.002698,0.02607,-0.0001966,-0.0007874,
55, 0.7561, 0.001235 , 0.08162, 0.00002255, -0.009173, 0.8497 , 0.0007233 , 0.03181 , 0.000139 , -0.002584, 0.8177,0.002698,0.02607,-0.0001966,-0.0007874,
55, 0.7561, 0.001235 , 0.08162, 0.00002255, -0.009173, 0.8497 , 0.0007233 , 0.03181 , 0.000139 , -0.002584, 0.8177,0.002698,0.02607,-0.0001966,-0.0007874,
60, 0.7561, 0.001235 , 0.08162, 0.00002255, -0.009173, 0.8497 , 0.0007233 , 0.03181 , 0.000139 , -0.002584, 0.8177,0.002698,0.02607,-0.0001966,-0.0007874,
60, 0.7561, 0.001235 , 0.08162, 0.00002255, -0.009173, 0.8497 , 0.0007233 , 0.03181 , 0.000139 , -0.002584, 0.8177,0.002698,0.02607,-0.0001966,-0.0007874,
65, 0.7561, 0.001235 , 0.08162, 0.00002255, -0.009173, 0.8497 , 0.0007233 , 0.03181 , 0.000139 , -0.002584, 0.8177,0.002698,0.02607,-0.0001966,-0.0007874
};
#elif ROUND_LLGS_XFZ_DN15_BRASS_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN15
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0, -9.871, 0.2327, 6.328, -0.002459, 0.05669, 0.001627,0, -0.0004155,-0.0000124, -0.000002, //流量100+以上 用全温度多项式模型
0, -9.871, 0.2327, 6.328, -0.002459, 0.05669, 0.001627,0, -0.0004155,-0.0000124, -0.000002,
0, -9.871, 0.2327, 6.328, -0.002459, 0.05669, 0.001627,0, -0.0004155,-0.0000124, -0.000002,
0, -9.871, 0.2327, 6.328, -0.002459, 0.05669, 0.001627,0, -0.0004155,-0.0000124, -0.000002,
0, -9.871, 0.2327, 6.328, -0.002459, 0.05669, 0.001627,0, -0.0004155,-0.0000124, -0.000002
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为6~28L/h流量点对应的误差补偿曲线系数第6~第10个为6~28L/h流量点对应的误差补偿曲线系数第11~第15个为28~100L/h流量点对应的误差补偿曲线系数
{
14.7, 0.9507, 0.0004726, 0.01717, 0.0007659, -0.001957, 0.9507, 0.0004726, 0.01717, 0.0007659, -0.001957, 0.9643, 0.002875, 0.005695, 0.0002017, -0.00006415,
28.58,0.9071, 0.002738, 0.03559, 0.00006142, -0.003535, 0.9071, 0.002738, 0.03559, 0.00006142, -0.003535, 0.9352, 0.003376, 0.0136, -0.00003241,-0.0003019,
38.16,0.9314, 0.001617, 0.03722, 0.0001867, -0.004217, 0.9314, 0.001617, 0.03722, 0.0001867, -0.004217, 0.9397, 0.00288, 0.01771, -0.00006499,-0.0004686,
41.75,0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9078, 0.003437, 0.02343, -0.000141, -0.0006426,
45, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9078, 0.003437, 0.02343, -0.000141, -0.0006426,
50, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9078, 0.003437, 0.02343, -0.000141, -0.0006426,
55, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9078, 0.003437, 0.02343, -0.000141, -0.0006426,
55, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9078, 0.003437, 0.02343, -0.000141, -0.0006426,
55, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9078, 0.003437, 0.02343, -0.000141, -0.0006426,
55, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9078, 0.003437, 0.02343, -0.000141, -0.0006426,
55, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9078, 0.003437, 0.02343, -0.000141, -0.0006426,
55, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9679, 0.0007353, 0.0231, 0.000467, -0.00358, 0.9078, 0.003437, 0.02343, -0.000141, -0.0006426
};
#elif DN20_BRASS_40KPA_GP30_32768 || WDFS_DN20_BRASS_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,-11.06,0.0604,8.707,0.0008746,0.07149,0.00143,0,-0.0005559,0.0000008134,-0.000001263,
0,-2.407,-0.04968,7.695,0.001477,0.0859,0.01372,0,-0.0006629,-0.0001206,0.0007915,
0,-3.577,0.06884,9.819,-0.001895,0.05747,-1.146,0,0.0002918,-0.0008768,0.1849,
0,3.213,-0.1398,1.495,0.001246,0.2152,2.237,0,-0.001228,-0.02886,-0.2686,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数-----系数DN20
#elif LLGS_DN20_BRASS_40KPA_GP30_32768 || LLGS_WDFS_DN20_BRASS_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN20
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-11.26,0.1641,8.622,-0.001911,0.08059,0.001622,0,-0.0006372,0.000004986,-0.000001794,
0,-11.26,0.1641,8.622,-0.001911,0.08059,0.001622,0,-0.0006372,0.000004986,-0.000001794,//兼容国内DN15分段
0,-11.26,0.1641,8.622,-0.001911,0.08059,0.001622,0,-0.0006372,0.000004986,-0.000001794,
0,-11.26,0.1641,8.622,-0.001911,0.08059,0.001622,0,-0.0006372,0.000004986,-0.000001794,
0,-11.26,0.1641,8.622,-0.001911,0.08059,0.001622,0,-0.0006372,0.000004986,-0.000001794
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为9~40L/h流量点对应的误差补偿曲线系数第6~第11个为40~150L/h流量点对应的误差补偿曲线系数
{
12.97,0.6128,0.007821,0.111,-0.0008223,-0.01049, 0.7142,0.005854,0.0574,-0.0002597,-0.003689, 0.8414,0.00473,0.01665,-0.0001324,-0.0004215,
17.52,0.6643,0.004107,0.09825,0.00001221,-0.0102, 0.7165,0.004618,0.06352,-0.0001337,-0.004726, 0.8681,0.00348,0.0129,-0.00003604,-0.000298,
22.62,0.5855,0.00782,0.1275,-0.0009752,-0.01237, 0.6442,0.008102,0.08565,-0.001037,-0.005503, 0.8786,0.003165,0.01225,-0.00005189,-0.0002528,
25.54,0.6791,0.00319,0.121,-0.0003243,-0.01381, 0.7768,0.002193,0.06138,0.00007045,-0.005657, 0.8988,0.002294,0.01088,-0.000004522,-0.000236,
27.99,0.6795,0.003115,0.1123,0.00005104,-0.01394, 0.7534,0.002979,0.06354,0.00006242,-0.005933, 0.8769,0.003174,0.01166,-0.00004292,-0.000225,
31.12,0.6642,0.003545,0.1289,-0.0004747,-0.01414, 0.693,0.004865,0.09139,-0.0007818,-0.006469, 0.9422,0.0009064,0.008249,0.00006736,-0.0002077,
34.61,0.6037,0.005353,0.1384,-0.0006411,-0.01507, 0.6287,0.006943,0.1015,-0.001115,-0.006445, 0.8852,0.002674,0.01284,-0.00006601,-0.0002295,
37.66,0.5681,0.006196,0.1643,-0.001203,-0.01638, 0.7234,0.003888,0.08894,-0.0005499,-0.007459, 0.9062,0.00197,0.0136,-0.00005955,-0.000281,
41.76,0.626,0.004784,0.1536,-0.001054,-0.01519, 0.7015,0.004426,0.09998,-0.0008081,-0.007665, 0.9181,0.0016,0.01466,-0.0000727,-0.0003088,
43,0.6657,0.00405,0.1465,-0.001097,-0.01321, 0.7712,0.002835,0.08465,-0.0005357,-0.006962, 0.9459,0.0007359,0.01432,-0.000008452,-0.0004397,
48.85,0.6657,0.00405,0.1465,-0.001097,-0.01321, 0.7712,0.002835,0.08465,-0.0005357,-0.006962, 0.9459,0.0007359,0.01432,-0.000008452,-0.0004397,
50,0.6657,0.00405,0.1465,-0.001097,-0.01321, 0.7712,0.002835,0.08465,-0.0005357,-0.006962, 0.9459,0.0007359,0.01432,-0.000008452,-0.0004397
};
#elif ROUND_LLGS_DN20_BRASS_40KPA_GP30_32768 || ROUND_LLGS_WDFS_DN20_BRASS_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN20
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0, -9.358, 0.1557, 7.323, -0.001143, 0.05348, 0.0005167, 0, -0.0003978, -0.00000321, -0.0000007535,//流量150+以上,用全温度多项式模型
0, -9.358, 0.1557, 7.323, -0.001143, 0.05348, 0.0005167, 0, -0.0003978, -0.00000321, -0.0000007535,
0, -9.358, 0.1557, 7.323, -0.001143, 0.05348, 0.0005167, 0, -0.0003978, -0.00000321, -0.0000007535,
0, -9.358, 0.1557, 7.323, -0.001143, 0.05348, 0.0005167, 0, -0.0003978, -0.00000321, -0.0000007535,
0, -9.358, 0.1557, 7.323, -0.001143, 0.05348, 0.0005167, 0, -0.0003978, -0.00000321, -0.0000007535
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为9~35L/h流量点对应的误差补偿曲线系数,第6~第10个为9~35L/h流量点对应的误差补偿曲线系数,第11~第15个为35~150L/h流量点对应的误差补偿曲线系数
{
12.7, 0.8721,0.003059,0.03954,-0.0001482,-0.003144, 0.8721,0.003059,0.03954,-0.0001482,-0.003144, 0.9297,0.003549,0.01309,-0.0001302,-0.0003018,
19.83, 0.8913,0.00164,0.03485,0.0001588,-0.002994, 0.8913,0.00164,0.03485,0.0001588,-0.002994, 0.9368,0.002999,0.01278,-0.0001015,-0.0003042,
25.5, 0.8971,0.001325,0.03514,0.0001768,-0.003144, 0.8971,0.001325,0.03514,0.0001768,-0.003144, 0.9597,0.002065,0.01156,-0.0000891,-0.0002622,
30.65, 0.8781,0.001875,0.04635,-0.0001377,-0.00362, 0.8781,0.001875,0.04635,-0.0001377,-0.00362, 0.981,0.001389,0.009833,-0.00005681,-0.0002203,
40, 0.8833,0.00167,0.04364,-0.00002898,-0.003754, 0.8833,0.00167,0.04364,-0.00002898,-0.003754, 0.9832,0.001431,0.008618,-0.00004138,-0.000187,
49.72, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 1.005,0.0009481,0.007038,-0.00001374,-0.0001649,
50, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 1.005,0.0009481,0.007038,-0.00001374,-0.0001649,
55, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 1.005,0.0009481,0.007038,-0.00001374,-0.0001649,
60, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 1.005,0.0009481,0.007038,-0.00001374,-0.0001649,
65, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 1.005,0.0009481,0.007038,-0.00001374,-0.0001649,
65, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 1.005,0.0009481,0.007038,-0.00001374,-0.0001649,
65, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 0.8838,0.001316,0.05486,-0.00004582,-0.005502, 1.005,0.0009481,0.007038,-0.00001374,-0.0001649
};
#elif Buxiugang_LLGS_WDFS_DN20_BXG_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN20
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0, -13.21, 0.2492, 9.028, -0.002989, 0.07934, 0.0007438, 0, -0.000685, -0.000006463,-0.0000005019,
0, -13.21, 0.2492, 9.028, -0.002989, 0.07934, 0.0007438, 0, -0.000685, -0.000006463,-0.0000005019,//
0, -13.21, 0.2492, 9.028, -0.002989, 0.07934, 0.0007438, 0, -0.000685, -0.000006463,-0.0000005019,
0, -13.21, 0.2492, 9.028, -0.002989, 0.07934, 0.0007438, 0, -0.000685, -0.000006463,-0.0000005019,
0, -13.21, 0.2492, 9.028, -0.002989, 0.07934, 0.0007438, 0, -0.000685, -0.000006463,-0.0000005019
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为9~35L/h流量点对应的误差补偿曲线系数,第6~第10个为9~35L/h流量点对应的误差补偿曲线系数,第11~第15个为35~150L/h流量点对应的误差补偿曲线系数
{
12.23, 0.6545, 0.004948, 0.132, -0.0009561, -0.01476, 0.9064, 0.0004337, 0.005061, 0.000182, 0.001059, 0.8693, 0.001376, 0.02252, -0.00001358, -0.0007158,
18.46, 0.655, 0.004674, 0.1319, -0.0005699, -0.01568, 0.8863, 0.0008196, 0.006513, 0.0006698, 0.0003477, 0.8332, 0.006216, 0.02178, -0.0003118, -0.0005261,
24.5, 0.663, 0.004601, 0.1262, -0.0007234, -0.01391, 0.7941, 0.003379, 0.04113, -0.0001715, -0.001654, 0.8933, 0.002898, 0.01862, -0.00017, -0.0004647,
29.9, 0.7753, 0.0004677,0.09162, 0.0002612, -0.01171, 0.7484, 0.002076, 0.07455, -0.00006292,-0.005565, 0.9311, 0.001909, 0.01368, -0.0000906, -0.0003198,
37.19, 0.7918, 0.00006958,0.07849,0.0006293, -0.0113, 0.6398, 0.004386, 0.1122, -0.0006497, -0.007903, 0.9639, 0.0007009,0.0115, 0.000001282, -0.0003439,
42.33, 0.7628, 0.001206, 0.07914, 0.0003151, -0.00906, 0.6799, 0.003636, 0.1033, -0.0005659, -0.007274, 0.9618, 0.0007005,0.01217, -0.000004183,-0.000367,
45, 0.7628, 0.001206, 0.07914, 0.0003151, -0.00906, 0.6799, 0.003636, 0.1033, -0.0005659, -0.007274, 0.9618, 0.0007005,0.01217, -0.000004183,-0.000367,
50, 0.7628, 0.001206, 0.07914, 0.0003151, -0.00906, 0.6799, 0.003636, 0.1033, -0.0005659, -0.007274, 0.9618, 0.0007005,0.01217, -0.000004183,-0.000367,
55, 0.7628, 0.001206, 0.07914, 0.0003151, -0.00906, 0.6799, 0.003636, 0.1033, -0.0005659, -0.007274, 0.9618, 0.0007005,0.01217, -0.000004183,-0.000367,
60, 0.7628, 0.001206, 0.07914, 0.0003151, -0.00906, 0.6799, 0.003636, 0.1033, -0.0005659, -0.007274, 0.9618, 0.0007005,0.01217, -0.000004183,-0.000367,
65, 0.7628, 0.001206, 0.07914, 0.0003151, -0.00906, 0.6799, 0.003636, 0.1033, -0.0005659, -0.007274, 0.9618, 0.0007005,0.01217, -0.000004183,-0.000367,
65, 0.7628, 0.001206, 0.07914, 0.0003151, -0.00906, 0.6799, 0.003636, 0.1033, -0.0005659, -0.007274, 0.9618, 0.0007005,0.01217, -0.000004183,-0.000367
};
#elif ROUND_LLGS_XFZ_DN20_BRASS_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN20
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-7.315,0.07215, 7.276,-0.0001311,0.06206,0.0006101,0,-0.0005088,-0.000003906,-0.0000007142,
0,-7.315,0.07215, 7.276,-0.0001311,0.06206,0.0006101,0,-0.0005088,-0.000003906,-0.0000007142,
0,-7.315,0.07215, 7.276,-0.0001311,0.06206,0.0006101,0,-0.0005088,-0.000003906,-0.0000007142,
0,-7.315,0.07215, 7.276,-0.0001311,0.06206,0.0006101,0,-0.0005088,-0.000003906,-0.0000007142,
0,-7.315,0.07215, 7.276,-0.0001311,0.06206,0.0006101,0,-0.0005088,-0.000003906,-0.0000007142
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为9~40L/h流量点对应的误差补偿曲线系数,第6~第10个为9~40L/h流量点对应的误差补偿曲线系数,第11~第15个为35~150L/h流量点对应的误差补偿曲线系数
{
12.51,0.8849, 0.002845, 0.04307, -0.0003302, -0.003123, 0.8849, 0.002845, 0.04307, -0.0003302, -0.003123, 0.9543, 0.003185, 0.01314, -0.0001668, -0.0003196,
18.13,0.8922, 0.002482, 0.03526, 0.0001718, -0.002796, 0.8922, 0.002482, 0.03526, 0.0001718, -0.002796, 0.9411, 0.004593, 0.01235, -0.0001814, -0.0002791,
28.76,0.8679, 0.003578, 0.04374, 0.00001412, -0.003671, 0.8679, 0.003578, 0.04374, 0.00001412, -0.003671, 0.9732, 0.003462, 0.008989, -0.0001065, -0.0001926,
37.08,0.8662, 0.003035, 0.06369, -0.0003264, -0.005274, 0.8662, 0.003035, 0.06369, -0.0003264, -0.005274, 1.063, 0.0008661, 0.002884, -0.00003293,-0.000005166,
41.26,0.8297, 0.003991, 0.07954, -0.0007301, -0.005472, 0.8297, 0.003991, 0.07954, -0.0007301, -0.005472, 1.064, 0.0009418, 0.001249, -0.00001666, 0.00004215,
48.12,0.9146, 0.001645, 0.07044, -0.0003027, -0.006717, 0.9146, 0.001645, 0.07044, -0.0003027, -0.006717, 1.091, 0.0002415, 0.0007272, 0.0000119, 0.000007139,
54.82,0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 1.102, -0.00002166, 0.0004451, 0.00002714, -0.00001706,
55, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 1.102, -0.00002166, 0.0004451, 0.00002714, -0.00001706,
55, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 1.102, -0.00002166, 0.0004451, 0.00002714, -0.00001706,
55, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 1.102, -0.00002166, 0.0004451, 0.00002714, -0.00001706,
55, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 1.102, -0.00002166, 0.0004451, 0.00002714, -0.00001706,
55, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 0.915, 0.001554, 0.07269, -0.0002859, -0.007203, 1.102, -0.00002166, 0.0004451, 0.00002714, -0.00001706
};
#elif DN25_BRASS_40KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN25
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]= //
{
0,-28.66,0.5098,9.828,-0.004709,0.07305,0.0009813,0,-0.0005118,-0.000003064,-0.00000063,
0,-28.66,0.5098,9.828,-0.004709,0.07305,0.0009813,0,-0.0005118,-0.000003064,-0.00000063,
0,-28.66,0.5098,9.828,-0.004709,0.07305,0.0009813,0,-0.0005118,-0.000003064,-0.00000063,
0,-28.66,0.5098,9.828,-0.004709,0.07305,0.0009813,0,-0.0005118,-0.000003064,-0.00000063,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数-----先按照DN25的系数进行建模然后再进行修正
float default_error_cruve[12][16]=
{
11.14,0.6079,0.00313,0.08288,-0.0002111,-0.007712, 0.722,0.002057,0.02845,0.0000434,-0.001292, 0.7478,0.004004,0.01602,-0.00006548,-0.0002381,
14.62,0.5754,0.006431,0.08844,-0.000802,-0.007563, 0.7267,0.004413,0.01844,-0.00005605,-0.000304, 0.716,0.005659,0.01851,-0.0001112,-0.0002885,
19.41,0.5842,0.00528,0.09151,-0.0007429,-0.008057, 0.7376,0.003064,0.02029,-0.00006694,-0.0003546, 0.7293,0.003927,0.0201,-0.000105,-0.0003332,
27.69,0.61,0.003619,0.08352,0.00002808,-0.009413, 0.7686,0.002027,0.006298,0.0003931,0.0002357, 0.6934,0.005368,0.02224,-0.0001383,-0.0003759,
33.8, 0.6129,0.003231,0.08924,0.0001138,-0.01118, 0.727,0.002596,0.02092,0.0002747,-0.0009906, 0.705,0.00477,0.02264,-0.0001301,-0.000393,
40.89,0.7011,0.0007868,0.0731,0.0005893,-0.01161, 0.6302,0.004803,0.05789,-0.0004923,-0.002274, 0.7585,0.003117,0.02226,-0.0001044,-0.000407,
48.85,0.6585,0.002122,0.08512,0.00006057,-0.009913, 0.7732,0.001886,0.0235,0.00005248,-0.0008795, 0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993
}; //-------温度系数需要修正
#elif LLGS_DN25_BRASS_40KPA_GP30_32768 // DN25 的程序还没有进行修改
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN20
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-11.95,0.1759,9.032,-0.002677,0.06779,0.001168,0,-0.0003164,0.0000001132,-0.0000009347,
0,-11.95,0.1759,9.032,-0.002677,0.06779,0.001168,0,-0.0003164,0.0000001132,-0.0000009347,
0,-11.95,0.1759,9.032,-0.002677,0.06779,0.001168,0,-0.0003164,0.0000001132,-0.0000009347,
0,-11.95,0.1759,9.032,-0.002677,0.06779,0.001168,0,-0.0003164,0.0000001132,-0.0000009347,
0,-11.95,0.1759,9.032,-0.002677,0.06779,0.001168,0,-0.0003164,0.0000001132,-0.0000009347
};
float default_error_cruve[12][16]= //第一行为例第1~第5个为9~40L/h流量点对应的误差补偿曲线系数第6~第11个为40~150L/h流量点对应的误差补偿曲线系数
{
12,0.6971,0.004587,0.1035,-0.0006277,-0.009174, 0.7862,0.002185,0.05816,0.0001328,-0.003839, 0.9383,0.002731,0.01127,-0.00008437,-0.0002695,
14,0.7623,-0.003421,0.09106,0.00215,-0.01248, 0.719,0.00534,0.08331,-0.0005886,-0.005995, 0.9473,0.002808,0.009405,-0.0001536,-0.0001395,
16,0.6106,0.008948,0.1301,-0.001531,-0.0107, 0.6737,0.006799,0.1014,-0.0009267,-0.007665, 0.9613,0.002051,0.006224,0.00000119,-0.00007708,
18,0.704,0.001903,0.1131,0.0003485,-0.01281, 0.7225,0.003416,0.09186,-0.0001582,-0.007982, 0.9568,0.002449,0.006349,-0.00004073,-0.0000489,
20,0.6178,0.006491,0.14,-0.000932,-0.01361, 0.65,0.00782,0.1083,-0.001268,-0.007547, 0.9689,0.001713,0.005265,0.00002593,-0.0000507,
22,0.6302,0.005702,0.1322,-0.0004085,-0.01414, 0.6888,0.005611,0.09647,-0.0005238,-0.007973, 0.9521,0.002528,0.005816,0.000001263,-0.00005231,
25,0.6592,0.004171,0.129,-0.00004465,-0.01513, 0.6381,0.006519,0.1197,-0.0007852,-0.01033, 0.9515,0.00268, 0.00633,-0.00005319,-0.00001505,
27,0.7029,0.001974,0.127,0.000468,-0.01739, 0.5811,0.008492,0.1418,-0.001488,-0.01096, 0.9854,0.001223,0.003328,0.0001024,-0.00006069,
30,0.586,0.006084,0.1627,-0.0006826,-0.01828, 0.586,0.007627,0.1481,-0.001316,-0.01251, 1.009, 0.0003822,0.004354,0.00007529,-0.0000745,
32,0.6317,0.00453,0.1711,-0.0008482,-0.01935, 0.6287,0.00671,0.1443,-0.001506,-0.01108, 1.051,-0.0009427,-0.003625,0.0003299,-0.00005995,
35,0.6317,0.00453,0.1711,-0.0008482,-0.01935, 0.6287,0.00671,0.1443,-0.001506,-0.01108, 1.051,-0.0009427,-0.003625,0.0003299,-0.00005995,
35,0.6317,0.00453,0.1711,-0.0008482,-0.01935, 0.6287,0.00671,0.1443,-0.001506,-0.01108, 1.051,-0.0009427,-0.003625,0.0003299,-0.00005995
};
#elif DN32_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN25
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0, -68.92,1.584,15.1,-0.0146,0.1266,0.001055,0,-0.0009789,0.0000007259,-0.00000081,//500+
0, -68.92,1.584,15.1,-0.0146,0.1266,0.001055,0,-0.0009789,0.0000007259,-0.00000081,//500+
0, -68.92,1.584,15.1,-0.0146,0.1266,0.001055,0,-0.0009789,0.0000007259,-0.00000081,//500+
0, -68.92,1.584,15.1,-0.0146,0.1266,0.001055,0,-0.0009789,0.0000007259,-0.00000081,//500+
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数
float default_error_cruve[12][16]= //20~45 35~100 100~500
{
10.74,0.5858,0.005071,0.1077,-0.0009275,-0.009427, 0.6614,0.002814,0.06472,0.00003251,-0.004209, 0.8426,0.002205,0.01216,-0.00003746,-0.0001884,
12.19,0.5676,0.006164,0.1091,-0.000486,-0.01071, 0.6782,0.001416,0.05589,0.0008024,-0.004213, 0.7081,0.0137,0.01633,-0.000361,-0.0001999,
13.73,0.5487,0.009117,0.09554,-0.000333,-0.008736, 0.6365,0.00651,0.05279,0.0003194,-0.003343, 0.7344,0.01153,0.01464,-0.0002156,-0.0002031,
18.67,0.6158,0.004133,0.09101,-0.00005285,-0.008357,0.6788,0.004744,0.05293,-0.0002928,-0.002417, 0.8711,0.002759,0.01145,-0.00009933,-0.0001645,
27.18,0.5556,0.005659,0.1277,-0.0007261,-0.01285, 0.7521,0.002067,0.02875,0.0003964,-0.001212, 0.8444,0.004425,0.01093,-0.00009124,-0.0001563,
32.56,0.4321,0.009023,0.1874,-0.001842,-0.01903, 0.7212,0.00393,0.03257,-0.00008679,-0.0002045, 0.8708,0.003509,0.01042,-0.00009269,-0.0001394,
35.74,0.489,0.006833,0.2042,-0.001855,-0.02306, 0.7872,0.00221,0.02366,0.00002642,0.0003861, 0.9175,0.001982,0.008759,-0.00002969,-0.0001496,
40.19,0.5769,0.004229,0.1638,-0.0005232,-0.02491, 0.6486,0.005093,0.06471,-0.0006116,-0.001739, 0.9717,0.0003203,0.007995,0.000006921,-0.0001628,
43.01,0.5206,0.005517,0.1659,-0.0005627,-0.02459, 0.622,0.005152,0.06197,-0.0002591,-0.002895, 0.8328,0.003991,0.009542,-0.00004484,-0.0001535,
49.01,0.5534,0.005213,0.1687,-0.0009625,-0.02199, 0.6057,0.005211,0.08738,-0.0006854,-0.003789, 1.038,-0.000626,0.004986,0.0000154,-0.00009342,
55, 0.5534,0.005213,0.1687,-0.0009625,-0.02199, 0.6057,0.005211,0.08738,-0.0006854,-0.003789, 1.038,-0.000626,0.004986,0.0000154,-0.00009342,
55, 0.5534,0.005213,0.1687,-0.0009625,-0.02199, 0.6057,0.005211,0.08738,-0.0006854,-0.003789, 1.038,-0.000626,0.004986,0.0000154,-0.00009342
}; //-------温度系数需要修正
#elif DN40_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN25
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]= // -116.6+2.489*B1 +23.58*C1-0.02704*B1^2 +0.1942*B1*C1 +0.0002466*C1^2-0.001412*B1^2*C1 +0.00000146*B1*C1^2 +0.000000417*C1^3
{
0,-116.6,2.489,23.58,-0.02704,0.1942,0.0002466,0,-0.001412,0.00000146,0.000000417,
0,-116.6,2.489,23.58,-0.02704,0.1942,0.0002466,0,-0.001412,0.00000146,0.000000417,
0,-116.6,2.489,23.58,-0.02704,0.1942,0.0002466,0,-0.001412,0.00000146,0.000000417,
0,-116.6,2.489,23.58,-0.02704,0.1942,0.0002466,0,-0.001412,0.00000146,0.000000417,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数
float default_error_cruve[12][16]= //35~70 70~500 500~2500
{
11.98,0.7206,0.005024,0.04089,0.0002859,-0.0005524, 0.8011,0.00595,0.02091,-0.0001073,-0.0004935, 1.032,0.002368,0.0002183,0.000007237,0.0000009429,
15.45,0.7478,0.003019,0.03097,0.0008809,0.00001652, 0.7964,0.005473,0.0239,-0.0001273,-0.0006036, 1.035,0.002429,0.0001114,0.000001969,0.000002329,
20.54,0.7214,0.003518,0.05634,0.000226,-0.00294, 0.8256,0.003557,0.02407,-0.0001317,-0.0006085, 1.059,0.0009554,-0.00001102,0.00000734,0.000002623,
27.5,0.614,0.005645,0.1242,-0.0002567,-0.01537, 0.8027,0.004527,0.02735,-0.0002493,-0.0006486, 1.062,0.0002405,0.0003181,0.00001774,-0.000002009,
33.56,0.5726,0.006061,0.1845,-0.001391,-0.02205, 0.8626,0.002379,0.02333,-0.0001112,-0.0006355, 1.037,0.0007538,0.001182,0.000005492,-0.000006653,
39.62,0.648,0.004062,0.1373,-0.0002432,-0.01993, 0.8277,0.0035,0.02295,-0.000117,-0.0006105, 1.026,0.001031,0.001539,-0.000002097,-0.000007743,
43.67,0.5446,0.006375,0.2041,-0.001565,-0.02395, 0.8846,0.001993,0.0222,-0.00008522,-0.0006377, 0.9983,0.001708,0.001825,-0.000008064,-0.000008136,
50.04,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593
}; //-------温度系数需要修正
#elif BM_DN15_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,-15.24,0.3608,5.245,-0.003881,0.03154,0.0005452,0,-0.000182,-0.0000008855,-0.0000004636,
0,2.841,-0.2747,3.122,0.007962,0.06508, 0.1114,-0.00008354,-0.0003676,-0.0008581,-0.002226,
0,0.1565,-0.05855,4.04,0.002416,0.02408,-0.04854,-0.00002652,-0.0002144,0.004228, 0.006371,
0,0.1565,-0.05855,4.04,0.002416,0.02408,-0.04854,-0.00002652,-0.0002144,0.004228, 0.006371,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数-----系数BM_DN15
#elif BM_DN20_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,-14.24,0.1082,8.781,0.0002439,0.07498,0.001277,0,-0.0006066,-0.000001402,-0.0000009837,
0,-11.81,0.5759,10.14,-0.01145,0.009259,-0.1583,0.0000921,-0.000184,0.002551,0.004108,
0,-0.1012,-0.01661,4.809,0.00009955,0.1359,0.8975,0.0000007253,-0.0009422,-0.005638,-0.09377,
0,-0.1012,-0.01661,4.809,0.00009955,0.1359,0.8975,0.0000007253,-0.0009422,-0.005638,-0.09377,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数-----系数BM_DN20
#elif BM_DN25_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,-37.69,0.9005,8.936,-0.009608,0.08073,0.000593,0,-0.0006767,0.000002201,-0.000000353,
0,1.714,-0.2591,6.033,0.003108,0.1275,0.1083,0,-0.0008787,-0.0008443,-0.00144,
0,-1.584,0.1028,7.344,-0.001114,-0.003911,0.1033,0,0.0002347,0.00789,-0.01876,
0,-1.584,0.1028,7.344,-0.001114,-0.003911,0.1033,0,0.0002347,0.00789,-0.01876,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数-----先按照DN25的系数进行建模然后再进行修正
#elif BM_DN32_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0, -21.2,-0.3226,13.08,0.004265,0.1146,0.001598,0,-0.0008636,-0.0000006754,-0.000001018,//500+
0, -12.27,0.1689,11.65,-0.0003312,0.1158,0.04986,0,-0.0008948,-0.00003511,-0.0006029,//60~500
0, 22.57,-0.01087,-9.416,-0.002526,0.1698,4.596,0,-0.00002463,-0.009454,-0.3294,//40~60
0, -8.758,0.1859,15.31,-0.0007534,-0.02577,-1.775,0,-0.0003864,0.03107,0.1958,//20~40
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数
#elif BM_DN40_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,-162.6,4.242,24.17,-0.04125,0.1801,0.0002249,0,-0.001373,0.000003759,-0.00000005449,
0,-18.08,0.2159,22.53,-0.0001009,0.1953,0.004477,0,-0.001629,0.0001589,-0.000005473,
0,55.64,-0.6699,-29.17,-0.0005206,0.6336,12.55,0,-0.001223,-0.06075,-1.021,
0,9.355,-0.1987,0.9714,0.001145,0.4279,7.117,0,-0.002288,-0.03673,-0.8746,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数
#elif MID_DN15_BRASS_63KPA_GP30_32768 //长款换能器 欧版 15
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN15
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745,
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745,
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745,
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745,
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745
};//默认标准表多项式建模系数-----系数欧标_DN15
float default_error_cruve[15][16]= //第一行为例第1~第5个为5~25L/h流量点对应的误差补偿曲线系数第6~第11个为16~80L/h流量点对应的误差补偿曲线系数
{
11,0.752, 0.001051, 0.05685, 0.000787, -0.004316, 0.8064,0.005197,0.02896,-0.0001777, -0.0008178, 0.8064,0.005197,0.02896,-0.0001777,-0.0008178,
13,0.7291, 0.003415, 0.06264, 0.00018, -0.004292, 0.8047,0.004673,0.0297, -0.00006982, -0.0009098, 0.8047,0.004673,0.0297, -0.00006982, -0.0009098,
15,0.763, 0.0002443, 0.05833, 0.0008348, -0.004876, 0.8144,0.003815,0.0308, -0.0001393, -0.0009265, 0.8144,0.003815,0.0308, -0.0001393, -0.0009265,
17,0.7309, 0.002004, 0.07235, 0.0001558, -0.005529, 0.8237,0.003137,0.03151,-0.0001837, -0.0009357, 0.8237,0.003137,0.03151,-0.0001837, -0.0009357,
22,0.677, 0.005041, 0.07939, -0.0002158, -0.005641, 0.8084,0.003917,0.03305,-0.0002326, -0.0009793, 0.8084,0.003917,0.03305,-0.0002326, -0.0009793,
23,0.8016, -0.0003721,0.06038, 0.0006048, -0.005696, 0.7039,0.008698,0.03959,-0.0004473, -0.001096, 0.7039,0.008698,0.03959,-0.0004473, -0.001096,
27,0.8016, -0.0003721,0.06038, 0.0006048, -0.005696, 0.8519,0.001832,0.03156,-0.00004009, -0.001142, 0.8519,0.001832,0.03156,-0.00004009, -0.001142,
33,0.6526, 0.004461, 0.1054, -0.0006521, -0.007301, 0.8474,0.002173,0.03217,-0.0001132, -0.001065, 0.8474,0.002173,0.03217,-0.0001132, -0.001065,
37,0.7868, 0.00007901,0.07308, 0.0005495, -0.008453, 0.8479,0.002311,0.03049,-0.0001034, -0.0009906, 0.8479,0.002311,0.03049,-0.0001034, -0.0009906,
43,0.6315, 0.00425, 0.1025, -0.0002087, -0.00875, 0.8322,0.002756,0.02514,0.0000391, -0.001001, 0.8322,0.002756,0.02514,0.0000391, -0.001001,
46,0.6368, 0.004762, 0.08055, -0.00008657,-0.006362, 0.768, 0.004423,0.02805,-0.00007157, -0.000901, 0.768, 0.004423,0.02805,-0.00007157, -0.000901,
50,0.9633, -0.002725, 0.006407, 0.001815, -0.0085, 0.8589,0.002526,0.02416,-0.000006499,-0.0008468, 0.8589,0.002526,0.02416,-0.000006499,-0.0008468,
55,0.6371, 0.003781, 0.1461, -0.0008572, -0.01021, 0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,
55,0.6371, 0.003781, 0.1461, -0.0008572, -0.01021, 0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,
55,0.6371, 0.003781, 0.1461, -0.0008572, -0.01021, 0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,0.9884,0.0000007175,0.01938,0.00008018,-0.0008197
}; //-------温度系数需要修正
#elif MID_DN20_BRASS_63KPA_GP30_32768 //长款换能器 欧版 20
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916,//修改分段曲线
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916,//修改分段曲线
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916,//修改分段曲线
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916,//修改分段曲线
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916//修改分段曲线
};//默认标准表多项式建模系数-----系数DN20
float default_error_cruve[15][16]= //第一行为例第1~第5个为9~30L/h流量点对应的误差补偿曲线系数第6~第10个为22~45L/h流量点对应的误差补偿曲线系数第11~15个为35~150L/h流量点对应的误差补偿曲线系数
{
11,0.7288,0.007089,0.06772,-0.0008522,-0.006026,0.798,0.005104,0.02878,-0.0000612,-0.001223,0.8312,0.005699,0.01766,-0.0001501,-0.0003652,
13,0.8094,-0.0001541,0.03837,0.002,-0.006712,0.7968,0.00579,0.03036,-0.0003622,-0.001088,0.8307,0.005396,0.01866,-0.0001499,-0.0004093,
15,0.7653,0.002983,0.06858,-0.00006466,-0.00746,0.8884,-0.001577,0.01212,0.001208,-0.001349,0.831,0.005178,0.01989,-0.0002015,-0.000436,
17,0.7134,0.007206,0.07115,-0.0008855,-0.005536,0.7578,0.006982,0.04033,-0.0005776,-0.001545,0.8338,0.004851,0.01968,-0.0001568,-0.0004571,
20,0.8271,0.0008294,0.04983,0.0002801,-0.005372,0.8959,-0.001394,0.02333,0.0006968,-0.002235,0.8686,0.002732,0.01837,-0.00004622,-0.0004877,
23,0.7609,0.003767,0.05697,0.0002192,-0.006623,0.7449,0.00587,0.04866,-0.0004727,-0.002417,0.8393,0.004036,0.02071,-0.000132,-0.000516,
27,0.833,0.0008033,0.07091,-0.0004742,-0.006066,1.005,-0.004475,-0.003191,0.001336,-0.001231,0.8712,0.002465,0.01912,-0.00001366,-0.000574,
30,0.7507,0.002685,-0.0247,0.004055,-0.01249,0.0593,0.03044,0.1635,-0.004992,-0.000383,0.7086,0.008979,0.03619,-0.0007933,-0.0003348,
34,0.9181,-0.003112,0.1248,-0.0006856,-0.01371,1.223,-0.0104,0.002879,0.001547,-0.004948,1.129,-0.004796,-0.00513,0.000556,-0.0003288,
37,0.3685,0.01443,0.1353,-0.002277,-0.005292,0.4495,0.0131,0.09612,-0.001711,-0.002672,0.7281,0.006405,0.02866,-0.0003297,-0.0004894,
41,0.8937,0.0005258,0.04228,0.00006823,-0.003797,0.9019,0.002017,0.01245,-0.00008441,0.0005644,0.8836,0.00219,0.01881,-0.00004564,-0.0005325,
43,0.7163,0.00475,0.1148,-0.001599,-0.004363,1.204,-0.005465,-0.06721,0.001947,-0.00008169,0.842,0.003114,0.02493,-0.0001771,-0.0005579,
46,0.8204,0.002175,0.06386,-0.0002167,-0.006416,0.8722,0.002404,0.00952,0.00005476,0.0006293,0.8109,0.003873,0.0247,-0.0001853,-0.0005289,
48,0.8499,0.001386,0.05994,0.00004911,-0.008245,0.5238,0.01067,0.1149,-0.002666,0.003613,1.03,-0.0009351,0.008252,0.0001952,-0.0005984,
52,0.7672,0.003207,0.1207,-0.001305,-0.007009,1.209,-0.004093,-0.06378,0.001349,0.001605,0.8756,0.002249,0.02342,-0.0001243,-0.0005683
}; //-------温度系数需要修正
#elif MID_DN25_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,-19.67,0.3605,8.549,-0.003427,0.06094,0.0009278,0,-0.0004054,0.00000002499,-0.0000005858,
0,-5.326,0.1569,7.072,-0.006387,0.08101,0.03048,0.00008134,-0.0005641,-0.000147,-0.0001663,
0,-1.586,0.1185,6.128,-0.004001,0.05419,0.1234,0.00003463,-0.0001832,0.002055,-0.002536,
0,-1.586,0.1185,6.128,-0.004001,0.05419,0.1234,0.00003463,-0.0001832,0.002055,-0.002536,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数-----系数DN25
#elif EN_DN15_BRASS_63KPA_GP30_32768 //短款换能器 欧版 15
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN15
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]= //
{
0,-10.32,0.215,5.213, -0.002186, 0.03588,0.0008424,0,-0.000276,-0.0000005709,-0.0000008718,
0,-10.32,0.215,5.213, -0.002186, 0.03588,0.0008424,0,-0.000276,-0.0000005709,-0.0000008718,
0,-10.32,0.215,5.213, -0.002186, 0.03588,0.0008424,0,-0.000276,-0.0000005709,-0.0000008718,
0,-10.32,0.215,5.213, -0.002186, 0.03588,0.0008424,0,-0.000276,-0.0000005709,-0.0000008718,
0,-10.32,0.215,5.213, -0.002186, 0.03588,0.0008424,0,-0.000276,-0.0000005709,-0.0000008718
};//默认标准表多项式建模系数-----系数欧标_DN15
float default_error_cruve[15][16]= //第一行为例第1~第5个为5~25L/h流量点对应的误差补偿曲线系数第6~第11个为16~80L/h流量点对应的误差补偿曲线系数
{
14,0.7027, 0.003937, 0.06359, 0.0005451, -0.004935, 0.7963, 0.002409, 0.03088, 0.0005396, -0.001442, 0.7963, 0.002409, 0.03088, 0.0005396, -0.001442,
18,0.668, 0.005816, 0.07846, -0.0002258, -0.005466, 0.7627, 0.005996, 0.03768, -0.0002881, -0.001164, 0.7627, 0.005996, 0.03768, -0.0002881, -0.001164,
28,0.7049, 0.003044, 0.08656, -0.0000388, -0.007217, 0.7991, 0.003901, 0.03799, -0.0002451, -0.001226, 0.7991, 0.003901, 0.03799, -0.0002451, -0.001226,
33,0.7505, 0.001225, 0.08784, 0.00006155, -0.008023, 0.85, 0.002037, 0.03546, -0.0001575, -0.001221, 0.85, 0.002037, 0.03546, -0.0001575, -0.001221,
41,0.7361, 0.001309, 0.1016, -0.00007874, -0.009523, 0.8766, 0.001362, 0.03235, -0.0000959, -0.001165, 0.8766, 0.001362, 0.03235, -0.0000959, -0.001165,
43,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256,
44,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256,
45,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256,
46,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256,
47,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256,
48,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256,
49,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256,
50,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256,
55,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256,
60,0.7141, 0.00159, 0.1072, 0.00003246, -0.01138, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256, 0.8301, 0.002375, 0.0363, -0.0001578, -0.001256
}; //-------温度系数需要修正
#elif EN_DN20_BRASS_63KPA_GP30_32768 //短款换能器 欧版 20
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN25
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-11.81,0.123,8.372,-0.0007752,0.07013,0.00164,0,-0.000553,-0.000004401,-0.000001758,//修改分段曲线
0,-11.81,0.123,8.372,-0.0007752,0.07013,0.00164,0,-0.000553,-0.000004401,-0.000001758,//修改分段曲线
0,-11.81,0.123,8.372,-0.0007752,0.07013,0.00164,0,-0.000553,-0.000004401,-0.000001758,//修改分段曲线
0,-11.81,0.123,8.372,-0.0007752,0.07013,0.00164,0,-0.000553,-0.000004401,-0.000001758,//修改分段曲线
0,-11.81,0.123,8.372,-0.0007752,0.07013,0.00164,0,-0.000553,-0.000004401,-0.000001758//修改分段曲线
};//默认标准表多项式建模系数-----系数DN20
float default_error_cruve[15][16]= //第一行为例第1~第5个为9~45L/h流量点对应的误差补偿曲线系数第6~第10个为35-150L/h流量点对应的误差补偿曲线系数第11~15个为35-150L/h流量点对应的误差补偿曲线系数
{
13.24,0.6988, 0.00647, 0.07536, -0.00008791, -0.00578, 0.8133, 0.008322, 0.02511, -0.0003466, -0.0006522, 0.8133, 0.008322, 0.02511, -0.0003466, -0.0006522,
18.7, 0.6953, 0.006659,0.08111, -0.0004019, -0.005946, 0.8595, 0.005399, 0.02217, -0.0002069, -0.0006115, 0.8595, 0.005399, 0.02217, -0.0002069, -0.0006115,
27.5, 0.7294, 0.00474, 0.08266, -0.0004502, -0.006078, 0.9126, 0.002892, 0.01909, -0.0001298, -0.0005348, 0.9126, 0.002892, 0.01909, -0.0001298, -0.0005348,
34.35,0.8025, 0.001939,0.07926, -0.00014, -0.007024, 0.9716, 0.001207, 0.01345, -0.00003186,-0.0003861, 0.9716, 0.001207, 0.01345, -0.00003186,-0.0003861,
39.3,0.813, 0.00143, 0.07636, 0.00009775, -0.007897, 0.9672, 0.00146, 0.0127, -0.00004042,-0.0003338, 0.9672, 0.00146, 0.0127, -0.00004042,-0.0003338,
44.2,0.7968, 0.001798,0.08678, -0.0001214, -0.008226, 0.9685, 0.001458, 0.01285, -0.00005488,-0.0003104, 0.9685, 0.001458, 0.01285, -0.00005488,-0.0003104,
47,0.8004, 0.001711, 0.09087, -0.0002068, -0.008421, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901,
50,0.8004, 0.001711, 0.09087, -0.0002068, -0.008421, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901,
55,0.8004, 0.001711, 0.09087, -0.0002068, -0.008421, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901,
55,0.8004, 0.001711, 0.09087, -0.0002068, -0.008421, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901,
55,0.8004, 0.001711, 0.09087, -0.0002068, -0.008421, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901,
55,0.8004, 0.001711, 0.09087, -0.0002068, -0.008421, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901,
55,0.8004, 0.001711, 0.09087, -0.0002068, -0.008421, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901,
55,0.8004, 0.001711, 0.09087, -0.0002068, -0.008421, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901,
55,0.8004, 0.001711, 0.09087, -0.0002068, -0.008421, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901, 1.008, 0.0005413,0.01013, 0.000002971,-0.0002901
}; //-------温度系数需要修正
#elif PF_DN15_BRASS_63KPA_GP30_32768//理论公式方法建模
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN15
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745,
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745,
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745,
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745,
0,-9.881,0.06142,5.309,0.0001501,0.03373, 0.0008699,0, -0.0001501,-0.000002422, -0.0000007745
};//默认标准表多项式建模系数-----系数欧标_DN15
float default_error_cruve[15][16]= //第一行为例第1~第5个为5~25L/h流量点对应的误差补偿曲线系数第6~第11个为16~80L/h流量点对应的误差补偿曲线系数
{
11,0.752, 0.001051, 0.05685, 0.000787, -0.004316, 0.8064,0.005197,0.02896,-0.0001777, -0.0008178, 0.8064,0.005197,0.02896,-0.0001777,-0.0008178,
13,0.7291, 0.003415, 0.06264, 0.00018, -0.004292, 0.8047,0.004673,0.0297, -0.00006982, -0.0009098, 0.8047,0.004673,0.0297, -0.00006982, -0.0009098,
15,0.763, 0.0002443, 0.05833, 0.0008348, -0.004876, 0.8144,0.003815,0.0308, -0.0001393, -0.0009265, 0.8144,0.003815,0.0308, -0.0001393, -0.0009265,
17,0.7309, 0.002004, 0.07235, 0.0001558, -0.005529, 0.8237,0.003137,0.03151,-0.0001837, -0.0009357, 0.8237,0.003137,0.03151,-0.0001837, -0.0009357,
22,0.677, 0.005041, 0.07939, -0.0002158, -0.005641, 0.8084,0.003917,0.03305,-0.0002326, -0.0009793, 0.8084,0.003917,0.03305,-0.0002326, -0.0009793,
23,0.8016, -0.0003721,0.06038, 0.0006048, -0.005696, 0.7039,0.008698,0.03959,-0.0004473, -0.001096, 0.7039,0.008698,0.03959,-0.0004473, -0.001096,
27,0.8016, -0.0003721,0.06038, 0.0006048, -0.005696, 0.8519,0.001832,0.03156,-0.00004009, -0.001142, 0.8519,0.001832,0.03156,-0.00004009, -0.001142,
33,0.6526, 0.004461, 0.1054, -0.0006521, -0.007301, 0.8474,0.002173,0.03217,-0.0001132, -0.001065, 0.8474,0.002173,0.03217,-0.0001132, -0.001065,
37,0.7868, 0.00007901,0.07308, 0.0005495, -0.008453, 0.8479,0.002311,0.03049,-0.0001034, -0.0009906, 0.8479,0.002311,0.03049,-0.0001034, -0.0009906,
43,0.6315, 0.00425, 0.1025, -0.0002087, -0.00875, 0.8322,0.002756,0.02514,0.0000391, -0.001001, 0.8322,0.002756,0.02514,0.0000391, -0.001001,
46,0.6368, 0.004762, 0.08055, -0.00008657,-0.006362, 0.768, 0.004423,0.02805,-0.00007157, -0.000901, 0.768, 0.004423,0.02805,-0.00007157, -0.000901,
50,0.9633, -0.002725, 0.006407, 0.001815, -0.0085, 0.8589,0.002526,0.02416,-0.000006499,-0.0008468, 0.8589,0.002526,0.02416,-0.000006499,-0.0008468,
55,0.6371, 0.003781, 0.1461, -0.0008572, -0.01021, 0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,
55,0.6371, 0.003781, 0.1461, -0.0008572, -0.01021, 0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,
55,0.6371, 0.003781, 0.1461, -0.0008572, -0.01021, 0.9884,0.0000007175,0.01938,0.00008018,-0.0008197,0.9884,0.0000007175,0.01938,0.00008018,-0.0008197
}; //-------温度系数需要修正
#elif PF_DN20_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN25
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916,//修改分段曲线
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916,//修改分段曲线
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916,//修改分段曲线
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916,//修改分段曲线
0,-15.95,0.2285,8.403,-0.002204,0.06757,0.001256,0,-0.0004664,-0.000003649,-0.0000009916//修改分段曲线
};//默认标准表多项式建模系数-----系数DN20
float default_error_cruve[15][16]= //第一行为例第1~第5个为9~30L/h流量点对应的误差补偿曲线系数第6~第10个为22~45L/h流量点对应的误差补偿曲线系数第11~15个为35~150L/h流量点对应的误差补偿曲线系数
{
11,0.7288,0.007089,0.06772,-0.0008522,-0.006026,0.798,0.005104,0.02878,-0.0000612,-0.001223,0.8312,0.005699,0.01766,-0.0001501,-0.0003652,
13,0.8094,-0.0001541,0.03837,0.002,-0.006712,0.7968,0.00579,0.03036,-0.0003622,-0.001088,0.8307,0.005396,0.01866,-0.0001499,-0.0004093,
15,0.7653,0.002983,0.06858,-0.00006466,-0.00746,0.8884,-0.001577,0.01212,0.001208,-0.001349,0.831,0.005178,0.01989,-0.0002015,-0.000436,
17,0.7134,0.007206,0.07115,-0.0008855,-0.005536,0.7578,0.006982,0.04033,-0.0005776,-0.001545,0.8338,0.004851,0.01968,-0.0001568,-0.0004571,
20,0.8271,0.0008294,0.04983,0.0002801,-0.005372,0.8959,-0.001394,0.02333,0.0006968,-0.002235,0.8686,0.002732,0.01837,-0.00004622,-0.0004877,
23,0.7609,0.003767,0.05697,0.0002192,-0.006623,0.7449,0.00587,0.04866,-0.0004727,-0.002417,0.8393,0.004036,0.02071,-0.000132,-0.000516,
27,0.833,0.0008033,0.07091,-0.0004742,-0.006066,1.005,-0.004475,-0.003191,0.001336,-0.001231,0.8712,0.002465,0.01912,-0.00001366,-0.000574,
30,0.7507,0.002685,-0.0247,0.004055,-0.01249,0.0593,0.03044,0.1635,-0.004992,-0.000383,0.7086,0.008979,0.03619,-0.0007933,-0.0003348,
34,0.9181,-0.003112,0.1248,-0.0006856,-0.01371,1.223,-0.0104,0.002879,0.001547,-0.004948,1.129,-0.004796,-0.00513,0.000556,-0.0003288,
37,0.3685,0.01443,0.1353,-0.002277,-0.005292,0.4495,0.0131,0.09612,-0.001711,-0.002672,0.7281,0.006405,0.02866,-0.0003297,-0.0004894,
41,0.8937,0.0005258,0.04228,0.00006823,-0.003797,0.9019,0.002017,0.01245,-0.00008441,0.0005644,0.8836,0.00219,0.01881,-0.00004564,-0.0005325,
43,0.7163,0.00475,0.1148,-0.001599,-0.004363,1.204,-0.005465,-0.06721,0.001947,-0.00008169,0.842,0.003114,0.02493,-0.0001771,-0.0005579,
46,0.8204,0.002175,0.06386,-0.0002167,-0.006416,0.8722,0.002404,0.00952,0.00005476,0.0006293,0.8109,0.003873,0.0247,-0.0001853,-0.0005289,
48,0.8499,0.001386,0.05994,0.00004911,-0.008245,0.5238,0.01067,0.1149,-0.002666,0.003613,1.03,-0.0009351,0.008252,0.0001952,-0.0005984,
52,0.7672,0.003207,0.1207,-0.001305,-0.007009,1.209,-0.004093,-0.06378,0.001349,0.001605,0.8756,0.002249,0.02342,-0.0001243,-0.0005683
}; //-------温度系数需要修正
#elif PF_DN25_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN25
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-28.66,0.5098,9.828,-0.004709,0.07305,0.0009813,0,-0.0005118,-0.000003064,-0.00000063,
0,-28.66,0.5098,9.828,-0.004709,0.07305,0.0009813,0,-0.0005118,-0.000003064,-0.00000063,
0,-28.66,0.5098,9.828,-0.004709,0.07305,0.0009813,0,-0.0005118,-0.000003064,-0.00000063,
0,-28.66,0.5098,9.828,-0.004709,0.07305,0.0009813,0,-0.0005118,-0.000003064,-0.00000063,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数-----先按照DN25的系数进行建模然后再进行修正
float default_error_cruve[15][16]=
{
11.14,0.6079,0.00313,0.08288,-0.0002111,-0.007712, 0.722,0.002057,0.02845,0.0000434,-0.001292, 0.7478,0.004004,0.01602,-0.00006548,-0.0002381,
14.62,0.5754,0.006431,0.08844,-0.000802,-0.007563, 0.7267,0.004413,0.01844,-0.00005605,-0.000304, 0.716,0.005659,0.01851,-0.0001112,-0.0002885,
19.41,0.5842,0.00528,0.09151,-0.0007429,-0.008057, 0.7376,0.003064,0.02029,-0.00006694,-0.0003546, 0.7293,0.003927,0.0201,-0.000105,-0.0003332,
27.69,0.61,0.003619,0.08352,0.00002808,-0.009413, 0.7686,0.002027,0.006298,0.0003931,0.0002357, 0.6934,0.005368,0.02224,-0.0001383,-0.0003759,
33.8, 0.6129,0.003231,0.08924,0.0001138,-0.01118, 0.727,0.002596,0.02092,0.0002747,-0.0009906, 0.705,0.00477,0.02264,-0.0001301,-0.000393,
40.89,0.7011,0.0007868,0.0731,0.0005893,-0.01161, 0.6302,0.004803,0.05789,-0.0004923,-0.002274, 0.7585,0.003117,0.02226,-0.0001044,-0.000407,
48.85,0.6585,0.002122,0.08512,0.00006057,-0.009913, 0.7732,0.001886,0.0235,0.00005248,-0.0008795, 0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993,
55,0.6585,0.002122,0.08512,0.00006057,-0.009913,0.7732,0.001886,0.0235,0.00005248,-0.0008795,0.7766,0.002694,0.02118,-0.00008452,-0.0003993
}; //-------温度系数需要修正
#elif PF_DN32_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN25
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0, -68.92,1.584,15.1,-0.0146,0.1266,0.001055,0,-0.0009789,0.0000007259,-0.00000081,//500+
0, -68.92,1.584,15.1,-0.0146,0.1266,0.001055,0,-0.0009789,0.0000007259,-0.00000081,//500+
0, -68.92,1.584,15.1,-0.0146,0.1266,0.001055,0,-0.0009789,0.0000007259,-0.00000081,//500+
0, -68.92,1.584,15.1,-0.0146,0.1266,0.001055,0,-0.0009789,0.0000007259,-0.00000081,//500+
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数
float default_error_cruve[15][16]= //20~45 35~100 100~500
{
10.74,0.5858,0.005071,0.1077,-0.0009275,-0.009427, 0.6614,0.002814,0.06472,0.00003251,-0.004209, 0.8426,0.002205,0.01216,-0.00003746,-0.0001884,
12.19,0.5676,0.006164,0.1091,-0.000486,-0.01071, 0.6782,0.001416,0.05589,0.0008024,-0.004213, 0.7081,0.0137,0.01633,-0.000361,-0.0001999,
13.73,0.5487,0.009117,0.09554,-0.000333,-0.008736, 0.6365,0.00651,0.05279,0.0003194,-0.003343, 0.7344,0.01153,0.01464,-0.0002156,-0.0002031,
18.67,0.6158,0.004133,0.09101,-0.00005285,-0.008357,0.6788,0.004744,0.05293,-0.0002928,-0.002417, 0.8711,0.002759,0.01145,-0.00009933,-0.0001645,
27.18,0.5556,0.005659,0.1277,-0.0007261,-0.01285, 0.7521,0.002067,0.02875,0.0003964,-0.001212, 0.8444,0.004425,0.01093,-0.00009124,-0.0001563,
32.56,0.4321,0.009023,0.1874,-0.001842,-0.01903, 0.7212,0.00393,0.03257,-0.00008679,-0.0002045, 0.8708,0.003509,0.01042,-0.00009269,-0.0001394,
35.74,0.489,0.006833,0.2042,-0.001855,-0.02306, 0.7872,0.00221,0.02366,0.00002642,0.0003861, 0.9175,0.001982,0.008759,-0.00002969,-0.0001496,
40.19,0.5769,0.004229,0.1638,-0.0005232,-0.02491, 0.6486,0.005093,0.06471,-0.0006116,-0.001739, 0.9717,0.0003203,0.007995,0.000006921,-0.0001628,
43.01,0.5206,0.005517,0.1659,-0.0005627,-0.02459, 0.622,0.005152,0.06197,-0.0002591,-0.002895, 0.8328,0.003991,0.009542,-0.00004484,-0.0001535,
49.01,0.5534,0.005213,0.1687,-0.0009625,-0.02199, 0.6057,0.005211,0.08738,-0.0006854,-0.003789, 1.038,-0.000626,0.004986,0.0000154,-0.00009342,
55, 0.5534,0.005213,0.1687,-0.0009625,-0.02199, 0.6057,0.005211,0.08738,-0.0006854,-0.003789, 1.038,-0.000626,0.004986,0.0000154,-0.00009342,
55, 0.5534,0.005213,0.1687,-0.0009625,-0.02199, 0.6057,0.005211,0.08738,-0.0006854,-0.003789, 1.038,-0.000626,0.004986,0.0000154,-0.00009342,
55, 0.5534,0.005213,0.1687,-0.0009625,-0.02199, 0.6057,0.005211,0.08738,-0.0006854,-0.003789, 1.038,-0.000626,0.004986,0.0000154,-0.00009342,
55, 0.5534,0.005213,0.1687,-0.0009625,-0.02199, 0.6057,0.005211,0.08738,-0.0006854,-0.003789, 1.038,-0.000626,0.004986,0.0000154,-0.00009342,
55, 0.5534,0.005213,0.1687,-0.0009625,-0.02199, 0.6057,0.005211,0.08738,-0.0006854,-0.003789, 1.038,-0.000626,0.004986,0.0000154,-0.00009342
}; //-------温度系数需要修正
#elif PF_DN40_BRASS_63KPA_GP30_32768
const float default_coefficient[MULT_COEFFICIENT_BUF_NUM]=
{
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,1, 0,0,0,0,0,0,0,0,0,
0,0, 0,0,0,0,0,0,0,0,0
};//理论公式误差模型---DN25
float default_error_DXS[MULT_COEFFICIENT_BUF_NUM]=
{
0,-116.6,2.489,23.58,-0.02704,0.1942,0.0002466,0,-0.001412,0.00000146,0.000000417,
0,-116.6,2.489,23.58,-0.02704,0.1942,0.0002466,0,-0.001412,0.00000146,0.000000417,
0,-116.6,2.489,23.58,-0.02704,0.1942,0.0002466,0,-0.001412,0.00000146,0.000000417,
0,-116.6,2.489,23.58,-0.02704,0.1942,0.0002466,0,-0.001412,0.00000146,0.000000417,
0,0,0,0,0,0,0,0,0,0,0
};//默认标准表多项式建模系数
float default_error_cruve[15][16]= //
{
11.98,0.7206,0.005024,0.04089,0.0002859,-0.0005524, 0.8011,0.00595,0.02091,-0.0001073,-0.0004935, 1.032,0.002368,0.0002183,0.000007237,0.0000009429,
15.45,0.7478,0.003019,0.03097,0.0008809,0.00001652, 0.7964,0.005473,0.0239,-0.0001273,-0.0006036, 1.035,0.002429,0.0001114,0.000001969,0.000002329,
20.54,0.7214,0.003518,0.05634,0.000226,-0.00294, 0.8256,0.003557,0.02407,-0.0001317,-0.0006085, 1.059,0.0009554,-0.00001102,0.00000734,0.000002623,
27.5,0.614,0.005645,0.1242,-0.0002567,-0.01537, 0.8027,0.004527,0.02735,-0.0002493,-0.0006486, 1.062,0.0002405,0.0003181,0.00001774,-0.000002009,
33.56,0.5726,0.006061,0.1845,-0.001391,-0.02205, 0.8626,0.002379,0.02333,-0.0001112,-0.0006355, 1.037,0.0007538,0.001182,0.000005492,-0.000006653,
39.62,0.648,0.004062,0.1373,-0.0002432,-0.01993, 0.8277,0.0035,0.02295,-0.000117,-0.0006105, 1.026,0.001031,0.001539,-0.000002097,-0.000007743,
43.67,0.5446,0.006375,0.2041,-0.001565,-0.02395, 0.8846,0.001993,0.0222,-0.00008522,-0.0006377, 0.9983,0.001708,0.001825,-0.000008064,-0.000008136,
50.04,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593,
55,0.782,0.00187,0.09279,0.0001796,-0.01657, 0.8774,0.002386,0.02031,-0.0001073,-0.0005116, 1.033,0.0008546,0.001677,-0.000003222,-0.000008593
}; //-------温度系数需要修正
#endif
/*------------------------------ Function Define -------------------------------------*/
/*******************************************************************************
* @fun_name: FrameSetMsgApp
* @brief : 置起消息类型
* @param[in] : None
* @param[out]: None
* @retval : None
* @other :
******************************************************************************/
void FrameSetMsgApp(Frame_MsgTypeDef msgType)
{
if(msgType<FRAME_MSG_TYPE_CNT)
{
s_struct_msg.MsgBuf[msgType] = 1;
}
}
/*******************************************************************************
* @fun_name: FrameCheckMsgApp
* @brief : 查询规约msg接口
* @param[in] : msg_num 0:进检定LCD1清表实时数据GP302清表数据累计工作时间RTCC时间轴
* 3:远程升级 4:测静水时差GP305清历史数据RTCC时间轴
* 6:切换信道 7:188发起递传 8更新链路地址 9表类型变 10:时间变(RTCC)查是否在活跃期msg
* 11:校过时msg 12:RTC校准msg 13:阀控msg 14:静水测量初始化msg 17是否有上报异常 18 全显界面 20下初值标志
* @param[out]: msg 有消息1 无消息0
* @retval : None
* @other :
******************************************************************************/
u8 FrameCheckMsgApp(Frame_MsgTypeDef msgType)
{
if(msgType<FRAME_MSG_TYPE_CNT)
{
return s_struct_msg.MsgBuf[msgType];
}
else
{
return ERROR;
}
}
/*******************************************************************************
* @fun_name: FrameClearMsgApp
* @brief : 清除规约msg接口
* @param[in] : msg_num 0:进检定LCD1清表实时数据GP302清表数据累计工作时间RTCC时间轴
* 3:远程升级 4:测静水时差GP305清历史数据RTCC时间轴
* 6:切换信道 7:188发起递传 8更新链路地址 9表类型变 10:查活跃期
* 11:校过时msg 12:RTC校准msg 13:阀控msg 14:静水测量初始化msg 20清下初值标志
* @param[out]: 1成功 0失败
* @retval : None
* @other :
******************************************************************************/
u8 FrameClearMsgApp(Frame_MsgTypeDef msgType)
{
if(msgType<FRAME_MSG_TYPE_CNT)
{
s_struct_msg.MsgBuf[msgType] = 0;
return SUCCESS;
}
else
{
return ERROR;
}
}
/*******************************************************************************
* @fun_name: FrameGetByte
* @brief : 获取系统当前状态字
* @param[in] : None
* @param[out]: u16
* @retval : None
* @other :
******************************************************************************/
MET_STATE FrameGetByte(void)
{
static MET_STATE s_met_state; //状态字
u8 tmp_stat = 0;
tmp_stat = Gp30CheckErrDataApp();
if (0x01 == (tmp_stat & 0x01))
{
s_met_state.stat0bits.flow_err = 1; //当前流量>Q4或者<Q1
s_met_state.stat3bits.flow_err = 1; //当前流量>Q4或者<Q1
}
else
{
s_met_state.stat0bits.flow_err = 0;
s_met_state.stat3bits.flow_err = 0;
}
if (0x02 == (tmp_stat & 0x02))
{
s_met_state.stat0bits.water_overheating = 1; //水温超出温度等级范围
s_met_state.stat3bits.water_overheating = 1; //水温超出温度等级范围
}
else
{
s_met_state.stat0bits.water_overheating = 0;
s_met_state.stat3bits.water_overheating = 0; //水温超出温度等级范围
}
if (0x04 == (tmp_stat & 0x04))
{
s_met_state.stat1bits.reverse = 1; //倒转
}
else
{
s_met_state.stat1bits.reverse = 0;
}
if (0x08 == (tmp_stat & 0x08))
{
s_met_state.stat1bits.none_water = 1; //管道无水
}
else
{
s_met_state.stat1bits.none_water = 0;
}
if (0x20 == (tmp_stat & 0x20))
{
s_met_state.stat1bits.low_flow_rate = 1; //超低流量报警
}
else
{
s_met_state.stat1bits.low_flow_rate = 0;
}
if (0x40 == (tmp_stat & 0x40))
{
s_met_state.stat0bits.transducer_aging = 1; //换能器老化
s_met_state.stat3bits.transducer_aging = 1; //换能器老化
}
else
{
s_met_state.stat0bits.transducer_aging = 0;
s_met_state.stat3bits.transducer_aging = 0;
}
if (0x80 == (tmp_stat & 0x80))
{
s_met_state.stat0bits.gp22_commun_fail = 1; //GP22通信失败
s_met_state.stat3bits.gp22_commun_fail = 1; //GP22通信失败
}
else
{
s_met_state.stat0bits.gp22_commun_fail = 0;
s_met_state.stat3bits.gp22_commun_fail = 0;
}
if (TRUE == CheckTransducerErrorMsg())
{
s_met_state.stat1bits.transducer_check_abnormal = 1; //换能器冻坏
}
else
{
s_met_state.stat1bits.transducer_check_abnormal = 0;
}
if (0x10 == (tmp_stat&0x10))//GPXX异常
{
s_met_state.stat0bits.nbsend_err = 1;
s_met_state.stat3bits.nbsend_err = 1;
}
else
{
s_met_state.stat0bits.nbsend_err = 0;
s_met_state.stat3bits.nbsend_err = 0;
}
if (10 == PowerCheckStatusSys())//电池欠压
{
s_met_state.stat1bits.low_battery_voltage = 1;
}
else
{
s_met_state.stat1bits.low_battery_voltage = 0;
}
//阀控
s_met_state.stat1bits.valve_state = 0;
#if defined(VALVE)
tmp_stat = ValveGetState();
if((VALVE_STATE_CLOSE == tmp_stat)||(VALVE_STATE_CLOSE_EMERGENCY == tmp_stat)||(VALVE_STATE_CLOSE_LOCK == tmp_stat))//关
{
s_met_state.stat1bits.valve_state = 1;
}
else if((VALVE_STATE_OPEN == tmp_stat)||(VALVE_STATE_OPEN_EMERGENCY == tmp_stat))//开
{
s_met_state.stat1bits.valve_state = 0;
}
if(Sys_data_object.P1.ies_valve_paras.valve_err)
{
s_met_state.stat1bits.valve_state = 3;
}
#endif
if (1 == RtccIsError())//RTCC设置时间异常
{
s_met_state.stat0bits.rtcc_time_err = 1;
s_met_state.stat3bits.rtcc_time_err = 1;
}
else
{
s_met_state.stat0bits.rtcc_time_err = 0;
s_met_state.stat3bits.rtcc_time_err = 0;
}
if(TRUE == CheckDiftofCalibrationFlag())
{
s_met_state.stat1bits.diftof_calibration_switch=1;
}
else
{
s_met_state.stat1bits.diftof_calibration_switch=0;
}
s_met_state.stat3bits.met_type =1;//表计类型超声波水表
s_met_state.stat2bits.met_type =1;//表计类型超声波水表
s_met_state.stat2 |= getUploadControlPara(UP_BAT_STATE);//剩余电池电量
s_met_state.stat4 = (u8)(PowerCheckValueSys()/2);
return s_met_state;
}
/*******************************************************************************
* @fun_name: ReadCofficientApp
* @brief : 读取多项式的流量系数
* @param[in] :void
* @param[out]: None
* @retval : None
* @other :
******************************************************************************/
TYP_FLOW_COEFFICIENT* ReadCofficientApp(void)
{
return cal_coefficient;
}
/*******************************************************************************
* @fun_name: ReadCofficientApp
* @brief : 读取流量系数首地址
* @param[in] :void
* @param[out]: None
* @retval : None
* @other :
******************************************************************************/
UNION_4U8TOU32* Read_Flow_CofficientApp(void)
{
return cal_flow_coefficient;
}
/*******************************************************************************
* @fun_name: ReadCofficientApp
* @brief : 2020-08-13 用于lcd获取常温下的流量系数
* @param[in] :void
* @param[out]: None
* @retval : None
* @other :
******************************************************************************/
u32 Read_Flow_CofficientApp_For_LCD(u8 index)
{
return cal_flow_coefficient[index].datas;
}
/*******************************************************************************
* @fun_name: Get_Temperature_Caliberate
* @brief : 获取校准温度值
* @param : 用于温度反算校准时接收水台子传递过来的温度值进行单程时间校准用
******************************************************************************/
float Get_Temperature_Caliberate(void)
{
return temperature_caliberate;
}
/*******************************************************************************
* @fun_name: SetCaliberateTemperature()
* @brief : 更新校准温度值
* @param : 用于温度反算校准时接收水台子传递过来的温度值进行单程时间校准用
******************************************************************************/
void SetCaliberateTemperature(u16 temp_value)
{
temperature_caliberate = temp_value/(float)10;
}
/*************************************************
Function: void UWMetPtlExpApp(void)
Description: 解规约
Input:
Return:
Others:
*************************************************/
#if PRODUCT_SHTCP
#define crack_frame_OtherPtl crack_frame_SHTCP
#define up_deal_code_Other up_deal_code_sh
#define frame_creat_ack_other Frame_CreatCs_AckSH
#define frame_reset_deal_state Frame_ResetDealState_SH
#elif PRODUCT_SY
#define crack_frame_OtherPtl crack_frame_SY
#define up_deal_code_Other up_deal_code_sy
#define frame_creat_ack_other Sy_Frame_nb_read_ack
#define frame_reset_deal_state Frame_ResetDealState_Shenyang
#elif PRODUCT_SS
#define crack_frame_OtherPtl crack_frame_ShenShui
#define up_deal_code_Other up_deal_code_ShenShui
#define frame_creat_ack_other Frame_ack_ShenShui
#define frame_reset_deal_state Frame_ResetDealState_ShenShui
#elif PRODUCT_JS
#define crack_frame_OtherPtl crack_frame_JiangShui
#define up_deal_code_Other up_deal_code_JiangShui
#define frame_creat_ack_other Frame_ack_JiangShui
#define frame_reset_deal_state Frame_ResetDealState_JiangShui
#elif PRODUCT_WHYW
#define crack_frame_OtherPtl crack_frame_WHYW
#define up_deal_code_Other up_deal_code_WHYW
#define frame_creat_ack_other Frame_ack_WHYW
#define frame_reset_deal_state Frame_ResetDealState_WHYW
#elif PRODUCT_GS
#define crack_frame_OtherPtl crack_frame_GuangShui
#define up_deal_code_Other up_deal_code_GuangShui
#define frame_creat_ack_other Frame_ack_GuangShui
#define frame_reset_deal_state Frame_ResetDealState_GuangShui
#elif PRODUCT_BLE_SS
#define crack_frame_OtherPtl crack_frame_BLE
#define up_deal_code_Other up_deal_code_ble
#define frame_creat_ack_other Frame_ack_BLE
#define frame_reset_deal_state Frame_ResetDealState_BLE
#endif
u8 UWMetPtlExpApp(void)
{
if(SUCCESS_IES == crack_frame_MBUS(up_data_len,up_data_point))
{
return MBUS_PTL;
}
if(SUCCESS_IES == crack_frame_IES(up_data_len,up_data_point))
{
return IES_PTL;
}
if(SUCCESS_IES == crack_frame_OtherPtl(up_data_len,up_data_point))
{
return OTHER_PTL;
}
return ERROR_IES;
}
///////////////////////////////////////////////////////////////////////////////////////////
#if (MODULE_BLE_USED)
#else
//NB接收缓冲区队列初始化
void NbiotRevQueueInit(void)
{
Nbiot_rev_queue.total_count = 0;
Nbiot_rev_queue.handled_count = 0;
}
/***************************************************************************
* @fun_name void PushNbiotQueueData(u8 position)
* @brief NBIOT数据入列
* @param[out] num: 入列位置
***************************************************************************/
void PushNbiotQueueData(u8 position)
{
static u8 *rev_data;
static u16 data_len;
if(NbiotRcvFinish())
{
int i = 0;
NbiotRcv(&data_len,&rev_data); //GetNbUartRcvData(&rev_data,&data_len,&data_format,&rev_type);
if(data_len>128)
{
data_len=128;
}
for (i = 0; i < data_len; i++)
{
Nbiot_rev_queue.queue[position].buffer[i] = rev_data[i];
}
Nbiot_rev_queue.queue[position].length = data_len;
Nbiot_rev_queue.queue[position].type = GetRcvDataType();
}
}
/***************************************************************************
* @fun_name void NbiotRcvQueueDealApp (void)
* @brief NBIOT数据自动入列
* @param[out]
***************************************************************************/
void NbiotRcvQueueDealApp (void)
{
if(Nbiot_rev_queue.total_count >= QUEUE_BUF_SIZE)
{
Nbiot_rev_queue.total_count = 0;
}
if(TRUE == NbiotRcvFinish()) //NB收到数据
{
PushNbiotQueueData(Nbiot_rev_queue.total_count);
Nbiot_rev_queue.total_count++;
Nbiot_rev_queue.total_count %= QUEUE_BUF_SIZE;
NbiotClearMsg();
}
}
/************************************************************************************
* @fun_name void PopNbiotQueueData(u8 position, u16 *len, u8 **data,u8 *rev_type)
* @brief NBIOT数据出列
* @param[out] position: 出列位置
*len出列数据长度
**data出列数据缓冲区指针
rev_type: 出列数据的接收方式 COAP||UDP||UDP
***********************************************************************************/
void PopNbiotQueueData(u8 position, u16 *len, u8 **data,u8 *rev_type)
{
if(position >= QUEUE_BUF_SIZE)
{
position = 0;
}
*len = Nbiot_rev_queue.queue[position].length;
*data = Nbiot_rev_queue.queue[position].buffer;
*rev_type = Nbiot_rev_queue.queue[position].type;
}
#endif
u8 GetNbiotRevHandleOverFlag(void)
{
return flag_Nbiot_rev_queue_handle_over;
}
//上行数据处理状态机是否空闲
u8 WaterMetPtlPackAppIfIdle(void)
{
if(UW_MET_PTL_IDLE == uw_met_ptl_pack_stat)
{
return TASK_IDLE;
}
else
{
return TASK_BUSY;
}
}
//上行数据处理状态机
void UWMetPtlPackApp(void)
{
static u8 rcv_msg_flag;
switch(uw_met_ptl_pack_stat)
{
case(UW_MET_PTL_IDLE):
{
rcv_msg_flag = FALSE;
flag_Nbiot_rev_queue_handle_over = TRUE;
if(TRUE == UartRcvFinish(IR_UART_COM)) //红外收到数据
{
UartRcv(IR_UART_COM, &up_data_len, &up_data_point);
/*s_frame_rcv_length = s_frame_rcv_length_temp;
for(i = 0; i < s_frame_rcv_length; i++)
{
s_frame_rcv_arr[i] = *(s_temp_buf + i);
} */
/*if(TRUE == at_pass_through_flag) //是否透传AT指令
{
NbiotUartSend(up_data_point, up_data_len, cst_AT_No_AT);
RcvIrRightData();
}*/
s_data_sourse = UP_SOURCE_IR;
UartClearMsg(IR_UART_COM);
rcv_msg_flag = TRUE;
}
#if (MODULE_BLE_USED)
else if(TRUE == UartRcvFinish(BLE_UART_COM)) //BLE收到数据
{
BleGetUartRcvData(&up_data_point, &up_data_len);//UartRcv(BLE_UART_COM, &up_data_len, &up_data_point);
s_data_sourse = UP_SOURCE_BLE;
UartClearMsg(BLE_UART_COM);
rcv_msg_flag = TRUE;
}
#else
else if(Nbiot_rev_queue.handled_count != Nbiot_rev_queue.total_count)
{
if( (ConncetIfOnline(NBIOT_CONNECT_COAP)==TRUE)||
(ConncetIfOnline(NBIOT_CONNECT_UDP1)==TRUE)||
(ConncetIfOnline(NBIOT_CONNECT_UDP2)==TRUE)) //只有NB在线时才处理NB相关数据防止附网未连接IOT平台插件模式时即收到数据马上处理通信失败
{
PopNbiotQueueData(Nbiot_rev_queue.handled_count,&up_data_len,&up_data_point,&up_data_type);
s_data_sourse = UP_SOURCE_NB;
Nbiot_rev_queue.handled_count++;
if(Nbiot_rev_queue.handled_count >= QUEUE_BUF_SIZE)
{
Nbiot_rev_queue.handled_count = 0;
}
if(NB_RCV_UDP1_DATA == up_data_type)//收到UDP1数据进行应答
{
nb_send_type = SEND_TYPE_UDP1;
}
else if(NB_RCV_UDP2_DATA == up_data_type)//收到UDP1数据进行应答
{
nb_send_type = SEND_TYPE_UDP2;
}
else
{
nb_send_type = SEND_TYPE_COAP; //coap应答
}
rcv_msg_flag = TRUE;
flag_Nbiot_rev_queue_handle_over = FALSE;
}
}
#endif
if(TRUE == rcv_msg_flag)
{
switch(UWMetPtlExpApp())
{
case(IES_PTL):
{
uw_met_ptl_pack_stat = UW_MET_IES_PTL_PACK_S1;
Frame_ResetDealState_Ies();
}
break;
case(MBUS_PTL):
{
uw_met_ptl_pack_stat = UW_MET_MBUS_PTL_PACK_S1;
Frame_ResetDealState_Mbus();
}
break;
case(OTHER_PTL)://其他规约
{
uw_met_ptl_pack_stat = UW_MET_OTHER_PTL_PACK_S1;
frame_reset_deal_state();
}
break;
default:
break;
}
Set100msTimer(TIMER_100MS_UP_DEAL, 600); //超时时间60秒
}
}
break;
///////////////////积成规约,组应答帧
case(UW_MET_IES_PTL_PACK_S1):
{
task_complete_flag = up_deal_code_ies();
if(PTL_PACK_SUCCESS == task_complete_flag) //加密应答
{
Frame_ack_IES(s_frame_send_buf, &s_frame_send_length);
Set100msTimer(TIMER_100MS_UP_DEAL, 50); //5S
uw_met_ptl_pack_stat = UW_MET_PTL_PACK_S2;
}
else if((PTL_PACK_FAIL == task_complete_flag)||(0 == Check100msTimer(TIMER_100MS_UP_DEAL)))//组帧错误或超时
{
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
}
break;
///////////////////MBUS规约,组应答帧
case(UW_MET_MBUS_PTL_PACK_S1):
{
task_complete_flag = up_deal_code_mbus();
if(PTL_PACK_SUCCESS == task_complete_flag)
{
Frame_CreatCrcCs_Ack(s_frame_send_buf, &s_frame_send_length);
Set100msTimer(TIMER_100MS_UP_DEAL, 50); //5S
uw_met_ptl_pack_stat = UW_MET_PTL_PACK_S2;
}
else if((PTL_PACK_FAIL == task_complete_flag)||(0 == Check100msTimer(TIMER_100MS_UP_DEAL)))//组帧错误或超时
{
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
}
break;
///////////////////其他规约,组应答帧
case(UW_MET_OTHER_PTL_PACK_S1):
{
task_complete_flag = up_deal_code_Other();
if(PTL_PACK_SUCCESS == task_complete_flag)
{
frame_creat_ack_other(s_frame_send_buf, &s_frame_send_length);
Set100msTimer(TIMER_100MS_UP_DEAL, 50); //5S
uw_met_ptl_pack_stat = UW_MET_PTL_PACK_S2;
}
else if((PTL_PACK_FAIL == task_complete_flag)||(0 == Check100msTimer(TIMER_100MS_UP_DEAL)))//组帧错误或超时
{
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
}
break;
////////////////////根据通道发送数据
case(UW_MET_PTL_PACK_S2):
{
switch(s_data_sourse)
{
#if (MODULE_BLE_USED)
case(UP_SOURCE_BLE): //数据来源为BLE
{
if(TASK_IDLE == UartIfIdle(BLE_UART_COM))
{
UartSend(BLE_UART_COM,s_frame_send_length,s_frame_send_buf,&s_frame_send_complete_flg);
Set100msTimer(TIMER_100MS_UP_DEAL,50);
uw_met_ptl_pack_stat = UW_MET_PTL_PACK_S3;
}
else if(0 == Check100msTimer(TIMER_100MS_UP_DEAL))
{
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
}
break;
#else
case(UP_SOURCE_NB): //数据来源为NB
{
if(TASK_IDLE == NbiotIfIdle())
{
NbiotSendTask(s_frame_send_buf, s_frame_send_length, nb_send_type, &s_frame_send_complete_flg);
Set100msTimer(TIMER_100MS_UP_DEAL,50);
uw_met_ptl_pack_stat = UW_MET_PTL_PACK_S3;
}
else if(0 == Check100msTimer(TIMER_100MS_UP_DEAL))//组帧错误或超时
{
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
}
break;
#endif
case(UP_SOURCE_IR): //数据来源为IR
{
if(TASK_IDLE == UartIfIdle(IR_UART_COM))
{
Set100msTimer(TIMER_100MS_UP_DEAL,50);
UartSend(IR_UART_COM,s_frame_send_length,s_frame_send_buf,&s_frame_send_complete_flg);
uw_met_ptl_pack_stat = UW_MET_PTL_PACK_S3;
}
}
break;
default:
{
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
break;
}
if(0 == Check100msTimer(TIMER_100MS_UP_DEAL))
{
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
}
break;
//////////////等待数据发送完成
case(UW_MET_PTL_PACK_S3):
{
u8 send_finish = FALSE;
switch(s_data_sourse)
{
#if (MODULE_BLE_USED)
case(UP_SOURCE_BLE): //数据来源为BLE
{
if(TASK_IDLE == UartIfIdle(BLE_UART_COM))
{
send_finish = TRUE;
}
}
break;
#else
case(UP_SOURCE_NB): //数据来源为NB
{
if(TASK_IDLE == NbiotIfIdle())
{
send_finish = TRUE;
}
}
break;
#endif
case(UP_SOURCE_IR): //数据来源为IR
{
if(TASK_IDLE == UartIfIdle(IR_UART_COM))
{
send_finish = TRUE;
}
}
break;
default:
{
send_finish = TRUE;
}
break;
}
if (send_finish)
{
send_finish = FALSE;
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
else if (0 == Check100msTimer(TIMER_100MS_UP_DEAL))
{
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
}
break;
default:
{
uw_met_ptl_pack_stat = UW_MET_PTL_IDLE;
}
break;
}
}
u8 frame_get_datasource(void)
{
return s_data_sourse;
}
/*******************************************************************************
* @fun_name: FrameMachineApp
* @brief : 规约处理机
******************************************************************************/
void FrameMachineApp(void)
{
#if (MODULE_BLE_USED)
#else
NbiotRcvQueueDealApp();
#endif
UWMetPtlPackApp();
}
/*******************************************************************************
* @fun_name: FrameIfSleepApp
* @brief : 查询模块是否允许进入休眠
******************************************************************************/
u8 FrameIfSleepApp(void)
{
if(UW_MET_PTL_IDLE == uw_met_ptl_pack_stat)
{
return TRUE;
}
else
{
return FALSE;
}
}
#ifdef __cplusplus
}
#endif