diff --git a/IOB-WIN/App.config b/IOB-WIN/App.config
index 6f4897a5..3eb5d071 100644
--- a/IOB-WIN/App.config
+++ b/IOB-WIN/App.config
@@ -11,7 +11,7 @@
-
+
@@ -21,11 +21,12 @@
+
-
+
diff --git a/IOB-WIN/IobFanuc.cs b/IOB-WIN/IobFanuc.cs
index 6f96b407..81c8e4da 100644
--- a/IOB-WIN/IobFanuc.cs
+++ b/IOB-WIN/IobFanuc.cs
@@ -161,6 +161,22 @@ namespace IOB_WIN
{
lg.Fatal(string.Format("Errore nella connessione all'adapter FANUC: {0}{1}{2}", szStatusConnection, Environment.NewLine, exc));
connectionOk = false;
+ /*
+ * rifare meglio: manca
+ * - gestione contatore corretto (conda signalIN)
+ * - gestione invio
+ * - refresh vari display
+ * - gestione LAST BYTE in modo che quando va a zero NON continua ad inviare se non una volta ogni minuto (implementare...) ora invia ogni 5 sec...
+ */
+ // resetto raw input!!!
+ RawInput = new byte[6];
+ // invio POWEROFF... è ZERO valore IN --> accodo (valore già formattato)!
+ QueueIN.Enqueue(qEncodeIN);
+ // invio
+ svuotaCodaSignIN();
+ // update display
+ displayInData();
+ // processo semafori ed invio...
lg.Info(string.Format("Segnalo Adapter NON running, pausa di {0} msec prima di ulteriori tentativi di riconnessione", utils.CRI("waitRecMSec")));
}
}
diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs
index 5d07b1b5..f5cd5982 100644
--- a/IOB-WIN/IobGeneric.cs
+++ b/IOB-WIN/IobGeneric.cs
@@ -22,6 +22,10 @@ namespace IOB_WIN
///
public bool doMemDump;
///
+ /// Indica se sia richiesto campionamento memoria
+ ///
+ public bool doSampleMemory;
+ ///
/// Evento Iob ha subito un refresh
///
public event EventHandler eh_refreshed;
@@ -299,6 +303,7 @@ namespace IOB_WIN
nSendOut = 0;
currMode = 0;
doMemDump = utils.CRB("doMemDump");
+ doSampleMemory = utils.CRB("doSampleMemory");
// svuoto code... SE NON SIM...
if (!DemoIn)
{
@@ -1187,7 +1192,7 @@ namespace IOB_WIN
///
/// Processo la coda SignalIN...
///
- private void svuotaCodaSignIN()
+ public void svuotaCodaSignIN()
{
// verifico SE la coda abbia dei valori...
if (QueueIN.Count > 0)
diff --git a/IOB-WIN/MainForm.cs b/IOB-WIN/MainForm.cs
index dadd7db0..4ba39501 100644
--- a/IOB-WIN/MainForm.cs
+++ b/IOB-WIN/MainForm.cs
@@ -34,6 +34,10 @@ namespace IOB_WIN
///
protected int verySlowCount;
///
+ /// Contatore campionamento memoria
+ ///
+ protected int sampleMemCount;
+ ///
/// timer base in avvio
///
protected int startTimerMs = 250;
@@ -441,6 +445,17 @@ namespace IOB_WIN
}
}
+ private void checkSampleMem()
+ {
+ // decremento contatore...
+ sampleMemCount--;
+ if (sampleMemCount <= 0)
+ {
+ sampleMemCount = utils.CRI("sampleMemCount");
+ // avvio fase raccolta dati e invio con adapter
+ iobObj.saveMemDump();
+ }
+ }
private void refreshFormData()
{
// aggiorno visualizzazioni varie in form...
@@ -455,13 +470,18 @@ namespace IOB_WIN
advProgBar();
if (iobObj.connectionOk)
{
- // se richiesto faccio memory DUMP!
+ // se richiesto faccio memory DUMP INIZIALE!
if (iobObj.doMemDump)
{
iobObj.saveMemDump();
// fatto! non ripeto...
iobObj.doMemDump = false;
}
+ // controllo se sia abilitato sampleDump della meoria (periodico)
+ if (iobObj.doSampleMemory)
+ {
+ checkSampleMem();
+ }
// check esecuzione FastTask
checkFastTask();
// check esecuzione NormTask