From a1d8a553573472de51623fadec044d4c6a1be627 Mon Sep 17 00:00:00 2001 From: zhangwen <3466561528@qq.com> Date: Tue, 2 Dec 2025 10:52:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=95=B0=E6=8D=AE=E8=BD=AC?= =?UTF-8?q?=E6=8D=A2=E7=BB=93=E6=9E=84=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LFtid1056/PQSMsg.h | 76 +++++++++++++++++++++++++++++++++++++-- LFtid1056/dealMsg.cpp | 16 +++++---- LFtid1056/main_thread.cpp | 6 +--- 3 files changed, 84 insertions(+), 14 deletions(-) diff --git a/LFtid1056/PQSMsg.h b/LFtid1056/PQSMsg.h index 1232f39..ed9c434 100644 --- a/LFtid1056/PQSMsg.h +++ b/LFtid1056/PQSMsg.h @@ -981,6 +981,40 @@ public: float_buffer.push_back(UL_Flicker[i]); } + //后12位 A相P1 Q1 S1 B相P1 Q1 S1 C相P1 Q1 S1 T相P1 Q1 S1 + float_buffer.push_back(Harm_Power[0][0].P); + float_buffer.push_back(Harm_Power[0][0].Q); + float_buffer.push_back(Harm_Power[0][0].S); + float_buffer.push_back(Harm_Power[1][0].P); + float_buffer.push_back(Harm_Power[1][0].Q); + float_buffer.push_back(Harm_Power[1][0].S); + float_buffer.push_back(Harm_Power[2][0].P); + float_buffer.push_back(Harm_Power[2][0].Q); + float_buffer.push_back(Harm_Power[2][0].S); + float_buffer.push_back(Harm_Power[3][0].P); + float_buffer.push_back(Harm_Power[3][0].Q); + float_buffer.push_back(Harm_Power[3][0].S); + //后9位 相电压 相电流 线电压 (基波有效值 A B C V1 I1)FuHarm取数组0位 + float_buffer.push_back(3.14159f);//A V1 角型空置 + float_buffer.push_back(3.14159f);//B V1 角型空置 + float_buffer.push_back(3.14159f);//C V1 角型空置 + float_buffer.push_back(FuHarm[3][0]);//A I1 + float_buffer.push_back(FuHarm[4][0]);//B I1 + float_buffer.push_back(FuHarm[5][0]);//C I1 + float_buffer.push_back(FuHarm[0][0]);//AB V1 + float_buffer.push_back(FuHarm[1][0]);//BC V1 + float_buffer.push_back(FuHarm[2][0]);//CA V1 + //后9位 基波电压电流相角 FuHarmPhase取数组0位 + float_buffer.push_back(3.14159f);//A V1 角型空置 + float_buffer.push_back(3.14159f);//B V1 角型空置 + float_buffer.push_back(3.14159f);//C V1 角型空置 + float_buffer.push_back(FuHarmPhase[3][0]);//A I1 + float_buffer.push_back(FuHarmPhase[4][0]);//B I1 + float_buffer.push_back(FuHarmPhase[5][0]);//C I1 + float_buffer.push_back(FuHarmPhase[0][0]);//AB V1 + float_buffer.push_back(FuHarmPhase[1][0]);//BC V1 + float_buffer.push_back(FuHarmPhase[2][0]);//CA V1 + // 转换为Base64 const size_t byte_size = float_buffer.size() * sizeof(float); const unsigned char* byte_data = reinterpret_cast(float_buffer.data()); @@ -1190,6 +1224,40 @@ public: float_buffer.push_back(3.14159f); } + //后12位 A相P1 Q1 S1 B相P1 Q1 S1 C相P1 Q1 S1 T相P1 Q1 S1 + float_buffer.push_back(Harm_Power[0][0].P); + float_buffer.push_back(Harm_Power[0][0].Q); + float_buffer.push_back(Harm_Power[0][0].S); + float_buffer.push_back(Harm_Power[1][0].P); + float_buffer.push_back(Harm_Power[1][0].Q); + float_buffer.push_back(Harm_Power[1][0].S); + float_buffer.push_back(Harm_Power[2][0].P); + float_buffer.push_back(Harm_Power[2][0].Q); + float_buffer.push_back(Harm_Power[2][0].S); + float_buffer.push_back(Harm_Power[3][0].P); + float_buffer.push_back(Harm_Power[3][0].Q); + float_buffer.push_back(Harm_Power[3][0].S); + //后9位 相电压 相电流 线电压 (基波有效值 A B C V1 I1)FuHarm取数组0位 + float_buffer.push_back(FuHarm[0][0]);//A V1 + float_buffer.push_back(FuHarm[1][0]);//B V1 + float_buffer.push_back(FuHarm[2][0]);//C V1 + float_buffer.push_back(FuHarm[3][0]);//A I1 + float_buffer.push_back(FuHarm[4][0]);//B I1 + float_buffer.push_back(FuHarm[5][0]);//C I1 + float_buffer.push_back(3.14159f);//AB V1 星型空置 + float_buffer.push_back(3.14159f);//BC V1 星型空置 + float_buffer.push_back(3.14159f);//CA V1 星型空置 + //后9位 基波电压电流相角 FuHarmPhase取数组0位 + float_buffer.push_back(FuHarmPhase[0][0]);//A V1 + float_buffer.push_back(FuHarmPhase[1][0]);//B V1 + float_buffer.push_back(FuHarmPhase[2][0]);//C V1 + float_buffer.push_back(FuHarmPhase[3][0]);//A I1 + float_buffer.push_back(FuHarmPhase[4][0]);//B I1 + float_buffer.push_back(FuHarmPhase[5][0]);//C I1 + float_buffer.push_back(3.14159f);//AB V1 星型空置 + float_buffer.push_back(3.14159f);//BC V1 星型空置 + float_buffer.push_back(3.14159f);//CA V1 星型空置 + // 转换为Base64 const size_t byte_size = float_buffer.size() * sizeof(float); const unsigned char* byte_data = reinterpret_cast(float_buffer.data()); @@ -1966,7 +2034,11 @@ public: std::vector float_buffer; //THD线电压畸变率(3-5) - for (int i = 3; i < 6; ++i) { + /*for (int i = 3; i < 6; ++i) { + float_buffer.push_back(THD[i]); + }*/ + //这里线的指标被填入了相中 所以仍然取0-2而不取3-5 + for (int i = 0; i < 3; ++i) { float_buffer.push_back(THD[i]); } @@ -1985,7 +2057,7 @@ public: std::string ConvertToBase64_Star_RtHarmV() const { std::vector float_buffer; - //THD线电压畸变率(3-5) + //THD相电压畸变率(0-2) for (int i = 0; i < 3; ++i) { float_buffer.push_back(THD[i]); } diff --git a/LFtid1056/dealMsg.cpp b/LFtid1056/dealMsg.cpp index 16e6f95..e2d85a2 100644 --- a/LFtid1056/dealMsg.cpp +++ b/LFtid1056/dealMsg.cpp @@ -95,7 +95,7 @@ void process_received_message(string mac, string id,const char* data, size_t len //ClientManager::instance().get_dev_status(id);//璁惧鍦ㄧ嚎鎯呭喌鍒ゆ柇 ture鍦ㄧ嚎 false绂荤嚎 //ClientManager::instance().set_real_state_count("D002", 1,1);//鐧诲綍鍚庢祴璇曞疄鏃 - //ClientManager::instance().add_file_menu_action_to_device("D002","/etc");//娴嬭瘯鏂囦欢鐩綍璇诲彇 + //ClientManager::instance().add_file_menu_action_to_device(id,"/etc");//娴嬭瘯鏂囦欢鐩綍璇诲彇 //ClientManager::instance().add_file_download_action_to_device("D002", "/etc/NPQS570_VX_ZJ_2(V103).icd");//娴嬭瘯鏂囦欢涓嬭浇 //ClientManager::instance().get_fixedvalue_action_to_device(id,1);//娴嬭瘯鑾峰彇瑁呯疆娴嬬偣瀹氬兼暟鎹 //ClientManager::instance().get_fixedvaluedes_action_to_device(id);//娴嬭瘯鑾峰彇瑁呯疆瀹氬兼弿杩 @@ -767,15 +767,17 @@ void process_received_message(string mac, string id,const char* data, size_t len tag_dir_info dir_info; memcpy(&dir_info, data_ptr + i, struct_size); - - // 瀛楄妭搴忚浆鎹 (澶х -> 灏忕) - dir_info.flag = ntohl(dir_info.flag); - dir_info.size = ntohl(dir_info.size); - std::string gbk_name(dir_info.name, strnlen(dir_info.name, sizeof(dir_info.name))); + if (dir_info.flag > 1000) { + //澶т簬1000榛樿涓哄ぇ绔簭鐨勬枃浠 闇瑕佽繘琛岃浆鎹 + // 瀛楄妭搴忚浆鎹 (澶х -> 灏忕) + dir_info.flag = ntohl(dir_info.flag); + dir_info.size = ntohl(dir_info.size); + } + // 鎵撳嵃鏂囦欢鍚 - std::cout << "file name:" << gbk_name << std::endl; + std::cout << "file name:" << gbk_name << " size:" << dir_info.size << " type:" << dir_info.flag < devices = { // { - // "D001", "Primary Device", "Model-X", "00-B7-8D-01-88-7f", + // "D001", "Primary Device", "Model-X", "00-B7-8D-00-BB-03", // 1, points1,true - // }, - // { - // "D002", "Primary Device1", "Model-X1", "00-B7-8D-01-71-09", - // 1, points2,true // } //};