Energia, utilities e offshoreMuvia Industrial
La mareggiata vista dagli ormeggi
Onda, moto della piattaforma e tensione degli ormeggi arrivano al minuto. Una funzione Python calcola ogni mezz'ora l'altezza d'onda significativa e la fatica di ogni linea, così dopo una mareggiata si sa quale ormeggio ha lavorato di più e quanto.
Scenario illustrativo: descrive un caso tipo, non il progetto di un cliente.
Dopo una mareggiata la domanda è una: quanto hanno sofferto gli ormeggi?
Su una piattaforma il registratore di bordo raccoglie onda, moto e tensioni delle linee d'ormeggio, ma i dati restano a bordo o arrivano a terra in file da aprire uno per uno. Dopo una mareggiata, sapere quale linea ha lavorato di più vuol dire giorni di elaborazioni.
In Muvia i segnali arrivano dal nodo edge della piattaforma, e una funzione Python scritta dal vostro team calcola stato del mare e fatica a ogni finestra, con il metodo che il team sceglie. Il resoconto è pronto quando il mare si calma.
- Per chi
- Ingegneri di integrità strutturale, responsabili delle operazioni offshore e della manutenzione di piattaforme e impianti galleggianti.
In Muvia, passo per passo
Schermate vere del prodotto, registrate su un progetto con dati di esempio.
Il video · Onda, moto della piattaforma e tensione degli ormeggi arrivano al minuto. Una funzione Python calcola ogni mezz'ora l'altezza d'onda significativa e la fatica di ogni linea, così dopo una mareggiata si sa quale ormeggio ha lavorato di più e quanto.
Cosa ottieni
- Il resoconto quando il mare si calma
- Stato del mare e fatica sono già calcolati finestra per finestra: il resoconto non aspetta l'elaborazione a terra.
- La linea che ha lavorato di più
- Tensioni e fatica per linea dicono quale ormeggio ispezionare per primo.
- Il metodo resta vostro
- Curva S-N, soglie e finestre sono parametri della funzione che il vostro team mette a punto.
- Ogni evento ha una nota
- Fronti, ispezioni e interventi annotati sui segnali spiegano i picchi a chi legge dopo.
Per il team tecnico
Come si costruisce in Muvia
- 1
Collega il registratore di bordo
Sul nodo edge della piattaforma configuri i driver di radar, unità di moto e celle di carico. Se il collegamento con terra cade, il nodo tiene le letture in un buffer locale e le manda quando torna.
- 2
Pulisci i campioni
Una query a passi scarta gli echi del radar e le celle di carico senza alimentazione e ordina i campioni nel tempo: la base pulita per i calcoli.
- 3
Calcola stato del mare e fatica
Una funzione Python calcola ogni 30 minuti l'altezza d'onda significativa, il valore efficace del moto, la tensione massima di ogni linea e il danno a fatica dai cicli di tensione. Un flusso la esegue ogni ora e salva il risultato in una tabella.
- 4
Leggi la mareggiata in Analisi
La vista XY mette la tensione di ogni linea contro l'altezza d'onda; l'andamento mostra i giorni della mareggiata con le annotazioni del fronte.
- 5
Scrivi il resoconto
Un notebook raccoglie onda massima, tensioni e fatica cumulata giorno per giorno, e si stampa in PDF per chi decide l'ispezione.
Funzione Python
import numpy as np
import pandas as pd
def ampiezze(x, soglia):
"""Ampiezze dei semicicli tra due inversioni successive della tensione."""
d = np.diff(x)
inversioni = x[np.r_[True, d[1:] * d[:-1] < 0, True]]
a = np.abs(np.diff(inversioni))
return a[a >= soglia]
def transform(inputs, params, ctx):
d = inputs["rows"].sort_values("ts")
d["inizio"] = pd.to_datetime(d["ts"]).dt.floor(f"{params['finestra_minuti']}min")
righe = []
for inizio, w in d.groupby("inizio"):
a = ampiezze(w["tensione_l3_kn"].to_numpy(), params["soglia_ciclo_kn"])
righe.append({
"inizio": inizio,
"hs_m": 4 * w["onda_m"].std(ddof=0),
"rollio_rms_deg": float(np.sqrt(np.mean(w["rollio_deg"] ** 2))),
"tensione_max_l3_kn": w["tensione_l3_kn"].max(),
"danno_l3": 0.5 * float(np.sum(a ** params["esponente_sn"])),
})
out = pd.DataFrame(righe)
out["danno_l3_cumulato"] = out["danno_l3"].cumsum()
return {"rows": out}- I dati che servono
- Elevazione dell'onda dal radar e moto della piattaforma (sollevamento, beccheggio, rollio) via OPC UA
- Tensione delle quattro linee d'ormeggio dalle celle di carico, via Modbus TCP
- Vibrazioni del compressore dal suo PLC Siemens S7
- Fronti, ispezioni e interventi, annotati sui segnali
Altri casi della stessa linea
Tutti i casi d'uso- Anomalie e manutenzione predittivaVibrazioni, 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.
- 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.
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.