From 0e4d78b66277aa1c9804f0befd8be45d2bab769b Mon Sep 17 00:00:00 2001 From: zcn1123 <2363211205@qq.com> Date: Fri, 18 Sep 2020 09:40:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95=E6=A0=B7?= =?UTF-8?q?=E4=BE=8B=E5=92=8C=E6=B5=8B=E8=AF=95=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modbus_TCP/Modbus_TCP_log.txt | 40 +++++ Modbus_communication/Modbus_TCP/TCP_client.h | 3 +- Modbus_communication/Modbus_TCP/common.cpp | 2 +- Modbus_communication/RTU_Salve_test/3.ini | 47 +++++- Modbus_communication/TCP_Master_test/1.ini | 141 ++++++++++++----- Modbus_communication/TCP_Master_test/2.ini | 142 +++++++++--------- .../TCP_Master_test/TCP_Test_Code.cpp | 22 ++- 7 files changed, 264 insertions(+), 133 deletions(-) diff --git a/Modbus_communication/Modbus_TCP/Modbus_TCP_log.txt b/Modbus_communication/Modbus_TCP/Modbus_TCP_log.txt index 77ab453..df7342e 100644 --- a/Modbus_communication/Modbus_TCP/Modbus_TCP_log.txt +++ b/Modbus_communication/Modbus_TCP/Modbus_TCP_log.txt @@ -573,3 +573,43 @@ 2020-9-17 10:6:56 Recv: 2020-9-17 10:10:56 Send:00 01 00 00 00 06 01 01 00 00 00 01 2020-9-17 10:10:56 Recv: +2020-9-17 16:10:52 Send:00 00 00 00 00 09 01 0F 00 00 00 01 02 00 00 +2020-9-17 16:10:52 Recv: +2020-9-17 16:11:9 Send:00 01 00 00 00 09 01 10 00 00 00 01 02 00 00 +2020-9-17 16:11:9 Recv: +2020-9-17 16:13:39 Send:00 02 00 00 00 09 01 0F 00 00 00 01 02 01 01 +2020-9-17 16:13:39 Recv: +2020-9-17 16:15:34 Send:00 03 00 00 00 09 01 0F 00 00 00 01 02 01 01 +2020-9-17 16:15:34 Recv: +2020-9-17 16:16:39 Send:00 00 00 00 00 08 01 0F 00 00 00 01 01 01 +2020-9-17 16:16:39 Recv: +2020-9-17 16:16:52 Send:00 01 00 00 00 09 01 10 00 00 00 01 02 00 00 +2020-9-17 16:16:52 Recv: +2020-9-17 16:58:34 Send:00 00 00 00 00 06 01 01 00 00 00 01 +2020-9-17 16:58:34 Recv:00 00 00 00 00 04 01 01 01 00 +2020-9-17 16:58:57 Send:00 01 00 00 00 06 01 01 00 00 00 64 +2020-9-17 16:58:57 Recv:00 01 00 00 00 10 01 01 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 +2020-9-17 16:59:7 Send:00 02 00 00 00 06 01 01 00 00 00 01 +2020-9-17 16:59:7 Recv:00 02 00 00 00 04 01 01 01 00 +2020-9-17 16:59:18 Send:00 03 00 00 00 06 01 01 00 00 07 D0 +2020-9-17 16:59:18 Recv:00 03 00 00 00 FD 01 01 FA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +2020-9-17 17:7:44 Send:00 05 00 00 00 06 01 03 00 00 00 01 +2020-9-17 17:7:44 Recv:00 05 00 00 00 03 01 83 01 +2020-9-17 17:8:7 Send:00 06 00 00 00 06 01 03 00 00 00 01 +2020-9-17 17:8:7 Recv:00 06 00 00 00 05 01 03 02 00 00 +2020-9-17 17:8:17 Send:00 07 00 00 00 06 01 03 00 0A 00 0A +2020-9-17 17:8:17 Recv:00 07 00 00 00 17 01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +2020-9-17 17:8:37 Send:00 08 00 00 00 06 01 03 00 00 00 7D +2020-9-17 17:8:37 Recv:00 08 00 00 00 FD 01 03 FA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +2020-9-17 17:14:13 Send:00 0A 00 00 00 08 01 0F 00 00 00 01 01 01 +2020-9-17 17:14:13 Recv:00 0A 00 00 00 06 01 0F 00 00 00 01 +2020-9-17 17:14:30 Send:00 0B 00 00 00 14 01 0F 00 00 00 64 0D 00 00 00 00 00 00 00 00 00 00 00 00 00 +2020-9-17 17:14:30 Recv:00 0B 00 00 00 06 01 0F 00 00 00 64 +2020-9-17 17:15:15 Send:00 0C 00 00 00 FD 01 0F 00 05 07 B0 F6 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +2020-9-17 17:15:15 Recv:00 0C 00 00 00 06 01 0F 00 05 07 B0 +2020-9-17 17:19:19 Send:00 0E 00 00 00 09 01 10 00 00 00 01 02 11 11 +2020-9-17 17:19:19 Recv:00 0E 00 00 00 06 01 10 00 00 00 01 +2020-9-17 17:20:8 Send:00 0F 00 00 00 11 01 10 00 0A 00 05 0A 00 11 22 33 44 55 66 77 88 99 +2020-9-17 17:20:8 Recv:00 0F 00 00 00 06 01 10 00 0A 00 05 +2020-9-17 17:20:28 Send:00 10 00 00 00 FD 01 10 00 64 00 7B F6 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +2020-9-17 17:20:28 Recv:00 10 00 00 00 06 01 10 00 64 00 7B diff --git a/Modbus_communication/Modbus_TCP/TCP_client.h b/Modbus_communication/Modbus_TCP/TCP_client.h index 995742e..91bfb24 100644 --- a/Modbus_communication/Modbus_TCP/TCP_client.h +++ b/Modbus_communication/Modbus_TCP/TCP_client.h @@ -5,6 +5,7 @@ int Tcp_Client(); - +int Create_TCP_Message(UINT8 *Message, int function_code, unsigned int operations_Number, unsigned int starting_address, string write_date); +bool Analysis_Response_Message(UINT8 *Response_Message, UINT8 *Request_Message, int response_message_len); #endif \ No newline at end of file diff --git a/Modbus_communication/Modbus_TCP/common.cpp b/Modbus_communication/Modbus_TCP/common.cpp index d2b9ac6..9f7ab2f 100644 --- a/Modbus_communication/Modbus_TCP/common.cpp +++ b/Modbus_communication/Modbus_TCP/common.cpp @@ -209,7 +209,7 @@ unsigned int Count_Write_date_number(int function_code, unsigned int operations_ return write_date_number; if (function_code == 0x0F) //读线圈 { - write_date_number = function_code / 8; + write_date_number = operations_number / 8; if (operations_number % 8) write_date_number++; } diff --git a/Modbus_communication/RTU_Salve_test/3.ini b/Modbus_communication/RTU_Salve_test/3.ini index ace39c5..7edfc20 100644 --- a/Modbus_communication/RTU_Salve_test/3.ini +++ b/Modbus_communication/RTU_Salve_test/3.ini @@ -1,6 +1,7 @@ [Example] -Number = 37 +Number = 41 +;0x01功能码正常读取响应 [Example1] Input1 = "09 01 00 00 00 01 FC 82" Output = "09 01 01 01 92 28" @@ -17,6 +18,7 @@ Output = "09 01 19 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F Input1 = "09 01 00 00 07 D0 3E EE" Output = "09 01 FA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 8D BF" +;0x01功能码下03异常码响应 [Example5] Input1 = "09 01 00 00 07 D1 FF 2E" Output = "09 81 03 81 93" @@ -29,6 +31,7 @@ Output = "09 81 03 81 93" Input1 = "09 01 00 00 00 01 00 82 41" Output = "09 81 03 81 93" +;0x01功能码下无响应 [Example8] Input1 = "09 01 00 00 00 01 11 11" Output = "" @@ -37,12 +40,13 @@ Output = "" Input1 = "08 01 00 00 00 01 FD 53" Output = "" +;0x01功能码下02异常码 [Example10] Input1 = "09 01 27 06 00 14 D7 F8" Output = "09 81 02 40 53" - +;0x03功能码正常读取响应样例 [Example11] Input1 = "09 03 00 00 00 01 85 42" Output = "09 03 02 FF FF 58 35" @@ -59,6 +63,7 @@ Output = "09 03 F6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F Input1 = "09 03 00 00 00 7D 84 A3" Output = "09 03 FA FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 70 F8" +;0x03功能码下03异常码响应 [Example15] Input1 = "09 03 00 00 00 00 44 82" Output = "09 83 03 80 F3" @@ -71,7 +76,7 @@ Output = "09 83 03 80 F3" Input1 = "09 03 00 00 00 01 00 83 A3" Output = "09 83 03 80 F3" - +;0x03功能码下无响应 [Example18] Input1 = "09 03 00 00 00 01 11 11" Output = "" @@ -80,6 +85,7 @@ Output = "" Input1 = "08 03 00 00 00 01 84 93" Output = "" +;0x03功能码下02异常码 [Example20] Input1 = "09 03 27 06 00 14 AE 38" Output = "09 83 02 41 33" @@ -89,7 +95,7 @@ Output = "09 83 02 41 33" - +;0x0F正常写入样例 [Example21] Input1 = "09 0F 00 00 00 01 01 01 EE F1" Output = "09 0F 00 00 00 01 95 43" @@ -98,6 +104,7 @@ Output = "09 0F 00 00 00 01 95 43" Input1 = "09 0F 00 00 07 B0 F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B8 78" Output = "09 0F 00 00 07 B0 57 07" +;0x0F下03异常码样例 [Example23] Input1 = "09 0F 00 00 00 00 54 83" Output = "09 8F 03 85 F3" @@ -110,6 +117,7 @@ Output = "09 8F 03 85 F3" Input1 = "09 0F 00 00 07 B1 F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 DB" Output = "09 8F 03 85 F3" +;0x0F下无响应 [Example26] Input1 = "09 0F 00 00 00 01 01 01 11 F1" Output = "" @@ -118,15 +126,14 @@ Output = "" Input1 = "08 0F 00 00 00 01 01 01 2F 3D" Output = "" +;0x0F下02异常码 [Example28] Input1 = "09 0F 27 06 00 14 03 02 FF FF 54 11" Output = "09 8F 02 44 33" - - - +;0x10下正常写入响应样例 [Example29] Input1 = "09 10 00 00 00 01 02 00 00 C1 90" Output = "09 10 00 00 00 01 00 81" @@ -139,6 +146,7 @@ Output = "09 10 00 00 00 02 40 80" Input1 = "09 10 00 00 00 7B F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 CE 42" Output = "09 10 00 00 00 7B 81 62" +;0x10下03异常码 [Example32] Input1 = "09 10 00 00 00 00 C1 41" Output = "09 90 03 8D C3" @@ -147,6 +155,7 @@ Output = "09 90 03 8D C3" Input1 = "09 10 00 00 00 01 02 00 00 00 51 90" Output = "09 90 03 8D C3" +;0x10下无响应 [Example34] Input1 = "09 10 00 00 00 01 02 01 01 11 11" Output = "" @@ -155,10 +164,32 @@ Output = "" Input1 = "08 10 00 00 00 01 02 01 01 0C 50" Output = "" +;0x10下02异常码 [Example36] Input1 = "09 10 27 0F 00 02 04 00 00 00 00 26 7E" Output = "09 90 02 4C 03" [Example37] Input1 = "09 10 27 06 00 14 28 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D9 BB" -Output = "09 90 02 4C 03" \ No newline at end of file +Output = "09 90 02 4C 03" + +;其他特殊样例 +;设备ID+功能码+CRC +[Example38] +Input1 = "09 01 C6 20" +Output = "" +;只有设备ID+CRC +[Example39] +Input1 = "09 7F 46" +Output = "" +;只有设备ID +[Example40] +Input1 = "09" +Output = "" +;01异常码 +[Example41] +Input1 = "09 02 00 00 00 01 B8 82" +Output = "09 82 01 00 A2" + + + diff --git a/Modbus_communication/TCP_Master_test/1.ini b/Modbus_communication/TCP_Master_test/1.ini index d259f96..903d74e 100644 --- a/Modbus_communication/TCP_Master_test/1.ini +++ b/Modbus_communication/TCP_Master_test/1.ini @@ -1,75 +1,140 @@ [Example] -Number = 12 +Number = 19 +;0x01 [Example1] Input1 = 1 Input2 = 1 -Input3 = "" -Output = "00 00 00 00 00 06 09 01 00 00 00 01" +Input3 = 0 +Input4 = "" +Output = "00 00 00 00 00 06 01 01 00 00 00 01" [Example2] Input1 = 1 -Input2 = 100 -Input3 = "" -Output = "00 00 00 00 00 06 09 01 00 00 00 64" +Input2 = 155 +Input3 = 1 +Input4 = "" +Output = "00 01 00 00 00 06 01 01 00 01 00 9B" [Example3] Input1 = 1 -Input2 = 2000 -Input3 = "" -Output = "00 00 00 00 00 06 09 01 00 00 07 D0" +Input2 = 1568 +Input3 = 100 +Input4 = "" +Output = "00 02 00 00 00 06 01 01 00 64 06 20" [Example4] +Input1 = 1 +Input2 = 2000 +Input3 = 65535 +Input4 = "" +Output = "00 03 00 00 00 06 01 01 FF FF 07 D0" + +[Example5] +Input1 = 1 +Input2 = 65535 +Input3 = 300 +Input4 = "" +Output = "00 04 00 00 00 06 01 01 01 2C FF FF" + +[Example6] +Input1 = 1 +Input2 = 65535 +Input3 = 65535 +Input4 = "" +Output = "00 05 00 00 00 06 01 01 FF FF FF FF" + +;0x03 +[Example7] Input1 = 3 Input2 = 1 -Input3 = "" -Output = "00 00 00 00 00 06 09 03 00 00 00 01" +Input3 = 0 +Input4 = "" +Output = "00 06 00 00 00 06 01 03 00 00 00 01" -[Example5] +[Example8] Input1 = 3 -Input2 = 10 -Input3 = "" -Output = "00 00 00 00 00 06 09 03 00 00 00 0A" +Input2 = 100 +Input3 = 1 +Input4 = "" +Output = "00 07 00 00 00 06 01 03 00 01 00 64" -[Example6] +[Example9] +Input1 = 3 +Input2 = 1122 +Input3 = 100 +Input4 = "" +Output = "00 08 00 00 00 06 01 03 00 64 04 62" + +[Example10] Input1 = 3 Input2 = 125 -Input3 = "" -Output = "00 00 00 00 00 06 09 03 00 00 00 7D" +Input3 = 65535 +Input4 = "" +Output = "00 09 00 00 00 06 01 03 FF FF 00 7D" -[Example7] +[Example11] +Input1 = 3 +Input2 = 65535 +Input3 = 300 +Input4 = "" +Output = "00 0A 00 00 00 06 01 03 01 2C FF FF" + +[Example12] +Input1 = 3 +Input2 = 65535 +Input3 = 65535 +Input4 = "" +Output = "00 0B 00 00 00 06 01 03 FF FF FF FF" + +;0x0F +[Example13] Input1 = 15 Input2 = 1 -Input3 = "01" -Output = "00 00 00 00 00 08 09 0F 00 00 00 01 01 01" +Input3 = 0 +Input4 = "01" +Output = "00 0C 00 00 00 08 01 0F 00 00 00 01 01 01" -[Example8] +[Example14] Input1 = 15 -Input2 = 10 -Input3 = "FF 03" -Output = "00 00 00 00 00 09 09 0F 00 00 00 0A 02 FF 03" +Input2 = 100 +Input3 = 1 +Input4 = "01 01 01 01 01 01 01 01 01 01 01 01 01" +Output = "00 0D 00 00 00 14 01 0F 00 01 00 64 0D 01 01 01 01 01 01 01 01 01 01 01 01 01" -[Example9] +[Example15] Input1 = 15 Input2 = 1968 -Input3 = "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" -Output = "00 00 00 00 00 FD 09 0F 00 00 07 BD F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +Input3 = 100 +Input4 = "FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +Output = "00 0E 00 00 00 FD 01 0F 00 64 07 B0 F6 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" -[Example10] +[Example16] +Input1 = 15 +Input2 = 10 +Input3 = 65535 +Input4 = "55 03" +Output = "00 0F 00 00 00 09 01 0F FF FF 00 0A 02 55 03" + +;0x0F +[Example17] Input1 = 16 Input2 = 1 -Input3 = "FF FF" -Output = "00 00 00 00 00 09 09 10 00 00 00 01 02 FF FF" +Input3 = 0 +Input4 = "01 01" +Output = "00 10 00 00 00 09 01 10 00 00 00 01 02 01 01" -[Example11] +[Example18] Input1 = 16 -Input2 = 5 -Input3 = "FF FF FF FF FF FF FF FF FF FF" -Output = "00 00 00 00 00 11 09 10 00 00 00 05 0A FF FF FF FF FF FF FF FF FF FF" +Input2 = 4 +Input3 = 1 +Input4 = "01 01 01 01 01 01 01 01" +Output = "00 11 00 00 00 0F 01 10 00 01 00 04 08 01 01 01 01 01 01 01 01" -[Example12] +[Example19] Input1 = 16 Input2 = 123 -Input3 = "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" -Output = "00 00 00 00 00 FD 09 10 00 00 00 7B F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +Input3 = 65535 +Input4 = "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +Output = "00 12 00 00 00 FD 01 10 FF FF 00 7B F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" diff --git a/Modbus_communication/TCP_Master_test/2.ini b/Modbus_communication/TCP_Master_test/2.ini index 1e31e70..31aa92a 100644 --- a/Modbus_communication/TCP_Master_test/2.ini +++ b/Modbus_communication/TCP_Master_test/2.ini @@ -1,129 +1,127 @@ [Example] Number = 27 +;0x01正常读取响应解析样例 [Example1] -Input1 = "00 00 00 00 00 04 09 01 01 01" -Input2 = "00 00 00 00 00 06 09 01 00 00 00 01" +Input1 = "00 00 00 00 00 06 01 01 00 00 00 01" +Input2 = "00 00 00 00 00 04 01 01 01 00" [Example2] -Input1 = "00 00 00 00 00 10 09 01 0D 00 00 00 00 00 00 00 00 00 00 00 00 00" -Input2 = "00 00 00 00 00 06 09 01 00 00 00 64" +Input1 = "00 01 00 00 00 06 01 01 00 00 00 64" +Input2 = "00 01 00 00 00 10 01 01 0D 00 00 00 00 00 00 00 00 00 00 00 00 00" [Example3] -Input1 = "00 00 00 00 00 FD 09 01 FA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" -Input2 = "00 00 00 00 00 06 09 01 00 00 07 D0" - +Input1 = "00 03 00 00 00 06 01 01 00 00 07 D0" +Input2 = "00 03 00 00 00 FD 01 01 FA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +;0x03正常读取响应解析样例 [Example4] -Input1 = "00 00 00 00 00 05 09 03 02 FF FF" -Input2 = "00 00 00 00 00 06 09 03 00 00 00 01" +Input1 = "00 06 00 00 00 06 01 03 00 00 00 01" +Input2 = "00 06 00 00 00 05 01 03 02 00 00" [Example5] -Input1 = "00 00 00 00 00 17 09 03 14 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF" -Input2 = "00 00 00 00 00 06 09 03 00 00 00 0A" +Input1 = "00 00 00 00 00 06 01 03 00 00 00 02" +Input2 = "00 00 00 00 00 07 01 03 04 00 00 00 00" [Example6] -Input1 = "00 00 00 00 00 FD 09 03 FA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" -Input2 = "00 00 00 00 00 06 09 03 00 00 00 7D" - - +Input1 = "00 07 00 00 00 06 01 03 00 0A 00 0A" +Input2 = "00 07 00 00 00 17 01 03 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" [Example7] -Input1 = "00 00 00 00 00 06 09 0F 00 00 00 01" -Input2 = "00 00 00 00 00 08 09 0F 00 00 00 01 01 01" +Input1 = "00 08 00 00 00 06 01 03 00 00 00 7D" +Input2 = "00 08 00 00 00 FD 01 03 FA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +;0x0F正常写入响应解析样例 [Example8] -Input1 = "00 00 00 00 00 06 09 0F 00 00 00 0A" -Input2 = "00 00 00 00 00 09 09 0F 00 00 00 0A 02 FF 03" +Input1 = "00 0A 00 00 00 08 01 0F 00 00 00 01 01 01" +Input2 = "00 0A 00 00 00 06 01 0F 00 00 00 01" [Example9] -Input1 = "00 00 00 00 00 06 09 0F 00 00 07 B0" -Input2 = "00 00 00 00 00 FD 09 0F 00 00 07 B0 F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" - - - +Input1 = "00 0B 00 00 00 14 01 0F 00 00 00 64 0D 00 00 00 00 00 00 00 00 00 00 00 00 00" +Input2 = "00 0B 00 00 00 06 01 0F 00 00 00 64" [Example10] -Input1 = "00 00 00 00 00 06 09 10 00 00 00 01" -Input2 = "00 00 00 00 00 09 09 10 00 00 00 01 02 FF FF" +Input1 = "00 0C 00 00 00 FD 01 0F 00 05 07 B0 F6 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +Input2 = "00 0C 00 00 00 06 01 0F 00 05 07 B0" +;0x10正常写入响应解析样例 [Example11] -Input1 = "00 00 00 00 00 06 09 10 00 00 00 05" -Input2 = "00 00 00 00 00 11 09 10 00 00 00 05 0A FF FF FF FF FF FF FF FF FF FF" +Input1 = "00 0E 00 00 00 09 01 10 00 00 00 01 02 11 11" +Input2 = "00 0E 00 00 00 06 01 10 00 00 00 01" [Example12] -Input1 = "00 00 00 00 00 06 09 10 00 00 00 7B" -Input2 = "00 00 00 00 00 FD 09 10 00 00 00 7B F6 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" - - +Input1 = "00 0F 00 00 00 11 01 10 00 0A 00 05 0A 00 11 22 33 44 55 66 77 88 99" +Input2 = "00 0F 00 00 00 06 01 10 00 0A 00 05" [Example13] -Input1 = "00 00 00 00 00 03 09 90 01" -Input2 = "00 00 00 00 00 09 09 10 00 00 00 01" +Input1 = "00 10 00 00 00 FD 01 10 00 64 00 7B F6 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" +Input2 = "00 10 00 00 00 06 01 10 00 64 00 7B" +;异常响应样例 [Example14] -Input1 = "00 00 00 00 00 03 09 90 02" -Input2 = "00 00 00 00 00 09 09 10 00 00 00 01" +Input1 = "00 0E 00 00 00 08 01 0F 00 00 00 01 01 01" +Input2 = "00 0F 00 00 00 06 01 0F 00 00 00 01" [Example15] -Input1 = "00 00 00 00 00 03 09 90 03" -Input2 = "00 00 00 00 00 09 09 10 00 00 00 01" +Input1 = "00 0E 00 00 00 08 01 0F 00 00 00 01 01 01" +Input2 = "00 0E 01 00 00 06 01 0F 00 00 00 01" [Example16] -Input1 = "00 00 00 00 00 03 09 90 04" -Input2 = "00 00 00 00 00 09 09 10 00 00 00 01" - - +Input1 = "00 0E 00 00 00 08 01 0F 00 00 00 01 01 01" +Input2 = "00 0E 00 1E 00 06 01 0F 00 00 00 01" [Example17] -Input1 = "00 00 00 00 00 03 09 8F 01" -Input2 = "00 00 00 00 00 09 09 0F 00 00 00 01" +Input1 = "00 0E 00 00 00 08 01 0F 00 00 00 01 01 01" +Input2 = "00 0E 00 00 11 06 01 0F 00 00 00 01" [Example18] -Input1 = "00 00 00 00 00 03 09 8F 02" -Input2 = "00 00 00 00 00 09 09 0F 00 00 00 01" +Input1 = "00 0E 00 00 00 06 01 01 00 00 00 01" +Input2 = "00 0E 00 00 00 03 01 01 01 00" [Example19] -Input1 = "00 00 00 00 00 03 09 8F 03" -Input2 = "00 00 00 00 00 09 09 0F 00 00 00 01" +Input1 = "00 0E 00 00 00 06 01 01 00 00 00 01" +Input2 = "00 0E 00 00 00 04 02 01 01 00" [Example20] -Input1 = "00 00 00 00 00 03 09 8F 04" -Input2 = "00 00 00 00 00 09 09 0F 00 00 00 01" - - +Input1 = "00 0E 00 00 00 06 01 01 00 00 00 01" +Input2 = "00 0E 00 00 00 04 01 03 01 00" [Example21] -Input1 = "00 00 00 00 00 03 09 81 01" -Input2 = "00 00 00 00 00 09 09 01 00 00 00 01" +Input1 = "00 0E 00 00 00 06 01 10 00 00 00 02 04 11 11 11 11" +Input2 = "00 0E 00 00 00 06 01 10 50 10 00 02" [Example22] -Input1 = "00 00 00 00 00 03 09 81 02" -Input2 = "00 00 00 00 00 09 09 01 00 00 00 01" +Input1 = "00 0E 00 00 00 0B 01 10 00 00 00 02 04 11 11 11 11" +Input2 = "00 0E 00 00 00 06 01 10 00 00 01 02" [Example23] -Input1 = "00 00 00 00 00 03 09 81 03" -Input2 = "00 00 00 00 00 09 09 01 00 00 00 01" +Input1 = "00 0E 00 00 00 06 01 03 00 00 00 02" +Input2 = "00 0E 00 00 00 07 01 03 02 11 11 11 11" +;异常码响应样例 [Example24] -Input1 = "00 00 00 00 00 03 09 81 04" -Input2 = "00 00 00 00 00 09 09 01 00 00 00 01" - - +Input1 = "00 0E 00 00 00 06 01 03 00 00 00 02" +Input2 = "00 0E 00 00 00 03 01 83 01" [Example25] -Input1 = "00 00 00 00 00 03 09 83 01" -Input2 = "00 00 00 00 00 09 09 03 00 00 00 01" - +Input1 = "00 0E 00 00 00 06 01 01 00 00 00 02" +Input2 = "00 0E 00 00 00 03 01 81 02" [Example26] -Input1 = "00 00 00 00 00 03 09 83 02" -Input2 = "00 00 00 00 00 09 09 03 00 00 00 01" +Input1 = "00 0E 00 00 00 08 01 0F 00 00 00 02 01 00" +Input2 = "00 0E 00 00 00 03 01 8F 03" [Example27] -Input1 = "00 00 00 00 00 03 09 83 03" -Input2 = "00 00 00 00 00 09 09 03 00 00 00 01" +Input1 = "00 0E 00 00 00 09 01 10 00 00 00 01 02 00 00" +Input2 = "00 0E 00 00 00 03 01 90 04" + + + + + + + + + + -[Example28] -Input1 = "00 00 00 00 00 03 09 83 04" -Input2 = "00 00 00 00 00 09 09 03 00 00 00 01" \ No newline at end of file diff --git a/Modbus_communication/TCP_Master_test/TCP_Test_Code.cpp b/Modbus_communication/TCP_Master_test/TCP_Test_Code.cpp index fbe649e..d8b5b3c 100644 --- a/Modbus_communication/TCP_Master_test/TCP_Test_Code.cpp +++ b/Modbus_communication/TCP_Master_test/TCP_Test_Code.cpp @@ -9,7 +9,7 @@ void Generate_request_message_test(void) char buf1[LEN]; CString name = "Example"; char s[10] = ""; - int Output, Input1, Input2, Input3; + int Output, Input1, Input2, Input3, Input4; int number = GetPrivateProfileInt(name, "Number", 0, TESTPATH1); for (int i = 1; i < number + 1; i++) @@ -21,7 +21,8 @@ void Generate_request_message_test(void) CString name1 = name + s; Input1 = GetPrivateProfileInt(name1, "Input1", 0, TESTPATH1); Input2 = GetPrivateProfileInt(name1, "Input2", 0, TESTPATH1); - Input3 = GetPrivateProfileString(name1, "Input3", "", buf, LEN, TESTPATH1); + Input3 = GetPrivateProfileInt(name1, "Input3", 0, TESTPATH1); + Input4 = GetPrivateProfileString(name1, "Input4", "", buf, LEN, TESTPATH1); Output = GetPrivateProfileString(name1, "Output", "", buf1, LEN, TESTPATH1); UINT8 test_Message[300]; @@ -36,18 +37,13 @@ void Generate_request_message_test(void) Act_len++; } sscanf_s(b + Act_Message.length() - 2, "%02X", (int *)(Output_Message + Act_len)); - - int len = Crate_TCP_Message(test_Message, Input1, Input2, 0, Write_date); + //int Create_TCP_Message(UINT8 *Message, int function_code, unsigned int operations_Number, unsigned int starting_address, string write_date); + int len = Create_TCP_Message(test_Message, Input1, Input2, Input3, Write_date); for (int j = 0; j < len; j++) { - printf("%02X ", test_Message[j]); - } - printf("\n"); - for (int m = 0; m < len; m++) - { - printf("%02X ", Output_Message[m]); + if (test_Message[j] != Output_Message[j]) + printf("--%d--loss--%d \n",i,j); } - printf("\n"); } } @@ -74,7 +70,7 @@ void Analysis_response_message_test(void) Input2 = GetPrivateProfileString(name1, "Input2", "", buf1, LEN, TESTPATH2); UINT8 Response_Message[300]; - string Act_Message = buf; + string Act_Message = buf1; const char *b = Act_Message.c_str(); unsigned int Act_len = 0; for (unsigned int i = 0; i + 3 < Act_Message.length(); i = i + 3) @@ -86,7 +82,7 @@ void Analysis_response_message_test(void) UINT8 Request_Message[300]; - string Act_Message1 = buf1; + string Act_Message1 = buf; const char *a = Act_Message1.c_str(); unsigned int Act_len1 = 0; for (unsigned int i = 0; i + 3 < Act_Message1.length(); i = i + 3)