Merge branch 'release/SiemensSW_02'

This commit is contained in:
Samuele Locatelli
2025-08-04 10:02:14 +02:00
84 changed files with 390 additions and 286 deletions
+9
View File
@@ -26,6 +26,15 @@ namespace IOB_UT_NEXT.Config.Base
/// Indica se sia multi pallet
/// </summary>
public bool IsMulti { get; set; } = false;
/// <summary>
/// Codice dei vari codici aggiuntivi IOB multi x funzioni slave (es autoOdl)
/// </summary>
public string MultiIobListRaw { get; set; } = "";
/// <summary>
/// Lista dei vari IOB multi x funzioni slave (es autoOdl)
/// </summary>
public List<string> MultiIobList { get; set; }
/// <summary>
/// Dati configurazione CNC
+16 -4
View File
@@ -45,10 +45,22 @@ namespace IOB_UT_NEXT.Config.Base
/// </summary>
public string CodIOB { get; set; } = "ND";
#if false
/// <summary>
/// Codice dei vari IOB multi x funzioni slave (es autoOdl)
/// Codice dei vari codici aggiuntivi IOB multi x funzioni slave (es autoOdl)
/// </summary>
public string MultiIobList { get; set; } = "";
public string MultiIobListRaw { get; set; } = "";
/// <summary>
/// Lista dei vari IOB multi x funzioni slave (es autoOdl)
/// </summary>
public List<string> MultiIobList { get; set; }
/// <summary>
/// Lista dei vari IOB multi x funzioni slave (es autoOdl)
/// </summary>
public bool IsMultiIobList { get; set; } = false;
#endif
/// <summary>
/// Tempo di attesa (in minuti) x lettura contapezzi standard (default 30 sec)
@@ -68,7 +80,7 @@ namespace IOB_UT_NEXT.Config.Base
/// <summary>
/// Soglia massima errori prima della disconnessione automatica in check
/// </summary>
public int MaxErroriCheck { get; set; }=100;
public int MaxErroriCheck { get; set; } = 100;
/// <summary>
/// Max tentativi ping permessi (default: 5)
@@ -108,7 +120,7 @@ namespace IOB_UT_NEXT.Config.Base
/// <summary>
/// Abilitazione invio conf macchine
/// </summary>
public bool SenMachineConf { get; set; } = true;
public bool SenMachineConf { get; set; } = true;
/// <summary>
/// Gestione dei Timers applicazione (UI + task varia scandenza)
+11 -2
View File
@@ -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<string>();
}
// BLINK
newConfObj.SignalProc.BlinkMaxCounter = Convert.ToInt32(fIni.ReadString("BLINK", "MAX_COUNTER_BLINK", "1"));
+1 -1
View File
@@ -87,7 +87,7 @@
<HintPath>..\packages\RestSharp.112.1.0\lib\netstandard2.0\RestSharp.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+1 -1
View File
@@ -9,7 +9,7 @@
<package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="RestSharp" version="112.1.0" targetFramework="net462" />
<package id="SharpZipLib" version="1.4.2" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.24" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.58" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="9.0.0" targetFramework="net462" />
+2 -3
View File
@@ -54,9 +54,8 @@
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="MapoSDK, Version=6.14.2505.2916, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll</HintPath>
<Private>True</Private>
<Reference Include="MapoSDK, Version=6.14.2506.2618, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MapoSDK" version="6.14.2505.2916" targetFramework="net40-client" />
<package id="MapoSDK" version="6.14.2506.2618" targetFramework="net40-client" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net40-client" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40-client" />
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net40-client" />
+1 -1
View File
@@ -53,7 +53,7 @@ namespace IOB_WIN_BECKHOFF.IobBeckhoff
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
lgInfo($"Chiamata executeTasks specifica IobBeckhoffCpa: {task2exe.Count} task ricevuti");
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
+1 -1
View File
@@ -155,7 +155,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentFTP" publicKeyToken="f4af092b1d8df44f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-41.0.0.0" newVersion="41.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-52.1.0.0" newVersion="52.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
+3 -3
View File
@@ -47,8 +47,8 @@
<Reference Include="EgwProxy.MultiCncLib, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwProxy.MultiCncLib.3.6.2207.1211\lib\EgwProxy.MultiCncLib.dll</HintPath>
</Reference>
<Reference Include="MapoSDK, Version=6.14.2505.2916, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll</HintPath>
<Reference Include="MapoSDK, Version=6.14.2506.2618, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
@@ -69,7 +69,7 @@
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+5 -5
View File
@@ -174,7 +174,7 @@ namespace IOB_WIN_FANUC.Iob
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
@@ -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
/// </summary>
/// <returns></returns>
public override bool resetContapezziPLC()
public override bool resetContapezziPLC(string codTav)
{
bool answ = false;
// scrivo valore 0 x il contapezzi
+2 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EgwProxy.MultiCncLib" version="3.6.2207.1211" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2505.2916" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2506.2618" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.0" targetFramework="net462" />
@@ -9,7 +9,7 @@
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="5.3.4" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.24" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.58" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="9.0.0" targetFramework="net462" />
+2 -2
View File
@@ -390,7 +390,7 @@ namespace IOB_WIN_FILE.IobFile
/// Effettua reset del contapezzi, NON PERMESSO per EM63 (read only)
/// </summary>
/// <returns></returns>
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)
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+1 -1
View File
@@ -82,7 +82,7 @@ namespace IOB_WIN_FILE.IobFile
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
DateTime adesso = DateTime.Now;
// NON fa nulla... anche se non dovrebbe richiamarlo
+2 -2
View File
@@ -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();
}
+7 -4
View File
@@ -75,6 +75,9 @@
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
</Reference>
<Reference Include="System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath>
</Reference>
@@ -86,11 +89,11 @@
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Text.Encodings.Web, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
<Reference Include="System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.9.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference>
<Reference Include="System.Text.Json, Version=8.0.0.6, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.8.0.6\lib\net462\System.Text.Json.dll</HintPath>
<Reference Include="System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.9.0.0\lib\net462\System.Text.Json.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.0\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
+33 -5
View File
@@ -1018,6 +1018,13 @@ namespace IOB_WIN_FORM.Iob
{
get => $@"{urlCommandIob("remTask2Exe")}?taskName=";
}
/// <summary>
/// URL per richiamo task da eseguire...
/// </summary>
protected string urlRemTask2ExeTav(string codTav)
{
return $@"{urlCommandIob("remTask2Exe")}|{codTav}?taskName=";
}
/// <summary>
/// URL per salvataggio dati PARAMETRI IOB...
@@ -1678,12 +1685,19 @@ namespace IOB_WIN_FORM.Iob
/// - KEY: task
/// - VALUE: array JSon KVP
/// </summary>
protected string getTask2exe()
/// <param name="codTav">Cod DP/Tavola (opzionale)</param>
/// <returns></returns>
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
/// </summary>
/// <param name="taskName"></param>
/// <param name="esitoTask"></param>
/// <param name="codTav"></param>
/// <returns></returns>
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
/// </summary>
/// <param name="messType"></param>
/// <param name="message"></param>
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;
}
/// <summary>
+104 -73
View File
@@ -740,10 +740,16 @@ namespace IOB_WIN_FORM.Iob
/// <summary>
/// Esecuzione dei task richiesti e pulizia coda richieste eseguite
/// </summary>
/// <param name="task2exe"></param>
public virtual Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
/// <param name="task2exe">Elenco task da eseguire</param>
/// <param name="codTav">Codice TAV (per macchine multi pallet) - opzionale</param>
public virtual Dictionary<string, string> executeTasks(Dictionary<string, string> 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<string, string> taskDone = new Dictionary<string, string>();
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
/// </summary>
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);
}
}
}
/// <summary>
/// Processing di una risposta raw di task2exe
/// </summary>
/// <param name="resp">Risposta come string RAW</param>
/// <param name="codTav">Cod Tav (opzionale)</param>
private void processResp(string resp, string codTav)
{
Dictionary<string, string> task2exe = new Dictionary<string, string>();
Dictionary<string, string> taskDone = new Dictionary<string, string>();
// 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<string, string> processTask(Dictionary<string, string> task2exe)
/// <summary>
/// Processa esecuzione task ricevuti
/// </summary>
/// <param name="task2exe"></param>
/// <param name="codTav"></param>
/// <returns></returns>
public Dictionary<string, string> processTask(Dictionary<string, string> task2exe, string codTav)
{
Dictionary<string, string> taskDone = new Dictionary<string, string>();
Dictionary<string, string> task2Add = new Dictionary<string, string>();
@@ -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...
/// </summary>
/// <returns></returns>
public virtual bool resetContapezziPLC()
public virtual bool resetContapezziPLC(string codTav)
{
lgInfo("Generic.resetContapezziPLC");
return false;
@@ -3220,7 +3251,7 @@ namespace IOB_WIN_FORM.Iob
/// </summary>
/// <param name="newPzCount">Pezzi richiesti</param>
/// <returns></returns>
public virtual bool setcontapezziPLC(int newPzCount)
public virtual bool setcontapezziPLC(int newPzCount, string codTav)
{
return false;
}
+6 -3
View File
@@ -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)
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
@@ -613,7 +613,7 @@ namespace IOB_WIN_FORM.Iob
/// Effettua reset del contapezzi
/// </summary>
/// <returns></returns>
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]}";
+1 -1
View File
@@ -50,7 +50,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.6" newVersion="8.0.0.6" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+3 -2
View File
@@ -13,11 +13,12 @@
<package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net462" />
<package id="System.IO" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="9.0.0" targetFramework="net462" />
<package id="System.Memory" version="4.6.0" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.6.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.0" targetFramework="net462" />
<package id="System.Text.Encodings.Web" version="8.0.0" targetFramework="net462" />
<package id="System.Text.Json" version="8.0.6" targetFramework="net462" />
<package id="System.Text.Encodings.Web" version="9.0.0" targetFramework="net462" />
<package id="System.Text.Json" version="9.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.6.0" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
<package id="YamlDotNet" version="16.3.0" targetFramework="net462" />
+1 -1
View File
@@ -175,7 +175,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentFTP" publicKeyToken="f4af092b1d8df44f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-52.0.0.0" newVersion="52.0.0.0" />
<bindingRedirect oldVersion="0.0.0.0-52.1.0.0" newVersion="52.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
+5 -5
View File
@@ -47,11 +47,11 @@
<Reference Include="EgwProxy.Ftp, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwProxy.Ftp.3.6.2410.816\lib\EgwProxy.Ftp.dll</HintPath>
</Reference>
<Reference Include="FluentFTP, Version=52.0.0.0, Culture=neutral, PublicKeyToken=f4af092b1d8df44f, processorArchitecture=MSIL">
<HintPath>..\packages\FluentFTP.52.0.0\lib\net462\FluentFTP.dll</HintPath>
<Reference Include="FluentFTP, Version=52.1.0.0, Culture=neutral, PublicKeyToken=f4af092b1d8df44f, processorArchitecture=MSIL">
<HintPath>..\packages\FluentFTP.52.1.0\lib\net462\FluentFTP.dll</HintPath>
</Reference>
<Reference Include="MapoSDK, Version=6.14.2505.2916, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll</HintPath>
<Reference Include="MapoSDK, Version=6.14.2506.2618, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
@@ -69,7 +69,7 @@
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+2 -4
View File
@@ -99,7 +99,7 @@ namespace IOB_WIN_FTP.Iob
/// Processo i task richiesti e li elimino dalla coda
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> 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<string, string> task2ExeSetOdl = new Dictionary<string, string>();
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();
/// <summary>
/// Ultima verifica presenza dir corrente
/// </summary>
+3 -3
View File
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EgwProxy.Ftp" version="3.6.2410.816" targetFramework="net462" />
<package id="FluentFTP" version="52.0.0" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2505.2916" targetFramework="net462" />
<package id="FluentFTP" version="52.1.0" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2506.2618" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.0" targetFramework="net462" />
@@ -10,7 +10,7 @@
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="5.3.4" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.24" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.58" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="9.0.0" targetFramework="net462" />
+4
View File
@@ -173,6 +173,10 @@
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentFTP" publicKeyToken="f4af092b1d8df44f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-52.1.0.0" newVersion="52.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.web>
+4 -4
View File
@@ -16,7 +16,7 @@
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
@@ -48,8 +48,8 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\ExtLibs\krcc.dll</HintPath>
</Reference>
<Reference Include="MapoSDK, Version=6.14.2505.2916, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll</HintPath>
<Reference Include="MapoSDK, Version=6.14.2506.2618, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
@@ -67,7 +67,7 @@
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
+9 -9
View File
@@ -86,7 +86,7 @@ namespace IOB_WIN_KAWASAKI.Iob
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
@@ -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
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
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;
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MapoSDK" version="6.14.2505.2916" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2506.2618" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.0" targetFramework="net462" />
@@ -8,7 +8,7 @@
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="5.3.4" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.24" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.58" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="9.0.0" targetFramework="net462" />
+1 -1
View File
@@ -92,7 +92,7 @@ namespace IOB_WIN_MBUS.IobModbusTCP
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
lgInfo($"Chiamata executeTasks specifica ModBus TCP: {task2exe.Count} task ricevuti");
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
+4
View File
@@ -173,6 +173,10 @@
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentFTP" publicKeyToken="f4af092b1d8df44f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-52.1.0.0" newVersion="52.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.web>
+3 -3
View File
@@ -47,8 +47,8 @@
<Reference Include="EgwProxy.MultiCncLib, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwProxy.MultiCncLib.3.6.2207.1211\lib\EgwProxy.MultiCncLib.dll</HintPath>
</Reference>
<Reference Include="MapoSDK, Version=6.14.2505.2916, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll</HintPath>
<Reference Include="MapoSDK, Version=6.14.2506.2618, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
@@ -60,7 +60,7 @@
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
+4 -9
View File
@@ -157,7 +157,7 @@ namespace IOB_WIN_MITSUBISHI.Iob
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
@@ -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
/// </summary>
/// <returns></returns>
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++)
{
+2 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EgwProxy.MultiCncLib" version="3.6.2207.1211" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2505.2916" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2506.2618" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.0" targetFramework="net462" />
@@ -9,7 +9,7 @@
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="5.3.4" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.24" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.58" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="9.0.0" targetFramework="net462" />
+4 -4
View File
@@ -100,10 +100,10 @@ namespace IOB_WIN_MTC.Iob
/// Processo i task richiesti document li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
@@ -236,7 +236,7 @@ namespace IOB_WIN_MTC.Iob
/// Effettua reset del contapezzi, NON POSSIBILE per MTC (read only)
/// </summary>
/// <returns></returns>
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)
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = true;
return answ;
+4 -4
View File
@@ -37,10 +37,10 @@ namespace IOB_WIN_OMRON.Iob
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
@@ -117,7 +117,7 @@ namespace IOB_WIN_OMRON.Iob
/// Effettua reset del contapezzi, in questo caso il conteggio dei KG
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
#if false
+5 -1
View File
@@ -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
+16 -16
View File
@@ -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",
+4 -4
View File
@@ -64,11 +64,11 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
lgInfo($"OpcUa: call executeTasks | {task2exe.Count} task");
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
@@ -627,7 +627,7 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+4 -4
View File
@@ -41,17 +41,17 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+4 -4
View File
@@ -41,17 +41,17 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+4 -4
View File
@@ -41,17 +41,17 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+2 -2
View File
@@ -41,7 +41,7 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+4 -4
View File
@@ -41,17 +41,17 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+3 -3
View File
@@ -36,10 +36,10 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 2:2
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> 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;
+4 -4
View File
@@ -35,17 +35,17 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+1 -1
View File
@@ -41,7 +41,7 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
public override bool resetContapezziPLC()
public override bool resetContapezziPLC(string codTav)
{
bool answ = false;
// da implementare con area memoria configurata ad hoc...
+4 -4
View File
@@ -226,10 +226,10 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
@@ -243,7 +243,7 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+6 -6
View File
@@ -41,7 +41,7 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> 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);
}
/// <summary>
/// Effettua reset del contapezzi
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
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<string, string> task2add = new Dictionary<string, string>();
task2add.Add("forceSetPzCount", $"{newPzCount}");
executeTasks(task2add);
executeTasks(task2add, codTav);
}
else
{
+3 -3
View File
@@ -33,10 +33,10 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> 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");
+1 -1
View File
@@ -38,7 +38,7 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
public override bool resetContapezziPLC()
public override bool resetContapezziPLC(string codTav)
{
bool answ = false;
// verifico se richiesta è per tav 1 o 2...
+4 -4
View File
@@ -35,17 +35,17 @@ namespace IOB_WIN_OPC_UA.IobOpc
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// uso metodo base x ora
return base.executeTasks(task2exe);
return base.executeTasks(task2exe, codTav);
}
/// <summary>
/// Effettua reset del contapezzi, NON POSSIBILE in questa versione
/// </summary>
/// <returns></returns>
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
/// </summary>
/// <returns></returns>
public override bool setcontapezziPLC(int newPzCount)
public override bool setcontapezziPLC(int newPzCount, string codTav)
{
bool answ = false;
return answ;
+4
View File
@@ -162,6 +162,10 @@
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentFTP" publicKeyToken="f4af092b1d8df44f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-52.1.0.0" newVersion="52.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.web>
+4 -4
View File
@@ -45,7 +45,7 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="EgwProxy.Shelly, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EgwProxy.Shelly.3.7.2502.1408\lib\EgwProxy.Shelly.dll</HintPath>
<HintPath>..\packages\EgwProxy.Shelly.3.7.2507.1012\lib\EgwProxy.Shelly.dll</HintPath>
</Reference>
<Reference Include="Flurl, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Flurl.4.0.0\lib\net461\Flurl.dll</HintPath>
@@ -53,8 +53,8 @@
<Reference Include="Flurl.Http, Version=4.0.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Flurl.Http.4.0.2\lib\net461\Flurl.Http.dll</HintPath>
</Reference>
<Reference Include="MapoSDK, Version=6.14.2505.2916, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll</HintPath>
<Reference Include="MapoSDK, Version=6.14.2506.2618, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
@@ -72,7 +72,7 @@
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.8\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+3 -3
View File
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EgwProxy.Shelly" version="3.7.2502.1408" targetFramework="net462" />
<package id="EgwProxy.Shelly" version="3.7.2507.1012" targetFramework="net462" />
<package id="Flurl" version="4.0.0" targetFramework="net462" />
<package id="Flurl.Http" version="4.0.2" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2505.2916" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2506.2618" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.0" targetFramework="net462" />
@@ -11,7 +11,7 @@
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net462" />
<package id="NLog" version="5.3.4" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.24" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.58" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="9.0.0" targetFramework="net462" />
+4
View File
@@ -170,6 +170,10 @@
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FluentFTP" publicKeyToken="f4af092b1d8df44f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-52.1.0.0" newVersion="52.1.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.web>
+3 -3
View File
@@ -44,8 +44,8 @@
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="MapoSDK, Version=6.14.2505.2916, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll</HintPath>
<Reference Include="MapoSDK, Version=6.14.2506.2618, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
@@ -66,7 +66,7 @@
<HintPath>..\packages\S7netplus.0.1.9\lib\net45\S7.Net.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.8.24\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.8.58\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+4 -9
View File
@@ -40,7 +40,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// </summary>
/// <param name="caller">Form chiamante</param>
/// <param name="IobConfFull">Configurazione (v 4.x)</param>
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
/// </summary>
protected connParamS7 parametri;
/// <summary>
/// Oggetto cronometro x test vari...
/// </summary>
protected Stopwatch sw = new Stopwatch();
/// <summary>
/// indica se scrivere i primi byte x string siemens x indicare lung max e corrente
/// </summary>
@@ -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
+1 -1
View File
@@ -42,7 +42,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
+1 -1
View File
@@ -58,7 +58,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
lgInfo($"Chiamata executeTasks specifica IobSiemensComeca: {task2exe.Count} task ricevuti");
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
+1 -1
View File
@@ -72,7 +72,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
+1 -1
View File
@@ -58,7 +58,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
lgInfo($"Chiamata executeTasks specifica IobSiemensCosmap: {task2exe.Count} task ricevuti");
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
+2 -2
View File
@@ -82,7 +82,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebbe togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
@@ -212,7 +212,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
Dictionary<string, string> task2exe = new Dictionary<string, string>();
Dictionary<string, string> taskDone = new Dictionary<string, string>();
task2exe.Add("sendWatchDogMes2Plc", counterMes2Plc.ToString());
taskDone = executeTasks(task2exe);
taskDone = executeTasks(task2exe, "");
lgInfo($"Scritto watchdog: {counterMes2Plc}");
// salvo watchdog PLC
lastPLCWatchDog = adesso;
+2 -2
View File
@@ -95,7 +95,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
@@ -546,7 +546,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
Dictionary<string, string> task2exe = new Dictionary<string, string>();
Dictionary<string, string> taskDone = new Dictionary<string, string>();
task2exe.Add("sendWatchDogMes2Plc", counterMes2Plc.ToString());
taskDone = executeTasks(task2exe);
taskDone = executeTasks(task2exe, "");
// salvo watchdog PLC
lastPLCWatchDog = adesso;
}
+1 -1
View File
@@ -65,7 +65,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
lgInfo($"Chiamata executeTasks specifica IobSiemensNWS: {task2exe.Count} task ricevuti");
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
@@ -41,7 +41,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
@@ -73,7 +73,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
lgInfo($"Chiamata executeTasks specifica IobSiemensRobotService: {task2exe.Count} task ricevuti");
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
+2 -2
View File
@@ -83,7 +83,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
@@ -245,7 +245,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
Dictionary<string, string> task2exe = new Dictionary<string, string>();
Dictionary<string, string> taskDone = new Dictionary<string, string>();
task2exe.Add("sendWatchDogMes2Plc", counterMes2Plc.ToString());
taskDone = executeTasks(task2exe);
taskDone = executeTasks(task2exe, "");
// salvo watchdog PLC
lastPLCWatchDog = adesso;
}
+1 -1
View File
@@ -67,7 +67,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
+1 -1
View File
@@ -46,7 +46,7 @@ namespace IOB_WIN_SIEMENS.IobSiemens
/// Processo i task richiesti e li elimino dalla coda 1:1
/// </summary>
/// <param name="task2exe"></param>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// Verificare il protocollo: dovrebeb togliere SOLO i task eseguiti...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
+2 -2
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MapoSDK" version="6.14.2505.2916" targetFramework="net462" />
<package id="MapoSDK" version="6.14.2506.2618" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="9.0.0" targetFramework="net462" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="9.0.0" targetFramework="net462" />
@@ -9,7 +9,7 @@
<package id="NLog" version="5.3.4" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.8" targetFramework="net462" />
<package id="S7netplus" version="0.1.9" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.24" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.8.58" targetFramework="net462" />
<package id="System.Buffers" version="4.6.0" targetFramework="net462" />
<package id="System.Diagnostics.DiagnosticSource" version="9.0.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="9.0.0" targetFramework="net462" />
+1 -1
View File
@@ -82,7 +82,7 @@ namespace IOB_WIN_SQL.IobFile
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
DateTime adesso = DateTime.Now;
// NON fa nulla... anche se non dovrebbe richiamarlo
+1 -1
View File
@@ -64,7 +64,7 @@ namespace IOB_WIN_SQL.IobSql
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
// unico task ammissibile: fare un SYNC forzato...
Dictionary<string, string> taskDone = new Dictionary<string, string>();
+1 -1
View File
@@ -78,7 +78,7 @@ namespace IOB_WIN_SQL.IobSql
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
DateTime adesso = DateTime.Now;
// unico task ammissibile: fare un SYNC forzato...
+1 -1
View File
@@ -76,7 +76,7 @@ namespace IOB_WIN_SQL.IobSql
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
DateTime adesso = DateTime.Now;
// unico task ammissibile: fare un SYNC forzato...
+1 -1
View File
@@ -55,7 +55,7 @@ namespace IOB_WIN_WS.IobWs
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
/*---------------------------------------
* gestione execute task SPECIFICI:
+1 -1
View File
@@ -90,7 +90,7 @@ namespace IOB_WIN_WS.IobWs
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
/*---------------------------------------
* gestione execute task SPECIFICI:
+1 -1
View File
@@ -47,7 +47,7 @@ namespace IOB_WIN_WS.IobWs
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
/*---------------------------------------
* gestione execute task SPECIFICI x pesa:
+1 -1
View File
@@ -53,7 +53,7 @@ namespace IOB_WIN_WS.IobWs
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
/*---------------------------------------
* fixme todo fare !!!
+1 -1
View File
@@ -45,7 +45,7 @@ namespace IOB_WIN_WS.IobWs
/// </summary>
/// <param name="task2exe"></param>
/// <returns></returns>
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe)
public override Dictionary<string, string> executeTasks(Dictionary<string, string> task2exe, string codTav)
{
/*---------------------------------------
* gestione execute task SPECIFICI x pesa:
+2 -2
View File
@@ -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
+4 -3
View File
@@ -88,8 +88,8 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>ExtLib\krcc.dll</HintPath>
</Reference>
<Reference Include="MapoSDK, Version=6.14.2505.2916, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2505.2916\lib\MapoSDK.dll</HintPath>
<Reference Include="MapoSDK, Version=6.14.2506.2618, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MapoSDK.6.14.2506.2618\lib\MapoSDK.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
@@ -646,10 +646,11 @@
<Error Condition="!Exists('..\packages\Microsoft.VisualStudio.SlowCheetah.4.0.8\build\Microsoft.VisualStudio.SlowCheetah.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.VisualStudio.SlowCheetah.4.0.8\build\Microsoft.VisualStudio.SlowCheetah.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.5.0.3\build\Microsoft.CodeAnalysis.NetAnalyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.NetAnalyzers.5.0.3\build\Microsoft.CodeAnalysis.NetAnalyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.5.0.3\build\Microsoft.CodeAnalysis.NetAnalyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.NetAnalyzers.5.0.3\build\Microsoft.CodeAnalysis.NetAnalyzers.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" />
</Target>
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
<Import Project="..\packages\Selenium.Firefox.WebDriver.0.26.0\build\Selenium.Firefox.WebDriver.targets" Condition="Exists('..\packages\Selenium.Firefox.WebDriver.0.26.0\build\Selenium.Firefox.WebDriver.targets')" />
<Import Project="..\packages\Selenium.WebDriver.ChromeDriver.80.0.3987.10600\build\Selenium.WebDriver.ChromeDriver.targets" Condition="Exists('..\packages\Selenium.WebDriver.ChromeDriver.80.0.3987.10600\build\Selenium.WebDriver.ChromeDriver.targets')" />
<Import Project="..\packages\Microsoft.VisualStudio.SlowCheetah.4.0.8\build\Microsoft.VisualStudio.SlowCheetah.targets" Condition="Exists('..\packages\Microsoft.VisualStudio.SlowCheetah.4.0.8\build\Microsoft.VisualStudio.SlowCheetah.targets')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.NetAnalyzers.5.0.3\build\Microsoft.CodeAnalysis.NetAnalyzers.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.NetAnalyzers.5.0.3\build\Microsoft.CodeAnalysis.NetAnalyzers.targets')" />
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
</Project>
+1 -1
View File
@@ -734,7 +734,7 @@ namespace IOB_WIN
/// Effettua reset del contapezzi
/// </summary>
/// <returns></returns>
public override bool resetcontapezziPLC()
public bool resetContapezziPLC()
{
bool answ = false;
// ...SE abilitato da conf IOB
+2 -2
View File
@@ -3,10 +3,10 @@
<package id="Autoupdater.NET.Official" version="1.5.1" targetFramework="net40-client" />
<package id="EgwProxy.MultiCncLib" version="3.6.2207.1211" targetFramework="net40-client" />
<package id="EgwProxy.OsaiCncLib" version="3.6.2205.2015" targetFramework="net40-client" />
<package id="MapoSDK" version="6.14.2505.2916" targetFramework="net40-client" />
<package id="MapoSDK" version="6.14.2506.2618" targetFramework="net40-client" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net40-client" />
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net40-client" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net40-client" />
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net40-client" />
<package id="Microsoft.CodeAnalysis.NetAnalyzers" version="5.0.3" targetFramework="net40-client" developmentDependency="true" />
<package id="Microsoft.VisualStudio.SlowCheetah" version="4.0.8" targetFramework="net40-client" developmentDependency="true" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net40-client" />