diff --git a/IOB-WIN/AdapterForm.cs b/IOB-WIN/AdapterForm.cs
index cd2d748c..6bbd5f22 100644
--- a/IOB-WIN/AdapterForm.cs
+++ b/IOB-WIN/AdapterForm.cs
@@ -646,56 +646,56 @@ namespace IOB_WIN
///
/// Effettua update form una volta ricevuto OBJ che contiene le varie innovazioni...
///
- ///
- public void updateFormDisplay(newDisplayData newData)
+ ///
+ public void updateFormDisplay(newDisplayData currDispData)
{
// ciclo x ogni oggetto x caricare le innovazioni...
- if (newData != null && newData.hasData)
+ if (currDispData != null && currDispData.hasData)
{
// RealTime display
- if (!string.IsNullOrWhiteSpace(newData.newInData))
+ if (!string.IsNullOrWhiteSpace(currDispData.newInData))
{
- dataMonitor_0 = limitLine2show($"{newData.newInData}{Environment.NewLine}{dataMonitor_0}");
+ dataMonitor_0 = limitLine2show($"{currDispData.newInData}{Environment.NewLine}{dataMonitor_0}");
}
- if (!string.IsNullOrWhiteSpace(newData.newSignalData))
+ if (!string.IsNullOrWhiteSpace(currDispData.newSignalData))
{
- dataMonitor_1 = limitLine2show($"{newData.newSignalData}{Environment.NewLine}{dataMonitor_1}");
+ dataMonitor_1 = limitLine2show($"{currDispData.newSignalData}{Environment.NewLine}{dataMonitor_1}");
}
- if (!string.IsNullOrWhiteSpace(newData.newFLogData))
+ if (!string.IsNullOrWhiteSpace(currDispData.newFLogData))
{
- dataMonitor_3 = limitLine2show($"{newData.newFLogData}{Environment.NewLine}{dataMonitor_3}");
+ dataMonitor_3 = limitLine2show($"{currDispData.newFLogData}{Environment.NewLine}{dataMonitor_3}");
}
- if (!string.IsNullOrWhiteSpace(newData.newUrlCallData))
+ if (!string.IsNullOrWhiteSpace(currDispData.newUrlCallData))
{
- dataMonitor_2 = limitLine2show($"{newData.newUrlCallData}{Environment.NewLine}{dataMonitor_2}");
+ dataMonitor_2 = limitLine2show($"{currDispData.newUrlCallData}{Environment.NewLine}{dataMonitor_2}");
}
// Bitmap lettura attuale
- if (newData.counter >= 0)
+ if (currDispData.counter >= 0)
{
- lblCounter.Text = newData.counter.ToString();
+ lblCounter.Text = currDispData.counter.ToString();
}
// Bitmap lettura attuale
- if (!string.IsNullOrWhiteSpace(newData.currBitmap))
+ if (!string.IsNullOrWhiteSpace(currDispData.currBitmap))
{
- lblBitmap.Text = newData.currBitmap;
+ lblBitmap.Text = currDispData.currBitmap;
lblBitmap.Refresh();
}
// LiveLog
- if (!string.IsNullOrWhiteSpace(newData.newLiveLogData))
+ if (!string.IsNullOrWhiteSpace(currDispData.newLiveLogData))
{
- logWatcher = newData.newLiveLogData;
+ logWatcher = currDispData.newLiveLogData;
}
// semafori
- if (newData.semOut != Semaforo.ND)
+ if (currDispData.semOut != Semaforo.ND)
{
//aggiorno comunque!
- sOUT = newData.semOut;
+ sOUT = currDispData.semOut;
}
- if (newData.semIn != Semaforo.ND)
+ if (currDispData.semIn != Semaforo.ND)
{
//aggiorno comunque!
- sIN = newData.semIn;
+ sIN = currDispData.semIn;
}
}
}
diff --git a/IOB-WIN/IobGeneric.cs b/IOB-WIN/IobGeneric.cs
index e19771ff..e0d64ae4 100644
--- a/IOB-WIN/IobGeneric.cs
+++ b/IOB-WIN/IobGeneric.cs
@@ -166,10 +166,12 @@ namespace IOB_WIN
/// Coda valori simulazione deterministica...
///
public ConcurrentQueue QueueSIM = new ConcurrentQueue();
+#if false
///
/// Coda valori letti x DEBUG...
///
- public ConcurrentQueue QueueDebug = new ConcurrentQueue();
+ public ConcurrentQueue QueueDebug = new ConcurrentQueue();
+#endif
///
/// valore booleano di check se sia in fase di COMUNICAZIONE ATTIVA con il PLC/NC
@@ -2610,23 +2612,28 @@ namespace IOB_WIN
///
private void processAllMemory()
{
+ // init obj display
+ newDisplayData currDispData = new newDisplayData();
// in primis SALVO valori previous/precedenti
B_previous = B_output;
// poi faccio lettura NUOVI valori
- readAllData();
+ readAllData(ref currDispData);
// eseguo il filtering dei valori (per i bit "blinking")
filterData();
// effettuo confronto valori vecchi/nuovi... SE trovo variazione OPPURE se è passato + di un timeout di controllo...
if (B_output != B_previous)
{
- accodaSigIN();
+ accodaSigIN(ref currDispData);
}
+ raiseRefresh(currDispData);
}
///
/// Processa gestione memoria x invio dati QUANDO IOB è disconnesso da CNC...
///
public void processMemoryDiscon()
{
+ // init obj display
+ newDisplayData currDispData = new newDisplayData();
// controllo contatore invio "keepalive"... invio solo a scadenza
if (DateTime.Now.Subtract(lastDisconnCheck).TotalSeconds > utils.CRI("disconMaxSec"))
{
@@ -2634,10 +2641,11 @@ namespace IOB_WIN
B_input = 0;
B_output = 0;
B_previous = 0;
- accodaSigIN();
+ accodaSigIN(ref currDispData);
// update controllo
lastDisconnCheck = DateTime.Now;
}
+ raiseRefresh(currDispData);
}
///
/// Esegue filtraggio dati x bit blinking!!!
@@ -2709,11 +2717,14 @@ namespace IOB_WIN
///
/// Effettua lettura dati
+ /// Parametri da aggiornare x display in form
///
- public virtual void readAllData()
+ public virtual void readAllData(ref newDisplayData currDispData)
{
- // init obj display
- newDisplayData currDispData = new newDisplayData();
+ if (currDispData == null)
+ {
+ currDispData = new newDisplayData();
+ }
try
{
if (DemoIn)
@@ -3213,11 +3224,12 @@ namespace IOB_WIN
}
///
/// Accumula in coda i valori Signal IN e logga...
+ /// Parametri da aggiornare x display in form
///
- public void accodaSigIN()
+ public void accodaSigIN(ref newDisplayData currDispData)
{
// mostro dati variati letti...
- displayInData();
+ displayInData(ref currDispData);
// --> accodo (valore già formattato)!
QueueIN.Enqueue(qEncodeIN);
// loggo!
@@ -3398,19 +3410,22 @@ namespace IOB_WIN
string newString = string.Format("{0:X}", B_input);
currDispData.newInData = newString;
#if false
- accodaRawData(newString);
// salvo coda debug...
+ QueueDebug.Enqueue(B_input);
#endif
- QueueDebug.Enqueue(B_input);
}
///
/// Update visualizzaizone BIT in ingresso
+ /// Parametri da aggiornare x display in form
///
- public void displayInData()
+ public void displayInData(ref newDisplayData currDispData)
{
// mostro update...
string newString = string.Format("{0:0000}|{1}", counterSigIN, utils.IntToBinStr(B_output, 8));
- accodaSignaInlData(newString);
+ currDispData.newSignalData = newString;
+#if false
+ accodaSignaInlData(newString);
+#endif
}
///
/// Mostra cosa ha/avrebbe inviato
@@ -3428,15 +3443,7 @@ namespace IOB_WIN
// mostro update...
accodaOtherData(newData);
}
- ///
- /// Accoda (visualizzando in cima allo stack) la nuova stringa di output per area OTHER DATA
- ///
- ///
- public void accodaRawData(string newLine)
- {
- // inserisco in cima allo stack, trimmo e aggiorno display
- parentForm.dataMonitor_0 = limitLine2show(string.Format("{0}{1}{2}", newLine, Environment.NewLine, parentForm.dataMonitor_0));
- }
+#if false
///
/// Accoda (visualizzando in cima allo stack) la nuova stringa di output per area OTHER DATA
///
@@ -3445,7 +3452,8 @@ namespace IOB_WIN
{
// inserisco in cima allo stack, trimmo e aggiorno display
parentForm.dataMonitor_1 = limitLine2show(string.Format("{0}{1}{2}", newLine, Environment.NewLine, parentForm.dataMonitor_1));
- }
+ }
+#endif
///
/// Accoda (visualizzando in cima allo stack) la nuova stringa di output per area OTHER DATA
///
diff --git a/IOB-WIN/IobWPS.cs b/IOB-WIN/IobWPS.cs
index 798d34ad..33fd6ca3 100644
--- a/IOB-WIN/IobWPS.cs
+++ b/IOB-WIN/IobWPS.cs
@@ -66,6 +66,8 @@ namespace IOB_WIN
///
private void reloadAdapterConf()
{
+ // init obj display
+ newDisplayData currDispData = new newDisplayData();
lgInfo("BEGIN reloadAdapterConf");
// inizializzo LUT decodifica
string jsonConf = getOptPar("LUT_CONF");
@@ -84,7 +86,7 @@ namespace IOB_WIN
// imposto a zero la bitmap x riavvio!
B_input = 0;
// FORZO invio dati...
- accodaSigIN();
+ accodaSigIN(ref currDispData);
// loggo!
lgInfo($"init input bitmap to zero: {B_input}");
}
@@ -95,6 +97,7 @@ namespace IOB_WIN
}
}
lgInfo("DONE reloadAdapterConf");
+ raiseRefresh(currDispData);
}
#region Metodi specifici (da verificare/completare in implementazione)