condizionata lettura aree accessorie contatori/bit/memorie alla conf che li prevede...

This commit is contained in:
Samuele E. Locatelli
2017-05-18 16:28:53 +02:00
parent 6c1c39aabf
commit 2b0112013b
+39 -29
View File
@@ -417,30 +417,36 @@ namespace MTC_Adapter
/// </summary>
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();
}
}
/// <summary>
/// Gestione lettura dati analogici
/// </summary>
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);
}
}
/// <summary>
@@ -448,15 +454,18 @@ namespace MTC_Adapter
/// </summary>
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);
}
}
/// <summary>
/// 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);
}
/// <summary>
/// Processing allarmi CNC