From cc857bbd266a13c483640baeeb7583af5ecf09e3 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 10 May 2017 11:01:47 +0200 Subject: [PATCH] aggiunta lettura file conf analogData (da testare!!!) --- MTC_Adapter/MTC_Adapter/AdapterGeneric.cs | 43 +++++++++++++++++++++-- MTC_Adapter/MTC_Adapter/AdapterOsai.cs | 5 ++- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs index 620a798..02acdfa 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs @@ -791,10 +791,14 @@ namespace MTC_Adapter /// public Dictionary generalStatus; /// - /// Contenuto valori maintenance data da PLC + /// Contenuto valori contatori manutenzione da PLC /// public otherData[] maintData; /// + /// Contenuto valori variabili analogiche da PLC + /// + public otherData[] analogData; + /// /// Contenuto valori status data da PLC /// public otherData[] statusData; @@ -1375,7 +1379,6 @@ namespace MTC_Adapter // SE non è un commento... if (linea.Substring(0, 1) != "#") { - //elencoAllarmi[rumRiga] = decodeAlarmLine(linea, ':'); maintData[numRiga] = decodeOtherData(linea, utils.CRC("testCharSep"), memPre, baseAddr, memSize); numRiga++; } @@ -1388,6 +1391,42 @@ namespace MTC_Adapter if (utils.CRB("verbose")) lg.Info(string.Format("Fine caricamento vettore di {0} variabili manutenzione gestite", numRiga)); } /// + /// Lettura file gestione dati analogici da PLC + /// + /// + /// + /// + public void loadAnalogData(string memPre, int baseAddr, int memSize) + { + // carico dati x Maintenance + if (utils.CRB("verbose")) lg.Info("Inizio caricamento vettore variabili analogiche gestite"); + int totRighe = 0; + string fileName = string.Format(@"{0}\{1}", utils.confDir, utils.CRS("AnalogDataFilePath")); + string linea; + totRighe = File.ReadLines(fileName).Count(); + // creo un vettore della dimensione corretta... conta anche commenti tanto poi riduco... + analogData = new otherData[File.ReadLines(fileName).Count()]; + // carica da file... + StreamReader file = new StreamReader(fileName); + // leggo 1 linea alla volta... + int numRiga = 0; + while ((linea = file.ReadLine()) != null) + { + // SE non è un commento... + if (linea.Substring(0, 1) != "#") + { + analogData[numRiga] = decodeOtherData(linea, utils.CRC("testCharSep"), memPre, baseAddr, memSize); + numRiga++; + } + } + // chiudo file + file.Close(); + // ora trimmo vettore al solo numero VERO dei valori caricati... + Array.Resize(ref maintData, numRiga); + + if (utils.CRB("verbose")) lg.Info(string.Format("Fine caricamento vettore di {0} variabili analogiche gestite", numRiga)); + } + /// /// Lettura file gestione dati status da PLC /// /// diff --git a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs index 6199da1..5fa5617 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs @@ -1258,7 +1258,10 @@ namespace MTC_Adapter { base.loadOtherFile(); loadMaintData("MW", 19166, 2); - loadStatusData("ML", 19426, 2); + //loadStatusData("ML", 19426, 2); + loadStatusData("GL", 500, 1); + //loadAnalogData("ML", 19434, 2); + loadAnalogData("ML", 9717, 1); } /// /// Processing allarmi CNC