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;
}
}
}