Aggiunto veto accodamento QUEUE-IN:
- default 1 sec - configurabile in OPCPAR come VETO_QUEUE_IN=15 - indica num secondi x cui NON accoda info IN per l'invio
This commit is contained in:
@@ -22,6 +22,11 @@ namespace IOB_UT_NEXT
|
||||
/// </summary>
|
||||
public static DateTime dtVetoPing = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// Indicazione VETO accodamento INGRESSI/EVENTI sino alla data-ora indicata
|
||||
/// </summary>
|
||||
public static DateTime dtVetoQueueIN = DateTime.Now;
|
||||
|
||||
/// <summary>
|
||||
/// Indicazione VETO invio a server sino alla data-ora indicata
|
||||
/// </summary>
|
||||
|
||||
@@ -34,6 +34,7 @@ MAX_COUNTER_BLINK = 15
|
||||
BLINK_FILT=0
|
||||
|
||||
[OPTPAR]
|
||||
VETO_QUEUE_IN=15
|
||||
AUTO_CHANGE_ODL=false
|
||||
POWEROFF_TIMEOUT_SEC=60
|
||||
|
||||
|
||||
@@ -337,6 +337,8 @@ namespace IOB_WIN_NEXT.Iob
|
||||
// checkLogDir x shrink!
|
||||
checkShrinkDir();
|
||||
|
||||
// imposto veto invio per i prossimi sec
|
||||
dtVetoQueueIN = DateTime.Now.AddSeconds(vetoQueueIn);
|
||||
// concluso!
|
||||
lgInfoStartup("Istanziata classe preliminare IOBGeneric");
|
||||
}
|
||||
@@ -396,6 +398,21 @@ namespace IOB_WIN_NEXT.Iob
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Indicazione VETO accodamento valori INGRESSI/EVENTI sino alla data-ora indicata
|
||||
/// </summary>
|
||||
public static DateTime dtVetoQueueIN
|
||||
{
|
||||
get
|
||||
{
|
||||
return utils.dtVetoQueueIN;
|
||||
}
|
||||
set
|
||||
{
|
||||
utils.dtVetoQueueIN = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Indicazione VETO invio a server sino alla data-ora indicata
|
||||
/// </summary>
|
||||
@@ -1696,6 +1713,7 @@ namespace IOB_WIN_NEXT.Iob
|
||||
/// </summary>
|
||||
public void accodaSigIN(ref newDisplayData currDispData)
|
||||
{
|
||||
DateTime adesso = DateTime.Now;
|
||||
// mostro dati variati letti...
|
||||
displayInData(ref currDispData);
|
||||
// verifico veto a invio status macchina
|
||||
@@ -1706,10 +1724,18 @@ namespace IOB_WIN_NEXT.Iob
|
||||
}
|
||||
else
|
||||
{
|
||||
// --> accodo (valore già formattato)!
|
||||
QueueIN.Enqueue(qEncodeIN);
|
||||
// loggo!
|
||||
lgDebug($"[QUEUE-IN] {qEncodeIN}");
|
||||
// verifico non sia in veto invio iniziale...
|
||||
if (dtVetoQueueIN >= adesso)
|
||||
{
|
||||
lgDebug($"[VETO FOR QUEUE-IN] | {qEncodeIN} - MESSAGE NOT SENT | {adesso:yyyyMMdd_HHmmss}");
|
||||
}
|
||||
else
|
||||
{
|
||||
// --> accodo (valore già formattato)!
|
||||
QueueIN.Enqueue(qEncodeIN);
|
||||
// loggo!
|
||||
lgDebug($"[QUEUE-IN] {qEncodeIN}");
|
||||
}
|
||||
}
|
||||
// aggiorno counters ed eventuale reset
|
||||
nReadFilt++;
|
||||
@@ -2102,6 +2128,8 @@ namespace IOB_WIN_NEXT.Iob
|
||||
return valTransl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// effettua recupero dati ed invio valori modificati...
|
||||
/// </summary>
|
||||
@@ -4360,6 +4388,11 @@ namespace IOB_WIN_NEXT.Iob
|
||||
/// </summary>
|
||||
protected int[] i_counters;
|
||||
|
||||
/// <summary>
|
||||
/// Durata in secondi del divieto accodamento segnali IN alla fase di startup
|
||||
/// </summary>
|
||||
protected int vetoQueueIn = 1;
|
||||
|
||||
/// <summary>
|
||||
/// Indica impianto IN SETUP (fino a quando SMETTE di esserlo...)
|
||||
/// </summary>
|
||||
@@ -8143,6 +8176,12 @@ namespace IOB_WIN_NEXT.Iob
|
||||
lastPeriodicLog = DateTime.Now;
|
||||
// fix parametri generali...
|
||||
enablePrgName = true;
|
||||
// valore standard divieto accodamento segnali IN
|
||||
string VETO_QUEUE_IN = getOptPar("VETO_QUEUE_IN");
|
||||
if (!string.IsNullOrEmpty(VETO_QUEUE_IN))
|
||||
{
|
||||
int.TryParse(VETO_QUEUE_IN, out vetoQueueIn);
|
||||
}
|
||||
}
|
||||
|
||||
private void svuotaCodaContapezzi()
|
||||
|
||||
@@ -528,14 +528,22 @@ namespace IOB_WIN_NEXT.IobFile
|
||||
int valInt = decodeSoitaabLog(sLog2send.valString);
|
||||
|
||||
string currVal = getEncodSigLog(sLog2send.dtRif, valInt, counterSigIN);
|
||||
// --> accodo (valore già formattato)!
|
||||
QueueIN.Enqueue(currVal);
|
||||
// loggo!
|
||||
lgTrace(string.Format("[QUEUE-IN] {0}", currVal));
|
||||
counterSigIN++;
|
||||
if (counterSigIN > 9999)
|
||||
// verifico non sia in veto invio iniziale...
|
||||
if (dtVetoQueueIN >= adesso)
|
||||
{
|
||||
counterSigIN = 0;
|
||||
lgDebug($"[VETO FOR QUEUE-IN] | {currVal} - MESSAGE NOT SENT | {adesso:yyyyMMdd_HHmmss}");
|
||||
}
|
||||
else
|
||||
{
|
||||
// --> accodo (valore già formattato)!
|
||||
QueueIN.Enqueue(currVal);
|
||||
// loggo!
|
||||
lgTrace(string.Format("[QUEUE-IN] {0}", currVal));
|
||||
counterSigIN++;
|
||||
if (counterSigIN > 9999)
|
||||
{
|
||||
counterSigIN = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -639,14 +639,22 @@ namespace IOB_WIN_NEXT.IobSql
|
||||
foreach (var sLog2send in data2send)
|
||||
{
|
||||
string currVal = getEncodSigLog(sLog2send.DtEve, sLog2send.ValInt, counterSigIN);
|
||||
// --> accodo (valore già formattato)!
|
||||
QueueIN.Enqueue(currVal);
|
||||
// loggo!
|
||||
lgTrace(string.Format("[QUEUE-IN] {0}", currVal));
|
||||
counterSigIN++;
|
||||
if (counterSigIN > 9999)
|
||||
// verifico non sia in veto invio iniziale...
|
||||
if (dtVetoQueueIN >= adesso)
|
||||
{
|
||||
counterSigIN = 0;
|
||||
lgDebug($"[VETO FOR QUEUE-IN] | {currVal} - MESSAGE NOT SENT | {adesso:yyyyMMdd_HHmmss}");
|
||||
}
|
||||
else
|
||||
{
|
||||
// --> accodo (valore già formattato)!
|
||||
QueueIN.Enqueue(currVal);
|
||||
// loggo!
|
||||
lgTrace(string.Format("[QUEUE-IN] {0}", currVal));
|
||||
counterSigIN++;
|
||||
if (counterSigIN > 9999)
|
||||
{
|
||||
counterSigIN = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user