Engine Hours

The Engine hours table shows how long the unit worked, how much time was in motion, how much fuel was spent for this period. Also, the duration and efficiency of the work of the attachable equipment can be shown.

To generate a report using the Engine hours table, the unit is supposed to have such sensors as ignition or absolute/relative engine hours sensor. The method of calculating engine hours is set in unit properties on the General tab. On the Advanced tab, you can also set Daily engine hours rate to calculate utilization and productivity.

In the Engine hours sensor section in the table settings, you can specify the mask for the main engine hours sensor that is used in the report. This allows you to separate the engines and create a table for each of them.

There are two options that can be used in the Engine hours table. They are timeout (set for a sensor) and maximum interval between messages (set for a unit). Both options are used to cut off invalid intervals when the amount of engine hours is defined. If values for both timeout and maximum interval between messages are indicated, the system will use the property with the minimum value indicated.

The Engine hours table can include the columns described below.

Column Description
Beginning The time when the engine hours interval begins.
Initial location The location of the unit when the engine or implement starts working.
End The time when the engine hours interval ends.
Final location The location of the unit when the engine or implement ends working.
Engine hours The value of engine hours at the interval. For an accurate calculation of engine hours, the device should send a valid value of the selected sensor. In case of receiving an invalid value, it is necessary to replace the sensor with a validator using the correct value.
Initial engine hours The value of the Absolute engine hours sensor at the start of the engine hours interval. If there are no values of this sensor within the interval for which the report is being executed, the initial value of the engine hours is calculated using the counter from the beginning of the interval to the first engine hour interval. In this case, the hour count starts from 0. If the sensor has sent a message with data not included in the scope of the engine hour interval, but included in the interval for which the entire report is being executed, the engine hour value is calculated by the counter with consideration of the absolute engine hour sensor data.
Final engine hours The value of the sensor Absolute engine hours at the end of the interval. Calculated based on the initial engine hours.
Total time The time from the start to the end of engine hours interval. It is recommended to use this column in combination with the grouping parameter or the Total row. If the Total row is configured in the table, it shows all the time that elapsed from the start of the first engine hours interval to the end of the last one.
Off-time The period of time passed from the end of the previous interval to the beginning of the current one (determined starting from the second interval).
In motion The interval of time during which the unit moved, that is, the speed value was greater or equal to the one from the Min moving speed field in the trip detector.
Idling The time when the unit was standing with the engine on. Note that idling cannot be detected if the equipment does not send messages containing speed value.
Mileage The distance travelled during the operating hours.
Mileage (adjusted) Mileage subject to the coefficient set in the unit properties (the Advanced tab).
Initial mileage The value of the mileage sensor at the moment of the beginning of the reporting period.
Final mileage The value of the mileage sensor at the end of the reporting period.
Avg. speed The average speed during the interval of engine operation.
Max. speed The maximum speed during the interval of engine operation.
Counter The counter sensor value.
Initial counter The counter value at the beginning of the interval.
Final counter The counter value at the end of the interval.
Avg. engine revs The average rate of engine revolutions.
Max. engine revs The maximum rate of engine revolutions.
Avg. temperature The average temperature value registered for the interval of engine operation.
Min. temperature The minimum temperature value registered for the interval of engine operation.
Max. temperature The maximum temperature value registered for the interval of engine operation.
Initial temperature The temperature value at the beginning of the engine hours operation.
Final temperature The temperature value at the end of engine hours operation.
Status The unit status registered during the engine hour interval. It can be registered manually or automatically by means of a notification. If there are several registered statuses, the first of them is displayed.
Cargo weight The average value of cargo weight during the engine hours interval.
Driver The name of the driver (if assigned).
Trailer The name of the trailer (if assigned).
Movement productivity The percentage ratio of engine hours in the movement to the duration of engine hours.
Fuel consumed The volume of fuel consumed during the engine hour interval and detected by any sort of fuel sensor. If several sensors are available, their values sum up.
Energy consumed The amount of battery energy in kWh consumed during the engine hours interval. It is calculated using the readings of the battery level sensor.
Penalties The penalties calculated for the adjusted Eco driving criteria. Penalty averaging for grouping rows (group headings) can be adjusted in report settings.
Rank The received penalty points converted into a grade using a 10-point scoring system.
Avg. value of custom sensor The average value of a custom sensor during the engine hours interval.
This and the following columns of custom sensor values show a dash if the sensor parameter has a text value or the value is invalid. For example, if the value is not within the acceptable range.
Min. value of custom sensor The minimum value of a custom sensor during the engine hours interval.
Max. value of custom sensor The maximum value of a custom sensor during the engine hours interval.
Initial value of custom sensor The initial value of a custom sensor at the beginning of the engine hours interval.
Final value of custom sensor The final value of a custom sensor at the end of the engine hours interval.

