From 98db3bc5b20ea62cb1d75bb56e8e8d5fc1948e4e Mon Sep 17 00:00:00 2001 From: zcn1123 <2363211205@qq.com> Date: Tue, 1 Sep 2020 14:49:45 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=83=A8=E5=88=86=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Modbus_communication/Modbus_TCP/TCP_client.cpp | 18 +++++++++--------- Modbus_communication/Modbus_TCP/common.cpp | 8 ++++++++ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Modbus_communication/Modbus_TCP/TCP_client.cpp b/Modbus_communication/Modbus_TCP/TCP_client.cpp index 94a8ead..2a0a9a2 100644 --- a/Modbus_communication/Modbus_TCP/TCP_client.cpp +++ b/Modbus_communication/Modbus_TCP/TCP_client.cpp @@ -226,28 +226,28 @@ bool Tcp_client(string IP, unsigned int Port_number) unsigned int Operations_Number = Input_Operations_Number(Function_code); unsigned int Starting_address = Input_Starting_address(); string Write_date = Input_Write_date(Function_code, Operations_Number); - int Message_len = Crate_TCP_Message(Request_Message, Function_code, Operations_Number, Starting_address, Write_date); + int Request_Message_len = Crate_TCP_Message(Request_Message, Function_code, Operations_Number, Starting_address, Write_date); printf("主站请求 :"); - for (int i = 0; i < Message_len; i++) + for (int i = 0; i < Request_Message_len; i++) { printf("%02x ", Request_Message[i]); } printf("\n"); - Log_Note(Request_Message, 1, Message_len); + Log_Note(Request_Message, 1, Request_Message_len); Clear_recv_buf(ClientSocket); - send(ClientSocket, (char*)Request_Message, Message_len, 0); + send(ClientSocket, (char*)Request_Message, Request_Message_len, 0); memset(Response_Message, 0, 260); - int ret = recv(ClientSocket, (char*)Response_Message, 260, 0); - if (ret > 0) + int Response_Message_len = recv(ClientSocket, (char*)Response_Message, 260, 0); + if (Response_Message_len > 0) { - Log_Note(Response_Message, 0, ret); + Log_Note(Response_Message, 0, Response_Message_len); printf("从站响应 :"); - for (int i = 0; i < ret; i++) + for (int i = 0; i < Response_Message_len; i++) { printf("%02x ", Response_Message[i]); } printf("\n"); - if (Analysis_Response_Message(Response_Message, Request_Message, ret)) + if (Analysis_Response_Message(Response_Message, Request_Message, Response_Message_len)) printf("响应报文异常\n\n"); } else diff --git a/Modbus_communication/Modbus_TCP/common.cpp b/Modbus_communication/Modbus_TCP/common.cpp index 8a20b62..d6b7668 100644 --- a/Modbus_communication/Modbus_TCP/common.cpp +++ b/Modbus_communication/Modbus_TCP/common.cpp @@ -258,6 +258,14 @@ int Crate_TCP_Message(UINT8 *Message, int Function_code, unsigned int Operations } +/********************************************************************************************* +* 功能    : 日志记录 +* 描述   : 记录每次通信的请求和响应报文 +* 输入 : *Message 消息帧存放的数组 flage = 1 请求报文 flage = 其他 响应报文 +* Message_len 报文数据长度 +* 输出 : 无 +*********************************************************************************************/ + void Log_Note(UINT8 *Message, int flage, int Message_len) { FILE *fp = NULL;