diff --git a/IOB-WIN-NEXT/DATA/CONF/1032.ini b/IOB-WIN-NEXT/DATA/CONF/1032.ini index 26e42bed..dccb3a66 100644 --- a/IOB-WIN-NEXT/DATA/CONF/1032.ini +++ b/IOB-WIN-NEXT/DATA/CONF/1032.ini @@ -55,7 +55,8 @@ MAX_SEND_PZC_BLOCK=100 ; GEST DATI DYN ENABLE_DYN_DATA=TRUE FORCE_DYN_DATA=TRUE - +; gestione scrittura string/char[]: true = string +WRITE_PRE=FALSE ; conf parametri memoria READ/WRITE PARAM_CONF=1032.json diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index 22642a70..393b123b 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -2886,8 +2886,10 @@ namespace IOB_WIN_NEXT /// protected void setupMemMap() { - lgInfo($"Decodifica aree memMap: trovati {memMap.mMapRead.Count} valori TSVC"); - lgInfo($"Decodifica aree memMap: trovati {memMap.mMapWrite.Count} parametri "); + lgInfo($"Decodifica aree memMap: trovati {memMap.mMapRead.Count} valori Read TSVC"); + lgInfo($"Decodifica aree memMap: trovati {memMap.mMapWrite.Count} parametri da scrivere"); + string rawMemConf = JsonConvert.SerializeObject(memMap, Formatting.Indented); + lgInfo($"Configurazione memoria R/W:{Environment.NewLine}{rawMemConf}"); // se ho variabili read --> genero dati TSVC... if (memMap.mMapRead.Count > 0) { diff --git a/IOB-WIN-NEXT/IobSiemens.cs b/IOB-WIN-NEXT/IobSiemens.cs index a1dadc94..459c43df 100644 --- a/IOB-WIN-NEXT/IobSiemens.cs +++ b/IOB-WIN-NEXT/IobSiemens.cs @@ -70,6 +70,11 @@ namespace IOB_WIN_NEXT { memMap = new plcMemMap(); writePre = true; + if (IOBConf.optPar.ContainsKey("WRITE_PRE")) + { + bool.TryParse(IOBConf.optPar["WRITE_PRE"], out writePre); + lgInfo($"Override Write pre da conf: {IOBConf.optPar["WRITE_PRE"]} --> {writePre}"); + } if (IOBConf != null) { // gestione invio ritardato contapezzi diff --git a/IOB-WIN-NEXT/IobSiemensComeca.cs b/IOB-WIN-NEXT/IobSiemensComeca.cs index 1e97cb6c..735ac58e 100644 --- a/IOB-WIN-NEXT/IobSiemensComeca.cs +++ b/IOB-WIN-NEXT/IobSiemensComeca.cs @@ -206,6 +206,10 @@ namespace IOB_WIN_NEXT MemBlock = S7.Net.Types.Int.ToByteArray(valInt); } } + else + { + lgError($"Errore: non trovata chiave write in memMap.mMapWrite per {item.Key}"); + } taskVal = item.Value; break; diff --git a/IOB-WIN-NEXT/IobSiemensCosmap.cs b/IOB-WIN-NEXT/IobSiemensCosmap.cs index a48ad958..ecaffd5a 100644 --- a/IOB-WIN-NEXT/IobSiemensCosmap.cs +++ b/IOB-WIN-NEXT/IobSiemensCosmap.cs @@ -1,4 +1,5 @@ using MapoSDK; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; @@ -199,7 +200,8 @@ namespace IOB_WIN_NEXT } else { - lgError($"Errore: non trovata chiave write in memMap.mMapWrite per {item.Key}"); + string rawMemConf = JsonConvert.SerializeObject(memMap, Formatting.Indented); + lgError($"Errore: non trovata chiave write in memMap.mMapWrite per {item.Key}{Environment.NewLine}Configurazione memoria R/W:{Environment.NewLine}{rawMemConf}"); } taskVal = item.Value; break;