diff --git a/IOB-UT-NEXT/Config/Base/CounterDto.cs b/IOB-UT-NEXT/Config/Base/CounterDto.cs
index f46d523e..b9e4eda3 100644
--- a/IOB-UT-NEXT/Config/Base/CounterDto.cs
+++ b/IOB-UT-NEXT/Config/Base/CounterDto.cs
@@ -31,5 +31,20 @@ namespace IOB_UT_NEXT.Config.Base
///
public bool ResetOnStopSetup { get; set; } = false;
+ ///
+ /// Abilita invio di più pezzi alla volta (IdxEv: 120)
+ ///
+ public bool EnabSendPzcBlock { get; set; } = true;
+
+ ///
+ /// Numero minimo pezzi x invio in blocco
+ ///
+ public int SendPzcBlockMin { get; set; } = 0;
+
+ ///
+ /// Numero massimo x invio in blocco
+ ///
+ public int SendPzcBlockMax { get; set; } = 100;
+
}
}
diff --git a/IOB-UT-NEXT/Config/Base/IobDto.cs b/IOB-UT-NEXT/Config/Base/IobDto.cs
index 96f70479..904349ce 100644
--- a/IOB-UT-NEXT/Config/Base/IobDto.cs
+++ b/IOB-UT-NEXT/Config/Base/IobDto.cs
@@ -50,6 +50,11 @@ namespace IOB_UT_NEXT.Config.Base
///
public bool DisabWDST { get; set; } = true;
+ ///
+ /// Tempo massimo di WatchDog dopo cui inviare un segnale x evitare C101
+ ///
+ public int WatchDogSec { get; set; } = 60;
+
///
/// Abilita salvataggio coda eventi su redis (ritentiva)
///
diff --git a/IOB-UT-NEXT/Config/IobConfTree.cs b/IOB-UT-NEXT/Config/IobConfTree.cs
index dfa47db1..1d342778 100644
--- a/IOB-UT-NEXT/Config/IobConfTree.cs
+++ b/IOB-UT-NEXT/Config/IobConfTree.cs
@@ -112,7 +112,8 @@ namespace IOB_UT_NEXT.Config
EnabRedisQue = bool.Parse(fIni.ReadString("IOB", "EnableRedisQueue", "true")),
MinDeltaSec = fIni.ReadInteger("IOB", "MinDeltaSec", 6),
RelVers = $"{System.Reflection.Assembly.GetExecutingAssembly().GetName().Version}",
- WaitRecMsec = Convert.ToInt32(fIni.ReadString("OPTPAR", "WAIT_REC_MSEC", "90000"))
+ WaitRecMsec = Convert.ToInt32(fIni.ReadString("OPTPAR", "WAIT_REC_MSEC", "90000")),
+ DisabWDST = bool.Parse(fIni.ReadString("OPTPAR", "DISABLE_SEND_WDST", "true"))
};
// da togliere da conf app...
int uiTimer = utils.CRI("timerIntMs");
@@ -137,6 +138,7 @@ namespace IOB_UT_NEXT.Config
};
exclOptPar.Add("WAIT_REC_MSEC");
+ exclOptPar.Add("DISABLE_SEND_WDST");
exclOptPar.Add("timerIntMs");
// tipo adapter// verifico tipo adapter
@@ -206,11 +208,17 @@ namespace IOB_UT_NEXT.Config
newConfObj.Counters.EnableSetPzReq = bool.Parse(fIni.ReadString("OPTPAR", "ENABLE_PZ_REQ", "false"));
newConfObj.Counters.ResetOnStartSetup = bool.Parse(fIni.ReadString("OPTPAR", "ENABLE_PZ_RESET", "false"));
newConfObj.Counters.ResetOnStopSetup = bool.Parse(fIni.ReadString("OPTPAR", "ENABLE_PZ_RESET_stopSetup", "false"));
+ newConfObj.Counters.EnabSendPzcBlock = bool.Parse(fIni.ReadString("OPTPAR", "ENABLE_SEND_PZC_BLOCK", "false"));
+ newConfObj.Counters.SendPzcBlockMin = int.Parse(fIni.ReadString("OPTPAR", "MIN_SEND_PZC_BLOCK", "0"));
+ newConfObj.Counters.SendPzcBlockMax = int.Parse(fIni.ReadString("OPTPAR", "MAX_SEND_PZC_BLOCK", "100"));
exclOptPar.Add("ENABLE_PZ_CNT");
exclOptPar.Add("ENABLE_PZ_REQ");
exclOptPar.Add("ENABLE_PZ_RESET");
exclOptPar.Add("ENABLE_PZ_RESET_stopSetup");
+ exclOptPar.Add("ENABLE_SEND_PZC_BLOCK");
+ exclOptPar.Add("MIN_SEND_PZC_BLOCK");
+ exclOptPar.Add("MAX_SEND_PZC_BLOCK");
// gestione ODL
diff --git a/IOB-WIN-FANUC/App.config b/IOB-WIN-FANUC/App.config
index 9710e976..d41df05e 100644
--- a/IOB-WIN-FANUC/App.config
+++ b/IOB-WIN-FANUC/App.config
@@ -36,7 +36,6 @@
-
@@ -51,7 +50,6 @@
-
@@ -61,7 +59,6 @@
-
@@ -87,8 +84,6 @@
-
-
diff --git a/IOB-WIN-FORM/AdapterForm.cs b/IOB-WIN-FORM/AdapterForm.cs
index b5a73bec..a005676a 100644
--- a/IOB-WIN-FORM/AdapterForm.cs
+++ b/IOB-WIN-FORM/AdapterForm.cs
@@ -947,13 +947,6 @@ namespace IOB_WIN_FORM
#region Protected Fields
-#if false
- ///
- /// contatore veloce
- ///
- protected int fastCount;
-#endif
-
///
/// Data-Ora prima apertura FORM...
///
@@ -974,13 +967,6 @@ namespace IOB_WIN_FORM
///
protected DateTime lastStartTry;
-#if false
- ///
- /// contatore normale
- ///
- protected int normCount;
-#endif
-
///
/// Oggetto connessioen REDIS
///
@@ -1001,18 +987,6 @@ namespace IOB_WIN_FORM
///
protected bool sendStartFLog = false;
-#if false
- ///
- /// contatore lento
- ///
- protected int slowCount;
-
- ///
- /// contatore sync allarmi
- ///
- protected int verySlowCount;
-#endif
-
///
/// Temnpo attesa std in MS
///
@@ -1570,16 +1544,6 @@ namespace IOB_WIN_FORM
}
// controllo TUTTE le scadenze...
checkScad();
-#if false
- // check esecuzione FastTask
- checkScad(gatherCycle.HF);
- // check esecuzione NormTask
- checkScad(gatherCycle.MF);
- // check esecuzione SlowTask
- checkScad(gatherCycle.LF);
- // check esecuzione AlarmSync
- checkScad(gatherCycle.VLF);
-#endif
if (utils.CRI("waitEndCycle") > 0)
{
Thread.Sleep(utils.CRI("waitEndCycle"));
diff --git a/IOB-WIN-FORM/Iob/BaseObj.cs b/IOB-WIN-FORM/Iob/BaseObj.cs
index da14b342..6522e804 100644
--- a/IOB-WIN-FORM/Iob/BaseObj.cs
+++ b/IOB-WIN-FORM/Iob/BaseObj.cs
@@ -24,15 +24,6 @@ namespace IOB_WIN_FORM.Iob
///
public void lgError(string message, params object[] args)
{
-#if false
- try
- {
- }
- catch
- {
- readErrorCurr++;
- }
-#endif
bool doVeto = checkLogVeto(2, ref message);
// se non ho veto --> loggo
if (!doVeto)
@@ -377,49 +368,5 @@ namespace IOB_WIN_FORM.Iob
#endregion Protected Methods
-#if false
- ///
- /// Verifica se ci sia veto log attivo e gestisce casistiche
- ///
- ///
- ///
- ///
- protected bool checkLogVeto(int vetoSec, ref string message)
- {
- //verifico SE si debba fare log, altrimenti metto in coda...
- bool doVeto = true;
- DateTime adesso = DateTime.Now;
- if (VetoLog.ContainsKey(message))
- {
- // conteggio num veto a +1...
- if (VetoLogCount.ContainsKey(message))
- {
- VetoLogCount[message]++;
- }
- else
- {
- VetoLogCount.Add(message, 1);
- }
- // controllo scadenza, quando superata soglia aggiorno messaggio con {n} x {messaggio}
- if (adesso.Subtract(VetoLog[message]).TotalSeconds > vetoSec)
- {
- doVeto = false;
- string newMessage = $"{VetoLogCount[message]} x {message}";
- VetoLog.Remove(message);
- VetoLogCount.Remove(message);
- message = newMessage;
- }
- }
- else
- {
- // primo --> loggo
- doVeto = false;
- VetoLog.Add(message, adesso.AddSeconds(vetoSec));
- VetoLogCount.Add(message, 0);
- }
- // restituisco esito!
- return doVeto;
- }
-#endif
}
}
\ No newline at end of file
diff --git a/IOB-WIN-FORM/Iob/Generic.cs b/IOB-WIN-FORM/Iob/Generic.cs
index 5168c603..953c8c59 100644
--- a/IOB-WIN-FORM/Iob/Generic.cs
+++ b/IOB-WIN-FORM/Iob/Generic.cs
@@ -3615,13 +3615,6 @@ namespace IOB_WIN_FORM.Iob
///
protected bool enablePzCountByApp = true;
-#if false
- ///
- /// Boolean x indicare contapezzi abilitato forzatamente da IOB
- ///
- protected bool enablePzCountByIob = true;
-#endif
-
///
/// Abilitazione gestione slow data
///
@@ -5490,24 +5483,13 @@ namespace IOB_WIN_FORM.Iob
}
else
{
+ string currPar = "";
lgInfo("loadMemConf.01");
lgInfoStartup("BEGIN loadMemConf");
// variabili x gestione send contapezzi in blocco
- string currPar = getOptPar("ENABLE_SEND_PZC_BLOCK");
- if (!string.IsNullOrEmpty(currPar))
- {
- bool.TryParse(currPar, out enableSendPzCountBlock);
- // se abilitato leggo num pezzi da reinviare in blocco
- if (enableSendPzCountBlock)
- {
- int.TryParse(getOptPar("MAX_SEND_PZC_BLOCK"), out maxSendPzCountBlock);
- int.TryParse(getOptPar("MIN_SEND_PZC_BLOCK"), out minSendPzCountBlock);
- }
- }
- else
- {
- lgError("loadMemConf: parametro ENABLE_SEND_PZC_BLOCK non trovato, verificare anche MAX_SEND_PZC_BLOCK e MIN_SEND_PZC_BLOCK");
- }
+ enableSendPzCountBlock = IOBConfFull.Counters.EnabSendPzcBlock;
+ minSendPzCountBlock = IOBConfFull.Counters.SendPzcBlockMin;
+ maxSendPzCountBlock = IOBConfFull.Counters.SendPzcBlockMax;
lgInfo("loadMemConf.02");
currPar = getOptPar("MIN_RESP_TIME_MS");
if (!string.IsNullOrEmpty(currPar))
@@ -5527,13 +5509,7 @@ namespace IOB_WIN_FORM.Iob
}
// abilitazione invio WDST disabilitazione controllo range valori DynData
- if (!string.IsNullOrEmpty(getOptPar("DISABLE_SEND_WDST")))
- {
- bool checkDisWdst = false;
- bool.TryParse(getOptPar("DISABLE_SEND_WDST"), out checkDisWdst);
- disableWdst = checkDisWdst;
- }
-
+ disableWdst = IOBConfFull.General.DisabWDST;
// disabilitazione controllo range valori DynData
if (!string.IsNullOrEmpty(getOptPar("disDynDataRangeCheck")))
{
@@ -7217,47 +7193,27 @@ namespace IOB_WIN_FORM.Iob
if (checkServerAlive)
{
bool iobOk = false;
- if (utils.CRB("sendDataByThread"))
- {
- Task taskCheck = Task.Run(() => iobOk = checkIobEnabled);
- }
- else
- {
- iobOk = checkIobEnabled;
- }
+ iobOk = checkIobEnabled;
// verifico SE posso inviare dati
if (iobOk)
{
currDispData.semOut = Semaforo.SV;
- // verificare come gestire il task secondario senza interferenza (chiamate
- // update su FORM da thread secondari danno errori)
- if (utils.CRB("sendDataByThread"))
- {
- // invio con thread separato...
- Task taskSigIN = Task.Run(() => svuotaCodaSignIN());
- Task taskFLog = Task.Run(() => svuotaCodaFLog());
- Task taskRawTransf = Task.Run(() => svuotaCodaRawTransf());
- Task taskULog = Task.Run(() => svuotaCodaULog());
- }
- else
- {
- // gestione queue SignalIN (invio, display)
- svuotaCodaSignIN();
- currDispData.counter = contapezziIOB;
- raiseRefresh(currDispData);
- // provo a svuotare coda contapezzi
- svuotaCodaContapezzi();
- currDispData.counter = contapezziIOB;
- raiseRefresh(currDispData);
- // gestione queue FluxLog (invio, display)
- svuotaCodaFLog();
- // coda RawTransf
- svuotaCodaRawTransf();
- // coda UserLog
- svuotaCodaULog();
- // refresh
- raiseRefresh(currDispData);
- }
+ // gestione queue SignalIN (invio, display)
+ svuotaCodaSignIN();
+ currDispData.counter = contapezziIOB;
+ raiseRefresh(currDispData);
+ // provo a svuotare coda contapezzi
+ svuotaCodaContapezzi();
+ currDispData.counter = contapezziIOB;
+ raiseRefresh(currDispData);
+ // gestione queue FluxLog (invio, display)
+ svuotaCodaFLog();
+ // coda RawTransf
+ svuotaCodaRawTransf();
+ // coda UserLog
+ svuotaCodaULog();
+ // refresh
+ raiseRefresh(currDispData);
// se arrivo è tutto ok...
currSendErrors = 0;
}
@@ -8380,7 +8336,7 @@ namespace IOB_WIN_FORM.Iob
{
bool sendOnMachineOff = false;
// controllo se è passato oltre watchdog e non ho inviato nulla --> RE-INVIO (ultimo inviato)!!!!
- if (DateTime.Now.Subtract(lastWatchDog).TotalSeconds > utils.CRI("watchdogMaxSec"))
+ if (DateTime.Now.Subtract(lastWatchDog).TotalSeconds > IOBConfFull.General.WatchDogSec)
{
string wdStatus = "elapsed";
string sVal = string.Format("[WDST]{0}", wdStatus);