IIoT Predictive Maintenance: From Sensor Data to Real-Time Field Alerts

· 11 min read
11 min read
Lucas Moreau
OT/IT Network Engineer

Predictive maintenance isn't limited to new plants with built-in IoT sensors. It can be deployed on existing equipment, using their current PLCs, in just a few days—and you'll start receiving relevant alerts as early as the first week.

Why Corrective Maintenance Is So Expensive

Equipment that breaks down in the middle of production triggers a chain reaction:

  • Cost of the breakdown: parts + labor (€300 to €2,000)
  • Unplanned downtime: 30 minutes to several days
  • Loss of production: often 10 to 50 times the repair cost
  • Emergency: technician called in at night or on weekends (+50% of the hourly rate)

Preventive maintenance (scheduled inspections) partially solves the problem: maintenance is performed either too early (replacing parts that are still in good condition) or too late (the equipment breaks down before the scheduled inspection).

Predictive maintenance aims for the right balance: taking action when the data indicates deterioration—not before, not after.

Data That Warns of a Failure Before It Happens

Universal Early Warning Indicators

ParameterAffected equipmentFailure indicator
Bearing TemperatureMotors, pumps, compressorsDeviation of +10°C from the usual value
Motor CurrentAll electric motorsGradual increase (mechanical load)
VibrationsMotors, fans, spindlesIncreased amplitude or new frequencies
Differential pressureFilters, pumps, heat exchangersIncrease = fouling
Energy consumptionAll equipmentDeviation outside the nominal range
Cycle timePresses, conveyors, production linesLengthening = mechanical wear or quality issue

What the machines are already reporting

The good news is that most of these parameters are already measured by your PLCs and drives. They are stored in Modbus registers—but no one is reading them continuously.

Variateur Schneider ATV320 — registres Modbus accessibles :

Register 0x0054: Motor Current (A × 10)
Register 0x0C14: Radiator Temperature (°C)
Register 0x0C16: Operating time (h)
Register 0x0018: Output Frequency (Hz × 10)
Register 0x002C: Line voltage (V)
Register 0x0068: Number of boots
Register 0x2100: Fault code active
Register 0x2101: History of the Last 8 Faults

All of this is available without modifying the PLC program. All you have to do is read it.

IIoT Architecture for Predictive Maintenance

Configure Anomaly Detection

Static Thresholds vs. Dynamic Thresholds

Static thresholds: You set an absolute limit value.

# Simple Alert Based on a Fixed Threshold
alerts:
- tag: temperature_roulement
condition: "value > 85"
severity: critical
message: "Température roulement Moteur-1 critique : {value}°C"
channels: [sms, email]
delay: 0

Dynamic thresholds: An alert is triggered when the value deviates from its usual behavior.

# Drift Alert — Smarter
alerts:
- tag: courant_moteur
condition: "value > baseline_30d * 1.15"
# Alert if current value > 115% of the average over the last 30 days
severity: warning
message: "Courant Moteur-2 en dérive : {value}A (référence 30j : {baseline}A)"
channels: [email]
delay: 30min # Triggers only if the condition persists for 30 minutes

Dynamic thresholds detect subtle changes that fixed thresholds miss—particularly gradual drifts over several weeks.

Real-world example: filter clogging detection

Historical Data — Hydraulic Filter Presse-3:

Semaine 1 : ΔP = 0,8 bar → Normal
Semaine 3 : ΔP = 1,1 bar → Normal (acceptable)
Week 5: ΔP = 1.4 bar → WARNING alert triggered
Week 6: ΔP = 1.8 bar → CRITICAL alert (absolute threshold)

Action: Scheduled filter replacement in Week 5
→ Service call in working hours; part ordered in advance
→ Zero unplanned outages

Without continuous monitoring, this filter would have been replaced during the next monthly inspection—or would have caused a hydraulic failure.

Field Alerts: The Right Message to the Right Person

Notification Hierarchy

LevelSending IntervalRecipientsChannel
INFODaily (summary)Maintenance ManagerEmail
WARNING< 5 minOn-call technicianEmail + app
CRITICAL< 1 minTechnician + supervisorText message + email
URGENTImmediateEntire teamText message + phone call

What Makes an Alert Useful

An effective alert includes:

