From 2f2e7da4b473d4753d9369b1262137eef73d1c3f Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Mon, 7 Mar 2022 19:22:06 +0100 Subject: [PATCH] Aggiunto bozza simulazione altri 4 sistemi... --- MachineSim/Program.cs | 80 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/MachineSim/Program.cs b/MachineSim/Program.cs index ed08d3e..fa2d9fd 100644 --- a/MachineSim/Program.cs +++ b/MachineSim/Program.cs @@ -31,12 +31,20 @@ Thread threadAlarms = new Thread(simAlarms); Thread threadParams = new Thread(simParameters); Thread threadProd = new Thread(simProd); Thread threadMachStat = new Thread(simMachStat); +Thread threadMaint = new Thread(simMaint); +Thread threadTools = new Thread(simTools); +Thread threadEvHistory = new Thread(simEvents); +Thread threadActLog = new Thread(simActivityLog); threadStatus.Start(); threadAlarms.Start(); threadParams.Start(); threadProd.Start(); threadMachStat.Start(); +threadMaint.Start(); +threadTools.Start(); +threadEvHistory.Start(); +threadActLog.Start(); /// /// Hash Redis contenente i dati MP di una specifico TYPE (es StatusMacchina, StateMachineIngressi, ...) @@ -145,6 +153,78 @@ void simMachStat() string rawData = JsonConvert.SerializeObject(newVal); saveAndSendMessage(mHash("Machine:MachStats:Current"), rawData, "machstats", rawData); + // attesa random + Thread.Sleep(rand.Next(minPeriod, maxPeriod)); + } while (true); +} + +void simMaint() +{ + // FIXME TODO !!! + int minPeriod = 3000; + int maxPeriod = 5000; + + do + { + // recupero uno stato simulato + var newVal = currSimGen.getProdStats(); + string rawData = JsonConvert.SerializeObject(newVal); + saveAndSendMessage(mHash("Machine:Maintenance:Current"), rawData, "maintenance", rawData); + + // attesa random + Thread.Sleep(rand.Next(minPeriod, maxPeriod)); + } while (true); +} + +void simTools() +{ + // FIXME TODO !!! + int minPeriod = 3000; + int maxPeriod = 5000; + + do + { + // recupero uno stato simulato + var newVal = currSimGen.getProdStats(); + string rawData = JsonConvert.SerializeObject(newVal); + saveAndSendMessage(mHash("Machine:Tools:Current"), rawData, "tools", rawData); + + // attesa random + Thread.Sleep(rand.Next(minPeriod, maxPeriod)); + } while (true); +} + +void simEvents() +{ + // FIXME TODO !!! + int minPeriod = 3000; + int maxPeriod = 5000; + + do + { + // recupero uno stato simulato + var newVal = currSimGen.getProdStats(); + string rawData = JsonConvert.SerializeObject(newVal); + saveAndSendMessage(mHash("Machine:Events:Current"), rawData, "events", rawData); + + // attesa random + Thread.Sleep(rand.Next(minPeriod, maxPeriod)); + } while (true); +} + +void simActivityLog() +{ + // FIXME TODO !!! + int minPeriod = 3000; + int maxPeriod = 5000; + + do + { + // recupero uno stato simulato + var newVal = currSimGen.getProdStats(); + string rawData = JsonConvert.SerializeObject(newVal); + saveAndSendMessage(mHash("Machine:ActivityLog:Current"), rawData, "activitylog", rawData); + // attesa random Thread.Sleep(rand.Next(minPeriod, maxPeriod)); } while (true);