# Interblocchi

> Lo storico duraturo della ritenuta dell'interblocco di fermo di ogni unità: gli scatti, il ritorno sicuro della sorgente e i riarmi manuali con chi li ha eseguiti.

La scheda Interblocchi di [Eventi](events) (`/events?view=interlocks`) è la cronologia duratura
dell'**interblocco di fermo**: il segnale booleano che un modello sorveglia per unità per far
terminare una prova quando la macchina è stata fermata dall'esterno. Vederla richiede
**Visualizzare gli eventi**; esportare richiede **Esportare/importare gli storici**. L'interblocco si
configura sotto
[Process > Definizione > Automazione](process-automation) e si riarma dal componente Interlock su una
dashboard o dalla vista dell'unità; questa scheda registra e non cambia nulla.

Segue la condotta comune alle tre cronologie descritta su
[Eventi](events#how-the-three-timelines-behave).

## Le tre transizioni {#the-three-transitions}

Il sorvegliante dell'interblocco interroga la sorgente configurata ogni 100 ms, leggendo soltanto il
valore e la qualità che Connector o Logic già pubblicano, senza espressione e senza antirimbalzo. La
ritenuta di un'unità passa per Non disponibile (nessuna lettura valida ancora), Normale, Scattato e
In attesa di riarmo; tre dei suoi passaggi finiscono a diario:

| Transizione | Quando viene registrata | Messaggio |
| --- | --- | --- |
| Scattato | La sorgente, una volta armata da una prima lettura buona, riporta la polarità di scatto configurata, oppure perde qualità. La ritenuta è resa persistente, ogni nuova esecuzione sull'unità è rifiutata, le sue sorgenti scrivibili sono bloccate, e una prova in corso termina come Interrotta / NOK con il motivo StopInterlock. Un'unità che era in attesa di riarmo e scatta di nuovo registra un nuovo Scattato. | "La sorgente riporta il valore attivo configurato (True)." (oppure "(False)"), o "La sorgente non è disponibile o ha qualità non valida dopo l'armamento dell'interblocco." |
| Sorgente sicura | Mentre la ritenuta è inserita, la sorgente torna a una lettura buona del valore sicuro. L'unità resta bloccata finché qualcuno non la riarma. | "La sorgente è di nuovo sicura; è richiesto il riarmo manuale." |
| Riarmato | Una persona libera la ritenuta mentre la sorgente è buona e sicura e l'unità non è occupata a terminare la sua prova. Registrato con il nome della persona. | "Il fermo dell'interblocco è stato riarmato a mano." |

Una transizione osservata mentre il sorvegliante sta partendo o riprendendo (quando interroga senza
pubblicare) è conservata e scritta all'interrogazione pubblicante successiva, o nell'istante del
riarmo che la segue, così un riarmo non è mai registrato prima del fronte sicuro a cui risponde.
Dentro una stessa unità ogni istante registrato è rigorosamente posteriore al precedente, di almeno
un millisecondo, così l'ordine delle righe non è mai ambiguo.

## Ricerca e filtro {#search-and-filter}

| Comando | Valori | Che cosa fa |
| --- | --- | --- |
| Ricerca | Testo segnaposto "Cerca per modello, unità, sorgente, autore o messaggio" | Confronto "contiene" sul nome del modello, sul nome dell'unità, sulla chiave e sul nome della sorgente, sull'autore di un riarmo e sul messaggio. |
| Transizione | **Tutte le transizioni** (predefinito), **Scattato**, **Sorgente sicura**, **Riarmato** | Tiene un solo genere di transizione. |
| Aggiorna | | Rilegge il diario; suggerimento "Aggiorna gli eventi di interblocco". |
| Esporta | **Esporta come CSV…**, **Esporta come JSON…** | Scrive ogni evento che la ricerca, il filtro di transizione e il periodo raggiungono, pagina dopo pagina, non solo le righe attualmente elencate. Disegnato solo con **Esportare/importare gli storici**; in grigio finché l'elenco è vuoto. |

## Le righe {#the-rows}

| Parte della riga | Contenuto |
| --- | --- |
| Ora | Data e ora della transizione. |
| Punto | Critico per Scattato, cautela per Sorgente sicura, neutro per Riarmato. |
| Nome | Il nome dell'unità in quel momento. |
| Riepilogo | "Transizione · Modello / Unità · Sorgente = valore · qualità Buona", per esempio "Scattato · Press 40 / Cell A · EmergencyStop = True · qualità Buona". Il valore dice True, False o Non disponibile; la qualità dice Buona o Non disponibile. |
| Livello | La parola della transizione: Scattato, Sorgente sicura o Riarmato. |

## Il pannello di dettaglio {#the-detail-panel}

Selezionare una riga apre il pannello con il distintivo della transizione e il nome dell'unità,
l'istante completo, la riga di riepilogo, il messaggio e tre riquadri:

| Riquadro | Campo | Contenuto |
| --- | --- | --- |
| EVENTO | Livello | La transizione. |
| EVENTO | ID dell'evento | L'identità di questa transizione nel diario. |
| ISTANTANEA DELL'INTERBLOCCO | Transizione | Scattato, Sorgente sicura o Riarmato. |
| ISTANTANEA DELL'INTERBLOCCO | Sequenza del diario | Il numero di inserimento della riga nel diario. |
| ISTANTANEA DELL'INTERBLOCCO | Modello, ID del modello | Il nome del modello in quel momento e il suo id stabile. |
| ISTANTANEA DELL'INTERBLOCCO | Unità, ID unità | Il nome dell'unità in quel momento e il suo id stabile. |
| SORGENTE CONGELATA | Sorgente | Il nome del tag o della variabile sorvegliata in quel momento ("Sorgente non disponibile" quando non si è potuta leggere; "Variabile rimossa" quando la variabile non esisteva più). |
| SORGENTE CONGELATA | Chiave della sorgente | L'identità della sorgente indipendente dal nome, `tag:<id>` o `var:<id>`, così una sorgente rinominata corrisponde ancora al suo storico; `unit:<id>` quando l'unità non aveva alcuna sorgente configurata. |
| SORGENTE CONGELATA | Polarità di scatto | "Scatta quando è Vero" o "Scatta quando è Falso": quale lettura del booleano fa terminare la prova. |
| SORGENTE CONGELATA | Valore osservato | True, False o Non disponibile (la sorgente non si è potuta leggere o convertire in booleano). |
| SORGENTE CONGELATA | Qualità | Buona, oppure Non disponibile. |
| SORGENTE CONGELATA | Autore | Per Riarmato, il nome visualizzato dell'utente connesso sulla schermata che ha riarmato ("Non connesso" quando non c'era nessuno; "Operatore sconosciuto" quando non è arrivato alcun nome). "Automatico" per Scattato e Sorgente sicura. |

