Files
Samuele Locatelli 237b3fa94c MTC:
- correzione parametri init da OPT-PAR
- aggiunta gestione min refresh forzato (default 15 sec)
2026-03-05 08:42:21 +01:00

167 lines
5.4 KiB
C#

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
{
/// <summary>
/// Dati espliciti relativi al device di riferimento
/// </summary>
public class DeviceDto
{
/// <summary>
/// Costruttore
/// </summary>
public string Vendor { get; set; } = "ACME";
/// <summary>
/// Codice modello
/// </summary>
public string Model { get; set; } = "NONE";
/// <summary>
/// Indica se sia multi pallet
/// </summary>
public bool IsMulti { get; set; } = false;
/// <summary>
/// Codice dei vari codici aggiuntivi IOB multi x funzioni slave (es autoOdl)
/// </summary>
public string MultiIobListRaw { get; set; } = "";
/// <summary>
/// Lista dei vari IOB multi x funzioni slave (es autoOdl)
/// </summary>
public List<string> MultiIobList { get; set; }
/// <summary>
/// Dati configurazione CNC
/// </summary>
public ConnectionDto Connect { get; set; } = new ConnectionDto();
/// <summary>
/// Indica che sono disabilitati i Task2Exe (tipicamente gestione scrittura verso PLC)
/// </summary>
public bool DisabExeTask { get; set; } = false;
/// <summary>
/// Disabilitazione ping al Device
/// </summary>
public bool DisabPing { get; set; } = false;
/// <summary>
/// Disabilitazione SignalIn dal Device
/// </summary>
public bool DisabSigIn { get; set; } = false;
/// <summary>
/// Indica che sono disabilitati i resend alla scadenza del periodo di controllo anche in mancanza di variazione (tipicametne x gli adapter secondari come PING)
/// </summary>
public bool DisabResendScaduto { get; set; } = false;
/// <summary>
/// Indica che sono disabilitate le fasi controllo stato/semafori (tipicamente x impianti
/// con PLC "suddivisi", PLC + HMI)
/// </summary>
public bool DisabStateCh { get; set; } = false;
/// <summary>
/// Abilita riscrittura memoria se trova differenze lettura/richiesti
/// </summary>
public bool EnabMemRewrite { get; set; } = true;
/// <summary>
/// Disabilitazione controlli dipendenti da check su exe mode (es Cimolai)
/// </summary>
public bool ExeModeCheckBypass { get; set; } = false;
/// <summary>
/// Abilitazione gestione contatori
/// </summary>
public bool EnabPzCount { get; set; } = true;
/// <summary>
/// Indica se si voglia recuperare il PROG NAME dal CNC
/// </summary>
public bool EnabProgName { get; set; } = false;
/// <summary>
/// Tempo minimo di refresh ammesso (es: per current da MTConnect)
/// </summary>
public int MinRefreshPeriodSec { get; set; } = 20;
/// <summary>
/// Tempo minimo ammissibile di risposta (es x errori ModBus che risponde troppo in fretta) in millisec
/// </summary>
public int MinRespTimeMs { get; set; } = 5;
/// <summary>
/// Indica se usare la parte numerica di un articolo come codice INT
/// </summary>
public bool NumArtCharTrim { get; set; } = false;
/// <summary>
/// Conf x scritttura NumArticolo
/// </summary>
public string NumArtMode { get; set; } = "";
/// <summary>
/// Conf x scritttura NumOdl
/// </summary>
public string NumOdlMode { get; set; } = "";
/// <summary>
/// Timeout in sec x dichiarare Poweroff (tipicamente IOB PING)
/// </summary>
public int PoweroffTimeOutSec { get; set; } = 100;
/// <summary>
/// Modalità gestione lettura cadenza
/// </summary>
public string PzCadMode { get; set; } = "";
/// <summary>
/// Delay prima di iniziare a gestire il contapezzi, per evitare falsi zeri in inizializzazione sw
/// </summary>
public int PzCountDelay { get; set; } = 2000;
/// <summary>
/// Modalità gestione contapezzi
/// </summary>
public string PzCountMode { get; set; } = "";
/// <summary>
/// Definizione Memoria x pezzi richiesti
/// </summary>
public string PzReqMode { get; set; } = "";
/// <summary>
/// Definizione Memoria x pezzi totali (NON ressettabile)
/// </summary>
public string PzTotMode { get; set; } = "";
/// <summary>
/// Durata in secondi del divieto accodamento segnali IN alla fase di startup
/// </summary>
public int StartupVetoQueueIN { get; set; } = 5;
/// <summary>
/// Numero massimo errori lettura prima di disconnettere
/// </summary>
public int ReadErrorMax { get; set; } = 10;
/// <summary>
/// Tempo attesa prima id rivalutare errori lettura
/// </summary>
public int ReadErrorSleepTime { get; set; } = 15000;
/// <summary>
/// Configurazione SigLUT con regole decodifica valori (es FANUC/Siemens con BIT0...BIT7...)
/// </summary>
public Dictionary<string, string> SigLUT { get; set; } = new Dictionary<string, string>();
}
}