Catena del dato
Dal dato grezzo alla decisione
Un impulso di spira non è un’informazione. Il percorso che lo trasforma in una decisione di esercizio passa da sei passaggi ben precisi.
Un impulso di spira non è un'informazione. È una variazione di induttanza convertita in un evento datato. Fra quell'evento e la decisione di accendere un pannello a messaggio variabile ci sono sei passaggi, e ciascuno può degradare silenziosamente il dato. Vale la pena percorrerli uno per uno, perché nella maggior parte degli impianti che ci capita di analizzare il problema non sta nei sensori: sta in uno di questi passaggi intermedi.
Primo: acquisizione e marcatura temporale
Il sensore rileva, l'elettronica di campo converte e assegna un istante. Sembra banale, e non lo è: la marcatura temporale è la fondazione di tutto ciò che viene dopo. Se due sensori sulla stessa sezione hanno orologi che divergono di qualche decina di millisecondi, la velocità calcolata dal tempo di volo diventa sistematicamente sbagliata.
La sincronizzazione via NTP verso una sorgente comune, con verifica periodica della deriva residua, è quindi un requisito, non un dettaglio implementativo. Registriamo sempre l'istante in tempo coordinato universale, lasciando la conversione al fuso locale allo strato di presentazione: è l'unico modo per attraversare senza incidenti il cambio dell'ora legale, che ogni anno produce serie con un'ora duplicata o mancante negli impianti che memorizzano l'ora locale.
Secondo: trasmissione e buffer locale
Il collegamento cade. Non è un'ipotesi, è una certezza statistica su un orizzonte di anni. La domanda di progetto è che cosa succede al dato mentre il collegamento è giù.
Il concentratore di campo deve avere memoria locale sufficiente a coprire il tempo di indisponibilità ragionevolmente atteso, e deve ritrasmettere in ordine quando il collegamento torna, senza sovrascrivere né duplicare. Nei nodi a bassissimo consumo su LoRaWAN il vincolo del ciclo di lavoro impone che il recupero dell'arretrato sia lento: un buffer di ventiquattro ore può richiedere ore per essere smaltito, e il sistema a valle deve saperlo gestire senza interpretare i record in ritardo come misure attuali.
Ordine di arrivo e ordine di evento
Ogni record porta due tempi distinti: quello dell'evento e quello della ricezione. Confonderli è l'errore che produce i falsi allarmi più difficili da spiegare, perché un blocco di dati vecchi che arriva tutto insieme sembra, a chi guarda il cruscotto, un picco di traffico improvviso.
Terzo: validazione e codici di qualità
Nessuna serie è pulita. I controlli minimi che applichiamo sono di tre tipi.
- Plausibilità fisica. Velocità fuori intervallo, distanziamento temporale inferiore al minimo fisicamente possibile, lunghezze veicolari impossibili.
- Coerenza spaziale. Confronto fra corsie della stessa sezione e fra sezioni successive dello stesso tratto: un flusso che raddoppia fra due sezioni senza svincoli intermedi segnala un problema, non un fenomeno.
- Coerenza temporale. Confronto del profilo giornaliero con la mediana delle ultime settimane omologhe, per giorno della settimana.
Il punto decisivo è che cosa si fa dei record sospetti. La tentazione è scartarli, e restituire una serie apparentemente perfetta. È la scelta sbagliata: chi riceve il dato deve poter vedere che cosa è stato messo in dubbio e decidere autonomamente. Ogni record porta quindi un codice di qualità, e ogni correzione è reversibile perché il valore originale resta archiviato.
Una serie senza codici di qualità non è più pulita delle altre. È solo una serie in cui non si sa dove sono i problemi.
Quarto: aggregazione
Il dato per singolo veicolo è pesante e prezioso. Pesante perché su una sezione trafficata sono decine di migliaia di record al giorno; prezioso perché consente analisi che l'aggregato preclude per sempre — distribuzione delle velocità, distanziamento fra veicoli, composizione oraria del traffico pesante.
La pratica ragionevole è conservare il dato per veicolo per una finestra definita e concordata, e conservare senza limiti gli aggregati a uno, cinque, quindici e sessanta minuti. La scelta degli intervalli non è neutra: l'aggregato a sessanta minuti nasconde completamente i picchi di quindici minuti, che sono quelli su cui si dimensionano le sezioni.
Quinto e sesto: indicatori, soglie, azione
Dagli aggregati si calcolano gli indicatori: flusso orario equivalente, grado di occupazione, velocità media di spazio, densità, e da questa il livello di servizio. Ogni indicatore va accompagnato dalle ipotesi che lo generano — la capacità assunta per la sezione, in particolare — perché senza di esse è un numero senza contenuto.
Le soglie trasformano l'indicatore in evento. Qui il rischio è opposto a quello della validazione: soglie troppo strette generano un flusso di allarmi che l'operatore impara a ignorare, e a quel punto l'impianto ha smesso di funzionare anche se tutti i suoi componenti sono efficienti. Le soglie si tarano sul comportamento reale del tratto nelle prime settimane di esercizio, si rivedono dopo la prima stagione e si documentano.
Che cosa chiedere in gara
Se dovessimo suggerire una sola clausola da inserire in un capitolato, sarebbe questa: il fornitore consegna il dizionario dei campi, l'elenco dei codici di qualità con il loro significato, e la descrizione degli algoritmi di validazione applicati. Non il codice sorgente, non i segreti industriali: la documentazione di che cosa è stato fatto al dato prima di consegnarlo. Senza quella, la serie che si sta comprando non è verificabile, e fra dieci anni nessuno saprà più che cosa significava.