Uni.FlowMeter.FlowMeterCfg.MsrdValLimLo/Hi is not serialized, can be accessed from the component.

This commit is contained in:
Milan Hanajik
2021-04-26 11:56:21 +02:00
parent 08c0a61110
commit 5ea9c51f77
2 changed files with 133 additions and 132 deletions
+6
View File
@@ -27,6 +27,9 @@ namespace TBF.Rig.Uni.FlowMeter
public double GetPressHi(int ix) { return flowMeterCfg.GetPressHi(ix); }
public SchematicDrawing.IDrawingItem DrawingItem { get { return flowMeterCfg as SchematicDrawing.IDrawingItem; } }
public double MsrdValLimLo { get { return flowMeterCfg.MsrdValLimLo; } set { flowMeterCfg.MsrdValLimLo = value; } }
public double MsrdValLimHi { get { return flowMeterCfg.MsrdValLimHi; } set { flowMeterCfg.MsrdValLimHi = value; } }
public bool MsrmntAvailable
{
@@ -105,6 +108,9 @@ namespace TBF.Rig.Uni.FlowMeter
public override void Initialize()
{
MsrdValLimLo = 0;
MsrdValLimHi = NominalFlow;
for (int r = 0; r <= 5; r++)
{
if (flowMeterCfg.RangeEnabled(r) &&
+127 -132
View File
@@ -28,44 +28,42 @@ namespace TBF.Rig.Uni.FlowMeter
///
/// Serialized parameters
///
public int Idx1; /// 0 /// 1..7, (DEWA300 : I1+I2=48, I1+I3=80, I2_I3=96, I1+I2+I3=112)
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; } /// 3
public Unit MsrdUnit { get; set; } /// 2
public double MsrdValLimLo { get; set; } /// 4
public double MsrdValLimHi { get; set; } /// 5
public Unit TempUnit; /// 6
public Unit PressureUnit; /// 7
public string MsrdFormat { get; set; } /// 2
public Unit MsrdUnit { get; set; } /// 3
public Unit TempUnit; /// 4
public Unit PressureUnit; /// 5
public bool Range1Enabled; /// 8
public double Temp1Lo; /// 9
public double Temp1Hi; /// 10
public double Press1Lo; /// 11
public double Press1Hi; /// 12
public bool Range1Enabled; /// 6
public double Temp1Lo; /// 7
public double Temp1Hi; /// 8
public double Press1Lo; /// 9
public double Press1Hi; /// 10
public bool Range2Enabled; /// 13
public double Temp2Lo; /// 14
public double Temp2Hi; /// 15
public double Press2Lo; /// 16
public double Press2Hi; /// 17
public bool Range2Enabled; /// 11
public double Temp2Lo; /// 12
public double Temp2Hi; /// 13
public double Press2Lo; /// 14
public double Press2Hi; /// 15
public bool Range3Enabled; /// 18
public double Temp3Lo; /// 19
public double Temp3Hi; /// 20
public double Press3Lo; /// 21
public double Press3Hi; /// 22
public bool Range3Enabled; /// 16
public double Temp3Lo; /// 17
public double Temp3Hi; /// 18
public double Press3Lo; /// 19
public double Press3Hi; /// 20
public bool Range4Enabled; /// 23
public double Temp4Lo; /// 24
public double Temp4Hi; /// 25
public double Press4Lo; /// 26
public double Press4Hi; /// 27
public bool Range4Enabled; /// 21
public double Temp4Lo; /// 22
public double Temp4Hi; /// 23
public double Press4Lo; /// 24
public double Press4Hi; /// 25
public bool Range5Enabled; /// 28
public double Temp5Lo; /// 29
public double Temp5Hi; /// 30
public double Press5Lo; /// 31
public double Press5Hi; /// 32
public bool Range5Enabled; /// 26
public double Temp5Lo; /// 27
public double Temp5Hi; /// 28
public double Press5Lo; /// 29
public double Press5Hi; /// 30
/// Calibration info serialized parameters displayed in Metrology tab page
public string CalibCertificateNr;
@@ -103,6 +101,13 @@ namespace TBF.Rig.Uni.FlowMeter
[XmlIgnore]
public IList<GNode> GNodes { get; set; }
[XmlIgnore]
public double MsrdValLimLo { get { return msrdValLimLo; } set { msrdValLimLo = value; } }
[XmlIgnore]
public double MsrdValLimHi { get { return msrdValLimHi; } set { msrdValLimHi = value; } }
double msrdValLimLo = 0;
double msrdValLimHi;
public bool RangeEnabled(int rangeIx1)
@@ -330,18 +335,16 @@ namespace TBF.Rig.Uni.FlowMeter
"Display format", /// 2
"Unit of flow on a display", /// 3
"Flow limit Lo", /// 4
"Flow limit Hi", /// 5
"Unit of temperature", /// 6
"Unit of pressure", /// 7
"Unit of temperature", /// 4
"Unit of pressure", /// 5
"Range 1 enabled", /// 8
"Range 1 : Temperature Lo", /// 9
"Range 1 : Temperature Hi", /// 10
"Range 1 : Pressure Lo", /// 11
"Range 1 : Pressure Hi", /// 12
"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 2 enabled", /// 13
"Range 2 enabled", /// 11
"Range 2 : Temperature Lo",
"Range 2 : Temperature Hi",
"Range 2 : Pressure Lo",
@@ -376,15 +379,15 @@ namespace TBF.Rig.Uni.FlowMeter
return new string[] { "1", "2", "3", "4", "5", "6", "7" };
case 3:
return new string[] { "m3/h", "l/h" };
case 6:
case 4:
return new string[] { "°C", "°F", "K" };
case 7:
case 5:
return new string[] { "Pa", "hPa", "mbar", "kPa", "inHg", "psi", "bar", "MPa" };
case 8:
case 13:
case 18:
case 23:
case 28:
case 6:
case 11:
case 16:
case 21:
case 26:
return new string[] { Strings.yes, Strings.no };
default:
return null;
@@ -399,40 +402,38 @@ namespace TBF.Rig.Uni.FlowMeter
case 1: return NominalFlow.ToString();
case 2: return MsrdFormat;
case 3: return MsrdUnit.ToDescription();
case 4: return MsrdValLimLo.ToString();
case 5: return MsrdValLimHi.ToString();
case 6: return TempUnit.ToDescription();
case 7: return PressureUnit.ToDescription();
case 4: return TempUnit.ToDescription();
case 5: return PressureUnit.ToDescription();
case 8: return Range1Enabled ? Strings.yes : Strings.no;
case 9: return Temp1Lo.ToString();
case 10: return Temp1Hi.ToString();
case 11: return Press1Lo.ToString();
case 12: return Press1Hi.ToString();
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 13: return Range2Enabled ? Strings.yes : Strings.no;
case 14: return Temp2Lo.ToString();
case 15: return Temp2Hi.ToString();
case 16: return Press2Lo.ToString();
case 17: return Press2Hi.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 18: return Range3Enabled ? Strings.yes : Strings.no;
case 19: return Temp3Lo.ToString();
case 20: return Temp3Hi.ToString();
case 21: return Press3Lo.ToString();
case 22: return Press3Hi.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 23: return Range4Enabled ? Strings.yes : Strings.no;
case 24: return Temp4Lo.ToString();
case 25: return Temp4Hi.ToString();
case 26: return Press4Lo.ToString();
case 27: return Press4Hi.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 28: return Range5Enabled ? Strings.yes : Strings.no;
case 29: return Temp5Lo.ToString();
case 30: return Temp5Hi.ToString();
case 31: return Press5Lo.ToString();
case 32: return Press5Hi.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();
default:
return string.Format("{0}({1}) {2}[{3},{4}] Idx1={5}, NominalFlow={6}",
@@ -445,44 +446,42 @@ namespace TBF.Rig.Uni.FlowMeter
{
switch (i)
{
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 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: MsrdValLimLo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
case 5: MsrdValLimHi = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
case 6: TempUnit.ToDescription(); return CfgUpdateFlags.RestartRqrd;
case 7: PressureUnit.ToDescription(); return CfgUpdateFlags.RestartRqrd;
case 4: TempUnit.ToDescription(); return CfgUpdateFlags.RestartRqrd;
case 5: PressureUnit.ToDescription(); return CfgUpdateFlags.RestartRqrd;
case 8: Range1Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
case 9: Temp1Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 10: Temp1Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 11: Press1Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
case 12: Press1Hi = TBF.Utils.ParseUDouble(str); 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 13: Range2Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
case 14: Temp2Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 15: Temp2Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 16: Press2Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
case 17: Press2Hi = 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 18: Range3Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
case 19: Temp3Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 20: Temp3Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 21: Press3Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
case 22: Press3Hi = 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 23: Range4Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
case 24: Temp4Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 25: Temp4Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 26: Press4Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
case 27: Press4Hi = 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 28: Range5Enabled = (str == Strings.yes); return CfgUpdateFlags.RestartRqrd;
case 29: Temp5Lo = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 30: Temp5Hi = TBF.Utils.ParseSDouble(str); return CfgUpdateFlags.RestartRqrd;
case 31: Press5Lo = TBF.Utils.ParseUDouble(str); return CfgUpdateFlags.RestartRqrd;
case 32: Press5Hi = 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;
default: return CfgUpdateFlags.None;
}
@@ -500,20 +499,6 @@ namespace TBF.Rig.Uni.FlowMeter
if (int.TryParse(str, out idummy) && idummy >= 1 && idummy <= 7) return true;
break;
case 1:
case 4:
case 5:
case 11:
case 12:
case 16:
case 17:
case 21:
case 22:
case 26:
case 27:
case 31:
case 32:
if (TBF.Utils.TryParseUDouble(str, out dummy)) return true;
break;
case 9:
case 10:
case 14:
@@ -524,18 +509,30 @@ namespace TBF.Rig.Uni.FlowMeter
case 25:
case 29:
case 30:
if (TBF.Utils.TryParseUDouble(str, out dummy)) return true;
break;
case 7:
case 8:
case 12:
case 13:
case 17:
case 18:
case 22:
case 23:
case 27:
case 28:
if (TBF.Utils.TryParseSDouble(str, out dummy)) return true;
break;
case 2:
return true;
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 13:
case 18:
case 23:
case 28:
case 11:
case 16:
case 21:
case 26:
if (ParamValues(i).Contains(str)) return true;
break;
default:
@@ -555,8 +552,6 @@ namespace TBF.Rig.Uni.FlowMeter
prms.NominalFlow = NominalFlow;
prms.MsrdFormat = MsrdFormat;
prms.MsrdUnit = MsrdUnit;
prms.MsrdValLimLo = MsrdValLimLo;
prms.MsrdValLimHi = MsrdValLimHi;
prms.TempUnit = TempUnit;
prms.PressureUnit = PressureUnit;