diff --git a/IOB-WIN-NEXT/IobIcoelDb.cs b/IOB-WIN-NEXT/IobIcoelDb.cs
index 5532c618..3bb11b86 100644
--- a/IOB-WIN-NEXT/IobIcoelDb.cs
+++ b/IOB-WIN-NEXT/IobIcoelDb.cs
@@ -141,8 +141,11 @@ namespace IOB_WIN_NEXT
if (dbProxy != null && elencoSyncState != null && elencoSyncState.Count > 0)
{
- B_input = 3;
+ B_input += (1 << 1);
}
+
+ // accodo NON emergenza
+ B_input += (1 << 7);
}
else
{
diff --git a/IOB-WIN-NEXT/IobIcoelSoap.cs b/IOB-WIN-NEXT/IobIcoelSoap.cs
index 399c294c..19e35d1b 100644
--- a/IOB-WIN-NEXT/IobIcoelSoap.cs
+++ b/IOB-WIN-NEXT/IobIcoelSoap.cs
@@ -67,6 +67,11 @@ namespace IOB_WIN_NEXT
return base.executeTasks(task2exe);
}
+ ///
+ /// Dizionario parametri correnti
+ ///
+ protected Dictionary perfParamDict { get; set; } = new Dictionary();
+
///
/// Recupero dati dinamici...
///
@@ -75,7 +80,7 @@ namespace IOB_WIN_NEXT
// valore non presente in vers default... se gestito fare override
Dictionary outVal = new Dictionary();
// recupero da libreria il dizionario dei performance parameters...
- var perfParamDict = IcoelSizer.GetPerfMeters();
+ perfParamDict = IcoelSizer.GetPerfMeters();
lgTrace("SOAP: effettuata chiamata IcoelSizer.GetPerfMeters()");
foreach (var item in perfParamDict)
{
@@ -111,11 +116,6 @@ namespace IOB_WIN_NEXT
// se devo inviare impacchetto dati
if (doSend)
{
-#if false
- // accodo per invio...
- string rawBatch = JsonConvert.SerializeObject(currBatch);
- accodaRawData(IOB_UT_NEXT.rawTransfType.IcoelBatch, rawBatch);
-#endif
accodaRawData(rawTransfType.IcoelBatch, currBatch);
currBatchList = currBatch;
}
@@ -142,22 +142,39 @@ namespace IOB_WIN_NEXT
if (currBatch != null)
{
currBatchList = currBatch;
-#if false
- // accodo invio!
- string rawBatch = JsonConvert.SerializeObject(currBatch);
- accodaRawData(IOB_UT_NEXT.rawTransfType.IcoelBatch, currBatch);
-#endif
accodaRawData(rawTransfType.IcoelBatch, currBatch);
}
}
else
{
+ //se i perf parameters mi danno valire > 0 x quantità frutta...
+ if (perfParamDict != null && perfParamDict.Count > 0)
+ {
+ if (perfParamDict.ContainsKey("VelFruttiMinuto"))
+ {
+ if (perfParamDict["VelFruttiMinuto"] > 0)
+ {
+ B_input += (1 << 1);
+ }
+ // metto manuale
+ else
+ {
+ B_input += (1 << 4);
+ }
+ }
+ }
+
+ //usato altro criterio x stato verde da vel frutti minuto
+#if false
// se ho batch NON chiusi (data = minValue) allora lavora
if (currBatchList[1].EndTime == DateTime.MinValue || currBatchList[1].EndTime == DateTime.MinValue)
{
B_input = 3;
- }
+ }
+#endif
}
+ // accodo NON emergenza
+ B_input += (1 << 7);
}
else
{
@@ -270,7 +287,6 @@ namespace IOB_WIN_NEXT
{
var varietyData = IcoelSizer.GetLayoutForVarietyList(varList);
lgTrace("SOAP: effettuata chiamata IcoelSizer.GetLayoutForVarietyList()");
- // invio dai al server IO
}
lastReadPLC = DateTime.Now;
diff --git a/IOB-WIN-NEXT/IobOpcUaOmronIcoel.cs b/IOB-WIN-NEXT/IobOpcUaOmronIcoel.cs
index 91803e95..bc31f488 100644
--- a/IOB-WIN-NEXT/IobOpcUaOmronIcoel.cs
+++ b/IOB-WIN-NEXT/IobOpcUaOmronIcoel.cs
@@ -415,7 +415,7 @@ namespace IOB_WIN_NEXT
B_input = powerOnOk ? 1 : 0;
// decodifico da currData
- if (currData.Varie.InEmergenza)
+ if (!currData.Varie.InEmergenza)
{
B_input += (1 << 7);
}
@@ -427,6 +427,7 @@ namespace IOB_WIN_NEXT
{
B_input += (1 << 3);
}
+
}
// controllo se sono poweroff e se non ho dati buoni da > 2 minuti --> disconnetto