Unplanned downtime on rotating machinery — a failed bearing, a seized gearbox — is one of the most expensive events in manufacturing, so modern plants increasingly replace fixed calendar-based maintenance with condition-based and predictive strategies. Predictive maintenance watches live sensor streams, models how a component's failure risk evolves with accumulated wear using a Weibull hazard model, and recommends servicing only when the evidence actually warrants it.
This simulation runs that pipeline end to end: a hidden ground-truth wear process degrades according to a Weibull hazard whose scale depends on operating load, driving noisy vibration and temperature sensors. A weighted health index is reconstructed from those sensors and fitted live with Weibull regression to project a failure-risk curve and a moving maintenance-window recommendation.
What is remaining useful life (RUL) and how is it different from a fixed maintenance schedule?
Remaining useful life is the estimated number of operating hours a machine can keep running before its failure probability crosses an unacceptable threshold, re-estimated continuously from live condition data rather than fixed in advance. A calendar-based schedule replaces a bearing every N months regardless of how hard it has actually been run; predictive maintenance instead watches vibration, temperature and other condition indicators and only recommends action when the evidence says wear has actually progressed.
Why use a Weibull hazard model instead of a constant failure rate?
A constant (exponential) failure rate assumes a component is equally likely to fail at hour 10 as at hour 10,000, which is realistic for random electronic failures but wrong for mechanical wear-out. The Weibull distribution's hazard rate h(t) = (β/η)(t/η)^(β–1) has a shape parameter β that lets the failure rate rise with age when β > 1 — exactly the pattern seen in bearings, gears and seals as fatigue cracks and surface spalling accumulate.
How does operating load change the estimated remaining useful life?
The simulation scales the Weibull characteristic life η down as a power of the load multiplier, so higher sustained load shortens life super-linearly — similar to how fatigue life in an S-N (stress-life) curve falls off faster than stress increases.
The underlying wear process is hidden. Simulated vibration and temperature readings are generated from the true wear state plus independent Gaussian sensor noise, and the health index is reconstructed by normalising each sensor against its own baseline-to-failure range and combining them in a weighted sum (vibration weighted higher, since rising vibration is typically the earliest and most sensitive precursor of bearing degradation). An exponential moving average then smooths the noisy per-sample estimate into a stable health-index trend.
Taking the Weibull CDF F(t) = 1 – exp(–(t/η)^β) and applying the transform y = ln(–ln(1–F(t))) gives y = β·ln(t) – β·ln(η), which is exactly linear in x = ln(t). This is the classical Weibull probability-plotting technique used throughout reliability engineering: convert estimated failure fractions from condition data into (x,y) pairs, run ordinary least-squares regression to get the slope (β̂) and intercept, then recover the scale as η̂ = exp(–intercept / β̂).
Once β̂ and η̂ are fitted, the model failure probability at any future time is F(t) = 1 – exp(–(t/η̂)^β̂). The simulation inverts this formula to solve for the operating hour at which F(t) equals a lower "plan" threshold (half the user-set maintenance threshold) and the operating hour at which it equals the full "urgent" threshold. The interval between those two hours is the recommended maintenance window.
The regression that fits β̂ and η̂ depends on the estimated wear fraction derived from noisy sensor readings, and both the slope and intercept of a least-squares fit are sensitive to scatter in the input data. Turning up the sensor-noise slider increases the scatter in the health-index samples, which widens the range of β̂ and η̂ values the fit can produce and makes the projected maintenance window jump around more between refits.
Remaining useful life depends on the trend and shape of degradation over time, not a single snapshot reading. This is why the simulation fits a curve to a rolling window of history rather than thresholding the current sensor value directly — a single noisy high reading is not evidence of imminent failure, but a sustained upward trend consistent with a wear-out shape is.