diff --git a/CVCncLib/CVCncLib.dll b/CVCncLib/CVCncLib.dll
index 9551de0f..bdec51d9 100644
Binary files a/CVCncLib/CVCncLib.dll and b/CVCncLib/CVCncLib.dll differ
diff --git a/IOB-UT-NEXT/IOB-UT-NEXT.csproj b/IOB-UT-NEXT/IOB-UT-NEXT.csproj
index 0f57fd38..0f5de88d 100644
--- a/IOB-UT-NEXT/IOB-UT-NEXT.csproj
+++ b/IOB-UT-NEXT/IOB-UT-NEXT.csproj
@@ -59,8 +59,8 @@
..\packages\SharpZipLib.1.3.1\lib\net45\ICSharpCode.SharpZipLib.dll
-
- ..\packages\MapoSDK.6.14.2202.2819\lib\net40\MapoSDK.dll
+
+ ..\packages\MapoSDK.6.14.2204.2115\lib\net40\MapoSDK.dll
..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll
@@ -69,7 +69,7 @@
..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll
- ..\packages\NLog.4.7.11\lib\net45\NLog.dll
+ ..\packages\NLog.4.7.13\lib\net45\NLog.dll
..\packages\Pipelines.Sockets.Unofficial.2.2.0\lib\net461\Pipelines.Sockets.Unofficial.dll
diff --git a/IOB-UT-NEXT/packages.config b/IOB-UT-NEXT/packages.config
index 857d3932..ebcbf207 100644
--- a/IOB-UT-NEXT/packages.config
+++ b/IOB-UT-NEXT/packages.config
@@ -1,9 +1,9 @@
-
+
-
+
diff --git a/IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX.ini b/IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01.ini
similarity index 87%
rename from IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX.ini
rename to IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01.ini
index 84398478..0af3ab79 100644
--- a/IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01.ini
@@ -22,6 +22,7 @@ CMDALIVE=/IOB
CMDENABLED=/IOB/enabled/
CMDADV1=?valore=
CMDREBO=/IOB/sendReboot?idxMacchina=
+;CMDREBO=/sendReboot.aspx?idxMacchina=
[MEMORY]
ADDR_READ=41001
@@ -59,16 +60,16 @@ FORCE_DYN_DATA=TRUE
DELTA_VAL=0.1
; clock base (da 10ms)
-timerIntMs=20
+timerIntMs=10
; conf parametri memoria READ/WRITE
-PARAM_CONF=GIA_CEDAX.json
+PARAM_CONF=GIACO_CEDAX_01.json
NO_PING=TRUE
; conf blocchi memoria x READ
-MEM_BLOCK=GIA_CEDAX_MBlock.json
+MEM_BLOCK=GIACO_CEDAX_01_MBlock.json
; conf aree allarme
-ALARM_CONF=GIA_CEDAX_alarm.json
+ALARM_CONF=GIACO_CEDAX_01_alarm.json
[BRANCH]
NAME=master
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01.json b/IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01.json
new file mode 100644
index 00000000..30690b79
--- /dev/null
+++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01.json
@@ -0,0 +1,146 @@
+{
+ "mMapWrite": {
+ },
+ "mMapRead": {
+ "Stag_H2O": {
+ "name": "Stag_H2O",
+ "description": "Totale H2O Stagione",
+ "memAddr": "41001",
+ "tipoMem": "HLPInt",
+ "index": 1001,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 1,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ },
+ "Stag_Prod1": {
+ "name": "Stag_Prod1",
+ "description": "Totale Prodotto 1 Stagione",
+ "memAddr": "40003",
+ "tipoMem": "HLPInt",
+ "index": 1003,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 1,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ },
+ "Stag_Prod2": {
+ "name": "Stag_Prod2",
+ "description": "Totale Prodotto 2 Stagione",
+ "memAddr": "40005",
+ "tipoMem": "HLPInt",
+ "index": 1005,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 1,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ },
+ "Stag_Prod3": {
+ "name": "Stag_Prod3",
+ "description": "Totale Prodotto 3 Stagione",
+ "memAddr": "40007",
+ "tipoMem": "HLPInt",
+ "index": 1007,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 0.01,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ },
+ "Stag_Prod4": {
+ "name": "Stag_Prod4",
+ "description": "Totale Prodotto 4 Stagione",
+ "memAddr": "40009",
+ "tipoMem": "HLPInt",
+ "index": 1009,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 0.01,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ },
+ "Giorno_H2O": {
+ "name": "Giorno_H2O",
+ "description": "Totale H2O Giorno",
+ "memAddr": "41011",
+ "tipoMem": "HLPInt",
+ "index": 1011,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 1,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ },
+ "Giorno_Prod1": {
+ "name": "Giorno_Prod1",
+ "description": "Totale Prodotto 1 Giorno",
+ "memAddr": "40013",
+ "tipoMem": "HLPInt",
+ "index": 1013,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 1,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ },
+ "Giorno_Prod2": {
+ "name": "Giorno_Prod2",
+ "description": "Totale Prodotto 2 Giorno",
+ "memAddr": "40015",
+ "tipoMem": "HLPInt",
+ "index": 1015,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 1,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ },
+ "Giorno_Prod3": {
+ "name": "Giorno_Prod3",
+ "description": "Totale Prodotto 3 Giorno",
+ "memAddr": "40017",
+ "tipoMem": "HLPInt",
+ "index": 1017,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 0.01,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ },
+ "Giorno_Prod4": {
+ "name": "Giorno_Prod4",
+ "description": "Totale Prodotto 4 Giorno",
+ "memAddr": "40021",
+ "tipoMem": "HLPInt",
+ "index": 1021,
+ "size": 2,
+ "func": "MEDIAN",
+ "period": 90,
+ "factor": 0.01,
+ "minVal": 0,
+ "maxVal": 999999999,
+ "unit": "l"
+ }
+ }
+}
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX_MBlock.json b/IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01_MBlock.json
similarity index 60%
rename from IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX_MBlock.json
rename to IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01_MBlock.json
index 4c075c99..b5e46ee5 100644
--- a/IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX_MBlock.json
+++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01_MBlock.json
@@ -1,5 +1,5 @@
{
"ReadBlocks": {
- "41001": 20
+ "40999": 30
}
}
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX_alarm.json b/IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01_alarm.json
similarity index 56%
rename from IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX_alarm.json
rename to IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01_alarm.json
index aab8a08b..c684acec 100644
--- a/IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX_alarm.json
+++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_CEDAX_01_alarm.json
@@ -6,14 +6,14 @@
"index": 999,
"size": 2,
"messages": [
- "Alarm 01",
- "Alarm 02",
- "Alarm 03",
- "Alarm 04",
- "Alarm 05",
- "Alarm 06",
- "Alarm 07",
- "Alarm 08",
+ "##On Pompa 1",
+ "Allarme Pompa 1",
+ "##On Pompa 2",
+ "Allarme Pompa 2",
+ "##On Pompa 3",
+ "Allarme Pompa 3",
+ "##On Pompa 4",
+ "Allarme Pompa 4",
"##",
"##",
"##",
diff --git a/IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX.json b/IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX.json
deleted file mode 100644
index 794b0a6f..00000000
--- a/IOB-WIN-NEXT/DATA/CONF/GIA_CEDAX.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "mMapWrite": {
- },
- "mMapRead": {
- "Stag_H2O": {
- "name": "Stag_H2O",
- "description": "Totale H2O Stagione",
- "memAddr": "41001",
- "tipoMem": "Int",
- "index": 1,
- "size": 2,
- "func": "MEDIAN",
- "period": 90,
- "factor": 1,
- "minVal": 0,
- "maxVal": 999999999,
- "unit": "l"
- },
- "Stag_Prod1": {
- "name": "Stag_Prod1",
- "description": "Totale Prodotto 1 Stagione",
- "memAddr": "40003",
- "tipoMem": "Int",
- "index": 3,
- "size": 2,
- "func": "MEDIAN",
- "period": 90,
- "factor": 1,
- "minVal": 0,
- "maxVal": 999999999,
- "unit": "l"
- },
- "Stag_Prod2": {
- "name": "Stag_Prod2",
- "description": "Totale Prodotto 2 Stagione",
- "memAddr": "40005",
- "tipoMem": "Int",
- "index": 5,
- "size": 2,
- "func": "MEDIAN",
- "period": 90,
- "factor": 1,
- "minVal": 0,
- "maxVal": 999999999,
- "unit": "l"
- },
- "Stag_Prod3": {
- "name": "Stag_Prod3",
- "description": "Totale Prodotto 3 Stagione",
- "memAddr": "40007",
- "tipoMem": "Int",
- "index": 7,
- "size": 2,
- "func": "MEDIAN",
- "period": 90,
- "factor": 100,
- "minVal": 0,
- "maxVal": 999999999,
- "unit": "l"
- },
- "Stag_Prod4": {
- "name": "Stag_Prod4",
- "description": "Totale Prodotto 4 Stagione",
- "memAddr": "40007",
- "tipoMem": "Int",
- "index": 9,
- "size": 2,
- "func": "MEDIAN",
- "period": 90,
- "factor": 100,
- "minVal": 0,
- "maxVal": 999999999,
- "unit": "l"
- }
- }
-}
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini
index 5a0d755b..6c13f4f0 100644
--- a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini
+++ b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini
@@ -75,6 +75,6 @@ CLI_INST=SteamWareSim
;STARTLIST=PIZ09
;STARTLIST=VL25
;STARTLIST=SIMUL_03
-STARTLIST=GIA_CEDAX
+STARTLIST=GIACO_CEDAX_01
MAXCNC=10
\ No newline at end of file
diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
index e2536f5d..99ba2b71 100644
--- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
+++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj
@@ -90,8 +90,8 @@
False
ExtLib\krcc.dll
-
- ..\packages\MapoSDK.6.14.2202.2819\lib\net40\MapoSDK.dll
+
+ ..\packages\MapoSDK.6.14.2204.2115\lib\net40\MapoSDK.dll
..\packages\MathNet.Numerics.4.15.0\lib\net461\MathNet.Numerics.dll
@@ -406,7 +406,7 @@
Always
-
+
Always
@@ -454,10 +454,10 @@
Always
-
+
Always
-
+
Always
@@ -466,7 +466,7 @@
Always
-
+
Always
diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs
index 0b885b61..f079af54 100644
--- a/IOB-WIN-NEXT/IobModbusTCP.cs
+++ b/IOB-WIN-NEXT/IobModbusTCP.cs
@@ -81,13 +81,14 @@ namespace IOB_WIN_NEXT
public IobModbusTCP(AdapterForm caller, IobConfiguration IOBConf) : base(caller, IOBConf)
{
lgInfo("NEW IOB ModBus TCP");
+ DateTime adesso = DateTime.Now;
memMap = new plcMemMap();
if (IOBConf != null)
{
// gestione invio ritardato contapezzi
pzCountDelay = utils.CRI("pzCountDelay");
- lastPzCountSend = DateTime.Now;
- lastWarnODL = DateTime.Now;
+ lastPzCountSend = adesso;
+ lastWarnODL = adesso;
// inizializzo parametri...
parametri = new connParamModBusTCP()
{
@@ -223,6 +224,19 @@ namespace IOB_WIN_NEXT
}
break;
+ // caso speciale x Cedax, che usa HighVal moltiplicato x 32768...
+ case plcDataType.HLPInt:
+ if (size == 4)
+ {
+ valore = ModbusClient.ConvertRegistersToLong(listInt);
+ }
+ else if (size == 2)
+ {
+ int fact = Int16.MaxValue + 1;
+ valore = listInt[1] * fact + listInt[0];
+ }
+ break;
+
case plcDataType.Int:
default:
if (size == 4)
@@ -243,7 +257,7 @@ namespace IOB_WIN_NEXT
double valDouble;
// prima faccio eventuale fattore di scala...
double.TryParse(currMem.value, out valDouble);
- if (currMem.factor > 1)
+ if (currMem.factor != 1)
{
valDouble = valDouble * (double)currMem.factor;
}
@@ -256,9 +270,9 @@ namespace IOB_WIN_NEXT
int valInt;
// prima faccio eventuale fattore di scala...
int.TryParse(currMem.value, out valInt);
- if (currMem.factor > 1)
+ if (currMem.factor != 1)
{
- valInt = valInt * currMem.factor;
+ valInt = (int)(valInt * currMem.factor);
}
return valInt;
@@ -269,7 +283,7 @@ namespace IOB_WIN_NEXT
uint valUInt;
// prima faccio eventuale fattore di scala...
uint.TryParse(currMem.value, out valUInt);
- if (currMem.factor > 1)
+ if (currMem.factor != 1)
{
valUInt = valUInt * (uint)currMem.factor;
}
@@ -638,6 +652,7 @@ namespace IOB_WIN_NEXT
///
protected override void setParamPlc()
{
+ DateTime adesso = DateTime.Now;
// Creo oggetto connessione NC
parentForm.commPlcActive = true;
lgInfo($"Start init Adapter ModBus TCP all'IP {cIobConf.cncIpAddr} | port: {cIobConf.cncPort} | --> IOB {cIobConf.codIOB}");
@@ -680,7 +695,7 @@ namespace IOB_WIN_NEXT
string deltaValStr = getOptPar("DELTA_VAL");
if (!string.IsNullOrEmpty(deltaValStr))
{
- double.TryParse(deltaValStr.Replace(".",","), out deltaVal);
+ double.TryParse(deltaValStr.Replace(".", ","), out deltaVal);
}
bool enableByApp = utils.CRB("enableContapezzi");
bool enableByIob = (getOptPar("ENABLE_PZCOUNT") == "TRUE");
@@ -721,7 +736,7 @@ namespace IOB_WIN_NEXT
}
// ora tento avvio PLC... SE PING OK...
- lastPING = DateTime.Now;
+ lastPING = adesso;
IPStatus esitoPing = testPingMachine;
if (esitoPing == IPStatus.Success)
{
@@ -990,7 +1005,7 @@ namespace IOB_WIN_NEXT
{
foreach (var item in memSetR)
{
- readBlockHoldingReg(item.Key, item.Value, HoldRegBaseAddr);
+ readBlockHoldingReg(item.Key, item.Value, parametri.holdRegBaseAddr);
Thread.Sleep(100);
}
}
@@ -1287,6 +1302,8 @@ namespace IOB_WIN_NEXT
}
}
connectionOk = false;
+ // resetto last ping...
+ lastPING = DateTime.Now.AddMinutes(-1);
}
///
diff --git a/IOB-WIN-NEXT/IobSiemens.cs b/IOB-WIN-NEXT/IobSiemens.cs
index f882b92a..fe0abcac 100644
--- a/IOB-WIN-NEXT/IobSiemens.cs
+++ b/IOB-WIN-NEXT/IobSiemens.cs
@@ -142,9 +142,9 @@ namespace IOB_WIN_NEXT
int valInt;
// prima faccio eventuale fattore di scala...
int.TryParse(currMem.value, out valInt);
- if (currMem.factor > 1)
+ if (currMem.factor != 1)
{
- valInt = valInt * currMem.factor;
+ valInt = (int)(valInt * currMem.factor);
}
return valInt;
@@ -155,7 +155,7 @@ namespace IOB_WIN_NEXT
uint valUInt;
// prima faccio eventuale fattore di scala...
uint.TryParse(currMem.value, out valUInt);
- if (currMem.factor > 1)
+ if (currMem.factor != 1)
{
valUInt = valUInt * (uint)currMem.factor;
}
diff --git a/IOB-WIN-NEXT/IobSimula.cs b/IOB-WIN-NEXT/IobSimula.cs
index 665e7139..92787889 100644
--- a/IOB-WIN-NEXT/IobSimula.cs
+++ b/IOB-WIN-NEXT/IobSimula.cs
@@ -802,7 +802,7 @@ namespace IOB_WIN_NEXT
float.TryParse(item.Value.value, out lastVal);
if (lastVal == 0)
{
- lastVal = item.Value.maxVal - item.Value.factor;
+ lastVal = item.Value.maxVal - (float)item.Value.factor;
}
// decremento casuale...
float newVal = lastVal - ((float)item.Value.factor * rnd.Next(40, 120) / 100);
@@ -827,7 +827,7 @@ namespace IOB_WIN_NEXT
else
{
// uso factor come fattore di divisione x simulare decimali
- float randVal = ((float)rnd.Next(item.Value.minVal, item.Value.maxVal)) / item.Value.factor;
+ float randVal = ((float)rnd.Next(item.Value.minVal, item.Value.maxVal)) / (float)item.Value.factor;
outVal.Add(item.Key, randVal.ToString());
}
}
diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config
index e52e0c09..798b3c17 100644
--- a/IOB-WIN-NEXT/packages.config
+++ b/IOB-WIN-NEXT/packages.config
@@ -2,7 +2,7 @@
-
+