diff --git a/IOB-UT-NEXT/Config/Base/DeviceDto.cs b/IOB-UT-NEXT/Config/Base/DeviceDto.cs
index 7f24d2a7..d3f77176 100644
--- a/IOB-UT-NEXT/Config/Base/DeviceDto.cs
+++ b/IOB-UT-NEXT/Config/Base/DeviceDto.cs
@@ -87,6 +87,11 @@ namespace IOB_UT_NEXT.Config.Base
///
public bool EnabProgName { get; set; } = false;
+ ///
+ /// Tempo minimo di refresh ammesso (es: per current da MTConnect)
+ ///
+ public int MinRefreshPeriodSec { get; set; } = 20;
+
///
/// Tempo minimo ammissibile di risposta (es x errori ModBus che risponde troppo in fretta) in millisec
///
diff --git a/IOB-UT-NEXT/Config/IobConfTree.cs b/IOB-UT-NEXT/Config/IobConfTree.cs
index 7c50677b..5103cd3b 100644
--- a/IOB-UT-NEXT/Config/IobConfTree.cs
+++ b/IOB-UT-NEXT/Config/IobConfTree.cs
@@ -263,6 +263,7 @@ namespace IOB_UT_NEXT.Config
ExeModeCheckBypass = bool.Parse(fIni.ReadString("OPTPAR", "EXEMODE_CHECK_BYPASS", "false")),
Model = fIni.ReadString("MACHINE", "MODEL", "ND"),
MinRespTimeMs = fIni.ReadInteger("OPTPAR", "MIN_RESP_TIME_MS", 5),
+ MinRefreshPeriodSec = fIni.ReadInteger("OPTPAR", "MIN_REF_PERIOD_SEC", 15),
MultiIobListRaw = fIni.ReadString("OPTPAR", "IOB_MULTI_CNAME", ""),
NumArtMode = fIni.ReadString("OPTPAR", "SET_NUM_ART", ""),
NumOdlMode = fIni.ReadString("OPTPAR", "SET_NUM_COM", ""),
@@ -292,6 +293,7 @@ namespace IOB_UT_NEXT.Config
exclOptPar.Add("IOB_MULTI_CNAME");
exclOptPar.Add("MAX_TRY_PING");
exclOptPar.Add("MIN_RESP_TIME_MS");
+ exclOptPar.Add("MIN_REF_PERIOD_SEC");
exclOptPar.Add("NO_PING");
exclOptPar.Add("POWEROFF_TIMEOUT_SEC");
exclOptPar.Add("PZCAD_MODE");
diff --git a/IOB-WIN-MTC/DATA/CONF/LVF573.json b/IOB-WIN-MTC/DATA/CONF/LVF573.json
index 31c7b9be..8689d1d3 100644
--- a/IOB-WIN-MTC/DATA/CONF/LVF573.json
+++ b/IOB-WIN-MTC/DATA/CONF/LVF573.json
@@ -1,53 +1,66 @@
{
- "keyPartCount": "m30c1",
- "keyPartReq": "lpremain",
+ "keyPartCount": "GD179N_p1_58",
+ "keyPartReq": "GD179N_p1_x58",
"keyPartId": "",
- "keyProgName": "ncprog",
- "keyRunMode": "mode",
- "pingAsPowerOn": true,
+ "keyProgName": "GD179N_p1_52",
+ "keyRunMode": "GD179N_p1_49",
+ "pingAsPowerOn": false,
"condPowerOn": {
- "keyName": "avail",
+ "keyName": "GD179N_dtop_2",
"targetValue": "AVAILABLE"
},
"condWork": [
{
- "keyName": "rstat",
+ "keyName": "GD179N_p1_48",
"targetValue": "ACTIVE"
}
],
"fluxLogVeto": [
- "tooltype",
- "E_workmaterial",
- "E_toolclearance",
- "E_edgemeasure",
- "E_cintpos",
- "E_toolid",
- "E_approxdiam",
- "E_diamwear",
- "E_toolmaterial",
- "E_lengthwear",
- "E_actualdiam",
- "E_flutes",
- "E_probetype",
- "E_approxlength"
+ "E_GD179N_p1_50",
+ "E_GD179N_p1_51",
+ "E_GD179N_p1_53",
+ "E_GD179N_p1_54",
+ "E_GD179N_p1_56",
+ "E_GD179N_p1_57",
+ "E_GD179N_p1_63",
+ "E_GD179N_p1_64",
+ "E_GD179N_p1_65",
+ "E_GD179N_p1_66",
+ "E_GD179N_p1_67",
+ "E_GD179N_p1_68",
+ "E_GD179N_p1_69",
+ "E_GD179N_p1_x57",
+ "S_GD179N_p1_70",
+ "S_GD179N_p1_71",
+ "S_GD179N_p1_72"
],
"fluxLogVetoContains": [
- "E_macrorange"
+ "S_GD179N_Z_",
+ "S_GD179N_Y_",
+ "S_GD179N_X_",
+ "S_GD179N_C_",
+ "S_GD179N_B_",
+ "S_GD179N_A_",
+ "C_GD179N_A_",
+ "C_GD179N_B_",
+ "C_GD179N_C_",
+ "C_GD179N_X_",
+ "C_GD179N_Y_",
+ "C_GD179N_Z_"
],
"itemTranslation": {
- "avail": "Machine Available",
- "rstat": "Execution Mode",
- "mode": "Controller Mode",
- "ncprog": "Program Name",
- "m30c1": "Contapezzi",
- "lpremain": "Qta Richiesta",
- "fdovrd": "PATH FEED OVERRIDE",
- "rovrd": "PATH RAPID OVERRIDE"
+ "GD179N_dtop_2": "Machine Available",
+ "E_GD179N_p1_48": "Execution Mode",
+ "E_GD179N_p1_49": "Controller Mode",
+ "E_GD179N_p1_52": "Program Name",
+ "E_GD179N_p1_58": "Contapezzi",
+ "E_GD179N_p1_x58": "Qta Richiesta",
+ "E_GD179N_p1_61": "PATH FEED OVERRIDE",
+ "E_GD179N_p1_62": "PATH RAPID OVERRIDE"
},
"paramsEndThresh": {
"PosAct": 50,
"PosTgt": 50,
- "InvDDone": 50,
- "runtime": 5
+ "InvDDone": 50
}
}
\ No newline at end of file
diff --git a/IOB-WIN-MTC/DATA/CONF/LVF652.ini b/IOB-WIN-MTC/DATA/CONF/LVF652.ini
new file mode 100644
index 00000000..9e7c440a
--- /dev/null
+++ b/IOB-WIN-MTC/DATA/CONF/LVF652.ini
@@ -0,0 +1,76 @@
+;Configurazione IOB-WIN
+[IOB]
+;Centro di lavoro HAAS MTConnect
+CNCTYPE=MTConnect
+PING_MS_TIMEOUT=500
+
+[MACHINE]
+VENDOR=HAAS
+MODEL=UMC-500
+
+[CNC]
+IP=192.168.14.46
+;IP=192.168.0.32
+PORT=8082
+GETPRGNAME=true
+
+[SERVER]
+MPIP=http://192.168.1.64
+MPURL=/MP/IO
+CMDBASE=/IOB/input/
+CMDFLOG=/IOB/flog/
+CMDALIVE=/IOB
+CMDENABLED=/IOB/enabled/
+CMDADV1=?valore=
+CMDREBO=/sendReboot.aspx?idxMacchina=
+
+[MEMORY]
+ADDR_READ=DB9999.DBB0
+ADDR_WRITE=DB9999.DBB0
+SIZE_READ=0
+SIZE_WRITE=0
+;BIT0=CONN
+;BIT1=DB60.DBB1
+;BIT2=PZCOUNT.STD.DB700.DBW22
+;BIT3=DB60.DBB3
+;BIT4=DB60.DBB4
+
+
+[BLINK]
+;MAX_COUNTER_BLINK = 30
+MAX_COUNTER_BLINK = 15
+;bit0 = 0
+;bit1 = 0
+;bit2 = 1
+;bit3 = 1
+;bit4 = 1
+;bit5 = 0
+;bit6 = 0
+;bit7 = 0
+BLINK_FILT=0
+;BLINK_FILT=28
+
+[OPTPAR]
+PZCOUNT_MODE=MTC
+DISABLE_PZCOUNT=FALSE
+ENABLE_SEND_PZC_BLOCK=TRUE
+MIN_SEND_PZC_BLOCK=0
+MAX_SEND_PZC_BLOCK=100
+ENABLE_DYN_DATA=FALSE
+FORCE_DYN_DATA=TRUE
+ENABLE_DATA_FILTER=TRUE
+ENABLE_MTC_RESTART=TRUE
+DISABLE_SEND_WDST=TRUE
+
+; conf parametri memoria READ/WRITE
+MTC_PARAM_CONF=LVF652.json
+
+[BRANCH]
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=LVF
+HostOS=WIN
+HostName=Server-MAPO-IOB
+HostAddr=192.168.1.208
diff --git a/IOB-WIN-MTC/DATA/CONF/LVF652.json b/IOB-WIN-MTC/DATA/CONF/LVF652.json
new file mode 100644
index 00000000..9a977559
--- /dev/null
+++ b/IOB-WIN-MTC/DATA/CONF/LVF652.json
@@ -0,0 +1,53 @@
+{
+ "keyPartCount": "m30c1",
+ "keyPartReq": "lpremain",
+ "keyPartId": "",
+ "keyProgName": "ncprog",
+ "keyRunMode": "mode",
+ "pingAsPowerOn": true,
+ "condPowerOn": {
+ "keyName": "avail",
+ "targetValue": "AVAILABLE"
+ },
+ "condWork": [
+ {
+ "keyName": "rstat",
+ "targetValue": "ACTIVE"
+ }
+ ],
+ "fluxLogVeto": [
+ "tooltype",
+ "E_addresscodes",
+ "E_workmaterial",
+ "E_toolclearance",
+ "E_edgemeasure",
+ "E_cintpos",
+ "E_toolid",
+ "E_approxdiam",
+ "E_diamwear",
+ "E_toolmaterial",
+ "E_lengthwear",
+ "E_actualdiam",
+ "E_flutes",
+ "E_probetype",
+ "E_approxlength"
+ ],
+ "fluxLogVetoContains": [
+ "E_macrorange"
+ ],
+ "itemTranslation": {
+ "avail": "Machine Available",
+ "rstat": "Execution Mode",
+ "mode": "Controller Mode",
+ "ncprog": "Program Name",
+ "m30c1": "Contapezzi",
+ "lpremain": "Qta Richiesta",
+ "fdovrd": "PATH FEED OVERRIDE",
+ "rovrd": "PATH RAPID OVERRIDE"
+ },
+ "paramsEndThresh": {
+ "PosAct": 50,
+ "PosTgt": 50,
+ "InvDDone": 50
+ }
+}
\ No newline at end of file
diff --git a/IOB-WIN-MTC/DATA/CONF/MAIN.ini b/IOB-WIN-MTC/DATA/CONF/MAIN.ini
index 0eb8facd..f8f64958 100644
--- a/IOB-WIN-MTC/DATA/CONF/MAIN.ini
+++ b/IOB-WIN-MTC/DATA/CONF/MAIN.ini
@@ -24,7 +24,7 @@ CLI_INST=SteamWareSim
;STARTLIST=3024
;STARTLIST=SIMUL_01
;STARTLIST=FOV062
-STARTLIST=LVF651
+STARTLIST=LVF652
MAXCNC=10
diff --git a/IOB-WIN-MTC/DATA/CONF/i658F.ini b/IOB-WIN-MTC/DATA/CONF/i658F.ini
new file mode 100644
index 00000000..e825d394
--- /dev/null
+++ b/IOB-WIN-MTC/DATA/CONF/i658F.ini
@@ -0,0 +1,75 @@
+;Configurazione IOB-WIN
+[IOB]
+;Centro di lavoro HAAS MTConnect
+CNCTYPE=MTConnect
+PING_MS_TIMEOUT=500
+
+[MACHINE]
+VENDOR=HAAS
+MODEL=UMC-500
+
+[CNC]
+IP=192.168.14.39
+PORT=8082
+GETPRGNAME=true
+
+[SERVER]
+MPIP=http://192.168.1.64
+MPURL=/MP/IO
+CMDBASE=/IOB/input/
+CMDFLOG=/IOB/flog/
+CMDALIVE=/IOB
+CMDENABLED=/IOB/enabled/
+CMDADV1=?valore=
+CMDREBO=/sendReboot.aspx?idxMacchina=
+
+[MEMORY]
+ADDR_READ=DB9999.DBB0
+ADDR_WRITE=DB9999.DBB0
+SIZE_READ=0
+SIZE_WRITE=0
+;BIT0=CONN
+;BIT1=DB60.DBB1
+;BIT2=PZCOUNT.STD.DB700.DBW22
+;BIT3=DB60.DBB3
+;BIT4=DB60.DBB4
+
+
+[BLINK]
+;MAX_COUNTER_BLINK = 30
+MAX_COUNTER_BLINK = 15
+;bit0 = 0
+;bit1 = 0
+;bit2 = 1
+;bit3 = 1
+;bit4 = 1
+;bit5 = 0
+;bit6 = 0
+;bit7 = 0
+BLINK_FILT=0
+;BLINK_FILT=28
+
+[OPTPAR]
+PZCOUNT_MODE=MTC
+DISABLE_PZCOUNT=FALSE
+ENABLE_SEND_PZC_BLOCK=TRUE
+MIN_SEND_PZC_BLOCK=0
+MAX_SEND_PZC_BLOCK=100
+ENABLE_DYN_DATA=FALSE
+FORCE_DYN_DATA=TRUE
+ENABLE_DATA_FILTER=TRUE
+ENABLE_MTC_RESTART=TRUE
+DISABLE_SEND_WDST=TRUE
+
+; conf parametri memoria READ/WRITE
+MTC_PARAM_CONF=i658F.json
+
+[BRANCH]
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=LVF
+HostOS=WIN
+HostName=Server-MAPO-IOB
+HostAddr=192.168.1.208
diff --git a/IOB-WIN-MTC/DATA/CONF/i658F.json b/IOB-WIN-MTC/DATA/CONF/i658F.json
new file mode 100644
index 00000000..20c5c04f
--- /dev/null
+++ b/IOB-WIN-MTC/DATA/CONF/i658F.json
@@ -0,0 +1,57 @@
+{
+ "keyPartCount": "m30c1",
+ "keyPartReq": "lpremain",
+ "keyPartId": "",
+ "keyProgName": "ncprog",
+ "keyRunMode": "mode",
+ "pingAsPowerOn": true,
+ "condPowerOn": {
+ "keyName": "avail",
+ "targetValue": "AVAILABLE"
+ },
+ "condWork": [
+ {
+ "keyName": "rstat",
+ "targetValue": "ACTIVE"
+ }
+ ],
+ "fluxLogVeto": [
+ "tooltype",
+ "E_workmaterial",
+ "E_toolclearance",
+ "E_edgemeasure",
+ "E_cintpos",
+ "E_toolid",
+ "E_approxdiam",
+ "E_diamwear",
+ "E_toolmaterial",
+ "E_lengthwear",
+ "E_actualdiam",
+ "E_flutes",
+ "E_probetype",
+ "E_approxlength",
+ "E_macrorange1",
+ "E_macrorange2",
+ "E_macrorange3",
+ "E_macrorange4",
+ "E_macrorange5",
+ "E_macrorange6",
+ "E_maxfeedaccel"
+ ],
+ "itemTranslation": {
+ "avail": "Machine Available",
+ "rstat": "Execution Mode",
+ "mode": "Controller Mode",
+ "ncprog": "Program Name",
+ "m30c1": "Contapezzi",
+ "lpremain": "Qta Richiesta",
+ "fdovrd": "PATH FEED OVERRIDE",
+ "rovrd": "PATH RAPID OVERRIDE"
+ },
+ "paramsEndThresh": {
+ "machineruntime": 300,
+ "PosAct": 50,
+ "PosTgt": 50,
+ "InvDDone": 50
+ }
+}
\ No newline at end of file
diff --git a/IOB-WIN-MTC/DATA/CONF/iOKU1F.ini b/IOB-WIN-MTC/DATA/CONF/iOKU1F.ini
new file mode 100644
index 00000000..cefa269f
--- /dev/null
+++ b/IOB-WIN-MTC/DATA/CONF/iOKU1F.ini
@@ -0,0 +1,76 @@
+;Configurazione IOB-WIN
+[IOB]
+;Centro di lavoro HAAS MTConnect
+CNCTYPE=MTConnect
+PING_MS_TIMEOUT=500
+
+[MACHINE]
+VENDOR=HAAS
+MODEL=VF-1
+
+[CNC]
+IP=192.168.14.41
+;IP=192.168.1.49
+PORT=8082
+GETPRGNAME=true
+
+[SERVER]
+MPIP=http://192.168.1.64
+MPURL=/MP/IO
+CMDBASE=/IOB/input/
+CMDFLOG=/IOB/flog/
+CMDALIVE=/IOB
+CMDENABLED=/IOB/enabled/
+CMDADV1=?valore=
+CMDREBO=/sendReboot.aspx?idxMacchina=
+
+[MEMORY]
+ADDR_READ=DB9999.DBB0
+ADDR_WRITE=DB9999.DBB0
+SIZE_READ=0
+SIZE_WRITE=0
+;BIT0=CONN
+;BIT1=DB60.DBB1
+;BIT2=PZCOUNT.STD.DB700.DBW22
+;BIT3=DB60.DBB3
+;BIT4=DB60.DBB4
+
+
+[BLINK]
+;MAX_COUNTER_BLINK = 30
+MAX_COUNTER_BLINK = 15
+;bit0 = 0
+;bit1 = 0
+;bit2 = 1
+;bit3 = 1
+;bit4 = 1
+;bit5 = 0
+;bit6 = 0
+;bit7 = 0
+BLINK_FILT=0
+;BLINK_FILT=28
+
+[OPTPAR]
+PZCOUNT_MODE=MTC
+DISABLE_PZCOUNT=FALSE
+ENABLE_SEND_PZC_BLOCK=TRUE
+MIN_SEND_PZC_BLOCK=0
+MAX_SEND_PZC_BLOCK=100
+ENABLE_DYN_DATA=FALSE
+FORCE_DYN_DATA=TRUE
+ENABLE_DATA_FILTER=TRUE
+ENABLE_MTC_RESTART=TRUE
+DISABLE_SEND_WDST=TRUE
+
+; conf parametri memoria READ/WRITE
+MTC_PARAM_CONF=iOKU1F.json
+
+[BRANCH]
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=LVF
+HostOS=WIN
+HostName=Server-MAPO-IOB
+HostAddr=192.168.1.208
diff --git a/IOB-WIN-MTC/DATA/CONF/iOKU1F.json b/IOB-WIN-MTC/DATA/CONF/iOKU1F.json
new file mode 100644
index 00000000..92ab75f2
--- /dev/null
+++ b/IOB-WIN-MTC/DATA/CONF/iOKU1F.json
@@ -0,0 +1,52 @@
+{
+ "keyPartCount": "m30c1",
+ "keyPartReq": "lpremain",
+ "keyPartId": "",
+ "keyProgName": "ncprog",
+ "keyRunMode": "mode",
+ "pingAsPowerOn": true,
+ "condPowerOn": {
+ "keyName": "avail",
+ "targetValue": "AVAILABLE"
+ },
+ "condWork": [
+ {
+ "keyName": "rstat",
+ "targetValue": "ACTIVE"
+ }
+ ],
+ "fluxLogVeto": [
+ "S_xyzact",
+ "S_cyremtim",
+ "E_addresscodes",
+ "E_gcodes",
+ "E_L2p2block",
+ "E_L2p2line"
+ ],
+ "itemTranslation": {
+ "avail": "Machine Available",
+ "rstat": "Execution Mode",
+ "mode": "Controller Mode",
+ "ncprog": "Program Name",
+ "m30c1": "Contapezzi",
+ "lpremain": "Qta Richiesta",
+ "fdovrd": "PATH FEED OVERRIDE",
+ "rovrd": "PATH RAPID OVERRIDE"
+ },
+ "paramsEndThresh": {
+ "L2p2SpindleRunTime": 1800,
+ "S_L2p2TotalSpindleRunTime": 1800,
+ "S_L2p2CuttingTime": 1800,
+ "S_L2p2TotalCuttingTime": 1800,
+ "S_L2Z2actw": 1200,
+ "S_L2Z2actm": 1200,
+ "S_L2X2load": 1200,
+ "S_L2X2actw": 1200,
+ "S_L2X2actm": 1200,
+ "S_L2Z1actm": 1200,
+ "S_L2S2SurfaceSpeedA": 1200,
+ "PosAct": 50,
+ "PosTgt": 50,
+ "InvDDone": 50
+ }
+}
\ No newline at end of file
diff --git a/IOB-WIN-MTC/DATA/CONF/iOKU1T.ini b/IOB-WIN-MTC/DATA/CONF/iOKU1T.ini
new file mode 100644
index 00000000..183e5cf6
--- /dev/null
+++ b/IOB-WIN-MTC/DATA/CONF/iOKU1T.ini
@@ -0,0 +1,75 @@
+;Configurazione IOB-WIN
+[IOB]
+;Centro di lavoro Okuma MTConnect
+CNCTYPE=MTConnect
+PING_MS_TIMEOUT=500
+
+[MACHINE]
+VENDOR=Okuma
+MODEL=Lathe 2SP-35HG
+
+[CNC]
+IP=192.168.14.51
+;IP=192.168.0.47
+PORT=5000
+GETPRGNAME=true
+
+[SERVER]
+MPIP=http://192.168.1.64
+MPURL=/MP/IO
+CMDBASE=/IOB/input/
+CMDFLOG=/IOB/flog/
+CMDALIVE=/IOB
+CMDENABLED=/IOB/enabled/
+CMDADV1=?valore=
+CMDREBO=/sendReboot.aspx?idxMacchina=
+
+[MEMORY]
+ADDR_READ=DB9999.DBB0
+ADDR_WRITE=DB9999.DBB0
+SIZE_READ=0
+SIZE_WRITE=0
+;BIT0=CONN
+;BIT1=DB60.DBB1
+;BIT2=PZCOUNT.STD.DB700.DBW22
+;BIT3=DB60.DBB3
+;BIT4=DB60.DBB4
+
+
+[BLINK]
+;MAX_COUNTER_BLINK = 30
+MAX_COUNTER_BLINK = 15
+;bit0 = 0
+;bit1 = 0
+;bit2 = 1
+;bit3 = 1
+;bit4 = 1
+;bit5 = 0
+;bit6 = 0
+;bit7 = 0
+BLINK_FILT=0
+;BLINK_FILT=28
+
+[OPTPAR]
+PZCOUNT_MODE=MTC
+DISABLE_PZCOUNT=FALSE
+ENABLE_SEND_PZC_BLOCK=TRUE
+MIN_SEND_PZC_BLOCK=0
+MAX_SEND_PZC_BLOCK=100
+ENABLE_DYN_DATA=FALSE
+FORCE_DYN_DATA=TRUE
+ENABLE_DATA_FILTER=TRUE
+ENABLE_MTC_RESTART=TRUE
+
+; conf parametri memoria READ/WRITE
+MTC_PARAM_CONF=iOKU1T.json
+
+[BRANCH]
+NAME=master
+
+; Tags manuali
+[TAGS]
+Customer=LVF
+HostOS=WIN
+HostName=Server-MAPO-IOB
+HostAddr=192.168.1.208
diff --git a/IOB-WIN-MTC/DATA/CONF/iOKU1T.json b/IOB-WIN-MTC/DATA/CONF/iOKU1T.json
new file mode 100644
index 00000000..7efd0d4d
--- /dev/null
+++ b/IOB-WIN-MTC/DATA/CONF/iOKU1T.json
@@ -0,0 +1,78 @@
+{
+ "keyEStop": "L2estop",
+ "keyPartCount": "L2p2partcount",
+ "keyPartReq": "",
+ "keyPartId": "",
+ "keyProgName": "L2p2program",
+ "keyRunMode": "L2p2mode",
+ "pingAsPowerOn": true,
+ "condPowerOn": {
+ "keyName": "L2avail",
+ "targetValue": "AVAILABLE"
+ },
+ "condWork": [
+ {
+ "keyName": "L2p2execution",
+ "targetValue": "ACTIVE"
+ }
+ ],
+ "fluxLogVeto": [
+ "L2p1BlockNumber",
+ "L2p2BlockNumber",
+ "L2p1block",
+ "L2p1line",
+ "L2S1ChuckState",
+ "L2p1LPathPos",
+ "L2p1CommonVariable"
+ ],
+ "itemTranslation": {
+ "L2avail": "Machine Available",
+ "L2p2execution": "Execution Mode",
+ "L2p2mode": "Controller Mode",
+ "L2p2program": "Program Name",
+ "L2p2partcount": "Contapezzi",
+ "L2estop": "Emergenza",
+ "p2Fovr": "PATH FEED OVERRIDE",
+ "rovrd": "PATH RAPID OVERRIDE",
+ "L2S1speed": "Spindle C1 Actual SPEED",
+ "L2S1load": "Spindle C1 LOAD",
+ "L2S1ovr": "Spindle C1 OVERRIDE",
+ "L2S2speed": "Spindle C2 Actual SPEED",
+ "L2S2load": "Spindle C2 LOAD",
+ "L2S2ovr": "Spindle C2 OVERRIDE",
+ "L2p1OperatingTime": "OPERATING TIME",
+ "L2p1RunningTime": "RUNNING TIME"
+ },
+ "paramsEndThresh": {
+ "PosAct": 50,
+ "PosTgt": 50,
+ "InvDDone": 50,
+ "L2Z1actw": 30,
+ "L2Z1actm": 10,
+ "L2X1actw": 50,
+ "L2Z1load": 10,
+ "L2X1actm": 100,
+ "L2S1speed": 100,
+ "L2S1load": 10,
+ "L2X1load": 10,
+ "L2S1ovr": 10,
+ "L2S2speed": 100,
+ "L2S2load": 10,
+ "L2Z2load": 5,
+ "L2S2ovr": 10,
+ "L2S1cmd": 100,
+ "L2p1OperatingTime": 1800,
+ "L2p1RunningTime": 1800,
+ "L2p1TotalRunningTime": 1800,
+ "L2p1TotalOperatingTime": 1800,
+ "L2p2OperatingTime": 1800,
+ "L2p2RunningTime": 1800,
+ "L2p2TotalRunningTime": 1800,
+ "L2p2TotalOperatingTime": 60,
+ "L2p1SpindleRunTime": 1800,
+ "L2p1TotalSpindleRunTime": 1800,
+ "L2p1TotalCuttingTime": 1800,
+ "L2p1CuttingTime": 1800,
+ "L2S1SurfaceSpeedA": 3600
+ }
+}
\ No newline at end of file
diff --git a/IOB-WIN-MTC/IOB-WIN-MTC.csproj b/IOB-WIN-MTC/IOB-WIN-MTC.csproj
index cd9ce028..60853a56 100644
--- a/IOB-WIN-MTC/IOB-WIN-MTC.csproj
+++ b/IOB-WIN-MTC/IOB-WIN-MTC.csproj
@@ -295,12 +295,12 @@
-
- Always
-
-
- Always
-
+
+
+
+
+
+
@@ -311,12 +311,16 @@
-
+
+
+
Always
-
+
Always
+
+
diff --git a/IOB-WIN-MTC/Iob/MTConn.cs b/IOB-WIN-MTC/Iob/MTConn.cs
index af0f886c..90aecc49 100644
--- a/IOB-WIN-MTC/Iob/MTConn.cs
+++ b/IOB-WIN-MTC/Iob/MTConn.cs
@@ -32,13 +32,14 @@ namespace IOB_WIN_MTC.Iob
/// Configurazione (v 4.x)
public MTConn(AdapterFormNext caller, IobConfTree IobConfFull) : base(caller, IobConfFull)
{
- // gestione invio ritardato contapezzi
+ // gestione parametri da nuova IobConfFull
+ enableDataFilter = IobConfFull.FluxLog.EnableFilt;
+ MaxSecReload = IobConfFull.FluxLog.MaxSecReload;
+ readErrorMax = IobConfFull.Device.ReadErrorMax;
+ readErrorSleepTime = IobConfFull.Device.ReadErrorSleepTime;
+ enableCliRestart = IobConfFull.Device.Connect.EnableRestart;
+
- // gestione data filtering...
- if (!string.IsNullOrEmpty(getOptPar("ENABLE_DATA_FILTER")))
- {
- bool.TryParse(getOptPar("ENABLE_DATA_FILTER"), out enableDataFilter);
- }
// gestione data unavailable = poweroff...
if (!string.IsNullOrEmpty(getOptPar("UNAVAIL_POWEROFF")))
{
@@ -52,16 +53,20 @@ namespace IOB_WIN_MTC.Iob
// gestione override contapezzi
- // gestione restart OpcUa client...
- if (!string.IsNullOrEmpty(getOptPar("ENABLE_CLI_RESTART")))
+
+ // vecchia gestione custom OPT_PAR
+#if false
+ // gestione data filtering...
+ if (!string.IsNullOrEmpty(getOptPar("ENABLE_DATA_FILTER")))
{
- bool.TryParse(getOptPar("ENABLE_CLI_RESTART"), out enableCliRestart);
- }
+ bool.TryParse(getOptPar("ENABLE_DATA_FILTER"), out enableDataFilter);
+ }
// init MaxSecReload
if (!string.IsNullOrEmpty(getOptPar("MAX_ELAPSED_TIME_SEC")))
{
int.TryParse(getOptPar("MAX_ELAPSED_TIME_SEC"), out MaxSecReload);
}
+
// init gestione reset errori lettura
if (!string.IsNullOrEmpty(getOptPar("READ_ERROR_MAX")))
{
@@ -71,6 +76,13 @@ namespace IOB_WIN_MTC.Iob
{
int.TryParse(getOptPar("READ_ERROR_SLEEP_TIME"), out readErrorSleepTime);
}
+
+ // gestione restart OpcUa client...
+ if (!string.IsNullOrEmpty(getOptPar("ENABLE_CLI_RESTART")))
+ {
+ bool.TryParse(getOptPar("ENABLE_CLI_RESTART"), out enableCliRestart);
+ }
+#endif
// init datetime counters
DateTime adesso = DateTime.Now;
@@ -1655,6 +1667,8 @@ namespace IOB_WIN_MTC.Iob
lgInfo("CURRENT received");
queueInEnabCurr = true;
connectionOk = true;
+ // se lastcurrent > MinRefreshPeriodSec sec --> forzo send...
+ bool forceSend = DateTime.Now.Subtract(lastCurrent).TotalSeconds > IOBConfFull.Device.MinRefreshPeriodSec;
lastCurrent = DateTime.Now;
if (document != null)
{
@@ -1662,7 +1676,7 @@ namespace IOB_WIN_MTC.Iob
{
lgInfo($"CurrentSuccessful: trovati {document.Streams.Count()} streams");
}
- checkAndSend(document, true);
+ checkAndSend(document, forceSend);
}
else
{