From 14d897ba10530467cebf54b0d8fa43cf34df23b3 Mon Sep 17 00:00:00 2001 From: Roland Drabesch Date: Tue, 4 Feb 2025 10:06:57 +0100 Subject: [PATCH] fix legacys bux with karsten --- Common/.shared/NlogConfig.xml | 2 +- .../PreAdjustmentControl.cs | 2 +- ...erRegisters.csproj.CoreCompileInputs.cache | 2 +- Common/LaaPackages | 1 + .../OrderData/ScanToSerialNr.cs | 7 +- Common/ProductionUiCordonel/FinalTest.xaml.cs | 12 +-- ...ToXlsHelper.csproj.CoreCompileInputs.cache | 2 +- .../DataPackage/TestSetupContainer.cs | 4 + Common/Ui/LegacyGenesisControl/ICtlBatch.cs | 1 + Common/Ui/LegacyGenesisControl/ITstCont.cs | 3 + Common/Ui/LegacyGenesisControl/PreAdjWr.cs | 39 +++++--- Common/Ui/LegacyGenesisControl/TstContHlp.cs | 7 +- Common/Ui/LegacyGenesisControl/ctlBatch.cs | 95 +++++++++++-------- 13 files changed, 114 insertions(+), 63 deletions(-) create mode 160000 Common/LaaPackages diff --git a/Common/.shared/NlogConfig.xml b/Common/.shared/NlogConfig.xml index 454f2fee..fbf263fd 100644 --- a/Common/.shared/NlogConfig.xml +++ b/Common/.shared/NlogConfig.xml @@ -3,7 +3,7 @@ - + diff --git a/Common/CordonelPreadjustmentUi/PreAdjustmentControl.cs b/Common/CordonelPreadjustmentUi/PreAdjustmentControl.cs index e5a468d6..3db5e413 100644 --- a/Common/CordonelPreadjustmentUi/PreAdjustmentControl.cs +++ b/Common/CordonelPreadjustmentUi/PreAdjustmentControl.cs @@ -38,7 +38,7 @@ namespace CordonelPreadjustmentUi private MeterBatch ThermoMeterBatch = new MeterBatch(); private Boolean abortIndicator = false; public Boolean AbortIndicator { get { return abortIndicator; } set { abortIndicator = value; } } - + public int TestRunNumber; public PreAdjustmentControl(PreAdjustmentSettingsContainer Settings = null) { InitializeComponent(); diff --git a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache index 8865d283..d110f5fc 100644 --- a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache +++ b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -89102b0142e574de38a9f47d370f3334e5e6c268 +c43c40a030005a8f189e6179faf40a6d42bfef5c diff --git a/Common/LaaPackages b/Common/LaaPackages new file mode 160000 index 00000000..466fafaf --- /dev/null +++ b/Common/LaaPackages @@ -0,0 +1 @@ +Subproject commit 466fafaf46e31503975195fc911d6182971fa10b diff --git a/Common/Logic/ProductionOrderCore/OrderData/ScanToSerialNr.cs b/Common/Logic/ProductionOrderCore/OrderData/ScanToSerialNr.cs index f546f683..7afbfefe 100644 --- a/Common/Logic/ProductionOrderCore/OrderData/ScanToSerialNr.cs +++ b/Common/Logic/ProductionOrderCore/OrderData/ScanToSerialNr.cs @@ -69,7 +69,12 @@ namespace Xylem.Common.Logic.ProductionOrderCore.OrderData if (int.TryParse(customerSr, out var retCustom)) { - internalSerialNr = retCustom; + if (retCustom.ToString().Length == "18795584".Length) + { + internalSerialNr = retCustom; + } + + return true; } diff --git a/Common/ProductionUiCordonel/FinalTest.xaml.cs b/Common/ProductionUiCordonel/FinalTest.xaml.cs index 108a13c5..ba711ebd 100644 --- a/Common/ProductionUiCordonel/FinalTest.xaml.cs +++ b/Common/ProductionUiCordonel/FinalTest.xaml.cs @@ -436,13 +436,13 @@ namespace ProductionUiCordonel pc.Processes.Add(new ProductionProcessShippingMode(true, true)); //[] [] [] - var radioCheck = new ProductionProcessRadioCheck(); + //var radioCheck = new ProductionProcessRadioCheck(); - orderBarcode.isDone += delegate (object sender, EventArgs e) - { - radioCheck.Ordernumber = ((ProductionProcessCheckOrderNumber)sender).Ordernumber; - }; - pc.Processes.Add(radioCheck); //[] [] [] + //orderBarcode.isDone += delegate (object sender, EventArgs e) + //{ + // radioCheck.Ordernumber = ((ProductionProcessCheckOrderNumber)sender).Ordernumber; + //}; + //pc.Processes.Add(radioCheck); //[] [] [] //pc.Processes.Add(new ProductionProcessSpecialConfig()); //[x] [x] [] diff --git a/Common/Tools/Tools.JsonToXlsHelper/obj/Debug/Tools.JsonToXlsHelper.csproj.CoreCompileInputs.cache b/Common/Tools/Tools.JsonToXlsHelper/obj/Debug/Tools.JsonToXlsHelper.csproj.CoreCompileInputs.cache index dd8c285d..84b6b3be 100644 --- a/Common/Tools/Tools.JsonToXlsHelper/obj/Debug/Tools.JsonToXlsHelper.csproj.CoreCompileInputs.cache +++ b/Common/Tools/Tools.JsonToXlsHelper/obj/Debug/Tools.JsonToXlsHelper.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -338bdd8d71c148c9df0972f903098eb23eacf0c9 +65d75c3322f8a137c69963cfdc0cb6f1ffacf62a diff --git a/Common/Ui/LegacyGenesisControl/DataPackage/TestSetupContainer.cs b/Common/Ui/LegacyGenesisControl/DataPackage/TestSetupContainer.cs index 91886aba..6d87a299 100644 --- a/Common/Ui/LegacyGenesisControl/DataPackage/TestSetupContainer.cs +++ b/Common/Ui/LegacyGenesisControl/DataPackage/TestSetupContainer.cs @@ -23,6 +23,10 @@ namespace XylemCommonUiLegacyGenCtl.DataPackage public bool ProductionMode { get; set; } + public int TestRunNumber { get; set; } + + + public MeterTestSettings[] meterTestSettings { get; set; } public MeterTestResults[] meterTestResults { get; set; } diff --git a/Common/Ui/LegacyGenesisControl/ICtlBatch.cs b/Common/Ui/LegacyGenesisControl/ICtlBatch.cs index 7845958d..18a85494 100644 --- a/Common/Ui/LegacyGenesisControl/ICtlBatch.cs +++ b/Common/Ui/LegacyGenesisControl/ICtlBatch.cs @@ -34,6 +34,7 @@ namespace XylemCommonUiLegacyGenCtl /// FlowTesting (for Test run--> if a Flowtesting will be done) void SetTestSetupContainer(dynamic container); + dynamic GetTestSetupContainer(); /// /// Init GUI diff --git a/Common/Ui/LegacyGenesisControl/ITstCont.cs b/Common/Ui/LegacyGenesisControl/ITstCont.cs index 154072fc..025d3410 100644 --- a/Common/Ui/LegacyGenesisControl/ITstCont.cs +++ b/Common/Ui/LegacyGenesisControl/ITstCont.cs @@ -27,6 +27,9 @@ namespace XylemCommonUiLegacyGenCtl void SetMetersize(int v); int GetMetersize(); + + void SetTestRun(int v); + void SetDelayInSBeforStart(int v); int GetDelayInSBeforStart(); diff --git a/Common/Ui/LegacyGenesisControl/PreAdjWr.cs b/Common/Ui/LegacyGenesisControl/PreAdjWr.cs index 7d6cc7e8..8611e998 100644 --- a/Common/Ui/LegacyGenesisControl/PreAdjWr.cs +++ b/Common/Ui/LegacyGenesisControl/PreAdjWr.cs @@ -273,6 +273,8 @@ namespace XylemCommonUiLegacyGenCtl wrappedControl.EnableMeter(item.Slot, true, item.SerialNr); } } + wrappedControl.TestRunNumber = TestsetuptContainer != null ? TestsetuptContainer.TestRunNumber : 0; + wrappedControl.AutoStart(); } @@ -287,20 +289,31 @@ namespace XylemCommonUiLegacyGenCtl var t = new Task(() => { + - foreach (var item in TestsetuptContainer?.meterTestSettings) - { - if (item != null && item.PreAdjustment && item.meterType == MeterTypes.MagFlux) + + foreach (var item in TestsetuptContainer?.meterTestSettings) { - var newMeter = new MagFluxMeter(); - newMeter.SetupFromConfigFile(item.Slot); - newMeter.Login(); - newMeter.SerialNumber = item.SerialNr; + try + { + if (item != null && item.PreAdjustment && item.meterType == MeterTypes.MagFlux) + { + var newMeter = new MagFluxMeter(); + newMeter.SetupFromConfigFile(item.Slot); + newMeter.Login(); + newMeter.SerialNumber = item.SerialNr; - meterBatch.AddMeter(newMeter); - newMeter.InitCalibration(); + meterBatch.AddMeter(newMeter); + newMeter.InitCalibration(); + } + } + catch (Exception ex) + { + + MessageBox.Show("Meter init error:" + ex.Message); } } + meterBatch.MetersStartMeasurement(); @@ -366,7 +379,7 @@ namespace XylemCommonUiLegacyGenCtl MessageBox.Show("Meter add results:" + ex.Message); } - + mfMeter.Logout(); try { @@ -374,10 +387,10 @@ namespace XylemCommonUiLegacyGenCtl } catch (Exception) { - + } - - + + } } } diff --git a/Common/Ui/LegacyGenesisControl/TstContHlp.cs b/Common/Ui/LegacyGenesisControl/TstContHlp.cs index 66ceb4b2..575d397e 100644 --- a/Common/Ui/LegacyGenesisControl/TstContHlp.cs +++ b/Common/Ui/LegacyGenesisControl/TstContHlp.cs @@ -40,8 +40,13 @@ namespace XylemCommonUiLegacyGenCtl return testSetup.AllChanelsRequired; } + public void SetTestRun(int v) + { + HanldWrongInput(); + testSetup.TestRunNumber = v; + } - + public int GetDelayInSBeforStart() { if (testSetup == null) diff --git a/Common/Ui/LegacyGenesisControl/ctlBatch.cs b/Common/Ui/LegacyGenesisControl/ctlBatch.cs index fc423940..7c1d17b4 100644 --- a/Common/Ui/LegacyGenesisControl/ctlBatch.cs +++ b/Common/Ui/LegacyGenesisControl/ctlBatch.cs @@ -1019,7 +1019,7 @@ namespace XylemCommonUiLegacyGenCtl if (TestSetupContainer.meterTestSettings.Any(s => s != null && s.Slot == slot && s.PreAdjustment)) { - //MessageBox.Show($"has meter with Zeroflow {slot}"); + //essageBox.Show($"has meter with Zeroflow {slot}"); var result = TestSetupContainer.meterTestResults.First(s => s != null && s.Slot == slot); sb.AppendLine($"Results: {result.SerialNr} on ep. {result.Slot}"); @@ -1071,18 +1071,26 @@ namespace XylemCommonUiLegacyGenCtl } } - meter.SetProcessState(state); + if (meter is GenesisMeter genMeter) { - if (!genMeter.IsLoggedOn) + try { - genMeter.Login(); + if (!genMeter.IsLoggedOn) + { + genMeter.Login(); + } + meter.SetProcessState(state); + genMeter.WriteRegister(Register.Genesisflow.SampleRate, 2); + genMeter.WriteRegister(Register.Genesisflow.LedMode, 0); + meter.WriteLog($"MeterIsDone {state} {genMeter.LutCrc }"); + } + catch (Exception ex) + { + meter.WriteLog($"MeterIsDone {state} with ex {ex.Message}"); } - genMeter.WriteRegister(Register.Genesisflow.SampleRate, 2); - genMeter.WriteRegister(Register.Genesisflow.LedMode, 0); - meter.WriteLog($"MeterIsDone {state} {genMeter.LutCrc }"); } else { @@ -1275,8 +1283,8 @@ namespace XylemCommonUiLegacyGenCtl } Thread.Sleep(sleepTimeS * 1000); - //Run as long the Checktime is not zero or we dont have a meter left without progress - while (TotalTimeForCheck >= 0 && SlotsWithoutProgress.Any()) + //Run as long the Checktime is not zero or we dont have a meter left without progress + while (TotalTimeForCheck >= 0 && SlotsWithoutProgress.Any()) { Thread.Sleep(sleepTimeS * 1000); TotalTimeForCheck -= sleepTimeS; @@ -1291,13 +1299,13 @@ namespace XylemCommonUiLegacyGenCtl { var r = ((GenesisMeter)meter).GetMainMeasurementResult(null, null, true); - //when Start and Stop Record have different Volumes the meter is ready for test, - //if a measurement hasn't finished, the StopRecord is an intermediate record, as - //this will be used for intermediate tolerance calculation. - //ReSharper disable once CompareOfFloatsByEqualityOperator as the rounding will take place in the - //Cordonel and only an unequally value needs to be detected - //when Start and Stop Record have diffrent Volumes the meter is ready for test - if (r.DutStartRecord.GetVolumeCm() != r.DutStopRecord.GetVolumeCm()) + //when Start and Stop Record have different Volumes the meter is ready for test, + //if a measurement hasn't finished, the StopRecord is an intermediate record, as + //this will be used for intermediate tolerance calculation. + //ReSharper disable once CompareOfFloatsByEqualityOperator as the rounding will take place in the + //Cordonel and only an unequally value needs to be detected + //when Start and Stop Record have diffrent Volumes the meter is ready for test + if (r.DutStartRecord.GetVolumeCm() != r.DutStopRecord.GetVolumeCm()) { _logger.Info($" Meter {meter.Slot} Meter has progress {r.DutVolumeCm}"); ((GenesisMeter)meter).StopMeasurement(); @@ -1480,8 +1488,8 @@ namespace XylemCommonUiLegacyGenCtl else { Int32 retrys = 0; - //remove channel filter 0 - var onlyChnl = _checkAllChannels ? null : (Int32?)0; + //remove channel filter 0 + var onlyChnl = _checkAllChannels ? null : (Int32?)0; while (item.GetMeasurementState(onlyChnl) != MeasurementStates.IsCompleted && retrys < nrOfRetrys) { @@ -1582,7 +1590,7 @@ namespace XylemCommonUiLegacyGenCtl { t = MeasurementDirection.TakeOnlyForward; } - if (testset.meterType == MeterTypes.eRegister) + if (testset.meterType == MeterTypes.eRegister) { t = MeasurementDirection.TakeBoth; } @@ -1632,13 +1640,13 @@ namespace XylemCommonUiLegacyGenCtl // { // _logger.Debug($"Error Cound:CHNL {item.Key} : Total count {item.Value.Item1} ; last error {item.Value.Item2}"); // } - + // } //} //catch (Exception) //{ - + //} var sbError = string.Empty; @@ -1861,17 +1869,17 @@ namespace XylemCommonUiLegacyGenCtl PredictedTs = predictedTs; RefError = refError; currentMode = Mode.AutoRefresh; - //this.RefreshTimer.Interval = 10000; - //this.RefreshTimer.Tick += new EventHandler(this.RefreshTimer_Tick); - //this.RefreshTimer.Enabled = true; - pgbUpdate.Maximum = 10000; + //this.RefreshTimer.Interval = 10000; + //this.RefreshTimer.Tick += new EventHandler(this.RefreshTimer_Tick); + //this.RefreshTimer.Enabled = true; + pgbUpdate.Maximum = 10000; updateLabelCollection(); ExpertMode(cbxExpert.Checked); - // dgvBatch.Size = new Size(SizeOfMeter, dgvBatch.Size.Height); - pgbEndTime.Maximum = (Int32)predictedTs; + // dgvBatch.Size = new Size(SizeOfMeter, dgvBatch.Size.Height); + pgbEndTime.Maximum = (Int32)predictedTs; })); } @@ -2020,6 +2028,7 @@ namespace XylemCommonUiLegacyGenCtl { prefix = $"Pfad {channelResult.Channel} "; } + updateCell($"{prefix}Druchfluss [m³/h]", _meter.Slot, channelResult.DutFlowRateCmPh ?? 0, 4); updateCell($"{prefix}Volumen [m³]", _meter.Slot, Math.Abs(channelResult.DutVolumeCm), 4); updateCell($"{prefix}Zeit [S]", _meter.Slot, channelResult.DutTimeS); @@ -2028,6 +2037,10 @@ namespace XylemCommonUiLegacyGenCtl updateCell($"{prefix}Fehler [%]", _meter.Slot, channelResult.DeviationDutToRefPer.Value, 2, getErrorColor(channelResult.DeviationDutToRefPer.Value, _meter.Slot)); + if (channelResult.Channel == 0) + { + _logger.Info($"CurrentDeviation on {_meter.Slot} = {channelResult.DeviationDutToRefPer.Value}% (DutFlow:{channelResult.DutFlowRateCmPh}, CurrentRefVolume: {CurrentRefVolume}, testTime: {testTime})"); + } } else { @@ -2051,9 +2064,9 @@ namespace XylemCommonUiLegacyGenCtl currentMode = Mode.View; TryInvoke(new Action(() => { - //this.RefreshTimer.Enabled = false; - //this.pnlEndTime.Visible = false; - })); + //this.RefreshTimer.Enabled = false; + //this.pnlEndTime.Visible = false; + })); } else { @@ -2062,8 +2075,8 @@ namespace XylemCommonUiLegacyGenCtl TryInvoke(new Action(() => { - //this.RefreshTimer.Enabled = true; - })); + //this.RefreshTimer.Enabled = true; + })); stopWatch.Start(); } @@ -2111,8 +2124,8 @@ namespace XylemCommonUiLegacyGenCtl { if (item is GenesisMeter) { - // ((GenesisMeter)item).(); - } + // ((GenesisMeter)item).(); + } } Thread.Sleep(1000); @@ -2180,8 +2193,8 @@ namespace XylemCommonUiLegacyGenCtl genesis.ReLogin(); genesis.BuildAndCheckCalibFactorsAllChannels(StoreRefVolume, StoreTestTimeRef, calFactor); - //genesis.SetCalibFactorsAllChannels(true); - genesis.SetCalibFactorsAllChannels(); + //genesis.SetCalibFactorsAllChannels(true); + genesis.SetCalibFactorsAllChannels(); return new Tuple(true, baseMeter.Slot); } @@ -2202,8 +2215,8 @@ namespace XylemCommonUiLegacyGenCtl var t = new Task(() => { - // ReSharper disable once CoVariantArrayConversion - Task.WaitAll(taskList.ToArray()); + // ReSharper disable once CoVariantArrayConversion + Task.WaitAll(taskList.ToArray()); Boolean overallResult = true; foreach (var item in taskList) @@ -2437,6 +2450,12 @@ namespace XylemCommonUiLegacyGenCtl _currentState = BatchState.Error; } + public dynamic GetTestSetupContainer() + { + return TestSetupContainer; + } + + private void timStateMachine_Tick(Object sender, EventArgs e) { CtlBatchStateMachine();