From c691a677d207c7ea00ea220cff430d9826edbc78 Mon Sep 17 00:00:00 2001 From: "S.E.Locatelli" Date: Wed, 13 Jul 2022 18:10:05 +0200 Subject: [PATCH 1/3] =?UTF-8?q?centerfrigo:=20-=20update=20conf=20e=20scri?= =?UTF-8?q?ttura=20real=20-=20=C3=A8=20LowHigh=20(NON=20HighLow)=20-=20da?= =?UTF-8?q?=20aggiornare=20SDK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json | 72 ++++++++++++++++--- IOB-WIN-NEXT/DATA/CONF/MAIN.ini | 2 +- IOB-WIN-NEXT/IobModbusTCP.cs | 6 ++ 3 files changed, 71 insertions(+), 9 deletions(-) diff --git a/IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json b/IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json index 7b06ce3d..3d53fc48 100644 --- a/IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json +++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json @@ -1,17 +1,73 @@ { "mMapWrite": { - "TestWrite": { - "name": "TestWrite", - "description": "Test Scrittura", - "memAddr": "41621", - "tipoMem": "Real", - "index": 1621, + "TestWrite01": { + "name": "TestWrite01", + "description": "Test Scrittura 01", + "memAddr": "44010", + "tipoMem": "FloatBADC", + "index": 4010, "size": 2, "func": "MEDIAN", "period": 60, "factor": 1, - "minVal": -100, - "maxVal": 100, + "minVal": 0, + "maxVal": 15, + "unit": "°C" + }, + "TestWrite02": { + "name": "TestWrite02", + "description": "Test Scrittura 02", + "memAddr": "44012", + "tipoMem": "FloatBADC", + "index": 4012, + "size": 2, + "func": "MEDIAN", + "period": 60, + "factor": 1, + "minVal": 0, + "maxVal": 15, + "unit": "°C" + }, + "TestWrite03": { + "name": "TestWrite03", + "description": "Test Scrittura 03", + "memAddr": "44014", + "tipoMem": "FloatBADC", + "index": 4014, + "size": 2, + "func": "MEDIAN", + "period": 60, + "factor": 1, + "minVal": 0, + "maxVal": 15, + "unit": "°C" + }, + "TestWrite04": { + "name": "TestWrite04", + "description": "Test Scrittura 04", + "memAddr": "44016", + "tipoMem": "FloatBADC", + "index": 4016, + "size": 2, + "func": "MEDIAN", + "period": 60, + "factor": 1, + "minVal": 0, + "maxVal": 15, + "unit": "°C" + }, + "TestWrite05": { + "name": "TestWrite05", + "description": "Test Scrittura 05", + "memAddr": "44018", + "tipoMem": "FloatBADC", + "index": 4018, + "size": 2, + "func": "MEDIAN", + "period": 60, + "factor": 1, + "minVal": 0, + "maxVal": 15, "unit": "°C" }, "SetPoint_Tunnel": { diff --git a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini index 54d5fe95..8de8fe46 100644 --- a/IOB-WIN-NEXT/DATA/CONF/MAIN.ini +++ b/IOB-WIN-NEXT/DATA/CONF/MAIN.ini @@ -38,6 +38,6 @@ CLI_INST=SteamWareSim ;STARTLIST=GIACO_ICOEL_002 ;STARTLIST=GIACO_CENTERFRIGO ;STARTLIST=GIACO_NWSE -STARTLIST=SIMUL_01 +STARTLIST=GIACO_CENTERFRIGO MAXCNC=10 \ No newline at end of file diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index 6f6de41f..9f8e8a57 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -822,6 +822,12 @@ namespace IOB_WIN_NEXT fatto = writeInputReg(currMem.index, CurrVal); break; + case plcDataType.FloatBADC: + valDouble = getScaledDouble(currMem); + CurrVal = ModbusClient.ConvertFloatToRegisters((float)valDouble, ModbusClient.RegisterOrder.LowHigh); + fatto = writeInputReg(currMem.index, CurrVal); + break; + //case plcDataType.String: // // se ho writePre --> "allungo" di 2 la dimensione della stringa x MemBlock... // if (writePre) From fd45ab8180aef970a170d65e026b045a8f1aecfe Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 13 Jul 2022 19:02:00 +0200 Subject: [PATCH 2/3] update SDK x configurazione memorie Centerfrigo - FLoat BaDc --> RealLH --- IOB-UT-NEXT/IOB-UT-NEXT.csproj | 4 +- IOB-UT-NEXT/packages.config | 2 +- IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json | 74 +++++++------------ IOB-WIN-NEXT/IOB-WIN-NEXT.csproj | 4 +- IOB-WIN-NEXT/IobModbusTCP.cs | 2 + IOB-WIN-NEXT/packages.config | 2 +- 6 files changed, 33 insertions(+), 55 deletions(-) diff --git a/IOB-UT-NEXT/IOB-UT-NEXT.csproj b/IOB-UT-NEXT/IOB-UT-NEXT.csproj index 1fdf8d09..6c00d9c9 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.2205.2808\lib\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2207.1318\lib\MapoSDK.dll ..\packages\Microsoft.Bcl.AsyncInterfaces.6.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll diff --git a/IOB-UT-NEXT/packages.config b/IOB-UT-NEXT/packages.config index 26591de3..860e4d82 100644 --- a/IOB-UT-NEXT/packages.config +++ b/IOB-UT-NEXT/packages.config @@ -1,6 +1,6 @@  - + diff --git a/IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json b/IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json index 3d53fc48..8dcb58fc 100644 --- a/IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json +++ b/IOB-WIN-NEXT/DATA/CONF/GIACO_CENTERFRIGO.json @@ -1,88 +1,64 @@ { "mMapWrite": { - "TestWrite01": { - "name": "TestWrite01", - "description": "Test Scrittura 01", + "SetPoint_Tunnel_Req": { + "name": "SetPoint_Tunnel_Req", + "description": "Setpoint Tunnel", "memAddr": "44010", - "tipoMem": "FloatBADC", + "tipoMem": "RealLH", "index": 4010, "size": 2, - "func": "MEDIAN", - "period": 60, "factor": 1, - "minVal": 0, + "minVal": -5, "maxVal": 15, "unit": "°C" }, - "TestWrite02": { - "name": "TestWrite02", - "description": "Test Scrittura 02", + "SetPoint_Cella_01_Req": { + "name": "SetPoint_Cella_01_Req", + "description": "Setpoint Cella 01", "memAddr": "44012", - "tipoMem": "FloatBADC", + "tipoMem": "RealLH", "index": 4012, "size": 2, - "func": "MEDIAN", - "period": 60, "factor": 1, - "minVal": 0, + "minVal": -5, "maxVal": 15, "unit": "°C" }, - "TestWrite03": { - "name": "TestWrite03", - "description": "Test Scrittura 03", + "SetPoint_Cella_02_Req": { + "name": "SetPoint_Cella_02_Req", + "description": "Setpoint Cella 02", "memAddr": "44014", - "tipoMem": "FloatBADC", + "tipoMem": "RealLH", "index": 4014, "size": 2, - "func": "MEDIAN", - "period": 60, "factor": 1, - "minVal": 0, + "minVal": -5, "maxVal": 15, "unit": "°C" }, - "TestWrite04": { - "name": "TestWrite04", - "description": "Test Scrittura 04", + "SetPoint_Cella_03_Req": { + "name": "SetPoint_Cella_03_Req", + "description": "Setpoint Cella 03", "memAddr": "44016", - "tipoMem": "FloatBADC", + "tipoMem": "RealLH", "index": 4016, "size": 2, - "func": "MEDIAN", - "period": 60, "factor": 1, - "minVal": 0, + "minVal": -5, "maxVal": 15, "unit": "°C" }, - "TestWrite05": { - "name": "TestWrite05", - "description": "Test Scrittura 05", + "SetPoint_Cella_04_Req": { + "name": "SetPoint_Cella_04_Req", + "description": "Setpoint Cella 04", "memAddr": "44018", - "tipoMem": "FloatBADC", + "tipoMem": "RealLH", "index": 4018, "size": 2, - "func": "MEDIAN", - "period": 60, "factor": 1, - "minVal": 0, + "minVal": -5, "maxVal": 15, "unit": "°C" - }, - "SetPoint_Tunnel": { - "name": "SetPoint_Tunnel", - "description": "Setpoint Tunnel", - "memAddr": "41560", - "tipoMem": "Real", - "index": 1560, - "size": 2, - "func": "MEDIAN", - "period": 60, - "factor": 1, - "minVal": -100, - "maxVal": 100, - "unit": "°C" } }, "mMapRead": { diff --git a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj index fcd58840..45662c9c 100644 --- a/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj +++ b/IOB-WIN-NEXT/IOB-WIN-NEXT.csproj @@ -112,8 +112,8 @@ False ExtLib\krcc.dll - - ..\packages\MapoSDK.6.14.2206.2718\lib\MapoSDK.dll + + ..\packages\MapoSDK.6.14.2207.1318\lib\MapoSDK.dll ..\packages\MathNet.Numerics.4.15.0\lib\net461\MathNet.Numerics.dll diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index 9f8e8a57..f5a1349c 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -817,12 +817,14 @@ namespace IOB_WIN_NEXT // break; case plcDataType.Real: + case plcDataType.RealHL: valDouble = getScaledDouble(currMem); CurrVal = ModbusClient.ConvertFloatToRegisters((float)valDouble, ModbusClient.RegisterOrder.HighLow); fatto = writeInputReg(currMem.index, CurrVal); break; case plcDataType.FloatBADC: + case plcDataType.RealLH: valDouble = getScaledDouble(currMem); CurrVal = ModbusClient.ConvertFloatToRegisters((float)valDouble, ModbusClient.RegisterOrder.LowHigh); fatto = writeInputReg(currMem.index, CurrVal); diff --git a/IOB-WIN-NEXT/packages.config b/IOB-WIN-NEXT/packages.config index 39da1e80..ad4d2632 100644 --- a/IOB-WIN-NEXT/packages.config +++ b/IOB-WIN-NEXT/packages.config @@ -6,7 +6,7 @@ - + From 8efa8fc1d1107815caac41494133a15989f61625 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 13 Jul 2022 19:21:49 +0200 Subject: [PATCH 3/3] Update vari: - JObject x invio raw - gestione RealHL e RealLH in lettura ModBus (test centerfrigo) --- IOB-WIN-NEXT/IobGeneric.cs | 2 +- IOB-WIN-NEXT/IobModbusTCP.cs | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/IOB-WIN-NEXT/IobGeneric.cs b/IOB-WIN-NEXT/IobGeneric.cs index a662ab24..3945d1f8 100644 --- a/IOB-WIN-NEXT/IobGeneric.cs +++ b/IOB-WIN-NEXT/IobGeneric.cs @@ -1367,7 +1367,7 @@ namespace IOB_WIN_NEXT * */ // serializzo il valore... - BaseRawTransf newVal = new BaseRawTransf(DateTime.Now, mesContent, mesType); + BaseRawTransf newVal = new BaseRawTransf(DateTime.Now, (Newtonsoft.Json.Linq.JObject)mesContent, mesType); string encodedVal = JsonConvert.SerializeObject(newVal); // --> accodo (valore già formattato)! QueueRawTransf.Enqueue(encodedVal); diff --git a/IOB-WIN-NEXT/IobModbusTCP.cs b/IOB-WIN-NEXT/IobModbusTCP.cs index f5a1349c..1620d1bc 100644 --- a/IOB-WIN-NEXT/IobModbusTCP.cs +++ b/IOB-WIN-NEXT/IobModbusTCP.cs @@ -1145,6 +1145,7 @@ namespace IOB_WIN_NEXT switch (tipoMem) { case plcDataType.Real: + case plcDataType.RealHL: case plcDataType.FloatABCD: if (size == 4) { @@ -1156,16 +1157,17 @@ namespace IOB_WIN_NEXT } break; + case plcDataType.RealLH: case plcDataType.FloatCDAB: if (size == 4) { - // invero array... + // inverto array... Array.Reverse(listInt); valore = ModbusClient.ConvertRegistersToDouble(listInt); } else if (size == 2) { - // non serve cambaire nulla... + // inverto array... Array.Reverse(listInt); valore = ModbusClient.ConvertRegistersToFloat(listInt); } @@ -1427,7 +1429,7 @@ namespace IOB_WIN_NEXT /// Effettua lettura blocco memoria indicato e lo salva in copia locale HoldingRegisterLUT /// /// Indirizzo di partenza - /// NUm registri da leggere (max 120) + /// Num registri da leggere (max 120) private void readBlockHoldingReg(int startAddr, int numReg, int baseAddr) { bool allOk = false;