diff --git a/Common/.shared/SharedAssemblyInfo.cs b/Common/.shared/SharedAssemblyInfo.cs
index 4e2e3419..3176818f 100644
--- a/Common/.shared/SharedAssemblyInfo.cs
+++ b/Common/.shared/SharedAssemblyInfo.cs
@@ -13,4 +13,4 @@ using System.Reflection;
//
//[assembly: AssemblyVersion("1.2.*.0")]
-[assembly: AssemblyVersion("2.8.5.*")]
+[assembly: AssemblyVersion("2.8.6.*")]
diff --git a/Common/CommonCore.Configuration/ServiceUrlsBackUp_New.cs b/Common/CommonCore.Configuration/ServiceUrlsBackUp_New.cs
index 3ac4493b..e1d10030 100644
--- a/Common/CommonCore.Configuration/ServiceUrlsBackUp_New.cs
+++ b/Common/CommonCore.Configuration/ServiceUrlsBackUp_New.cs
@@ -34,6 +34,9 @@ namespace Xylem.Common.CommonCore.Configuration
private static readonly String DefaultGetOrderOverviewServiceUrl =
$"{ServerDns}/MeterProcessState/api/FinalCheck/GetOrderOverview?ProductionOrderNumber=";
+ private static readonly String DefaultGetOrderDetailsServiceUrl =
+ $"{ServerDns}/MeterProcessState/api/FinalCheck/GetOrderDetails?ProductionOrderNumber=";
+
private static readonly String DefaultDownloadFilesPartsServiceUrl =
$"{ServerDns}/MeterProcessState/api/FileUpToDate/GetFileParts?ParentFileId=";
@@ -260,6 +263,19 @@ namespace Xylem.Common.CommonCore.Configuration
DefaultGetOrderOverviewServiceUrl;
}
+ ///
+ /// Get Cordonel order details to check for order dependent requirements like
+ /// - MeterSize,
+ /// - FrequencyIndicator,
+ /// - PressurePresent.
+ ///
+ ///
+ public static String GetOrderDetailsServiceUrl()
+ {
+ return ConfigurationManager.AppSettings["GetOrderDetailsServiceUrl"] ??
+ DefaultGetOrderDetailsServiceUrl;
+ }
+
///
/// List all Cordonel FW packages.
///
diff --git a/Common/CordonelAssemblyLine/Model/PickingModel.cs b/Common/CordonelAssemblyLine/Model/PickingModel.cs
index 0bd3a717..4c3cb3a9 100644
--- a/Common/CordonelAssemblyLine/Model/PickingModel.cs
+++ b/Common/CordonelAssemblyLine/Model/PickingModel.cs
@@ -18,6 +18,7 @@ using Xylem.Common.Hardware.WaterMeter.Genesis.GenesisStatus;
using Xylem.Common.Hardware.WaterMeter.Genesis.Registers;
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore;
using Xylem.Common.Hardware.WaterMeter.WaterMeterCore.Consts;
+using Xylem.Common.Logic.ProductionOrderCore.OrderData;
using Xylem.Common.Logic.SoftwareAccessHelper;
using static Ui.ProductionControls.ctlPictureProgressBar;
diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
index 2094035f..63b00df7 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisMeter.cs
@@ -225,7 +225,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
///
public String MeterSize
{
- protected set; get;
+ set; get;
}
///
@@ -265,7 +265,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
///
public Boolean PressureSensorAssembled
{
- protected set; get;
+ set; get;
}
///
diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/IGenesisMeter.cs b/Common/Hardware/WaterMeter/Genesis/GenesisCore/IGenesisMeter.cs
index 51b8727b..b98331b9 100644
--- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/IGenesisMeter.cs
+++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/IGenesisMeter.cs
@@ -116,10 +116,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
///
/// This is the meter size.
///
- String MeterSize
- {
- get;
- }
+ String MeterSize { get; set; }
///
/// Length of the meter.
@@ -129,10 +126,7 @@ namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
///
/// Pressure sensor assembled to meter.
///
- Boolean PressureSensorAssembled
- {
- get;
- }
+ Boolean PressureSensorAssembled { get; set; }
///
/// Region (EMEA, NA or China).
diff --git a/Common/Logic.PrdoctionToProductMapper/Logic.ProductionToProductMapper.csproj b/Common/Logic.PrdoctionToProductMapper/Logic.ProductionToProductMapper.csproj
index 0ad69b62..8c6fc0c0 100644
--- a/Common/Logic.PrdoctionToProductMapper/Logic.ProductionToProductMapper.csproj
+++ b/Common/Logic.PrdoctionToProductMapper/Logic.ProductionToProductMapper.csproj
@@ -104,7 +104,6 @@
-
diff --git a/Common/Logic/ProductionOrderCore/OrderData/OrderDetailsDb.cs b/Common/Logic/ProductionOrderCore/OrderData/OrderDetailsDb.cs
index 95d95c2c..deea2085 100644
--- a/Common/Logic/ProductionOrderCore/OrderData/OrderDetailsDb.cs
+++ b/Common/Logic/ProductionOrderCore/OrderData/OrderDetailsDb.cs
@@ -1,10 +1,11 @@
-using System;
+using Newtonsoft.Json;
+using System;
using System.Collections.Generic;
-using Newtonsoft.Json;
using Xylem.Common.CommonCore.Configuration;
using Xylem.Common.CommonCore.Consts;
using Xylem.Common.Logic.SoftwareAccessHelper;
+
namespace Xylem.Common.Logic.ProductionOrderCore.OrderData
{
///
@@ -90,6 +91,46 @@ namespace Xylem.Common.Logic.ProductionOrderCore.OrderData
}
}
+ ///
+ /// Get Cordonel order details for production status:
+ /// - MeterSize,
+ /// - FrequencyIndicator,
+ /// - PressurePresent.
+ ///
+ ///
+ ///
+ ///
+ /// true if successful
+ ///
+ /// - Initial.
+ ///
+ public static Boolean GetOrderDetails(Int64 productionOrderNumber, String pcbId,
+ out PickingCompareItem orderDetails)
+ {
+ try
+ {
+ var url = ServiceUrls.GetOrderOverviewServiceUrl();
+ url += $@"{productionOrderNumber}&CheckPcbId={pcbId}";
+ var requestResponse = LocalWebRequest.GetRequest(url, hugeTimeoutDbRequest);
+ if (string.IsNullOrEmpty(requestResponse))
+ {
+ orderDetails = new PickingCompareItem(0, 0, false, null);
+ return false;
+ }
+
+ var o = JsonConvert.DeserializeObject(requestResponse);
+ orderDetails = new PickingCompareItem(o.PickingCompareItem.MeterSize, o.PickingCompareItem.FrequencyIndicator,
+ o.PickingCompareItem.PressurePresent, null);
+
+ return orderDetails != null;
+ }
+ catch (Exception)
+ {
+ orderDetails = new PickingCompareItem(0, 0, false, null);
+ return false;
+ }
+ }
+
///
/// Get Cordonel overview of production status:
/// - Order no.
diff --git a/Common/Logic.PrdoctionToProductMapper/Cordonel/PickingCompareItem.cs b/Common/Logic/ProductionOrderCore/OrderData/PickingCompareItem.cs
similarity index 96%
rename from Common/Logic.PrdoctionToProductMapper/Cordonel/PickingCompareItem.cs
rename to Common/Logic/ProductionOrderCore/OrderData/PickingCompareItem.cs
index c1ace792..116e94be 100644
--- a/Common/Logic.PrdoctionToProductMapper/Cordonel/PickingCompareItem.cs
+++ b/Common/Logic/ProductionOrderCore/OrderData/PickingCompareItem.cs
@@ -1,8 +1,7 @@
using System;
using System.Collections.Generic;
-using Xylem.Common.Logic.ProductionOrderCore.OrderData;
-namespace Logic.ProductionToProductMapper.Cordonel
+namespace Xylem.Common.Logic.ProductionOrderCore.OrderData
{
///
/// Picking check and process state.
diff --git a/Common/Logic/ProductionOrderCore/ProductionOrderCore.csproj b/Common/Logic/ProductionOrderCore/ProductionOrderCore.csproj
index a55c74f5..e4ae479e 100644
--- a/Common/Logic/ProductionOrderCore/ProductionOrderCore.csproj
+++ b/Common/Logic/ProductionOrderCore/ProductionOrderCore.csproj
@@ -133,6 +133,7 @@
+
diff --git a/Common/Production/ProductionUiCordonel/App.config b/Common/Production/ProductionUiCordonel/App.config
index 45ce790e..23952da7 100644
--- a/Common/Production/ProductionUiCordonel/App.config
+++ b/Common/Production/ProductionUiCordonel/App.config
@@ -34,7 +34,7 @@
-
+
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/DetectCordonel.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/DetectCordonel.cs
deleted file mode 100644
index a2f88dd5..00000000
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/DetectCordonel.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using System;
-using Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.GenericProcesses;
-
-namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolProcesses
-{
- public class DetectCordonel : BaseDetectCordonel
- {
- ///
- public DetectCordonel(String name) : base(name)
- {
- }
-
- ///
- protected override Boolean ValidateProcessAndPublishDataToGui()
- {
- return true;
- }
- }
-}
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/EolProcessStatesDef.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/EolProcessStatesDef.cs
index 138c4c13..2136da04 100644
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/EolProcessStatesDef.cs
+++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/EolProcesses/EolProcessStatesDef.cs
@@ -123,6 +123,14 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr
var stateContainer = new List
{
#region ----------------------------------- GENERIC-STATES---------------------------------------------
+ new ProcessStateStruct(
+ productionProcess: new DetectCordonel(Resources.StrStateDetectCordonel),
+ processState: ProcessState.DetectCordonel,
+ processInfo: Resources.StrStateDetectCordonel,
+ productionProcessNo: 0,
+ // CheckNewMeter will exit with repeated detect or connect
+ nextStateOnSuccess: ProcessState.CheckNewMeter),
+
new ProcessStateStruct(
productionProcess: new ConnectCordonel(Resources.StrStateConnectCordonel),
processState: ProcessState.ConnectCordonel,
@@ -153,14 +161,6 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.EolPr
#endregion -------------------------------- GENERIC-STATES --------------------------------------------
#region ----------------------------------- EOL-STATES ------------------------------------------------
- new ProcessStateStruct(
- productionProcess: new DetectCordonel(Resources.StrStateDetectCordonel),
- processState: ProcessState.DetectCordonel,
- processInfo: Resources.StrStateDetectCordonel,
- productionProcessNo: 0,
- // CheckNewMeter will exit with repeated detect or connect
- nextStateOnSuccess: ProcessState.CheckNewMeter),
-
// Precondition: - A new meter has to be detected
// Create (hidden) EOL progress for sentinel.
new ProcessStateStruct(
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs
index 40373aca..11a23721 100644
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs
+++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/ConnectCordonel.cs
@@ -18,7 +18,7 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
/// Connect initially to Cordonel.
/// Checks the ability to login as it gets the password from DB.
/// Precondition:
- /// - The process has to be completed as the PcbId is needed.
+ /// - The process has to be completed as the PcbId is needed.
///
///
///
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/BaseDetectCordonel.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/DetectCordonel.cs
similarity index 81%
rename from Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/BaseDetectCordonel.cs
rename to Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/DetectCordonel.cs
index 64ffcb16..18a18bad 100644
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/BaseDetectCordonel.cs
+++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/DetectCordonel.cs
@@ -9,13 +9,13 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
/// Production process detects the serial number of the Cordonel.
/// This is the indication, that a Cordonel is connected to the hardware interface.
///
- public abstract class BaseDetectCordonel : BaseProductionProcess
+ public class DetectCordonel : BaseProductionProcess
{
///
/// Ctor
/// Setup of name and single process state
///
- protected BaseDetectCordonel(String name) : base( name)
+ public DetectCordonel(String name) : base( name)
{
}
@@ -43,17 +43,12 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
// read the PcbId to validate Cordonel is attached
var retVal = !string.IsNullOrEmpty(Meter.GetPcbId());
- if (retVal && ValidateProcessAndPublishDataToGui())
+ if (retVal)
return StatusReturn.Okay;
ErrorMsgDispatcher(Resources.StrErrorMsgCordonelDetection);
return StatusReturn.Failed;
}
- ///
- /// Application differences in check result
- ///
- ///
- protected abstract Boolean ValidateProcessAndPublishDataToGui();
}
}
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/GetFinalParametrization.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/GetFinalParametrization.cs
index ce4b0dba..854de938 100644
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/GetFinalParametrization.cs
+++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/GenericProcesses/GetFinalParametrization.cs
@@ -27,7 +27,7 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Gener
///
/// Get programming parameters for Cordonel including VAKO and CSD
/// Precondition:
- /// - The process has to be completed as the PcbId is needed.
+ /// - The process has to be completed as the PcbId is needed.
///
///
///
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/CheckCordonelMapping.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/CheckCordonelMapping.cs
index 8ad59978..e3b0c1de 100644
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/CheckCordonelMapping.cs
+++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/CheckCordonelMapping.cs
@@ -1,7 +1,6 @@
using System;
using Xylem.Common.CommonCore.Consts;
-using Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Enum;
-using Xylem.Common.Production.ProductionUiCordonel.Properties;
+using Xylem.Common.Logic.ProductionOrderCore.OrderData;
namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.PickingProcesses
{
@@ -27,7 +26,7 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki
/// Precondition: - Detection of Cordonel has to be finished.
///
///
- ///
+ ///
/// - Initial
///
public override StatusReturn ExecuteProcess()
@@ -39,18 +38,25 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki
SignalRunningState();
- // TODO THW check order number and pcbid
- /* Order/GetCordonelMapping?PcbId=212120036
- "PcbId": "212120036",
- "CordonelAssignedPicking_FertigungsAuftragsNr": 3184020,
- "CordonelPressureTest_FertigungsAuftragsNr": 3184020,
- "MapPcbIdToSerialNumber_SerialNumber": 22718451*/
-
- var retVal = !string.IsNullOrEmpty(Meter.GetPcbId());
- if (retVal) return StatusReturn.Okay;
+ // Check mapping information
+ if (!OrderDetailsDb.GetCordonelMapping(Meter.PcbId, out var cordonelMapping))
+ {
+ return StatusReturn.Failed;
+ }
+ // Reserve picking for this device
- ErrorMsgDispatcher(Resources.StrErrorMsgCordonelDetection);
- return StatusReturn.Failed;
+ // Get detailed order information to set e.g. the correct meter size needed for LUT
+ // installation
+ if (!OrderDetailsDb.GetOrderDetails(Meter.OrderNumber, Meter.PcbId, out var orderDetails))
+ {
+ return StatusReturn.Failed;
+ }
+
+ // Meter has to be connected in advance being able to overwrite the meter size
+ Meter.MeterSize = MeterSizeConverter.ConvertMeterSizeEnumToSizeName((MeterSize)orderDetails.MeterSize);
+ Meter.PressureSensorAssembled = orderDetails.PressurePresent;
+
+ return StatusReturn.Okay;
}
}
}
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/DetectCordonel.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/DetectCordonel.cs
deleted file mode 100644
index 94d00760..00000000
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/DetectCordonel.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System;
-using Xylem.Common.Logic.ProductionOrderCore.OrderData;
-using Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.GenericProcesses;
-
-namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.PickingProcesses
-{
- public class DetectCordonel : BaseDetectCordonel
- {
- ///
- public DetectCordonel(String name) : base(name)
- {
- }
-
- ///
- protected override Boolean ValidateProcessAndPublishDataToGui()
- {
- // Check mapping information
- if (!OrderDetailsDb.GetCordonelMapping(Meter.PcbId, out var cordonelMapping))
- {
- return false;
- }
- // Reserve picking for this device
-
- return true;
- }
- }
-}
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/ExecInstallLut.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/ExecInstallLut.cs
index 0580f117..7427ddba 100644
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/ExecInstallLut.cs
+++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/ExecInstallLut.cs
@@ -45,6 +45,8 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki
try
{
var url = ServiceUrls.GetLutUrl();
+ // ATTENTION: Meter.MeterSize has to be preset from order.MeterSize as this is forced by order.
+ // If not doing so, the wrong LUT will be loaded!
url += $"?Metersize={(Int32)MeterSizeConverter.ConvertMeterSizeNameToEnum(Meter.MeterSize)}" +
$"&ForProd=true&Region={Meter.Region}";
var requestResponse = LocalWebRequest.GetRequest(url, 30000);
diff --git a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/PickingProcessStatesDef.cs b/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/PickingProcessStatesDef.cs
index d44bc787..499bbf85 100644
--- a/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/PickingProcessStatesDef.cs
+++ b/Common/Production/ProductionUiCordonel/ProductionProcesses/PickingProcesses/PickingProcessStatesDef.cs
@@ -32,7 +32,7 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki
/// INSTRUCTION FOR PREPARATION:
/// -----------------------------
/// STEP 1: Define some states for your processes
- /// STEP 2: Implement your processes like
+ /// STEP 2: Implement your processes like
/// STEP 3: Register and chain your states here
///
///
@@ -104,13 +104,22 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki
var stateContainer = new List
{
#region ----------------------------------- GENERIC-STATES---------------------------------------------
+ // Detection of Cordonel has to be completed before assigning next state, so leave to automatic
+ // to change the state after successfully execution. The detection is the base for all others.
+ new ProcessStateStruct(
+ productionProcess: new DetectCordonel(Resources.StrStateDetectCordonel),
+ processState: ProcessState.DetectCordonel,
+ processInfo: Resources.StrStateDetectCordonel,
+ productionProcessNo: 1,
+ nextStateOnSuccess: ProcessState.CheckNewMeter),
+
// Precondition: - The detection process has to be completed as the PcbId is needed.
new ProcessStateStruct(
productionProcess: new ConnectCordonel(Resources.StrStateConnectCordonel),
processState: ProcessState.ConnectCordonel,
processInfo: Resources.StrStateConnectCordonel,
- productionProcessNo: 3,
- nextStateOnSuccess: ProcessState.GetProgrammingParameters),
+ productionProcessNo: 2,
+ nextStateOnSuccess: ProcessState.CheckCordonelMapping),
// Precondition: - The connection process has to be completed as a readout of some register
// values from the Cordonel are needed to check the update capability:
@@ -120,9 +129,8 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki
processState: ProcessState.GetProgrammingParameters,
processInfo: Resources.StrStateGetProgrammingParameters,
productionProcessNo: 4,
- nextStateOnSuccess: ProcessState.InstallLut,
- // Wait before starting this process until this process has been successfully completed
- waitForSingleProcess: ProcessState.ConnectCordonel),
+ nextStateOnSuccess: ProcessState.InstallLut),
+
#endregion -------------------------------- GENERIC-STATES --------------------------------------------
#region ----------------------------------- PICKING-STATES --------------------------------------------
@@ -134,23 +142,19 @@ namespace Xylem.Common.Production.ProductionUiCordonel.ProductionProcesses.Picki
productionProcessNo: 0,
nextStateOnSuccess: ProcessState.DetectCordonel),
- // Detection of Cordonel has to be completed before assigning next state, so leave to automatic
- // to change the state after successfully execution. The detection is the base for all others.
- new ProcessStateStruct(
- productionProcess: new DetectCordonel(Resources.StrStateDetectCordonel),
- processState: ProcessState.DetectCordonel,
- processInfo: Resources.StrStateDetectCordonel,
- productionProcessNo: 1,
- nextStateOnSuccess: ProcessState.CheckCordonelMapping),
-
- // Detection of Cordonel has to be completed before assigning next state, so leave to automatic
- // to change the state after successfully execution. The detection is the base for all others.
+ // Connection of Cordonel has to be completed before assigning next state, so leave to automatic
+ // to change the state after successfully execution. Meter has to be connected in advance being able to
+ // overwrite the meter size based on the order details. The initial meter size in connect Cordonel will
+ // be set by reading the Cordonel out. But a new meter size may be forced by the order needed to change
+ // it and install the correct LUT
new ProcessStateStruct(
productionProcess: new CheckCordonelMapping(Resources.StrStateCheckCordonelMapping),
processState: ProcessState.CheckCordonelMapping,
processInfo: Resources.StrStateCheckCordonelMapping,
- productionProcessNo: 2,
- nextStateOnSuccess: ProcessState.CheckNewMeter),
+ productionProcessNo: 3,
+ nextStateOnSuccess: ProcessState.GetProgrammingParameters,
+ // Wait before starting this process until this process has been successfully completed
+ waitForSingleProcess: ProcessState.ConnectCordonel),
// Connection of Cordonel has to be completed so leave to automatic
new ProcessStateStruct(
diff --git a/Common/Production/ProductionUiCordonel/ProductionUiCordonel.csproj b/Common/Production/ProductionUiCordonel/ProductionUiCordonel.csproj
index 47fdd36f..2f6558c7 100644
--- a/Common/Production/ProductionUiCordonel/ProductionUiCordonel.csproj
+++ b/Common/Production/ProductionUiCordonel/ProductionUiCordonel.csproj
@@ -168,7 +168,6 @@
-
@@ -178,7 +177,7 @@
-
+
@@ -186,7 +185,6 @@
-