Loading…
Loading…
方法名称: trapezoidal_throated_flume_method_lin_table_generation
方法ID: 0x4463
方法标签: Generate Linearization Table
方法描述: Generate linearization table with 32 input and 32 output points.
- {
- float ttapproachbasewidthconverted;
- float ttthroatbasewidthconverted;
- float ttthroatheightconverted;
- float ttthroatlengthconverted;
- float tt_numericcalc;
- float ttareaapprochchannel;
- float ttdischargecalc;
- float shapecoefficientcalculation;
- float ttvelocitycoefficientcalculation;
- float headconvertedtrapezoidalthroat;
- float flowratecalculated;
- int i;
- double Factor;
- char disp_string1[135];
- int slen1;
- slen1 = 135;
- _set_device_status(0xFF,0);
- _set_xmtr_device_status(0xFF,0);
- _set_all_resp_code(0);
- _set_xmtr_all_resp_code(0);
- _get_dictionary_string(19726337,disp_string1,slen1);
- ACKNOWLEDGE(disp_string1);
- _add_abort_method(4118);
- ACKNOWLEDGE(literal_string(1546));
- PUT_MESSAGE(literal_string(1547));
- activateLineariser = 0;
- send_command(213);
- index_linpoints = 0;
- lin_input_0 = 0.0;
- lin_output_0 = 0.0;
- send_command(211);
- index_linpoints = 31;
- lin_input_31 = span_Obj_value_0;
- lin_output_31 = 100.00;
- send_command(211);
- for (i = 1; i < 31; i = i + 1)
- {
- index_linpoints = i;
- Factor = i * 1.0 / 31.0;
- array_linpoints[i].inputpoint = span_Obj_value_0 * Factor;
- if (Distance_Obj_unit == 44)
- {
- headconvertedtrapezoidalthroat = array_linpoints[i].inputpoint * 0.3048;
- ttapproachbasewidthconverted = tt_base_width * 0.3048;
- ttthroatbasewidthconverted = tt_base_width_throat * 0.3048;
- ttthroatheightconverted = tt_throat_height * 0.3048;
- ttthroatlengthconverted = tt_throat_length * 0.3048;
- }
- else
- if (Distance_Obj_unit == 45)
- {
- headconvertedtrapezoidalthroat = array_linpoints[i].inputpoint * 1;
- ttapproachbasewidthconverted = tt_base_width * 1;
- ttthroatbasewidthconverted = tt_base_width_throat * 1;
- ttthroatheightconverted = tt_throat_height * 1;
- ttthroatlengthconverted = tt_throat_length * 1;
- }
- else
- if (Distance_Obj_unit == 47)
- {
- headconvertedtrapezoidalthroat = array_linpoints[i].inputpoint * 0.0254;
- ttapproachbasewidthconverted = tt_base_width * 0.0254;
- ttthroatbasewidthconverted = tt_base_width_throat * 0.0254;
- ttthroatheightconverted = tt_throat_height * 0.0254;
- ttthroatlengthconverted = tt_throat_length * 0.0254;
- }
- else
- if (Distance_Obj_unit == 48)
- {
- headconvertedtrapezoidalthroat = array_linpoints[i].inputpoint * 0.01;
- ttapproachbasewidthconverted = tt_base_width * 0.01;
- ttthroatbasewidthconverted = tt_base_width_throat * 0.01;
- ttthroatheightconverted = tt_throat_height * 0.01;
- ttthroatlengthconverted = tt_throat_length * 0.01;
- }
- else
- if (Distance_Obj_unit == 49)
- {
- headconvertedtrapezoidalthroat = array_linpoints[i].inputpoint * 0.001;
- ttapproachbasewidthconverted = tt_base_width * 0.001;
- ttthroatbasewidthconverted = tt_base_width_throat * 0.001;
- ttthroatheightconverted = tt_throat_height * 0.001;
- ttthroatlengthconverted = tt_throat_length * 0.001;
- }
- ttareaapprochchannel = (headconvertedtrapezoidalthroat + ttthroatheightconverted) * (ttapproachbasewidthconverted + tt_sideslope * (headconvertedtrapezoidalthroat + ttthroatheightconverted));
- tt_numericcalc = 1 + tt_sideslope * tt_sideslope;
- tt_numericalcoefficient = sqrt(tt_numericcalc) - tt_sideslope;
- shapecoefficientcalculation = tt_sideslope * headconvertedtrapezoidalthroat / ttthroatbasewidthconverted;
- ttdischargecalc = 1 - 0.003 * ttthroatlengthconverted / headconvertedtrapezoidalthroat;
- tt_dischargecoefficient = (1 - 0.006 * tt_numericalcoefficient * ttthroatlengthconverted / ttthroatbasewidthconverted) * pow(ttdischargecalc,1.5);
- if (shapecoefficientcalculation < 0.02)
- {
- tt_shapecoefficient = 1.02;
- ttvelocitycoefficientcalculation = tt_shapecoefficient * ttthroatbasewidthconverted * headconvertedtrapezoidalthroat / ttareaapprochchannel;
- if (ttvelocitycoefficientcalculation < 0.04)
- {
- flowratecalculated = 1.704599 * 1.000 * 1.02 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.04 && ttvelocitycoefficientcalculation < 0.2)
- {
- flowratecalculated = 1.704599 * 1.006 * 1.02 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.2 && ttvelocitycoefficientcalculation < 0.46)
- {
- flowratecalculated = 1.704599 * 1.04 * 1.02 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.46 && ttvelocitycoefficientcalculation < 0.56)
- {
- flowratecalculated = 1.704599 * 1.062 * 1.02 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.56 && ttvelocitycoefficientcalculation < 0.66)
- {
- flowratecalculated = 1.704599 * 1.098 * 1.02 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.66 && ttvelocitycoefficientcalculation < 0.76)
- {
- flowratecalculated = 1.704599 * 1.146 * 1.02 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.76 && ttvelocitycoefficientcalculation <= 0.833)
- {
- flowratecalculated = 1.704599 * 1.25 * 1.02 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- }
- else
- if (shapecoefficientcalculation >= 0.02 && shapecoefficientcalculation < 0.50)
- {
- tt_shapecoefficient = 1.30;
- ttvelocitycoefficientcalculation = tt_shapecoefficient * ttthroatbasewidthconverted * headconvertedtrapezoidalthroat / ttareaapprochchannel;
- if (ttvelocitycoefficientcalculation < 0.04)
- {
- flowratecalculated = 1.704599 * 1.000 * 1.30 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.04 && ttvelocitycoefficientcalculation < 0.2)
- {
- flowratecalculated = 1.704599 * 1.006 * 1.30 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.2 && ttvelocitycoefficientcalculation < 0.46)
- {
- flowratecalculated = 1.704599 * 1.04 * 1.30 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.46 && ttvelocitycoefficientcalculation < 0.56)
- {
- flowratecalculated = 1.704599 * 1.062 * 1.30 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.56 && ttvelocitycoefficientcalculation < 0.66)
- {
- flowratecalculated = 1.704599 * 1.098 * 1.30 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.66 && ttvelocitycoefficientcalculation < 0.76)
- {
- flowratecalculated = 1.704599 * 1.146 * 1.30 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
- else
- if (ttvelocitycoefficientcalculation >= 0.76 && ttvelocitycoefficientcalculation <= 0.833)
- {
- flowratecalculated = 1.704599 * 1.25 * 1.30 * tt_dischargecoefficient * ttthroatbasewidthconverted * pow(headconvertedtrapezoidalthroat,1.5);
- }
请登录以获得完整内容