pui and legaxy fix (no no static check for meters)
This commit is contained in:
@@ -45,8 +45,8 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
|
||||
private void PreMeasurement()
|
||||
{
|
||||
//if (!SkipPreparationForTestBench)
|
||||
//{
|
||||
if (!SkipPreparationForTestBench)
|
||||
{
|
||||
|
||||
//TODO set display unit
|
||||
//TODO calculated overflow volume for display
|
||||
@@ -89,11 +89,11 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
|
||||
WriteRegister(Register.Genesisflow.StoreConfiguration, 1);
|
||||
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// WriteLog($"wait for measurement is starting");
|
||||
//}
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteLog($"wait for measurement is starting");
|
||||
}
|
||||
ProcessStatus = ProcessState.WaitForMeasurement;
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -1 +1 @@
|
||||
1a3d4919c9c702245832d925951f2b7cb72fc333
|
||||
5ed75d99ee45ff67821090f1b3dbb001dd9e4fe3
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
{
|
||||
EMEA_433,
|
||||
EMEA_868,
|
||||
NA
|
||||
NA,
|
||||
EMEA
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,19 +65,6 @@ namespace Xylem.Common.Logic.ProductionOrderCore.OrderData
|
||||
ret.Add(new ProgrammingParameters("SENSUSRADIO_ImpedanceCodeOption", BitConverter.GetBytes(radioParams.ImpedanceCodeOption).Reverse().ToArray()));
|
||||
}
|
||||
|
||||
if (orderNr == 3144128)
|
||||
{
|
||||
orderNr = 3179323;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
if (orderNr == 3148219)
|
||||
{
|
||||
orderNr = 3179323;
|
||||
}
|
||||
|
||||
var rawVako = VakoDbAdapter.GetRawVako(connectionString, orderNr);
|
||||
var rawMapping = VakoDbAdapter.GetVakoMapping(connectionString, rawVako.Type);
|
||||
var vakoData = VakoParser.Parse(rawVako, rawMapping);
|
||||
|
||||
@@ -7,9 +7,7 @@
|
||||
xmlns:uc="clr-namespace:ProductionUiCordonel"
|
||||
mc:Ignorable="d"
|
||||
Title="Cordonel Production UI" MinHeight="500" MinWidth="400" Height="600" Width="644" Initialized="Window_Initialized" Closing="Window_Closing">
|
||||
<Window.Resources>
|
||||
<local:QuantityToBackgroundConverter x:Key="BackgroundConverter" />
|
||||
</Window.Resources>
|
||||
|
||||
<DockPanel HorizontalAlignment="Right" Width="634" Height="569" VerticalAlignment="Top" Margin="0,0,2,0">
|
||||
<ToolBarTray DockPanel.Dock="Top">
|
||||
<ToolBar>
|
||||
|
||||
@@ -23,35 +23,35 @@ using Xylem.Common.Logic.SoftwareAccessHelper;
|
||||
|
||||
namespace ProductionUiCordonel
|
||||
{
|
||||
public class QuantityToBackgroundConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
var dc = DisplayCodes.None;
|
||||
//public class QuantityToBackgroundConverter : IValueConverter
|
||||
//{
|
||||
// public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
// {
|
||||
// var dc = DisplayCodes.None;
|
||||
|
||||
if (DisplayCodes.TryParse(value.ToString(), out dc))
|
||||
{
|
||||
string hex = "";
|
||||
int intValue;
|
||||
if (int.TryParse(value.ToString(), out intValue))
|
||||
{
|
||||
hex = intValue.ToString("X");
|
||||
}
|
||||
return $"{dc} ({hex})";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "?";
|
||||
}
|
||||
// if (DisplayCodes.TryParse(value.ToString(), out dc))
|
||||
// {
|
||||
// string hex = "";
|
||||
// int intValue;
|
||||
// if (int.TryParse(value.ToString(), out intValue))
|
||||
// {
|
||||
// hex = intValue.ToString("X");
|
||||
// }
|
||||
// return $"{dc} ({hex})";
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// return "?";
|
||||
// }
|
||||
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
// public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
// {
|
||||
// throw new NotImplementedException();
|
||||
// }
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// Interaction logic for MainWindow.xaml
|
||||
|
||||
+1
-2
@@ -150,8 +150,7 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
}
|
||||
reTrysLeft = reTrysLeft - 1;
|
||||
|
||||
currentProcessState = ProductionProcessState.Done;
|
||||
return;
|
||||
currentProcessState = ProductionProcessState.Error;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -679,7 +679,7 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
{
|
||||
TestsetuptContainer.meterTestSettings[slot] = new MeterTestSettings() { SerialNr = serialNumber, Slot = slot, FlowAdjustment = true, FlowTesting = true };
|
||||
}
|
||||
AddMeter(serialNumber, slot, false);
|
||||
AddMeter(serialNumber, slot, true);
|
||||
}
|
||||
|
||||
public void RemoveMeter(int slot)
|
||||
@@ -957,13 +957,13 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
{
|
||||
((GenesisMeter)meter).InitCalibration();
|
||||
}
|
||||
else
|
||||
{
|
||||
((GenesisMeter)meter).InitMeasurement();
|
||||
}
|
||||
// Reboot, HighPeresur
|
||||
//ReadOut Alarms, Show and reset
|
||||
_logger.Debug($"Start CheckMetersAreReadyForTest");
|
||||
//else
|
||||
//{
|
||||
// ((GenesisMeter)meter).InitMeasurement();
|
||||
//}
|
||||
//// Reboot, HighPeresur
|
||||
////ReadOut Alarms, Show and reset
|
||||
//_logger.Debug($"Start CheckMetersAreReadyForTest");
|
||||
|
||||
}
|
||||
}));
|
||||
@@ -971,18 +971,15 @@ namespace XylemCommonUiLegacyGenCtl
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
listOfTasks.ForEach(t => t.Start());
|
||||
Task.WaitAll(listOfTasks.ToArray());
|
||||
listOfTasksInit.ForEach(t => t.Start());
|
||||
Task.WaitAll(listOfTasksInit.ToArray());
|
||||
TryInvoke(new Action(() =>
|
||||
{
|
||||
UpdateBatch();
|
||||
}));
|
||||
setBusy(false, "", true);
|
||||
|
||||
//CheckMetersAreReadyForTestStatic();
|
||||
setBusy(false, "", true);
|
||||
|
||||
}).ContinueWith(delegate
|
||||
{
|
||||
@@ -1001,85 +998,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)
|
||||
// {
|
||||
// ((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());
|
||||
|
||||
|
||||
}
|
||||
@@ -1087,96 +1084,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());
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user