Vai al contenuto

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.
Schema: un PLC Siemens S7 e un server OPC UA mandano vibrazioni, temperature, correnti e contacicli; il gestionale porta lo storico degli interventi; un file Excel porta il piano di manutenzione. Muvia calcola scostamenti, indice di salute e punteggio di anomalia e produce un cruscotto di salute macchina, un allarme con diagnosi, la notifica alla manutenzione e il registro degli allarmi.

In Muvia, passo per passo

Schermate vere del prodotto, registrate su un progetto con dati di esempio.

1 di 5

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. 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. 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. 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. 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. 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}
Il modello che il vostro team ha addestrato ed esportato in ONNX dà un punteggio a ogni lettura, nel cloud o sul nodo edge.
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

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.