diff --git a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs index a2af04b..28c10da 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterGeneric.cs @@ -1039,7 +1039,7 @@ namespace MTC_Adapter /// /// Vettore SAMPLES letti da area AnalogData /// - public Event[] mAnalogDataSamples; + public Sample[] mAnalogDataSamples; #endregion @@ -1445,6 +1445,15 @@ namespace MTC_Adapter Array.Resize(ref analogData, numRiga); if (utils.CRB("verbose")) lg.Info(string.Format("Fine caricamento vettore di {0} variabili analogiche gestite", numRiga)); + + // ora inizializzo l'insieme dei samples delle var analogiche + mAnalogDataSamples = new Sample[numRiga]; + for (int i = 0; i < numRiga; i++) + { + mAnalogDataSamples[i] = new Sample("AV_" + analogData[i].varName); + mAdapter.AddDataItem(mAnalogDataSamples[i]); + } + if (utils.CRB("verbose")) lg.Info(string.Format("inizializzato vettore di {0} MTC.SAMPLES delle variabili analogiche", numRiga)); } /// /// Lettura file gestione dati status da PLC @@ -1482,7 +1491,7 @@ namespace MTC_Adapter if (utils.CRB("verbose")) lg.Info(string.Format("Fine caricamento vettore di {0} variabili status gestite", numRiga)); - // ora inizializzo l''insieme degli eventi di status + // ora inizializzo l'insieme degli eventi di status mStatusEvents = new Event[numRiga]; for (int i = 0; i < numRiga; i++) { @@ -2091,9 +2100,11 @@ namespace MTC_Adapter sb2.AppendLine(string.Format("UT: ToolId {0} | VitaRes {1} | TipoVita {2} ", vettUnOp[i].mUnOpToolId.Value, vettUnOp[i].mUnOpVitaRes.Value, vettUnOp[i].mUnOpVitaResType.Value)); } parentForm.dataMonitor_2 = sb2.ToString(); - + // gestisco lettura dati status da PLC... getStatusDataFromPlc(); + // gestisco lettura dati analogici da PLC... + getAnalogDataFromPlc(); } /// /// Legge dati globali... @@ -3236,8 +3247,6 @@ namespace MTC_Adapter // gestisco lettura dati manutenzione da PLC... getMtzDataFromPlc(); - // gestisco lettura dati analogici da PLC... - getAnalogDataFromPlc(); // reload dati da file... reloadDataFromFile(); @@ -3476,39 +3485,27 @@ namespace MTC_Adapter public void processAnalogData(uint[] tabDatiAnag, otherData[] analogData) { // uno ad uno vado a inserirli nella mappa dei dati dell'adapter... - int numero = 0; - uint valRead; + StringBuilder sb = new StringBuilder(); + double analogVal = 0; for (int i = 0; i < analogData.Length; i++) { - numero = 0; - valRead = 0; - // decodifico... - if (analogData[i].varName.StartsWith("Axis_")) + // gestisco in modalità "lazy" qualsiasi variabile (dividendo x opportuno fattore conversione...) + try { - if (analogData[i].varName.EndsWith("_Load")) - { - try - { - numero = Convert.ToInt32(analogData[i].varName.Replace("Axis_", "").Replace("_Load", "")); - } - catch - { } - if (numero > 0) - { - try - { - valRead = tabDatiAnag[i]; - } - catch (Exception exc) - { - valRead = 0; - lg.Error(string.Format("Errore in recupero load assi:{0}parametro: {1}{0}i: {2}{0}Exc: {3}", Environment.NewLine, analogData[i].varName, i, exc)); - } - istLoadAssi[numero - 1] = valRead; - } - } + analogVal = ((double)tabDatiAnag[i]) / utils.CRI("fattDecVA"); } + catch (Exception exc) + { + analogVal = 0; + lg.Error(string.Format("Errore in recupero valore analogico:{0}parametro: {1}{0}i: {2}{0}Exc: {3}", Environment.NewLine, analogData[i].varName, i, exc)); + } + // salvo vettore eventi... + mAnalogDataSamples[i].Value = analogVal; + // accodo ultimi codici in visualizzazione... + sb.AppendLine(string.Format("{0}", mAnalogDataSamples[i]).Replace("|", " | ")); } + // aggiungo i vari analogici rilevati + parentForm.dataMonitor_3 += sb.ToString(); } /// /// processa dataLayer e se necessario salva/mostra diff --git a/MTC_Adapter/MTC_Adapter/App.config b/MTC_Adapter/MTC_Adapter/App.config index 5cee8c5..afdd4a0 100644 --- a/MTC_Adapter/MTC_Adapter/App.config +++ b/MTC_Adapter/MTC_Adapter/App.config @@ -60,6 +60,7 @@ +