Modification of sequences to use ProcessData.TempRefWarm(Cold)1(2) and ReadTempOp operations, ver. 2.10.343
This commit is contained in:
parent
700b9b3122
commit
618f0b1bca
@ -11,9 +11,9 @@ namespace TBF.BenchControl.Sequences
|
||||
public static FloatBox AmbientTemp = new FloatBox() { Name = "Ambient Temperature", Format = "F1" }; /// [Celsius]
|
||||
public static FloatBox AmbientPressure = new FloatBox() { Name = "Ambient Pressure", Format = "F0", Factor = 1000 }; /// [bar], printed by ToString() in [mbar]
|
||||
public static FloatBox AmbientHumidity = new FloatBox() { Name = "Ambient Humidity", Format = "F1" }; /// [%]
|
||||
public static FloatBox TempIn = new FloatBox() { Name = "Temperature In", Format = "F2" }; /// [Celsius]
|
||||
public static FloatBox TempOut = new FloatBox() { Name = "Temperature Out", Format = "F2" }; /// [Celsius]
|
||||
public static FloatBox TempDiv = new FloatBox() { Name = "Temperature Div", Format = "F2" }; /// [Celsius]
|
||||
public static FloatBox TempIn = new FloatBox() { Name = "Temperature In", Format = "F2" }; /// [°C]
|
||||
public static FloatBox TempOut = new FloatBox() { Name = "Temperature Out", Format = "F2" }; /// [°C]
|
||||
public static FloatBox TempDiv = new FloatBox() { Name = "Temperature Div", Format = "F2" }; /// [°C]
|
||||
public static FloatBox PressureUp = new FloatBox() { Name = "Pressure In", Format = "F2" }; /// [bar]
|
||||
public static FloatBox PressureDown = new FloatBox() { Name = "Pressure Out", Format = "F2" }; /// [bar]
|
||||
|
||||
@ -27,6 +27,12 @@ namespace TBF.BenchControl.Sequences
|
||||
public static FloatBox StartMass = new FloatBox() { Name = "Start Mass", Format = "F3" }; /// [kg]
|
||||
public static FloatBox EndMass = new FloatBox() { Name = "End Mass", Format = "F3" }; /// [kg]
|
||||
|
||||
/// Heat meters only
|
||||
public static FloatBox TempRefWarm1 = new FloatBox() { Name = "T ref warm 1", Format = "F3" }; /// [°C]
|
||||
public static FloatBox TempRefWarm2 = new FloatBox() { Name = "T ref warm 2", Format = "F3" }; /// [°C]
|
||||
public static FloatBox TempRefCold1 = new FloatBox() { Name = "T ref cold 1", Format = "F3" }; /// [°C]
|
||||
public static FloatBox TempRefCold2 = new FloatBox() { Name = "T ref cold 2", Format = "F3" }; /// [°C]
|
||||
|
||||
public static DateTime TestStartTime;
|
||||
public static DateTime TestEndTime;
|
||||
|
||||
|
||||
@ -590,6 +590,10 @@ namespace TBF.BenchControl.Sequences
|
||||
.AddOperation(outPath.TempDiv.ReadTempOp(ref TempDiv))
|
||||
.AddOperation(benchPath.PressIn.ReadPressureOp(ref PressureUp))
|
||||
.AddOperation(benchPath.PressOut.ReadPressureOp(ref PressureDown))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefWarm1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefWarm2))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefCold1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefCold2))
|
||||
.AddOperation(realTest ? outPath.Balance.ReadMassOp(ref Mass) : null)
|
||||
.AddOperation(StateMachine.ControlBoard.UpdateTankWeightOp())
|
||||
.AddOperation((StateMachine.Ambient != null)
|
||||
|
||||
@ -213,17 +213,13 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
int lastTimeSec = StateMachine.Time;
|
||||
float Tw_last = 0;
|
||||
float Tc_last = 0;
|
||||
FloatBox Tw1 = new FloatBox();
|
||||
FloatBox Tw2 = new FloatBox();
|
||||
FloatBox Tc1 = new FloatBox();
|
||||
FloatBox Tc2 = new FloatBox();
|
||||
|
||||
State.Create("FixedStartMassCollection : Check temperature stabilized.")
|
||||
.AddOperation(checkUiOp)
|
||||
.AddOperation(heatMetersPath.TMeterRefWarm1.ReadTempOp(ref Tw1))
|
||||
.AddOperation(heatMetersPath.TMeterRefWarm2.ReadTempOp(ref Tw2))
|
||||
.AddOperation(heatMetersPath.TMeterRefCold1.ReadTempOp(ref Tc1))
|
||||
.AddOperation(heatMetersPath.TMeterRefCold2.ReadTempOp(ref Tc2))
|
||||
.AddOperation(heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefWarm1))
|
||||
.AddOperation(heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefWarm2))
|
||||
.AddOperation(heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefCold1))
|
||||
.AddOperation(heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefCold2))
|
||||
.EnterState();
|
||||
do
|
||||
{
|
||||
@ -231,24 +227,27 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }
|
||||
if (e.Contains(Event.Next)) goto temperature_set;
|
||||
|
||||
if (StateMachine.Time - lastTimeSec > 10 || StateMachine.Time - lastTimeSec < 0)
|
||||
{
|
||||
float Tw = (Tw1.Val + Tw2.Val) / 2.0f;
|
||||
float Tc = (Tc1.Val + Tc2.Val) / 2.0f;
|
||||
if (heatMetersTestParams.TempWarmLo <= Tw && Tw <= heatMetersTestParams.TempWarmHi &&
|
||||
heatMetersTestParams.TempColdLo <= Tc && Tc <= heatMetersTestParams.TempColdHi &&
|
||||
Math.Abs(Tw - Tw_last) <= heatMetersTestParams.ChangeInTimeWarm &&
|
||||
Math.Abs(Tc - Tc_last) <= heatMetersTestParams.ChangeInTimeCold &&
|
||||
Math.Abs(Tw1.Val - Tw2.Val) <= heatMetersTestParams.DeltaTempWarm &&
|
||||
Math.Abs(Tc1.Val - Tc2.Val) <= heatMetersTestParams.DeltaTempCold)
|
||||
{
|
||||
goto temperature_set;
|
||||
}
|
||||
if (TempRefWarm1.Val != 0 && TempRefWarm2.Val != 0 && TempRefCold1.Val != 0 && TempRefCold2.Val != 0)
|
||||
{
|
||||
if (StateMachine.Time - lastTimeSec > 10 || StateMachine.Time - lastTimeSec < 0)
|
||||
{
|
||||
float Tw = (TempRefWarm1.Val + TempRefWarm2.Val) / 2.0f;
|
||||
float Tc = (TempRefCold1.Val + TempRefCold2.Val) / 2.0f;
|
||||
if (heatMetersTestParams.TempWarmLo <= Tw && Tw <= heatMetersTestParams.TempWarmHi &&
|
||||
heatMetersTestParams.TempColdLo <= Tc && Tc <= heatMetersTestParams.TempColdHi &&
|
||||
Math.Abs(Tw - Tw_last) <= heatMetersTestParams.ChangeInTimeWarm &&
|
||||
Math.Abs(Tc - Tc_last) <= heatMetersTestParams.ChangeInTimeCold &&
|
||||
Math.Abs(TempRefWarm1.Val - TempRefWarm2.Val) <= heatMetersTestParams.DeltaTempWarm &&
|
||||
Math.Abs(TempRefCold1.Val - TempRefCold2.Val) <= heatMetersTestParams.DeltaTempCold)
|
||||
{
|
||||
goto temperature_set;
|
||||
}
|
||||
|
||||
lastTimeSec = StateMachine.Time;
|
||||
Tw_last = Tw;
|
||||
Tc_last = Tc;
|
||||
}
|
||||
lastTimeSec = StateMachine.Time;
|
||||
Tw_last = Tw;
|
||||
Tc_last = Tc;
|
||||
}
|
||||
}
|
||||
}
|
||||
while (true);
|
||||
}
|
||||
@ -323,6 +322,10 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
.AddOperation(outPath.TempDiv.ReadTempOp(ref TempDiv))
|
||||
.AddOperation(benchPath.PressIn.ReadPressureOp(ref PressureUp))
|
||||
.AddOperation(benchPath.PressOut.ReadPressureOp(ref PressureDown))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefWarm1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefWarm2))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefCold1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefCold2))
|
||||
.AddOperation((StateMachine.Ambient != null)
|
||||
? StateMachine.Ambient.ReadAmbientOp(AmbientTemp, AmbientPressure, AmbientHumidity) : null)
|
||||
.AddOperations(measureOperations)
|
||||
@ -346,7 +349,11 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
State.Create("FixedStartMassCollection : Starting the test")
|
||||
.AddOperation(checkUiOp)
|
||||
.AddOperations(measureOperations)
|
||||
.AddOperation(cBrd.StartMeasurementOp(outPath, Elde.TestMethods.Diverter | Elde.TestMethods.Synchro,
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefWarm1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefWarm2))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefCold1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefCold2))
|
||||
.AddOperation(cBrd.StartMeasurementOp(outPath, Elde.TestMethods.Diverter | Elde.TestMethods.Synchro,
|
||||
test.Qfrom, test.Qto, 2 * totalPulses, (float)test.TolerRed))
|
||||
.EnterState();
|
||||
do
|
||||
@ -360,7 +367,11 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
|
||||
State.Create("FixedStartMassCollection : Opening the start/stop valve at the beginning of the fixed start test")
|
||||
.AddOperation(checkUiOp)
|
||||
.AddOperation(StateMachine.ControlBoard.SetValvesOp(outPath.StartValve, null))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefWarm1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefWarm2))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefCold1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefCold2))
|
||||
.AddOperation(StateMachine.ControlBoard.SetValvesOp(outPath.StartValve, null))
|
||||
.AddOperation(StateMachine.ControlBoard.UpdateTankWeightOp())
|
||||
.EnterState();
|
||||
do
|
||||
@ -420,8 +431,8 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
else
|
||||
{
|
||||
//double deltaTime = (double)(StateMachine.Time - lastEnergyUpdateTime);
|
||||
float T_in = (heatMetersPath.TMeterRefWarm1.ReadTemperature() + heatMetersPath.TMeterRefWarm2.ReadTemperature()) / 2; /// [°C]
|
||||
float T_out = (heatMetersPath.TMeterRefCold1.ReadTemperature() + heatMetersPath.TMeterRefCold2.ReadTemperature()) / 2; /// [°C]
|
||||
float T_in = (TempRefWarm1.Val + TempRefWarm2.Val) / 2; /// [°C]
|
||||
float T_out = (TempRefCold1.Val + TempRefCold2.Val) / 2; /// [°C]
|
||||
double deltaVolume = LtrPerRefPulse * RefPulsesDelta; /// [l]
|
||||
double deltaEnergy = 0.001 * deltaVolume * (T_in - T_out) * Formulas.HeatCoefficientWater(16, T_in, T_out, heatMetersTestParams.FlowMeasuredAtHiTempPipe); /// [J] = [m3] * [K] * [J/(m3 K)]
|
||||
Energy.Update(deltaEnergy);
|
||||
@ -456,7 +467,11 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
|
||||
State.Create("FixedStartMassCollection : Closing the start/stop valve at the end of the fixed start test")
|
||||
.AddOperation(checkUiOp)
|
||||
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, outPath.StartValve))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefWarm1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefWarm2))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefCold1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefCold2))
|
||||
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, outPath.StartValve))
|
||||
.AddOperation(StateMachine.ControlBoard.UpdateTankWeightOp())
|
||||
.EnterState();
|
||||
do
|
||||
@ -474,7 +489,11 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
.AddOperation(outPath.TempDiv.ReadTempOp(ref TempDiv))
|
||||
.AddOperation(benchPath.PressIn.ReadPressureOp(ref PressureUp))
|
||||
.AddOperation(benchPath.PressOut.ReadPressureOp(ref PressureDown))
|
||||
.AddOperation((StateMachine.Ambient != null)
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefWarm1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefWarm2))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefCold1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefCold2))
|
||||
.AddOperation((StateMachine.Ambient != null)
|
||||
? StateMachine.Ambient.ReadAmbientOp(AmbientTemp, AmbientPressure, AmbientHumidity) : null)
|
||||
.AddOperation(outPath.Balance.ReadMassOp(ref Mass))
|
||||
.AddOperation(cBrd.UpdateTankWeightOp())
|
||||
@ -500,7 +519,11 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
||||
.AddOperation(outPath.TempDiv.ReadTempOp(ref TempDiv))
|
||||
.AddOperation(benchPath.PressIn.ReadPressureOp(ref PressureUp))
|
||||
.AddOperation(benchPath.PressOut.ReadPressureOp(ref PressureDown))
|
||||
.AddOperation((StateMachine.Ambient != null)
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefWarm1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefWarm2))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefCold1))
|
||||
.AddOperation(heatMetersPath == null ? null : heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefCold2))
|
||||
.AddOperation((StateMachine.Ambient != null)
|
||||
? StateMachine.Ambient.ReadAmbientOp(AmbientTemp, AmbientPressure, AmbientHumidity) : null)
|
||||
.AddOperation(outPath.Balance.ReadStableMassOp(ref EndMass, test.MassRepeats, test.MassSpread, test.MassMethod))
|
||||
.AddOperation(cBrd.UpdateTankWeightOp())
|
||||
|
||||
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("2.10.342.1")]
|
||||
[assembly: AssemblyFileVersion("2.10.342.1")]
|
||||
[assembly: AssemblyVersion("2.10.343.1")]
|
||||
[assembly: AssemblyFileVersion("2.10.343.1")]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user