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 @@
+