adding NA meters to the Proccess (Picking, Webservice and Finaltest)
This commit is contained in:
+1
-1
@@ -1 +1 @@
|
||||
46bd00889699f5a20a4981a22f62b66368323855
|
||||
5ed75d99ee45ff67821090f1b3dbb001dd9e4fe3
|
||||
|
||||
@@ -44,6 +44,8 @@ namespace Xylem.Common.Logic.ProductionOrderCore.OrderData
|
||||
|
||||
}
|
||||
var radioParams = OrderRadioParameter.GetRadioParams(pcbID, connectionString);
|
||||
if (radioParams.RadioAddress != 0)
|
||||
{
|
||||
|
||||
ret.Add(new ProgrammingParameters("SENSUSRADIO_RadioAddress", BitConverter.GetBytes(radioParams.RadioAddress).Reverse().ToArray()));
|
||||
|
||||
@@ -64,7 +66,7 @@ namespace Xylem.Common.Logic.ProductionOrderCore.OrderData
|
||||
ret.Add(new ProgrammingParameters("SENSUSRADIO_ImpedanceCodeNew", BitConverter.GetBytes(radioParams.ImpedanceCodeNew).Reverse().ToArray()));
|
||||
ret.Add(new ProgrammingParameters("SENSUSRADIO_ImpedanceCodeOption", BitConverter.GetBytes(radioParams.ImpedanceCodeOption).Reverse().ToArray()));
|
||||
}
|
||||
|
||||
}
|
||||
var rawVako = VakoDbAdapter.GetRawVako(connectionString, orderNr);
|
||||
var rawMapping = VakoDbAdapter.GetVakoMapping(connectionString, rawVako.Type);
|
||||
var vakoData = VakoParser.Parse(rawVako, rawMapping);
|
||||
@@ -128,8 +130,13 @@ namespace Xylem.Common.Logic.ProductionOrderCore.OrderData
|
||||
ret.Add(new ProgrammingParameters(row["RegisterName"].ToString(), RegisterConverter.ConvertFrom(Convert.ToInt32(row["RegisterValue"]))));
|
||||
}
|
||||
}
|
||||
var ident = "GNS";
|
||||
if (meterSize >= 10)
|
||||
{
|
||||
ident = "GNSU";
|
||||
}
|
||||
|
||||
var retStr = LocalWebRequest.GetRequest($"http://sla12iis01/csdcore/csdservice/getstampings?CsdIdent={csdIdent}&GroupId=1&ProductIdent=GNS&ProductDn={rawVako.Dn}&ShowOnlyValidStampings=0", 8000);
|
||||
var retStr = LocalWebRequest.GetRequest($"http://sla12iis01/csdcore/csdservice/getstampings?CsdIdent={csdIdent}&GroupId=1&ProductIdent={ident}&ProductDn={rawVako.Dn}&ShowOnlyValidStampings=0", 8000);
|
||||
var retListRealCsd = JsonConvert.DeserializeObject<List<CsdParameterResult>>(retStr);
|
||||
if (retListRealCsd.Any())
|
||||
{
|
||||
|
||||
@@ -416,8 +416,9 @@ namespace ProductionUiCordonel
|
||||
}
|
||||
tmrAutoDetect.Enabled = Settings.AutoDetect;
|
||||
}
|
||||
ProductionProcessCheckOrderNumber orderBarcode;
|
||||
ProductionProcessCheckSerialNumber serialBarcode;
|
||||
|
||||
private ProductionProcessCheckOrderNumber orderBarcode;
|
||||
private ProductionProcessCheckSerialNumber serialBarcode;
|
||||
public void SetUpBlank(bool retry, bool abort = false)
|
||||
{
|
||||
|
||||
@@ -431,7 +432,7 @@ namespace ProductionUiCordonel
|
||||
|
||||
|
||||
|
||||
orderBarcode = new ProductionProcessCheckOrderNumber(OrderNumber);
|
||||
orderBarcode = new ProductionProcessCheckOrderNumber(0);
|
||||
|
||||
|
||||
orderBarcode.isDone += CheckOrder_isDone;
|
||||
@@ -448,20 +449,25 @@ namespace ProductionUiCordonel
|
||||
|
||||
|
||||
//pc.Processes.Add(new ProductionProcessFinalParameterizationFix()); //[x] [x] []
|
||||
pc.Processes.Add(new ProductionProcessFinalParameterizationVakoCsd(connectProcess)); //[x] [x] []
|
||||
pc.Processes.Add(new ProductionProcessFinalParameterizationVakoCsd(connectProcess, RadioAdress != 0)); //[x] [x] []
|
||||
|
||||
if (RadioAdress != 0)
|
||||
{
|
||||
|
||||
var radioCheck = new ProductionProcessRadioCheck();
|
||||
|
||||
orderBarcode.isDone += delegate (object sender, EventArgs e)
|
||||
{
|
||||
radioCheck.Ordernumber = ((ProductionProcessCheckOrderNumber)sender).Ordernumber;
|
||||
};
|
||||
pc.Processes.Add(radioCheck); //[] [] []
|
||||
|
||||
}
|
||||
|
||||
//pc.Processes.Add(new ProductionProcessSpecialConfig()); //[x] [x] []
|
||||
pc.Processes.Add(new ProductionProcessShippingMode(true)); //[] [] []
|
||||
pc.Processes.Add(new ProductionProcessShippingMode(true, RadioAdress != 0)); //[] [] []
|
||||
|
||||
pc.Processes.Add(new ProductionProcessFinalParameterizationVakoCsd(connectProcess)); //[x] [x] []
|
||||
pc.Processes.Add(new ProductionProcessShippingMode(false)); //[] [] []
|
||||
pc.Processes.Add(new ProductionProcessFinalParameterizationVakoCsd(connectProcess, RadioAdress != 0)); //[x] [x] []
|
||||
pc.Processes.Add(new ProductionProcessShippingMode(false, RadioAdress != 0)); //[] [] []
|
||||
|
||||
pc.Processes.Add(new ProductionProcessFullReadOut()); //[x] [x] [x]
|
||||
pc.Processes.Add(new ProductionProcessLogOff()); //[] [] []
|
||||
|
||||
+8
-1
@@ -69,7 +69,8 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
|
||||
public override async void StartProcess()
|
||||
{
|
||||
|
||||
try
|
||||
{
|
||||
var a = LocalWebRequest.GetRequest($"{ServiceUrls.GenesisFinalCheckServiceUrl()}GetSingleVakoKey?ProductionOrderNumber={OrderNumber}&KeyName=C_GEN_PULS");
|
||||
var myJsonResponse = Newtonsoft.Json.JsonConvert.DeserializeObject<VakoKeyValue>(a);
|
||||
if (myJsonResponse.Value.ToLower() == "q" || myJsonResponse.Value.ToLower() == "k")
|
||||
@@ -80,6 +81,12 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
{
|
||||
StepDone();
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
UserControl.SetDesc("Bitte den Auftrag prüfen ob ein Pulse Module verbaut werden soll");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+7
-9
@@ -15,14 +15,14 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
{
|
||||
private UcPlain UserControl;
|
||||
private ProductionProcessConnect connectProcess;
|
||||
private bool hasRadio;
|
||||
|
||||
|
||||
public ProductionProcessFinalParameterizationVakoCsd(ProductionProcessConnect connectProcess)
|
||||
public ProductionProcessFinalParameterizationVakoCsd(ProductionProcessConnect connectProcess, bool registerHasRadio = true)
|
||||
{
|
||||
this.connectProcess = connectProcess;
|
||||
name = "Kunden Parametrierung";
|
||||
currentProcessState = ProductionProcessState.Waiting;
|
||||
|
||||
hasRadio = registerHasRadio;
|
||||
}
|
||||
|
||||
public override void InitUserControl()
|
||||
@@ -184,16 +184,14 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
overAllResult.Add(_currentGenesis_WriteRegister("NFC_EraseRMA",
|
||||
(new Byte[] { 0x00, 0x00, 0x00, 0x01 }).Reverse().ToArray(), true, false));
|
||||
|
||||
if (hasRadio)
|
||||
{
|
||||
overAllResult.Add(_currentGenesis_WriteRegister("PERIODICLOG_ResetCounter",
|
||||
(new Byte[] { 0x00, 0x00, 0x00, 0x00 }).Reverse().ToArray(), true, false));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
overAllResult.Add(_currentGenesis_WriteRegister("GENESISFLOW_SealDisplay",
|
||||
(new Byte[] { 0x00, 0x00, 0x00, 0x01 }).Reverse().ToArray(), true, true));
|
||||
|
||||
}
|
||||
|
||||
var ret = true;
|
||||
int done = 0;
|
||||
@@ -210,7 +208,7 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
}
|
||||
else
|
||||
{
|
||||
if (cTask.Result.Item1.ToLower().Contains("Metersize".ToLower()) || cTask.Result.Item1.ToLower().Contains("CUSTOMER_ExcessFlowVolumeThreshold".ToLower()) || cTask.Result.Item1.ToLower().Contains("NFC_EraseRMA".ToLower()) || cTask.Result.Item1.ToLower() == "SENSUSRADIO_MetroRadioLifeTimeCounter".ToLower() || cTask.Result.Item1.ToLower() == "CUSTOMER_LeakFlowThreshold".ToLower())
|
||||
if (cTask.Result.Item1.ToLower().Contains("Metersize".ToLower()) || cTask.Result.Item1.ToLower().Contains("NFC_EraseRMA".ToLower()) || cTask.Result.Item1.ToLower().Contains("CUSTOMER_ExcessFlowVolumeThreshold".ToLower()) || cTask.Result.Item1.ToLower().Contains("CUSTOMER_LeakFlowThreshold".ToLower()) || cTask.Result.Item1.ToLower() == "SENSUSRADIO_MetroRadioLifeTimeCounter".ToLower())
|
||||
{
|
||||
base.NewStatus($"Warnung!Schreiben des Parameter {cTask.Result.Item1} war nicht erfolgreich");
|
||||
}
|
||||
|
||||
+62
-12
@@ -14,11 +14,13 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
{
|
||||
private UcPlain UserControl;
|
||||
private bool doRestart = false;
|
||||
public ProductionProcessShippingMode(bool restart = false)
|
||||
private bool hasRadio = false;
|
||||
public ProductionProcessShippingMode(bool restart = false, bool registerHasRadio = true)
|
||||
{
|
||||
name = "Versandbereitschaft herstellen";
|
||||
currentProcessState = ProductionProcessState.Waiting;
|
||||
doRestart = restart;
|
||||
hasRadio = registerHasRadio;
|
||||
}
|
||||
public override void InitUserControl()
|
||||
{
|
||||
@@ -50,8 +52,8 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
|
||||
Meter.ResetAlarm(GenesisMeter.Alarm.EMPTY_PIPE);//(true, new byte[] { 0x00, 0x00, 0x00, 0x01 });
|
||||
|
||||
var useRadio = true;
|
||||
if (useRadio)
|
||||
|
||||
if (hasRadio)
|
||||
{
|
||||
if (Meter.StoreAllConfigurations())
|
||||
{
|
||||
@@ -76,21 +78,21 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
{
|
||||
if (doRestart)
|
||||
{
|
||||
|
||||
|
||||
var _meterResetPsu = new MeterResetPsu(Meter)
|
||||
{
|
||||
StoreConfigEnable = true
|
||||
};
|
||||
var rebootSucceeded = _meterResetPsu.MeterResetPsuExecute();
|
||||
var CheckValuesAufterBoot = new List<Tuple<string, byte[]>>();
|
||||
Thread.Sleep(10000);
|
||||
Meter.Login();
|
||||
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("METROLOGYASST_PulseLength", Meter.ReadRegister("METROLOGYASST_PulseLength")));
|
||||
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("POWERMON_BatteryQuantity", Meter.ReadRegister("POWERMON_BatteryQuantity")));
|
||||
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("GENESISFLOW_MeterSize", Meter.ReadRegister("GENESISFLOW_MeterSize")));
|
||||
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("GENESISFLOW_CalFactor1", Meter.ReadRegister("GENESISFLOW_CalFactor1")));
|
||||
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("SENSUSRADIO_RadioAddress", Meter.ReadRegister("SENSUSRADIO_RadioAddress")));
|
||||
var _meterResetPsu = new MeterResetPsu(Meter)
|
||||
{
|
||||
StoreConfigEnable = true
|
||||
};
|
||||
var rebootSucceeded = _meterResetPsu.MeterResetPsuExecute();
|
||||
|
||||
Thread.Sleep(10000);
|
||||
Meter.Login();
|
||||
|
||||
|
||||
bool? hasDiffrences = null;
|
||||
foreach (var item in CheckValuesAufterBoot)
|
||||
@@ -136,8 +138,56 @@ namespace ProductionUiCordonel.ProductionProcesses.Actions
|
||||
else
|
||||
{
|
||||
if (Meter.StoreAllConfigurations())
|
||||
{
|
||||
if (doRestart)
|
||||
{
|
||||
var CheckValuesAufterBoot = new List<Tuple<string, byte[]>>();
|
||||
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("METROLOGYASST_PulseLength", Meter.ReadRegister("METROLOGYASST_PulseLength")));
|
||||
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("POWERMON_BatteryQuantity", Meter.ReadRegister("POWERMON_BatteryQuantity")));
|
||||
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("GENESISFLOW_MeterSize", Meter.ReadRegister("GENESISFLOW_MeterSize")));
|
||||
CheckValuesAufterBoot.Add(new Tuple<string, byte[]>("GENESISFLOW_CalFactor1", Meter.ReadRegister("GENESISFLOW_CalFactor1")));
|
||||
|
||||
var _meterResetPsu = new MeterResetPsu(Meter)
|
||||
{
|
||||
StoreConfigEnable = true
|
||||
};
|
||||
var rebootSucceeded = _meterResetPsu.MeterResetPsuExecute();
|
||||
|
||||
Thread.Sleep(10000);
|
||||
Meter.Login();
|
||||
|
||||
|
||||
bool? hasDiffrences = null;
|
||||
foreach (var item in CheckValuesAufterBoot)
|
||||
{
|
||||
if (!item.Item2.SequenceEqual(Meter.ReadRegister(item.Item1)))
|
||||
{
|
||||
hasDiffrences = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!hasDiffrences.HasValue)
|
||||
{
|
||||
hasDiffrences = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (rebootSucceeded && hasDiffrences.HasValue && !hasDiffrences.Value)
|
||||
{
|
||||
base.currentProcessState = ProductionProcessState.Done;
|
||||
}
|
||||
else
|
||||
{
|
||||
Meter.WriteLog("reboot compare failed");
|
||||
base.currentProcessState = ProductionProcessState.Error;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
base.currentProcessState = ProductionProcessState.Done;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
81d60b90addc793525740e9993e19bf6665bd401
|
||||
0d85a5b3a7561b41163c20e5dc7713bcd0d65555
|
||||
|
||||
Reference in New Issue
Block a user