Legacy messument now wihzout tasks
This commit is contained in:
@@ -155,7 +155,7 @@
|
||||
</site>
|
||||
<site name="MeterProcessState" id="2">
|
||||
<application path="/" applicationPool="Clr4IntegratedAppPool">
|
||||
<virtualDirectory path="/" physicalPath="D:\Projekte\SENSUS_GitLab\laa_production\Common\Service\MeterProcessState" />
|
||||
<virtualDirectory path="/" physicalPath="C:\Users\drabesch_ro\Repo\lab\la_operations\laa_production\Common\Service\MeterProcessState" />
|
||||
</application>
|
||||
<bindings>
|
||||
<binding protocol="http" bindingInformation="*:56011:localhost" />
|
||||
|
||||
@@ -43,7 +43,7 @@ namespace CordonelPreadjustmentUi.Processes.Actions
|
||||
bool skipMan = false;
|
||||
if (pp.Setting.GetTempUseTempFlansh() || TempMeterStateCtls.Any(a => a.IsEnabled))
|
||||
{
|
||||
skipMan = true;
|
||||
skipMan = false;
|
||||
//aoutmatic
|
||||
decimal avgTemp = 0;
|
||||
int TempFlanshCount = 0;
|
||||
@@ -55,6 +55,7 @@ namespace CordonelPreadjustmentUi.Processes.Actions
|
||||
{
|
||||
avgTemp = avgTemp + avgTempCtls.GetTemperature();
|
||||
TempFlanshCount = TempFlanshCount + 1;
|
||||
skipMan = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
1a3d4919c9c702245832d925951f2b7cb72fc333
|
||||
5ed75d99ee45ff67821090f1b3dbb001dd9e4fe3
|
||||
|
||||
@@ -50,6 +50,19 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
AutoRefresh,
|
||||
View,
|
||||
}
|
||||
|
||||
private enum BatchState
|
||||
{
|
||||
Idle,
|
||||
Init,
|
||||
Error,
|
||||
PrepeareGui,
|
||||
PrepeareMessuremnt,
|
||||
MessuremntIsRunning,
|
||||
MessuremntIsDone,
|
||||
}
|
||||
|
||||
private BatchState currentState = BatchState.Idle;
|
||||
private Mode currentMode = Mode.View;
|
||||
private ILogger _logger;
|
||||
private Dictionary<int, LegacyCalibrationResult> CalibrationIsDone = new Dictionary<int, LegacyCalibrationResult>();
|
||||
@@ -123,6 +136,7 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
this.grbInfo.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
this.Disposed += CtlBatch_Disposed;
|
||||
currentState = BatchState.Init;
|
||||
_logger.Info($"construct ctlBatch end");
|
||||
}
|
||||
|
||||
@@ -622,15 +636,37 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
}
|
||||
public void AddAllMeters()
|
||||
{
|
||||
setBusy(true, "alle Zähler hinzufügen");
|
||||
|
||||
|
||||
foreach (var item in TestsetuptContainer.meterTestSettings)
|
||||
{
|
||||
|
||||
if (item != null && (item.FlowAdjustment || item.FlowTesting))
|
||||
{
|
||||
AddMeter(item.SerialNr, item.Slot, true);
|
||||
if (!batch.ListOfMeters.Any(f => f.Slot == item.Slot))
|
||||
{
|
||||
|
||||
var meter = new GenesisMeter();
|
||||
meter.SerialNumber = item.SerialNr;
|
||||
meter.CurrentActionText = "FlowTest";
|
||||
meter.SetupFromConfigFile(item.Slot, false, _useRequest, true);
|
||||
meter.LogRawData(_rawLogging);
|
||||
|
||||
batch.AddMeter(meter);
|
||||
meter.Login();
|
||||
meter.EnableAutoLogon();
|
||||
meter.WriteLog("Add from AddAllMeters");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
setBusy(false);
|
||||
|
||||
}
|
||||
public void AddMeter(string serialNumber, int slot, bool SkipPrepearation)
|
||||
{
|
||||
try
|
||||
@@ -649,8 +685,6 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
meter.SetupFromConfigFile(slot, false, _useRequest, true);
|
||||
meter.LogRawData(_rawLogging);
|
||||
|
||||
meter.RequestProtocol.AdditionalRetryTimeoutMs = 100;
|
||||
meter.SkipPreparationForTestBench = SkipPrepearation;
|
||||
meter.EnableAutoLogon();
|
||||
batch.AddMeter(meter);
|
||||
|
||||
@@ -893,15 +927,13 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
WarningMetersAlarms = new ConcurrentDictionary<int, GenesisMeter.Alarm>();
|
||||
ErrorMetersAlarms = new ConcurrentDictionary<int, GenesisMeter.Alarm>();
|
||||
setBusy(true, $"Bereite Zähler vor");
|
||||
Task.Factory.StartNew(() =>
|
||||
{
|
||||
|
||||
|
||||
initAction(meterDn, refPulseValence, predictedQFlow, predictedTs, refError, isFlyingStartStop);
|
||||
|
||||
|
||||
_isAdjustment = isAdjustment;
|
||||
var listOfTasks = new List<Task>();
|
||||
var listOfTasksInit = new List<Task>();
|
||||
|
||||
|
||||
|
||||
if (isAdjustment)
|
||||
@@ -916,78 +948,66 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
|
||||
var settings = TestsetuptContainer.meterTestSettings.First(f => f != null && f.Slot == meter.Slot);
|
||||
|
||||
if (isAdjustment && !settings.FlowAdjustment)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if (!isAdjustment && !settings.FlowTesting)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
//if (isAdjustment && !settings.FlowAdjustment)
|
||||
//{
|
||||
// continue;
|
||||
//}
|
||||
//if (!isAdjustment && !settings.FlowTesting)
|
||||
//{
|
||||
// continue;
|
||||
//}
|
||||
if (!(meter is GenesisMeter genmeter))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
//todo : roland check SkipPrepearationForTestBench
|
||||
//((GenesisMeter)meter).SkipPrepearationForTestBench = true;
|
||||
_logger.Debug($"Add Meter To Grid {meter.Slot}");
|
||||
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
|
||||
AddMeterToGrid(meter.Slot, meter.SerialNumber, genmeter.PcbId, isFlyingStartStop);
|
||||
}));
|
||||
|
||||
|
||||
if (!_useRequest)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isAdjustment)
|
||||
{
|
||||
CalibrationIsDone.Add(meter.Slot, LegacyCalibrationResult.Pending);
|
||||
}
|
||||
|
||||
|
||||
listOfTasksInit.Add(new Task(() =>
|
||||
{
|
||||
var r = ((GenesisMeter)meter).ReLogin();
|
||||
|
||||
if (_useRequest)
|
||||
{
|
||||
var r = ((GenesisMeter)meter).ReLogin();
|
||||
((GenesisMeter)meter).WriteLog("Prepare meter for Measurement/Adjustment ");
|
||||
_logger.Debug($"Prepare Meters for Measurement/Adjustment");
|
||||
if (isAdjustment)
|
||||
{
|
||||
((GenesisMeter)meter).InitCalibration();
|
||||
}
|
||||
//else
|
||||
//{
|
||||
// ((GenesisMeter)meter).InitMeasurement();
|
||||
//}
|
||||
else
|
||||
{
|
||||
((GenesisMeter)meter).InitMeasurement();
|
||||
}
|
||||
//// Reboot, HighPeresur
|
||||
////ReadOut Alarms, Show and reset
|
||||
//_logger.Debug($"Start CheckMetersAreReadyForTest");
|
||||
|
||||
}
|
||||
}));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
listOfTasksInit.ForEach(t => t.Start());
|
||||
Task.WaitAll(listOfTasksInit.ToArray());
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
UpdateBatch();
|
||||
}));
|
||||
|
||||
//CheckMetersAreReadyForTestStatic();
|
||||
setBusy(false, "", true);
|
||||
|
||||
}).ContinueWith(delegate
|
||||
{
|
||||
|
||||
CheckMetersAreReadyForTest();
|
||||
setBusy(false);
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -998,85 +1018,85 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
|
||||
private void CheckMetersAreReadyForTestStatic()
|
||||
{
|
||||
//var listOfTasks = new List<Task>();
|
||||
var listOfTasks = new List<Task>();
|
||||
|
||||
//foreach (var meter in batch.ListOfMeters)
|
||||
//{
|
||||
// listOfTasks.Add(new Task(() =>
|
||||
// {
|
||||
// if (!(meter is GenesisMeter))
|
||||
// {
|
||||
// return;
|
||||
// }
|
||||
// var i = 1;
|
||||
foreach (var meter in batch.ListOfMeters)
|
||||
{
|
||||
listOfTasks.Add(new Task(() =>
|
||||
{
|
||||
if (!(meter is GenesisMeter))
|
||||
{
|
||||
return;
|
||||
}
|
||||
var i = 1;
|
||||
|
||||
// var sleepTimeS = 1;
|
||||
// _logger.Debug($" Meter {meter.Slot} CheckMetersAreReadyForTest loops {i};delay {sleepTimeS}S");
|
||||
// ((GenesisMeter)meter).StartMeasurement();
|
||||
// var MeterReadyForTest = false;
|
||||
var sleepTimeS = 1;
|
||||
_logger.Debug($" Meter {meter.Slot} CheckMetersAreReadyForTest loops {i};delay {sleepTimeS}S");
|
||||
((GenesisMeter)meter).StartMeasurement();
|
||||
var MeterReadyForTest = false;
|
||||
|
||||
|
||||
|
||||
// while (i <= 7)
|
||||
// {
|
||||
// ((GenesisMeter)meter).RequestIntermediateMeasurementState(0);
|
||||
// Thread.Sleep(i * 2000);
|
||||
// i = i + 1;
|
||||
// try
|
||||
// {
|
||||
// var state = ((GenesisMeter)meter).GetMeasurementState(0);
|
||||
while (i <= 7 && !MeterReadyForTest)
|
||||
{
|
||||
((GenesisMeter)meter).RequestIntermediateMeasurementState(0);
|
||||
Thread.Sleep(i * 2000);
|
||||
i = i + 1;
|
||||
try
|
||||
{
|
||||
var state = ((GenesisMeter)meter).GetMeasurementState(0);
|
||||
|
||||
|
||||
// if (state != MeasurementStates.IsWaitingForStartData && state != MeasurementStates.NotStarted)
|
||||
// {
|
||||
if (state != MeasurementStates.IsWaitingForStartData && state != MeasurementStates.NotStarted)
|
||||
{
|
||||
|
||||
// var r = ((GenesisMeter)meter).GetMainMeasurementResult(null, null, true);
|
||||
var r = ((GenesisMeter)meter).GetMainMeasurementResult(null, null, true);
|
||||
|
||||
// if (r.DutVolumeCm != 0)
|
||||
// {
|
||||
// _logger.Info($" Meter {meter.Slot} Meter has progress (Volume{r.DutVolumeCm})");
|
||||
if (r.DutVolumeCm != 0)
|
||||
{
|
||||
_logger.Info($" Meter {meter.Slot} Meter has progress (Volume{r.DutVolumeCm})");
|
||||
|
||||
// MeterReadyForTest = true;
|
||||
// break;
|
||||
// }
|
||||
MeterReadyForTest = true;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
// }
|
||||
// _logger.Info($" Meter {meter.Slot} Meter no update display; loops left {i}; state {state}");
|
||||
}
|
||||
_logger.Info($" Meter {meter.Slot} Meter no update display; loops left {i}; state {state}");
|
||||
|
||||
// }
|
||||
// catch (Exception)
|
||||
// {
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
||||
// TryInvoke(new Action(() =>
|
||||
// {
|
||||
// updateCell($"Status", meter.Slot, $"Warte auf Zählerstand wechsel ", Color.LightYellow);
|
||||
// }));
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
updateCell($"Status", meter.Slot, $"Warte auf Zählerstand wechsel ", Color.LightYellow);
|
||||
}));
|
||||
|
||||
// }
|
||||
// ((GenesisMeter)meter).StopMeasurement();
|
||||
}
|
||||
((GenesisMeter)meter).StopMeasurement();
|
||||
|
||||
// if (!MeterReadyForTest)
|
||||
// {
|
||||
// //todo event remove meter
|
||||
// _logger.Info($" Meter {meter.Slot} Meter has NO! progress");
|
||||
// TryInvoke(new Action(() =>
|
||||
// {
|
||||
// updateCell($"Status", meter.Slot, $"Zählerstand wechsel nicht erfasst", Color.LightPink);
|
||||
// }));
|
||||
// }
|
||||
if (!MeterReadyForTest)
|
||||
{
|
||||
//todo event remove meter
|
||||
_logger.Info($" Meter {meter.Slot} Meter has NO! progress");
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
updateCell($"Status", meter.Slot, $"Zählerstand wechsel nicht erfasst", Color.LightPink);
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
// }));
|
||||
}));
|
||||
|
||||
//}
|
||||
}
|
||||
|
||||
//listOfTasks.ForEach(t => t.Start());
|
||||
//Task.WaitAll(listOfTasks.ToArray());
|
||||
listOfTasks.ForEach(t => t.Start());
|
||||
Task.WaitAll(listOfTasks.ToArray());
|
||||
|
||||
|
||||
}
|
||||
@@ -1084,96 +1104,96 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
|
||||
private void CheckMetersAreReadyForTest()
|
||||
{
|
||||
//_logger.Trace($"CheckMetersAreReadyForTest");
|
||||
//TryInvoke(new Action(() =>
|
||||
//{
|
||||
// lblAction.Text = "Warte auf Zählerstand wechsel von allen Zählern";
|
||||
_logger.Trace($"CheckMetersAreReadyForTest");
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
lblAction.Text = "Warte auf Zählerstand wechsel von allen Zählern";
|
||||
|
||||
//}));
|
||||
}));
|
||||
|
||||
|
||||
//var listOfTasks = new List<Task>();
|
||||
var listOfTasks = new List<Task>();
|
||||
|
||||
//foreach (var meter in batch.ListOfMeters)
|
||||
//{
|
||||
foreach (var meter in batch.ListOfMeters)
|
||||
{
|
||||
|
||||
|
||||
// if (!(meter is GenesisMeter))
|
||||
// {
|
||||
// if (!(meter is GenesisMeter))
|
||||
// {
|
||||
// continue;
|
||||
// }
|
||||
// }
|
||||
if (!(meter is GenesisMeter))
|
||||
{
|
||||
if (!(meter is GenesisMeter))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// TryInvoke(new Action(() =>
|
||||
// {
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
|
||||
// updateCell($"Status", meter.Slot, $"Warte auf Zählerstand wechsel", Color.LightYellow);
|
||||
// }));
|
||||
updateCell($"Status", meter.Slot, $"Warte auf Zählerstand wechsel", Color.LightYellow);
|
||||
}));
|
||||
|
||||
|
||||
// listOfTasks.Add(new Task(() =>
|
||||
// {
|
||||
// var i = 120;
|
||||
listOfTasks.Add(new Task(() =>
|
||||
{
|
||||
var i = 120;
|
||||
|
||||
// var sleepTimeS = 5;
|
||||
// _logger.Debug($" Meter {meter.Slot} CheckMetersAreReadyForTest loops {i};delay {sleepTimeS}S");
|
||||
// ((GenesisMeter)meter).StartMeasurement();
|
||||
// var MeterReadyForTest = false;
|
||||
// while (i >= 0)
|
||||
// {
|
||||
// Thread.Sleep(sleepTimeS * 1000);
|
||||
// try
|
||||
// {
|
||||
// var r = ((GenesisMeter)meter).GetMainMeasurementResult(null, null, true);
|
||||
// i = i - sleepTimeS;
|
||||
// if (r.DutVolumeCm != 0)
|
||||
// {
|
||||
// _logger.Info($" Meter {meter.Slot} Meter has progress {r.DutVolumeCm}");
|
||||
// TryInvoke(new Action(() =>
|
||||
// {
|
||||
// // updateCell($"Status", meter.Slot, $"Zählerstand wechsel erfasst Von:{r.DutStartRecord.GetVolumeCm()} Auf: {r.DutStopRecord.GetVolumeCm()}", Color.LimeGreen);
|
||||
// }));
|
||||
// MeterReadyForTest = true;
|
||||
// break;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// _logger.Info($" Meter {meter.Slot} Meter no update display {r.DutVolumeCm}; loops left {i}");
|
||||
// }
|
||||
// }
|
||||
// catch (Exception)
|
||||
// {
|
||||
var sleepTimeS = 5;
|
||||
_logger.Debug($" Meter {meter.Slot} CheckMetersAreReadyForTest loops {i};delay {sleepTimeS}S");
|
||||
((GenesisMeter)meter).StartMeasurement();
|
||||
var MeterReadyForTest = false;
|
||||
while (i >= 0)
|
||||
{
|
||||
Thread.Sleep(sleepTimeS * 1000);
|
||||
try
|
||||
{
|
||||
var r = ((GenesisMeter)meter).GetMainMeasurementResult(null, null, true);
|
||||
i = i - sleepTimeS;
|
||||
if (r.DutVolumeCm != 0)
|
||||
{
|
||||
_logger.Info($" Meter {meter.Slot} Meter has progress {r.DutVolumeCm}");
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
// updateCell($"Status", meter.Slot, $"Zählerstand wechsel erfasst Von:{r.DutStartRecord.GetVolumeCm()} Auf: {r.DutStopRecord.GetVolumeCm()}", Color.LimeGreen);
|
||||
}));
|
||||
MeterReadyForTest = true;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.Info($" Meter {meter.Slot} Meter no update display {r.DutVolumeCm}; loops left {i}");
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
|
||||
|
||||
// TryInvoke(new Action(() =>
|
||||
// {
|
||||
// updateCell($"Status", meter.Slot, $"Warte auf Zählerstand wechsel ", Color.LightYellow);
|
||||
// }));
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
updateCell($"Status", meter.Slot, $"Warte auf Zählerstand wechsel ", Color.LightYellow);
|
||||
}));
|
||||
|
||||
// }
|
||||
// ((GenesisMeter)meter).StopMeasurement();
|
||||
}
|
||||
((GenesisMeter)meter).StopMeasurement();
|
||||
|
||||
// if (MeterReadyForTest)
|
||||
// {
|
||||
// _logger.Info($" Meter {meter.Slot} Meter has NO! progress");
|
||||
// TryInvoke(new Action(() =>
|
||||
// {
|
||||
// updateCell($"Status", meter.Slot, $"Zählerstand wechsel nicht erfasst", Color.LightPink);
|
||||
// }));
|
||||
// }
|
||||
if (MeterReadyForTest)
|
||||
{
|
||||
_logger.Info($" Meter {meter.Slot} Meter has NO! progress");
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
updateCell($"Status", meter.Slot, $"Zählerstand wechsel nicht erfasst", Color.LightPink);
|
||||
}));
|
||||
}
|
||||
|
||||
// }));
|
||||
}));
|
||||
|
||||
|
||||
|
||||
//}
|
||||
//listOfTasks.ForEach(t => t.Start());
|
||||
//Task.WaitAll(listOfTasks.ToArray());
|
||||
}
|
||||
listOfTasks.ForEach(t => t.Start());
|
||||
Task.WaitAll(listOfTasks.ToArray());
|
||||
|
||||
}
|
||||
|
||||
@@ -1197,6 +1217,7 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
currentMode = Mode.AutoRefresh;
|
||||
//this.RefeshTimer.Enabled = true;
|
||||
}
|
||||
@@ -1858,7 +1879,7 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
try
|
||||
{
|
||||
var genesis = (GenesisMeter)basemeter;
|
||||
genesis.ReLogin();
|
||||
genesis.QuickLogin();
|
||||
genesis.BuildAndCheckCalibFactorsAllChannels(StoreRefVolume, StoretestTimeRef, calfactor);
|
||||
|
||||
//genesis.SetCalibFactorsAllChannels(true);
|
||||
|
||||
Reference in New Issue
Block a user