Energia, utilities e offshoreMuvia Industrial
Anomalie e manutenzione predittiva
Vibrazioni, temperature e correnti lette dal PLC diventano uno scostamento dalla normalità, un indice di salute e, se vuoi, il punteggio di un tuo modello, nel cloud o sul nodo accanto alla macchina. Quando un segnale devia, parte un allarme e la manutenzione lo sa.
Scenario illustrativo: descrive un caso tipo, non il progetto di un cliente.
Il guasto si annuncia nei segnali, ma nessuno li guarda tutti i giorni.
In molti reparti i dati ci sono già: il PLC conosce le vibrazioni, la temperatura dei cuscinetti, la corrente del motore, i cicli eseguiti. Restano però sul pannello operatore, e la manutenzione li guarda quando la macchina si è già fermata.
Per accorgersi di una deriva bisogna confrontare ogni segnale con il suo comportamento normale, ogni giorno, su tutte le macchine. È un lavoro da sistema, non da persona: in Muvia lo costruisci tu, con le analisi già pronte e, quando serve, con un tuo modello.
Muvia non promette di prevedere i guasti. Ti dà il posto dove far girare, vicino ai dati, le regole e i modelli che il vostro team mette a punto sulle macchine dello stabilimento.
- Per chi
- Responsabili di manutenzione, ingegneri di processo e data scientist che lavorano con lo stabilimento.
In Muvia, passo per passo
Schermate vere del prodotto, registrate su un progetto con dati di esempio.
Il video · Vibrazioni, temperature e correnti lette dal PLC diventano uno scostamento dalla normalità, un indice di salute e, se vuoi, il punteggio di un tuo modello, nel cloud o sul nodo accanto alla macchina. Quando un segnale devia, parte un allarme e la manutenzione lo sa.
Cosa ottieni
- Le derive si vedono mentre succedono
- Uno scostamento che cresce piano compare sul cruscotto e nell'allarme, invece di emergere solo al fermo macchina.
- Una regola per tutta la flotta
- Baseline, indice e soglie valgono per ogni macchina: aggiungerne una vuol dire collegarne i tag.
- Il modello resta tuo
- Il team lo addestra con gli strumenti che preferisce; Muvia lo esegue vicino ai dati e ne tiene i risultati accanto ai segnali.
- Ogni allarme ha una storia
- Episodi, cause suggerite, presa in carico e note restano nel registro: il prossimo intervento parte da lì.
Per il team tecnico
Come si costruisce in Muvia
- 1
Collega i segnali della macchina
Sul nodo edge configuri il driver S7 o OPC UA e scegli le variabili: vibrazione, temperatura, corrente, contacicli. Ognuna diventa un tag con un nome; se la connessione cade, il nodo tiene le letture in un buffer locale.
- 2
Definisci cosa è normale
Con le analisi pronte calcoli la media mobile e lo scostamento dalla baseline (z-score) di ogni segnale, macchina per macchina. Il profilo delle colonne mostra distribuzioni e quantili prima di scegliere le soglie.
- 3
Riassumi in un indice di salute
La funzione di catalogo «Indice di salute pesato» combina gli scostamenti in un valore da 0 a 100, con i pesi che scegli tu. Un flusso pianificato lo scrive in una tabella che cruscotti e allarmi leggono.
- 4
Aggiungi il tuo modello
Una funzione Python carica il modello che il team ha addestrato fuori da Muvia, in ONNX o joblib, oppure addestra un IsolationForest di scikit-learn sulla finestra di dati che riceve. Gira nel cloud o sul nodo edge accanto alla macchina, con lo stesso runtime, e una prova a vuoto non scrive nulla.
- 5
Fai scattare l'allarme e avvisa la manutenzione
Una soglia con isteresi sull'indice o sul punteggio apre un episodio nel registro allarmi. La funzione di diagnosi chiede a un modello linguistico le cause probabili, la notifica arriva alla manutenzione, che prende in carico e annota.
Funzione Python
import numpy as np
import pandas as pd
import onnxruntime as ort
FEATURES = ["vibration_rms", "bearing_temp", "motor_current"]
def transform(inputs, params, ctx):
df = inputs["rows"].sort_values("ts")
session = ort.InferenceSession(ctx.file("model.onnx"))
x = df[FEATURES].to_numpy(dtype=np.float32)
name = session.get_inputs()[0].name
score = session.run(None, {name: x})[0].ravel()
out = pd.DataFrame({
"ts": df["ts"],
"machine": df["machine"],
"anomaly_score": score,
"anomalous": score > params["threshold"],
})
return {"rows": out}- I dati che servono
- Vibrazioni e temperature dei cuscinetti dal PLC Siemens S7
- Corrente del motore e contacicli da un server OPC UA
- Storico degli interventi dal gestionale, copiato da SQL Server
- Un modello addestrato dal vostro team, in formato ONNX o joblib
Altri casi della stessa linea
Tutti i casi d'uso- Energia e consumi per linea e per pezzoContatori e analizzatori di rete letti in Modbus TCP, incrociati con i pezzi prodotti e gli ordini del gestionale: quanta energia assorbe ogni linea, ogni turno e ogni pezzo, con un allarme quando un consumo esce dal solito.
- La centrale di pompaggio in 3DSala pompe, vasca, collettori e serbatoi nel modello 3D, ogni macchina con il nome del suo asset e accanto i suoi segnali. Si cerca una pompa per nome, la si vede nel modello e si legge la sua vibrazione contro i limiti del manuale, accanto a quella della gemella.
- Dai nomi dei tag agli assetCinquecento tag del sistema di controllo, con nomi come KP2_P201A_VT01, letti da una funzione Python come li leggerebbe un tecnico: sigla della macchina, strumento, unità. Ogni abbinamento a una variabile d'asset ha una confidenza e un motivo, e i dubbi passano a una persona.
Dicci quali macchine hai. Ti diciamo come leggerle.
Marca del PLC, protocollo, connettività del reparto: con queste tre risposte, in una demo con un tecnico, ti mostriamo come Muvia Industrial porta i dati di linea accanto a quelli dell'azienda.