engineoilpressure1j1939 - SPN 100

Gauge pressure of the oil in the engine lubrication system

High-Level Explanation

This signal contains the gauge pressure of the lubricating oil in the engine, in kilopascals. Note that this signal has a resolution of 4 kPA, meaning all values are divisible by 4. Also note that this is the gauge pressure, meaning the pressure over the ambient atmospheric pressure, as in engineexhaustbank1pressure1j1939 - SPN 1209. For reference, 1 kilopascal is equal to 0.145038 pounds per square inch (PSI), so the raw signal can be converted to PSI as in:

gdf['engineoilpressure1j1939_psi'] = gdf['engineoilpressure1j1939']*0.145038

Enables

To determine some signal values when the maximum oil pressure, per day, the following code can be used. Here, the average speed for the 40 minute time window (20 minutes before and 20 minutes after the time with the highest engine pressure) is calculated:

gdf['year_month_day'] = gdf['timestamp'].map(lambda x: x.strftime('%Y_%m_%d'))
avgs = []
for t in gdf.loc[gdf.groupby('year_month_day')['engineoilpressure1j1939'].idxmax().dropna().values]['timestamp']:
    avgs.append(gdf.loc[np.abs(gdf['timestamp'] - t) < np.timedelta64(20,'m')]['wheelbasedvehiclespeedj1939'].mean())

Similarly, here, the average engine speed (see enginespeedj1939 - SPN 190 - to review) for a two hour time window (one hour before and one after the time with the highest engine pressure) is calculated:

avgs = []
for t in gdf.loc[gdf.groupby('year_month_day')['engineoilpressure1j1939'].idxmax().dropna().values]['timestamp']:
    avgs.append(gdf.loc[np.abs(gdf['timestamp'] - t) < np.timedelta64(1,'h')]['enginespeedj1939'].mean())

Enabled By

Known Quirks

Visualizations with Explanations

Last updated