For the Engine hours table, you can apply interval filtering by engine hours sensor, duration, mileage, engine hours, speed range, trips, stops, parkings, sensors, sensors masks, driver, trailer, fuel fillings, fuel drains, battery charges, and geofences/units. If the engine hours are counted according to the engine hours sensor, it is possible to filter the intervals not only by the duration of their operation (that is the duration of their on-state), but also by the value of the engine hours sent by the sensor itself.

Questions and answers

The Engine hours table shows incorrect intervals. What should I do?

Possible explanations and actions:

  • If engine hours are detected by the ignition sensor, the reason can be that data coming from this sensor is incorrect. Check sensor properties: parameter, calculation table, validation, etc.
  • For accurate engine hours calculation, the equipment should send a valid parameter value of an engine sensor. In case of receiving an invalid value, it is necessary to replace sensor with validator using the correct value (for example, 0).
  • The value of Maximum interval between messages (adjusted on the Advanced tab of unit properties) is less than a typical interval between messages transmission. That is why intervals of engine hours are wrong. In this case, set the parameter Maximum interval between messages as zero or give it another adequate value.
Reports show incorrect mileage. What should I do?

Possible explanations and actions:

1. Outliers of data.

To detect such outliers, build a track of unit movement for the appropriate period. Outliers of data will be seen on the track as dashed lines.

Ways to overcome outliers:

  • Enable filtering of unit positional information in messages (on the Advanced tab of unit properties). This will not affect old messages but applied to new ones.
  • To correct data in reports, change settings of trip detection, in particular, reduce Maximum interval between messages and increase Minimum satellites.

2. Incorrect settings or operation of the mileage counter.

  • Check the mileage counter settings on the General tab of unit properties.
Do reports display the data on the manual assignment of the driver after the data storage period expires?

Yes, but only if the driver has not had other assignments since they were last assigned to the unit.

What is the difference between time-based and mileage-based calculation of fuel level?

1. Mileage-based calculation

In a standard situation, all calculations of fuel level are mileage-based. That means data from the FLS is taken only during intervals of movement (trips). Those trips are defined according to parameters set in the trip detector.

Drains and fillings are detected if there is a difference between the fuel level on the following movement interval (X) and the fuel level on the previous movement interval (Y). If (X — Y) > 0, it is a filling; if (X — Y) < 0, it is a drain; if X = Y, it is neither. Of course, there can be some inaccuracy in data coming from the FLS. That is why, to avoid false drains and fillings, set the following parameters in the FLS properties:

  • minimum fuel filling volume,
  • minimum fuel drain volume,
  • minimum stop duration to detect a fuel drain,
  • and some others.

2. Time-based calculation

This type of calculation is more complicated and is based on the following algorithm: the speed of the decrease of fuel level according to the FLS is compared with the consumption calculated mathematically. The time-based calculation is necessary for stationary units. It is also widely used for moving units for controlling drains during the movement, for example.

Example

A vehicle stayed at a parking lot during 10 hours. Defueling was made in small portions over the whole parking period. As a result, 60 liters of fuel were drained. It is possible to determine if it was a drain o fuel consumption according to the state of the unit’s ignition sensor. ​

Why doesn't consumption by math work?

Since the consumption math mechanism is based on the values of the ignition sensor, check its properties and operation. You may not have this sensor created or there may be 0 l/h indicated for the fuel consumption in its properties.

How to configure consumption by math if the unit doesn't have ignition?

You may use one of the approaches described below.

Variant 1

