using IOB_UT_NEXT.Config.Special;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IOB_UT_NEXT.Config.Base
{
///
/// Info specifiche all'IOB
///
public class IobDto
{
///
/// Nome file di configurazione
///
public string FileName { get; set; } = "";
///
/// Filename senza desinenza del tipo di file
///
public string FilenameIOB
{
get => baseUtils.StringBeforeLastChar(FileName, '.');
}
///
/// Tipo Adapter specifico (implementazione)
///
public tipoAdapter IobType { get; set; } = tipoAdapter.ND;
///
/// Codice Cliente/Installazione
///
public string Customer { get; set; } = "SteamWare";
///
/// Cod grupo IOB x creazione PODL al volo
///
public string CodGruppoIob { get; set; } = "ND-00";
///
/// Codice univoco IOB
///
public string CodIOB { get; set; } = "ND";
///
/// Tempo di attesa (in minuti) x lettura contapezzi standard (default 30 sec)
///
public double DelayReadPzCount { get; set; } = 0.5;
///
/// Tempo di attesa (in minuti) x lettura contapezzi standard DOPO fase di setup (default 6 sec, da init 0.6 sec)
///
public double DelayReadPzCountSetup { get; set; } = 0.1;
///
/// Disabilitazione invio DynData di WDST (WatchDogStateTransfer)
///
public bool DisabWDST { get; set; } = true;
///
/// Determina se sia prevista gestione PODL (creazione/avvio/chiusura) come Soitaab
///
public bool EnabelPodlManFull { get; set; } = false;
///
/// Soglia massima errori prima della disconnessione automatica in check
///
public int MaxErroriCheck { get; set; } = 50;
///
/// Max tentativi ping permessi (default: 5)
///
public int MaxPingRetry { get; set; } = 5;
///
/// Valore minimo (delta) in sec x considerare variazioni info
///
public int MinDeltaSec { get; set; } = 5;
///
/// Tempo massimo di WatchDog dopo cui inviare un segnale x evitare C101
///
public int WatchDogSec { get; set; } = 60;
///
/// Periodo wathdog di default (2 sec se non specificato)
///
public int WatchDogPeriod { get; set; } = 2;
///
/// Abilita salvataggio coda eventi su redis (ritentiva)
///
public bool EnabRedisQue { get; set; } = true;
///
/// Forza esecuzione WorkLoopMachine (verso macchina PLC/CNC) in SingleThread (vs ThreadPool)
///
public bool MachWLoopSingleThread { get; set; } = true;
///
/// Versione software IOB
///
public string RelVers { get; set; } = "0.0.0.0";
///
/// Indica se resettare allarmi all'avvio e inviare il reset appena parte adapter
///
public bool ResetAlarmOnStart { get; set; } = false;
///
/// Abilitazione invio conf macchine
///
public bool SenMachineConf { get; set; } = true;
///
/// Gestione dei Timers applicazione (UI + task varia scandenza)
///
public TimersDto Timers { get; set; } = new TimersDto();
///
/// Tempo di attesa per tentativo reconnect in MSec, override da conf applicativo generale
///
public int WaitRecMsec { get; set; } = 59000;
}
}