Tank table calibration algorithm based on interval correction by breadth-first traversal
By using a breadth-first traversal interval correction algorithm, the tank capacity table interval is adjusted using data from fuel dispensers and level gauges, thus solving the problem of tank capacity table error and improving the accuracy of the tank capacity table while maintaining operations, and reducing measurement costs.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GANSU HUAXING PETROLEUM ENG CO LTD
- Filing Date
- 2022-12-27
- Publication Date
- 2026-06-02
AI Technical Summary
Existing gas station tank volume meters often result in discrepancies between the calculated oil quantity and the actual volume due to tank deformation, displacement, or foreign objects. Current calibration methods require shutdown, tank cleaning, and ventilation, which are costly and prone to significant localized errors.
An interval correction algorithm based on breadth-first traversal is adopted. Data preprocessing and breadth-first traversal calibration are performed using data from fuel dispensers and level gauges to adjust the height range of the tank capacity table, calculate the tank capacity table fitting score, and generate a more accurate tank capacity table.
Without interrupting operations, cleaning tanks, or ventilating, partial interval calibration can improve the accuracy of tank capacity tables, reduce measurement costs, and avoid completely discarding the original tank capacity tables.
Smart Images

Figure CN115979388B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of tank capacity table calibration technology, specifically involving a tank capacity table calibration algorithm based on breadth-first traversal for interval correction. Background Technology
[0002] Gas stations typically use underground horizontal tanks for oil storage, calculating the quantity of oil in the tanks using a volume table. Therefore, the accuracy of the gas station's tank volume table directly affects daily oil measurement errors and the reliability and fairness of handover through underground tanks. During use, frequent changes in the quantity of stored oil and external forces inevitably cause tank deformation, displacement, or foreign objects inside the tank. These factors can lead to discrepancies between the calculated oil quantity and the actual volume of oil in the tank due to prolonged use and infrequent updates to the tank volume table. To eliminate this discrepancy, it is essential to periodically recalibrate and compile new tank volume tables for in-use tanks.
[0003] Currently, the methods for calibrating the volume table of horizontal tanks at gas stations can be roughly categorized as follows: geometric measurement methods, such as the external measurement method and internal measurement method mentioned in JJG266-1996; volume methods, including the standard container volume method and the flow meter volume method; and fuel dispenser dispensing data fitting methods, such as interpolation fitting.
[0004] The geometric measurement method involves measuring the diameter and length (horizontal) of the tank body and top plate at multiple points. This data is then used in a geometric model to calculate the volume at different heights (longitudinal) of the tank, resulting in a tank volume table (Horizontal Metal Tank Volume JJG266-1996). However, this method requires the gas station to be closed, the tank cleaned, and ventilated before personnel can enter the tank for measurement under safe conditions. Furthermore, it cannot be used when the tank is significantly deformed, and each remeasurement is costly. The standard container capacity method and flowmeter capacity method, both volumetric methods, involve injecting a fixed amount of medium into the tank multiple times using a standard container or meter, measuring and recording the height the medium reaches inside the tank, and then compiling the tank volume table. These methods also require the gas station to be closed (tank cleaned), and are similarly costly. The fuel dispenser dispensing data fitting method estimates the fuel storage capacity of a certain height range in the tank based on the amount of fuel dispensed by the fuel dispenser. CN202011269048.4 proposes using an interpolation method to fit the volume of uncollected height ranges, but this method may produce large errors in some areas compared to the original tank capacity table.
[0005] The purpose of the above methods is to calibrate across all height ranges of the oil tank to generate a complete and accurate tank capacity table. In practical applications, the error in the tank capacity table may occur in a certain height range. Therefore, it is only necessary to perform range calibration based on the current tank capacity table to improve the accuracy of the tank capacity table, without having to completely discard the original tank capacity table.
[0006] The relevant information regarding the fuel dispenser and oil tank level gauge involved in the technical solution of this invention is as follows:
[0007] Fuel dispensers connect to fuel tanks to dispense fuel. The dispensing process causes the fuel level in the tank to drop from a high level to a low level; conversely, the filling process causes the tank level to rise from a low level to a high level. Generally, the error of a fuel dispenser is within ±3‰. According to national regulations, fuel dispensers undergo mandatory verification every six months. Given their low repeatability error, using fuel dispenser dispensing data to measure the amount of fuel dispensed within a specific tank height range is reasonable. Because the volume of fuel changes with temperature, when using the dispensing volume to measure the volume within a tank height range, the fuel volume is converted to a standard volume V20 (i.e., the volume at 20℃) for comparison.
[0008] Metering equipment for fuel dispensing and storage at gas stations includes: 1. Dispensing metering equipment (fuel dispenser counter): This is a legally certified metering instrument periodically inspected by the quality supervision department. The dispensing volume and current status of the fuel dispenser (nozzle lifted, nozzle hung, dispensing fuel) can be obtained via the IFS protocol. 2. Storage metering equipment (tank level gauge): Directly connected to the tank, it measures and outputs data such as fuel level, volume, and temperature (density) in real time during receiving, dispensing, and static storage. Through network interconnection between devices, data can be automatically obtained from the level gauge. These features enable the periodic updating of the tank volume gauge. Summary of the Invention
[0009] In view of the problems mentioned in the background art, the purpose of this invention is to provide a tank capacity table calibration algorithm based on breadth-first traversal for interval correction.
[0010] To achieve the above-mentioned technical objectives, the technical solution adopted by the present invention is as follows:
[0011] The tank capacity table calibration algorithm based on breadth-first traversal and interval correction includes the following steps.
[0012] S1. Obtain fuel dispensing data through the fuel dispenser and fuel level data in the tank through the level gauge located in the tank. The fuel dispensing data and the fuel level data in the tank are collectively referred to as raw data.
[0013] S2. The raw data is preprocessed by the data preprocessing module to obtain a set of steady-state transactions that conform to the preprocessing rules;
[0014] S3. Perform a breadth-first traversal of the tank capacity table calibration core algorithm on the obtained steady-state transaction set;
[0015] S3.1. Initialize the breadth-first traversal queue;
[0016] S3.2. Initialize the search root node based on the original tank capacity table. The tank capacity table corresponding to the root node is the original tank capacity table currently in use by the tank. The depth of the root node is 0. Obtain the fitting score of the root node by calculating the molecular algorithm of fitting the tank capacity table, and put the root node into the breadth-first traversal queue.
[0017] S3.3. Take a node from the breadth-first traversal queue as the current processing node;
[0018] S3.4. For the current processing node, for the collected steady-state transaction set, use the tank capacity table interval adjustment sub-algorithm to perform interval correction and obtain a series of sub-nodes; if the depth of the current processing node is D, several (D+1) level sub-nodes can be obtained from the current processing node, and each (D+1) level sub-node includes a generated temporary tank capacity table;
[0019] S3.5. For the several (D+1) level nodes generated in S3.4, the fitting score of each node is obtained by calculating the molecule of the tank capacity table fitting algorithm;
[0020] S3.6 Based on the fitting score calculated in S3.5, if the generated node has a higher fitting score than the parent node, then the node is added to the breadth-first traversal queue; otherwise, the node is discarded.
[0021] S3.7 Repeat steps S3.3 to S3.6 until there are no new nodes in the breadth-first search queue. Then, proceed to step S3.8 to find the node with the highest fitting score from all nodes and output the corresponding container table.
[0022] Further specifying, in S1, both the fuel dispenser and the level gauge are connected to the data acquisition module, and the fuel dispenser transmits fuel dispensing data to the data acquisition module via the IFS protocol.
[0023] Further specifying, in S1, the oil dispensing data includes the oil nozzle ID, nozzle lifting time, nozzle hanging time, oil dispensing volume (L), whether other nozzles are dispensing oil when the nozzle is lifted, and whether other nozzles are dispensing oil when the nozzle is hung. The oil quality data includes the oil level (mm) before nozzle lifting, the oil temperature before nozzle lifting, the oil V20 before nozzle lifting, the oil level (mm) after nozzle lifting, the oil temperature after nozzle lifting, and the oil V20 after nozzle lifting. Here, V20 refers to the oil volume converted to the standard volume at 20°C. This standard is used to eliminate the influence of temperature on the oil volume.
[0024] Further specifying, in S2, the preprocessing process includes the following steps in sequence: S2.1 Matching the fuel dispenser's dispensing data and the tank's fuel quality data in chronological order; S2.2 Finding a set of steady-state transactions that meets the conditions; S2.3 Filtering out problematic dirty data sets. In S2.2, if either the result of raising the nozzle or lowering it indicates whether other nozzles are dispensing fuel is yes, then that dispensing data and the corresponding time-series fuel quality data are considered unqualified dirty data. If the time interval between two dispensing data is less than 5 minutes, then both dispensing data and the corresponding time-series fuel quality data are considered unqualified dirty data. In addition, to minimize the reading error of the level gauge, the total amount of fuel dispensed in the steady-state transaction set is greater than 200L. In S2.3, if the difference between the total amount of fuel dispensed from the fuel dispenser in the steady-state transaction set and the total amount of fuel dispensed from the tank monitored by the level gauge exceeds a threshold of 1%, this set of steady-state transactions is also treated as dirty data.
[0025] Further, each node stores the following information: the temporary tank capacity table corresponding to the current node; the search depth of the current node; the fitting score of the current tank capacity table; and the correction value for the height range of the tank capacity table.
[0026] Further defining the steps, the algorithm for calculating the tank capacity table fitting includes the following steps: S4.1. Obtain the tank capacity table of the node to be evaluated; S4.2. For all steady-state set data, based on the tank capacity table obtained in S4.1, by substituting the starting height of the steady-state set, the corresponding starting volume and ending volume can be obtained. Further, the starting volume V20 and ending volume V20 are calculated based on the temperature coefficient. The difference between the two is used to calculate the oil output V20 of this tank capacity table. Comparing this with the oil output V20 in the steady-state set data, the difference rate can be calculated; S4.3. For the difference rates of all sets obtained in S4.2, the average value and variance of the absolute values of the difference rates of all steady-state sets can be calculated. The average value and variance of the absolute values of the difference rates obtained in S4.3 are converted into the fitting score of the tank capacity table. The fitting score is set as: (1 - average value of absolute values of difference rates) * 100 + variance.
[0027] Further defining the tank capacity table interval adjustment sub-algorithm, the specific steps are as follows: S5.1. Obtain the temporary tank capacity table of the current processing node; S5.2. For all steady-state set data, based on the tank capacity table obtained in step 1, by substituting the starting height of the steady-state set, the corresponding starting volume and ending volume can be obtained. Further, the starting volume V20 and ending volume V20 are calculated based on the temperature coefficient. The difference between the two is used to calculate the oil output V20 of this tank capacity table. Comparing this with the oil output V20 in the steady-state set data, the difference rate can be calculated; S5.3. Find the intersection of all steady-state sets according to the height range to obtain a series of minimum non-intersecting height intervals; S5.4. Estimate the error rate for all non-intersecting height intervals obtained in S5.3. The error rate is set as the average of the difference rates of all steady-state sets passing through this height interval; S5.5. Based on the difference rates of each non-intersecting height interval obtained in S5.4, select any height interval and adjust the temporary tank capacity table obtained in step 1. Adjust the volume of the corresponding height interval. For example, if the original volume of the height interval is V and the difference rate is e, then the volume of the height interval after adjustment becomes V(1+e*r), where r is an adjustment step size ratio coefficient. After adjustment, a new child node is generated, and the temporary tank capacity table of the child node is the newly generated temporary tank capacity table. S5.6. Repeat S5.5 until a corresponding child node is generated according to the difference rate of all non-intersecting height intervals.
[0028] The beneficial effects of this invention are as follows: The tank capacity table calibration algorithm based on breadth-first traversal and interval correction is built on the basis of existing tank capacity tables. It obtains a more accurate tank capacity table through partial interval adjustment, and evaluates the tank capacity table by using the tank capacity table interval adjustment sub-calculation and the automatic evaluation base formed by the calculation of the tank capacity table fitting numerator algorithm. This guides the algorithm to execute in a direction with better accuracy. Overall, the measurement and calibration of tank capacity tables in this invention does not require gas station shutdown, tank cleaning, or ventilation, resulting in lower measurement costs. Moreover, it only needs to perform interval calibration on the basis of the current tank capacity table to achieve the purpose of improving the accuracy of the tank capacity table, without having to completely discard the original tank capacity table. Attached Figure Description
[0029] The present invention can be further illustrated by the non-limiting embodiments given in the accompanying drawings;
[0030] Figure 1 This is an execution flowchart of an embodiment of the tank capacity table calibration algorithm based on breadth-first traversal for interval correction according to the present invention;
[0031] Figure 2 This is a flowchart of the preprocessing process in an embodiment of the tank capacity table calibration algorithm based on breadth-first traversal for interval correction according to the present invention.
[0032] Figure 3This is a flowchart illustrating the execution of the core algorithm of the breadth-first traversal of the tank capacity table in the embodiment of the tank capacity table calibration algorithm based on interval correction of the present invention.
[0033] Figure 4 This is a node information storage diagram in an embodiment of the tank capacity table calibration algorithm based on breadth-first traversal for interval correction according to the present invention; Detailed Implementation
[0034] To enable those skilled in the art to better understand the present invention, the technical solution of the present invention will be further described below in conjunction with the accompanying drawings and embodiments.
[0035] In this embodiment,
[0036] like Figure 1-4 As shown, the tank capacity calibration algorithm based on breadth-first traversal for interval correction of the present invention is as follows: S1. Dispensing data is obtained through the fuel dispenser, and tank oil data is obtained through the level gauge located in the oil tank. The dispensing data and tank oil data are collectively referred to as raw data. Specifically, both the fuel dispenser and the level gauge are connected to the data acquisition module. The fuel dispenser transmits the dispensing data to the data acquisition module via the IFS protocol. The dispensing data collected by the fuel dispenser includes the fuel nozzle ID, nozzle lifting time, nozzle hanging time, dispensing volume (L), whether other nozzles are dispensing when the nozzle is lifted, and whether other nozzles are dispensing when the nozzle is hung. The oil data collected by the level gauge includes the oil level (mm) before nozzle lifting, oil temperature before nozzle lifting, oil V20 before nozzle lifting, oil level (mm) after nozzle lifting, oil temperature after nozzle lifting, and oil V20 after nozzle lifting. V20 refers to the oil volume converted to the standard volume at 20°C. This standard is used to eliminate the influence of temperature on the oil volume.
[0037] S2. The data preprocessing module preprocesses the raw data to obtain a set of steady-state transactions that conform to the preprocessing rules. In practical applications, one oil tank will correspond to one refueling nozzle. The correspondence between the refueling nozzle and the oil tank needs to be pre-configured. The data preprocessing module will merge the oil data and oil payment data corresponding to the time points before and after each transaction according to the time sequence to form a transaction detail matched according to the time sequence.
[0038] Matching gas station transaction details:
[0039] Oil gun ID
[0040] Raise gun time
[0041] Gun hanging time
[0042] Oil level before lifting the gun (mm)
[0043] Oil temperature before lifting the nozzle
[0044] V20 oil before raising the gun
[0045] Oil level after lifting the gun (mm)
[0046] Oil temperature after lifting the nozzle
[0047] After raising the gun, the oil is V20.
[0048] Fuel volume (L)
[0049] Was any other gun being refueled when the gun was raised?
[0050] Are other guns being refueled while the gun is being hung?
[0051] The preprocessing module's preprocessing process for the above data includes the following steps in sequence: S2.1 Matching the fuel dispenser's dispensing data and the tank's oil quality data according to time sequence; S2.2 Finding a set of steady-state transactions that meets the conditions; S2.3 Filtering out problematic dirty data sets. In S2.2, if either the result of raising the nozzle or lowering it indicates that other nozzles are refueling, or if the result of lowering the nozzle indicates that other nozzles are refueling, then that dispensing data and the corresponding time sequence of oil quality data are considered unqualified dirty data. If the time interval between two dispensing data is less than 5 minutes, then both dispensing data and the corresponding time sequence of oil quality data are considered unqualified dirty data. In addition, to minimize the reading error of the level gauge, the total amount of fuel dispensed in the steady-state transaction set is greater than 200L. In S2.3, if the difference between the total amount of fuel dispensed from the fuel dispenser in the steady-state transaction set and the total amount of oil dispensed from the tank monitored by the level gauge exceeds a threshold of 1%, this set of steady-state transactions is also treated as dirty data.
[0052] Following the above preprocessing procedure, the following set of steady-state transactions that conforms to the preprocessing rules will be obtained.
[0053] Steady-state transaction set:
[0054] Start time
[0055] End time
[0056] Initial oil level (mm)
[0057] Starting oil temperature
[0058] Start with oil V20
[0059] Final oil level (mm)
[0060] End of oil temperature
[0061] End of V20 oil product
[0062] Fuel volume (L);
[0063] S3. Perform a breadth-first traversal of the tank capacity table calibration core algorithm on the obtained steady-state transaction set;
[0064] S3.1. Initialize the breadth-first traversal queue;
[0065] S3.2. Initialize the search root node based on the original tank capacity table. The tank capacity table corresponding to the root node is the original tank capacity table currently in use by the tank. The depth of the root node is 0. Obtain the fitting score of the root node by calculating the molecular algorithm of fitting the tank capacity table, and put the root node into the breadth-first traversal queue.
[0066] S3.3. Take a node from the breadth-first traversal queue as the current processing node;
[0067] S3.4. For the current processing node, for the collected steady-state transaction set, use the tank capacity table interval adjustment sub-algorithm to perform interval correction and obtain a series of sub-nodes; if the depth of the current processing node is D, several (D+1) level sub-nodes can be obtained from the current processing node, and each (D+1) level sub-node includes a generated temporary tank capacity table;
[0068] S3.5. For the several (D+1) level nodes generated in S3.4, the fitting score of each node is obtained by calculating the molecule of the tank capacity table fitting algorithm;
[0069] S3.6 Based on the fitting score calculated in S3.5, if the generated node has a higher fitting score than the parent node, then the node is added to the breadth-first traversal queue; otherwise, the node is discarded.
[0070] S3.7 Repeat steps S3.3 to S3.6 until there are no new nodes in the breadth-first search queue. Then, proceed to step S3.8 to find the node with the highest fitting score from all nodes and output the corresponding container table.
[0071] Each node stores the following information: the temporary tank capacity table corresponding to the current node; the search depth of the current node; the fitting score of the current tank capacity table; and the correction value for the height range of the tank capacity table.
[0072] The algorithm for calculating the tank capacity table fitting includes the following steps: S4.1. Obtain the tank capacity table of the node to be evaluated; S4.2. For all steady-state set data, based on the tank capacity table obtained in S4.1, by substituting the starting height of the steady-state set, the corresponding starting volume and ending volume can be obtained. Further, the starting volume V20 and ending volume V20 are calculated based on the temperature coefficient. The difference between the two is used to calculate the oil output V20 of this tank capacity table. By comparing the oil output V20 in the steady-state set data, the difference rate can be calculated; S4.3. For the difference rate of all sets obtained in S4.2, the average value and variance of the absolute value of the difference rate of all steady-state sets can be calculated. The average value and variance of the absolute value of the difference rate obtained in S4.3 are converted into the fitting score of the tank capacity table. The fitting score is set as: (1 - average value of absolute value of difference rate) * 100 + variance;
[0073] The tank capacity table interval adjustment sub-algorithm specifically includes the following steps: S5.1. Obtain the temporary tank capacity table of the current processing node; S5.2. For all steady-state set data, based on the tank capacity table obtained in step 1, by substituting the starting height of the steady-state set, the corresponding starting volume and ending volume can be obtained. Further, the starting volume V20 and ending volume V20 are calculated based on the temperature coefficient. The difference between the two is used to calculate the oil output V20 of this tank capacity table. Comparing it with the oil output V20 in the steady-state set data, the difference rate can be calculated; S5.3. Find the intersection of all steady-state sets according to the height range to obtain a series of minimum non-intersecting height intervals; S5.4. Estimate the error rate for all non-intersecting height intervals obtained in S5.3. The error rate is set as the average of the difference rates of all steady-state sets passing through this height interval; S5.5. Based on the difference rates of each non-intersecting height interval obtained in S5.4, select any height interval and adjust it based on the temporary tank capacity table obtained in step 1. Adjust the volume of the corresponding height interval. For example, if the original volume of the height interval is V and the difference rate is e, then the volume of the height interval after adjustment becomes V(1+e*r), where r is an adjustment step size ratio coefficient. After adjustment, a new child node is generated, and the temporary tank capacity table of the child node is the newly generated temporary tank capacity table; S5.6. Repeat S5.5 until a corresponding child node is generated according to the difference rate of all non-intersecting height intervals;
[0074] The tank capacity table calibration algorithm of this invention, based on breadth-first traversal and interval correction, is built on the basis of existing tank capacity tables. It obtains a more accurate tank capacity table through partial interval adjustments, and evaluates the tank capacity table by using the tank capacity table interval adjustment sub-calculation and the automatic evaluation base formed by the numerator algorithm of the fitted tank capacity table. This guides the algorithm to execute in a direction with better accuracy. Overall, the measurement and calibration of tank capacity tables in this invention does not require gas station shutdown, tank cleaning, or ventilation, resulting in lower measurement costs. Moreover, it only needs to perform interval calibration on the basis of the current tank capacity table to achieve the goal of improving the accuracy of the tank capacity table, without having to completely discard the original tank capacity table.
[0075] The above embodiments are merely illustrative of the principles and effects of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or alter the above embodiments without departing from the spirit and scope of the present invention. Therefore, all equivalent modifications or alterations made by those skilled in the art without departing from the spirit and technical concept disclosed in the present invention should still be covered by the claims of the present invention.
Claims
1. A tank table calibration algorithm based on breadth first traversal for interval correction, characterized in that: Includes the following steps, S1. Obtain fuel dispensing data through the fuel dispenser and fuel level data in the tank through the level gauge located in the tank. The fuel dispensing data and the fuel level data in the tank are collectively referred to as raw data. S2. The raw data is preprocessed by the data preprocessing module to obtain a set of steady-state transactions that conform to the preprocessing rules; S3. Perform a breadth-first traversal of the tank capacity table calibration core algorithm on the obtained steady-state transaction set; S3.
1. Initialize the breadth-first traversal queue; S3.
2. Initialize the search root node based on the original tank capacity table. The tank capacity table corresponding to the root node is the original tank capacity table currently in use by the tank. The depth of the root node is 0. Obtain the fitting score of the root node by calculating the molecular algorithm of fitting the tank capacity table, and put the root node into the breadth-first traversal queue. S3.
3. Take a node from the breadth-first traversal queue as the current processing node; S3.
4. For the current processing node, using the tank capacity table interval adjustment sub-algorithm to correct the interval for the collected steady-state transaction set, a series of sub-nodes are obtained. If the depth of the current processing node is D, several (D+1) level sub-nodes can be obtained from the current processing node. Each (D+1) level sub-node includes a generated temporary tank capacity table. The tank capacity table interval adjustment sub-algorithm specifically includes the following steps: S5.
1. Obtain the temporary tank capacity table of the current processing node; S5.
2. For all steady-state set data, based on the temporary tank capacity table obtained in S5.1, by substituting the starting height of the steady-state set, the corresponding starting volume and ending volume can be obtained. Further, the starting volume V20 and ending volume V20 are calculated based on the temperature coefficient. The calculated oil output V20 from the tank capacity table is compared with the oil output V20 in the steady-state set data to further calculate the difference rate; S5.
3. The intersection of all steady-state sets according to the height range is obtained to obtain a series of minimum non-overlapping height intervals; S5.
4. For all non-overlapping height intervals obtained in S5.3, the error rate is estimated and set as the average of the difference rates of all steady-state sets passing through this height interval; S5.
5. For the difference rates of each non-overlapping height interval obtained in S5.4, a height interval is selected, and based on the temporary tank capacity table obtained in S5.1, the volume of the corresponding height interval is adjusted. The original volume of this height interval is V, and the difference rate is e. After adjustment, the volume of this height interval becomes V(1+e * r), where r is an adjustment step size coefficient. After adjustment, a new child node is generated, and the temporary tank capacity table of the child node is the newly generated temporary tank capacity table; S5.
6. Repeat S5.5 until a corresponding child node is generated according to the difference rate of all non-overlapping height intervals. S3.
5. For the several (D+1) level nodes generated in S3.4, the fitting score of each node is obtained by calculating the molecule of the tank capacity table fitting algorithm; S3.6 Based on the fitting score calculated in S3.5, if the generated node has a higher fitting score than the parent node, then the node is added to the breadth-first traversal queue; otherwise, the node is discarded. S3.7 Repeat steps S3.3 to S3.6 until no new nodes are found in the breadth-first search queue, then proceed to the next step; S3.8 Finds the node with the highest fitting score from all nodes and outputs the corresponding tank capacity table.
2. The tank gauging calibration algorithm based on breadth first traversal for interval revision as claimed in claim 1 wherein: In step S1, both the fuel dispenser and the level gauge are connected to the data acquisition module. The fuel dispenser transmits fuel dispensing data to the data acquisition module via the IFS protocol.
3. The tank capacity table calibration algorithm based on breadth-first traversal for interval correction as described in claim 2, characterized in that: In S1, the oil dispensing data includes the oil gun ID, gun lifting time, gun hanging time, oil dispensing volume (L), whether other guns were dispensing oil when the gun was lifted, and whether other guns were dispensing oil when the gun was hung. The oil quality data includes the oil level (mm) before gun lifting, oil temperature before gun lifting, oil V20 before gun lifting, oil level (mm) after gun lifting, oil temperature after gun lifting, and oil V20 after gun lifting. Here, V20 refers to the oil volume converted to the standard volume at 20°C. This standard is used to eliminate the influence of temperature on the oil volume.
4. The tank capacity table calibration algorithm based on breadth-first traversal for interval correction as described in claim 3, characterized in that: In step S2, the preprocessing process includes the following steps in sequence: S2.1 Matching the fuel dispenser's dispensing data and the tank's fuel quality data according to time sequence; S2.2 Finding a set of steady-state transactions that meets the conditions; S2.3 Filtering out problematic dirty data sets. In S2.2, if either the result of raising the nozzle or lowering it indicates that other nozzles are refueling, or if the result of lowering the nozzle indicates that other nozzles are refueling, then that dispensing data and the corresponding time sequence of fuel quality data are considered unqualified dirty data. If the time interval between two dispensing data is less than 5 minutes, then both dispensing data and the corresponding time sequence of fuel quality data are considered unqualified dirty data. In addition, to minimize the reading error of the level gauge, the total amount of fuel dispensed in the steady-state transaction set is greater than 200L. In S2.3, if the difference between the total amount of fuel dispensed from the fuel dispenser in the steady-state transaction set and the total amount of fuel dispensed from the tank monitored by the level gauge exceeds a threshold of 1%, then this set of steady-state transactions is also treated as dirty data.
5. The tank capacity table calibration algorithm based on breadth-first traversal for interval correction as described in claim 4, characterized in that: The node stores the following information: the temporary tank capacity table corresponding to the current node; the search depth of the current node; the fitting score of the current tank capacity table; and the correction value for the height range of the tank capacity table.
6. The tank capacity table calibration algorithm based on breadth-first traversal for interval correction as described in claim 5, characterized in that: The algorithm for calculating the tank capacity table fitting includes the following steps: S4.
1. Obtain the tank capacity table of the node to be evaluated; S4.
2. For all steady-state set data, based on the tank capacity table obtained in S4.1, by substituting the starting height of the steady-state set, the corresponding starting volume and ending volume can be obtained. Further, the starting volume V20 and ending volume V20 are calculated based on the temperature coefficient. The difference between the two is used to calculate the oil output V20 of this tank capacity table. Comparing it with the oil output V20 in the steady-state set data, the difference rate can be calculated; S4.
3. For the difference rate of all sets obtained in S4.2, the average value and variance of the absolute value of the difference rate of all steady-state sets can be calculated; The average value and variance of the absolute value of the difference rate obtained in S4.3 are converted into the fitting score of the tank capacity table. The fitting score is set as: (1 - average value of absolute value of difference rate) * 100 + variance.