A DC power conversion energy feedback adaptive aging method and device
By analyzing user usage history and electrical parameters, dividing user groups for adaptive aging tests, the problem that traditional aging tests cannot simulate dynamic loads is solved, and the reliability and stability of DC transformers are improved.
Patent Information
- Application Number
- CN202510506533.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-22
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2045-04-22
AI Technical Summary
Traditional aging testing methods cannot simulate the dynamic load of DC transformer equipment in actual operation, resulting in insufficient or excessive aging, affecting the reliability and life of the equipment.
By obtaining user usage history, analyzing electrical parameters, dividing user groups, and performing adaptive aging tests based on group characteristics, and judging the aging tub curve to complete aging.
It improves the reliability and stability of aging tests, ensures that the aging effect of the equipment is consistent in the case of similar use scenarios and states, and improves the testing efficiency.
Smart Images

Figure CN120028631B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of power supply and distribution devices, and in particular relates to a method and device for self-adaptive aging of direct current power conversion energy feedback. Background Art
[0002] With the rapid development of high-voltage direct current (HVDC) transmission and renewable energy power generation systems, DC substation equipment (such as converter valves and DC circuit breakers) is becoming increasingly important in power systems. The core power devices of this equipment (such as IGBTs and SiC modules) operate under high-temperature, high-voltage stress environments for a long time, and their performance degradation directly affects system reliability and lifespan.
[0003] Because the lifespan-failure rate relationship of substation equipment exhibits a bathtub curve, performing a certain period of aging testing before shipment can significantly reduce the failure rate after delivery and commissioning. However, traditional aging testing methods use a fixed-load aging model that cannot simulate the dynamic loads experienced during actual operation, resulting in insufficient or excessive aging. Summary of the Invention
[0004] The purpose of the present invention is to provide a method and device for adaptive aging of DC power conversion energy feedback, which adaptively ages the equipment based on the user's usage characteristics, thereby avoiding insufficient test aging, improving product reliability and stability, and improving test aging efficiency.
[0005] To solve the above technical problems, the present invention is achieved through the following technical solutions:
[0006] The present invention provides a DC power conversion energy feedback adaptive aging method, comprising:
[0007] Obtaining usage history records of multiple users and extracting operating values of multiple types of electrical parameters of DC power conversion equipment used by each user at each operating moment;
[0008] According to the operating values of each type of electrical parameters of the DC power conversion equipment used by each user at each operating moment, several standard operating value combinations of each type of electrical parameters of each user group and the corresponding operating time ratios are obtained;
[0009] Determine the user group to which the current user belongs based on his / her usage history;
[0010] Perform aging tests based on several standard operating value combinations and corresponding operating time ratios for each type of electrical parameter of the user group to which the current user belongs, and continuously obtain the number of faults and test duration;
[0011] Whether the current test duration has completed aging is determined based on the continuously acquired number of faults and test duration of the DC substation.
[0012] The present invention also discloses a DC power conversion energy feedback adaptive aging device, comprising:
[0013] A user analysis module is used to obtain the usage history records of multiple users and extract the operating values of multiple types of electrical parameters of the DC power conversion equipment used by each user at each operating moment;
[0014] According to the operating values of each type of electrical parameters of the DC power conversion equipment used by each user at each operating moment, several standard operating value combinations of each type of electrical parameters of each user group and the corresponding operating time ratios are obtained;
[0015] Determine the user group to which the current user belongs based on his / her usage history;
[0016] The aging test module is used to perform aging tests based on several standard operation value combinations and corresponding operation time ratios of each type of electrical parameter of the user group to which the current user belongs, and continuously obtain the number of faults and test duration;
[0017] Whether the current test duration is completed is determined based on the continuously acquired number of faults and test duration of the DC substation.
[0018] The present invention analyzes the usage records of different users through a user analysis module, thereby obtaining the usage habits of different users, and uniformly batch-ages the DC substation equipment of users with similar usage status. This not only improves the aging efficiency, but also the probability of aging failure of the aged branch substation equipment will be similar due to the same usage scenarios and usage status in subsequent use, thereby improving the reliability and stability of the aging test.
[0019] Of course, any product implementing the present invention does not necessarily need to achieve all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for describing the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0021] Figure 1 This is a schematic diagram of the functional modules and information flow of a DC power conversion energy feedback adaptive aging device according to one embodiment of the present invention;
[0022] Figure 2 A schematic diagram of a process flow of the user analysis module and the aging test module according to an embodiment of the present invention;
[0023] Figure 3 This is a schematic diagram of the process flow of step S2 in one embodiment of the present invention;
[0024] Figure 4 This is a schematic diagram of the process flow of step S22 in one embodiment of the present invention;
[0025] Figure 5 This is a schematic diagram of the process flow of step S3 in one embodiment of the present invention;
[0026] Figure 6 This is a schematic diagram of the process flow of step S4 in one embodiment of the present invention;
[0027] Figure 7 This is a schematic diagram of the process flow of step S5 in one embodiment of the present invention;
[0028] In the accompanying drawings, the components represented by the reference numerals are as follows:
[0029] 1-User analysis module, 2-Aging test module. DETAILED DESCRIPTION
[0030] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0031] It should be noted that the terms "first," "second," and the like in this application are used to distinguish similar objects and are not necessarily used to describe a specific order or precedence. It should be understood that the terms used in this manner are interchangeable where appropriate so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. Instead, they are merely examples of devices and methods consistent with certain aspects of the present application as detailed in the appended claims.
[0032] See also Figures 1 to 2 As shown, the present invention provides a DC power conversion energy feedback adaptive aging device. Functionally, it includes a user analysis module 1 and an aging test module 2. In this system, the user analysis module 1 groups users with similar usage patterns into the same user group based on their past device usage records. The aging test module 2 then performs a unified aging test on all new DC power conversion equipment ordered by users within the same user group. This process achieves unified aging of equipment ordered by users with similar usage habits, avoiding under- or over-aging caused by inconsistent usage patterns during subsequent commissioning.
[0033] During operation, the user analysis module 1 of this system first collects user data. Specifically, it executes step S1 to obtain the usage history of multiple users and extract the operating values of multiple types of electrical parameters of the DC power conversion equipment used by each user at each operating moment. In actual applications, the device operation log can be submitted by the user proactively or retrieved with user authorization.
[0034] See also Figures 1 to 3 As shown, after completing the retrieval of user usage data, step S2 can be executed next to obtain several standard operating value combinations and corresponding operating time proportions of each type of electrical parameter of each user group based on the operating values of each type of electrical parameter of the DC power conversion equipment used by each user at each operating moment. Since the usage status of each user is changing, it is necessary to extract the representative standard operating values of each user, and then compare the standard operating values of each user to complete the classification of the user group. In order to achieve the comparison of the operating values of different DC power conversion equipment at different operating moments, step S21 can be executed to use the cumulative value of the difference in the operating values of each type of electrical parameter between each operating moment as the operating condition deviation of the DC power conversion equipment between different operating moments, and calculate the operating condition deviation between the operating moments of each user. Thereby, a quantitative comparison of the operating state differences at different operating moments is obtained.
[0035] See also Figures 1 to 4 As shown, during the process of extracting representative standard operating values for each user in step S22, step S221 can be first performed to evenly space multiple operating times from all operating times as reference operating times. Next, step S222 can be performed to obtain the operating condition deviation between each reference operating time and the other operating times. Next, step S223 can be performed to group the operating times other than each reference operating time with the reference operating time having the smallest operating condition deviation into the same time set.
[0036] Since the operating states of the devices within the time sets divided in the above steps are not necessarily consistent, identity determination is required. Therefore, step S224 can be executed to calculate and obtain the median operating values of each type of electrical parameter across all operating moments within each time set. Next, step S225 can be executed to determine whether the median operating values of each type of electrical parameter across all operating moments within each time set are the same as the operating values of each type of electrical parameter at the reference operating moment within the time set.
[0037] If the judgment in step S225 is negative, it means that the operating status of the equipment at different operating moments in the time set is not the same or similar. Therefore, the reference operating time needs to be updated. In other words, step S229 is executed to use the average operating value of each type of electrical parameter of all operating moments in each time set as the updated reference operating time. The time set is then re-divided and judged, that is, the execution returns to step S222 to step S225.
[0038] If the judgment in step S225 is yes, the working condition difference of all operating moments in each moment set under the current classification state is the smallest, that is, the operating state of the operating moments in the moment set is determined to be consistent. Therefore, representative operating moments in each moment set are selected and several standard operating value combinations and corresponding operating time ratios of each type of electrical parameters of each user are obtained.
[0039] In the process of classifying user groups, it is necessary to compare the user's standard operating values and time distribution. Specifically, step S226 can be first executed to use the median of the operating values of each type of electrical parameter of all operating moments in the moment set as the standard operating value of each type of electrical parameter in the moment set to obtain a set of standard operating values of each type of electrical parameter of the user. Next, step S227 can be executed to summarize each set of standard operating values of each type of electrical parameter of the user to obtain several standard operating value combinations of each type of electrical parameter of the user. Finally, step S228 can be executed to use the time period ratio of the operating moment distribution in each moment set as the corresponding operating time ratio of several standard operating value combinations of each type of electrical parameter of the user.
[0040] To supplement the implementation of steps S221 to S229, the source code for some functional modules is provided, with explanations provided in the comments. To prevent the leakage of data involving commercial secrets, data that does not affect the implementation of the solution is desensitized. The same applies below.
[0041] #include <iostream>
[0042] #include <vector>
[0043] #include <map>
[0044] #include <cmath>
[0045] #include <algorithm>
[0046] #include <numeric>
[0047] #include <limits>
[0048] #include <random>
[0049] / / Define electrical parameter type enumeration
[0050] enum class ElectricalParamType {
[0051] VOLTAGE, / / voltage
[0052] CURRENT, / / current
[0053] TEMPERATURE, / / Temperature
[0054] FREQUENCY / / Frequency
[0055] };
[0056] / / Runtime data point structure
[0057] struct DataPoint {
[0058] std::map<ElectricalParamType, double> paramValues; / / The corresponding values of each parameter type
[0059] std::chrono::system_clock::time_point timestamp; / / timestamp
[0060] };
[0061] / / Standard operation value combination structure
[0062] struct StandardParamSet {
[0063] std::map<ElectricalParamType, double> paramValues; / / Parameter type-value mapping
[0064] double durationRatio; / / Runtime ratio
[0065] };
[0066] / / Working condition analysis class
[0067] class OperatingConditionAnalyzer {
[0068] private:
[0069] / / Calculate the working condition deviation (Euclidean distance) between two data points
[0070] double calculateDeviation(const DataPoint&dp1, const DataPoint&dp2) {
[0071] double sumSquares = 0.0;
[0072] for (const auto&[paramType, value1] : dp1.paramValues) {
[0073] double value2 = dp2.paramValues.at(paramType);
[0074] sumSquares += std::pow(value1 - value2, 2);
[0075] }
[0076] return std::sqrt(sumSquares);
[0077] }
[0078] / / Calculate the working condition difference of the time set (average pairwise distance)
[0079] double calculateClusterDeviation(const std::vector <datapoint>&cluster) {
[0080] if (cluster.size()<2) return 0.0;
[0081] double totalDeviation = 0.0;
[0082] int pairCount = 0;
[0083] for (size_t i = 0; i <cluster.size(); ++i) {
[0084] for (size_t j = i + 1; j <cluster.size(); ++j) {
[0085] totalDeviation += calculateDeviation(cluster[i], cluster[j]);
[0086] pairCount++;
[0087] }
[0088] }
[0089] return totalDeviation / pairCount;
[0090] }
[0091] / / Get the median of the parameter value
[0092] double getMedianValue(const std::vector <datapoint>&cluster,ElectricalParamType paramType) {
[0093] std::vector <double>values;
[0094] for (const auto&dp : cluster) {
[0095] values.push_back(dp.paramValues.at(paramType));
[0096] }
[0097] std::sort(values.begin(), values.end());
[0098] return values[values.size() / 2]; / / Simplify the process and do not consider the even number case
[0099] }
[0100] / / Get the mean of the parameter values
[0101] double getMeanValue(const std::vector <datapoint>&cluster,ElectricalParamType paramType) {
[0102] double sum = 0.0;
[0103] for (const auto&dp : cluster) {
[0104] sum += dp.paramValues.at(paramType);
[0105] }
[0106] return sum / cluster.size();
[0107] }
[0108] / / Judge whether the reference point needs to be updated
[0109] bool needUpdateReference(const std::vector <datapoint>&cluster, constDataPoint&reference) {
[0110] for (const auto&[paramType, value] : reference.paramValues) {
[0111] double median = getMedianValue(cluster, paramType);
[0112] if (std::abs(median - value)>1e-6) { / / Consider floating point precision
[0113] return true;
[0114] }
[0115] }
[0116] return false;
[0117] }
[0118] / / Update reference point (using mean)
[0119] DataPoint updateReferencePoint(const std::vector <datapoint>&cluster){
[0120] DataPoint newReference;
[0121] newReference.timestamp = cluster[0].timestamp; / / keep the original timestamp
[0122] for (const auto&[paramType, _] : cluster[0].paramValues) {
[0123] double meanValue = getMeanValue(cluster, paramType);
[0124] newReference.paramValues[paramType] = meanValue;
[0125] }
[0126] return newReference;
[0127] }
[0128] public:
[0129] / / Main processing function: Generate standard parameter combination and duration ratio
[0130] std::vector <standardparamset>analyzeUserData(const std::vector <datapoint>&allDataPoints, int numClusters = 3) {
[0131] if (allDataPoints.empty()) return {};
[0132] / / Step 1: Evenly select the initial reference running time
[0133] std::vector <datapoint>referencePoints;
[0134] size_t step = allDataPoints.size() / numClusters;
[0135] for (int i = 0; i<numClusters; ++i) {
[0136] size_t idx = i * step;
[0137] if (idx<allDataPoints.size()) {
[0138] referencePoints.push_back(allDataPoints[idx]);
[0139] }
[0140] }
[0141] if (referencePoints.size()<numClusters) {
[0142] referencePoints.push_back(allDataPoints.back());
[0143] }
[0144] / / Step 2: Iterative optimization
[0145] std::vector<std::vector <datapoint>>clusters(referencePoints.size());
[0146] bool changed;
[0147] int maxIterations = 10;
[0148] int iteration = 0;
[0149] do {
[0150] changed = false;
[0151] / / Clear the current
[0152] for (auto&cluster : clusters) {
[0153] cluster.clear();
[0154] }
[0155] / / Assign each point to the nearest reference point
[0156] for (const auto&dp : allDataPoints) {
[0157] double minDist = std::numeric_limits <double>::max();
[0158] size_t bestCluster = 0;
[0159] for (size_t i = 0; i < referencePoints.size(); ++i) {
[0160] double dist = calculateDeviation(dp, referencePoints[i]);
[0161] if (dist < minDist) {
[0162] minDist = dist;
[0163] bestCluster = i;
[0164] }
[0165] }
[0166] clusters[bestCluster].push_back(dp);
[0167] }
[0168] / / Check and update reference points
[0169] for (size_t i = 0; i < clusters.size(); ++i) {
[0170] if (!clusters[i].empty() && needUpdateReference(clusters[i], referencePoints[i])) {
[0171] referencePoints[i] = updateReferencePoint(clusters[i]);
[0172] changed = true;
[0173] }
[0174] }
[0175] iteration++;
[0176] } while (changed && iteration < maxIterations);
[0177] / / Step 3: Calculate the final standard parameter combination and duration ratio
[0178] std::vector <standardparamset>result;
[0179] double totalDuration = allDataPoints.size();
[0180] for (const auto&cluster : clusters) {
[0181] if (cluster.empty()) continue;
[0182] StandardParamSet paramSet;
[0183] / / Use the median as the standard parameter value
[0184] for (const auto&[paramType, _] : cluster[0].paramValues) {
[0185] double medianValue = getMedianValue(cluster, paramType);
[0186] paramSet.paramValues[paramType] = medianValue;
[0187] }
[0188] / / Calculate the runtime ratio
[0189] paramSet.durationRatio = cluster.size() / totalDuration;
[0190] result.push_back(paramSet);
[0191] }
[0192] return result;
[0193] }
[0194] };
[0195] / / Example usage
[0196] int main() {
[0197] / / Construct test data
[0198] std::vector <datapoint>testData;
[0199] std::default_random_engine generator;
[0200] std::normal_distribution <double>voltageDist(220.0, 10.0);
[0201] std::normal_distribution <double>currentDist(10.0, 2.0);
[0202] for (int i = 0; i < 100; ++i) {
[0203] DataPoint dp;
[0204] dp.paramValues[ElectricalParamType::VOLTAGE] = voltageDist(generator);
[0205] dp.paramValues[ElectricalParamType::CURRENT] = currentDist(generator);
[0206] dp.timestamp = std::chrono::system_clock::now() + std::chrono::minutes(i);
[0207] testData.push_back(dp);
[0208] }
[0209] / / Perform analysis
[0210] OperatingConditionAnalyzer analyzer;
[0211] auto standardSets = analyzer.analyzeUserData(testData, 3);
[0212] / / Output results
[0213] std::cout << "Standard Parameter Sets:\n";
[0214] for (const auto& paramSet : standardSets) {
[0215] std::cout << "Duration Ratio: " << paramSet.durationRatio << "\n";
[0216] for (const auto&[paramType, value] : paramSet.paramValues) {
[0217] std::cout<<""< <static_cast <int>(paramType)<<": "< <value<<"\n";
[0218] }
[0219] }
[0220] return 0;
[0221] }
[0222] The above code implements an iterative method for analyzing the operating conditions of DC substation equipment. During operation, the method first uniformly selects initial reference operating times. It then distributes each operating time to the nearest reference point through iterative optimization, dynamically updating the reference point position. Finally, the median parameter value and operating percentage of each cluster are calculated. The algorithm uses Euclidean distance as a metric for operating condition deviation and optimizes it using a mean-shift algorithm. It ultimately outputs standard parameter combinations representing different operating modes and their frequencies of occurrence. This method can automatically identify the primary operating state of the equipment, providing an accurate operating condition reference for subsequent aging testing. It is particularly suitable for processing operating data with multimodal characteristics.
[0223] Please continue reading Figures 1 to 3 As shown, after completing the extraction of the standard operating values for each user, the user groups can be classified next, that is, executing step S23 to divide the users with the same number of standard operating value combinations and corresponding operating time ratios of each type of electrical parameters into the same user group, and obtain the standard operating value combinations and corresponding operating time ratios of each type of electrical parameters of the user group.
[0224] See also Figure 1 、 2 As shown in Figure 5, after completing the classification of user groups and summarizing the corresponding standard operating values, step S3 can be executed to determine the user group to which the current user belongs based on the usage history of the current user. First, step S31 can be executed to extract the usage history of the current user to obtain the operating values of multiple types of electrical parameters of the DC power conversion equipment used by the current user at each operating moment. Next, step S32 can be executed to obtain the standard operating value combination of each type of electrical parameter of the current user and the corresponding operating time ratio based on the operating values of multiple types of electrical parameters of the DC power conversion equipment used by the current user at each operating moment. Finally, step S33 can be executed to determine the user group with the same standard operating value combination of each type of electrical parameter and the corresponding operating time ratio as the user group to which the current user belongs.
[0225] See also Figure 1 、 2 As shown in Figures 6 and 7, after completing the division of user groups for the current user, the aging test module 2 can then execute steps S4 and S5, that is, perform batch aging tests. In order to avoid excessive aging and insufficient aging at the same time, the principle of the equipment aging bathtub curve can be referred to. The aging bathtub curve is a commonly used model in reliability engineering and product life analysis. It is used to describe the law of how the failure rate of a product or system changes over time throughout its life cycle. Its shape is similar to a bathtub and is divided into three stages, namely the early failure period, the accidental failure period, and the wear and tear failure period. The failure rate is high in the early failure period, but drops rapidly over time. The failure rate is low and stable in the accidental failure period, and is approximately constant. The failure rate rises sharply in the wear and tear failure period.
[0226] In order to ensure that the DC power conversion equipment just passes the early failure period during the aging test, step S41 can be first executed to set the unit duration of each round of aging test. Next, step S42 can be executed to distribute the unit duration of each round of aging test according to the operating duration corresponding to each standard operating value combination of each type of electrical parameter of the user group to which the current user belongs, to obtain the aging duration of each standard operating value combination of each type of electrical parameter in each round of aging test. Next, step S43 can be executed to continue each round of aging test according to the aging duration of each standard operating value combination of each type of electrical parameter in each round of aging test. Next, step S51 can be executed to obtain the number of DC power conversion equipment that fails in each round of aging test. Next, step S52 can be executed to continuously determine whether the number of DC power conversion equipment that fails in this round of aging test is consistent with that in the previous round of aging test at the end of each round of aging test. If so, it means that the aging test has entered the bottom of the bathtub curve and reached the early failure period, so step S53 can be executed to determine that the aging is complete. Otherwise, the aging test is still in the early failure stage, so step S54 can be executed to determine that the aging is not completed and continue to the next round of aging test.
[0227] In order to provide supplementary explanation for the implementation process of the above-mentioned step S4 to step S5, the source code of some functional modules is provided, and a comparative explanation is provided in the comment section.
[0228] #include <iostream>
[0229] #include <vector>
[0230] #include <map>
[0231] #include <chrono>
[0232] #include <thread>
[0233] #include <random>
[0234] #include <algorithm>
[0235] / / Define electrical parameter type enumeration
[0236] enum class ElectricalParamType {
[0237] VOLTAGE, / / voltage
[0238] CURRENT, / / current
[0239] TEMPERATURE, / / Temperature
[0240] FREQUENCY / / Frequency
[0241] };
[0242] / / Standard operation value combination structure
[0243] struct StandardParamSet {
[0244] std::map<ElectricalParamType, double> paramValues; / / Parameter type-value mapping
[0245] double durationRatio; / / Runtime ratio
[0246] };
[0247] / / Aging test result structure
[0248] struct AgingTestResult {
[0249] int faultCount; / / Number of faults
[0250] double totalTestHours; / / Total test time (hours)
[0251] bool isCompleted; / / Is aging completed?
[0252] };
[0253] / / DC substation equipment aging test
[0254] class DCAgingTester {
[0255] private:
[0256] std::vector <standardparamset>groupStandardSets; / / Standard parameter set for the current user group
[0257] double unitTestDuration; / / Unit duration of each test round (hours)
[0258] std::vector <agingtestresult>testHistory; / / Historical test result record
[0259] double faultRateThreshold = 0.02; / / Fault rate threshold (per hour)
[0260] int stableRoundsThreshold = 3; / / Stable round threshold
[0261] / / Simulate the application of parameters and detect faults
[0262] bool simulateAgingTest(const StandardParamSet& paramSet, double duration) {
[0263] std::cout << "Starting aging test - duration: " << duration << " hours - parameters: ";
[0264] for (const auto&[type, value] : paramSet.paramValues) {
[0265] std::cout << static_cast <int>(type)<<"="< <value<<" ";
[0266] }
[0267] std::cout< <std::endl;
[0268] / / Simulate the actual test process (use sleep instead)
[0269] std::this_thread::sleep_for(std::chrono::milliseconds(static_cast <int>(duration * 100)));
[0270] / / Simulate random failures (failure probability is positively correlated with parameter value)
[0271] double baseFaultProbability = 0.01;
[0272] double voltageFactor = paramSet.paramValues.at(ElectricalParamType::VOLTAGE) / 220.0;
[0273] double currentFactor = paramSet.paramValues.at(ElectricalParamType::CURRENT) / 10.0;
[0274] double faultProbability = baseFaultProbability * voltageFactor *currentFactor * duration;
[0275] std::random_device rd;
[0276] std::mt19937 gen(rd());
[0277] std::bernoulli_distribution dist(faultProbability);
[0278] return dist(gen); / / Return whether a fault occurred
[0279] }
[0280] / / Assign aging time to each parameter combination
[0281] std::vector <std::pair<StandardParamSet, double> >allocateTestTime() {
[0282] std::vector <std::pair<StandardParamSet, double> >allocatedTime;
[0283] for (const auto¶mSet : groupStandardSets) {
[0284] double duration = unitTestDuration * paramSet.durationRatio;
[0285] allocatedTime.emplace_back(paramSet, duration);
[0286] }
[0287] return allocatedTime;
[0288] }
[0289] / / Check if aging is complete
[0290] bool checkAgingCompletion() {
[0291] if (testHistory.size() <stableRoundsThreshold) {
[0292] return false;
[0293] }
[0294] / / Check if the failure rate in the last n rounds is stable below the threshold
[0295] for (int i = testHistory.size() - stableRoundsThreshold; i <testHistory.size(); ++i) {
[0296] double faultRate = testHistory[i].faultCount / testHistory[i].totalTestHours;
[0297] if (faultRate>faultRateThreshold) {
[0298] return false;
[0299] }
[0300] }
[0301] / / Check if the failure rate is stable
[0302] double recentFaultRate = testHistory.back().faultCount / testHistory.back().totalTestHours;
[0303] double previousFaultRate = testHistory[testHistory.size()-2].faultCount /
[0304] testHistory[testHistory.size()-2].totalTestHours;
[0305] double changeRate = std::abs(recentFaultRate - previousFaultRate) / previousFaultRate;
[0306] return changeRate<0.1; / / A change rate less than 10% is considered stable
[0307] }
[0308] public:
[0309] / / Set test parameters
[0310] void setupTest(const std::vector <standardparamset>&standardSets,double unitDuration) {
[0311] groupStandardSets = standardSets;
[0312] unitTestDuration = unitDuration;
[0313] testHistory.clear();
[0314] }
[0315] / / Perform a round of aging test
[0316] AgingTestResult runOneTestRound() {
[0317] AgingTestResult result;
[0318] result.totalTestHours = 0;
[0319] result.faultCount = 0;
[0320] result.isCompleted = false;
[0321] / / Assign test time to each parameter combination
[0322] auto testAllocations = allocateTestTime();
[0323] / / Execute the test of each parameter combination according to the allocated time
[0324] for (const auto&[paramSet, duration] : testAllocations) {
[0325] bool hasFault = simulateAgingTest(paramSet, duration);
[0326] if (hasFault) {
[0327] result.faultCount++;
[0328] }
[0329] result.totalTestHours += duration;
[0330] }
[0331] / / Record the test results of this round
[0332] testHistory.push_back(result);
[0333] / / Check if aging is completed
[0334] result.isCompleted = checkAgingCompletion();
[0335] return result;
[0336] }
[0337] / / Execute the full aging test process
[0338] AgingTestResult runFullAgingTest(int maxRounds = 10) {
[0339] AgingTestResult finalResult;
[0340] int round = 0;
[0341] while (round < maxRounds) {
[0342] round++;
[0343] std::cout << "\n=== Start the " << round << "th round of aging test ===\n";
[0344] auto result = runOneTestRound();
[0345] std::cout << "Test results of this round - Number of faults: " << result.faultCount
[0346] << " Total duration: " << result.totalTestHours << " hours\n";
[0347] if (result.isCompleted) {
[0348] std::cout << "The aging test completion condition is met!\n";
[0349] finalResult = result;
[0350] break;
[0351] }
[0352] if (round == maxRounds) {
[0353] std::cout<<"reached the maximum number of test rounds!\n";
[0354] finalResult = result;
[0355] finalResult.isCompleted = false;
[0356] }
[0357] }
[0358] return finalResult;
[0359] }
[0360] };
[0361] / / Example usage
[0362] int main() {
[0363] / / 1. Prepare test parameters (usually obtained from user group data)
[0364] std::vector <standardparamset>standardSets;
[0365] / / Parameter combination 1 - normal operation mode
[0366] StandardParamSet set1;
[0367] set1.paramValues[ElectricalParamType::VOLTAGE] = 220.0;
[0368] set1.paramValues[ElectricalParamType::CURRENT] = 8.0;
[0369] set1.paramValues[ElectricalParamType::TEMPERATURE] = 45.0;
[0370] set1.durationRatio = 0.7; / / 70% of the time
[0371] standardSets.push_back(set1);
[0372] / / Parameter combination 2 - peak operation mode
[0373] StandardParamSet set2;
[0374] set2.paramValues[ElectricalParamType::VOLTAGE] = 240.0;
[0375] set2.paramValues[ElectricalParamType::CURRENT] = 12.0;
[0376] set2.paramValues[ElectricalParamType::TEMPERATURE] = 60.0;
[0377] set2.durationRatio = 0.3; / / 30% of the time
[0378] standardSets.push_back(set2);
[0379] / / 2. Initialize the aging tester
[0380] DCAgingTester tester;
[0381] tester.setupTest(standardSets, 24.0); / / Set the test duration for each round to 24 hours
[0382] / / 3. Execute the full aging test process
[0383] auto finalResult = tester.runFullAgingTest();
[0384] / / 4. Output the final result
[0385] std::cout<<"\n=== Final test result ===\n";
[0386] std::cout<<"Total number of test rounds: "<<testHistory.size()<<"\n";
[0387] std::cout<<"Total number of faults: "<<finalResult.faultCount<<"\n";
[0388] std::cout<<"Total test duration: "<<finalResult.totalTestHours<<" hours\n";
[0389] std::cout<<"Aging test status: "<<(finalResult.isCompleted? "Completed" : "Not completed")<<"\n";
[0390] return 0;
[0391] }
[0392] This code implements an adaptive aging test function for DC power conversion equipment based on multi - parameter combinations. During operation, it first sets and allocates the test duration for each parameter combination according to the user group standard. Then, it executes the loop test of multi - parameter combinations according to the allocated duration, and in the following, it monitors and records the fault conditions in real - time. Finally, it determines the aging completion status based on the stability of the failure rate. The algorithm uses a proportional duration allocation mechanism to simulate the real - working condition distribution, and realizes intelligent aging end - point judgment through multi - round tests and failure rate trend analysis, which is especially suitable for the aging test scenarios of power electronic devices that need to simulate complex operating environments. During the test process, the parameter combinations and duration allocation can be adjusted in real - time to ensure that the aging test is both efficient and accurate.
[0393] The flow charts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, systems, methods and computer program products according to multiple embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a part for a module, program segment or instruction, and the part for the module, program segment or instruction comprises one or more executable instructions for realizing the logical function of the specification. In some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous boxes can actually be performed substantially in parallel, and they can sometimes also be performed in the opposite order, depending on the function involved.
[0394] It should also be noted that each box in the block diagram and / or flowchart, and combinations of boxes in the block diagram and / or flowchart, can be implemented by hardware that performs the corresponding function or action, such as a circuit or ASIC (Application Specific Integrated Circuit), or can be implemented by a combination of hardware and software, such as firmware.
[0395] Although the present invention has been described herein in conjunction with various embodiments, in the process of implementing the claimed invention, those skilled in the art may understand and implement other variations of the disclosed embodiments by examining the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in the claims. The fact that certain measures are recorded in different dependent claims does not mean that these measures cannot be combined to produce good results.
[0396] The embodiments of the present application have been described above. The above description is illustrative and not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology used herein is selected to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons skilled in the art to understand the embodiments disclosed herein.< / standardparamset> < / standardparamset> < / int> < / int> < / agingtestresult> < / standardparamset> < / algorithm> < / random> < / thread> < / chrono> < / map> < / vector> < / iostream> < / int> < / double> < / double> < / datapoint> < / standardparamset> < / double> < / datapoint> < / datapoint> < / datapoint> < / standardparamset> < / datapoint> < / datapoint> < / datapoint> < / double> < / datapoint> < / datapoint> < / random> < / limits> < / numeric> < / algorithm> < / cmath> < / map> < / vector> < / iostream>
Claims
1. A DC power conversion energy feedback adaptive aging method, characterized in that: include, Obtaining usage history records of multiple users and extracting operating values of multiple types of electrical parameters of DC power conversion equipment used by each user at each operating moment; The cumulative value of the difference between the operating values of each type of electrical parameter at each operating moment is used as the operating condition deviation of the DC power conversion equipment at different operating moments, and the operating condition deviation between the operating moments of each user is calculated; For each user, several standard operating value combinations of each type of electrical parameter of each user and the corresponding operating time ratio are obtained based on the operating condition deviation between each operating moment of the user; The users with the same standard operating value combinations and corresponding operating time ratios for each type of electrical parameter are divided into the same user group, and the standard operating value combinations and corresponding operating time ratios for each type of electrical parameter in the user group are obtained; Determine the user group to which the current user belongs based on his / her usage history; Perform aging tests based on several standard operating value combinations and corresponding operating time ratios for each type of electrical parameter of the user group to which the current user belongs, and continuously obtain the number of faults and test duration; Whether the current test duration has completed aging is determined based on the continuously acquired number of faults and test duration of the DC substation.
2. The method according to claim 1, characterized in that The step of obtaining, for each user, several standard operating value combinations of each type of electrical parameters and corresponding operating time proportions for each user based on the operating condition deviation between each operating moment of the user includes: For each user, perform the following steps separately, Selecting multiple running times at even intervals from all the running times as reference running times; Obtain the operating condition deviation between each reference operating moment and other operating moments; Grouping the operating times other than each reference operating time with the reference operating time having the smallest deviation from the operating condition into the same time set; Determine whether the difference between the operating conditions of all running moments in each moment set under the current classification state is the smallest; If not, update the reference running time, re-divide the time set and make a judgment; If so, a representative operating moment in each moment set is selected to obtain several standard operating value combinations and corresponding operating time ratios of each type of electrical parameter for each user.
3. The method according to claim 2, characterized in that The step of judging whether the difference between the operating conditions of all the operating moments in each moment set under the current classification state is the smallest includes: Calculate and obtain the median of the operating values of each type of electrical parameter of all operating moments in each moment set; Determine whether the median of the operating values of each type of electrical parameter of all operating moments in each moment set is the same as the operating value of each type of electrical parameter at the reference operating moment in the moment set; If so, the difference between the operating conditions of all running moments in each moment set under the current classification state is the smallest; If not, then vice versa.
4. The method according to claim 2, characterized in that The step of updating the reference running time includes: The average operating value of each type of electrical parameter of all operating moments in each moment set is used as the updated reference operating moment.
5. The method according to claim 3, characterized in that The step of selecting representative operating moments in each moment set and obtaining several standard operating value combinations and corresponding operating time proportions of each type of electrical parameters for each user, include, For each time set, the median of the operating values of each type of electrical parameter of all operating moments in the time set is used as the standard operating value of each type of electrical parameter in the time set, to obtain a set of standard operating values of each type of electrical parameter of the user; Summarizing each set of standard operating value of each type of electrical parameter of the user to obtain a plurality of standard operating value combinations of each type of electrical parameter of the user; The time period ratio of the operating time distribution in each time set is used as the operating time ratio corresponding to several standard operating value combinations of each type of electrical parameters of the user.
6. The method according to claim 1, characterized in that The step of determining the user group to which the current user belongs based on the usage history of the current user includes: Extracting the usage history of the current user to obtain the operating values of multiple types of electrical parameters of the DC power conversion equipment used by the current user at each operating moment; According to the operating values of multiple types of electrical parameters of the DC power conversion equipment used by the current user at each operating moment, a standard operating value combination of each type of electrical parameter of the current user and a corresponding operating time ratio are obtained; The user group to which the current user belongs is the user group having the same standard operating value combination of each type of electrical parameter and the same corresponding operating time ratio.
7. The method according to claim 1, characterized in that The step of performing aging test according to several standard operation value combinations and corresponding operation time ratios of each type of electrical parameter of the user group to which the current user belongs includes: Set the unit duration of each round of aging test; Allocate the unit duration of each aging test round according to the operating duration ratio corresponding to each standard operating value combination of each type of electrical parameter of the user group to which the current user belongs, to obtain the aging duration of each standard operating value combination of each type of electrical parameter in each aging test round; Each round of aging test is continued according to the aging time of each standard running value combination of each type of electrical parameter in each round of aging test until the aging is completed.
8. The method according to claim 7, characterized in that The step of judging whether the current test duration has completed aging based on the continuously acquired number of faults and test duration of the DC power conversion equipment includes: Count the number of DC power conversion equipment that fail in each round of aging test; At the end of each aging test, continuously determine whether the number of DC substation faults in the current aging test is consistent with that in the previous aging test. If so, aging is deemed to be completed; If not, it is determined that the aging is not completed and the next round of aging test is continued.
9. A DC power conversion energy feedback adaptive aging device, characterized in that: include, A user analysis module is used to obtain the usage history records of multiple users and extract the operating values of multiple types of electrical parameters of the DC power conversion equipment used by each user at each operating moment; The cumulative value of the difference between the operating values of each type of electrical parameter at each operating moment is used as the operating condition deviation of the DC power conversion equipment at different operating moments, and the operating condition deviation between the operating moments of each user is calculated; For each user, several standard operating value combinations of each type of electrical parameter of each user and the corresponding operating time ratio are obtained based on the operating condition deviation between each operating moment of the user; The users with the same standard operating value combinations and corresponding operating time ratios for each type of electrical parameter are divided into the same user group, and the standard operating value combinations and corresponding operating time ratios for each type of electrical parameter in the user group are obtained; Determine the user group to which the current user belongs based on his / her usage history; The aging test module is used to perform aging tests based on several standard operation value combinations and corresponding operation time ratios of each type of electrical parameter of the user group to which the current user belongs, and continuously obtain the number of faults and test duration; Whether the current test duration has completed aging is determined based on the continuously acquired number of faults and test duration of the DC substation.
Citation Information
Patent Citations
Chip aging test system and method
CN116008790A
Semiconductor chip test circuit and test method
CN118330439A