To detect thefts the processed data is used (it is done on the Data preparation and Filtration steps).
The next options are crucial while detecting thefts:
- Minimum fuel theft volume;
- Detect fuel theft in motion;
- Idling;
- Calculate theft volume by raw data.
Minimum fuel theft volume
Unit properties → Sensors → FLS properties → Filling settings → 'Minimum fuel theft volume, liters'
This option defines the required drop of the fuel level minus the fuel consumption for motion/idling so that the theft is detected.
Detect fuel theft in motion
Unit properties → Sensors → FLS properties → Theft settings → 'Detect fuel theft in motion'
By default, this option is disabled. In case there is a necessity to control thefts in motion a user may use the option. But if sharp fuel level drop takes place then false theft may be detected.
Idling
Unit properties → Sensors → Sensor type 'Engine ignition' → 'Consumption, liters per hour' Unit properties → Sensors → Sensor type 'Absolute engine hours' → 'Consumption, liters per hour' Unit properties → Sensors → Sensor type 'Relative engine hours' → 'Consumption, liters per hour'
The option allows you to detect thefts 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 theft volume option, the fuel theft is detected.
Calculate theft volume by raw data
Unit properties → Sensors → FLS properties → Theft settings → 'Calculate theft volume by raw data'
Similar to fillings, the filtration may deviate the start and the end fuel level values of thefts. To ignore such deviations, the system uses unfiltered data while calculating the volume of theft. This option is applied only when the value before the filtration exceeds the value obtained as a result of filtration.
Special case: How is a fuel theft detected?
Time frame of a theft and its volume
A theft 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 theft.
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 theft.
If the fuel level does not change during the time indicated in the Timeout to separate consecutive thefts parameter in the FLS settings, the theft is considered finished as well.
The theft volume equals to Vfinal - Vinit (the difference of fuel levels between the final and the initial messages).
Theft timestamp calculation algorithm
Now we are looking for the timestamp of the theft.
The system seeks a delta with the following message (d = Vnext - Vcurr) for every message within the theft 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 theft timestamp (in other words, the left message with the biggest delta is selected from the pair of messages).
The timestamp of fuel theft is calculated dynamically depending on the values of the sensors in every particular situation.