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 @@
-
+
-
+