Aggiunta gestione delta valori x min/max e disconnect x ModBus
This commit is contained in:
@@ -55,6 +55,8 @@ MAX_SEND_PZC_BLOCK=100
|
||||
; GEST DATI DYN
|
||||
ENABLE_DYN_DATA=TRUE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
; gestione delta minimo accettabile tra min/MAX
|
||||
DELTA_VAL=0.1
|
||||
|
||||
; clock base (da 10ms)
|
||||
timerIntMs=100
|
||||
|
||||
@@ -55,6 +55,8 @@ MAX_SEND_PZC_BLOCK=100
|
||||
; GEST DATI DYN
|
||||
ENABLE_DYN_DATA=TRUE
|
||||
FORCE_DYN_DATA=TRUE
|
||||
; gestione delta minimo accettabile tra min/MAX
|
||||
DELTA_VAL=0.1
|
||||
|
||||
; clock base (da 10ms)
|
||||
timerIntMs=100
|
||||
|
||||
@@ -21,6 +21,15 @@ namespace IOB_WIN_NEXT
|
||||
|
||||
public class IobModbusTCP : IobGeneric
|
||||
{
|
||||
#region Private Fields
|
||||
|
||||
/// <summary>
|
||||
/// Valore delta x gestione min/MAX e valore rilevato
|
||||
/// </summary>
|
||||
private double deltaVal = 0;
|
||||
|
||||
#endregion Private Fields
|
||||
|
||||
#region Protected Fields
|
||||
|
||||
protected ModbusClient currPLC;
|
||||
@@ -222,8 +231,8 @@ namespace IOB_WIN_NEXT
|
||||
default:
|
||||
break;
|
||||
}
|
||||
// verifica limite...
|
||||
dataOk = (valore > item.Value.minVal && valore < item.Value.maxVal);
|
||||
// verifica limite... con delta da impianto
|
||||
dataOk = (valore > (item.Value.minVal + deltaVal) && valore < (item.Value.maxVal - deltaVal));
|
||||
if (dataOk)
|
||||
{
|
||||
// moltiplico x fattore conversione...
|
||||
@@ -496,6 +505,12 @@ namespace IOB_WIN_NEXT
|
||||
parentForm.commPlcActive = false;
|
||||
// carico conf vettore memoria...
|
||||
loadMemConf();
|
||||
// aggiungo DELTA x calcolo min/MAX...
|
||||
string deltaValStr = getOptPar("DELTA_VAL");
|
||||
if (!string.IsNullOrEmpty(deltaValStr))
|
||||
{
|
||||
double.TryParse(deltaValStr, out deltaVal);
|
||||
}
|
||||
bool enableByApp = utils.CRB("enableContapezzi");
|
||||
bool enableByIob = (getOptPar("ENABLE_PZCOUNT") == "TRUE");
|
||||
bool disableByIob = (getOptPar("DISABLE_PZCOUNT") == "TRUE");
|
||||
@@ -686,6 +701,11 @@ namespace IOB_WIN_NEXT
|
||||
{
|
||||
readErrorList = getDataDictionary(readErrorList, false, ref outVal);
|
||||
}
|
||||
// se avessi acnora errori --> disconnetto
|
||||
if (readErrorList.Count > 0)
|
||||
{
|
||||
tryDisconnect();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user