From ef5a0c1c3a1de015d580824b6d8fd01f620c4822 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Tue, 12 May 2020 11:32:41 +0200 Subject: [PATCH] Aggiunto test lettura REAL --- SiemensS7/Siemens-S7-Test/TestMainForm.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/SiemensS7/Siemens-S7-Test/TestMainForm.cs b/SiemensS7/Siemens-S7-Test/TestMainForm.cs index e4000d2..f34fda3 100644 --- a/SiemensS7/Siemens-S7-Test/TestMainForm.cs +++ b/SiemensS7/Siemens-S7-Test/TestMainForm.cs @@ -589,6 +589,7 @@ namespace Siemens_S7_Test string byteVal = ""; ushort shortVal = 0; uint intVal = 0; + double realVal = 0; string byteValA = ""; string byteValB = ""; string byteValC = ""; @@ -637,6 +638,17 @@ namespace Siemens_S7_Test contenuto += $"---------{Environment.NewLine}"; } break; + case "real": + for (int i = 0; i < memByteRead.Length / 4; i++) + { + byteValA = Convert.ToString(memByteRead[i * 4], 2).PadLeft(8, '0'); + byteValB = Convert.ToString(memByteRead[i * 4 + 1], 2).PadLeft(8, '0'); + byteValC = Convert.ToString(memByteRead[i * 4 + 2], 2).PadLeft(8, '0'); + byteValD = Convert.ToString(memByteRead[i * 4 + 3], 2).PadLeft(8, '0'); + realVal = S7.Net.Types.Double.FromByteArray(memByteRead.Skip(4 * i).Take(4).ToArray()); + contenuto += string.Format("R{0:000}: {1} | {2}-{3}-{4}-{5}{6}", i, realVal, byteValA, byteValB, byteValC, byteValD, Environment.NewLine); + } + break; case "byte": default: for (int i = 0; i < memByteRead.Length; i++)