[EZIWAN — WARNING] Current drift in Engine 2 — Atelier Nord

Equipment: Atlas Copco compressor motor (Atelier Nord)
Current value: 18.4 A (normal: 15.8 A — deviation +16%)
Duration of the issue: 45 min
History: Value has remained stable for the past 3 months, but has been drifting since yesterday morning

Suggested action: Check the vacuum filter and room temperature

→ Direct VPN access: https://app.eziwan.com/sites/atelier-nord
→ Historique complet : https://app.eziwan.com/charts/moteur-2

The technician has all the necessary information to decide whether the service call is urgent or can wait until the next shift.

ROI measured over 6 months

Results observed at an electrical panel manufacturer (45 machines, 3 workshops):

MetricBeforeAfter 6 months
Unplanned outages per month3.20.8
Unplanned downtime (hours/month)28 hours6 hours
Average cost of an emergency breakdown€1,200€800 (preventive)
On-call technician visits12/month3/month
Estimated monthly savings€5,500

The deployment (6 gateways, configuration, training) paid for itself in 3 months.

Where to Start

  1. Select 3 critical pieces of equipment — those whose failure is most costly
  2. Identify the available Modbus registers — typically 10 to 20 per piece of equipment
  3. Deploy a gateway as a pilot — 1 day of technician time
  4. Monitor for 2 to 4 weeks — build your baselines
  5. Configure the first alerts — start with the obvious critical thresholds
  6. Refine gradually — add drift alerts over time

Vibration Analysis: Advanced Monitoring for Pumps and Motors

Vibration is the earliest indicator of mechanical degradation—often detectable 6 to 12 weeks before a failure. For critical rotating equipment (pumps, compressors, fans), vibration analysis is the natural complement to Modbus monitoring.

Fundamental Vibration Indicators

IndicatorMeaningFault Signal
RMS (Root Mean Square)Total vibration energyGradual increase > 20% of the nominal value
Crest FactorPeak-to-RMS ratio> 3.5: early signs of bearing damage
PeakPeak valueOccasional shocks, impacts
KurtosisDetection of periodic shocks> 4.5: incipient bearing failure (balls)

Real-world example — centrifugal pump:

Semaine 1 : RMS = 2,8 mm/s Crest = 2,1 Kurtosis = 2,8 → Normal
Semaine 5 : RMS = 3,4 mm/s Crest = 2,3 Kurtosis = 3,2 → Surveiller
Week 9: RMS = 4.1 mm/s Crest = 3.2 Kurtosis = 5.8 → WARNING: Bearing needs to be inspected
Week 11: RMS = 6.2 mm/s Crest = 4.7 Kurtosis = 8.4 → CRITICAL Alert: imminent failure

The deterioration was visible 6 weeks before the failure in the kurtosis and crest factor metrics, whereas the RMS alone would not have triggered an alert until week 9.

Industrial IoT Vibration Sensors

For IIoT deployments that do not require extensive cabling, wireless vibration sensors transmit data via MQTT or RS-485:

  • SKF Enlight Collect IMx-1: BLE + Wi-Fi/Ethernet gateway, built-in RMS/kurtosis calculation
  • Samsara VT100: Built-in LTE, GPS + vibration, 7-year battery life
  • Bosch CISS: BLE, multi-parameter sensor (vibration + temperature + humidity)
  • VibraWave WM-100: RS-485 Modbus, magnetic mounting, suitable for industrial cabinets
Wireless Sensors for Retrofits

On existing equipment without easy access for wiring, a magnetic vibration sensor with MQTT, Wi-Fi, or LoRaWAN transmission can be mounted on the motor housing in 30 seconds. The data is transmitted to the Eziwan Gateway via its local MQTT broker.

Monitoring Profiles by Equipment Type

Centrifugal Pump (Comprehensive Monitoring)

