From 610c0934c1d1ef51570699cbf1bd19a1b29cd1b8 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 18 Mar 2022 13:16:19 +0100 Subject: [PATCH] Cleanup vari + fix condizioni riscrittura dati IOB-WIN --> server --- .ionide/symbolCache.db | Bin 0 -> 8192 bytes IOB-WIN-NEXT/IobFanuc.cs | 2 +- IOB-WIN-NEXT/IobGeneric.cs | 81 +++++++++++++++++++++---- IOB-WIN-NEXT/IobKawasaki.cs | 4 +- IOB-WIN-NEXT/IobModbusTCP.cs | 20 +++--- IOB-WIN-NEXT/IobOSAI.cs | 2 +- IOB-WIN-NEXT/IobOpcUaEwonBLM.cs | 3 - IOB-WIN-NEXT/IobOpcUaEwonMecolpress.cs | 3 - IOB-WIN-NEXT/IobSiemens.cs | 28 ++++----- IOB-WIN-NEXT/IobSiemensSaet.cs | 5 +- IOB-WIN-NEXT/IobSimula.cs | 3 - IOB-WIN-NEXT/TcAdsClient.cs | 17 ++++-- 12 files changed, 110 insertions(+), 58 deletions(-) create mode 100644 .ionide/symbolCache.db diff --git a/.ionide/symbolCache.db b/.ionide/symbolCache.db new file mode 100644 index 0000000000000000000000000000000000000000..7566b892d76f260794b11357519846336185d385 GIT binary patch literal 8192 zcmeI#K}*9h6bJBR2%<3X=3$o{6~v2v0J|-NLfLffL66zYFpxB*eFb;-;`i`_n!4?v zbFF9jKN>=sm-O*VFG(K~Lt3nS=@f|@cE&hocS116cxb)QcF~NFc7xD2U8ZE-d5YLH=4^RlOl_T zi4@zH7pLM!OpMi2<+RA;V|KMSosudkF}W7;^w9Lk+uG&7C&>Ky@aizxwl=ONrFUb! zGPxn+b1|IF5*bbRtK4KpM5S5O;nv!bIP$KjNi}=Q*P_%_^@rWZrYaOIUsCHSc7@eW z=bJscK6kH(blF*cwk}#K-yGniwzloGzW#uwQmfXTd2yBarLw#7zn%SMb2kr{egp&{ Y009U<00Izz00bZa0SG_<0{>Xx69oRB!2kdN literal 0 HcmV?d00001 diff --git a/IOB-WIN-NEXT/IobFanuc.cs b/IOB-WIN-NEXT/IobFanuc.cs index fcc0106e..62374e35 100644 --- a/IOB-WIN-NEXT/IobFanuc.cs +++ b/IOB-WIN-NEXT/IobFanuc.cs @@ -158,7 +158,7 @@ namespace IOB_WIN_NEXT // è little endian (NON serve conversione) hasBigEndian = false; - lgInfo("Start init Adapter FANUC all'IP {0}:{1} per IOB {2}", IOBConf.cncIpAddr, IOBConf.cncPort, IOBConf.codIOB); + lgInfoStartup("Start init Adapter FANUC all'IP {0}:{1} per IOB {2}", IOBConf.cncIpAddr, IOBConf.cncPort, IOBConf.codIOB); // Creo oggetto connessione NC parentForm.commPlcActive = true; diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index 3df80794..753f7cde 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -121,6 +121,17 @@ namespace IOB_WIN_NEXT /// protected DateTime lastPzCountSend; + + /// + /// Ultimo LOG registrazione avvio (x ridurre log notturni...) + /// + protected DateTime lastLogStartup = DateTime.Today.AddHours(-1); + + /// + /// Veto per registrazione completa log di startup (minuti) + /// + protected int vetoLogStartupDuration = 60; + /// /// Dizionario ultimi valori (double) delle TSVC /// @@ -445,6 +456,8 @@ namespace IOB_WIN_NEXT lg = LogManager.GetCurrentClassLogger(); lgInfo("Avvio preliminare AdapterGeneric"); + lastLogStartup = DateTime.Now; + // aggiungo altri defaults setDefaults(true); @@ -454,7 +467,7 @@ namespace IOB_WIN_NEXT checkShrinkDir(); // concluso! - lgInfo("Istanziata classe preliminare IOBGeneric"); + lgInfoStartup("Istanziata classe preliminare IOBGeneric"); } else { @@ -2680,6 +2693,25 @@ namespace IOB_WIN_NEXT sendToLogWatch("INFO", message); } } + protected void lgInfoStartup(string message, bool sendToForm = true) + { + lg.Factory.Configuration.Variables["codIOB"] = cIobConf.codIOB; + DateTime adesso = DateTime.Now; + if (adesso.Subtract(lastLogStartup).TotalMinutes > vetoLogStartupDuration) + { + lg.Info(message); + // se supera di 5 minutis cadenza -_> reimposto veto... + if (adesso.Subtract(lastLogStartup).TotalMinutes > vetoLogStartupDuration + 5) + { + lastLogStartup = adesso; + } + } + + if (sendToForm) + { + sendToLogWatch("INFO", message); + } + } /// /// Effettua logging INFO corretto impostanto anche la variabile IOB prima di scrivere... @@ -2692,6 +2724,26 @@ namespace IOB_WIN_NEXT lg.Info(message, args); sendToLogWatch("INFO", message, args); } + /// + /// Effettua logging INFO corretto impostanto anche la variabile IOB prima di scrivere... + /// + /// + /// + protected void lgInfoStartup(string message, params object[] args) + { + lg.Factory.Configuration.Variables["codIOB"] = cIobConf.codIOB; + DateTime adesso = DateTime.Now; + if (adesso.Subtract(lastLogStartup).TotalMinutes > vetoLogStartupDuration) + { + lg.Info(message, args); + // se supera di 5 minutis cadenza -_> reimposto veto... + if (adesso.Subtract(lastLogStartup).TotalMinutes > vetoLogStartupDuration + 5) + { + lastLogStartup = adesso; + } + } + sendToLogWatch("INFO", message, args); + } /// /// Effettua logging INFO corretto impostanto anche la variabile IOB prima di scrivere... @@ -2801,7 +2853,7 @@ namespace IOB_WIN_NEXT /// protected virtual void loadMemConf() { - lgInfo("BEGIN loadMemConf"); + lgInfoStartup("BEGIN loadMemConf"); // variabili x gestione send contapezzi in blocco string currPar = getOptPar("ENABLE_SEND_PZC_BLOCK"); if (!string.IsNullOrEmpty(currPar)) @@ -2824,12 +2876,12 @@ namespace IOB_WIN_NEXT if (!string.IsNullOrEmpty(jsonParams)) { string jsonFileName = $"{Application.StartupPath}/DATA/CONF/{jsonParams}"; - lgInfo($"Apertura file {jsonFileName}"); + lgInfoStartup($"Apertura file {jsonFileName}"); StreamReader reader = new StreamReader(jsonFileName); string jsonData = reader.ReadToEnd(); if (!string.IsNullOrEmpty(jsonData)) { - lgInfo($"File json PARAMETRI composto da {jsonData.Length} caratteri"); + lgInfoStartup($"File json PARAMETRI composto da {jsonData.Length} caratteri"); try { memMap = JsonConvert.DeserializeObject(jsonData); @@ -2848,7 +2900,7 @@ namespace IOB_WIN_NEXT } else { - lgInfo("loadMemConf: non trovata opzione PARAM_CONF in file INI"); + lgInfoStartup("loadMemConf: non trovata opzione PARAM_CONF in file INI"); } // inizializzo LUT decodifica ALLARMI @@ -2856,12 +2908,12 @@ namespace IOB_WIN_NEXT if (!string.IsNullOrEmpty(jsonAlarms)) { string jsonFileName = $"{Application.StartupPath}\\DATA\\CONF\\{jsonAlarms}"; - lgInfo($"Apertura file {jsonFileName}"); + lgInfoStartup($"Apertura file {jsonFileName}"); StreamReader reader = new StreamReader(jsonFileName); string jsonData = reader.ReadToEnd(); if (!string.IsNullOrEmpty(jsonData)) { - lgInfo($"File json ALLARMI composto da {jsonData.Length} caratteri"); + lgInfoStartup($"File json ALLARMI composto da {jsonData.Length} caratteri"); try { alarmMaps = JsonConvert.DeserializeObject>(jsonData); @@ -2880,11 +2932,11 @@ namespace IOB_WIN_NEXT } else { - lgInfo("loadMemConf: non trovata opzione ALARM_CONF in file INI"); + lgInfoStartup("loadMemConf: non trovata opzione ALARM_CONF in file INI"); } // loggo - lgInfo("DONE loadMemConf"); + lgInfoStartup("DONE loadMemConf"); } /// @@ -3193,9 +3245,12 @@ namespace IOB_WIN_NEXT }; allParam.Add(currItem); } - // invio su cloud parametri! - rawData = JsonConvert.SerializeObject(allParam, Formatting.Indented); - utils.callUrl($"{urlSaveAllParams}", rawData); + // invio su cloud parametri SE sono connesso... + if (connectionOk) + { + rawData = JsonConvert.SerializeObject(allParam, Formatting.Indented); + utils.callUrl($"{urlSaveAllParams}", rawData); + } lgInfo($"setupMemMap | salvata conf memoria R/W"); } } @@ -3515,7 +3570,7 @@ namespace IOB_WIN_NEXT case taskType.setParameter: // richiedo da URL i parametri WRITE da popolare - lgInfo("Chiamata processMemWriteRequests"); + lgInfo("Chiamata setParameter --> processMemWriteRequests"); taskVal = processMemWriteRequests(); // se restituiscce "" faccio altra prova... if (string.IsNullOrEmpty(taskVal)) diff --git a/IOB-WIN-NEXT/IobKawasaki.cs b/IOB-WIN-NEXT/IobKawasaki.cs index 65d0377f..fc0010a4 100644 --- a/IOB-WIN-NEXT/IobKawasaki.cs +++ b/IOB-WIN-NEXT/IobKawasaki.cs @@ -617,7 +617,7 @@ namespace IOB_WIN_NEXT { // Creo oggetto connessione NC parentForm.commPlcActive = true; - lgInfo("Start init Adapter KAWASAKI all'IP {0} | --> IOB {1}", cIobConf.cncIpAddr, cIobConf.codIOB); + lgInfoStartup("Start init Adapter KAWASAKI all'IP {0} | --> IOB {1}", cIobConf.cncIpAddr, cIobConf.codIOB); // inizializzo correttamente aree memoria secondo CONF - iniFileName IniFile fIni = new IniFile(cIobConf.iniFileName); @@ -627,7 +627,7 @@ namespace IOB_WIN_NEXT // SE è necessario refresh... if (needRefresh) { - lgInfo("Refreshing connection..."); + lgInfoStartup("Refreshing connection..."); // ora tento avvio PLC... SE PING OK... if (testPingMachine == IPStatus.Success) { diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index 051ac134..6e858305 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -106,7 +106,7 @@ namespace IOB_WIN_NEXT catch { } // finito! - lgInfo($"Init IOB, con {iobConfSer}"); + lgInfoStartup($"Init IOB, con {iobConfSer}"); } else { @@ -639,7 +639,7 @@ namespace IOB_WIN_NEXT // SE è necessario refresh... if (needRefresh) { - lgInfo("Refreshing connection..."); + lgInfoStartup("Refreshing connection..."); if (parametri != null) { try @@ -647,7 +647,7 @@ namespace IOB_WIN_NEXT parametri.ipAdrr = cIobConf.cncIpAddr; parametri.port = int.Parse(cIobConf.cncPort); // leggo file init... - lgInfo("Reading ini file..."); + lgInfoStartup("Reading ini file..."); IniFile fIni = new IniFile(cIobConf.iniFileName); // ora leggo valori speciali parametri.memAddrRead = fIni.ReadString("MEMORY", "ADDR_READ", ""); @@ -655,11 +655,11 @@ namespace IOB_WIN_NEXT parametri.memSizeRead = fIni.ReadInteger("MEMORY", "SIZE_READ", 0); parametri.memSizeWrite = fIni.ReadInteger("MEMORY", "SIZE_WRITE", 0); // salvo vettori memoria... - lgInfo("Set RawInput dimensions..."); + lgInfoStartup("Set RawInput dimensions..."); RawInput = new byte[parametri.memSizeRead]; RawOutput = new byte[parametri.memSizeWrite]; // salvo parametri conn! - lgInfo(string.Format("Parametri memoria: memAddrRead: {0} | memAddrWrite: {1} | memSizeRead: {2} | memSizeWrite: {3}", parametri.memAddrRead, parametri.memAddrWrite, parametri.memSizeRead, parametri.memSizeWrite)); + lgInfoStartup(string.Format("Parametri memoria: memAddrRead: {0} | memAddrWrite: {1} | memSizeRead: {2} | memSizeWrite: {3}", parametri.memAddrRead, parametri.memAddrWrite, parametri.memSizeRead, parametri.memSizeWrite)); } catch (Exception exc) { @@ -681,7 +681,7 @@ namespace IOB_WIN_NEXT bool disableByIob = (getOptPar("DISABLE_PZCOUNT") == "TRUE"); if ((enableByApp || enableByIob) && !(disableByIob)) { - lgInfo("ModBus TCP: inizio gestione contapezzi"); + lgInfoStartup("ModBus TCP: inizio gestione contapezzi"); try { // verifico quale modalità sia richiesta: STD (6711) oppure BIT (Custom, con indicazione area) @@ -689,7 +689,7 @@ namespace IOB_WIN_NEXT { if (getOptPar("PZCOUNT_MODE").StartsWith("STD")) { - lgInfo("Init contapezzi ModBusTCP: pzCntReload(true)"); + lgInfoStartup("Init contapezzi ModBusTCP: pzCntReload(true)"); pzCntReload(true); // refresh associazione Macchina - IOB sendM2IOB(); @@ -730,15 +730,15 @@ namespace IOB_WIN_NEXT // disconnetto e connetto... if (isVerboseLog) { - lgInfo("ModBus TCP: tryDisconnect"); + lgInfoStartup("ModBus TCP: tryDisconnect"); } tryDisconnect(); // lo ripeto x evitare che ci sia un loop... e tryConnect richiami la procedura corrente... needRefresh = false; - lgInfo("ModBus TCP: tryConnect"); + lgInfoStartup("ModBus TCP: tryConnect"); tryConnect(); - lgInfo("End init Adapter ModBusTCP"); + lgInfoStartup("End init Adapter ModBusTCP"); if (isVerboseLog) { lgInfo("ModBus TCP CONNESSIONE AVVENUTA"); diff --git a/IOB-WIN-NEXT/IobOSAI.cs b/IOB-WIN-NEXT/IobOSAI.cs index 069cf15f..00ad5c04 100644 --- a/IOB-WIN-NEXT/IobOSAI.cs +++ b/IOB-WIN-NEXT/IobOSAI.cs @@ -89,7 +89,7 @@ namespace IOB_WIN_NEXT // è little endian (NON serve conversione) hasBigEndian = false; - lgInfo("Start init Adapter OSAI, tipo all'IP/NOME {0}, variante {1} per IOB {2}", IOBConf.cncIpAddr, IOBConf.tipoIob, IOBConf.codIOB); + lgInfoStartup("Start init Adapter OSAI, tipo all'IP/NOME {0}, variante {1} per IOB {2}", IOBConf.cncIpAddr, IOBConf.tipoIob, IOBConf.codIOB); // Creo oggetto x gestione connessione/comunicazione NC: secondo il tipo creo CNDEX o OPEN parentForm.commPlcActive = true; diff --git a/IOB-WIN-NEXT/IobOpcUaEwonBLM.cs b/IOB-WIN-NEXT/IobOpcUaEwonBLM.cs index f6f141d8..9f233737 100644 --- a/IOB-WIN-NEXT/IobOpcUaEwonBLM.cs +++ b/IOB-WIN-NEXT/IobOpcUaEwonBLM.cs @@ -49,10 +49,7 @@ namespace IOB_WIN_NEXT if (opcUaParams.SetupConf.SetupMode == IOB_UT_NEXT.MachineSetupMode.MECOLPRESS) { List nodes2Write = new List(); - // ora controllo la specifica condizione Mecolpress x il setup SE i parametri FOSSERO quelli di setup... - dataConf currMem = null; // faccio un check tra i valori in memoria che devono corrispondere e se NON corrispondono --> metto valore in scrittura... - bool needWrite = false; int numDiff = 0; foreach (var item in opcUaParams.SetupConf.checkParList) { diff --git a/IOB-WIN-NEXT/IobOpcUaEwonMecolpress.cs b/IOB-WIN-NEXT/IobOpcUaEwonMecolpress.cs index 506c5428..6d88f79b 100644 --- a/IOB-WIN-NEXT/IobOpcUaEwonMecolpress.cs +++ b/IOB-WIN-NEXT/IobOpcUaEwonMecolpress.cs @@ -49,10 +49,7 @@ namespace IOB_WIN_NEXT if (opcUaParams.SetupConf.SetupMode == IOB_UT_NEXT.MachineSetupMode.MECOLPRESS) { List nodes2Write = new List(); - // ora controllo la specifica condizione Mecolpress x il setup SE i parametri FOSSERO quelli di setup... - dataConf currMem = null; // faccio un check tra i valori in memoria che devono corrispondere e se NON corrispondono --> metto valore in scrittura... - bool needWrite = false; int numDiff = 0; foreach (var item in opcUaParams.SetupConf.checkParList) { diff --git a/IOB-WIN-NEXT/IobSiemens.cs b/IOB-WIN-NEXT/IobSiemens.cs index 3af6857a..f882b92a 100644 --- a/IOB-WIN-NEXT/IobSiemens.cs +++ b/IOB-WIN-NEXT/IobSiemens.cs @@ -116,7 +116,7 @@ namespace IOB_WIN_NEXT catch { } // finito! - lgInfo($"Init IOB, con {iobConfSer}"); + lgInfoStartup($"Init IOB, con {iobConfSer}"); } else { @@ -546,11 +546,11 @@ namespace IOB_WIN_NEXT { // Creo oggetto connessione NC parentForm.commPlcActive = true; - lgInfo("Start init Adapter SIEMENS all'IP {0} | CPU: {1} | R/S: {2}/{3} | --> IOB {4}", cIobConf.cncIpAddr, cIobConf.cpuType, cIobConf.rack, cIobConf.slot, cIobConf.codIOB); + lgInfoStartup("Start init Adapter SIEMENS all'IP {0} | CPU: {1} | R/S: {2}/{3} | --> IOB {4}", cIobConf.cncIpAddr, cIobConf.cpuType, cIobConf.rack, cIobConf.slot, cIobConf.codIOB); // SE è necessario refresh... if (needRefresh) { - lgInfo("Refreshing connection..."); + lgInfoStartup("Refreshing connection..."); if (parametri != null) { try @@ -560,7 +560,7 @@ namespace IOB_WIN_NEXT parametri.tipoCpu = (CpuType)Enum.Parse(typeof(CpuType), cIobConf.cpuType); parametri.ipAdrr = cIobConf.cncIpAddr; // leggo file init... - lgInfo("Reading ini file..."); + lgInfoStartup("Reading ini file..."); IniFile fIni = new IniFile(cIobConf.iniFileName); // ora leggo valori speciali parametri.memAddrRead = fIni.ReadString("MEMORY", "ADDR_READ", ""); @@ -568,11 +568,11 @@ namespace IOB_WIN_NEXT parametri.memSizeRead = fIni.ReadInteger("MEMORY", "SIZE_READ", 0); parametri.memSizeWrite = fIni.ReadInteger("MEMORY", "SIZE_WRITE", 0); // salvo vettori memoria... - lgInfo("Set RawInput dimensions..."); + lgInfoStartup("Set RawInput dimensions..."); RawInput = new byte[parametri.memSizeRead]; RawOutput = new byte[parametri.memSizeWrite]; // salvo parametri conn! - lgInfo(string.Format("Parametri memoria: memAddrRead: {0} | memAddrWrite: {1} | memSizeRead: {2} | memSizeWrite: {3}", parametri.memAddrRead, parametri.memAddrWrite, parametri.memSizeRead, parametri.memSizeWrite)); + lgInfoStartup(string.Format("Parametri memoria: memAddrRead: {0} | memAddrWrite: {1} | memSizeRead: {2} | memSizeWrite: {3}", parametri.memAddrRead, parametri.memAddrWrite, parametri.memSizeRead, parametri.memSizeWrite)); } catch (Exception exc) { @@ -595,10 +595,10 @@ namespace IOB_WIN_NEXT tryDisconnect(); // lo ripeto x evitare che ci sia un loop... e tryConnect richiami la procedura corrente... needRefresh = false; - lgInfo("SIEMENS: tryConnect"); + lgInfoStartup("SIEMENS: tryConnect"); lastConnectTry = DateTime.Now; tryConnect(); - lgInfo("End init Adapter SIEMENS"); + lgInfoStartup("End init Adapter SIEMENS"); if (isVerboseLog) { lgInfo("S7+ CONNESSIONE AVVENUTA"); @@ -1602,27 +1602,27 @@ namespace IOB_WIN_NEXT public override void tryConnect() { bool doLog = (verboseLog || periodicLog); - lgInfo("SIEMENS: tryConnect step 01"); + lgInfoStartup("SIEMENS: tryConnect step 01"); if (!connectionOk) { // SE è necessario refresh... if (needRefresh) { - lgInfo("SIEMENS: tryConnect step 02"); + lgInfoStartup("SIEMENS: tryConnect step 02"); // reimporto parametri PLC se necessario... setParamPlc(); } - lgInfo("SIEMENS: tryConnect step 03"); + lgInfoStartup("SIEMENS: tryConnect step 03"); // controllo che il ping sia stato tentato almeno pingTestSec fa... if (DateTime.Now.Subtract(lastPING).TotalSeconds > utils.CRI("pingTestSec")) { if (doLog) { - lgInfo("SIEMENS: ConnKO - tryConnect"); + lgInfoStartup("SIEMENS: ConnKO - tryConnect"); } - lgInfo("SIEMENS: tryConnect step 04"); + lgInfoStartup("SIEMENS: tryConnect step 04"); // in primis salvo data ping... lastPING = DateTime.Now; @@ -1638,7 +1638,7 @@ namespace IOB_WIN_NEXT szStatusConnection = "OPEN"; parentForm.commPlcActive = false; connectionOk = true; - lgInfo($"StatusConnection: {szStatusConnection}"); + lgInfoStartup($"StatusConnection: {szStatusConnection}"); // refresh stato allarmi!!! if (connectionOk) { diff --git a/IOB-WIN-NEXT/IobSiemensSaet.cs b/IOB-WIN-NEXT/IobSiemensSaet.cs index 90f6ead5..4cb7fbca 100644 --- a/IOB-WIN-NEXT/IobSiemensSaet.cs +++ b/IOB-WIN-NEXT/IobSiemensSaet.cs @@ -253,13 +253,14 @@ namespace IOB_WIN_NEXT taskVal = $"VALUE DB1275.92 --> {counterMes2Plc}"; break; + case taskType.endProd: case taskType.startSetup: // processo scrittura BIT x richiesta nuovo ordine a INIZIO setup --> è DINT! MemBlock = new byte[2]; MemBlock[0] = (byte)1; MemBlock[1] = (byte)1; memAddrWrite = "DB1275.DBB94"; - lgInfo("Chiamata startSetup"); + lgInfo($"Chiamata startSetup | memAddrWrite: {memAddrWrite} | MemBlock: {MemBlock}"); break; case taskType.stopSetup: @@ -268,7 +269,7 @@ namespace IOB_WIN_NEXT MemBlock[0] = (byte)0; MemBlock[1] = (byte)0; memAddrWrite = "DB1275.DBB94"; - lgInfo("Chiamata stopSetup"); + lgInfo($"Chiamata stopSetup | memAddrWrite: {memAddrWrite} | MemBlock: {MemBlock}"); break; default: diff --git a/IOB-WIN-NEXT/IobSimula.cs b/IOB-WIN-NEXT/IobSimula.cs index 94c9747a..665e7139 100644 --- a/IOB-WIN-NEXT/IobSimula.cs +++ b/IOB-WIN-NEXT/IobSimula.cs @@ -622,7 +622,6 @@ namespace IOB_WIN_NEXT int byteSize = 0; byte[] MemBlock = new byte[1]; string memAddrWrite = ""; - bool fatto = false; string serObj = ""; if (updatedPar != null) { @@ -632,8 +631,6 @@ namespace IOB_WIN_NEXT try { memAddrWrite = ""; - int valInt = 0; - uint valUInt = 0; // cerco in area memMapWrite... if (memMap.mMapWrite.ContainsKey(item.uid)) { diff --git a/IOB-WIN-NEXT/TcAdsClient.cs b/IOB-WIN-NEXT/TcAdsClient.cs index efbbfad0..6e056c57 100644 --- a/IOB-WIN-NEXT/TcAdsClient.cs +++ b/IOB-WIN-NEXT/TcAdsClient.cs @@ -40,20 +40,23 @@ namespace IOB_WIN_NEXT private CancellationTokenSource cts; - //private Action dispatcher; private System.Threading.Tasks.Task dispatchertask; +#if false + //private Action dispatcher; private int eventHandle; + private int SegnalazioniADSEventHandle, StatusChangedEventHandle, MessageQueuedEventHandle; + + private int notifyposition; +#endif + private AdsStream notifyStream; + private object lockobj = new object(); private AdsStream newNotificationStream; - private int notifyposition; - private AdsStream notifyStream; - - private int SegnalazioniADSEventHandle, StatusChangedEventHandle, MessageQueuedEventHandle; private Symbol StatoMacchina; @@ -135,7 +138,9 @@ namespace IOB_WIN_NEXT StatoMacchina.NotificationSettings = new AdsNotificationSettings(AdsTransMode.OnChange, 100, 100); StatoMacchina.ValueChanged += StatoMacchina_ValueChanged; - notifyposition = 0; +#if false + notifyposition = 0; +#endif cts = new CancellationTokenSource(); //adsClient.AdsNotification += new AdsNotificationEventHandler(adsClient_AdsNotification);