Uni.FlowMeter nominal frequency is a parameter, ver. 3.1.1840
This commit is contained in:
@@ -21,7 +21,8 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
readonly FlowMeterCfg flowMeterCfg;
|
||||
public int Idx1 { get { return (flowMeterCfg != null) ? flowMeterCfg.Idx1 : 0; } }
|
||||
public double NominalFlow { get { return (flowMeterCfg != null) ? flowMeterCfg.NominalFlow : 0; } }
|
||||
public double LtrPerPulse { get { return (flowMeterCfg != null) ? flowMeterCfg.NominalFlow / 7200.0 : 0; } } /// Nominal frequency is 2000 Hz
|
||||
public double NominalFreq { get { return (flowMeterCfg != null) ? flowMeterCfg.NominalFreq : 2000; } }
|
||||
public double LtrPerPulse { get { return (flowMeterCfg != null) ? flowMeterCfg.NominalFlow / (3.6 * NominalFreq) : 0; } }
|
||||
public bool RangeEnabled(int ix) { return flowMeterCfg.RangeEnabled(ix); }
|
||||
public double GetTempLo(int ix) { return flowMeterCfg.GetTempLo(ix); }
|
||||
public double GetTempHi(int ix) { return flowMeterCfg.GetTempHi(ix); }
|
||||
@@ -55,10 +56,10 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public double MeasuredVal { get { return NominalFlow * ReadFrequency() / 2000.0; } }
|
||||
public double MeasuredVal { get { return NominalFlow * ReadFrequency() / NominalFreq; } }
|
||||
public string AltString { get { return string.Format("Calibration expires on {0:dd.MM.yyyy}", flowMeterCfg.CalibValidDate); } }
|
||||
///
|
||||
public double ReadFlow() { return NominalFlow * ReadFrequency() / 2000.0; }
|
||||
public double ReadFlow() { return NominalFlow * ReadFrequency() / NominalFreq; }
|
||||
///
|
||||
public double ReadFrequency()
|
||||
{
|
||||
|
||||
@@ -30,40 +30,41 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
///
|
||||
public int Idx1; /// 0 /// 1..7, (DEWA300 : I1+I2=48, I1+I3=80, I2_I3=96, I1+I2+I3=112)
|
||||
public double NominalFlow; /// 1 /// Nominal flow in m3/h at nominal output frequency (typ. 2000 Hz)
|
||||
public string MsrdFormat { get; set; } /// 2
|
||||
public Unit MsrdUnit { get; set; } /// 3
|
||||
public Unit TempUnit; /// 4
|
||||
public Unit PressureUnit; /// 5
|
||||
public double NominalFreq; /// 2 /// Nominal flow in m3/h at nominal output frequency (typ. 2000 Hz)
|
||||
public string MsrdFormat { get; set; } /// 3
|
||||
public Unit MsrdUnit { get; set; } /// 4
|
||||
public Unit TempUnit; /// 5
|
||||
public Unit PressureUnit; /// 6
|
||||
|
||||
public bool Range1Enabled; /// 6
|
||||
public double Temp1Lo; /// 7
|
||||
public double Temp1Hi; /// 8
|
||||
public double Press1Lo; /// 9
|
||||
public double Press1Hi; /// 10
|
||||
public bool Range1Enabled; /// 7
|
||||
public double Temp1Lo; /// 8
|
||||
public double Temp1Hi; /// 9
|
||||
public double Press1Lo; /// 10
|
||||
public double Press1Hi; /// 11
|
||||
|
||||
public bool Range2Enabled; /// 11
|
||||
public double Temp2Lo; /// 12
|
||||
public double Temp2Hi; /// 13
|
||||
public double Press2Lo; /// 14
|
||||
public double Press2Hi; /// 15
|
||||
public bool Range2Enabled; /// 12
|
||||
public double Temp2Lo; /// 13
|
||||
public double Temp2Hi; /// 14
|
||||
public double Press2Lo; /// 15
|
||||
public double Press2Hi; /// 16
|
||||
|
||||
public bool Range3Enabled; /// 16
|
||||
public double Temp3Lo; /// 17
|
||||
public double Temp3Hi; /// 18
|
||||
public double Press3Lo; /// 19
|
||||
public double Press3Hi; /// 20
|
||||
public bool Range3Enabled; /// 17
|
||||
public double Temp3Lo; /// 18
|
||||
public double Temp3Hi; /// 19
|
||||
public double Press3Lo; /// 20
|
||||
public double Press3Hi; /// 21
|
||||
|
||||
public bool Range4Enabled; /// 21
|
||||
public double Temp4Lo; /// 22
|
||||
public double Temp4Hi; /// 23
|
||||
public double Press4Lo; /// 24
|
||||
public double Press4Hi; /// 25
|
||||
public bool Range4Enabled; /// 22
|
||||
public double Temp4Lo; /// 23
|
||||
public double Temp4Hi; /// 24
|
||||
public double Press4Lo; /// 25
|
||||
public double Press4Hi; /// 26
|
||||
|
||||
public bool Range5Enabled; /// 26
|
||||
public double Temp5Lo; /// 27
|
||||
public double Temp5Hi; /// 28
|
||||
public double Press5Lo; /// 29
|
||||
public double Press5Hi; /// 30
|
||||
public bool Range5Enabled; /// 27
|
||||
public double Temp5Lo; /// 28
|
||||
public double Temp5Hi; /// 29
|
||||
public double Press5Lo; /// 30
|
||||
public double Press5Hi; /// 31
|
||||
|
||||
/// Calibration info serialized parameters displayed in Metrology tab page
|
||||
public string CalibCertificateNr;
|
||||
@@ -289,6 +290,7 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
{
|
||||
Idx1 = 1;
|
||||
NominalFlow = 1;
|
||||
NominalFreq = 2000;
|
||||
|
||||
MsrdFormat = "{0:F3} m2/h";
|
||||
MsrdUnit = Unit.m3ph;
|
||||
@@ -331,20 +333,21 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
string[] paramNames = new string[]
|
||||
{
|
||||
"Identification number (1 .. 7)", /// 0
|
||||
"Nominal flow at 2000Hz [m3/h]", /// 1
|
||||
"Nominal flow [m3/h]", /// 1
|
||||
"Nominal frequency [Hz]", /// 2
|
||||
|
||||
"Display format", /// 2
|
||||
"Unit of flow on a display", /// 3
|
||||
"Unit of temperature", /// 4
|
||||
"Unit of pressure", /// 5
|
||||
"Display format", /// 3
|
||||
"Unit of flow on a display", /// 4
|
||||
"Unit of temperature", /// 5
|
||||
"Unit of pressure", /// 6
|
||||
|
||||
"Range 1 enabled", /// 6
|
||||
"Range 1 : Temperature Lo", /// 7
|
||||
"Range 1 : Temperature Hi", /// 8
|
||||
"Range 1 : Pressure Lo", /// 9
|
||||
"Range 1 : Pressure Hi", /// 10
|
||||
"Range 1 enabled", /// 7
|
||||
"Range 1 : Temperature Lo", /// 8
|
||||
"Range 1 : Temperature Hi", /// 9
|
||||
"Range 1 : Pressure Lo", /// 10
|
||||
"Range 1 : Pressure Hi", /// 11
|
||||
|
||||
"Range 2 enabled", /// 11
|
||||
"Range 2 enabled", /// 12
|
||||
"Range 2 : Temperature Lo",
|
||||
"Range 2 : Temperature Hi",
|
||||
"Range 2 : Pressure Lo",
|
||||
@@ -377,17 +380,17 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
{
|
||||
case 0:
|
||||
return new string[] { "1", "2", "3", "4", "5", "6", "7" };
|
||||
case 3:
|
||||
return new string[] { "m3/h", "l/h" };
|
||||
case 4:
|
||||
return new string[] { "°C", "°F", "K" };
|
||||
return new string[] { "m3/h", "l/h" };
|
||||
case 5:
|
||||
return new string[] { "Pa", "hPa", "mbar", "kPa", "inHg", "psi", "bar", "MPa" };
|
||||
return new string[] { "°C", "°F", "K" };
|
||||
case 6:
|
||||
case 11:
|
||||
case 16:
|
||||
case 21:
|
||||
case 26:
|
||||
return new string[] { "Pa", "hPa", "mbar", "kPa", "inHg", "psi", "bar", "MPa" };
|
||||
case 7:
|
||||
case 12:
|
||||
case 17:
|
||||
case 22:
|
||||
case 27:
|
||||
return new string[] { Strings.yes, Strings.no };
|
||||
default:
|
||||
return null;
|
||||
@@ -400,40 +403,41 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
{
|
||||
case 0: return Idx1.ToString();
|
||||
case 1: return NominalFlow.ToString();
|
||||
case 2: return MsrdFormat;
|
||||
case 3: return MsrdUnit.ToDescription();
|
||||
case 4: return TempUnit.ToDescription();
|
||||
case 5: return PressureUnit.ToDescription();
|
||||
case 2: return NominalFreq.ToString();
|
||||
case 3: return MsrdFormat;
|
||||
case 4: return MsrdUnit.ToDescription();
|
||||
case 5: return TempUnit.ToDescription();
|
||||
case 6: return PressureUnit.ToDescription();
|
||||
|
||||
case 6: return Range1Enabled ? Strings.yes : Strings.no;
|
||||
case 7: return Temp1Lo.ToString();
|
||||
case 8: return Temp1Hi.ToString();
|
||||
case 9: return Press1Lo.ToString();
|
||||
case 10: return Press1Hi.ToString();
|
||||
case 7: return Range1Enabled ? Strings.yes : Strings.no;
|
||||
case 8: return Temp1Lo.ToString();
|
||||
case 9: return Temp1Hi.ToString();
|
||||
case 10: return Press1Lo.ToString();
|
||||
case 11: return Press1Hi.ToString();
|
||||
|
||||
case 11: return Range2Enabled ? Strings.yes : Strings.no;
|
||||
case 12: return Temp2Lo.ToString();
|
||||
case 13: return Temp2Hi.ToString();
|
||||
case 14: return Press2Lo.ToString();
|
||||
case 15: return Press2Hi.ToString();
|
||||
case 12: return Range2Enabled ? Strings.yes : Strings.no;
|
||||
case 13: return Temp2Lo.ToString();
|
||||
case 14: return Temp2Hi.ToString();
|
||||
case 15: return Press2Lo.ToString();
|
||||
case 16: return Press2Hi.ToString();
|
||||
|
||||
case 16: return Range3Enabled ? Strings.yes : Strings.no;
|
||||
case 17: return Temp3Lo.ToString();
|
||||
case 18: return Temp3Hi.ToString();
|
||||
case 19: return Press3Lo.ToString();
|
||||
case 20: return Press3Hi.ToString();
|
||||
case 17: return Range3Enabled ? Strings.yes : Strings.no;
|
||||
case 18: return Temp3Lo.ToString();
|
||||
case 19: return Temp3Hi.ToString();
|
||||
case 20: return Press3Lo.ToString();
|
||||
case 21: return Press3Hi.ToString();
|
||||
|
||||
case 21: return Range4Enabled ? Strings.yes : Strings.no;
|
||||
case 22: return Temp4Lo.ToString();
|
||||
case 23: return Temp4Hi.ToString();
|
||||
case 24: return Press4Lo.ToString();
|
||||
case 25: return Press4Hi.ToString();
|
||||
case 22: return Range4Enabled ? Strings.yes : Strings.no;
|
||||
case 23: return Temp4Lo.ToString();
|
||||
case 24: return Temp4Hi.ToString();
|
||||
case 25: return Press4Lo.ToString();
|
||||
case 26: return Press4Hi.ToString();
|
||||
|
||||
case 26: return Range5Enabled ? Strings.yes : Strings.no;
|
||||
case 27: return Temp5Lo.ToString();
|
||||
case 28: return Temp5Hi.ToString();
|
||||
case 29: return Press5Lo.ToString();
|
||||
case 30: return Press5Hi.ToString();
|
||||
case 27: return Range5Enabled ? Strings.yes : Strings.no;
|
||||
case 28: return Temp5Lo.ToString();
|
||||
case 29: return Temp5Hi.ToString();
|
||||
case 30: return Press5Lo.ToString();
|
||||
case 31: return Press5Hi.ToString();
|
||||
|
||||
default:
|
||||
return string.Format("{0}({1}) {2}[{3},{4}] Idx1={5}, NominalFlow={6}",
|
||||
@@ -448,40 +452,41 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
{
|
||||
case 0: Idx1 = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 1: NominalFlow = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 2: MsrdFormat = str; return CfgUpdateFlags.RestartRqrd;
|
||||
case 3: MsrdUnit = (str == "l/h") ? Unit.lph : Unit.m3ph; return CfgUpdateFlags.RestartRqrd;
|
||||
case 4: TempUnit.ToDescription(); return CfgUpdateFlags.RestartRqrd;
|
||||
case 5: PressureUnit.ToDescription(); return CfgUpdateFlags.RestartRqrd;
|
||||
case 2: NominalFreq = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 3: MsrdFormat = str; return CfgUpdateFlags.RestartRqrd;
|
||||
case 4: MsrdUnit = (str == "l/h") ? Unit.lph : Unit.m3ph; return CfgUpdateFlags.RestartRqrd;
|
||||
case 5: TempUnit.ToDescription(); return CfgUpdateFlags.RestartRqrd;
|
||||
case 6: PressureUnit.ToDescription(); return CfgUpdateFlags.RestartRqrd;
|
||||
|
||||
case 6: Range1Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 7: Temp1Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 8: Temp1Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 9: Press1Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 10: Press1Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 7: Range1Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 8: Temp1Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 9: Temp1Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 10: Press1Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 11: Press1Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
|
||||
case 11: Range2Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 12: Temp2Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 13: Temp2Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 14: Press2Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 15: Press2Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 12: Range2Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 13: Temp2Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 14: Temp2Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 15: Press2Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 16: Press2Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
|
||||
case 16: Range3Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 17: Temp3Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 18: Temp3Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 19: Press3Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 20: Press3Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 17: Range3Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 18: Temp3Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 19: Temp3Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 20: Press3Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 21: Press3Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
|
||||
case 21: Range4Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 22: Temp4Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 23: Temp4Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 24: Press4Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 25: Press4Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 22: Range4Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 23: Temp4Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 24: Temp4Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 25: Press4Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 26: Press4Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
|
||||
case 26: Range5Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 27: Temp5Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 28: Temp5Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 29: Press5Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 30: Press5Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 27: Range5Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
|
||||
case 28: Temp5Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 29: Temp5Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 30: Press5Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
case 31: Press5Hi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
|
||||
|
||||
default: return CfgUpdateFlags.None;
|
||||
}
|
||||
@@ -499,40 +504,41 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
if (int.TryParse(str, out idummy) && idummy >= 1 && idummy <= 7) return true;
|
||||
break;
|
||||
case 1:
|
||||
case 9:
|
||||
case 2:
|
||||
case 10:
|
||||
case 14:
|
||||
case 11:
|
||||
case 15:
|
||||
case 19:
|
||||
case 16:
|
||||
case 20:
|
||||
case 24:
|
||||
case 21:
|
||||
case 25:
|
||||
case 29:
|
||||
case 26:
|
||||
case 30:
|
||||
case 31:
|
||||
if (TBF.Utils.TryParseUDouble(str, out dummy)) return true;
|
||||
break;
|
||||
case 7:
|
||||
case 8:
|
||||
case 12:
|
||||
case 9:
|
||||
case 13:
|
||||
case 17:
|
||||
case 14:
|
||||
case 18:
|
||||
case 22:
|
||||
case 19:
|
||||
case 23:
|
||||
case 27:
|
||||
case 24:
|
||||
case 28:
|
||||
case 29:
|
||||
if (TBF.Utils.TryParseSDouble(str, out dummy)) return true;
|
||||
break;
|
||||
case 2:
|
||||
return true;
|
||||
case 3:
|
||||
return true;
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 11:
|
||||
case 16:
|
||||
case 21:
|
||||
case 26:
|
||||
case 7:
|
||||
case 12:
|
||||
case 17:
|
||||
case 22:
|
||||
case 27:
|
||||
if (ParamValues(i).Contains(str)) return true;
|
||||
break;
|
||||
default:
|
||||
@@ -550,6 +556,7 @@ namespace TBF.Rig.Uni.FlowMeter
|
||||
|
||||
prms.Idx1 = Idx1;
|
||||
prms.NominalFlow = NominalFlow;
|
||||
prms.NominalFreq = NominalFreq;
|
||||
prms.MsrdFormat = MsrdFormat;
|
||||
prms.MsrdUnit = MsrdUnit;
|
||||
prms.TempUnit = TempUnit;
|
||||
|
||||
@@ -22,12 +22,14 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
|
||||
readonly IFlowMeter flowMeter2;
|
||||
readonly IFlowMeter flowMeter3;
|
||||
double nominalFlow;
|
||||
double nominalFreq;
|
||||
double ltrPerPulse;
|
||||
int flowMetersCount;
|
||||
int flowMetersBitfield;
|
||||
|
||||
public int Idx1 { get { return flowMetersBitfield; } }
|
||||
public double NominalFlow { get { return nominalFlow; } }
|
||||
public double NominalFreq { get { return nominalFreq; } }
|
||||
public double LtrPerPulse { get { return ltrPerPulse; } }
|
||||
|
||||
public SchematicDrawing.IDrawingItem DrawingItem { get { return flowMeterCfg as SchematicDrawing.IDrawingItem; } }
|
||||
@@ -138,18 +140,21 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
|
||||
if (flowMeter1 != null)
|
||||
{
|
||||
nominalFlow += flowMeter1.NominalFlow;
|
||||
nominalFreq += flowMeter1.NominalFreq;
|
||||
flowMetersBitfield |= (4 << flowMeter1.Idx1);
|
||||
flowMetersCount++;
|
||||
}
|
||||
if (flowMeter2 != null)
|
||||
{
|
||||
nominalFlow += flowMeter2.NominalFlow;
|
||||
nominalFreq += flowMeter2.NominalFreq;
|
||||
flowMetersBitfield |= (4 << flowMeter2.Idx1);
|
||||
flowMetersCount++;
|
||||
}
|
||||
if (flowMeter3 != null)
|
||||
{
|
||||
nominalFlow += flowMeter3.NominalFlow;
|
||||
nominalFreq += flowMeter3.NominalFreq;
|
||||
flowMetersBitfield |= (4 << flowMeter3.Idx1);
|
||||
flowMetersCount++;
|
||||
}
|
||||
@@ -157,7 +162,7 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
|
||||
|
||||
MsrdValLimHi = nominalFlow;
|
||||
|
||||
ltrPerPulse = nominalFlow / (flowMetersCount * 7200.0); /// Nominal freq. is flowMetersCount * 2000 Hz (2000, 4000 or 6000 Hz)
|
||||
ltrPerPulse = nominalFlow / (3.6 * nominalFreq); /// Nominal freq. is sum of particular nominal frquencies
|
||||
|
||||
refFreq = new double[4];
|
||||
refPulses = new int[4];
|
||||
@@ -165,7 +170,7 @@ namespace TBF.Rig.Uni.FlowMetersInParallel
|
||||
|
||||
public double ReadFlow()
|
||||
{
|
||||
return nominalFlow * ReadFrequency() / (flowMetersCount * 7200.0);
|
||||
return nominalFlow * ReadFrequency() / (3.6 * nominalFreq);
|
||||
}
|
||||
|
||||
public double ReadFrequency()
|
||||
|
||||
Reference in New Issue
Block a user