Create a virtual ignition sensor. We recommend that you use average speed (speed+#speed)/const2 as its parameter.

Variant 2

Even if you haven’t installed an ignition sensor in the unit or are not sure of the name of the parameter that responds for the ignition, in the parameters of the device there may be some characteristic that corresponds to the operation of the engine. To use it, compare two messages from the unit: one — when the ignition the most probably off; the other — when it’s on.

Example

During a long time interval the unit sends approximately the following set of parameters:

Copied!
hdop=1, odo=0, adc2=2.0475, adc12=1037, c1=0, c2=0, c3=0, c4=0, mcc=260, mnc=2, lac=56720, cell_id=43811, ta=1,
gsm_lvl=55, total_fuel=407154, can_fls=101, can_taho=4797, can_engine_hrs=230420, can_mileage=137603392, engine_temp=123,
srv_dist=0, j1939_air_temp=9072, J1708_eng_hrs=230420, J1708_fl_used=430282, J1708_fl_lvl=101, I/O=80/0

While moving at some speed — approximately the following:

Copied!
hdop=1, odo=847.358764648, adc2=2.3595, adc12=1117, c1=0, c2=0, c3=0, c4=0, mcc=260, mnc=2, lac=56720, cell_id=60167,
ta=1, gsm_lvl=71, total_fuel=407178, can_fls=101, can_taho=9940, can_engine_hrs=230447, can_mileage=137609550,
engine_temp=124, srv_dist=0, j1939_air_temp=9353, J1708_eng_hrs=230447, J1708_fl_used=430307, J1708_fl_lvl=101, I/O=d1/0

Straight before the start of the movement, as a rule, the ignition turns on:

Copied!
hdop=1, odo=0, adc2=1.4937, adc12=895, c1=0, c2=0, c3=0, c4=0, mcc=260, mnc=2, lac=56720, cell_id=60268, ta=2,
gsm_lvl=64, total_fuel=407166, can_fls=100, can_taho=996, can_engine_hrs=230439, can_mileage=137605711, engine_temp=120,
srv_dist=0, j1939_air_temp=9369, J1708_eng_hrs=230439, J1708_fl_used=430295, J1708_fl_lvl=100, I/O=80/0

Discard the parameters that are obviously imprecise: hdop (precision), adcN (it’s difficult to determine the regularity), odo (relative odometer in meters), mcc mnc cell_id and lac (LBS data section), gsm_lvl (the level of the GSM signal), etc. The parameter J1708_eng_hrs for this unit seems the most probable, as it doesn’t change during the night parking. As a rule, it is also possible to use pwr_ext. Is the ignition is digital, you can follow the values’ changes in the block ‘I/O =’ (see more details in the Inputs and outputs section).

Variant 3

If you have already connected the ignition, find out its parameter by means of the method described above or from the manual of the manufacturer.

Why does mathematical calculation show enormous values?

Possible reasons:

  • In some cases, the system may consider that during the interval with no messages from the unit its ignition was on. Adjust the default value ‘0 seconds’ on the Maximum interval between messages option on the Advanced tab of unit properties. The influence of the option on the fuel calculation is described in the documentation.
  • Several engine efficiency sensors can be created. Check up their values. The easiest way to evaluate it is to create in a report a simple chart with one of the curves Fuel consumption by math.
How to determine fuel consumption, if I know how much fuel the unit consumes within the city, and how much outside it?

Let us suppose that the fuel consumption in the urban cycle is 10 l/100 km and 7 l/100 km — in the suburban cycle.

  • Create an ignition sensor (as in the example above) and set 1 l/h for the consumption during idling.
  • The average consumption in the urban cycle is 36 km/h, in the suburban — 80 km/h.
  • The unit will cover a distance of 100 km driving at a speed of 36 km/h in 2.8 hours. 10 l / 2.8 = 3.57. Let us calculate the value of the increasing coefficient when moving in the city: 3.57 / 1 (idling) = 3.57.
  • As a result of a similar calculation for the suburban cycle, we obtain the coefficient equal to 5.6.
  • Create an engine efficiency sensor, taking into account the fact that the unit cannot consume less fuel than during the idling, and that it is stationary before the beginning of the movement. As a parameter we use the average speed (speed + # speed) / const2 and fill in the calculation table (manually or using the calculation table wizard):

Note that the last pair of points is how the system calculated before (the fuel consumption was considered constant for a speed above 80 km/h). You cannot use this method and change the set of points. Also ‘3’ in this example is the minimum speed from the unit’s trip detector, consequently, this parameter can be different for your unit.

Result: in our example, the average consumption has been calculated for the unit. It has been calculated relative to the speed and time between messages and taking into account the values of the vehicle operation.

How does the mathematical calculation algorithm work?

During the mathematical calculation, fuel consumption is computed separately for each pair of messages.

The following algorithm is used:

  1. The status of each engine sensor (engine ignition, absolute and relative engine hours sensors) in the current message is determined.
  2. For the operating sensors the values indicated in the field Consumed, l/h of their properties are summed.
  3. The values of the engine efficiency sensors bounded to the engine sensors are calculated.
  4. The received values are summed according to the formula k1 + (k2 - 1) + (k3 - 1) + … + (kn – 1). In that way, the coefficient is formed. If the sum of the coefficients is less than 0 or invalid, the total coefficient will be 1.
  5. To determine the current fuel consumption of the unit, the value from point 2 is multiplied by the value of point 4.
  6. The value from the previous message till the current one is multiplied by the value from point 5.
  7. The consumption for each message pair for the indicated interval is summed and in that way, the fuel consumption is determined by consumption math.

If you find a mistake in the text, please select it and press Ctrl+Enter.

Your message was sent. Thank you!

Report a mistake

An error occurred while submitting the form

Download PDF file
Download Word document

See also