diff --git a/IOB-UT-NEXT/Config/Base/DeviceDto.cs b/IOB-UT-NEXT/Config/Base/DeviceDto.cs index 3c3fe305..7f24d2a7 100644 --- a/IOB-UT-NEXT/Config/Base/DeviceDto.cs +++ b/IOB-UT-NEXT/Config/Base/DeviceDto.cs @@ -26,6 +26,15 @@ namespace IOB_UT_NEXT.Config.Base /// Indica se sia multi pallet /// public bool IsMulti { get; set; } = false; + /// + /// Codice dei vari codici aggiuntivi IOB multi x funzioni slave (es autoOdl) + /// + public string MultiIobListRaw { get; set; } = ""; + + /// + /// Lista dei vari IOB multi x funzioni slave (es autoOdl) + /// + public List MultiIobList { get; set; } /// /// Dati configurazione CNC diff --git a/IOB-UT-NEXT/Config/Base/IobDto.cs b/IOB-UT-NEXT/Config/Base/IobDto.cs index 4130ce70..3c8ba1ad 100644 --- a/IOB-UT-NEXT/Config/Base/IobDto.cs +++ b/IOB-UT-NEXT/Config/Base/IobDto.cs @@ -45,10 +45,22 @@ namespace IOB_UT_NEXT.Config.Base /// public string CodIOB { get; set; } = "ND"; +#if false /// - /// Codice dei vari IOB multi x funzioni slave (es autoOdl) + /// Codice dei vari codici aggiuntivi IOB multi x funzioni slave (es autoOdl) /// - public string MultiIobList { get; set; } = ""; + public string MultiIobListRaw { get; set; } = ""; + + /// + /// Lista dei vari IOB multi x funzioni slave (es autoOdl) + /// + public List MultiIobList { get; set; } + + /// + /// Lista dei vari IOB multi x funzioni slave (es autoOdl) + /// + public bool IsMultiIobList { get; set; } = false; +#endif /// /// Tempo di attesa (in minuti) x lettura contapezzi standard (default 30 sec) @@ -68,7 +80,7 @@ namespace IOB_UT_NEXT.Config.Base /// /// Soglia massima errori prima della disconnessione automatica in check /// - public int MaxErroriCheck { get; set; }=100; + public int MaxErroriCheck { get; set; } = 100; /// /// Max tentativi ping permessi (default: 5) @@ -108,7 +120,7 @@ namespace IOB_UT_NEXT.Config.Base /// /// Abilitazione invio conf macchine /// - public bool SenMachineConf { get; set; } = true; + public bool SenMachineConf { get; set; } = true; /// /// Gestione dei Timers applicazione (UI + task varia scandenza) diff --git a/IOB-UT-NEXT/Config/IobConfTree.cs b/IOB-UT-NEXT/Config/IobConfTree.cs index 5ab307ec..b22a8c4a 100644 --- a/IOB-UT-NEXT/Config/IobConfTree.cs +++ b/IOB-UT-NEXT/Config/IobConfTree.cs @@ -8,6 +8,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Management.Instrumentation; using System.Reflection; using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes; @@ -127,7 +128,6 @@ namespace IOB_UT_NEXT.Config MaxErroriCheck = fIni.ReadInteger("OPTPAR", "MAX_ERR_CHECK", maxErrCheck), MaxPingRetry = fIni.ReadInteger("OPTPAR", "MAX_PING_RETRY", 5), MinDeltaSec = fIni.ReadInteger("IOB", "MinDeltaSec", 6), - MultiIobList = fIni.ReadString("OPTPAR", "IOB_MULTI_CNAME", ""), RelVers = relVers,// $"{System.Reflection.Assembly.GetExecutingAssembly().GetName().Version}", ResetAlarmOnStart = bool.Parse(fIni.ReadString("OPTPAR", "SEND_ALARM_RESET", "false")), SenMachineConf = bool.Parse(fIni.ReadString("OPTPAR", "SEND_MACHINE_CONF", "true")), @@ -135,11 +135,11 @@ namespace IOB_UT_NEXT.Config WatchDogPeriod = Convert.ToInt32(fIni.ReadString("OPTPAR", "WATCHDOG_PERIOD", "2")), DisabWDST = bool.Parse(fIni.ReadString("OPTPAR", "DISABLE_SEND_WDST", "true")) }; + // escludo valori OPTPAR gestiti exclOptPar.Add("CodGruppoIob"); exclOptPar.Add("DELAY_READ_PZ_COUNT"); exclOptPar.Add("DISABLE_SEND_WDST"); exclOptPar.Add("EnabelPodlManFull"); - exclOptPar.Add("IOB_MULTI_CNAME"); exclOptPar.Add("MAX_ERR_CHECK"); exclOptPar.Add("MAX_PING_RETRY"); exclOptPar.Add("SEND_ALARM_RESET"); @@ -261,6 +261,7 @@ namespace IOB_UT_NEXT.Config ExeModeCheckBypass = bool.Parse(fIni.ReadString("OPTPAR", "EXEMODE_CHECK_BYPASS", "false")), Model = fIni.ReadString("MACHINE", "MODEL", "ND"), MinRespTimeMs = fIni.ReadInteger("OPTPAR", "MIN_RESP_TIME_MS", 5), + MultiIobListRaw = fIni.ReadString("OPTPAR", "IOB_MULTI_CNAME", ""), NumArtMode = fIni.ReadString("OPTPAR", "SET_NUM_ART", ""), NumOdlMode = fIni.ReadString("OPTPAR", "SET_NUM_COM", ""), PoweroffTimeOutSec = fIni.ReadInteger("OPTPAR", "POWEROFF_TIMEOUT_SEC", 120), @@ -286,6 +287,7 @@ namespace IOB_UT_NEXT.Config exclOptPar.Add("ENABLE_CLI_RESTART"); exclOptPar.Add("ENABLE_MEM_REWRITE"); exclOptPar.Add("EXEMODE_CHECK_BYPASS"); + exclOptPar.Add("IOB_MULTI_CNAME"); exclOptPar.Add("MAX_TRY_PING"); exclOptPar.Add("MIN_RESP_TIME_MS"); exclOptPar.Add("NO_PING"); @@ -316,6 +318,13 @@ namespace IOB_UT_NEXT.Config } } exclOptPar.Add("IS_MULTI"); + // verifico comunque se ci fosse Device.MultiIobListRaw + if (!string.IsNullOrEmpty(newConfObj.Device.MultiIobListRaw)) + { + newConfObj.Device.IsMulti = true; + newConfObj.Device.MultiIobList = newConfObj.Device.MultiIobListRaw.Split(',').ToList() ?? new List(); + + } // BLINK newConfObj.SignalProc.BlinkMaxCounter = Convert.ToInt32(fIni.ReadString("BLINK", "MAX_COUNTER_BLINK", "1")); diff --git a/IOB-UT-NEXT/IOB-UT-NEXT.csproj b/IOB-UT-NEXT/IOB-UT-NEXT.csproj index 9adc75cf..20202b3d 100644 --- a/IOB-UT-NEXT/IOB-UT-NEXT.csproj +++ b/IOB-UT-NEXT/IOB-UT-NEXT.csproj @@ -87,7 +87,7 @@ ..\packages\RestSharp.112.1.0\lib\netstandard2.0\RestSharp.dll - ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + ..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll diff --git a/IOB-UT-NEXT/packages.config b/IOB-UT-NEXT/packages.config index 0469987f..a2fe202b 100644 --- a/IOB-UT-NEXT/packages.config +++ b/IOB-UT-NEXT/packages.config @@ -9,7 +9,7 @@ - + diff --git a/IOB-UT/IOB-UT.csproj b/IOB-UT/IOB-UT.csproj index d5063ee1..ec214273 100644 --- a/IOB-UT/IOB-UT.csproj +++ b/IOB-UT/IOB-UT.csproj @@ -54,9 +54,8 @@ ..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll - - ..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll - True + + ..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll diff --git a/IOB-UT/packages.config b/IOB-UT/packages.config index 3040ff07..1648ca46 100644 --- a/IOB-UT/packages.config +++ b/IOB-UT/packages.config @@ -1,6 +1,6 @@  - + diff --git a/IOB-WIN-BECKHOFF/IobBeckhoff/BeckhoffCpa.cs b/IOB-WIN-BECKHOFF/IobBeckhoff/BeckhoffCpa.cs index e3ebc01c..ecfa6750 100644 --- a/IOB-WIN-BECKHOFF/IobBeckhoff/BeckhoffCpa.cs +++ b/IOB-WIN-BECKHOFF/IobBeckhoff/BeckhoffCpa.cs @@ -53,7 +53,7 @@ namespace IOB_WIN_BECKHOFF.IobBeckhoff /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { lgInfo($"Chiamata executeTasks specifica IobBeckhoffCpa: {task2exe.Count} task ricevuti"); // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... diff --git a/IOB-WIN-FANUC/App.config b/IOB-WIN-FANUC/App.config index ec203a11..cb9da60e 100644 --- a/IOB-WIN-FANUC/App.config +++ b/IOB-WIN-FANUC/App.config @@ -155,7 +155,7 @@ - + diff --git a/IOB-WIN-FANUC/IOB-WIN-FANUC.csproj b/IOB-WIN-FANUC/IOB-WIN-FANUC.csproj index 541267ec..f3442c5e 100644 --- a/IOB-WIN-FANUC/IOB-WIN-FANUC.csproj +++ b/IOB-WIN-FANUC/IOB-WIN-FANUC.csproj @@ -47,8 +47,8 @@ ..\packages\EgwProxy.MultiCncLib.3.6.2207.1211\lib\EgwProxy.MultiCncLib.dll - - ..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll @@ -69,7 +69,7 @@ ..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll - ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + ..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll diff --git a/IOB-WIN-FANUC/Iob/Fanuc.cs b/IOB-WIN-FANUC/Iob/Fanuc.cs index f19be5ec..5eb6329a 100644 --- a/IOB-WIN-FANUC/Iob/Fanuc.cs +++ b/IOB-WIN-FANUC/Iob/Fanuc.cs @@ -174,7 +174,7 @@ namespace IOB_WIN_FANUC.Iob /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); @@ -391,7 +391,7 @@ namespace IOB_WIN_FANUC.Iob // reset contapezzi inizio setup if (IOBConfFull.Counters.ResetOnSetupStart) { - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); } taskVal = taskOk ? "startSetup | RESET: SETUP START" : "startSetup | PZ RESET DISABLED | NO EXEC"; lgInfo($"Chiamata startSetup: taskOk: {taskOk} | taskVal: {taskVal}"); @@ -401,7 +401,7 @@ namespace IOB_WIN_FANUC.Iob // reset contapezzi fine setup SE ESPLICITAMENTE IMPOSTATO if (IOBConfFull.Counters.ResetOnSetupStop) { - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); } taskVal = taskOk ? "stopSetup | RESET: SETUP END" : "stopSetup | PZ RESET DISABLED | NO EXEC"; lgInfo($"Chiamata stopSetup: taskOk: {taskOk} | taskVal: {taskVal}"); @@ -412,7 +412,7 @@ namespace IOB_WIN_FANUC.Iob if (IOBConfFull.Counters.ResetOnProdEnd) { lgDebug($"Fanuc.executeTasks {tName} | resetContapezziPLC"); - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); } break; @@ -1061,7 +1061,7 @@ namespace IOB_WIN_FANUC.Iob /// Effettua reset del contapezzi /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; // scrivo valore 0 x il contapezzi diff --git a/IOB-WIN-FANUC/packages.config b/IOB-WIN-FANUC/packages.config index d5528247..ada6bb10 100644 --- a/IOB-WIN-FANUC/packages.config +++ b/IOB-WIN-FANUC/packages.config @@ -1,7 +1,7 @@  - + @@ -9,7 +9,7 @@ - + diff --git a/IOB-WIN-FILE/IobFile/FileEurom63.cs b/IOB-WIN-FILE/IobFile/FileEurom63.cs index 44a8c284..283a00db 100644 --- a/IOB-WIN-FILE/IobFile/FileEurom63.cs +++ b/IOB-WIN-FILE/IobFile/FileEurom63.cs @@ -390,7 +390,7 @@ namespace IOB_WIN_FILE.IobFile /// Effettua reset del contapezzi, NON PERMESSO per EM63 (read only) /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -400,7 +400,7 @@ namespace IOB_WIN_FILE.IobFile /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON PERMESSO per EM63 (read only) /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-FILE/IobFile/IobFileSoitaab.cs b/IOB-WIN-FILE/IobFile/IobFileSoitaab.cs index 3bd9111c..87ecc819 100644 --- a/IOB-WIN-FILE/IobFile/IobFileSoitaab.cs +++ b/IOB-WIN-FILE/IobFile/IobFileSoitaab.cs @@ -82,7 +82,7 @@ namespace IOB_WIN_FILE.IobFile /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { DateTime adesso = DateTime.Now; // NON fa nulla... anche se non dovrebbe richiamarlo diff --git a/IOB-WIN-FORM/AdapterForm.cs b/IOB-WIN-FORM/AdapterForm.cs index 196d9d84..b2650827 100644 --- a/IOB-WIN-FORM/AdapterForm.cs +++ b/IOB-WIN-FORM/AdapterForm.cs @@ -1386,8 +1386,8 @@ namespace IOB_WIN_FORM { forcedTask.Add(cmbParamValues.SelectedValue.ToString(), txtValue.Text); } - // chiedo esecuzione task! - iobObj.processTask(forcedTask); + // chiedo esecuzione task! forzato SENZA tavola + iobObj.processTask(forcedTask, ""); chkEdit.Checked = false; toggleEditMes2Plc(); } diff --git a/IOB-WIN-FORM/IOB-WIN-FORM.csproj b/IOB-WIN-FORM/IOB-WIN-FORM.csproj index 0e370c50..48775180 100644 --- a/IOB-WIN-FORM/IOB-WIN-FORM.csproj +++ b/IOB-WIN-FORM/IOB-WIN-FORM.csproj @@ -75,6 +75,9 @@ ..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll + + ..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll + ..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll @@ -86,11 +89,11 @@ ..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll - - ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll + + ..\packages\System.Text.Encodings.Web.9.0.0\lib\net462\System.Text.Encodings.Web.dll - - ..\packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll + + ..\packages\System.Text.Json.9.0.0\lib\net462\System.Text.Json.dll ..\packages\System.Threading.Tasks.Extensions.4.6.0\lib\net462\System.Threading.Tasks.Extensions.dll diff --git a/IOB-WIN-FORM/Iob/Generic.Protected.cs b/IOB-WIN-FORM/Iob/Generic.Protected.cs index 025d2088..3e52d1ae 100644 --- a/IOB-WIN-FORM/Iob/Generic.Protected.cs +++ b/IOB-WIN-FORM/Iob/Generic.Protected.cs @@ -1018,6 +1018,13 @@ namespace IOB_WIN_FORM.Iob { get => $@"{urlCommandIob("remTask2Exe")}?taskName="; } + /// + /// URL per richiamo task da eseguire... + /// + protected string urlRemTask2ExeTav(string codTav) + { + return $@"{urlCommandIob("remTask2Exe")}|{codTav}?taskName="; + } /// /// URL per salvataggio dati PARAMETRI IOB... @@ -1678,12 +1685,19 @@ namespace IOB_WIN_FORM.Iob /// - KEY: task /// - VALUE: array JSon KVP /// - protected string getTask2exe() + /// Cod DP/Tavola (opzionale) + /// + protected string getTask2exe(string codTav) { string answ = ""; if (checkServerAlive) { string url2call = $"{urlGetTask2Exe}"; + // se ho tavola aggiungo richiesta... + if (!string.IsNullOrEmpty(codTav)) + { + url2call += $"|{codTav}"; + } if (verboseLog) { lgInfo("chiamata URL " + url2call); @@ -3058,15 +3072,20 @@ namespace IOB_WIN_FORM.Iob /// /// /// + /// /// - protected string remTask2exe(string taskName, string esitoTask) + protected string remTask2exe(string taskName, string esitoTask, string codTav) { string answ = ""; if (checkServerAlive) { string url2call = $"{urlRemTask2Exe}{taskName}"; - lgInfo($"Task2Exe | {esitoTask} | chiamata URL {url2call}"); + if(!string.IsNullOrEmpty(codTav)) + { + url2call = $"{urlRemTask2ExeTav(codTav)}{taskName}"; + } answ = utils.callUrlNow(url2call); + lgInfo($"Task2Exe.remTask2exe | {esitoTask} | chiamata URL {url2call} | answ: {answ}"); } return answ; } @@ -3275,9 +3294,18 @@ namespace IOB_WIN_FORM.Iob /// /// /// - protected void sendToTaskWatch(string messType, string message) + protected void sendToTaskWatch(string messType, string message, string codTav) { - parentForm.taskWatcher = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")} | {messType} | {message}"; + string logMsg = $"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")} | {messType} | {message}"; + if (string.IsNullOrEmpty(codTav)) + { + logMsg += $" | {messType} | {message}"; + } + else + { + logMsg += $" | {codTav} | {messType} | {message}"; + } + parentForm.taskWatcher = logMsg; } /// diff --git a/IOB-WIN-FORM/Iob/Generic.Public.cs b/IOB-WIN-FORM/Iob/Generic.Public.cs index 89d4bbbb..8804efaa 100644 --- a/IOB-WIN-FORM/Iob/Generic.Public.cs +++ b/IOB-WIN-FORM/Iob/Generic.Public.cs @@ -740,10 +740,16 @@ namespace IOB_WIN_FORM.Iob /// /// Esecuzione dei task richiesti e pulizia coda richieste eseguite /// - /// - public virtual Dictionary executeTasks(Dictionary task2exe) + /// Elenco task da eseguire + /// Codice TAV (per macchine multi pallet) - opzionale + public virtual Dictionary executeTasks(Dictionary task2exe, string codTav) { - lgInfo($"Generic: call executeTasks | {task2exe.Count} task"); + string logMsg = $"Generic: call executeTasks | {task2exe.Count} task"; + if(!string.IsNullOrEmpty(codTav)) + { + logMsg += $" | codTav: {codTav}"; + } + lgInfo(logMsg); // Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); if (task2exe != null) @@ -762,6 +768,12 @@ namespace IOB_WIN_FORM.Iob // converto richiesta in enum... taskType tName = taskType.nihil; Enum.TryParse(item.Key, out tName); + string iKey = item.Key; + // se è DP aggiungo in chiave il valore della TAV richiesta... ad es setComm --> setComm#TAV_1 + if (!string.IsNullOrEmpty(codTav)) + { + iKey += $"#{codTav}"; + } // controllo sulla KEY... switch (tName) { @@ -772,25 +784,25 @@ namespace IOB_WIN_FORM.Iob // recupero dati da memMap... if (memMap != null && memMap.mMapWrite != null) { - if (memMap.mMapWrite.ContainsKey(item.Key)) + if (memMap.mMapWrite.ContainsKey(iKey)) { - dataConf currMem = memMap.mMapWrite[item.Key]; + dataConf currMem = memMap.mMapWrite[iKey]; string addr = currMem.memAddr; - taskVal = $"SET task: {item.Key} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; + taskVal = $"SET task: {iKey} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; // salvo il nuovo valore nella memoria... così prox invio lo trasmetterà - memMap.mMapWrite[item.Key].value = item.Value; + memMap.mMapWrite[iKey].value = item.Value; } else { - taskVal = $"NO DATA MEM, SET task: {item.Key} --> {item.Value}"; + taskVal = $"NO DATA MEM, SET task: {iKey} --> {item.Value}"; } } else { - taskVal = $"NO BankConf found, SET task: {item.Key} --> {item.Value}"; + taskVal = $"NO BankConf found, SET task: {iKey} --> {item.Value}"; } // salvo in currProd.. - upsertKey(item.Key, item.Value); + upsertKey(iKey, item.Value); break; @@ -799,7 +811,7 @@ namespace IOB_WIN_FORM.Iob if (IOBConfFull.Counters.ResetOnProdEnd) { lgDebug($"Generic.executeTasks {tName} | resetContapezziPLC"); - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); } break; @@ -808,25 +820,25 @@ namespace IOB_WIN_FORM.Iob if (memMap != null && memMap.mMapWrite != null) { lgDebug($"Generic.executeTasks {tName} | resetContapezziPLC | memMap"); - if (memMap.mMapWrite.ContainsKey(item.Key)) + if (memMap.mMapWrite.ContainsKey(iKey)) { - dataConf currMem = memMap.mMapWrite[item.Key]; + dataConf currMem = memMap.mMapWrite[iKey]; string addr = currMem.memAddr; - taskVal = $"SET task: {item.Key} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; + taskVal = $"SET task: {iKey} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; // salvo il nuovo valore nella memoria... così prox invio lo trasmetterà - memMap.mMapWrite[item.Key].value = item.Value; + memMap.mMapWrite[iKey].value = item.Value; taskOk = true; } else { - taskVal = $"NO DATA MEM, SET task: {item.Key} --> {item.Value}"; + taskVal = $"NO DATA MEM, SET task: {iKey} --> {item.Value}"; } } else { // reset contapezzi senza memMap lgDebug($"Generic.executeTasks {tName} | resetContapezziPLC | NO memMap"); - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); taskVal = taskOk ? "forceResetPzCount | RESET PZ COUNT OK" : "forceResetPzCount | PZ RESET DISABLED | NO EXEC"; } lgInfo($"Chiamata forceResetPzCount: taskOk: {taskOk} | taskVal: {taskVal}"); @@ -836,22 +848,22 @@ namespace IOB_WIN_FORM.Iob // recupero dati da memMap... if (memMap != null && memMap.mMapWrite != null) { - if (memMap.mMapWrite.ContainsKey(item.Key)) + if (memMap.mMapWrite.ContainsKey(iKey)) { - dataConf currMem = memMap.mMapWrite[item.Key]; + dataConf currMem = memMap.mMapWrite[iKey]; string addr = currMem.memAddr; - taskVal = $"SET task: {item.Key} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; + taskVal = $"SET task: {iKey} --> {item.Value} | mem: {currMem.memAddr} - {currMem.size} byte"; // salvo il nuovo valore nella memoria... così prox invio lo trasmetterà - memMap.mMapWrite[item.Key].value = item.Value; + memMap.mMapWrite[iKey].value = item.Value; } else { - taskVal = $"NO DATA MEM, SET task: {item.Key} --> {item.Value}"; + taskVal = $"NO DATA MEM, SET task: {iKey} --> {item.Value}"; } } else { - taskVal = $"NO BankConf found, SET task: {item.Key} --> {item.Value}"; + taskVal = $"NO BankConf found, SET task: {iKey} --> {item.Value}"; } lgInfo($"Chiamata forceSetPzCount: taskVal: {taskVal}"); @@ -870,26 +882,26 @@ namespace IOB_WIN_FORM.Iob // da memMap... if (memMap != null && memMap.mMapWrite != null) { - if (memMap.mMapWrite.ContainsKey(item.Key)) + if (memMap.mMapWrite.ContainsKey(iKey)) { - dataConf currMem = memMap.mMapWrite[item.Key]; + dataConf currMem = memMap.mMapWrite[iKey]; string addr = currMem.memAddr; - taskVal = $"SET task: {item.Key} --> {newVal} | mem: {currMem.memAddr} - {currMem.size} byte"; + taskVal = $"SET task: {iKey} --> {newVal} | mem: {currMem.memAddr} - {currMem.size} byte"; // salvo il nuovo valore nella memoria... così prox invio lo trasmetterà - memMap.mMapWrite[item.Key].value = newVal; + memMap.mMapWrite[iKey].value = newVal; } else { - taskVal = $"NO DATA MEM, SET task: {item.Key} --> {newVal} ({item.Value})"; + taskVal = $"NO DATA MEM, SET task: {iKey} --> {newVal} ({item.Value})"; } } else { - taskVal = $"NO BankConf found, SET task: {item.Key} --> {newVal} ({item.Value})"; + taskVal = $"NO BankConf found, SET task: {iKey} --> {newVal} ({item.Value})"; } // salvo in currProd.. - upsertKey(item.Key, newVal); + upsertKey(iKey, newVal); break; case taskType.setCommNum: @@ -899,26 +911,26 @@ namespace IOB_WIN_FORM.Iob // da memMap... if (memMap != null && memMap.mMapWrite != null) { - if (memMap.mMapWrite.ContainsKey(item.Key)) + if (memMap.mMapWrite.ContainsKey(iKey)) { - dataConf currMem = memMap.mMapWrite[item.Key]; + dataConf currMem = memMap.mMapWrite[iKey]; string addr = currMem.memAddr; - taskVal = $"SET task: {item.Key} --> {newVal} | mem: {currMem.memAddr} - {currMem.size} byte"; + taskVal = $"SET task: {iKey} --> {newVal} | mem: {currMem.memAddr} - {currMem.size} byte"; // salvo il nuovo valore nella memoria... così prox invio lo trasmetterà - memMap.mMapWrite[item.Key].value = newVal; + memMap.mMapWrite[iKey].value = newVal; } else { - taskVal = $"NO DATA MEM, SET task: {item.Key} --> {newVal} ({item.Value})"; + taskVal = $"NO DATA MEM, SET task: {iKey} --> {newVal} ({item.Value})"; } } else { - taskVal = $"NO BankConf found, SET task: {item.Key} --> {newVal} ({item.Value})"; + taskVal = $"NO BankConf found, SET task: {iKey} --> {newVal} ({item.Value})"; } // salvo in currProd.. - upsertKey(item.Key, newVal); + upsertKey(iKey, newVal); break; case taskType.startSetup: @@ -926,7 +938,7 @@ namespace IOB_WIN_FORM.Iob if (IOBConfFull.Counters.ResetOnSetupStart) { lgDebug($"Generic.executeTasks {tName} | resetContapezziPLC"); - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); } taskVal = taskOk ? "startSetup | RESET: SETUP START" : "startSetup | PZ RESET DISABLED | NO EXEC"; lgInfo($"Chiamata startSetup: taskOk: {taskOk} | taskVal: {taskVal}"); @@ -937,7 +949,7 @@ namespace IOB_WIN_FORM.Iob if (IOBConfFull.Counters.ResetOnSetupStop) { lgDebug($"Generic.executeTasks {tName} | resetContapezziPLC"); - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); } taskVal = taskOk ? "stopSetup | RESET: SETUP END" : "stopSetup | PZ RESET DISABLED | NO EXEC"; lgInfo($"Chiamata stopSetup: taskOk: {taskOk} | taskVal: {taskVal}"); @@ -968,12 +980,12 @@ namespace IOB_WIN_FORM.Iob break; case taskType.processOtherInfo: - bool okProc = processOtherInfo(item.Key, item.Value); - taskVal = okProc ? $"OK processOtherInfo | {item.Key} | {item.Value}" : $"ERROR processOtherInfo | {item.Key} | {item.Value}"; + bool okProc = processOtherInfo(iKey, item.Value); + taskVal = okProc ? $"OK processOtherInfo | {iKey} | {item.Value}" : $"ERROR processOtherInfo | {iKey} | {item.Value}"; break; default: - taskVal = $"taskReq: {tName} | key: {item.Key} | val: {item.Value} | SKIPPED | NO EXEC"; + taskVal = $"taskReq: {tName} | key: {iKey} | val: {item.Value} | SKIPPED | NO EXEC"; lgInfo($"Chiamata senza processing: taskOk: {taskOk} | taskVal: {taskVal}"); break; } @@ -1051,12 +1063,10 @@ namespace IOB_WIN_FORM.Iob { string fullUrl = ""; string rawSplit = ""; - string[] elencoMulti = null; - try { /*************************************************** - * Descrizione procedura (OK X SIMULATORI...) + * Descrizione procedura (OK X SIMULATORI... da provare x DP come OpcUaSiemensSW) * * - chiamata su MP/IO * - verifica che su DB sia abilitato AUTO ODL @@ -1078,11 +1088,6 @@ namespace IOB_WIN_FORM.Iob * * ***************************************************/ - if (isMulti) - { - // devo chiamare cambio ODL x OGNI tavola: mi servono i parametri opzionali... - elencoMulti = IOBConfFull.General.MultiIobList.Split(','); - } // se normale splitto! if (!isMulti) { @@ -1093,7 +1098,7 @@ namespace IOB_WIN_FORM.Iob // se multi gestisco il bit delle tavole... else { - foreach (string item in elencoMulti) + foreach (string item in IOBConfFull.Device.MultiIobList) { // invio chiamata URL x reset ODL su macchina, ATTENZIONE scriviamo // | al posto di "#" che in URL sarebbe filtrato... @@ -1894,12 +1899,14 @@ namespace IOB_WIN_FORM.Iob { dtVetoAutoDossier = adesso.AddMinutes(30); lgTrace("Richiesta processAutoDossier"); +#if false string[] elencoMulti = null; if (isMulti) { // devo chiamare cambio ODL x OGNI tavola: mi servono i parametri opzionali... - elencoMulti = IOBConfFull.General.MultiIobList.Split(','); - } + elencoMulti = IOBConfFull.Device.MultiIobListRaw.Split(','); + } +#endif lgTrace("AutoSnapshotDossier abilitato"); // chiamo stored x creare Snapshot Dossier giornalieri fino alla data... @@ -1930,13 +1937,7 @@ namespace IOB_WIN_FORM.Iob lgTrace("processAutoOdl | AutoChangeOdl abilitato"); // imposto il veto lettura contapezzi a 1 minuto x iniziare... dtVetoReadPzCount = DateTime.Now.AddMinutes(delayMinReadPzCount); - string[] elencoMulti = null; string fullUrl = ""; - if (isMulti) - { - // devo chiamare cambio ODL x OGNI tavola: mi servono i parametri opzionali... - elencoMulti = IOBConfFull.General.MultiIobList.Split(','); - } DateTime adesso = DateTime.Now; DateTime inizioOdl = adesso; string rawDataInizio = ""; @@ -1998,7 +1999,7 @@ namespace IOB_WIN_FORM.Iob else { // prendo il + vecchio... - foreach (var item in elencoMulti) + foreach (var item in IOBConfFull.Device.MultiIobList) { fullUrl = $@"{urlCommand("fixDailyOdlConfPzCount")}{item}"; autoOdlRes = callUrl(fullUrl, false); @@ -2032,7 +2033,7 @@ namespace IOB_WIN_FORM.Iob { DateTime tmpData = DateTime.Now; // prendo il + vecchio... - foreach (var item in elencoMulti) + foreach (var item in IOBConfFull.Device.MultiIobList) { fullUrl = $"{urlInizioOdlIob}|{item}"; rawDataInizio = callUrl(fullUrl, false); @@ -2056,7 +2057,7 @@ namespace IOB_WIN_FORM.Iob { int tmpIdle = 0; // prendo il + grande... - foreach (var item in elencoMulti) + foreach (var item in IOBConfFull.Device.MultiIobList) { fullUrl = $"{urlIdleTime}|{item}"; rawIdle = callUrl(fullUrl, false); @@ -2465,11 +2466,30 @@ namespace IOB_WIN_FORM.Iob /// Effettua ciclo controllo richieste server /// public void processServerRequests() + { + // recupero elenco delle cose da fare + string resp = getTask2exe(""); + processResp(resp, ""); + // se fosse multi --> eseguo task per le varie sub (Tavole/Pallet) + if(isMulti) + { + foreach (var item in IOBConfFull.Device.MultiIobList) + { + resp = getTask2exe(item); + processResp(resp, item); + } + } + } + + /// + /// Processing di una risposta raw di task2exe + /// + /// Risposta come string RAW + /// Cod Tav (opzionale) + private void processResp(string resp, string codTav) { Dictionary task2exe = new Dictionary(); Dictionary taskDone = new Dictionary(); - // recupero elenco delle cose da fare - string resp = getTask2exe(); if (!string.IsNullOrEmpty(resp) && resp.Length > 2) { try @@ -2478,17 +2498,23 @@ namespace IOB_WIN_FORM.Iob // se ho da fare chiamo esecuzione.. if (task2exe.Count > 0) { - taskDone = processTask(task2exe); + taskDone = processTask(task2exe, codTav); } } catch (Exception exc) { - lgError($"Eccezione in processServerRequests:{Environment.NewLine}{exc}"); + lgError($"Eccezione in processServerRequests.processResp:{Environment.NewLine}{exc}"); } } } - public Dictionary processTask(Dictionary task2exe) + /// + /// Processa esecuzione task ricevuti + /// + /// + /// + /// + public Dictionary processTask(Dictionary task2exe, string codTav) { Dictionary taskDone = new Dictionary(); Dictionary task2Add = new Dictionary(); @@ -2497,7 +2523,12 @@ namespace IOB_WIN_FORM.Iob { if (task2exe != null) { - lgInfo($"Task2Exe S01: {task2exe.Count} task ricevuti:"); + string logMsg = $"Task2Exe S01: {task2exe.Count} task ricevuti"; + if(!string.IsNullOrEmpty(codTav)) + { + logMsg += $" | codTav: {codTav}"; + } + lgInfo(logMsg); int idTask = 0; foreach (var item in task2exe) { @@ -2521,17 +2552,17 @@ namespace IOB_WIN_FORM.Iob } } // chiamo procedura esecutiva (diversa x ogni IOB) - taskDone = executeTasks(task2exe); + taskDone = executeTasks(task2exe, codTav); lgInfo($"Task2Exe S02: eseguiti {taskDone.Count} task"); // loggo tutti i task done... foreach (var item in taskDone) { - sendToTaskWatch(item.Key, item.Value); + sendToTaskWatch(item.Key, item.Value, codTav); } // ora chiamo la cancellazione dei task eseguiti... foreach (var item in taskDone) { - remTask2exe(item.Key, item.Value); + remTask2exe(item.Key, item.Value, codTav); } } } @@ -2796,7 +2827,7 @@ namespace IOB_WIN_FORM.Iob /// Metodo generico di reset contapezzi... /// /// - public virtual bool resetContapezziPLC() + public virtual bool resetContapezziPLC(string codTav) { lgInfo("Generic.resetContapezziPLC"); return false; @@ -3220,7 +3251,7 @@ namespace IOB_WIN_FORM.Iob /// /// Pezzi richiesti /// - public virtual bool setcontapezziPLC(int newPzCount) + public virtual bool setcontapezziPLC(int newPzCount, string codTav) { return false; } diff --git a/IOB-WIN-FORM/Iob/Simula.cs b/IOB-WIN-FORM/Iob/Simula.cs index bfdaaaf5..8b1aba14 100644 --- a/IOB-WIN-FORM/Iob/Simula.cs +++ b/IOB-WIN-FORM/Iob/Simula.cs @@ -222,7 +222,7 @@ namespace IOB_WIN_FORM.Iob /// Processo i task richiesti e li elimino dalla coda 1:1 (in realtà SOLO forceSetPzCount x ora) /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); @@ -613,7 +613,7 @@ namespace IOB_WIN_FORM.Iob /// Effettua reset del contapezzi /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { // indico fatto... return true; @@ -649,8 +649,11 @@ namespace IOB_WIN_FORM.Iob { case urlType.ULog: string[] elencoMulti = null; +#if false // devo chiamare cambio ODL x OGNI tavola: mi servono i parametri opzionali... - elencoMulti = IOBConfFull.General.MultiIobList.Split(','); + elencoMulti = IOBConfFull.Device.MultiIobListRaw.Split(','); +#endif + elencoMulti = IOBConfFull.Device.MultiIobList.ToArray(); // aggiungo tav 1 / 2 a caso secondo secondi attuali, se pari/dispari int idxTav = DateTime.Now.Second % 2; answ += $"#{elencoMulti[idxTav]}"; diff --git a/IOB-WIN-FORM/app.config b/IOB-WIN-FORM/app.config index 1f0a5c1d..f6d19825 100644 --- a/IOB-WIN-FORM/app.config +++ b/IOB-WIN-FORM/app.config @@ -50,7 +50,7 @@ - + diff --git a/IOB-WIN-FORM/packages.config b/IOB-WIN-FORM/packages.config index 1b8aed93..421cf178 100644 --- a/IOB-WIN-FORM/packages.config +++ b/IOB-WIN-FORM/packages.config @@ -13,11 +13,12 @@ + - - + + diff --git a/IOB-WIN-FTP/App.config b/IOB-WIN-FTP/App.config index 594659ff..f04a7c7d 100644 --- a/IOB-WIN-FTP/App.config +++ b/IOB-WIN-FTP/App.config @@ -175,7 +175,7 @@ - + diff --git a/IOB-WIN-FTP/IOB-WIN-FTP.csproj b/IOB-WIN-FTP/IOB-WIN-FTP.csproj index 9a4b74a3..dbea6c46 100644 --- a/IOB-WIN-FTP/IOB-WIN-FTP.csproj +++ b/IOB-WIN-FTP/IOB-WIN-FTP.csproj @@ -47,11 +47,11 @@ ..\packages\EgwProxy.Ftp.3.6.2410.816\lib\EgwProxy.Ftp.dll - - ..\packages\FluentFTP.52.0.0\lib\net462\FluentFTP.dll + + ..\packages\FluentFTP.52.1.0\lib\net462\FluentFTP.dll - - ..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll @@ -69,7 +69,7 @@ ..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll - ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + ..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll diff --git a/IOB-WIN-FTP/Iob/Ftp.cs b/IOB-WIN-FTP/Iob/Ftp.cs index 3db455b7..9b8f3efb 100644 --- a/IOB-WIN-FTP/Iob/Ftp.cs +++ b/IOB-WIN-FTP/Iob/Ftp.cs @@ -99,7 +99,7 @@ namespace IOB_WIN_FTP.Iob /// Processo i task richiesti e li elimino dalla coda /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { /*--------------------------------------------------------------------------- * va creata una folder x ogni ODL (una volta LANCIATO da tablet) APERTO @@ -383,7 +383,7 @@ namespace IOB_WIN_FTP.Iob // altrimenti eseguo task2exe x crearla... Dictionary task2ExeSetOdl = new Dictionary(); task2ExeSetOdl.Add($"setComm", reqFolder); - var res = executeTasks(task2ExeSetOdl); + var res = executeTasks(task2ExeSetOdl, ""); } } } @@ -548,8 +548,6 @@ namespace IOB_WIN_FTP.Iob #region Private Fields - private static Stopwatch sw = new Stopwatch(); - /// /// Ultima verifica presenza dir corrente /// diff --git a/IOB-WIN-FTP/packages.config b/IOB-WIN-FTP/packages.config index 68c953ec..2c8c0a9c 100644 --- a/IOB-WIN-FTP/packages.config +++ b/IOB-WIN-FTP/packages.config @@ -1,8 +1,8 @@  - - + + @@ -10,7 +10,7 @@ - + diff --git a/IOB-WIN-KAWASAKI/App.config b/IOB-WIN-KAWASAKI/App.config index 842b7f41..39f7e606 100644 --- a/IOB-WIN-KAWASAKI/App.config +++ b/IOB-WIN-KAWASAKI/App.config @@ -173,6 +173,10 @@ + + + + diff --git a/IOB-WIN-KAWASAKI/IOB-WIN-KAWASAKI.csproj b/IOB-WIN-KAWASAKI/IOB-WIN-KAWASAKI.csproj index 8924b8af..a156b606 100644 --- a/IOB-WIN-KAWASAKI/IOB-WIN-KAWASAKI.csproj +++ b/IOB-WIN-KAWASAKI/IOB-WIN-KAWASAKI.csproj @@ -16,7 +16,7 @@ - AnyCPU + x86 true full false @@ -48,8 +48,8 @@ False ..\ExtLibs\krcc.dll - - ..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll @@ -67,7 +67,7 @@ ..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll - ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + ..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll diff --git a/IOB-WIN-KAWASAKI/Iob/Kawasaki.cs b/IOB-WIN-KAWASAKI/Iob/Kawasaki.cs index 7edea5c7..f9871e1a 100644 --- a/IOB-WIN-KAWASAKI/Iob/Kawasaki.cs +++ b/IOB-WIN-KAWASAKI/Iob/Kawasaki.cs @@ -86,7 +86,7 @@ namespace IOB_WIN_KAWASAKI.Iob /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); @@ -115,7 +115,7 @@ namespace IOB_WIN_KAWASAKI.Iob case taskType.forceResetPzCount: // reset contapezzi inizio setup - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); taskVal = taskOk ? "FORCE RESET PZ COUNT" : "FORCE RESET DISABLED | NO EXEC"; break; @@ -125,7 +125,7 @@ namespace IOB_WIN_KAWASAKI.Iob int.TryParse(item.Value, out newPzCount); if (newPzCount >= 0) { - taskOk = setcontapezziPLC(newPzCount); + taskOk = setcontapezziPLC(newPzCount, codTav); taskVal = taskOk ? $"FORCE SET PZ COUNT TO {newPzCount}" : $"FORCE SET PZ COUNT TO {newPzCount} | NO EXEC"; } else @@ -136,7 +136,7 @@ namespace IOB_WIN_KAWASAKI.Iob case taskType.startSetup: // reset contapezzi inizio setup - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); taskVal = taskOk ? "RESET: SETUP START" : "PZ RESET DISABLED | NO EXEC"; break; @@ -145,7 +145,7 @@ namespace IOB_WIN_KAWASAKI.Iob // ESPLICITAMENTE IMPOSTATO if (getOptPar("ENABLE_PZ_RESET_stopSetup") == "TRUE") { - resetContapezziPLC(); + resetContapezziPLC(codTav); } taskVal = taskOk ? "RESET: SETUP END" : "PZ RESET DISABLED | NO EXEC"; break; @@ -319,10 +319,10 @@ namespace IOB_WIN_KAWASAKI.Iob /// Effettua reset del contapezzi /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { // impiego override metodo set... - bool answ = setcontapezziPLC(0); + bool answ = setcontapezziPLC(0, codTav); #if false bool answ = false; // ...SE abilitato da conf IOB @@ -352,13 +352,13 @@ namespace IOB_WIN_KAWASAKI.Iob /// Effettua IMPOSTAZIONE FORZATA del contapezzi /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; // ...SE abilitato da conf IOB if (getOptPar("ENABLE_PZ_RESET") == "TRUE") { - // scrivo valore 0 x il contapezzi + // scrivo valore richiesto (0 tipicamente) x il contapezzi try { pzCounter = newPzCount; diff --git a/IOB-WIN-KAWASAKI/packages.config b/IOB-WIN-KAWASAKI/packages.config index b435bc4f..84610fd2 100644 --- a/IOB-WIN-KAWASAKI/packages.config +++ b/IOB-WIN-KAWASAKI/packages.config @@ -1,6 +1,6 @@  - + @@ -8,7 +8,7 @@ - + diff --git a/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs b/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs index 8f5ccd13..2ce9bb00 100644 --- a/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs +++ b/IOB-WIN-MBUS/IobModbustTCP/ModbusTCP.cs @@ -92,7 +92,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { lgInfo($"Chiamata executeTasks specifica ModBus TCP: {task2exe.Count} task ricevuti"); // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... diff --git a/IOB-WIN-MITSUBISHI/App.config b/IOB-WIN-MITSUBISHI/App.config index 026ea4cd..76dca8f4 100644 --- a/IOB-WIN-MITSUBISHI/App.config +++ b/IOB-WIN-MITSUBISHI/App.config @@ -173,6 +173,10 @@ + + + + diff --git a/IOB-WIN-MITSUBISHI/IOB-WIN-MITSUBISHI.csproj b/IOB-WIN-MITSUBISHI/IOB-WIN-MITSUBISHI.csproj index 9e706ba7..8b9aa7cd 100644 --- a/IOB-WIN-MITSUBISHI/IOB-WIN-MITSUBISHI.csproj +++ b/IOB-WIN-MITSUBISHI/IOB-WIN-MITSUBISHI.csproj @@ -47,8 +47,8 @@ ..\packages\EgwProxy.MultiCncLib.3.6.2207.1211\lib\EgwProxy.MultiCncLib.dll - - ..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll ..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll @@ -60,7 +60,7 @@ ..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll - ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + ..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll diff --git a/IOB-WIN-MITSUBISHI/Iob/Mitsubishi.cs b/IOB-WIN-MITSUBISHI/Iob/Mitsubishi.cs index 1bb50aac..5e7f2954 100644 --- a/IOB-WIN-MITSUBISHI/Iob/Mitsubishi.cs +++ b/IOB-WIN-MITSUBISHI/Iob/Mitsubishi.cs @@ -157,7 +157,7 @@ namespace IOB_WIN_MITSUBISHI.Iob /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); @@ -384,7 +384,7 @@ namespace IOB_WIN_MITSUBISHI.Iob case taskType.startSetup: // reset contapezzi inizio setup - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); taskVal = taskOk ? "RESET: SETUP START" : "PZ RESET DISABLED | NO EXEC"; lgInfo($"Chiamata startSetup: taskOk: {taskOk} | taskVal: {taskVal}"); break; @@ -393,7 +393,7 @@ namespace IOB_WIN_MITSUBISHI.Iob // reset contapezzi fine setup SE ESPLICITAMENTE IMPOSTATO if (IOBConfFull.OptPar.Count > 0 && getOptPar("ENABLE_PZ_RESET_stopSetup") == "TRUE") { - taskOk = resetContapezziPLC(); + taskOk = resetContapezziPLC(codTav); } taskVal = taskOk ? "RESET: SETUP END" : "PZ RESET DISABLED | NO EXEC"; lgInfo($"Chiamata stopSetup: taskOk: {taskOk} | taskVal: {taskVal}"); @@ -747,7 +747,7 @@ namespace IOB_WIN_MITSUBISHI.Iob /// Effettua reset del contapezzi /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; // ...SE abilitato da conf IOB @@ -1595,15 +1595,10 @@ namespace IOB_WIN_MITSUBISHI.Iob string bKey = ""; string bVal = ""; - // decodifico impiegando dictionary... cercando il TIPO di memoria & co... - char area; // valore INVERTED (default è false) bool invSignal = false; - string memArea = ""; string cVal = ""; - string[] memIdx; int bitNum = 0; - int byteNum = 0; int byte2check = 0; for (int i = 0; i < 8; i++) { diff --git a/IOB-WIN-MITSUBISHI/packages.config b/IOB-WIN-MITSUBISHI/packages.config index d5528247..ada6bb10 100644 --- a/IOB-WIN-MITSUBISHI/packages.config +++ b/IOB-WIN-MITSUBISHI/packages.config @@ -1,7 +1,7 @@  - + @@ -9,7 +9,7 @@ - + diff --git a/IOB-WIN-MTC/Iob/MTConn.cs b/IOB-WIN-MTC/Iob/MTConn.cs index 98288db2..329d465d 100644 --- a/IOB-WIN-MTC/Iob/MTConn.cs +++ b/IOB-WIN-MTC/Iob/MTConn.cs @@ -100,10 +100,10 @@ namespace IOB_WIN_MTC.Iob /// Processo i task richiesti document li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// @@ -236,7 +236,7 @@ namespace IOB_WIN_MTC.Iob /// Effettua reset del contapezzi, NON POSSIBILE per MTC (read only) /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = true; return answ; @@ -246,7 +246,7 @@ namespace IOB_WIN_MTC.Iob /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE per MTC (read only) /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = true; return answ; diff --git a/IOB-WIN-OMRON/Iob/Omron.cs b/IOB-WIN-OMRON/Iob/Omron.cs index 4b9ab515..f3096786 100644 --- a/IOB-WIN-OMRON/Iob/Omron.cs +++ b/IOB-WIN-OMRON/Iob/Omron.cs @@ -37,10 +37,10 @@ namespace IOB_WIN_OMRON.Iob /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// @@ -117,7 +117,7 @@ namespace IOB_WIN_OMRON.Iob /// Effettua reset del contapezzi, in questo caso il conteggio dei KG /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; #if false @@ -148,7 +148,7 @@ namespace IOB_WIN_OMRON.Iob /// Effettua IMPOSTAZIONE FORZATA del contapezzi, in questo caso il conteggio dei KG /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; #if false diff --git a/IOB-WIN-OPC-UA/DATA/CONF/2016.ini b/IOB-WIN-OPC-UA/DATA/CONF/2016.ini index d02475ff..2db713fa 100644 --- a/IOB-WIN-OPC-UA/DATA/CONF/2016.ini +++ b/IOB-WIN-OPC-UA/DATA/CONF/2016.ini @@ -56,7 +56,11 @@ BLINK_FILT=0 [OPTPAR] AUTO_CHANGE_ODL=false CHANGE_ODL_MODE=PZCOUNT_RESET -PZCOUNT_MODE=OPC +; 1 = indica che la macchina sia multi --> allo scadere del contapezzo gestisce ANCHE il giro tavola sui bit relativi +IS_MULTI=1 +;elenco comma separated delle sub-machine (tipicamente tavole) +IOB_MULTI_CNAME=TAV_1,TAV_2 +PZCOUNT_MODE=OPC-MULTI ENABLE_PZ_RESET=TRUE ENABLE_PZ_RESET_ENDPROD=TRUE ENABLE_PZ_RESET_stopSetup=TRUE diff --git a/IOB-WIN-OPC-UA/DATA/CONF/2016.json b/IOB-WIN-OPC-UA/DATA/CONF/2016.json index 688d5e32..4e9e3e0e 100644 --- a/IOB-WIN-OPC-UA/DATA/CONF/2016.json +++ b/IOB-WIN-OPC-UA/DATA/CONF/2016.json @@ -169,64 +169,64 @@ "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/WarningLight_Yellow" ], "mMapWrite": { - "setComm#TAV1": { - "name": "setComm#TAV1", + "setComm#TAV_1": { + "name": "setComm#TAV_1", "description": "Commessa TAV1 (A)", "tipoMem": "String", "memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_ORDER_A", "index": 0, "size": 20 }, - "setArt#TAV1": { - "name": "setArt#TAV1", + "setArt#TAV_1": { + "name": "setArt#TAV_1", "description": "Articolo TAV1 (A)", "tipoMem": "String", "memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_STRING1", "index": 0, "size": 20 }, - "setPzComm#TAV1": { - "name": "setPzComm#TAV1", + "setPzComm#TAV_1": { + "name": "setPzComm#TAV_1", "description": "Qty TAV1 (A)", "tipoMem": "Int", "memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_STRING2", "index": 0, "size": 4 }, - "forceResetPzCount#TAV1": { - "name": "forceResetPzCount#TAV1", + "forceResetPzCount#TAV_1": { + "name": "forceResetPzCount#TAV_1", "description": "Reset Contapezzi TAV1 (A)", "tipoMem": "Int", "memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_A_RESET_COUNTER_TRIGGER", "index": 0, "size": 4 }, - "setComm#TAV2": { - "name": "setComm#TAV2", + "setComm#TAV_2": { + "name": "setComm#TAV_2", "description": "Commessa TAV2 (U)", "tipoMem": "String", "memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_ORDER_U", "index": 0, "size": 20 }, - "setArt#TAV2": { - "name": "setArt#TAV2", + "setArt#TAV_2": { + "name": "setArt#TAV_2", "description": "Articolo TAV2 (U)", "tipoMem": "String", "memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_STRING1", "index": 0, "size": 20 }, - "setPzComm#TAV2": { - "name": "setPzComm#TAV2", + "setPzComm#TAV_2": { + "name": "setPzComm#TAV_2", "description": "Qty TAV2 (U)", "tipoMem": "Int", "memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_STRING2", "index": 0, "size": 4 }, - "forceResetPzCount#TAV2": { - "name": "forceResetPzCount#TAV2", + "forceResetPzCount#TAV_2": { + "name": "forceResetPzCount#TAV_2", "description": "Reset Contapezzi TAV2 (U)", "tipoMem": "Int", "memAddr": "ns=1;s=/swcp-assets/137eada7-bd15-474d-8aaf-4e6f2f8ea72a/MES_OUT_U_RESET_COUNTER_TRIGGER", diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUa.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUa.cs index 6a17a3cb..caf80fec 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUa.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUa.cs @@ -64,11 +64,11 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { lgInfo($"OpcUa: call executeTasks | {task2exe.Count} task"); // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// @@ -627,7 +627,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -637,7 +637,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaCMS.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaCMS.cs index 16261867..faae879a 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaCMS.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaCMS.cs @@ -41,17 +41,17 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -61,7 +61,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaEwon.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaEwon.cs index 6e320f9b..0dff7440 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaEwon.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaEwon.cs @@ -41,17 +41,17 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -61,7 +61,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaImas.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaImas.cs index 9b6f8e79..2e41772c 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaImas.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaImas.cs @@ -41,17 +41,17 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -61,7 +61,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaKpw.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaKpw.cs index 5b3eac4c..b985fc38 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaKpw.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaKpw.cs @@ -41,7 +41,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -51,7 +51,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaMBH.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaMBH.cs index 4c2c5f73..8d3ac519 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaMBH.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaMBH.cs @@ -41,17 +41,17 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -61,7 +61,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaMBHCimolai.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaMBHCimolai.cs index 059def83..47ade955 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaMBHCimolai.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaMBHCimolai.cs @@ -36,10 +36,10 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 2:2 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x salvare esito scrittura - var writeResult = base.executeTasks(task2exe); + var writeResult = base.executeTasks(task2exe, codTav); // aggiungo comportamento custom: se ho impostato nome ricetta (programma) --> imposto // richiesta caricamento se ho richiesto reset o fine lavoro --> imposto azzeramento @@ -124,7 +124,7 @@ namespace IOB_WIN_OPC_UA.IobOpc // non fa nulal (non ha contapezzi) } - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaOmron.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaOmron.cs index 12281f16..2a2d2bf4 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaOmron.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaOmron.cs @@ -35,17 +35,17 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -55,7 +55,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaOmronGhidini.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaOmronGhidini.cs index 475415c6..3671f6c9 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaOmronGhidini.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaOmronGhidini.cs @@ -41,7 +41,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; // da implementare con area memoria configurata ad hoc... diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaOmronIcoel.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaOmronIcoel.cs index 3c80d2a4..36ae448e 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaOmronIcoel.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaOmronIcoel.cs @@ -226,10 +226,10 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// @@ -243,7 +243,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -253,7 +253,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemens.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemens.cs index b71d2fa4..76a42233 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemens.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemens.cs @@ -41,7 +41,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { lgInfo($"OpcUaSiemens: call executeTasks | {task2exe.Count} task"); // se ci fosse il task di gestione attrezzaggio --> aggiunge un SYNC DB... @@ -108,14 +108,14 @@ namespace IOB_WIN_OPC_UA.IobOpc } // uso metodo base ora (con eventuale aggiunta) - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// /// Effettua reset del contapezzi /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { lgInfo("OpcUaSiemens.resetContapezziPLC 01"); bool answ = false; @@ -154,7 +154,7 @@ namespace IOB_WIN_OPC_UA.IobOpc { lgInfo("OpcUaSiemens.resetContapezziPLC 04"); // imposto a zero (SE gestito) - setcontapezziPLC(0); + setcontapezziPLC(0, codTav); } } else @@ -168,7 +168,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { lgInfo($"OpcUaSiemens.setcontapezziPLC | {newPzCount}"); bool answ = false; @@ -180,7 +180,7 @@ namespace IOB_WIN_OPC_UA.IobOpc { Dictionary task2add = new Dictionary(); task2add.Add("forceSetPzCount", $"{newPzCount}"); - executeTasks(task2add); + executeTasks(task2add, codTav); } else { diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemensOMP.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemensOMP.cs index 245b4b97..4f04935b 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemensOMP.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemensOMP.cs @@ -33,10 +33,10 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x salvare esito scrittura - var writeResult = base.executeTasks(task2exe); + var writeResult = base.executeTasks(task2exe, codTav); // aggiungo comportamento custom: se ho impostato nome ricetta (programma) --> imposto // richiesta caricamento se ho richiesto reset o fine lavoro --> imposto azzeramento @@ -109,7 +109,7 @@ namespace IOB_WIN_OPC_UA.IobOpc return writeResult; } - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; lgInfo("Chiamata resetContapezziPLC"); diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemensSW.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemensSW.cs index 0d7d3474..a00b7b5c 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemensSW.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaSiemensSW.cs @@ -38,7 +38,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; // verifico se richiesta è per tav 1 o 2... diff --git a/IOB-WIN-OPC-UA/IobOpc/OpcUaUlma.cs b/IOB-WIN-OPC-UA/IobOpc/OpcUaUlma.cs index 5ed0a46c..37ec9715 100644 --- a/IOB-WIN-OPC-UA/IobOpc/OpcUaUlma.cs +++ b/IOB-WIN-OPC-UA/IobOpc/OpcUaUlma.cs @@ -35,17 +35,17 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // uso metodo base x ora - return base.executeTasks(task2exe); + return base.executeTasks(task2exe, codTav); } /// /// Effettua reset del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool resetContapezziPLC() + public override bool resetContapezziPLC(string codTav) { bool answ = false; return answ; @@ -55,7 +55,7 @@ namespace IOB_WIN_OPC_UA.IobOpc /// Effettua IMPOSTAZIONE FORZATA del contapezzi, NON POSSIBILE in questa versione /// /// - public override bool setcontapezziPLC(int newPzCount) + public override bool setcontapezziPLC(int newPzCount, string codTav) { bool answ = false; return answ; diff --git a/IOB-WIN-SHELLY/App.config b/IOB-WIN-SHELLY/App.config index b42708ff..58cdb670 100644 --- a/IOB-WIN-SHELLY/App.config +++ b/IOB-WIN-SHELLY/App.config @@ -162,6 +162,10 @@ + + + + diff --git a/IOB-WIN-SHELLY/IOB-WIN-SHELLY.csproj b/IOB-WIN-SHELLY/IOB-WIN-SHELLY.csproj index e87d573f..b390c3f0 100644 --- a/IOB-WIN-SHELLY/IOB-WIN-SHELLY.csproj +++ b/IOB-WIN-SHELLY/IOB-WIN-SHELLY.csproj @@ -45,7 +45,7 @@ - ..\packages\EgwProxy.Shelly.3.7.2502.1408\lib\EgwProxy.Shelly.dll + ..\packages\EgwProxy.Shelly.3.7.2507.1012\lib\EgwProxy.Shelly.dll ..\packages\Flurl.4.0.0\lib\net461\Flurl.dll @@ -53,8 +53,8 @@ ..\packages\Flurl.Http.4.0.2\lib\net461\Flurl.Http.dll - - ..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll @@ -72,7 +72,7 @@ ..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll - ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + ..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll diff --git a/IOB-WIN-SHELLY/packages.config b/IOB-WIN-SHELLY/packages.config index 03d66d09..c6cd69fc 100644 --- a/IOB-WIN-SHELLY/packages.config +++ b/IOB-WIN-SHELLY/packages.config @@ -1,9 +1,9 @@  - + - + @@ -11,7 +11,7 @@ - + diff --git a/IOB-WIN-SIEMENS/App.config b/IOB-WIN-SIEMENS/App.config index a4b2821a..b1cdaee9 100644 --- a/IOB-WIN-SIEMENS/App.config +++ b/IOB-WIN-SIEMENS/App.config @@ -170,6 +170,10 @@ + + + + diff --git a/IOB-WIN-SIEMENS/IOB-WIN-SIEMENS.csproj b/IOB-WIN-SIEMENS/IOB-WIN-SIEMENS.csproj index 7bc6ecb6..513c8b18 100644 --- a/IOB-WIN-SIEMENS/IOB-WIN-SIEMENS.csproj +++ b/IOB-WIN-SIEMENS/IOB-WIN-SIEMENS.csproj @@ -44,8 +44,8 @@ prompt - - ..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll @@ -66,7 +66,7 @@ ..\packages\S7netplus.0.1.9\lib\net45\S7.Net.dll - ..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll + ..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll diff --git a/IOB-WIN-SIEMENS/IobSiemens/Siemens.cs b/IOB-WIN-SIEMENS/IobSiemens/Siemens.cs index b51c0dec..7072cfa2 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/Siemens.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/Siemens.cs @@ -40,7 +40,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// /// Form chiamante /// Configurazione (v 4.x) - public Siemens(AdapterFormNext caller, IobConfTree IobConfFull) : base(caller,IobConfFull) + public Siemens(AdapterFormNext caller, IobConfTree IobConfFull) : base(caller, IobConfFull) { memMap = new plcMemMapExt(); writePre = true; @@ -52,7 +52,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens if (IOBConfFull != null) { // gestione invio ritardato contapezzi - + lastPzCountSend = DateTime.Now; lastWarnODL = DateTime.Now; // inizializzo parametri... @@ -1148,11 +1148,6 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// protected connParamS7 parametri; - /// - /// Oggetto cronometro x test vari... - /// - protected Stopwatch sw = new Stopwatch(); - /// /// indica se scrivere i primi byte x string siemens x indicare lung max e corrente /// @@ -1646,10 +1641,10 @@ namespace IOB_WIN_SIEMENS.IobSiemens #region Private Fields + private bool disableByIob = false; + private bool enableContapezzi = true; private string memAddrPzCount = ""; private string memAddrPzQCtrl = ""; - private bool enableContapezzi = true; - private bool disableByIob = false; #endregion Private Fields diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensAt2001.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensAt2001.cs index 12bc66f2..f49d3a41 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensAt2001.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensAt2001.cs @@ -42,7 +42,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensComeca.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensComeca.cs index a1688510..6866f478 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensComeca.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensComeca.cs @@ -58,7 +58,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { lgInfo($"Chiamata executeTasks specifica IobSiemensComeca: {task2exe.Count} task ricevuti"); // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensComur.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensComur.cs index 35c578d8..e00991e8 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensComur.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensComur.cs @@ -72,7 +72,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensCosmap.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensCosmap.cs index cef5e92f..5a75338d 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensCosmap.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensCosmap.cs @@ -58,7 +58,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { lgInfo($"Chiamata executeTasks specifica IobSiemensCosmap: {task2exe.Count} task ricevuti"); // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensIngenia.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensIngenia.cs index c9f0f351..708b8eac 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensIngenia.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensIngenia.cs @@ -82,7 +82,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); @@ -212,7 +212,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens Dictionary task2exe = new Dictionary(); Dictionary taskDone = new Dictionary(); task2exe.Add("sendWatchDogMes2Plc", counterMes2Plc.ToString()); - taskDone = executeTasks(task2exe); + taskDone = executeTasks(task2exe, ""); lgInfo($"Scritto watchdog: {counterMes2Plc}"); // salvo watchdog PLC lastPLCWatchDog = adesso; diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensLasco.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensLasco.cs index 80889c0e..9692d257 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensLasco.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensLasco.cs @@ -95,7 +95,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); @@ -546,7 +546,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens Dictionary task2exe = new Dictionary(); Dictionary taskDone = new Dictionary(); task2exe.Add("sendWatchDogMes2Plc", counterMes2Plc.ToString()); - taskDone = executeTasks(task2exe); + taskDone = executeTasks(task2exe, ""); // salvo watchdog PLC lastPLCWatchDog = adesso; } diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensNWSE.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensNWSE.cs index 9c84e6a5..c33693bc 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensNWSE.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensNWSE.cs @@ -65,7 +65,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { lgInfo($"Chiamata executeTasks specifica IobSiemensNWS: {task2exe.Count} task ricevuti"); // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensPressoilCei.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensPressoilCei.cs index d972e77b..15d57e30 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensPressoilCei.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensPressoilCei.cs @@ -41,7 +41,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensRobotService.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensRobotService.cs index c8a2c5e3..b8e6f73f 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensRobotService.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensRobotService.cs @@ -73,7 +73,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { lgInfo($"Chiamata executeTasks specifica IobSiemensRobotService: {task2exe.Count} task ricevuti"); // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensSaet.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensSaet.cs index a6be3876..45ee47e2 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensSaet.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensSaet.cs @@ -83,7 +83,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); @@ -245,7 +245,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens Dictionary task2exe = new Dictionary(); Dictionary taskDone = new Dictionary(); task2exe.Add("sendWatchDogMes2Plc", counterMes2Plc.ToString()); - taskDone = executeTasks(task2exe); + taskDone = executeTasks(task2exe, ""); // salvo watchdog PLC lastPLCWatchDog = adesso; } diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensSimec.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensSimec.cs index d4c6a858..209766bf 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensSimec.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensSimec.cs @@ -67,7 +67,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); diff --git a/IOB-WIN-SIEMENS/IobSiemens/SiemensTorri.cs b/IOB-WIN-SIEMENS/IobSiemens/SiemensTorri.cs index 0a9c4038..2e974adf 100644 --- a/IOB-WIN-SIEMENS/IobSiemens/SiemensTorri.cs +++ b/IOB-WIN-SIEMENS/IobSiemens/SiemensTorri.cs @@ -46,7 +46,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens /// Processo i task richiesti e li elimino dalla coda 1:1 /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti... Dictionary taskDone = new Dictionary(); diff --git a/IOB-WIN-SIEMENS/packages.config b/IOB-WIN-SIEMENS/packages.config index b49d8236..853a6d64 100644 --- a/IOB-WIN-SIEMENS/packages.config +++ b/IOB-WIN-SIEMENS/packages.config @@ -1,6 +1,6 @@  - + @@ -9,7 +9,7 @@ - + diff --git a/IOB-WIN-SQL/Iob/IobFileSoitaab.cs b/IOB-WIN-SQL/Iob/IobFileSoitaab.cs index 83cb1604..b18b422d 100644 --- a/IOB-WIN-SQL/Iob/IobFileSoitaab.cs +++ b/IOB-WIN-SQL/Iob/IobFileSoitaab.cs @@ -82,7 +82,7 @@ namespace IOB_WIN_SQL.IobFile /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { DateTime adesso = DateTime.Now; // NON fa nulla... anche se non dovrebbe richiamarlo diff --git a/IOB-WIN-SQL/IobSql/IcoelDb.cs b/IOB-WIN-SQL/IobSql/IcoelDb.cs index 3fcb763d..adac4967 100644 --- a/IOB-WIN-SQL/IobSql/IcoelDb.cs +++ b/IOB-WIN-SQL/IobSql/IcoelDb.cs @@ -64,7 +64,7 @@ namespace IOB_WIN_SQL.IobSql /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { // unico task ammissibile: fare un SYNC forzato... Dictionary taskDone = new Dictionary(); diff --git a/IOB-WIN-SQL/IobSql/SqlServLantek.cs b/IOB-WIN-SQL/IobSql/SqlServLantek.cs index 8be170f5..18d2da55 100644 --- a/IOB-WIN-SQL/IobSql/SqlServLantek.cs +++ b/IOB-WIN-SQL/IobSql/SqlServLantek.cs @@ -78,7 +78,7 @@ namespace IOB_WIN_SQL.IobSql /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { DateTime adesso = DateTime.Now; // unico task ammissibile: fare un SYNC forzato... diff --git a/IOB-WIN-SQL/IobSql/SqlServPama.cs b/IOB-WIN-SQL/IobSql/SqlServPama.cs index 69aecadd..2abecf35 100644 --- a/IOB-WIN-SQL/IobSql/SqlServPama.cs +++ b/IOB-WIN-SQL/IobSql/SqlServPama.cs @@ -76,7 +76,7 @@ namespace IOB_WIN_SQL.IobSql /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { DateTime adesso = DateTime.Now; // unico task ammissibile: fare un SYNC forzato... diff --git a/IOB-WIN-WS/IobWs/Citizen.cs b/IOB-WIN-WS/IobWs/Citizen.cs index 11853782..b895e7ac 100644 --- a/IOB-WIN-WS/IobWs/Citizen.cs +++ b/IOB-WIN-WS/IobWs/Citizen.cs @@ -55,7 +55,7 @@ namespace IOB_WIN_WS.IobWs /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { /*--------------------------------------- * gestione execute task SPECIFICI: diff --git a/IOB-WIN-WS/IobWs/EmmegiFPW.cs b/IOB-WIN-WS/IobWs/EmmegiFPW.cs index 5aa899c5..1300c38c 100644 --- a/IOB-WIN-WS/IobWs/EmmegiFPW.cs +++ b/IOB-WIN-WS/IobWs/EmmegiFPW.cs @@ -90,7 +90,7 @@ namespace IOB_WIN_WS.IobWs /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { /*--------------------------------------- * gestione execute task SPECIFICI: diff --git a/IOB-WIN-WS/IobWs/Gomba.cs b/IOB-WIN-WS/IobWs/Gomba.cs index 221d0ad4..68547ad5 100644 --- a/IOB-WIN-WS/IobWs/Gomba.cs +++ b/IOB-WIN-WS/IobWs/Gomba.cs @@ -47,7 +47,7 @@ namespace IOB_WIN_WS.IobWs /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { /*--------------------------------------- * gestione execute task SPECIFICI x pesa: diff --git a/IOB-WIN-WS/IobWs/IcoelSoap.cs b/IOB-WIN-WS/IobWs/IcoelSoap.cs index acaa4407..7c357b9c 100644 --- a/IOB-WIN-WS/IobWs/IcoelSoap.cs +++ b/IOB-WIN-WS/IobWs/IcoelSoap.cs @@ -53,7 +53,7 @@ namespace IOB_WIN_WS.IobWs /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { /*--------------------------------------- * fixme todo fare !!! diff --git a/IOB-WIN-WS/IobWs/RestBase.cs b/IOB-WIN-WS/IobWs/RestBase.cs index b29867a8..c7004071 100644 --- a/IOB-WIN-WS/IobWs/RestBase.cs +++ b/IOB-WIN-WS/IobWs/RestBase.cs @@ -45,7 +45,7 @@ namespace IOB_WIN_WS.IobWs /// /// /// - public override Dictionary executeTasks(Dictionary task2exe) + public override Dictionary executeTasks(Dictionary task2exe, string codTav) { /*--------------------------------------- * gestione execute task SPECIFICI x pesa: diff --git a/IOB-WIN/DATA/CONF/SIM_DP_01.ini b/IOB-WIN/DATA/CONF/SIM_DP_01.ini index 4e895e30..5c7c3030 100644 --- a/IOB-WIN/DATA/CONF/SIM_DP_01.ini +++ b/IOB-WIN/DATA/CONF/SIM_DP_01.ini @@ -49,7 +49,7 @@ PER_BASE=4500 SIM_PZCNT=10|3 SIM_ALARM=1000|20 SIM_MANU=50|6 -; 1 = indica che la macchina è multi --> allo scadere del contapezzo gestisce ANCHE il giro tavola sui bit relativi +; 1 = indica che la macchina � multi --> allo scadere del contapezzo gestisce ANCHE il giro tavola sui bit relativi SIM_MULTI=1 ; indica gestione e simulazione bit 5 --> slow/emergenza SIM_SLOW=3500|20 @@ -57,7 +57,7 @@ SIM_SLOW=3500|20 SIM_WUCD=8000|20 ; indica gestione e simulazione bit 7 --> emergenza SIM_EMRG=4000|10 -; indica simulazione delle funzionalità power ON/ OFF +; indica simulazione delle funzionalit� power ON/ OFF SIM_POW_ON_OFF=true T_ON=6 T_OFF=22 diff --git a/IOB-WIN/IOB-WIN.csproj b/IOB-WIN/IOB-WIN.csproj index 5bb5072a..9117bba5 100644 --- a/IOB-WIN/IOB-WIN.csproj +++ b/IOB-WIN/IOB-WIN.csproj @@ -88,8 +88,8 @@ False ExtLib\krcc.dll - - ..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll ..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll @@ -646,10 +646,11 @@ + - + \ No newline at end of file diff --git a/IOB-WIN/IobSimula.cs b/IOB-WIN/IobSimula.cs index 29a9cea0..dfd82792 100644 --- a/IOB-WIN/IobSimula.cs +++ b/IOB-WIN/IobSimula.cs @@ -734,7 +734,7 @@ namespace IOB_WIN /// Effettua reset del contapezzi /// /// - public override bool resetcontapezziPLC() + public bool resetContapezziPLC() { bool answ = false; // ...SE abilitato da conf IOB diff --git a/IOB-WIN/packages.config b/IOB-WIN/packages.config index 1b688ac4..58ca9f3c 100644 --- a/IOB-WIN/packages.config +++ b/IOB-WIN/packages.config @@ -3,10 +3,10 @@ - + - +