Conductivity is monitored.

This commit is contained in:
Milan Hanajik
2020-05-04 15:15:43 +02:00
parent e7431ce6e2
commit 05f72bc9f7
10 changed files with 459 additions and 334 deletions
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2017-2019 Sensus Slovensko a.s.
/// Copyright (c) 2017-2020 Sensus Slovensko a.s.
///
using System.IO;
using System.Xml.Serialization;
@@ -31,6 +31,7 @@ namespace TBF.BenchControl.Various.ErrorFlags
public sbyte E15; ///
public sbyte E16; ///
public sbyte E21; ///
public sbyte E36; ///
public double Delta_Q_pct; /// [%] max deviation from the mean flow
public double Delta_T; /// [°C] max. T_up or T_down deviation from the mean temperature
@@ -41,6 +42,8 @@ namespace TBF.BenchControl.Various.ErrorFlags
public double AmbTemp_max; /// [°C] max. ambient temperature
public double Pressure_min; /// [bar] min. water pressure
public double Pressure_max; /// [bar] max. water pressure
public double Conductivity_min; /// [uS/cm] min. electrical conductivity of water
public double Conductivity_max; /// [uS/cm] max. electrical conductivity of water
public double Coef_E9; /// Coefficient used in E9, default 0.025
public double Coef_E10; /// Coefficient used in E10, default 0.04
@@ -56,7 +59,7 @@ namespace TBF.BenchControl.Various.ErrorFlags
public sbyte E28; /// Previous workflow step verification
#endif
public override void InitializeAll()
public override void InitializeAll()
{
#if IPERL
E1 = (sbyte)ErrorFlagsMode.Info;
@@ -76,11 +79,7 @@ namespace TBF.BenchControl.Various.ErrorFlags
E15 = (sbyte)ErrorFlagsMode.Off;
E16 = (sbyte)ErrorFlagsMode.Off;
E21 = (sbyte)ErrorFlagsMode.Info;
E25 = (sbyte)ErrorFlagsMode.Info; /// MaxPruefindex verification
E26 = (sbyte)ErrorFlagsMode.Off; /// Q2 factors verification (saved from production == current)
E27 = (sbyte)ErrorFlagsMode.Off; /// Direction verification
E28 = (sbyte)ErrorFlagsMode.Info; /// Previous workflow step verification
E36 = (sbyte)ErrorFlagsMode.On;
#else
E1 = (sbyte)ErrorFlagsMode.Info;
E2 = (sbyte)ErrorFlagsMode.Info;
@@ -99,23 +98,32 @@ namespace TBF.BenchControl.Various.ErrorFlags
E15 = (sbyte)ErrorFlagsMode.Info;
E16 = (sbyte)ErrorFlagsMode.Info;
E21 = (sbyte)ErrorFlagsMode.Info;
E36 = (sbyte)ErrorFlagsMode.Off;
#endif
Delta_Q_pct = 5.0; /// [%]
Delta_T = 10.0; /// [°C]
Delta_Tup_Tdn = 10.0; /// [°C]
TestTime_min = 0; /// [s]
TestTime_max = 99999; /// [s]
AmbTemp_min = 5.0; /// [°C]
AmbTemp_max = 95.0; /// [°C]
Pressure_min = 0; /// [bar]
Pressure_max = 16.0; /// [bar]
Delta_Q_pct = 5.0; /// [%]
Delta_T = 10.0; /// [°C]
Delta_Tup_Tdn = 10.0; /// [°C]
TestTime_min = 0; /// [s]
TestTime_max = 99999; /// [s]
AmbTemp_min = 5.0; /// [°C]
AmbTemp_max = 95.0; /// [°C]
Pressure_min = 0; /// [bar]
Pressure_max = 16.0; /// [bar]
Conductivity_min = 600.0; /// [uS/cm]
Conductivity_max = 1200.0; /// [uS/cm]
Coef_E9 = 0.025;
Coef_E10 = 0.04;
Coef_E11 = 0.1;
Coef_E12 = 1.0;
Offset_E9 = 0; /// [s]
Offset_E12 = 0; /// [s]
Offset_E9 = 0; /// [s]
Offset_E12 = 0; /// [s]
#if IPERL
E25 = (sbyte)ErrorFlagsMode.Info; /// MaxPruefindex verification
E26 = (sbyte)ErrorFlagsMode.Off; /// Q2 factors verification (saved from production == current)
E27 = (sbyte)ErrorFlagsMode.Off; /// Direction verification
E28 = (sbyte)ErrorFlagsMode.Info; /// Previous workflow step verification
#endif
}
string[] paramNames = new string[]
@@ -137,6 +145,7 @@ namespace TBF.BenchControl.Various.ErrorFlags
"E15",
"E16",
"E21",
"E36",
"Delta Q [%]",
"Delta T [°C]",
@@ -147,6 +156,8 @@ namespace TBF.BenchControl.Various.ErrorFlags
string.Format("max. {0} [°C]", Strings.Air_temperature),
string.Format("min. {0} [bar]", Strings.Pressure),
string.Format("max. {0} [bar]", Strings.Pressure),
"min. conductivity [uS/cm]",
"max. conductivity [uS/cm]",
"Coef.E9",
"Coef.E10",
@@ -185,29 +196,32 @@ namespace TBF.BenchControl.Various.ErrorFlags
case 14: return ((ErrorFlagsMode)E15).ToDescription();
case 15: return ((ErrorFlagsMode)E16).ToDescription();
case 16: return ((ErrorFlagsMode)E21).ToDescription();
case 17: return ((ErrorFlagsMode)E36).ToDescription();
case 17: return Delta_Q_pct.ToString();
case 18: return Delta_T.ToString();
case 19: return Delta_Tup_Tdn.ToString();
case 20: return TestTime_min.ToString();
case 21: return TestTime_max.ToString();
case 22: return AmbTemp_min.ToString();
case 23: return AmbTemp_max.ToString();
case 24: return Pressure_min.ToString();
case 25: return Pressure_max.ToString();
case 26: return Coef_E9.ToString();
case 27: return Coef_E10.ToString();
case 28: return Coef_E11.ToString();
case 29: return Coef_E12.ToString();
case 30: return Offset_E9.ToString();
case 31: return Offset_E12.ToString();
case 18: return Delta_Q_pct.ToString();
case 19: return Delta_T.ToString();
case 20: return Delta_Tup_Tdn.ToString();
case 21: return TestTime_min.ToString();
case 22: return TestTime_max.ToString();
case 23: return AmbTemp_min.ToString();
case 24: return AmbTemp_max.ToString();
case 25: return Pressure_min.ToString();
case 26: return Pressure_max.ToString();
case 27: return Conductivity_min.ToString();
case 28: return Conductivity_max.ToString();
case 29: return Coef_E9.ToString();
case 30: return Coef_E10.ToString();
case 31: return Coef_E11.ToString();
case 32: return Coef_E12.ToString();
case 33: return Offset_E9.ToString();
case 34: return Offset_E12.ToString();
#if IPERL
case 32: return ((ErrorFlagsMode)E25).ToDescription();
case 33: return ((ErrorFlagsMode)E26).ToDescription();
case 34: return ((ErrorFlagsMode)E27).ToDescription();
case 35: return ((ErrorFlagsMode)E28).ToDescription();
case 35: return ((ErrorFlagsMode)E25).ToDescription();
case 36: return ((ErrorFlagsMode)E26).ToDescription();
case 37: return ((ErrorFlagsMode)E27).ToDescription();
case 38: return ((ErrorFlagsMode)E28).ToDescription();
#endif
default: return string.Empty;
default: return string.Empty;
}
}
@@ -233,29 +247,32 @@ namespace TBF.BenchControl.Various.ErrorFlags
case 14: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E15 = (sbyte)m; break; }; break;
case 15: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E16 = (sbyte)m; break; }; break;
case 16: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E21 = (sbyte)m; break; }; break;
case 17: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E36 = (sbyte)m; break; }; break;
case 17: Delta_Q_pct = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 18: Delta_T = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 19: Delta_Tup_Tdn = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 20: TestTime_min = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 21: TestTime_max = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 22: AmbTemp_min = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 23: AmbTemp_max = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 24: Pressure_min = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 25: Pressure_max = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 26: Coef_E9 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 27: Coef_E10 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 28: Coef_E11 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 29: Coef_E12 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 30: Offset_E9 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 31: Offset_E12 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 18: Delta_Q_pct = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 19: Delta_T = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 20: Delta_Tup_Tdn = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 21: TestTime_min = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 22: TestTime_max = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 23: AmbTemp_min = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 24: AmbTemp_max = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 25: Pressure_min = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 26: Pressure_max = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 27: Conductivity_min = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 28: Conductivity_max = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 29: Coef_E9 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 30: Coef_E10 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 31: Coef_E11 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 32: Coef_E12 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 33: Offset_E9 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
case 34: Offset_E12 = Utils.ParseUDouble(sVal); return CfgUpdateFlags.None;
#if IPERL
case 32: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E25 = (sbyte)m; break; }; break;
case 33: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E26 = (sbyte)m; break; }; break;
case 34: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E27 = (sbyte)m; break; }; break;
case 35: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E28 = (sbyte)m; break; }; break;
case 35: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E25 = (sbyte)m; break; }; break;
case 36: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E26 = (sbyte)m; break; }; break;
case 37: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E27 = (sbyte)m; break; }; break;
case 38: for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++) if (m.ToDescription() == sVal) { E28 = (sbyte)m; break; }; break;
#endif
}
}
return CfgUpdateFlags.None;
}
@@ -285,17 +302,19 @@ namespace TBF.BenchControl.Various.ErrorFlags
case 14:
case 15:
case 16:
case 32:
case 33:
case 34:
case 17:
#if IPERL
case 35:
for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++)
case 36:
case 37:
case 38:
#endif
for (ErrorFlagsMode m = 0; m < ErrorFlagsMode.Count; m++)
{
if (m.ToDescription() == strValue) return true;
}
break;
case 17:
case 18:
case 19:
case 20:
@@ -304,12 +323,15 @@ namespace TBF.BenchControl.Various.ErrorFlags
case 23:
case 24:
case 25:
case 26:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 33:
case 34:
if (Utils.TryParseUDouble(strValue, out dummy)) return true;
break;
@@ -341,6 +363,7 @@ namespace TBF.BenchControl.Various.ErrorFlags
prms.E15 = this.E15;
prms.E16 = this.E16;
prms.E21 = this.E21;
prms.E36 = this.E36;
prms.Delta_Q_pct = this.Delta_Q_pct;
prms.Delta_T = this.Delta_T;
@@ -351,7 +374,9 @@ namespace TBF.BenchControl.Various.ErrorFlags
prms.AmbTemp_max = this.AmbTemp_max;
prms.Pressure_min = this.Pressure_min;
prms.Pressure_max = this.Pressure_max;
prms.Coef_E9 = this.Coef_E9;
prms.Conductivity_min = this.Conductivity_min;
prms.Conductivity_max = this.Conductivity_max;
prms.Coef_E9 = this.Coef_E9;
prms.Coef_E10 = this.Coef_E10;
prms.Coef_E11 = this.Coef_E11;
prms.Coef_E12 = this.Coef_E12;