Files
Mapo-IOB-WIN/IOB-UT-NEXT/Config/Base/FluxLogDto.cs
T
2025-07-14 14:47:04 +02:00

108 lines
3.5 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_UT_NEXT.Config.Base
{
/// <summary>
/// Gestione parametri relativi alla gestione del FluxLog
/// </summary>
public class FluxLogDto
{
#region Public Properties
/// <summary>
/// Abilitazione gestione Dossier quotidiani automatici
/// </summary>
public bool AutoSnapshotDossier { get; set; } = false;
/// <summary>
/// Abilitazione all'operazione di copia dei valori DynData in area MemMap.Write
/// </summary>
public bool CopyDyn2MemWrite { get; set; } = false;
/// <summary>
/// DeadBand generale segnali
/// </summary>
public double DeadBand { get; set; } = 1;
/// <summary>
/// Valore di demoltiplica lettura dynData (se presente) o ignora e pone a 1
/// </summary>
public int DemFactDynData { get; set; } = 1;
/// <summary>
/// Disabilita DynData globalmente range valori
/// </summary>
public bool DisDynData { get; set; } = false;
/// <summary>
/// Disabilita controllo range valori
/// </summary>
public bool DisDynDataRangeCheck { get; set; } = false;
/// <summary>
/// Abilitazione generale FluxLog / DynData
/// </summary>
public bool EnableDynData { get; set; } = true;
/// <summary>
/// Abilitazione al filtraggio dati FluxLog generale
/// </summary>
public bool EnableFilt { get; set; } = true;
/// <summary>
/// Abilitazione gestione overrides
/// </summary>
public bool EnableOverrides { get; set; } = true;
/// <summary>
/// Abilitazione gestione slow data (invio periodico anche in caso di mancata modifica, secondo SamplePeriod)
/// </summary>
public bool EnableSlowData { get; set; } = true;
/// <summary>
/// Forza DynData senza controllo variazione da precedente valore
/// </summary>
public bool ForceDynData { get; set; } = false;
/// <summary>
/// DeadBand globale x gestione filtraggio valori per sole variazioni sopra soglia
/// </summary>
public float GlobalDeadBand { get; set; } = 1;
/// <summary>
/// Durata massima in sec di mancata comunicazione/aggiornamento (ad eventi) dopo di cui i dati vengono comunque riletti
/// </summary>
public int MaxSecReload { get; set; } = 1800;
/// <summary>
/// Sample period generale (x evitare invii troppo frequenti)
/// </summary>
public int SamplePeriod { get; set; } = 1800;
/// <summary>
/// Indica se inviare nei flux log il record DYNDATA|xxxx con variazioni
/// </summary>
public bool SendDynDataRec { get; set; } = false;
/// <summary>
/// Indica se inviare all'avvio applicazione tutti i valori
/// </summary>
public bool SendOnBoot { get; set; } = false;
/// <summary>
/// Valore soglia x registrare eventi FluxLog TrackData
/// </summary>
public int TrackDataThreshold { get; set; } = 20;
/// <summary>
/// Durata (in secondi) del veto ad invio snapshot (per evitare doppi click e doppio snapshot/dossier)
/// </summary>
public int VetoSendSnapshotSec { get; set; } = 5;
#endregion Public Properties
}
}