diff --git a/IOB-UT-NEXT/baseUtils.cs b/IOB-UT-NEXT/baseUtils.cs index 13fcf4be..c39aa38b 100644 --- a/IOB-UT-NEXT/baseUtils.cs +++ b/IOB-UT-NEXT/baseUtils.cs @@ -66,7 +66,7 @@ namespace IOB_UT_NEXT // NextDouble() ∈ [0.0, 1.0) → fattore ∈ [-1.0, 1.0) double factor = rnd.NextDouble() * 2.0 - 1.0; // ±10% - return (int)(value * (1.0 + 0.10 * factor)); + return (int)(value * (1.0 + 0.20 * factor)); } } diff --git a/IOB-WIN-FANUC/DATA/CONF/MAIN.ini b/IOB-WIN-FANUC/DATA/CONF/MAIN.ini index 51e0748d..f621315d 100644 --- a/IOB-WIN-FANUC/DATA/CONF/MAIN.ini +++ b/IOB-WIN-FANUC/DATA/CONF/MAIN.ini @@ -34,4 +34,3 @@ CLI_INST=SteamWareSim STARTLIST=SIMUL_01 MAXCNC=10 - diff --git a/IOB-WIN-FORM/Iob/Generic.Protected.cs b/IOB-WIN-FORM/Iob/Generic.Protected.cs index 6a1bc7a1..126809cf 100644 --- a/IOB-WIN-FORM/Iob/Generic.Protected.cs +++ b/IOB-WIN-FORM/Iob/Generic.Protected.cs @@ -116,6 +116,11 @@ namespace IOB_WIN_FORM.Iob /// protected DateTime dtVetoAutoDossier = DateTime.Now; + /// + /// Veto x esecuzione Task2Exe troppo frequenti + /// + protected DateTime dtVetoTask2Exe = DateTime.Now; + /// /// Veto x lettura contapezzi (in caso di autoODL con attesa reset ad esempio...) /// @@ -1089,14 +1094,6 @@ namespace IOB_WIN_FORM.Iob get => $@"{urlCommandIob("setCounter")}?counter="; } - /// - /// URL per salvataggio contapezzi (quelli della macchina: PLC/CNC)... - /// - protected string urlSetPzCountMAC - { - get => $@"{urlCommand("setCounter")}MAC_{IOBConfFull.General.CodIOB}?counter="; - } - /// /// URL per effettuare salvataggio parametri (snapshot) macchina... /// @@ -5680,18 +5677,25 @@ namespace IOB_WIN_FORM.Iob // solo se NON sono disabilitati i Task2Exe... if (!IOBConfFull.Device.DisabExeTask) { - // recupero elenco delle cose da fare - string resp = await getTask2exe(""); - // se ho qualcosa --> creo obj e lo accodo... - if (!string.IsNullOrEmpty(resp) && resp.Length > 2) + // se non ho veto task2exe + DateTime adesso = DateTime.Now; + if (adesso > dtVetoTask2Exe) { - accodaServReq("", resp); - if (isMulti) + // blocco fisso a 5 sec x ora + dtVetoTask2Exe = adesso.AddSeconds(5); + // recupero elenco delle cose da fare + string resp = await getTask2exe(""); + // se ho qualcosa --> creo obj e lo accodo... + if (!string.IsNullOrEmpty(resp) && resp.Length > 2) { - foreach (var item in IOBConfFull.Device.MultiIobList) + accodaServReq("", resp); + if (isMulti) { - resp = await getTask2exe(item); - accodaServReq(item, resp); + foreach (var item in IOBConfFull.Device.MultiIobList) + { + resp = await getTask2exe(item); + accodaServReq(item, resp); + } } } } @@ -6108,7 +6112,7 @@ namespace IOB_WIN_FORM.Iob } // Imposto il veto per il prossimo controllo (se ConnOk + rapido sennò meno rapido) - var msWait = baseUtils.nextPauseSendMSec * (connectionOk ? 6 : 100); + var msWait = baseUtils.nextPauseSendMSec * (connectionOk ? 12 : 150); dtVetoCheckIOB = adesso.AddMilliseconds(msWait); } diff --git a/IOB-WIN-FORM/MainForm.cs b/IOB-WIN-FORM/MainForm.cs index bf461dbe..9a23c6d0 100644 --- a/IOB-WIN-FORM/MainForm.cs +++ b/IOB-WIN-FORM/MainForm.cs @@ -137,7 +137,7 @@ namespace IOB_WIN_FORM if (answ) { lgInfo("SERVER ONLINE"); - utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 3); + utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 10); } else { @@ -149,7 +149,7 @@ namespace IOB_WIN_FORM else { // allungo periodo controllo... - utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 10); + utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 20); } } else @@ -158,7 +158,7 @@ namespace IOB_WIN_FORM utils.MPIO_Online = false; updateComStats(0, 0, false); // imposto veto a 10 volte reinvio dati standard... - utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 20); + utils.dtVetoPing = DateTime.Now.AddMilliseconds(baseUtils.nextPauseSendMSec * 30); utils.dtVetoSend = utils.dtVetoPing; } } diff --git a/IOB-WIN-FTP/DATA/CONF/MAIN.ini b/IOB-WIN-FTP/DATA/CONF/MAIN.ini index 2cb4f81c..ebc0bef6 100644 --- a/IOB-WIN-FTP/DATA/CONF/MAIN.ini +++ b/IOB-WIN-FTP/DATA/CONF/MAIN.ini @@ -20,4 +20,3 @@ CLI_INST=SteamWareSim STARTLIST=FTP_SONATEST MAXCNC=10 - diff --git a/IOB-WIN-MBUS/App.config b/IOB-WIN-MBUS/App.config index 06b8390b..31deea4f 100644 --- a/IOB-WIN-MBUS/App.config +++ b/IOB-WIN-MBUS/App.config @@ -48,7 +48,7 @@ - + diff --git a/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs b/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs index 7c7f4a59..1ecd3227 100644 --- a/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs +++ b/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs @@ -2350,7 +2350,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP // se > max errori --> disconnetto if (currReadErrors > maxReadErrors) { - lgError($"Superato limite errori Read ({currReadErrors}) --> tryDisconnect"); + lgError($"Read Errors: Superato limite --> tryDisconnect | currReadErrors: {currReadErrors} | maxReadErrors: {maxReadErrors}"); currReadErrors = 0; tryDisconnect(); } diff --git a/IOB-WIN-MTC/DATA/CONF/MAIN.ini b/IOB-WIN-MTC/DATA/CONF/MAIN.ini index b8e74cd4..4b123815 100644 --- a/IOB-WIN-MTC/DATA/CONF/MAIN.ini +++ b/IOB-WIN-MTC/DATA/CONF/MAIN.ini @@ -27,4 +27,3 @@ STARTLIST=3024 ;STARTLIST=LVF652 MAXCNC=10 - diff --git a/IOB-WIN-OPC-UA/DATA/CONF/3026.ini b/IOB-WIN-OPC-UA/DATA/CONF/3026.ini index 3e5dcf32..cade9a2a 100644 --- a/IOB-WIN-OPC-UA/DATA/CONF/3026.ini +++ b/IOB-WIN-OPC-UA/DATA/CONF/3026.ini @@ -62,7 +62,7 @@ ENABLE_CLI_RESTART=TRUE DELTA_VAL=0 ; clock base (da 10ms) -timerIntMs=50 +timerIntMs=100 ; conf parametri memoria READ/WRITE OPC_PARAM_CONF=3026.json diff --git a/IOB-WIN-OPC-UA/DATA/CONF/MAIN.ini b/IOB-WIN-OPC-UA/DATA/CONF/MAIN.ini index acfaebef..afc5df70 100644 --- a/IOB-WIN-OPC-UA/DATA/CONF/MAIN.ini +++ b/IOB-WIN-OPC-UA/DATA/CONF/MAIN.ini @@ -34,4 +34,3 @@ STARTLIST=3026 ;STARTLIST=SIMUL_01 MAXCNC=10 - diff --git a/IOB-WIN-PING/DATA/CONF/MAIN.ini b/IOB-WIN-PING/DATA/CONF/MAIN.ini index 3e8827de..ab68298b 100644 --- a/IOB-WIN-PING/DATA/CONF/MAIN.ini +++ b/IOB-WIN-PING/DATA/CONF/MAIN.ini @@ -20,4 +20,3 @@ STARTLIST=SIMUL_08 ;STARTLIST=3023-PING,3024-PING MAXCNC=10 - diff --git a/IOB-WIN-SIEMENS/DATA/CONF/MAIN.ini b/IOB-WIN-SIEMENS/DATA/CONF/MAIN.ini index 085e681a..41774edf 100644 --- a/IOB-WIN-SIEMENS/DATA/CONF/MAIN.ini +++ b/IOB-WIN-SIEMENS/DATA/CONF/MAIN.ini @@ -38,7 +38,7 @@ CLI_INST=SteamWareSim ;STARTLIST=3010 ;STARTLIST=PIZ03 ;STARTLIST=3020 -STARTLIST=SIMUL_01 +;STARTLIST=SIMUL_01 +STARTLIST=3010 MAXCNC=10 - diff --git a/IOB-WIN-SIEMENS/IOB-WIN-SIEMENS.csproj b/IOB-WIN-SIEMENS/IOB-WIN-SIEMENS.csproj index c0f3f370..88c6d09c 100644 --- a/IOB-WIN-SIEMENS/IOB-WIN-SIEMENS.csproj +++ b/IOB-WIN-SIEMENS/IOB-WIN-SIEMENS.csproj @@ -186,8 +186,12 @@ - - + + Always + + + Always + diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensTorri.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensTorri.cs index 94a66a02..3beefdde 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensTorri.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensTorri.cs @@ -382,63 +382,29 @@ namespace IOB_WIN_SIEMENS.IobSiemens { if (!string.IsNullOrEmpty(currODL) && currIdxODL > 0) { - // ora processo il contapezzi... - string retVal = ""; // controllo se è passato intervallo minimo tra 2 controlli/elaborazioni x // distanziare invio e ridurre letture if (DateTime.Now >= lastPzCountSend.AddMilliseconds(pzCountDelay)) { - // Salvo il contapezzi della macchina - retVal = utils.CallUrlGet(urlSetPzCountMAC + contapezziPLC.ToString()); - // verifica se tutto OK, ovvero conferma i pezzi inviati - if (retVal != contapezziPLC.ToString()) + // semplifico: se ho differenza invio in blocco + if (contapezziPLC > contapezziIOB) { - // errore salvataggio contapezzi - lgInfo($"Errore salvataggio Contapezzi PLC SIEMENST-TORRI: {contapezziPLC} | contapezziIOB {contapezziIOB} | Valore tornato: {retVal}"); - // rileggo il counter pezzi da server - pzCntReload(true); - } - - // se sono differenti MOSTRO... - if (contapezziPLC != contapezziIOB) - { - // registro contapezzi - lgInfo($"Differenza Contapezzi: contapezziPLC: {contapezziPLC} | contapezziIOB: {contapezziIOB}"); - } - - if ((contapezziPLC > contapezziIOB)) - { - // salvo nuovo contapezzi (incremento di 1...) + richiesta refresh conteggio - contapezziIOB++; - needRefreshPzCount = true; - // salvo in semaforo! - B_input += 1 << 2; - // registro contapezzi - lgInfo($"contapezziPLC SIEMENST-TORRI: {contapezziPLC} | contapezziIOB {contapezziIOB}"); - } - - if (needRefreshPzCount) - { - // Salvo il contapezzi della macchina - retVal = utils.CallUrlGet(urlSetPzCount + contapezziIOB.ToString()); - // verifica se tutto OK, ovvero conferma i pezzi inviati - if (retVal != contapezziIOB.ToString()) - { - // errore salvataggio contapezzi - lgInfo($"Errore salvataggio contapezziPLC SIEMENST-TORRI: {contapezziPLC} | contapezziIOB {contapezziIOB} | Valore tornato: {retVal}"); - // rileggo il counter pezzi da server - pzCntReload(true); - } - // resetto timer... - lastPzCountSend = DateTime.Now; - - // verifico se variato contapezzi... e se passato ritardo minimo... if ((contapezziPLC - contapezziIOB) > minSendPzCountBlock) { trySendPzCountBlock(); } - } + else + { + // salvo nuovo contapezzi (incremento di 1...) + richiesta refresh conteggio + contapezziIOB++; + needRefreshPzCount = true; + // salvo in semaforo! + B_input += 1 << 2; + } + // registro contapezzi + lgInfo($"contapezziPLC SIEMENST-TORRI: {contapezziPLC} | contapezziIOB {contapezziIOB}"); + } } } else diff --git a/IOB-WIN-WPS/DATA/CONF/MAIN.ini b/IOB-WIN-WPS/DATA/CONF/MAIN.ini index 5b0016e5..a81dc4b2 100644 --- a/IOB-WIN-WPS/DATA/CONF/MAIN.ini +++ b/IOB-WIN-WPS/DATA/CONF/MAIN.ini @@ -24,4 +24,3 @@ STARTLIST=3018 ;STARTLIST=SIMUL_06 MAXCNC=10 - diff --git a/IOB-WIN/GlobalSuppressions.cs b/IOB-WIN/GlobalSuppressions.cs index 3d8f13c0..55da6aaf 100644 --- a/IOB-WIN/GlobalSuppressions.cs +++ b/IOB-WIN/GlobalSuppressions.cs @@ -27,7 +27,6 @@ using System.Diagnostics.CodeAnalysis; [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1056:Le proprietà Uri non devono essere stringhe", Justification = "", Scope = "member", Target = "~P:IOB_WIN.IobGeneric.urlSetM2IOB")] [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1056:Le proprietà Uri non devono essere stringhe", Justification = "", Scope = "member", Target = "~P:IOB_WIN.IobGeneric.urlSetOptVal")] [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1056:Le proprietà Uri non devono essere stringhe", Justification = "", Scope = "member", Target = "~P:IOB_WIN.IobGeneric.urlSetPzCount")] -[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1056:Le proprietà Uri non devono essere stringhe", Justification = "", Scope = "member", Target = "~P:IOB_WIN.IobGeneric.urlSetPzCountMAC")] [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1056:Le proprietà Uri non devono essere stringhe", Justification = "", Scope = "member", Target = "~P:IOB_WIN.IobGeneric.urlUpdateWriteParams")] [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1056:Le proprietà Uri non devono essere stringhe", Justification = "", Scope = "member", Target = "~P:IOB_WIN.IobMTC.urlSaveDataItems")] [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1056:Le proprietà Uri non devono essere stringhe", Justification = "", Scope = "member", Target = "~P:IOB_WIN.MainForm.updateUrl")]