Fix - 1. repaired StandingStartMassCollection MassEN evaluation, the problem was caused by the end scale measuring only after recalculating the basic values - 2. removed fixed delay for the first diverter switching and first diverter switching was moved after a configurable delay - 3. hidden unitComboBox in the StartEnd dialog of the DataEntry.Standard24 component, because units are now defined using the RegisterReader component

This commit is contained in:
Marek Frniak 2026-07-17 09:55:03 +02:00
parent 637d1d021d
commit b703297f5e
2 changed files with 28 additions and 23 deletions

View File

@ -1389,12 +1389,14 @@ namespace TBF.Rig.DataEntry.Standard24
// unitComboBox
//
this.unitComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.unitComboBox.Enabled = false;
this.unitComboBox.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.unitComboBox.FormattingEnabled = true;
this.unitComboBox.Location = new System.Drawing.Point(999, 131);
this.unitComboBox.Name = "unitComboBox";
this.unitComboBox.Size = new System.Drawing.Size(123, 31);
this.unitComboBox.TabIndex = 103;
this.unitComboBox.Visible = false;
this.unitComboBox.SelectedIndexChanged += new System.EventHandler(this.unitComboBox_SelectedIndexChanged);
this.unitComboBox.TextChanged += new System.EventHandler(this.unitComboBox_TextChanged);
//

View File

@ -488,7 +488,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
///...MF
///-----------------
delay = 5;
/*delay = 3;
//if (test.TimePump2StartV > 0)
//{
State.Create(string.Format("{0}({1}) : Delay 5s", test.Method, test.Name))
@ -511,21 +511,10 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
delay--;
}
while (!e.Contains(Event.TimerExpired));
//}
//}*/
///-----------------
State.Create(string.Format("{0}({1}) : Start the standing start/stop test", test.Method, test.Name))
.AddOperation(checkUiOp)
.AddOperations(readTempPressOps)
.AddOperation(testInProgress) //...develop: step 4 --> diverter switch to the mass
.EnterState();
for (int i = 0; i < 3; i++)
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }
}
///...MF
///-----------------
delay = test.TimeFlow2Mass;
@ -535,7 +524,6 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
State.Create(string.Format("{0}({1}) : Delay for meters stabilization <T flow stab. - start = {2}s> ", test.Method, test.Name, delay))
.AddOperation(checkUiOp)
.AddOperations(readTempPressOps)
.AddOperation(testInProgress)
.AddOperation(new Operations.TimerOp(delay)) //...develop: step 5
.EnterState();
do
@ -556,6 +544,19 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
while (!e.Contains(Event.TimerExpired));
}
State.Create(string.Format("{0}({1}) : Start the standing start/stop test", test.Method, test.Name))
.AddOperation(checkUiOp)
.AddOperations(readTempPressOps)
.AddOperation(testInProgress) //...develop: step 4 --> diverter switch to the mass
.EnterState();
for (int i = 0; i < 3; i++)
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }
}
int time = StateMachine.Time;
double currentFlow = RefFlow.Val;
@ -574,6 +575,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
GenericDevices.IHasWMStatesForm dataEntryCmpnt = TbfComponents.FindComponent(StateMachine.Procedure.DataEntry) as GenericDevices.IHasWMStatesForm;
IOperation readStartMassOp = scale.ReadStableMassOp(ref StartMass, test.TimeFlow2Mass, test.MassMethod, test.MassRepeats, test.MassSpread);
IOperation readStopMassOp = scale.ReadStableMassOp(ref StartMass, test.TimeStop2Mass, test.MassMethod, test.MassRepeats, test.MassSpread);
IOperation readEndMassOp = scale.ReadStableMassOp(ref EndMass, test.TimeStop2Mass, test.MassMethod, test.MassRepeats, test.MassSpread);
if (dataEntryCmpnt != null)
{
@ -891,7 +893,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
log.WarnFormat("Start valve switch time on test end = {0} ms", cBrd.ValveOpenCloseTime);
///...MF
/*///...MF
///-----------------
delay = test.TimeStop2Mass;
@ -919,7 +921,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
delay--;
}
while (!e.Contains(Event.TimerExpired));
}
}*/
if (heatMetersPath == null)
@ -930,15 +932,15 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
//------------------------------------------------
Bridge.OnActivity(this, Strings.Measuring_the_weight);
//------------------------------------------------
/*
delay = test.TimeStop2Mass;
State.Create(string.Format("{0}({1}) : Measuring the end mass after residual flow <T stop-mass msrmt time = {2}s>", test.Method, test.Name, delay))
.AddOperation(checkUiOp)
.AddOperations(readTempPressOps)
//.AddOperation(testInProgress)...nevhodne prepina diverter
.AddOperation(testInProgress)
.AddOperation(scale.ReadStableMassOp(ref EndMass, delay, test.MassMethod, test.MassRepeats, test.MassSpread))//...develop: step 13
.AddOperation(new Operations.TimerOp(StableMassMsrmntTimeoutSec))
//.AddOperation(new Operations.TimerOp(StableMassMsrmntTimeoutSec))
.AddOperation(processDataLoggingOp)
.EnterState();
do {
@ -961,7 +963,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
if (delay > 0)
delay--;
}
while (!e.Contains(Event.ScaleDone) && !e.Contains(Event.Next));*/
while (!e.Contains(Event.ScaleDone) && !e.Contains(Event.Next));
///
tMass2 = StateMachine.Time;
@ -1055,16 +1057,17 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
state.AddOperation(dataEntryCmpnt.ShowTestEndFormOp(sensPath.RegisterReaders,
volumeCTV, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty)); //...develop: half of step 14
}
state.AddOperation(checkUiOp)
.AddOperations(readTempPressOps)
.AddOperation(testInProgress)
.AddOperation(readStopMassOp) //...develop: half of step 14 + step 15
//.AddOperation(readEndMassOp) //...develop: half of step 14 + step 15
.EnterState();
do {
e = StateMachine.WaitRunDevsRunOps();
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.ModelessFormClosed));
while (!e.Contains(Event.ModelessFormClosed)) ;
if (heatMetersTestParams != null)