**Copia l'evento** copia una sola riga: "istante | Interblocco | transizione | unità | riepilogo |
messaggio | EventId=… | ModelId=… | UnitId=… | SourceKey=… | SourceName=… | TripWhenTrue=… |
QualityGood=… | ObservedValue=… | Author=…".

## Colonne dell'esportazione {#export-columns}

CSV e JSON portano gli stessi campi, in questo ordine: `Timestamp` (l'intestazione del CSV aggiunge
il riferimento temporale, "Timestamp (UTC-03:00)"), `JournalSequence`, `Transition` (scritta con il
nome grezzo `SourceSafe`), `Model`, `ModelId`, `Unit`, `UnitId`, `SourceKey`, `SourceName`,
`TripWhenTrue`, `QualityGood`, `ObservedValue` (vuoto quando non disponibile), `Author` (vuoto per
una transizione automatica), `Message` ed `EventId`. Il JSON è una busta con `TimeZone` ed `Events`.
I nomi dei file sono `interlock-history-<yyyyMMdd-HHmmss>.csv` e `.json`. Il CSV segue la preferenza
di separatore decimale della stazione come ogni altra esportazione: con i decimali a punto il
separatore di elenco è `,`, con i decimali a virgola è `;`. Una cella che comincia con `=`, `+`, `-`
o `@` è preceduta da un apostrofo perché un foglio di calcolo la legga come testo.

## Dove altro una transizione è registrata {#where-else-a-transition-is-recorded}

Ogni transizione lascia anche una riga in Console sotto l'area Process: "Interblocco scattato: …"
come avviso, "La sorgente dell'interblocco è tornata sicura: …" e "Interblocco riarmato: …" come
informazione, ciascuna con il modello, l'unità, la sorgente, la polarità, la qualità e il valore. La
prova che uno scatto ha fatto terminare conserva la propria registrazione in
[Storici](histories) con il motivo StopInterlock. La ritenuta resa persistente è di per sé una riga
a parte che il sorvegliante tiene fino al riarmo; non è mostrata in questa scheda.

## Stati vuoti e riga di stato {#empty-states-and-the-status-line}

- "Nessun evento di interblocco finora" con "Compariranno qui gli scatti degli interblocchi, i
  fronti di sorgente sicura e i riarmi manuali."
- "Questi filtri non trovano eventi di interblocco" con "Modificare il filtro transizione o i
  termini di ricerca per allargare questo storico."
- La riga di stato dice "N mostrati · pagina 1", poi " · filtrati" quando una ricerca, una
  transizione o un periodo è in vigore; a destra, "1 selezionata" e
  "Aggiornato hh:mm:ss".

## Che cosa la scheda Interblocchi non fa {#what-the-interlocks-tab-does-not-do}

- Non abilita l'interblocco, non ne sceglie la sorgente o la polarità e non stacca un'unità dal
  valore predefinito del modello ([Process > Definizione > Automazione](process-automation)).
- Non riarma: il comando Riarma sta sul componente Interlock e sulla vista dell'unità, e richiede
  una sorgente buona e sicura e un'unità che non stia ancora terminando la sua prova.
- Non mostra lo stato dal vivo di una ritenuta (Non disponibile, Normale, Scattato, In attesa di
  riarmo); quello è il pannello dell'unità e il componente Interlock. Un'unità ancora in attesa di
  riarmo si riconosce qui soltanto da una riga Sorgente sicura senza un Riarmato successivo.
- Lo stato Non disponibile prima della prima lettura buona non è una transizione e non lascia alcuna
  riga.
- Non ha filtro per unità o per data; cerca per nome di unità o di modello.
