To detect fuel drains the processed data is used (it is done on the Data preparation and Filtering steps).
The next options are crucial while detecting drains:
- Minimum fuel drain volume;
- Detect fuel drains in motion;
- Idling;
- Calculate drain volume by raw data.
Minimum fuel drain volume
Unit properties → Sensors → FLS properties → Calculate data by the sensor → Basic settings → 'Minimum fuel drain volume'
This option defines the required drop of the fuel level minus the fuel consumption for motion/idling so that the drain is detected.
Detect fuel drains in motion
Unit properties → Sensors → FLS properties → Calculate data by the sensor → Advanced settings → Drain detection settings → 'Detect fuel drains in motion'
By default, this option is disabled. In case there is a necessity to control drains in motion a user may use the option. But if sharp fuel level drop takes place then false drain may be detected.
Idling
Unit properties → Sensors → Sensor type 'Engine ignition' → 'Consumption, l/h' Unit properties → Sensors → Sensor type 'Absolute engine hours' → 'Consumption, l/h' Unit properties → Sensors → Sensor type 'Relative engine hours' → 'Consumption, l/h'
The option allows you to detect drains on stops/parkings. The system finds the difference between the spent fuel volume according to the sensors and a mathematically calculated one. In case of a non-zero difference, which is equal to or more than the value set in the minimum fuel drain volume option, the fuel drain is detected.
Calculate drain volume by raw data
Unit properties → Sensors → FLS properties → Calculate data by the sensor → Advanced settings → Drain detection settings → 'Calculate drain volume by raw data'
Similar to fillings, filtering may deviate the start and the end fuel level values of drains. To ignore such deviations, the system uses unfiltered data while calculating the volume of drain. This option is applied only when the value before filtering exceeds the value obtained as a result of filtering.
Special case: How is a fuel drain detected?
Time frame of a drain and its volume
A drain is being performed.
Let us suppose that the fuel volume in the current message is Vcurr, the fuel volume in the previous message is Vprev. If the difference d for the current message (d = Vcurr - Vprev) is negative, the message is considered the initial message of the drain.
Time passes. When the value d is positive for some message (that is the fuel volume in the current message is higher than in the previous one), the message is considered as the final message of the drain.
If the fuel level does not change during the time indicated in the Timeout to separate consecutive drains parameter in the FLS settings, the drain is considered finished as well.
A drain may be registered in the system not upon receiving the final message, but later. This depends on whether the Filter sensor values and Timeout to separate consecutive drains settings are used for the fuel level sensor. The higher the values specified in these settings, the longer it takes to register a drain.
The drain volume equals to Vfinal - Vinit (the difference of fuel levels between the final and the initial messages).
Drain timestamp calculation algorithm
Now we are looking for the timestamp of the drain.
The system seeks a delta with the following message (d = Vnext - Vcurr) for every message within the drain interval. The delta shows the decrease in the fuel level between the current and future messages.
The message timestamp that has the highest delta is considered to be the drain timestamp (in other words, the left message with the biggest delta is selected from the pair of messages).
The timestamp of fuel drain is calculated dynamically depending on the values of the sensors in every particular situation.