diff --git a/LFtid1056/PQSMsg.h b/LFtid1056/PQSMsg.h index 31e32e2..1232f39 100644 --- a/LFtid1056/PQSMsg.h +++ b/LFtid1056/PQSMsg.h @@ -1961,7 +1961,47 @@ public: return floatVectorToBase64(float_buffer); } - // 根据接线方式选择转换方法 + // 角型接线转换函数-谐波电压含有率+畸变率 + std::string ConvertToBase64_Delta_RtHarmV() const { + std::vector float_buffer; + + //THD线电压畸变率(3-5) + for (int i = 3; i < 6; ++i) { + float_buffer.push_back(THD[i]); + } + + //电压谐波含有率(1-49次) + for (int i = 0; i < 3; ++i) { + for (int j = 1; j < HARMNUM; ++j) { + float_buffer.push_back(HARMV[i][j]); + } + } + + // 转换为Base64 + return floatVectorToBase64(float_buffer); + } + + // 星型接线转换函数-谐波电压含有率+畸变率 + std::string ConvertToBase64_Star_RtHarmV() const { + std::vector float_buffer; + + //THD线电压畸变率(3-5) + for (int i = 0; i < 3; ++i) { + float_buffer.push_back(THD[i]); + } + + //电压谐波含有率(1-49次) + for (int i = 0; i < 3; ++i) { + for (int j = 1; j < HARMNUM; ++j) { + float_buffer.push_back(HARMV[i][j]); + } + } + + // 转换为Base64 + return floatVectorToBase64(float_buffer); + } + + // 根据接线方式选择转换方法 数据全集解析 std::string ConvertToBase64(int wiringType) const { // 1为角型接线,其他为星型接线 if (wiringType == 1) { @@ -1971,6 +2011,47 @@ public: return ConvertToBase64_Star(); } } + + //单独解析-谐波电压含有率+畸变率 + std::string ConvertToBase64_RtHarmV(int wiringType) const { + // 1为角型接线,其他为星型接线 + if (wiringType == 1) { + return ConvertToBase64_Delta_RtHarmV(); + } + else { + return ConvertToBase64_Star_RtHarmV(); + } + } + + //单独解析-谐波电流幅值 + std::string ConvertToBase64_RtHarmI() const { + std::vector float_buffer; + + //电流谐波幅值(1-49次) + for (int i = 0; i < 3; ++i) { + for (int j = 1; j < HARMNUM; ++j) { + float_buffer.push_back(HARMI[i][j]); + } + } + + // 转换为Base64 + return floatVectorToBase64(float_buffer); + } + + //单独解析-间谐波电压含有率 + std::string ConvertToBase64_RtInHarmV() const { + std::vector float_buffer; + + //电压间谐波幅值(0-49次) + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < HARMNUM; ++j) { + float_buffer.push_back(INHARMV[i][j]); + } + } + + // 转换为Base64 + return floatVectorToBase64(float_buffer); + } }; #pragma pack(pop)