fix legacys bux with karsten

This commit is contained in:
Roland Drabesch 2025-02-04 10:06:57 +01:00
parent 30c0436fbb
commit 14d897ba10
13 changed files with 114 additions and 63 deletions

View File

@ -3,7 +3,7 @@
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<variable name="BasePath" value="C:\GenesisLog2\"/>
<variable name="BasePath" value="\\delaz1fsops01\cordonelds$"/>
<targets>
<!--CalibrationHelper-->

View File

@ -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();

View File

@ -1 +1 @@
89102b0142e574de38a9f47d370f3334e5e6c268
c43c40a030005a8f189e6179faf40a6d42bfef5c

1
Common/LaaPackages Submodule

@ -0,0 +1 @@
Subproject commit 466fafaf46e31503975195fc911d6182971fa10b

View File

@ -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;
}

View File

@ -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] []

View File

@ -1 +1 @@
338bdd8d71c148c9df0972f903098eb23eacf0c9
65d75c3322f8a137c69963cfdc0cb6f1ffacf62a

View File

@ -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; }

View File

@ -34,6 +34,7 @@ namespace XylemCommonUiLegacyGenCtl
/// FlowTesting (for Test run--> if a Flowtesting will be done)</param>
void SetTestSetupContainer(dynamic container);
dynamic GetTestSetupContainer();
/// <summary>
/// Init GUI

View File

@ -27,6 +27,9 @@ namespace XylemCommonUiLegacyGenCtl
void SetMetersize(int v);
int GetMetersize();
void SetTestRun(int v);
void SetDelayInSBeforStart(int v);
int GetDelayInSBeforStart();

View File

@ -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)
{
}
}
}
}

View File

@ -40,8 +40,13 @@ namespace XylemCommonUiLegacyGenCtl
return testSetup.AllChanelsRequired;
}
public void SetTestRun(int v)
{
HanldWrongInput();
testSetup.TestRunNumber = v;
}
public int GetDelayInSBeforStart()
{
if (testSetup == null)

View File

@ -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<Boolean, Int32>(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();