diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.ini index 96a4c89f..187454cf 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_01.ini @@ -43,10 +43,10 @@ MIN_SEND_PZC_BLOCK=0 MAX_SEND_PZC_BLOCK=100 ; gestione cambio ODL automatico (minuti minimi durata) MIN_DURATA_ODL=240 -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 1 secondo) -PER_BASE=10100 +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) +PER_BASE=10100 SIM_PZCNT=5|1 -SIM_ALARM=500|20 +SIM_ALARM=100|10 SIM_MANU=50|6 ; indica gestione e simulazione bit 5 --> slow SIM_SLOW=3600|20 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.ini index bca734ed..1d29f7ce 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_02.ini @@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0 ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=9500 SIM_PZCNT=8|1 SIM_ALARM=900|15 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini index 08296d7e..bf726ca2 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_03.ini @@ -38,7 +38,7 @@ CHANGE_ODL_IDLE_MIN=0 ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=10400 SIM_PZCNT=15|1 SIM_ALARM=1000|20 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_04.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_04.ini index 403966e7..9cab64cb 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_04.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_04.ini @@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0 ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=10300 SIM_PZCNT=13|1 SIM_ALARM=1000|20 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_05.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_05.ini index 050dbbc5..de3910c9 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_05.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_05.ini @@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0 ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=10200 SIM_PZCNT=13|1 SIM_ALARM=1000|20 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_06.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_06.ini index 4e62781a..080f15ea 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_06.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_06.ini @@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0 ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=9600 SIM_PZCNT=13|1 SIM_ALARM=1000|20 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_07.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_07.ini index 344cbac7..d1d2e317 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_07.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_07.ini @@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=0 ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=9900 SIM_PZCNT=13|1 SIM_ALARM=200|20 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIMUL_08.ini b/IOB-WIN-NEXT/DATA/CONF/SIMUL_08.ini index 6acfc014..2050389c 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIMUL_08.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIMUL_08.ini @@ -37,7 +37,7 @@ CHANGE_ODL_IDLE_MIN=10 ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=9800 SIM_PZCNT=13|1 SIM_ALARM=200|10 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.ini index e94ec473..ed602c4d 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_01.ini @@ -44,7 +44,7 @@ ENABLE_SEND_PZC_BLOCK=TRUE MIN_SEND_PZC_BLOCK=0 MAX_SEND_PZC_BLOCK=100 MIN_DURATA_ODL=240 -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=10500 SIM_PZCNT=10|3 SIM_ALARM=1000|20 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.ini index ed26ab45..3b8d3b95 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIM_DP_02.ini @@ -44,7 +44,7 @@ ENABLE_SEND_PZC_BLOCK=TRUE MIN_SEND_PZC_BLOCK=0 MAX_SEND_PZC_BLOCK=100 MIN_DURATA_ODL=240 -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=10400 SIM_PZCNT=10|2 SIM_ALARM=1000|20 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ03.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ03.ini index 370e9c26..769edb89 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ03.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ03.ini @@ -38,7 +38,7 @@ DISABLE_SIM_STATUS=true ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=9800 SIM_PZCNT=13|1 SIM_ALARM=200|10 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ04.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ04.ini index 370e9c26..769edb89 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ04.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ04.ini @@ -38,7 +38,7 @@ DISABLE_SIM_STATUS=true ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=9800 SIM_PZCNT=13|1 SIM_ALARM=200|10 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ05.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ05.ini index 370e9c26..769edb89 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ05.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ05.ini @@ -38,7 +38,7 @@ DISABLE_SIM_STATUS=true ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=9800 SIM_PZCNT=13|1 SIM_ALARM=200|10 diff --git a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ08.ini b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ08.ini index 370e9c26..769edb89 100644 --- a/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ08.ini +++ b/IOB-WIN-NEXT/DATA/CONF/SIM_PIZ08.ini @@ -38,7 +38,7 @@ DISABLE_SIM_STATUS=true ;PZCOUNT_MODE=STD.[PAR/MEM].info|BIT.indice PZCOUNT_MODE=BIT ENABLE_PZ_RESET=TRUE -; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE, default 1 secondo) +; per il simulatore: 50|1 = WAIT 50, DURATION 1 con riferimento al PERIODO base (PER_BASE in ms, default 10 secondi) PER_BASE=9800 SIM_PZCNT=13|1 SIM_ALARM=200|10 diff --git a/IOB-WIN-NEXT/IobSimula.cs b/IOB-WIN-NEXT/IobSimula.cs index c4eca9f8..68074b94 100644 --- a/IOB-WIN-NEXT/IobSimula.cs +++ b/IOB-WIN-NEXT/IobSimula.cs @@ -57,6 +57,11 @@ namespace IOB_WIN_NEXT /// protected DateTime lastSimData; + /// + /// Ultimo istante in cui sono stati ridotti dati simulazione duration + /// + protected DateTime lastRedDuration; + /// /// Matricola OPR simulato /// @@ -139,6 +144,7 @@ namespace IOB_WIN_NEXT lastWarnODL = adesso; lastEvCheck = adesso; lastSimData = adesso; + lastRedDuration = adesso; // setup allarmi simulati for (int i = 1; i <= 8; i++) { @@ -213,7 +219,7 @@ namespace IOB_WIN_NEXT /// protected void tryRedDuration(int bit2proc) { - if (lastEvCheck.AddMilliseconds(periodoMSec) < DateTime.Now) + if (lastRedDuration.AddMilliseconds(periodoMSec) < DateTime.Now) { switch (bit2proc) { @@ -238,7 +244,7 @@ namespace IOB_WIN_NEXT default: break; } - lastEvCheck = DateTime.Now; + lastRedDuration = DateTime.Now; } } @@ -639,6 +645,9 @@ namespace IOB_WIN_NEXT answ.wait = rnd.Next(answ.wait / 5, answ.wait * 9 / 5); // simulo valore duration: in media target, range +/- 50% answ.duration = rnd.Next(answ.duration / 2, answ.duration * 3 / 2); + // verifico siano > 0... + answ.wait = answ.wait > 0 ? answ.wait : 1; + answ.duration = answ.duration > 0 ? answ.duration : 1; } } }