From 3fda4d791b748b43c4e8c6eee222fcc5db4c4976 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 3 Dec 2019 19:08:34 +0100 Subject: [PATCH] Ancora update! --- IOB-WIN/IobMTC.cs | 173 +++++++++++++++++++++++++++++----------------- Jenkinsfile | 2 +- 2 files changed, 110 insertions(+), 65 deletions(-) diff --git a/IOB-WIN/IobMTC.cs b/IOB-WIN/IobMTC.cs index 6a9ae229..d0189e1f 100644 --- a/IOB-WIN/IobMTC.cs +++ b/IOB-WIN/IobMTC.cs @@ -208,6 +208,7 @@ namespace IOB_WIN } protected void DevicesSuccessful(MTConnectDevices.Document document) { + lgInfo("STEP DevicesSuccessful reached!"); MtcDataItemExt currDataItem = null; machDataItem currMapoDataItem = null; List elencoDataItems = new List(); @@ -227,70 +228,9 @@ namespace IOB_WIN lgInfo(sVal); try { - // uuid e parametri secondo categoria... - switch (dataItem.Category) - { - case MTConnect.DataItemCategory.CONDITION: - uuid = $"C_{dataItem.Id}"; - threshDBand = 0; - dSamplePeriod = 0; - break; - case MTConnect.DataItemCategory.EVENT: - uuid = $"E_{dataItem.Id}"; - threshDBand = 0; - dSamplePeriod = 0; - break; - case MTConnect.DataItemCategory.SAMPLE: - uuid = $"S_{dataItem.Id}"; - // SOLOS E è abilitato il datafiltering... - if (enableDataFilter) - { - threshDBand = 1; - if (dataItem.Id.EndsWith("PosAct") || dataItem.Id.EndsWith("PosTgt")) - { - threshDBand = 5; - } - } - else - { - threshDBand = 0; - } - dSamplePeriod = 60; - break; - default: - break; - } - // salvo oggetto x "uso interno" - currDataItem = new MtcDataItemExt() - { - Id = dataItem.Id, - Category = dataItem.Category, - Constraints = dataItem.Constraints, - CoordinateSystem = dataItem.CoordinateSystem, - Name = dataItem.Name, - NativeScale = dataItem.NativeScale, - NativeUnits = dataItem.NativeUnits, - SampleRate = dataItem.SampleRate, - Representation = dataItem.Representation, - SignificantDigits = dataItem.SignificantDigits, - Source = dataItem.Source, - Statistic = dataItem.Statistic, - SubType = dataItem.SubType, - Type = dataItem.Type, - TypePath = dataItem.TypePath, - Units = dataItem.Units, - XPath = dataItem.XPath, - uid = uuid, - thresholdDeadBand = threshDBand, - samplePeriod = dSamplePeriod - }; + currDataItem = formatDataItem(ref dSamplePeriod, ref threshDBand, ref uuid, dataItem); // aggiungo dataItemMem.Add(dataItem.Id, currDataItem); - // lo g x capire COME ho chiamato alcune cosette... - if (dataItem.Id.Contains("EXE_MODE")) - { - lgInfo($"DEBUG DATA | EXE_MODE: ID dataItem : {dataItem.Id}"); - } // salvo oggetto x registrazione su server MP-IO currMapoDataItem = new machDataItem() { @@ -304,8 +244,10 @@ namespace IOB_WIN // aggiungo elencoDataItems.Add(currMapoDataItem); } - catch - { } + catch (Exception exc) + { + lgError($"Eccezione in DevicesSuccessful / DataItem:{Environment.NewLine}{exc}"); + } } // invio IN BLOCCO il dataItem serializzati... sendDataItemsList(elencoDataItems); @@ -313,6 +255,76 @@ namespace IOB_WIN } } } + + private MtcDataItemExt formatDataItem(ref int dSamplePeriod, ref int threshDBand, ref string uuid, MTConnectDevices.DataItem dataItem) + { + MtcDataItemExt currDataItem; + // uuid e parametri secondo categoria... + switch (dataItem.Category) + { + case MTConnect.DataItemCategory.CONDITION: + uuid = $"C_{dataItem.Id}"; + threshDBand = 0; + dSamplePeriod = 0; + break; + case MTConnect.DataItemCategory.EVENT: + uuid = $"E_{dataItem.Id}"; + threshDBand = 0; + dSamplePeriod = 0; + break; + case MTConnect.DataItemCategory.SAMPLE: + uuid = $"S_{dataItem.Id}"; + // SOLOS E è abilitato il datafiltering... + if (enableDataFilter) + { + threshDBand = 1; + if (dataItem.Id.EndsWith("PosAct") || dataItem.Id.EndsWith("PosTgt")) + { + threshDBand = 5; + } + } + else + { + threshDBand = 0; + } + dSamplePeriod = 60; + break; + default: + break; + } + // salvo oggetto x "uso interno" + currDataItem = new MtcDataItemExt() + { + Id = dataItem.Id, + Category = dataItem.Category, + Constraints = dataItem.Constraints, + CoordinateSystem = dataItem.CoordinateSystem, + Name = dataItem.Name, + NativeScale = dataItem.NativeScale, + NativeUnits = dataItem.NativeUnits, + SampleRate = dataItem.SampleRate, + Representation = dataItem.Representation, + SignificantDigits = dataItem.SignificantDigits, + Source = dataItem.Source, + Statistic = dataItem.Statistic, + SubType = dataItem.SubType, + Type = dataItem.Type, + TypePath = dataItem.TypePath, + Units = dataItem.Units, + XPath = dataItem.XPath, + uid = uuid, + thresholdDeadBand = threshDBand, + samplePeriod = dSamplePeriod + }; + // lo g x capire COME ho chiamato alcune cosette... + if (dataItem.Id.Contains("EXE_MODE") || dataItem.Id.Contains("RUN_MODE") || dataItem.Id.Contains("POWER") || dataItem.Id.EndsWith("_Status")) + { + lgInfo($"DEBUG DATA | dataItem.Id : {dataItem.Id}"); + } + + return currDataItem; + } + /// /// Effettua invio a MP/IO dell'elenco serializzato dei dataItems /// @@ -359,6 +371,34 @@ namespace IOB_WIN dataItemMem[newValue.DataItemId].valueTimestamp = newValue.Timestamp; answ = true; } + else + { + // registro non trovato da aggiungere... + lgInfo($"DataItem non trovato in checkSaveItem: {newValue.DataItemId}"); +#if false + List elencoDataItems = new List(); + int dSamplePeriod = 0; + int threshDBand = 0; + string uuid = ""; + var currDataItem = formatDataItem(ref dSamplePeriod, ref threshDBand, ref uuid, (MTConnectDevices.DataItem)newValue); + // aggiungo + dataItemMem.Add(newValue.DataItemId, currDataItem); + // salvo oggetto x registrazione su server MP-IO + var currMapoDataItem = new machDataItem() + { + uuid = newValue.DataItemId, + Category = (DataItemCategory)newValue.Category, + Name = newValue.Name, + Type = newValue.Type, + SubType = newValue.SubType, + //Units = newValue.Units + }; + // aggiungo + elencoDataItems.Add(currMapoDataItem); + // invio IN BLOCCO il dataItem serializzati... + sendDataItemsList(elencoDataItems); +#endif + } } else { @@ -423,6 +463,11 @@ namespace IOB_WIN dataItemMem[newValue.DataItemId].valueTimestamp = newValue.Timestamp; } } + else + { + // registro non trovato da aggiungere... + lgInfo($"DataItem non trovato in checkSaveSample: {newValue.DataItemId}"); + } } else { diff --git a/Jenkinsfile b/Jenkinsfile index 98e1de8a..4bfc3186 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -16,7 +16,7 @@ pipeline { /* calcolo numero versione... diverso x branch MASTER/DEVELOP */ script { - withEnv(['NEXT_BUILD_NUMBER=555']) { + withEnv(['NEXT_BUILD_NUMBER=556']) { // env.versionNumber = VersionNumber(versionNumberString : '2.6.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true) env.versionNumber = VersionNumber(versionNumberString : '2.6.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2006-01-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}') env.APP_NAME = 'MAPO-IOB-WIN'