Fix gestione reset ODL con tempo configurabile a minimo

This commit is contained in:
Samuele E. Locatelli
2019-12-17 09:18:53 +01:00
parent d03f883935
commit bb60197a9a
11 changed files with 17 additions and 5 deletions
+1 -3
View File
@@ -12,8 +12,6 @@ IP=127.0.0.1
PORT=0000
[SERVER]
;MPIP=http://192.168.1.4
;MPIP=http://192.168.214.4
MPIP=http://10.74.82.218
MPURL=/MP/IO
CMDBASE=/IOB/input/
@@ -57,7 +55,7 @@ NEW_DYN_DATA=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
MIN_DURATA_ODL=240
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_01.json
+1
View File
@@ -55,6 +55,7 @@ NEW_DYN_DATA=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
MIN_DURATA_ODL=240
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_02.json
+1
View File
@@ -55,6 +55,7 @@ NEW_DYN_DATA=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
MIN_DURATA_ODL=240
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_03.json
+1
View File
@@ -55,6 +55,7 @@ NEW_DYN_DATA=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
MIN_DURATA_ODL=240
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_04.json
+1
View File
@@ -55,6 +55,7 @@ NEW_DYN_DATA=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
MIN_DURATA_ODL=240
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_05.json
+1
View File
@@ -55,6 +55,7 @@ NEW_DYN_DATA=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
MIN_DURATA_ODL=240
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_05.json
+1
View File
@@ -55,6 +55,7 @@ NEW_DYN_DATA=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
MIN_DURATA_ODL=240
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_07.json
+1
View File
@@ -55,6 +55,7 @@ NEW_DYN_DATA=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
MIN_DURATA_ODL=240
; conf parametri memoria READ/WRITE
PARAM_CONF=SIMUL_08.json
+1
View File
@@ -42,6 +42,7 @@ ENABLE_PZ_RESET=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
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=800
SIM_PZCNT=10|3
+1
View File
@@ -42,6 +42,7 @@ ENABLE_PZ_RESET=TRUE
;gestione invio pezzi in blocco
ENABLE_SEND_PZC_BLOCK=TRUE
MAX_SEND_PZC_BLOCK=10
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=800
SIM_PZCNT=10|2
+7 -2
View File
@@ -74,6 +74,10 @@ namespace IOB_WIN
/// </summary>
protected DateTime lastEvCheck;
/// <summary>
/// Durata minima ODL x reset quando pezzi iob > pezzi macchina...
/// </summary>
protected int minDurataODL = 480;
/// <summary>
/// estende l'init della classe base...
/// </summary>
/// <param name="caller"></param>
@@ -104,6 +108,7 @@ namespace IOB_WIN
bit3 = setupSimPar("SIM_ALARM");
bit4 = setupSimPar("SIM_MANU");
bit5 = setupSimPar("SIM_SLOW");
int.TryParse(getOptPar("MIN_DURATA_ODL"), out minDurataODL);
}
setParamPlc();
}
@@ -354,11 +359,11 @@ namespace IOB_WIN
// se il contapezzi macchina è "andato troppo avanti" --> forced split ODL
if (contapezzi > lastCountCNC)
{
// solo se ODL è in lavorazione da ALMENO 60 minuti...
// solo se ODL è in lavorazione da ALMENO minDurataODL minuti...
DateTime inizioOdl = DateTime.Now.AddDays(-1);
string rawDataInizio = callUrl(urlInizioOdlIob, true);
DateTime.TryParse(rawDataInizio, out inizioOdl);
if (DateTime.Now.Subtract(inizioOdl).TotalMinutes > 60)
if (DateTime.Now.Subtract(inizioOdl).TotalMinutes > minDurataODL)
{
// invio reset ODL...
forceSplitOdl();