diff --git a/IOB-WIN-FORM/Iob/Simula.cs b/IOB-WIN-FORM/Iob/Simula.cs index f6cf0b1f..320dd9f4 100644 --- a/IOB-WIN-FORM/Iob/Simula.cs +++ b/IOB-WIN-FORM/Iob/Simula.cs @@ -157,18 +157,6 @@ namespace IOB_WIN_FORM.Iob } } - /// - /// Caricamento conf specifica in async - /// - /// - public override async Task InitializeAsync() - { - await Simula_Load(DateTime.Now); - // attendo altri 50ms - await Task.Delay(50); - } - - #endregion Public Constructors #region Public Methods @@ -505,6 +493,17 @@ namespace IOB_WIN_FORM.Iob return outVal; } + /// + /// Caricamento conf specifica in async + /// + /// + public override async Task InitializeAsync() + { + await Simula_Load(DateTime.Now); + // attendo altri 50ms + await Task.Delay(50); + } + /// /// Effettua vero processing contapezzi /// @@ -512,6 +511,35 @@ namespace IOB_WIN_FORM.Iob { } + /// + /// Effettua processing CUSTOM + /// + public override void processCustomTaskLF() + { + lgDebug($"Richiesto processCustomTaskLF"); + DateTime adesso = DateTime.Now; + // effettua vari processing custom + pzCntReload(true); + + // salvo lettura + lastReadPLC = adesso; + lgInfo($"Completato processCustomTaskLF"); + } + + /// + /// Effettua processing CUSTOM + /// + public override void processCustomTaskMF() + { + lgDebug($"Richiesto processCustomTaskMF"); + DateTime adesso = DateTime.Now; + // effettua vari processing custom + var currOdl = CurrOdl(); + // salvo lettura + lastReadPLC = adesso; + lgInfo($"Completato processCustomTaskMF"); + } + /// /// Processo contatori eventi... /// @@ -562,56 +590,6 @@ namespace IOB_WIN_FORM.Iob } } - /// - /// Effettua processing CUSTOM - /// - public override void processCustomTaskMF() - { - lgDebug($"Richiesto processCustomTaskMF"); - DateTime adesso = DateTime.Now; - // effettua vari processing custom - var currOdl = CurrOdl(); - // salvo lettura - lastReadPLC = adesso; - lgInfo($"Completato processCustomTaskMF"); - } - - /// - /// Effettua processing CUSTOM - /// - public override void processCustomTaskLF() - { - lgDebug($"Richiesto processCustomTaskLF"); - DateTime adesso = DateTime.Now; - // effettua vari processing custom - pzCntReload(true); - - // salvo lettura - lastReadPLC = adesso; - lgInfo($"Completato processCustomTaskLF"); - } - - /// - /// Altri task in slow frequency - /// - /// - protected override bool processSlowDataRead() - { - lgDebug($"Richiesto processSlowDataRead"); - bool answ = false; - DateTime adesso = DateTime.Now; - // faccio cmq tutto... - - string autoOdlRes = utils.callUrl(urlFixDailyOdl); - - // salvo lettura - lastReadPLC = adesso; - lgInfo($"Completato processSlowDataRead"); - return answ; - } - - - /// /// Effettua reset del contapezzi /// @@ -1016,7 +994,6 @@ namespace IOB_WIN_FORM.Iob // ProcessAutoDossier (se è sincrono) lo chiamiamo qui o fuori ProcessAutoDossier(); - }) .GetAwaiter() .GetResult(); // Blocca qui finché tutto il gruppo è completo @@ -1027,6 +1004,32 @@ namespace IOB_WIN_FORM.Iob } } + /// + /// Altri task in slow frequency + /// + /// + protected override bool processSlowDataRead() + { + lgDebug($"Richiesto processSlowDataRead"); + bool answ = false; + DateTime adesso = DateTime.Now; + // faccio cmq tutto... + + string autoOdlRes = utils.callUrl(urlFixDailyOdl); + + // invio dataItems come MTC + List demoItems = new List(); + demoItems.Add(new machDataItem() { uuid = "AVAIL", Category = DataItemCategory.EVENT, Type = "AVAILABILITY" }); + demoItems.Add(new machDataItem() { uuid = "ACC_TIME", Category = DataItemCategory.SAMPLE, Type = "ACCUMULATED_TIME", Name = "[s] Tempo macchina in potenza" }); + demoItems.Add(new machDataItem() { uuid = "CLOCK", Category = DataItemCategory.SAMPLE, Type = "CLOCK_TIME" }); + sendDataItemsList(demoItems); + + // salvo lettura + lastReadPLC = adesso; + lgInfo($"Completato processSlowDataRead"); + return answ; + } + /// /// Decremento duration del bit indicato secondo stesse regole di ritardo dei bit di wait /// @@ -1073,7 +1076,9 @@ namespace IOB_WIN_FORM.Iob #region Private Fields private List alarmMessages = new List(); + private int currSimAlarmCode = 0; + private Random rnd = new Random(); #endregion Private Fields @@ -2123,6 +2128,16 @@ namespace IOB_WIN_FORM.Iob return fatto; } + /// + /// Effettua invio a MP/IO dell'elenco serializzato dei dataItems + /// + /// + private void sendDataItemsList(List dataItems) + { + string rawData = JsonConvert.SerializeObject(dataItems); + utils.CallUrlPost($"{urlSaveDataItems}", rawData); + } + /// /// Setup parametri di simulazione per BIT indicato ///