From 2a643d1df371e7d4d7134da024016b46ca21cebc Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 28 Feb 2022 20:07:15 +0100 Subject: [PATCH] Test modifiche da rivedere, con update SDK --- CVCncLib/CVCncLib.dll | Bin 967680 -> 967680 bytes IOB-UT-NEXT/IOB-UT-NEXT.csproj | 4 +- IOB-UT-NEXT/packages.config | 2 +- IOB-WIN-NEXT/AdapterForm.cs | 2 +- IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini | 1 + IOB-WIN-NEXT/IOB-WIN-NEXT.csproj | 4 +- IOB-WIN-NEXT/IobConfiguration.cs | 22 ++- IOB-WIN-NEXT/IobGeneric.cs | 203 ++++++++++++++++++---------- IOB-WIN-NEXT/IobSimula.cs | 7 +- IOB-WIN-NEXT/packages.config | 2 +- 10 files changed, 165 insertions(+), 82 deletions(-) diff --git a/CVCncLib/CVCncLib.dll b/CVCncLib/CVCncLib.dll index 8774ddab2f784f4ca60153094b900c387d1638ae..0cf7b395aee4469757039e91aeae81751be1ad52 100644 GIT binary patch delta 135 zcmZqZux{wEp3uP}C@q`R*wfm>*xJL?+QZ!1!_wNr+St-cQ#4L-J5q_Yx|!Kd@RBM!lN%4 delta 135 zcmZqZux{wEp3uQEzhQS`V^3=jV`~pnYY%g44@+wgYikc%YY%&C4@YYcXKN2vYY+F< z9v+K@0_#8h3Xq+`?BB=4VOp@n<3{_Hg*-sayZy>SzCV0AAhQ^NfC-3Y7#SE|oa1A7 jv4M{vDA*-+P)c_GkoL-u`C;AB!*mKv* ..\packages\SharpZipLib.1.3.1\lib\net45\ICSharpCode.SharpZipLib.dll - - ..\packages\MapoSDK.6.14.2109.2809\lib\net40\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2202.2819\lib\net40\MapoSDK.dll ..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll diff --git a/IOB-UT-NEXT/packages.config b/IOB-UT-NEXT/packages.config index ae2cdab6..857d3932 100644 --- a/IOB-UT-NEXT/packages.config +++ b/IOB-UT-NEXT/packages.config @@ -1,6 +1,6 @@  - + diff --git a/IOB-WIN-NEXT/AdapterForm.cs b/IOB-WIN-NEXT/AdapterForm.cs index 752724ed..246583a3 100644 --- a/IOB-WIN-NEXT/AdapterForm.cs +++ b/IOB-WIN-NEXT/AdapterForm.cs @@ -1139,7 +1139,7 @@ namespace IOB_WIN_NEXT cpuType = fIni.ReadString("CNC", "CPUTYPE", ""), rack = (short)fIni.ReadInteger("CNC", "RACK", 0), slot = (short)fIni.ReadInteger("CNC", "SLOT", 0), - serverData = new serverMapo(fIni.ReadString("SERVER", "MPIP", "::1"), fIni.ReadString("SERVER", "MPURL", "/"), fIni.ReadString("SERVER", "CMDBASE", "/"), fIni.ReadString("SERVER", "CMDFLOG", "/"), fIni.ReadString("SERVER", "CMDALIVE", "/"), fIni.ReadString("SERVER", "CMDENABLED", "/"), fIni.ReadString("SERVER", "CMDREBO", "/"), fIni.ReadString("SERVER", "CMD_ODL_STARTED", "/IOB/getCurrOdlStart/"), fIni.ReadString("SERVER", "CLI_INST", "SW_CLI"), fIni.ReadString("SERVER", "CMD_FORCLE_SPLIT_ODL", "/IOB/forceSplitOdlFull/")), + serverData = new serverMapo(fIni.ReadString("SERVER", "MPIP", "::1"), fIni.ReadString("SERVER", "MPURL", "/MP/IO"), fIni.ReadString("SERVER", "CMDBASE", "/IOB/input/"), fIni.ReadString("SERVER", "CMDFLOG", "/IOB/flog/"), fIni.ReadString("SERVER", "CMDULOG", "/IOB/ulog/"), fIni.ReadString("SERVER", "CMDALIVE", "/"), fIni.ReadString("SERVER", "CMDENABLED", "/"), fIni.ReadString("SERVER", "CMDREBO", "/"), fIni.ReadString("SERVER", "CMD_ODL_STARTED", "/IOB/getCurrOdlStart/"), fIni.ReadString("SERVER", "CLI_INST", "SW_CLI"), fIni.ReadString("SERVER", "CMD_FORCLE_SPLIT_ODL", "/IOB/forceSplitOdlFull/")), MAX_COUNTER_BLINK = Convert.ToInt32(fIni.ReadString("BLINK", "MAX_COUNTER_BLINK", "1")), BLINK_FILT = Convert.ToInt32(fIni.ReadString("BLINK", "BLINK_FILT", "0")), TCMaxDelayFactor = Convert.ToDouble(fIni.ReadString("OPTPAR", "TC_MAX_TC_FACTOR", "1.2").Replace(".", ",")), diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini index 985d0380..a6acdcf0 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini @@ -16,6 +16,7 @@ MPIP=http://10.74.82.218 MPURL=/MP/IO CMDBASE=/IOB/input/ CMDFLOG=/IOB/flog/ +CMDULOG=/IOB/ulog/ CMDALIVE=/IOB CMDENABLED=/IOB/enabled/ CMDADV1=?valore= diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj index 9903147e..4067947f 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -90,8 +90,8 @@ False ExtLib\krcc.dll - - ..\packages\MapoSDK.6.14.2111.313\lib\net40\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2202.2819\lib\net40\MapoSDK.dll ..\packages\MathNet.Numerics.4.15.0\lib\net461\MathNet.Numerics.dll diff --git a/IOB-WIN-NEXT/IobConfiguration.cs b/IOB-WIN-NEXT/IobConfiguration.cs index a79c864b..98af38be 100644 --- a/IOB-WIN-NEXT/IobConfiguration.cs +++ b/IOB-WIN-NEXT/IobConfiguration.cs @@ -141,12 +141,13 @@ namespace IOB_WIN_NEXT /// URL Base server applicativo /// Comando x invio INPUT /// Comando x invio LOG per FLUSSO generico + /// Comando x invio USER LOG /// Comando x check alive /// Comando x check abilitato /// Comando x reboot /// Comando x check data avvio ODL /// Comando x forzare split ODL - public serverMapo(string MPIP_, string MPURL_ = "/MP/IO", string CMDBASE_ = "/IOB/input/", string CMDFLOG_ = "/IOB/flog/", string CMDALIVE_ = "IOB", string CMDENABLED_ = "/IOB/enabled/", string CMDREBO_ = "/sendReboot.aspx?idxMacchina=", string CMD_ODL_STARTED_ = "/IOB/getCurrOdlStart/", string CLI_INST_ = "SteamWare", string CMD_FORCLE_SPLIT_ODL_ = "/IOB/forceSplitOdlFull/", string CMD_IDLE_TIME_ = "/IOB/getIdlePeriod/") + public serverMapo(string MPIP_, string MPURL_ = "/MP/IO", string CMDBASE_ = "/IOB/input/", string CMDFLOG_ = "/IOB/flog/", string CMDULOG_ = "/IOB/ulog/", string CMDALIVE_ = "IOB", string CMDENABLED_ = "/IOB/enabled/", string CMDREBO_ = "/sendReboot.aspx?idxMacchina=", string CMD_ODL_STARTED_ = "/IOB/getCurrOdlStart/", string CLI_INST_ = "SteamWare", string CMD_FORCLE_SPLIT_ODL_ = "/IOB/forceSplitOdlFull/", string CMD_IDLE_TIME_ = "/IOB/getIdlePeriod/") { if (!string.IsNullOrEmpty(MPIP_)) { @@ -159,6 +160,7 @@ namespace IOB_WIN_NEXT MPURL = MPURL_; CMDBASE = CMDBASE_; CMDFLOG = CMDFLOG_; + CMDULOG = CMDULOG_; if (!string.IsNullOrEmpty(CMDBASE_)) { CMDBASE_JSON = CMDBASE_.Replace("input", "evListJson"); @@ -167,6 +169,10 @@ namespace IOB_WIN_NEXT { CMDFLOG_JSON = CMDFLOG_.Replace("flog", "flogJson"); } + if (!string.IsNullOrEmpty(CMDULOG_)) + { + CMDULOG_JSON = CMDULOG_.Replace("ulog", "ulogJson"); + } CMDALIVE = CMDALIVE_; CMDENABLED = CMDENABLED_; CMDREBO = CMDREBO_; @@ -221,15 +227,25 @@ namespace IOB_WIN_NEXT public string CMDENABLED { get; set; } = ""; /// - /// comando base x LOG di FLUSSSO generico - salvataggio parametri extra sistema MAPO + /// comando base x LOG di FLUSSO generico - salvataggio parametri extra sistema MAPO /// public string CMDFLOG { get; set; } = ""; /// - /// comando base x LOG di FLUSSSO generico - salvataggio parametri extra sistema MAPO in modalità JSON payload come lista + /// comando base x LOG di FLUSSO generico - salvataggio parametri extra sistema MAPO in modalità JSON payload come lista /// public string CMDFLOG_JSON { get; set; } = ""; + /// + /// comando base x USER LOG - salvataggio parametri extra sistema MAPO + /// + public string CMDULOG { get; set; } = ""; + + /// + /// comando base x USER LOG - salvataggio parametri extra sistema MAPO in modalità JSON payload come lista + /// + public string CMDULOG_JSON { get; set; } = ""; + /// /// comando base x comando reboot /// diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index 74b3a0d9..89702448 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -2230,7 +2230,7 @@ namespace IOB_WIN_NEXT break; } } - } + } } /// @@ -3974,76 +3974,105 @@ namespace IOB_WIN_NEXT string answ = ""; if (elencoValori != null) { - if (tipoUrl == urlType.FLog) + string[] valori; + int counter = 0; + DateTime dtEve = DateTime.Now; + switch (tipoUrl) { - flogData currData = new flogData(); - flogJsonPayload fullObj = new flogJsonPayload(); - fullObj.fluxData = new List(); - string[] valori; - int counter = 0; - DateTime dtEve = DateTime.Now; - // inizio processando ogni valore - foreach (var item in elencoValori) - { - valori = qDecodeIN(item); - //DateTime.TryParse(valori[0], out dtEve); - CultureInfo provider = CultureInfo.InvariantCulture; - DateTime.TryParseExact(valori[0], "yyyyMMddHHmmssfff", provider, DateTimeStyles.AssumeLocal, out dtEve); - int.TryParse(valori[3], out counter); - currData = new flogData() + case urlType.FLog: + flogData currFlData = new flogData(); + flogJsonPayload fullFlObj = new flogJsonPayload(); + fullFlObj.fluxData = new List(); + // inizio processando ogni valore + foreach (var item in elencoValori) { - flux = valori[1], - valore = valori[2], - dtEve = dtEve, - dtCurr = DateTime.Now, - cnt = counter - }; - fullObj.fluxData.Add(currData); - } - // conversione finale - try - { - answ = JsonConvert.SerializeObject(fullObj); - } - catch (Exception exc) - { - lgError($"Errore in costruzione jsonPayload:{Environment.NewLine}{exc}"); - } - } - else - { - evData currData = new evData(); - evJsonPayload fullObj = new evJsonPayload(); - fullObj.eventList = new List(); - string[] valori; - int counter = 0; - DateTime dtEve = DateTime.Now; - // inizio processando ogni valore - foreach (var item in elencoValori) - { - valori = qDecodeIN(item); - //DateTime.TryParse(valori[0], out dtEve); - CultureInfo provider = CultureInfo.InvariantCulture; - DateTime.TryParseExact(valori[0], "yyyyMMddHHmmssfff", provider, DateTimeStyles.AssumeLocal, out dtEve); - int.TryParse(valori[2], out counter); - currData = new evData() + valori = qDecodeIN(item); + CultureInfo provider = CultureInfo.InvariantCulture; + DateTime.TryParseExact(valori[0], "yyyyMMddHHmmssfff", provider, DateTimeStyles.AssumeLocal, out dtEve); + int.TryParse(valori[3], out counter); + currFlData = new flogData() + { + flux = valori[1], + valore = valori[2], + dtEve = dtEve, + dtCurr = DateTime.Now, + cnt = counter + }; + fullFlObj.fluxData.Add(currFlData); + } + // conversione finale + try { - valore = valori[1], - dtEve = dtEve, - dtCurr = DateTime.Now, - cnt = counter - }; - fullObj.eventList.Add(currData); - } - // conversione finale - try - { - answ = JsonConvert.SerializeObject(fullObj); - } - catch (Exception exc) - { - lgError($"Errore in costruzione jsonPayload:{Environment.NewLine}{exc}"); - } + answ = JsonConvert.SerializeObject(fullFlObj); + } + catch (Exception exc) + { + lgError($"FLog Errore in costruzione jsonPayload:{Environment.NewLine}{exc}"); + } + break; + case urlType.SignIN: + evData currSigData = new evData(); + evJsonPayload fullEvObj = new evJsonPayload(); + fullEvObj.eventList = new List(); + // inizio processando ogni valore + foreach (var item in elencoValori) + { + valori = qDecodeIN(item); + CultureInfo provider = CultureInfo.InvariantCulture; + DateTime.TryParseExact(valori[0], "yyyyMMddHHmmssfff", provider, DateTimeStyles.AssumeLocal, out dtEve); + int.TryParse(valori[2], out counter); + currSigData = new evData() + { + valore = valori[1], + dtEve = dtEve, + dtCurr = DateTime.Now, + cnt = counter + }; + fullEvObj.eventList.Add(currSigData); + } + // conversione finale + try + { + answ = JsonConvert.SerializeObject(fullEvObj); + } + catch (Exception exc) + { + lgError($"SignIN Errore in costruzione jsonPayload:{Environment.NewLine}{exc}"); + } + break; + case urlType.ULog: + ulogData currUlData = new ulogData(); + ulogJsonPayload fullUlObj = new ulogJsonPayload(); + fullUlObj.fluxData = new List(); + // inizio processando ogni valore + foreach (var item in elencoValori) + { + valori = qDecodeIN(item); + CultureInfo provider = CultureInfo.InvariantCulture; + DateTime.TryParseExact(valori[0], "yyyyMMddHHmmssfff", provider, DateTimeStyles.AssumeLocal, out dtEve); + int.TryParse(valori[3], out counter); + currUlData = new ulogData() + { + flux = valori[1], + valore = valori[2], + dtEve = dtEve, + dtCurr = DateTime.Now, + cnt = counter + }; + fullUlObj.fluxData.Add(currUlData); + } + // conversione finale + try + { + answ = JsonConvert.SerializeObject(fullUlObj); + } + catch (Exception exc) + { + lgError($"ULog Errore in costruzione jsonPayload:{Environment.NewLine}{exc}"); + } + break; + default: + break; } } return answ; @@ -4964,6 +4993,10 @@ namespace IOB_WIN_NEXT lastUrl = urlInput(queueVal); break; + case urlType.ULog: + lastUrl = urlULog(queueVal); + break; + default: lastUrl = ""; break; @@ -5365,7 +5398,21 @@ namespace IOB_WIN_NEXT public string urlDataBlock(urlType tipoUrl) { // verifico la parte di link "tipoComando" - string tipoComando = tipoUrl == urlType.FLog ? cIobConf.serverData.CMDFLOG_JSON : cIobConf.serverData.CMDBASE_JSON; + string tipoComando = ""; + switch (tipoUrl) + { + case urlType.FLog: + tipoComando = cIobConf.serverData.CMDFLOG_JSON; + break; + case urlType.SignIN: + tipoComando = cIobConf.serverData.CMDBASE_JSON; + break; + case urlType.ULog: + tipoComando = cIobConf.serverData.CMDULOG_JSON; + break; + default: + break; + } // URL base x input string answ = $@"{cIobConf.serverData.TRANSP}://{cIobConf.serverData.MPIP}{cIobConf.serverData.MPURL}{tipoComando}{cIobConf.codIOB}"; return answ; @@ -5389,6 +5436,24 @@ namespace IOB_WIN_NEXT return answ; } + /// + /// Fornisce URL di tipo UserLog + /// + /// valore salvato in coda nel formato dtEve#flux#valore#counter + /// + public string urlULog(string queueVal) + { + // URL base x input + string answ = $@"{cIobConf.serverData.TRANSP}://{cIobConf.serverData.MPIP}{cIobConf.serverData.MPURL}{cIobConf.serverData.CMDULOG}"; + // decodifica valore! + string[] valori = qDecodeIN(queueVal); + // aggiungo macchina e valore... + answ += string.Format(@"{0}?flux={1}&&valore={2}", cIobConf.codIOB, valori[1], valori[2]); + // aggiondo dataOra evento e corrente + contatore... + answ += string.Format(@"&&dtEve={0}&&dtCurr={1:yyyyMMddHHmmssfff}&&cnt={2}", valori[0], DateTime.Now, valori[3]); + return answ; + } + /// /// Fornisce URL INPUT per i parametri richiesti /// diff --git a/IOB-WIN-NEXT/IobSimula.cs b/IOB-WIN-NEXT/IobSimula.cs index f00aa48e..22d98a7e 100644 --- a/IOB-WIN-NEXT/IobSimula.cs +++ b/IOB-WIN-NEXT/IobSimula.cs @@ -537,10 +537,11 @@ namespace IOB_WIN_NEXT { // preparo record controlli... guasto se mi esce un secondo divisibile x 25 DateTime adesso = DateTime.Now; - string note = $"SIM Nota automatica alle {DateTime.Now:yyyy-MM-dd HH:mm:ss}"; - string sVal = $"MatrOpr: {matrOpr} | nota: {note}"; + bool esitoOk = adesso.Second % 25 == 0 ? false : true; + string note = esitoOk ? "" : $"SIM Nota automatica alle {DateTime.Now:yyyy-MM-dd HH:mm:ss}"; + string sVal = $"MatrOpr: {matrOpr} | Esito: {esitoOk} | note: {note}"; // accodo x invio - accodaUserLog(sVal, qEncodeULog("DI", $"{note}")); + accodaUserLog(sVal, qEncodeULog("DI", $"{esitoOk}|{note}")); // decremento duration simDich.duration--; // controllo se sia scaduta la duration... in quel caso reset... diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config index 0d438dba..e52e0c09 100644 --- a/IOB-WIN-NEXT/packages.config +++ b/IOB-WIN-NEXT/packages.config @@ -2,7 +2,7 @@ - +