Pārlūkot izejas kodu

修改TCP清理缓存区方式

master
zcn1123 pirms 4 gadiem
vecāks
revīzija
67471c2c96
5 mainītis faili ar 192 papildinājumiem un 13 dzēšanām
  1. +1
    -1
      Modbus_communication/Modbus_RTU_Salve/RTU_Salve.cpp
  2. +1
    -1
      Modbus_communication/Modbus_RTU_Salve/RTU_Salve.h
  3. +160
    -0
      Modbus_communication/Modbus_TCP/Modbus_TCP_log.txt
  4. +26
    -7
      Modbus_communication/Modbus_TCP/TCP_client.cpp
  5. +4
    -4
      Modbus_communication/Modbus_TCP/common.cpp

+ 1
- 1
Modbus_communication/Modbus_RTU_Salve/RTU_Salve.cpp Parādīt failu

@@ -383,7 +383,7 @@ int Modbus_RTU_Salve(void)
while (true)
{
PurgeComm(Handle_Com, PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR | PURGE_TXABORT);//清除缓存
BOOL Read_flage = ReadFile(Handle_Com, Requst_Message, 256, &Read_len, NULL); //阻塞等待接收请求报文
BOOL Read_flage = ReadFile(Handle_Com, Requst_Message, 300, &Read_len, NULL); //阻塞等待接收请求报文
if (Read_flage && (Read_len > 0))
{
if (Create_Response_Message(Requst_Message, Response_Message, Read_len))


+ 1
- 1
Modbus_communication/Modbus_RTU_Salve/RTU_Salve.h Parādīt failu

@@ -4,7 +4,7 @@
#include "common.h"
#define Device_ID 0x09
#define MAX_Address 9999
#define MAX_NUMBER 256
#define MAX_NUMBER 300

int Modbus_RTU_Salve(void);
bool Create_Response_Message(UINT8 *Requst_Message, UINT8 *Response_Message, DWORD Read_len);


+ 160
- 0
Modbus_communication/Modbus_TCP/Modbus_TCP_log.txt Parādīt failu

@@ -249,3 +249,163 @@
2020-9-12 19:40:22 Recv:00 02 00 00 00 04 01 81 02 11
2020-9-12 19:43:41 Send:00 00 00 00 00 06 01 01 00 00 00 01
2020-9-12 19:43:56 Recv:00 00 00 00 00 04 01 81 02 11
2020-9-14 12:39:35 Send:00 00 00 00 00 06 01 01 00 00 00 00
2020-9-14 12:40:39 Recv:00 00 00 00 00 03 01 81 03
2020-9-14 12:41:9 Send:00 01 00 00 00 06 01 01 00 00 00 00
2020-9-14 12:41:31 Recv:00 00 00 00 00 03 01 01 00
2020-9-14 12:41:41 Send:00 02 00 00 00 06 01 01 00 00 00 00
2020-9-14 12:41:52 Recv:00 02 00 00 00 03 01 01 00
2020-9-14 12:45:51 Send:00 00 00 00 00 06 01 01 00 00 00 01
2020-9-14 12:46:47 Recv:00 00 00 00 00 04 01 01 01 00
2020-9-14 12:47:11 Send:00 01 00 00 00 06 01 01 00 00 00 01
2020-9-14 12:47:16 Recv:00 02 00 00 00 03 01 01 01
2020-9-14 12:48:42 Send:00 02 00 00 00 06 01 01 00 00 00 01
2020-9-14 12:49:1 Recv:00 02 00 00 00 01 01
2020-9-14 13:26:14 Send:00 03 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:32:31 Send:00 04 00 00 00 06 01 01 00 00 07 D0
2020-9-14 13:35:41 Recv:00 04 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 FF
2020-9-14 13:37:59 Send:00 05 00 00 00 06 01 01 00 00 00 0B
2020-9-14 13:38:8 Send:00 06 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:39:20 Recv:00 06 00 00 00 03 01 81 01
2020-9-14 13:40:44 Send:00 07 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:40:50 Recv:00 07 00 00 00 03 01 81 02
2020-9-14 13:41:25 Send:00 08 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:41:32 Recv:00 08 00 00 00 03 01 81 03
2020-9-14 13:41:48 Send:00 09 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:42:4 Recv:00 09 00 00 00 03 01 81 04
2020-9-14 13:42:20 Send:00 0A 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:42:33 Recv:00 0A 00 00 00 03 01 81 05
2020-9-14 13:48:26 Send:00 0B 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:49:41 Recv:00 0C 00 00 00 04 01 01 01 00
2020-9-14 13:49:58 Send:00 0C 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:50:19 Recv:00 0C 01 00 00 04 01 01 01 00
2020-9-14 13:51:55 Send:00 0D 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:52:21 Recv:00 0D 00 00 01 04 01 01 01 00
2020-9-14 13:52:50 Send:00 0E 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:53:13 Recv:00 0E 00 00 00 04 02 01 01 00
2020-9-14 13:56:48 Send:00 0F 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:57:13 Send:00 10 00 00 00 06 01 01 00 00 00 0A
2020-9-14 13:58:4 Recv:00 10 00 00 00 02 01 01 02 00 00
2020-9-14 13:58:35 Send:00 11 00 00 00 06 01 01 00 00 00 01
2020-9-14 13:58:45 Send:00 12 00 00 00 06 01 01 00 00 00 0A
2020-9-14 13:59:8 Recv:00 12 00 00 00 05 01 01 01 00 00
2020-9-14 14:0:10 Send:00 13 00 00 00 06 01 01 00 00 00 0A
2020-9-14 14:0:31 Recv:00 13 00 00 00 04 01 01 01 00
2020-9-14 14:0:58 Send:00 14 00 00 00 06 01 01 00 00 00 01
2020-9-14 14:1:21 Recv:00 13 00 00 00 02 01 01
2020-9-14 14:1:35 Send:00 15 00 00 00 06 01 01 00 00 00 01
2020-9-14 14:1:46 Recv:00 15 00 00 00 02 01 01
2020-9-14 14:3:13 Send:00 16 00 00 00 06 01 01 00 00 00 01
2020-9-14 14:3:36 Recv:00 16 00 00 00 03 01 83 01
2020-9-14 14:6:49 Send:00 17 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:7:22 Recv:00 17 00 00 00 05 01 03 02 11 11
2020-9-14 14:7:57 Send:00 18 00 00 00 06 01 03 00 00 00 7D
2020-9-14 14:8:51 Recv:00 18 00 00 00 FD 01 03 FA 00 FF 00 FF 00 FF 00 00 00 FF 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 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-14 14:12:57 Send:00 19 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:13:23 Recv:00 19 00 00 00 03 01 83 01
2020-9-14 14:14:8 Send:00 1A 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:14:13 Recv:00 20 00 00 00 03 01 83 02
2020-9-14 14:14:26 Send:00 1B 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:14:36 Recv:00 1B 00 00 00 03 01 83 02
2020-9-14 14:14:56 Send:00 1C 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:15:7 Recv:00 1C 00 00 00 03 01 83 03
2020-9-14 14:15:32 Send:00 1D 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:15:44 Recv:00 1D 00 00 00 03 01 83 04
2020-9-14 14:18:28 Send:00 1E 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:18:41 Recv:00 1E 00 00 00 03 01 8F 04
2020-9-14 14:19:34 Send:00 1F 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:20:1 Recv:00 1C 00 00 00 03 01 02 00 00
2020-9-14 14:20:12 Send:00 20 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:20:40 Recv:00 1C 00 00 00 05 01 03 02 00 00
2020-9-14 14:21:6 Send:00 21 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:21:28 Recv:00 21 00 20 00 05 01 03 02 00 00
2020-9-14 14:21:56 Send:00 22 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:22:12 Recv:00 22 00 00 10 05 01 03 02 00 00
2020-9-14 14:25:56 Send:00 23 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:26:15 Recv:00 23 00 00 00 05 02 03 02 00 00
2020-9-14 14:26:35 Send:00 24 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:26:58 Recv:00 24 00 00 00 02 01 03 02 00 00
2020-9-14 14:28:18 Send:00 25 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:28:26 Send:00 26 00 00 00 06 01 03 00 00 00 02
2020-9-14 14:28:50 Recv:00 26 00 00 00 07 01 03 03 00 00 00 00
2020-9-14 14:29:17 Send:00 27 00 00 00 06 01 03 00 00 00 02
2020-9-14 14:29:53 Recv:00 27 00 00 00 09 01 03 06 00 00 00 00 00 00
2020-9-14 14:30:21 Send:00 28 00 00 00 06 01 03 00 00 00 01
2020-9-14 14:30:54 Recv:00 28 00 00 00 02 01 03
2020-9-14 14:34:36 Send:00 29 00 00 00 08 01 0F 00 00 00 01 01 01
2020-9-14 14:35:14 Recv:00 29 00 00 00 06 01 0F 00 00 00 01
2020-9-14 14:36:32 Send:00 2A 00 00 00 FD 01 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
2020-9-14 14:37:13 Recv:00 2A 00 00 00 FD 01 0F 00 00 07 B0
2020-9-14 14:43:19 Send:00 2B 00 00 00 FD 01 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
2020-9-14 14:43:56 Recv:00 2B 00 00 00 FD 01 0F 00 00 07 B0
2020-9-14 14:45:18 Send:00 2C 00 00 00 FD 01 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
2020-9-14 14:45:29 Recv:00 2B 00 00 00 06 01 0F 00 00 07 B0
2020-9-14 14:45:44 Send:00 2D 00 00 00 FD 01 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
2020-9-14 14:45:53 Recv:00 2D 00 00 00 06 01 0F 00 00 07 B0
2020-9-14 14:47:32 Send:00 2E 00 00 00 08 01 0F 00 00 00 01 01 01
2020-9-14 14:50:1 Recv:00 2E 00 00 00 03 01 8F 01
2020-9-14 14:50:27 Send:00 2F 00 00 00 08 01 0F 00 00 00 01 01 00
2020-9-14 14:50:52 Recv:00 2F 00 00 00 03 01 8F 02
2020-9-14 14:51:17 Send:00 30 00 00 00 08 01 0F 00 00 00 01 01 00
2020-9-14 14:51:31 Recv:00 30 00 00 00 03 01 8F 03
2020-9-14 14:51:56 Send:00 31 00 00 00 08 01 0F 00 00 00 01 01 01
2020-9-14 14:52:5 Recv:00 31 00 00 00 03 01 8F 04
2020-9-14 14:53:13 Send:00 32 00 00 00 08 01 0F 00 00 00 01 01 00
2020-9-14 14:53:29 Recv:00 32 00 00 00 03 01 90 04
2020-9-14 14:54:59 Send:00 33 00 00 00 08 01 0F 00 00 00 01 01 00
2020-9-14 14:55:35 Recv:00 00 00 00 00 06 01 0F 00 00 00 01
2020-9-14 14:56:2 Send:00 34 00 00 00 08 01 0F 00 00 00 01 01 00
2020-9-14 14:56:38 Recv:00 34 0F 00 00 06 01 0F 00 00 00 01
2020-9-14 14:57:14 Send:00 35 00 00 00 08 01 0F 00 00 00 01 01 00
2020-9-14 14:57:36 Recv:00 35 00 00 F0 06 01 0F 00 00 00 01
2020-9-14 14:58:29 Send:00 36 00 00 00 08 01 0F 00 00 00 01 01 00
2020-9-14 14:58:54 Recv:00 36 00 00 00 06 02 0F 00 00 00 01
2020-9-14 14:59:19 Send:00 37 00 00 00 08 01 0F 00 00 00 01 01 00
2020-9-14 14:59:35 Send:00 38 00 00 00 09 01 0F 00 00 00 0A 02 01 01
2020-9-14 14:59:59 Recv:00 38 00 00 00 05 01 0F 00 00 00 0A
2020-9-14 15:1:22 Send:00 39 00 00 00 08 01 0F 00 00 00 01 01 01
2020-9-14 15:1:46 Recv:00 39 00 00 00 04 01 0F 00 01
2020-9-14 15:2:15 Send:00 3A 00 00 00 08 01 0F 00 00 00 01 01 00
2020-9-14 15:2:56 Recv:00 3A 00 00 00 02 01 0F
2020-9-14 15:6:31 Send:00 3B 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:6:48 Recv:00 3B 00 00 00 07 01 10 00 00 00 01
2020-9-14 15:7:3 Send:00 3C 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:7:17 Recv:00 3C 00 00 00 06 01 10 00 00 00 01
2020-9-14 15:7:49 Send:00 3D 00 00 00 FD 01 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
2020-9-14 15:8:14 Recv:00 3D 00 00 00 06 01 10 00 00 00 7B
2020-9-14 15:8:45 Send:00 3E 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:10:45 Recv:00 3E 00 00 00 04 01 80 01
2020-9-14 15:11:2 Send:00 3F 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:11:13 Recv:00 3F 00 00 00 03 01 80 02
2020-9-14 15:11:31 Send:00 40 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:11:43 Recv:00 40 00 00 00 03 01 90 03
2020-9-14 15:11:51 Send:00 41 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:12:2 Recv:00 41 00 00 00 03 01 90 04
2020-9-14 15:13:47 Send:00 42 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:14:2 Recv:00 42 00 00 00 03 01 81 04
2020-9-14 15:15:20 Send:00 43 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:15:53 Recv:00 42 00 00 00 06 01 10 00 00 00 01
2020-9-14 15:16:14 Send:00 44 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:16:34 Recv:00 44 55 00 00 06 01 10 00 00 00 01
2020-9-14 15:18:51 Send:00 45 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:19:11 Recv:00 45 00 00 50 06 01 10 00 00 00 01
2020-9-14 15:19:31 Send:00 46 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:19:51 Recv:00 46 00 00 00 06 02 10 00 00 00 01
2020-9-14 15:20:26 Send:00 47 00 00 00 09 01 10 00 00 00 01 02 00 00
2020-9-14 15:20:40 Send:00 48 00 00 00 0B 01 10 00 00 00 02 04 00 00 00 05
2020-9-14 15:21:5 Recv:00 48 00 00 00 0B 01 10 00 00 00 02
2020-9-14 15:21:39 Send:00 49 00 00 00 0B 01 10 00 00 00 02 04 00 00 00 00
2020-9-14 15:22:6 Recv:00 49 00 00 00 05 01 10 00 00 00
2020-9-14 15:22:28 Send:00 4A 00 00 00 09 01 10 00 00 00 01 02 00 55
2020-9-14 15:23:3 Recv:00 4A 00 00 00 01 01
2020-9-14 15:56:23 Send:00 4B 00 00 00 06 01 01 00 01 00 01
2020-9-14 20:51:26 Send:00 00 00 00 00 06 01 01 00 00 00 01
2020-9-14 20:51:26 Recv:00 4A 00 00 00 01 01 00 4A 00 00 00 01 01
2020-9-14 20:58:36 Send:00 00 00 00 00 06 01 01 00 00 00 01
2020-9-14 20:58:41 Recv:00 4A 00 00 00 01 01
2020-9-14 20:58:58 Send:00 01 00 00 00 06 01 01 00 00 00 01
2020-9-14 20:59:7 Recv:11
2020-9-14 20:59:17 Send:00 02 00 00 00 06 01 01 00 00 00 01
2020-9-14 20:59:53 Send:00 03 00 00 00 06 01 01 00 00 00 01
2020-9-14 21:1:44 Send:00 00 00 00 00 06 01 01 00 00 00 01
2020-9-14 21:1:49 Recv:01 11 11 01 01 11 01 01 01 01

+ 26
- 7
Modbus_communication/Modbus_TCP/TCP_client.cpp Parādīt failu

@@ -2,11 +2,11 @@


/*********************************************************************************************
* 功能    : 检测socket版本
* 描述   : 检测socket版本是否一致
* 功能    : socket版本
* 描述   : 启动socket服务
* 输入 : 无
* 输出 : true socket版本一致
* false socket版本不一致
* 输出 : true 启动成功
* false 启动失败
*********************************************************************************************/
bool InitSocket_Version(void)
{
@@ -106,7 +106,7 @@ SOCKET Init_client()
}
cout << "连接TCP从站成功" << endl;
TIMEVAL timeout;
timeout.tv_sec = 20; //ms
timeout.tv_sec = 20000; //ms
timeout.tv_usec = 0; //us
setsockopt(ClientSocket, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof(struct timeval));//设置接收超时时间
return ClientSocket;
@@ -207,6 +207,8 @@ bool Check_Response_Message_len(UINT8 *Response_Message, UINT8 *Request_Message,
*********************************************************************************************/
bool Analysis_Response_Message(UINT8 *Response_Message, UINT8 *Request_Message, int Response_Message_len)
{
if (Response_Message_len < 9)
return false;
for (int i = 0; i < 7; i++)
{
if (i == 4 || i == 5) //后续字节长度
@@ -216,7 +218,6 @@ bool Analysis_Response_Message(UINT8 *Response_Message, UINT8 *Request_Message,
}
if (Response_Message[4] != 0x00) //4 固定0x00 帧长度判定
return false;

if (Response_Message[7] == Request_Message[7] + 0x80)//先处理异常响应
{
@@ -243,6 +244,23 @@ bool Analysis_Response_Message(UINT8 *Response_Message, UINT8 *Request_Message,
return true;
}

void Clear_buf(SOCKET ClientSocket)
{
unsigned long bytesToRecv;
char temp[50];
do
{
ioctlsocket(ClientSocket, FIONREAD, &bytesToRecv);
if (bytesToRecv > 50)
{
recv(ClientSocket, temp, 50, 0);
}
else
recv(ClientSocket, temp, bytesToRecv, 0);
} while (bytesToRecv != 0);

}

/*********************************************************************************************
* 功能    : 运行客户端
* 描述   : 根据终端输入从站IP地址和端口号连接对应的服务器并且生成发送请求等待响应
@@ -280,6 +298,7 @@ bool Tcp_client()
}
printf("\n");
Log_Note(Request_Message, 1, Request_Message_len);
Clear_buf(ClientSocket);
int test = send(ClientSocket, (char*)Request_Message, Request_Message_len, 0);
if (Transmission_Indicator == 0xffff)
{
@@ -312,7 +331,7 @@ bool Tcp_client()
system("cls");
continue;
}
memset(Response_Message, 0, 300);
memset(Response_Message, 0, 600);
FD_ZERO(&reads);
FD_SET(ClientSocket, &reads);
int Response_Message_len = recv(ClientSocket, (char*)Response_Message, 600, 0);


+ 4
- 4
Modbus_communication/Modbus_TCP/common.cpp Parādīt failu

@@ -83,13 +83,13 @@ unsigned int Input_Operations_Number(int Function_code)
cin >> Operations_Number;
cin.clear();
cin.sync();
if (Function_code == 0x01 && Operations_Number >= 0 && Operations_Number <= 65535)
if (Function_code == 0x01 && Operations_Number >= 1 && Operations_Number <= 65535)
flage = false;
if (Function_code == 0x03 && Operations_Number >= 0 && Operations_Number <= 65535)
if (Function_code == 0x03 && Operations_Number >= 1 && Operations_Number <= 65535)
flage = false;
if (Function_code == 0x0F && Operations_Number >= 0 && Operations_Number <= 65535)
if (Function_code == 0x0F && Operations_Number >= 1 && Operations_Number <= 65535)
flage = false;
if (Function_code == 0x10 && Operations_Number >= 0 && Operations_Number <= 65535)
if (Function_code == 0x10 && Operations_Number >= 1 && Operations_Number <= 65535)
flage = false;
} while (flage);
return Operations_Number;


Notiek ielāde…
Atcelt
Saglabāt