diff --git a/LFtid1056/PQSMsg.h b/LFtid1056/PQSMsg.h index 0d2b515..4cb0216 100644 --- a/LFtid1056/PQSMsg.h +++ b/LFtid1056/PQSMsg.h @@ -757,7 +757,10 @@ public: // 12-14位从UU_Deviation和UL_Deviation各自取前三个,取不为0的值 for (int i = 0; i < 3; ++i) { - float val = (UU_Deviation[i] != 0.0f) ? UU_Deviation[i] : UL_Deviation[i]; + // 直接选择绝对值更大的那个(必然是有效数值) + float val = (fabs(UU_Deviation[i]) > fabs(UL_Deviation[i])) + ? UU_Deviation[i] + : -UL_Deviation[i]; float_buffer.push_back(val); } @@ -1032,7 +1035,10 @@ public: // 9-11位从UU_Deviation和UL_Deviation各自取前三个,取不为0的值 for (int i = 0; i < 3; ++i) { - float val = (UU_Deviation[i] != 0.0f) ? UU_Deviation[i] : UL_Deviation[i]; + // 直接选择绝对值更大的那个(必然是有效数值) + float val = (fabs(UU_Deviation[i]) > fabs(UL_Deviation[i])) + ? UU_Deviation[i] + : -UL_Deviation[i]; float_buffer.push_back(val); } @@ -1809,7 +1815,11 @@ public: // 9-11: 电压偏差(取不为0的值) for (int i = 0; i < 3; ++i) { - float val = (UU_Deviation[i] != 0.0f) ? UU_Deviation[i] : UL_Deviation[i]; + //float val = (UU_Deviation[i] != 0.0f) ? UU_Deviation[i] : UL_Deviation[i]; + // 直接选择绝对值更大的那个(必然是有效数值) + float val = (fabs(UU_Deviation[i]) > fabs(UL_Deviation[i])) + ? UU_Deviation[i] + : -UL_Deviation[i]; float_buffer.push_back(val); } @@ -1836,7 +1846,12 @@ public: // 26-33: 电压电流序分量(前8个元素) for (int i = 0; i < 2; ++i) { for (int j = 0; j < 4; ++j) { // 取每行的前4个元素 - float_buffer.push_back(UI_Seq[i][j]); + if (j == 3) { + float_buffer.push_back(UI_Seq[i][j+1]); + } + else { + float_buffer.push_back(UI_Seq[i][j]); + } } } @@ -1948,7 +1963,11 @@ public: // 12-14: 电压偏差(取不为0的值) for (int i = 0; i < 3; ++i) { - float val = (UU_Deviation[i] != 0.0f) ? UU_Deviation[i] : UL_Deviation[i]; + //float val = (UU_Deviation[i] != 0.0f) ? UU_Deviation[i] : UL_Deviation[i]; + // 直接选择绝对值更大的那个(必然是有效数值) + float val = (fabs(UU_Deviation[i]) > fabs(UL_Deviation[i])) + ? UU_Deviation[i] + : -UL_Deviation[i]; float_buffer.push_back(val); } @@ -1975,7 +1994,12 @@ public: // 26-33: 电压电流序分量(前8个元素) for (int i = 0; i < 2; ++i) { for (int j = 0; j < 4; ++j) { - float_buffer.push_back(UI_Seq[i][j]); + if (j == 3) { + float_buffer.push_back(UI_Seq[i][j + 1]); + } + else { + float_buffer.push_back(UI_Seq[i][j]); + } } } diff --git a/LFtid1056/dealMsg.cpp b/LFtid1056/dealMsg.cpp index 587426e..db47593 100644 --- a/LFtid1056/dealMsg.cpp +++ b/LFtid1056/dealMsg.cpp @@ -490,7 +490,7 @@ void process_received_message(string mac, string id,const char* data, size_t len std::string min_base64Str = min_data.ConvertToBase64(nPTType); std::string avg_base64Str = avg_data.ConvertToBase64(nPTType); std::string cp95_base64Str = cp95_data.ConvertToBase64(nPTType); - //std::cout << "New star base64Str0:" << max_base64Str << std::endl; + //std::cout << "New del base64Str1:" << avg_data.ConvertToBase64(1) << std::endl; //lnk20250708浣跨敤鎺ュ彛鍙戦 time_t data_time = ConvertToTimestamp(avg_data.time);