From 2e5845b9c008837a732bffcc6effd834ffabe3ff Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 20 Nov 2019 12:28:25 +0100 Subject: [PATCH] Ok letture stream iniziali MTC... --- CVCncLib/testSam.dll | Bin 967680 -> 967680 bytes IOB-WIN/DATA/CONF/TEST.ini | 7 ++- IOB-WIN/IOB-WIN.csproj | 4 +- IOB-WIN/IobMTC.cs | 117 ++++++++++++++++++++++++++++++++++++- IOB-WIN/packages.config | 2 +- 5 files changed, 122 insertions(+), 8 deletions(-) diff --git a/CVCncLib/testSam.dll b/CVCncLib/testSam.dll index c19828755e6b8dbf8b1b87cc32e429a38f86bedb..18e6426d3399e3169e1f2b55ffa57638151dde02 100644 GIT binary patch delta 150 zcmZqZux{wEp3uSkit%b=cWXCeYd2GCH*;$@OKUf4Yd2eKH+yS0M{74{Yd2SGH}}?V z9>awKS6)0lE2bghxL=~@(uRt&zuM0%IQ=FJvnwpb3oqr>r9Aoix-Hm+bCmOJA|Fe;gMF;@0 CWj%EO delta 152 zcmZqZux{wEp3uP@bohK@cWXCeYd2GCH*;$@OKUf4Yd2eKH+yS0M{74{Yd2SGH}}?V z9>awKnSbPrW(w6gPXA||$*-xixc$sR9w6r3er6%xA3l&#(@$^UlhnS+%xbx$D9~lU zLT+) - + - + \ No newline at end of file diff --git a/IOB-WIN/IobMTC.cs b/IOB-WIN/IobMTC.cs index e7266f36..00c474f7 100644 --- a/IOB-WIN/IobMTC.cs +++ b/IOB-WIN/IobMTC.cs @@ -104,6 +104,59 @@ namespace IOB_WIN #endif return answ; } + /// + /// Effettua log di un devices (ed eventualmente dei sub-devices... + /// + /// + protected void logDevicesList(List elencoDevices) + { + // loggo devices principali... + foreach (var item in elencoDevices) + { + lgInfo($"Device data | ID: {item.Id} | Name: {item.Name} | UUID: {item.Uuid} | # items: {item.DataItems.Count}"); + // se ho subItems descrivo pure loro... + if (item.DataItems.Count > 0) + { + logDataItemList(item.DataItems); + } + if (item.Components.Components.Count > 0) + { + logComponentsList(item.Components.Components); + } + } + } + protected void logComponentsList(List elencoComponenti) + { + foreach (var item in elencoComponenti) + { + lgInfo($"Component data | ID: {item.Id} | Name: {item.Name} | Type: {item.Type} | # items: {item.DataItems.Count}"); + // se ho sottocomponenti richiamo... + if (item.SubComponents != null) + { + if (item.SubComponents.Components.Count > 0) + { + logComponentsList(item.SubComponents.Components); + } + } + if (item.DataItems.Count > 0) + { + logDataItemList(item.DataItems); + } + } + } + /// + /// Log elenco DataItems + /// + /// + protected void logDataItemList(List elencoItems) + { + // loggo devices principali... + foreach (var item in elencoItems) + { + lgInfo($"Device data | ID: {item.Id} | Name: {item.Name} | Category: {item.Category} | # Type: {item.Type}"); + } + } + /// /// Vera connessione ad MTC /// @@ -121,6 +174,14 @@ namespace IOB_WIN try { var probe = new Probe($"http://{cIobConf.cncIpAddr}:{port}").Execute(); + // se valido loggo! + if (probe != null) + { + lgInfo($"Effettuata correttamente PROBE per device MTC all'URL {probe.Url} | vers: {probe.Version} | send: {probe.Header.Sender}"); + lgInfo($"---------------- Elenco Devices ----------------"); + // loggo devices principali... + logDevicesList(probe.Devices); + } } catch { } @@ -145,7 +206,10 @@ namespace IOB_WIN foreach (var device in document.Devices) { var dataItems = device.GetDataItems(); - foreach (var dataItem in dataItems) Console.WriteLine(dataItem.Id + " : " + dataItem.Name); + foreach (var dataItem in dataItems) + { + lgInfo($"Category: {dataItem.Category} | Type: {dataItem.Type} | Id: {dataItem.Id} | Name: {dataItem.Name}"); + } } } @@ -153,7 +217,56 @@ namespace IOB_WIN { foreach (var deviceStream in document.DeviceStreams) { - foreach (var dataItem in deviceStream.DataItems) Console.WriteLine(dataItem.DataItemId + " = " + dataItem.CDATA); + +#if false + // check su dataItems (conditions + events + samples) + try + { + foreach (var dataItem in deviceStream.DataItems) + { + lgInfo(dataItem.DataItemId + " = " + dataItem.CDATA); + } + } + catch + { } + +#endif + + // check su Conditions + try + { + // check su dataItems (conditions + events + samples) + foreach (var dataItem in deviceStream.Conditions) + { + lgInfo("CONDITION: " + dataItem.DataItemId + " = " + dataItem.CDATA); + } + } + catch + { } + // check su events + try + { + // check su dataItems (conditions + events + samples) + foreach (var dataItem in deviceStream.Events) + { + lgInfo("EVENT: " + dataItem.DataItemId + " = " + dataItem.CDATA); + } + } + catch + { } + + // cehck su samples + try + { + // check su dataItems (conditions + events + samples) + foreach (var dataItem in deviceStream.Samples) + { + lgInfo("SAMPLE: " + dataItem.DataItemId + " = " + dataItem.CDATA); + } + } + catch + { } + } } diff --git a/IOB-WIN/packages.config b/IOB-WIN/packages.config index 07e3a5cc..928a4a8e 100644 --- a/IOB-WIN/packages.config +++ b/IOB-WIN/packages.config @@ -20,5 +20,5 @@ - + \ No newline at end of file