From ed05a26be495554f25b71bbfdd5379e33f98ef01 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 10 Mar 2021 14:52:58 +0100 Subject: [PATCH 1/3] fix gestione scrittura targetPos --- CMS_CORE_Library/S7Net/Nc_S7Net.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs index 074f315..e616cab 100644 --- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs +++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs @@ -4640,7 +4640,7 @@ namespace CMS_CORE_Library.S7Net if (WritePos) { - MEMORY_CELL caTgtPos = new MEMORY_CELL(AXES_COMMAND.MemType, AXES_COMMAND.Address, AXES_COMMAND.SubAddress + ((AxisNum - 1) * 8), 2); + MEMORY_CELL caTgtPos = new MEMORY_CELL(AXES_COMMAND.MemType, AXES_COMMAND.Address, AXES_COMMAND.SubAddress + ((AxisNum - 1) * 8) + 4, 2); // in primis scrivo la TargetPos nei 4 byte DWord... libraryError = MEM_RWDouble(W, 0, caTgtPos.MemType, caTgtPos.Address, caTgtPos.SubAddress, ref TargetPos); if (libraryError.IsError()) @@ -4648,7 +4648,7 @@ namespace CMS_CORE_Library.S7Net } // ...è permesso solo 0..7 - if (CommandBit >=1 && CommandBit < 8) + if (CommandBit >= 1 && CommandBit < 8) { // posizione: è da array assi 0..n-1, 8byte ogni asse MEMORY_CELL currAxAck = new MEMORY_CELL(AXES_COMMAND.MemType, AXES_COMMAND.Address, AXES_COMMAND.SubAddress + ((AxisNum - 1) * 8), 2); @@ -4700,7 +4700,7 @@ namespace CMS_CORE_Library.S7Net // preparo la word ushort controlData = 0; - + MEMORY_CELL caTgtPos = new MEMORY_CELL(AXES_GEN_STATUS.MemType, AXES_GEN_STATUS.Address, AXES_GEN_STATUS.SubAddress, 2); // in primis scrivo la TargetPos nei 4 byte DWord... libraryError = MEM_RWWord(R, 0, caTgtPos.MemType, caTgtPos.Address, caTgtPos.SubAddress, ref controlData); From 47a36ebd5d42a2916743bf10e09f1f029e9c26f0 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Wed, 17 Mar 2021 18:43:31 +0100 Subject: [PATCH 2/3] fix S7Net package a 0.4.0 + fix type (Real/Single) --- CMS_CORE_Library/CMS_CORE_Library.csproj | 4 ++-- CMS_CORE_Library/Models/ThermoModels.cs | 12 ++++++------ CMS_CORE_Library/S7Net/Nc_S7Net.cs | 24 ++++++++++++------------ CMS_CORE_Library/packages.config | 2 +- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/CMS_CORE_Library/CMS_CORE_Library.csproj b/CMS_CORE_Library/CMS_CORE_Library.csproj index 506fb62..fe73b37 100644 --- a/CMS_CORE_Library/CMS_CORE_Library.csproj +++ b/CMS_CORE_Library/CMS_CORE_Library.csproj @@ -103,8 +103,8 @@ False libs\CndexLinkDotNet.dll - - ..\packages\S7netplus.0.8.1\lib\net452\S7.Net.dll + + ..\..\cms_thermo_active\packages\S7netplus.0.4.0\lib\net452\S7.Net.dll False diff --git a/CMS_CORE_Library/Models/ThermoModels.cs b/CMS_CORE_Library/Models/ThermoModels.cs index 84ceae4..40c2bd5 100644 --- a/CMS_CORE_Library/Models/ThermoModels.cs +++ b/CMS_CORE_Library/Models/ThermoModels.cs @@ -556,12 +556,12 @@ namespace CMS_CORE_Library.Models Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeVacuum), 0, answ, 14, 4); Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeCycleGross), 0, answ, 18, 4); Buffer.BlockCopy(S7.Net.Types.DInt.ToByteArray(TimeCycleNet), 0, answ, 22, 4); - Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MaterialTempEndWarm), 0, answ, 26, 4); - Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MaterialTempEndVent), 0, answ, 30, 4); - Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MoldTemp), 0, answ, 34, 4); - Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(VacuumReadVal), 0, answ, 38, 4); - Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MouldEnergyOUT), 0, answ, 42, 4); - Buffer.BlockCopy(S7.Net.Types.Real.ToByteArray(MouldEnergyIN), 0, answ, 46, 4); + Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MaterialTempEndWarm), 0, answ, 26, 4); + Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MaterialTempEndVent), 0, answ, 30, 4); + Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MoldTemp), 0, answ, 34, 4); + Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(VacuumReadVal), 0, answ, 38, 4); + Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MouldEnergyOUT), 0, answ, 42, 4); + Buffer.BlockCopy(S7.Net.Types.Single.ToByteArray(MouldEnergyIN), 0, answ, 46, 4); return answ; } diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs index e616cab..2300bfa 100644 --- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs +++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs @@ -3731,12 +3731,12 @@ namespace CMS_CORE_Library.S7Net TimeVacuum = S7.Net.Types.DInt.FromByteArray(currMem.Skip(14).Take(4).ToArray()), TimeCycleGross = S7.Net.Types.DInt.FromByteArray(currMem.Skip(18).Take(4).ToArray()), TimeCycleNet = S7.Net.Types.DInt.FromByteArray(currMem.Skip(22).Take(4).ToArray()), - MaterialTempEndWarm = S7.Net.Types.Real.FromByteArray(currMem.Skip(26).Take(4).ToArray()), - MaterialTempEndVent = S7.Net.Types.Real.FromByteArray(currMem.Skip(30).Take(4).ToArray()), - MoldTemp = S7.Net.Types.Real.FromByteArray(currMem.Skip(34).Take(4).ToArray()), - VacuumReadVal = S7.Net.Types.Real.FromByteArray(currMem.Skip(38).Take(4).ToArray()), - MouldEnergyOUT = S7.Net.Types.Real.FromByteArray(currMem.Skip(42).Take(4).ToArray()), - MouldEnergyIN = S7.Net.Types.Real.FromByteArray(currMem.Skip(46).Take(4).ToArray()), + MaterialTempEndWarm = S7.Net.Types.Single.FromByteArray(currMem.Skip(26).Take(4).ToArray()), + MaterialTempEndVent = S7.Net.Types.Single.FromByteArray(currMem.Skip(30).Take(4).ToArray()), + MoldTemp = S7.Net.Types.Single.FromByteArray(currMem.Skip(34).Take(4).ToArray()), + VacuumReadVal = S7.Net.Types.Single.FromByteArray(currMem.Skip(38).Take(4).ToArray()), + MouldEnergyOUT = S7.Net.Types.Single.FromByteArray(currMem.Skip(42).Take(4).ToArray()), + MouldEnergyIN = S7.Net.Types.Single.FromByteArray(currMem.Skip(46).Take(4).ToArray()), NumPreHot = S7.Net.Types.Int.FromByteArray(currMem.Skip(50).Take(2).ToArray()) }; @@ -4493,12 +4493,12 @@ namespace CMS_CORE_Library.S7Net TimeVacuum = S7.Net.Types.DInt.FromByteArray(currMem.Skip(14).Take(4).ToArray()), TimeCycleGross = S7.Net.Types.DInt.FromByteArray(currMem.Skip(18).Take(4).ToArray()), TimeCycleNet = S7.Net.Types.DInt.FromByteArray(currMem.Skip(22).Take(4).ToArray()), - MaterialTempEndWarm = S7.Net.Types.Real.FromByteArray(currMem.Skip(26).Take(4).ToArray()), - MaterialTempEndVent = S7.Net.Types.Real.FromByteArray(currMem.Skip(30).Take(4).ToArray()), - MoldTemp = S7.Net.Types.Real.FromByteArray(currMem.Skip(34).Take(4).ToArray()), - VacuumReadVal = S7.Net.Types.Real.FromByteArray(currMem.Skip(38).Take(4).ToArray()), - MouldEnergyOUT = S7.Net.Types.Real.FromByteArray(currMem.Skip(42).Take(4).ToArray()), - MouldEnergyIN = S7.Net.Types.Real.FromByteArray(currMem.Skip(46).Take(4).ToArray()), + MaterialTempEndWarm = S7.Net.Types.Single.FromByteArray(currMem.Skip(26).Take(4).ToArray()), + MaterialTempEndVent = S7.Net.Types.Single.FromByteArray(currMem.Skip(30).Take(4).ToArray()), + MoldTemp = S7.Net.Types.Single.FromByteArray(currMem.Skip(34).Take(4).ToArray()), + VacuumReadVal = S7.Net.Types.Single.FromByteArray(currMem.Skip(38).Take(4).ToArray()), + MouldEnergyOUT = S7.Net.Types.Single.FromByteArray(currMem.Skip(42).Take(4).ToArray()), + MouldEnergyIN = S7.Net.Types.Single.FromByteArray(currMem.Skip(46).Take(4).ToArray()), NumPreHot = S7.Net.Types.Int.FromByteArray(currMem.Skip(50).Take(2).ToArray()) }; diff --git a/CMS_CORE_Library/packages.config b/CMS_CORE_Library/packages.config index 5fb683d..ed7aa38 100644 --- a/CMS_CORE_Library/packages.config +++ b/CMS_CORE_Library/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file From d43f8752f38d541e3419bf13ce97dd2838079c21 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Fri, 19 Mar 2021 10:12:33 +0100 Subject: [PATCH 3/3] typo --- CMS_CORE_Library/S7Net/Nc_S7Net.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMS_CORE_Library/S7Net/Nc_S7Net.cs b/CMS_CORE_Library/S7Net/Nc_S7Net.cs index 2300bfa..eeb571a 100644 --- a/CMS_CORE_Library/S7Net/Nc_S7Net.cs +++ b/CMS_CORE_Library/S7Net/Nc_S7Net.cs @@ -4566,7 +4566,7 @@ namespace CMS_CORE_Library.S7Net int memIndex = 0; int packSize = 20; - // 2020.09.03: ricevuto da chiamata, dovrebbe essere 5 parametri x scrivere tutto (era 30 prima di 2008.08.07) + // 2020.09.03: ricevuto da chiamata, dovrebbe essere 5 parametri x scrivere tutto (era 30 prima di 2018.08.07) bool writeSingle = newParameters.Count < nMaxParamWrite; // leggo da PLC a array di byte di appoggio...