diff --git a/MTC_Adapter/MTC_Adapter/AdapterSiemens.cs b/MTC_Adapter/MTC_Adapter/AdapterSiemens.cs
index f237c39..f68b2e9 100644
--- a/MTC_Adapter/MTC_Adapter/AdapterSiemens.cs
+++ b/MTC_Adapter/MTC_Adapter/AdapterSiemens.cs
@@ -417,30 +417,36 @@ namespace MTC_Adapter
///
private void getMtzDataFromPlc()
{
- // recupero i dati di manutenzione dall'area di memoria IN BLOCCO
- int memIndex = 822;
- uint[] tabDatiMtz = new uint[maintData.Length];
- inizio = DateTime.Now;
- SIEMENSMemRW_DWord(R, baseMemDb, memIndex, ref tabDatiMtz);
- if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiMtz", tabDatiMtz.Length * 4), DateTime.Now.Subtract(inizio).Ticks);
- // decodifico aree memoria secondo tab configurazione
- processMaintData(tabDatiMtz, maintData);
- // verifica se debba salvare e mostrare dati
- checkSavePersDataLayer();
+ if (maintData.Length > 0)
+ {
+ // recupero i dati di manutenzione dall'area di memoria IN BLOCCO
+ int memIndex = 822;
+ uint[] tabDatiMtz = new uint[maintData.Length];
+ inizio = DateTime.Now;
+ SIEMENSMemRW_DWord(R, baseMemDb, memIndex, ref tabDatiMtz);
+ if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiMtz", tabDatiMtz.Length * 4), DateTime.Now.Subtract(inizio).Ticks);
+ // decodifico aree memoria secondo tab configurazione
+ processMaintData(tabDatiMtz, maintData);
+ // verifica se debba salvare e mostrare dati
+ checkSavePersDataLayer();
+ }
}
///
/// Gestione lettura dati analogici
///
private void getAnalogDataFromPlc()
{
- // recupero i dati di manutenzione dall'area di memoria IN BLOCCO
- int memIndex = 1350;
- uint[] tabDatiAnalog = new uint[analogData.Length];
- inizio = DateTime.Now;
- SIEMENSMemRW_DWord(R, baseMemDb, memIndex, ref tabDatiAnalog);
- if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiAnalog", tabDatiAnalog.Length * 4), DateTime.Now.Subtract(inizio).Ticks);
- // decodifico aree memoria secondo tab configurazione
- processAnalogData(tabDatiAnalog, analogData);
+ if (analogData.Length > 0)
+ {
+ // recupero i dati di manutenzione dall'area di memoria IN BLOCCO
+ int memIndex = 1350;
+ uint[] tabDatiAnalog = new uint[analogData.Length];
+ inizio = DateTime.Now;
+ SIEMENSMemRW_DWord(R, baseMemDb, memIndex, ref tabDatiAnalog);
+ if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiAnalog", tabDatiAnalog.Length * 4), DateTime.Now.Subtract(inizio).Ticks);
+ // decodifico aree memoria secondo tab configurazione
+ processAnalogData(tabDatiAnalog, analogData);
+ }
}
///
@@ -448,15 +454,18 @@ namespace MTC_Adapter
///
private void getStatusDataFromPlc()
{
- // recupero i dati di manutenzione dall'area di memoria IN BLOCCO
- int memIndex = 1334;
- int numByte = 1 + (statusData.Length / 8);
- byte[] tabDatiStatus = new byte[numByte];
- inizio = DateTime.Now;
- SIEMENSMemRW_Byte(R, baseMemDb, memIndex, ref tabDatiStatus);
- if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiStatus", tabDatiStatus.Length), DateTime.Now.Subtract(inizio).Ticks);
- // decodifico aree memoria secondo tab configurazione
- processStatusData(tabDatiStatus, statusData);
+ if (statusData.Length > 0)
+ {
+ // recupero i dati di manutenzione dall'area di memoria IN BLOCCO
+ int memIndex = 1334;
+ int numByte = 1 + (statusData.Length / 8);
+ byte[] tabDatiStatus = new byte[numByte];
+ inizio = DateTime.Now;
+ SIEMENSMemRW_Byte(R, baseMemDb, memIndex, ref tabDatiStatus);
+ if (utils.CRB("recTime")) TimingData.addResult(string.Format("R{0}-DatiStatus", tabDatiStatus.Length), DateTime.Now.Subtract(inizio).Ticks);
+ // decodifico aree memoria secondo tab configurazione
+ processStatusData(tabDatiStatus, statusData);
+ }
}
///
/// Leggo dati globali comuni (x path, assi...)
@@ -541,8 +550,9 @@ namespace MTC_Adapter
protected override void loadOtherFile()
{
base.loadOtherFile();
- loadMaintData("R", 14000, 4);
- loadStatusData("R", 14512, 1);
+ loadMaintData("DB1499", 822, 4);
+ loadStatusData("DB1499", 1334, 1);
+ loadAnalogData("DB1499", 1350, 1);
}
///
/// Processing allarmi CNC