diff --git a/IOB-UT-NEXT/Iob/BaseObj.cs b/IOB-UT-NEXT/Iob/BaseObj.cs index 961a815a..dd7d7ca8 100644 --- a/IOB-UT-NEXT/Iob/BaseObj.cs +++ b/IOB-UT-NEXT/Iob/BaseObj.cs @@ -228,31 +228,11 @@ namespace IOB_UT_NEXT.Iob /// public Stopwatch sw = new Stopwatch(); - /// - /// Imposta veto lettura dati (es per DB a 2 sec) - /// - public DateTime vetoDataRead = DateTime.Now; - - /// - /// Imposta veto SYNC dati (es per DB 2 DB a 10 sec) - /// - public DateTime vetoDataSync = DateTime.Now; - /// /// Veto (in sec) a nuovi ping (x IOB PING, FTP...) /// public int vetoPingSec = 1; - /// - /// Veto specifico per la gestione (svuotamento) coda contapezzi (es in fase di attrezzaggio e reset lenti) - /// Tipicamente impostato a DelayReadPzCountSetup dopo attrezzaggio... - /// - public DateTime vetoQueuePzCount = DateTime.Now; - - /// - /// Imposta veto chiamata split (durante chiamata, per 60 sec) - /// - public DateTime vetoSplit = DateTime.Now.AddMinutes(1); /// /// alias booleano true = W @@ -273,32 +253,6 @@ namespace IOB_UT_NEXT.Iob /// public static bool DemoOut => utils.CRB("DemoOut"); - /// - /// Indicazione VETO PING a server sino alla data-ora indicata - /// - public static DateTime dtVetoPing - { - get => utils.dtVetoPing; - set => utils.dtVetoPing = value; - } - - /// - /// Indicazione VETO accodamento valori INGRESSI/EVENTI sino alla data-ora indicata - /// - public static DateTime dtVetoQueueIN - { - get => utils.dtVetoQueueIN; - set => utils.dtVetoQueueIN = value; - } - - /// - /// Indicazione VETO invio a server sino alla data-ora indicata - /// - public static DateTime dtVetoSend - { - get => utils.dtVetoSend; - set => utils.dtVetoSend = value; - } /// /// Verifica se sia abilitato test lettura blocchi memoria all'avvio diff --git a/IOB-UT-NEXT/Iob/DateTimeHelper.cs b/IOB-UT-NEXT/Iob/DateTimeHelper.cs index 4b3198af..4c015655 100644 --- a/IOB-UT-NEXT/Iob/DateTimeHelper.cs +++ b/IOB-UT-NEXT/Iob/DateTimeHelper.cs @@ -1,4 +1,5 @@ -using System; +using IOB_UT_NEXT.Services.Files; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -98,6 +99,27 @@ namespace IOB_UT_NEXT.Iob /// public DateTime VetoCheckSyncRecipe = DateTime.Now.AddHours(-1); + /// + /// Imposta veto lettura dati (es per DB a 2 sec) + /// + public DateTime vetoDataRead = DateTime.Now; + + /// + /// Imposta veto SYNC dati (es per DB 2 DB a 10 sec) + /// + public DateTime vetoDataSync = DateTime.Now; + + /// + /// Veto specifico per la gestione (svuotamento) coda contapezzi (es in fase di attrezzaggio e reset lenti) + /// Tipicamente impostato a DelayReadPzCountSetup dopo attrezzaggio... + /// + public DateTime vetoQueuePzCount = DateTime.Now; + + /// + /// Imposta veto chiamata split (durante chiamata, per 60 sec) + /// + public DateTime vetoSplit = DateTime.Now.AddMinutes(1); + #endregion Public Fields } } \ No newline at end of file diff --git a/IOB-UT/baseUtils.cs b/IOB-UT/baseUtils.cs index de3206f3..3a973eef 100644 --- a/IOB-UT/baseUtils.cs +++ b/IOB-UT/baseUtils.cs @@ -53,17 +53,17 @@ namespace IOB_UT /// /// Indicazione VETO PING a server sino alla data-ora indicata /// - public static DateTime dtVetoPing = DateTime.Now; + public static DateTime DtHelp.dtVetoPing = DateTime.Now; #if false { get { - return redisMan.servStatus.dtVetoPing; + return redisMan.servStatus.DtHelp.dtVetoPing; } set { var currData = redisMan.servStatus; - currData.dtVetoPing = value; + currData.DtHelp.dtVetoPing = value; redisMan.servStatus = currData; } } diff --git a/IOB-WIN-FILE/IobFile/IobFileSoitaab.cs b/IOB-WIN-FILE/IobFile/IobFileSoitaab.cs index 3e804d87..05aac825 100644 --- a/IOB-WIN-FILE/IobFile/IobFileSoitaab.cs +++ b/IOB-WIN-FILE/IobFile/IobFileSoitaab.cs @@ -117,10 +117,10 @@ namespace IOB_WIN_FILE.IobFile if (connectionOk) { // controllo veto checkDB - if (adesso > vetoDataRead) + if (adesso > DtHelp.vetoDataRead) { // predispongo prox veto... - vetoDataRead = adesso.AddSeconds(vetoReadFileSec); + DtHelp.vetoDataRead = adesso.AddSeconds(vetoReadFileSec); // semaforo currDispData.semIn = Semaforo.SV; // verifico SignLog e processo diff --git a/IOB-WIN-FORM/Iob/Generic.cs b/IOB-WIN-FORM/Iob/Generic.cs index ccfc53be..9a29a23d 100644 --- a/IOB-WIN-FORM/Iob/Generic.cs +++ b/IOB-WIN-FORM/Iob/Generic.cs @@ -96,8 +96,8 @@ namespace IOB_WIN_FORM.Iob checkShrinkDir(); // imposto veto invio per i prossimi sec - dtVetoQueueIN = DateTime.Now.AddSeconds(vetoQueueIn); - string msgVeto = $"Impostato veto QUEUE-IN a {vetoQueueIn}s | fino alle {dtVetoQueueIN:yyyy.MM.dd HH:mm:ss}"; + utils.dtVetoQueueIN = DateTime.Now.AddSeconds(vetoQueueIn); + string msgVeto = $"Impostato veto QUEUE-IN a {vetoQueueIn}s | fino alle {utils.dtVetoQueueIN:yyyy.MM.dd HH:mm:ss}"; lgInfoStartup(msgVeto); lgInfo(msgVeto); @@ -648,7 +648,7 @@ namespace IOB_WIN_FORM.Iob public bool CheckServerAlive() // Rimosso async, restituisce bool { // 1. Controllo Veto (Sincrono) - if (dtVetoPing >= DateTime.Now) return MPOnline; + if (utils.dtVetoPing >= DateTime.Now) return MPOnline; if (DemoOut) return true; // 2. Eseguo la parte asincrona forzando l'attesa @@ -670,7 +670,7 @@ namespace IOB_WIN_FORM.Iob public async Task CheckServerAliveAsync() { // 1. Controllo Veto (Sincrono) - if (dtVetoPing >= DateTime.Now) return MPOnline; + if (utils.dtVetoPing >= DateTime.Now) return MPOnline; if (DemoOut) return true; bool isAlive = await ExecuteApiCheckWithRetryAsync(maxRetries: 7); @@ -686,7 +686,7 @@ namespace IOB_WIN_FORM.Iob /// public void checkVetoQueueIn() { - queueInEnabCurr = dtVetoQueueIN < DateTime.Now; + queueInEnabCurr = utils.dtVetoQueueIN < DateTime.Now; } /// @@ -1095,7 +1095,7 @@ namespace IOB_WIN_FORM.Iob taskVal = $"NO DATA MEM, SET task: {iKey} --> {item.Value}"; } // imposto reset gestione pzcount da parametri - vetoQueuePzCount = DateTime.Now.AddMinutes(IOBConfFull.General.DelayReadPzCountSetup); + DtHelp.vetoQueuePzCount = DateTime.Now.AddMinutes(IOBConfFull.General.DelayReadPzCountSetup); dtVetoReadPzCount = DateTime.Now.AddMinutes(delayMinReadPzCount); } else @@ -1173,7 +1173,7 @@ namespace IOB_WIN_FORM.Iob { lgDebug($"Generic.executeTasks {tName} | resetContapezziPLC"); taskOk = resetContapezziPLC(codTav); - vetoQueuePzCount = DateTime.Now.AddMinutes(IOBConfFull.General.DelayReadPzCountSetup); + DtHelp.vetoQueuePzCount = DateTime.Now.AddMinutes(IOBConfFull.General.DelayReadPzCountSetup); dtVetoReadPzCount = DateTime.Now.AddMinutes(delayMinReadPzCount); } taskVal = taskOk ? "startSetup | RESET: SETUP START" : "startSetup | PZ RESET DISABLED | NO EXEC"; @@ -1289,11 +1289,11 @@ namespace IOB_WIN_FORM.Iob public async Task forceSplitOdl() { bool fatto = false; - if (vetoSplit < DateTime.Now) + if (DtHelp.vetoSplit < DateTime.Now) { lgInfo("Richiesto forceSplitOdl"); // imposto veto x 1 minuto ad altre chiamate... - vetoSplit = DateTime.Now.AddMinutes(1); + DtHelp.vetoSplit = DateTime.Now.AddMinutes(1); // eseguo SOLO SE sono online... if (MPOnline && IobOnline) { @@ -3370,11 +3370,11 @@ namespace IOB_WIN_FORM.Iob setDefaults(resetQueue); adpTryRestart = true; // sistemo altri check avvio - dtVetoQueueIN = DateTime.Now.AddSeconds(vetoQueueIn); + utils.dtVetoQueueIN = DateTime.Now.AddSeconds(vetoQueueIn); queueInEnabCurr = false; - string msgVeto = $"Impostato veto QUEUE-IN a {vetoQueueIn}s | fino alle {dtVetoQueueIN:yyyy.MM.dd HH:mm:ss}"; + string msgVeto = $"Impostato veto QUEUE-IN a {vetoQueueIn}s | fino alle {utils.dtVetoQueueIN:yyyy.MM.dd HH:mm:ss}"; lgInfoStartup(msgVeto); - lgDebug($"startAdapter completed | veto queueIn impostato per {vetoQueueIn}s fino alle {dtVetoQueueIN:yyyy.MM.dd HH:mm:ss}"); + lgDebug($"startAdapter completed | veto queueIn impostato per {vetoQueueIn}s fino alle {utils.dtVetoQueueIN:yyyy.MM.dd HH:mm:ss}"); } /// @@ -3797,20 +3797,20 @@ namespace IOB_WIN_FORM.Iob if (currentAlive) { lgInfo("SERVER ONLINE"); - dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 10); + utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 10); } else { lgError("SERVER OFFLINE"); // Veto standard per server offline - dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 20); - utils.dtVetoSend = dtVetoPing; + utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 20); + utils.dtVetoSend = utils.dtVetoPing; } } else { // Se lo stato è invariato (es. era online e resta online), allunghiamo il prossimo controllo - dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 30); + utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 30); } } @@ -9162,9 +9162,9 @@ namespace IOB_WIN_FORM.Iob private async Task SvuotaCodaContapezziAsync() { // verifico non sia impedita la gestione contapezzi (per evitare invio su macchine lente nel reset all'attrezzaggio) - if (DateTime.Now <= vetoQueuePzCount) + if (DateTime.Now <= DtHelp.vetoQueuePzCount) { - lgInfo($"Ciclo SvuotaCodaContapezziAsync DISABILITATO fino a {vetoQueuePzCount}"); + lgInfo($"Ciclo SvuotaCodaContapezziAsync DISABILITATO fino a {DtHelp.vetoQueuePzCount}"); } else { diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemens.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemens.cs index 565c89a5..6537c022 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemens.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemens.cs @@ -114,7 +114,7 @@ namespace IOB_WIN_OPC_UA.IobOpc if (addResetPzCount) { // imposto reset gestione pzcount da parametri - vetoQueuePzCount = DateTime.Now.AddMinutes(IOBConfFull.General.DelayReadPzCountSetup); + DtHelp.vetoQueuePzCount = DateTime.Now.AddMinutes(IOBConfFull.General.DelayReadPzCountSetup); // se è una doppia tavola aggiungo anche tag "processOtherInfo"... if (isMulti) { diff --git a/IOB-WIN-SQL/Iob/IobFileSoitaab.cs b/IOB-WIN-SQL/Iob/IobFileSoitaab.cs index 01d7bf2e..34a76840 100644 --- a/IOB-WIN-SQL/Iob/IobFileSoitaab.cs +++ b/IOB-WIN-SQL/Iob/IobFileSoitaab.cs @@ -117,10 +117,10 @@ namespace IOB_WIN_SQL.IobFile if (connectionOk) { // controllo veto checkDB - if (adesso > vetoDataRead) + if (adesso > DtHelp.vetoDataRead) { // predispongo prox veto... - vetoDataRead = adesso.AddSeconds(vetoReadFileSec); + DtHelp.vetoDataRead = adesso.AddSeconds(vetoReadFileSec); // semaforo currDispData.semIn = Semaforo.SV; // verifico SignLog e processo diff --git a/IOB-WIN-SQL/IobSql/SqlServLantek.cs b/IOB-WIN-SQL/IobSql/SqlServLantek.cs index c5e1ac7f..821347d7 100644 --- a/IOB-WIN-SQL/IobSql/SqlServLantek.cs +++ b/IOB-WIN-SQL/IobSql/SqlServLantek.cs @@ -253,15 +253,15 @@ namespace IOB_WIN_SQL.IobSql if (connectionOk) { // controllo veto checkDB - if (adesso > vetoDataRead) + if (adesso > DtHelp.vetoDataRead) { // predispongo prox veto... - vetoDataRead = adesso.AddSeconds(vetoReadDbSec); - if (adesso > vetoDataSync) + DtHelp.vetoDataRead = adesso.AddSeconds(vetoReadDbSec); + if (adesso > DtHelp.vetoDataSync) { // effettua sync execImportAll(); - vetoDataSync = adesso.AddSeconds(VetoSyncDbSec); + DtHelp.vetoDataSync = adesso.AddSeconds(VetoSyncDbSec); } // semaforo diff --git a/IOB-WIN-SQL/IobSql/SqlServPama.cs b/IOB-WIN-SQL/IobSql/SqlServPama.cs index 2e83d0b9..bcada3ba 100644 --- a/IOB-WIN-SQL/IobSql/SqlServPama.cs +++ b/IOB-WIN-SQL/IobSql/SqlServPama.cs @@ -253,15 +253,15 @@ namespace IOB_WIN_SQL.IobSql if (connectionOk) { // controllo veto checkDB - if (adesso > vetoDataRead) + if (adesso > DtHelp.vetoDataRead) { // predispongo prox veto... - vetoDataRead = adesso.AddSeconds(vetoReadDbSec); - if (adesso > vetoDataSync) + DtHelp.vetoDataRead = adesso.AddSeconds(vetoReadDbSec); + if (adesso > DtHelp.vetoDataSync) { // effettua sync execImportAll(); - vetoDataSync = adesso.AddSeconds(VetoSyncDbSec); + DtHelp.vetoDataSync = adesso.AddSeconds(VetoSyncDbSec); } // semaforo diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs index f11f9415..38bd60f8 100644 --- a/IOB-WIN/IobGeneric.cs +++ b/IOB-WIN/IobGeneric.cs @@ -332,7 +332,7 @@ namespace IOB_WIN /// /// Imposta veto chiamata split (durante chiamata, per 60 sec) /// - public DateTime vetoSplit = DateTime.Now.AddMinutes(1); + public DateTime DtHelp.vetoSplit = DateTime.Now.AddMinutes(1); /// /// alias booleano true = W @@ -690,15 +690,15 @@ namespace IOB_WIN /// /// Indicazione VETO PING a server sino alla data-ora indicata /// - public static DateTime dtVetoPing + public static DateTime DtHelp.dtVetoPing { get { - return utils.dtVetoPing; + return utils.DtHelp.dtVetoPing; } set { - utils.dtVetoPing = value; + utils.DtHelp.dtVetoPing = value; } } @@ -741,7 +741,7 @@ namespace IOB_WIN { bool answ = false; // controllo se ho un VETO all'invio... - if (dtVetoPing < DateTime.Now) + if (DtHelp.dtVetoPing < DateTime.Now) { if (DemoOut) { @@ -810,7 +810,7 @@ namespace IOB_WIN { lgInfo("SERVER ONLINE in checkServerAlive"); parentForm.commSrvActive = 1; - dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec); + DtHelp.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec); } else { @@ -823,7 +823,7 @@ namespace IOB_WIN else { // allungo periodo controllo... - dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 3); + DtHelp.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 3); } } else @@ -831,8 +831,8 @@ namespace IOB_WIN lgInfo($"SERVER NOT RESPONDING (PING at {cIobConf.serverData.MPIP})"); MPOnline = false; // imposto veto a 10 volte reinvio dati standard... - dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 3); - utils.dtVetoSend = dtVetoPing; + DtHelp.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 3); + utils.dtVetoSend = DtHelp.dtVetoPing; } } } @@ -3070,10 +3070,10 @@ namespace IOB_WIN public bool forceSplitOdl() { bool fatto = false; - if (vetoSplit < DateTime.Now) + if (DtHelp.vetoSplit < DateTime.Now) { // imposto veto x 1 minuto ad altre chiamate... - vetoSplit = DateTime.Now.AddMinutes(1); + DtHelp.vetoSplit = DateTime.Now.AddMinutes(1); // eseguo SOLO SE sono online... if (MPOnline && IobOnline) { diff --git a/IOB-WIN/MainForm.cs b/IOB-WIN/MainForm.cs index b827dccf..a01f0fc4 100644 --- a/IOB-WIN/MainForm.cs +++ b/IOB-WIN/MainForm.cs @@ -321,7 +321,7 @@ namespace IOB_WIN bool answ = false; if (!string.IsNullOrEmpty(MPIP)) { - if (utils.dtVetoPing < DateTime.Now) + if (utils.DtHelp.dtVetoPing < DateTime.Now) { IPStatus pingStatus = testPingServer; // se passa il ping faccio il resto... @@ -344,7 +344,7 @@ namespace IOB_WIN if (answ) { lgInfo("SERVER ONLINE"); - utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec); + utils.DtHelp.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec); } else { @@ -356,7 +356,7 @@ namespace IOB_WIN else { // allungo periodo controllo... - utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 3); + utils.DtHelp.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 3); } } else @@ -365,8 +365,8 @@ namespace IOB_WIN utils.MPIO_Online = false; updateComStats(0, 0, false); // imposto veto a 10 volte reinvio dati standard... - utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 10); - utils.dtVetoSend = utils.dtVetoPing; + utils.DtHelp.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 10); + utils.dtVetoSend = utils.DtHelp.dtVetoPing; } } else