# Eziwan Profile — Centrifugal Pump
equipement: pompe-centrifuge
collecte:
modbus:
- registre: "courant_moteur" # Variateur ATV320 : 0x0054
seuil_warning: "+15% baseline"
seuil_critical: "+30% baseline"
- registre: "pression_aspiration" # 4–20 mA Sensor → 0–10 bar
seuil_warning: "< 0.3 bar"
- registre: "pression_refoulement" # 4-20 mA Sensor
seuil_warning: "< setpoint × 0.9"
- registre: "temperature_palier" # Pt100 → sonde roulement
seuil_warning: "> 75°C"
seuil_critical: "> 85°C"
capteur_vibrateur:
- parametre: "rms_radial"
seuil_warning: "> 4.5 mm/s"
seuil_critical: "> 7.1 mm/s" # ISO 10816, Classe II
- parametre: "kurtosis"
seuil_warning: "> 3.5"
alertes:
- condition: "pression_aspiration < 0.3 AND courant_moteur > 120%"
message: "Risque cavitation — pompe {id}"
canal: [sms, email]
priorite: critical

Screw compressor (current and temperature monitoring)

equipement: compresseur-vis
collecte:
- courant_phase_L1_L2_L3 # Phase imbalance → winding fault
- temperature_huile # > 100°C: cooling problem
- pression_sortie # Abnormal pressure drop: clogged air filter or leak
- heures_fonctionnement # Scheduled Maintenance Trigger
- nombre_demarrages # Starter motor wear if > N/day
alertes:
- condition: "heures > 3000" # Vidange huile constructeur
message: "Entretien 3000h requis — Compresseur {id}"
canal: [email]

Common Mistakes to Avoid

1. Trying to Monitor Everything Right from the Start The temptation to connect all devices at once is real—but counterproductive. Start with three critical devices. Learn how to interpret the data, calibrate your baselines, and then expand gradually. A well-executed pilot on three machines is better than a chaotic rollout on 30.

2. Neglecting the baseline phase Predictive maintenance relies on comparing the current state to a baseline. If you set up alerts without allowing time to collect normal operating data (at least 2 to 4 weeks), you’ll generate false alerts—and teams will ignore the system.

3. Confusing Raw Data with Actionable Information A Modbus register that returns "18423" means nothing without its unit, scaling factor, and context. For each variable, document the physical unit, normal range, and the meaning of high and low values. The time invested in initial configuration pays for itself tenfold over the following years.

4. Ignoring data quality alerts If a sensor fails or an RS485 cable breaks, your system will report zeros or erratic values. Set up alerts for communication quality (no Modbus response for N minutes)—so you don’t mistake a silent sensor for “healthy” equipment.

5. Overly Sensitive Alerts = Ignored Alerts If the team receives 20 alerts a day, they’ll ignore them all—including the real ones. Calibrate your thresholds so that the false-alert rate is less than 2–3 per week during your initial deployment period. Refine them gradually.


Frequently Asked Questions

Do I need to modify the PLC program to collect data? No. The Eziwan gateway reads Modbus registers in passive (read-only) mode. It queries the PLC or drive as a Modbus master, without requiring any program modifications. Only the device’s Modbus address and the registers to be read need to be configured in the Eziwan dashboard.

Can data be collected from devices that do not have an RS485 port? Yes, there are several options: (1) if the device has an Ethernet port, Modbus TCP is often available; (2) 4–20 mA transmitters with RS485 converters allow you to connect analog sensors; (3) pulse counters can convert digital signals into Modbus data. Contact our team for a compatibility audit.

How do I know which Modbus registers to read on my equipment? The equipment's Modbus communication manual (often called the "Communication Manual" or "Modbus Register Map") lists all available registers. For common devices (Schneider ATV, Siemens SINAMICS, ABB ACS, WEG CFW), Eziwan provides preconfigured profiles available directly in the dashboard.

Does predictive maintenance work for older electromechanical equipment? Yes—often even better than on newer equipment, because older equipment has slower and more predictable degradation cycles. The key is having access to operating parameters, even via an external current sensor (current transformer on the power cable) if the equipment lacks a native communication protocol.

What is the difference between predictive maintenance and condition-based maintenance? Condition-based maintenance triggers an intervention when a condition is met (e.g., temperature > 85°C). Predictive maintenance analyzes trends to anticipate deterioration before the critical threshold is reached (e.g., an alert is triggered if the temperature has been rising by 3°C per week for the past 3 weeks, even if it is still at 72°C). Conditional maintenance is reactive; predictive maintenance is proactive.


Further Reading


Get started with your predictive maintenance driver → · Modbus and RS485 documentation →


Additional Resources