# Prove e commenti

> Il pannello di un'unità: preparare una procedura e i suoi metadati, l'Avvio e ciò che convalida, Sospendi, Riprendi, Arresta e Interrompi, le schede dal vivo, i commenti, i comandi singoli, il file della prova e le vie dell'automazione e dell'agente.

Il **pannello** di un'unità (Process > Modelli > un modello > Esercizio > l'unità > un pannello, e
lo stesso pannello nella pagina View quando è contrassegnato Mostra in View) è dove una prova si
prepara, si avvia, si conduce e si sorveglia. Quali schede disegna, e in quale ordine, si dispone
una volta sola sul modello sotto Visualizzazione > [Pannelli](process-panels); poi ogni unità del
modello lavora attraverso la stessa superficie. Per sorvegliare basta l'albero. Ogni comando del
pannello richiede **Eseguire le procedure**; senza di esso il pannello si apre con la nota "Qui si
può seguire lo stato della prova di questa unità, ma avviarla o condurla richiede il permesso
'Eseguire le procedure'." e non disegna alcun pulsante del ciclo di vita.

Una scheda a cui la stazione non dà nulla da mostrare è lasciata fuori invece di essere disegnata
vuota: la scheda Comandi singoli richiede un datalog o una ricetta immediata sul modello, la scheda
Canali un canale leggibile, la scheda Metadati una procedura preparata che richieda un campo (oppure
nulla di ancora preparato), e una dashboard incorporata qualcosa collocato sopra. Un pannello che non
dispone alcuna scheda si legge "Questo pannello non disegna alcuna scheda. Scegliere le sue schede
nella riga Pannelli del modello, sotto Visualizzazione."

## L'avviso di interblocco {#the-interlock-banner}

Quando il modello osserva un arresto esterno ([Automazione](process-automation)), l'interblocco
dell'unità sta sopra ogni scheda e non disegna nulla mentre è Normale. Altrimenti è un avviso
intitolato **Interblocco scattato** (forte), **Interblocco in attesa di riarmo** oppure **Interblocco
non disponibile**, con il motivo, il nome della sorgente, il suo valore e la sua qualità. Mentre non
è Normale, sull'unità non è ammesso alcun nuovo Avvio, Riprendi, istantanea, valutazione o
applicazione di ricetta. Uno scatto fa terminare la prova in corso attraverso la via di fine
ordinaria, come **Interrotta** con esito **Non conforme** e motivo della conclusione **Interblocco**,
e nessuno è nominato come chi l'ha terminata. La ritenuta sopravvive a un riavvio. **Riarma** compare
soltanto in In attesa di riarmo, richiede Eseguire le procedure, una sorgente che legge buona e
sicura e un'unità che nessuna prova possiede; libera la ritenuta, va a diario con il nome
dell'operatore e non riavvia mai la prova interrotta.

## La scheda Prova {#the-run-card}

La testata della scheda porta una spia che dice che cosa sta facendo l'unità, con le stesse parole e
lo stesso colore della pastiglia sulla pagina dell'unità. L'attesa dei setpoint ha la precedenza su
ogni altra lettura.

| Spia | Colore | Quando |
| --- | --- | --- |
| **Non registra** | Grigio | Nessuna prova possiede l'unità. |
| **In preparazione** | Grigio | Avvia ha riservato l'unità e la prova non esiste ancora. |
| **In registrazione** | Verde | La prova sta campionando. |
| **In attesa che i setpoint arrivino al dispositivo** | Cautela | La ricetta ha consegnato i setpoint di un segmento e aspetta che l'apparecchiatura li accolga; il tempo proprio del segmento non ha ancora cominciato a scorrere, e il datalog continua a registrare. La mostra soltanto un segmento impostato per attendere ([Ricette](process-recipes#what-a-run-does-with-it)). |
| **Sospesa** | Cautela | Sospendi ha congelato la finestra temporale all'ultimo setpoint; il datalog continua a registrare. |
| **Salvataggio** | Grigio | Il campionamento si è fermato e si sta scrivendo l'istantanea della prova. |
| **Finalizzazione** | Grigio | La prova ha raggiunto il suo stato finale e sta chiudendo il proprio file; l'unità non è ancora libera. |

| Campo | Che cos'è | Valori / predefinito | Effetto |
| --- | --- | --- | --- |
| Procedura | La procedura preparata per il prossimo Avvio. | "(nessuna)" più ogni procedura del modello, in ordine alfabetico; nulla di preparato per impostazione predefinita, e la preparazione si azzera all'avvio dell'applicazione. | La preparazione vale per tutta la stazione: ogni schermata di questa unità, il punto `Next.Procedure` e la scheda di Esercizio mostrano la stessa scelta. Preparare una procedura che fissa un insieme di alias applica quell'insieme all'unità già durante la preparazione, non all'Avvio; un vincolo che non si può applicare lascia in vigore la preparazione precedente e dice sulla scheda perché. Il selettore è in grigio senza Eseguire le procedure e mentre il runtime è fermo. |

I pulsanti del ciclo di vita, nell'ordine in cui sono disegnati. Sospendi e Riprendi sono lasciati
fuori quando la procedura preparata è Controllata o Immediata, perché soltanto una prova Temporale ha
una finestra da congelare; senza nulla di preparato sono disegnati tutti e cinque.

| Comando | Che cosa fa | In grigio quando (situazione) | Non disegnato quando (ruolo) |
| --- | --- | --- | --- |
| Avvia | Avvia su questa unità la procedura preparata. | L'unità è occupata, non è preparata alcuna procedura, il runtime è fermo, l'interblocco non è Normale, oppure la stazione sta rifiutando le scritture. | Senza Eseguire le procedure. |
| Sospendi | Congela la finestra temporale all'ultimo setpoint; il datalog continua a registrare. | Nessuna prova è in marcia, oppure la procedura in marcia non è Temporale. | Senza Eseguire le procedure; la procedura preparata è Controllata o Immediata. |
| Riprendi | Toglie la sospensione e fa proseguire la finestra. | Nessuna prova è Sospesa, oppure l'interblocco non è Normale. | Senza Eseguire le procedure; la procedura preparata è Controllata o Immediata. |
| Arresta | Termina la prova in modo pulito e la congela come storico, da In marcia oppure da Sospesa. | Nessuna prova possiede l'unità. | Senza Eseguire le procedure. |
| Interrompi | Termina la prova come interrotta; il blocco di finalizzazione viene comunque eseguito. | Nessuna prova è In marcia o Sospesa. | Senza Eseguire le procedure. |

Un comando rifiutato scrive il proprio motivo sulla scheda ("Nessuna procedura è preparata.
Sceglierne una prima."), e due righe fisse sotto i pulsanti dicono perché la stazione o l'unità non
accettano comandi: "Runtime fermo" e il motivo dell'interblocco.

## L'Avvio e ciò che convalida {#start-and-what-it-validates}

L'Avvio consuma la preparazione dell'unità e rifiuta tutto prima di prendere qualsiasi risorsa.
Nell'ordine: l'unità è riservata (un secondo Avvio sulla stessa unità è rifiutato); la procedura
preparata deve esistere ancora ("La procedura preparata non esiste più. Sceglierne una di nuovo.") e
la preparazione non deve essersi spostata mentre l'Avvio aspettava che finisse una modifica di
progettazione ("La procedura preparata o i metadati sono cambiati mentre l'avvio era in attesa.
Rivedere la prova preparata e riprovare."); la procedura deve superare il varco che mostra la sua
pagina ("Non c'è nulla da eseguire: questa procedura non fa riferimento né a un datalog né a una
ricetta.", "Il modo temporale richiede una durata. Impostarne una.", "Il modo immediato richiede una
ricetta immediata (o nessuna). Un profilo temporale non ha un singolo istante.", "Il profilo della
ricetta (*N* ms) è più lungo della finestra temporale (*M* ms)." e i controlli sull'uscita di
produzione); ogni occorrenza armata deve avere una condizione valida; almeno un canale del datalog
deve risolversi in una sorgente collegata su questa unità ("Nessun canale del datalog si risolve in
una sorgente collegata sull'unità 'X'."); i metadati richiesti devono essere completi e del tipo
giusto ("Il campo di metadati 'X' è obbligatorio.", "Il campo di metadati 'X' deve essere numerico.")
e ogni campo sequenziale deve poter comporre (un codice di unità o di procedura mancante rifiuta
l'Avvio); l'interblocco deve essere Normale; e ogni sorgente che la ricetta scrive deve essere libera
(una sorgente tenuta dalla prova di un'altra unità rifiuta l'Avvio nominando il canale e l'unità che
la tiene). Soltanto allora i contatori sequenziali sono riservati, il file della prova è creato con i
metadati già scritti dentro e i motori sono lanciati; le etichette e i rapporti all'Avvio che la
procedura emette escono mentre la prova si materializza ([Emettere etichette e
rapporti](process-emission)).

## La scheda Metadati {#the-metadata-card}

La scheda è intestata "Sotto che cosa viene registrata la prossima prova di 'Procedura'. Un campo
contrassegnato con * è richiesto da ogni procedura." e disegna una casella per ogni campo di metadati
che la procedura preparata richiede, nell'ordine della procedura; senza nulla di preparato si legge
"Preparare una procedura e qui compaiono i campi che richiede."

| Natura del campo | Che cosa disegna la scheda | Effetto |
| --- | --- | --- |
| Testo | Una casella di immissione. | Scritto nella preparazione valida per tutta la stazione mentre digiti; l'Avvio lo registra nel file della prova. Un campo obbligatorio (contrassegnato con *) rifiuta un Avvio vuoto. |
| Numero | Una casella di immissione. | Lo stesso, e l'Avvio rifiuta un valore che non sia un numero. |
| Sequenziale | Un'anteprima in sola lettura dell'identificatore che il contatore comporrebbe adesso, oppure "Riservato all'avvio" quando non esiste ancora alcuno stato del contatore. | Guardare non riserva nulla: il valore definitivo è riservato all'Avvio, quindi un contatore condiviso da più unità può avanzare prima di allora. |

La preparazione è consumata dall'Avvio, non azzerata: le caselle restano come valori predefiniti per
la prova successiva della stessa procedura. I valori scritti per un'altra procedura restano nell'area
di preparazione ma sono inerti, perché l'Avvio legge soltanto i campi della procedura preparata. Le
caselle sono in grigio senza Eseguire le procedure e mentre il runtime è fermo.

## La scheda Stato della prova {#the-run-state-card}

Tre letture: **Stato** (In marcia, Sospesa, In salvataggio, Completata, Interrotta, Non riuscita,
oppure "In preparazione" mentre l'unità è riservata e "Inattiva" quando nulla la possiede), **Ciclo**
("2 / 10" per una prova ciclica, "Non cicla" altrimenti; lasciata fuori del tutto quando la procedura
preparata è Controllata o Immediata) ed **Esito** (l'esito dal vivo della valutazione, che resta
leggibile dopo la fine della prova finché non ne parte un'altra; "Nessuno" quando non è stato
giudicato nulla).
Finché nessuna prova possiede l'unità, l'esito ancora mostrato è quello dell'ultima prova, e la
lettura si chiama allora **Esito dell'ultima prova**, perché non venga mai scambiato per quello della
prova che sta per partire.

## Che cosa fa ciascuna fine {#what-each-end-does}

| Fine | Registrazione | Ricetta | Esito e stato |
| --- | --- | --- | --- |
| Arresta | Il campionamento si ferma dopo che il blocco di finalizzazione è stato eseguito, così la transizione allo stato sicuro sta nel datalog. | I setpoint di finalizzazione sono scritti. | La valutazione chiude le proprie finestre aperte e compone: Conforme, Non conforme, Indeterminato, oppure Nessuno senza una valutazione. Completata. |
| Interrompi | Lo stesso. | I setpoint di finalizzazione sono scritti. | Non conforme qualunque cosa fosse stata giudicata. Interrotta. |
| La finestra finisce (Temporale) oppure la riga è registrata (Immediata) | Lo stesso. | I setpoint di finalizzazione sono scritti. | Come per Arresta. Completata; nessuno è nominato come chi l'ha terminata. |
| Una scrittura della ricetta fallisce con la politica di fallimento Interrompi | Lo stesso. | La finalizzazione viene comunque eseguita. | Non conforme. Interrotta. |
| L'interblocco scatta | Lo stesso. | La finalizzazione viene comunque eseguita. | Non conforme. Interrotta, motivo della conclusione Interblocco. |
| Il runtime si ferma | Ogni prova non ancora sigillata è interrotta. | La finalizzazione viene comunque eseguita. | Non conforme. Interrotta. |
| Un errore irrecuperabile | Il campionamento si ferma; nessuna finalizzazione. | Non si scrive più nulla. | Nessuno. Non riuscita. |

Chiudere l'applicazione non termina nulla: una prova In marcia o Sospesa riprende al lancio
successivo, un profilo temporale sospeso al proprio segmento e ciclo resi persistenti, e il datalog
prosegue nello stesso file.

## La scheda Canali {#the-channels-card}

I canali leggibili dell'unità su un unico grafico dal vivo, ogni serie etichettata con il nome in
vigore su questa unità (un alias si vede dal vivo) e disegnata nel colore e nella fascia che il
modello dichiara sul canale, con la barra degli strumenti che ogni grafico porta
([Grafici](view-charts)). Mostra i valori dal vivo che una prova stia registrando oppure no. Una riga
sotto il disegno compare soltanto quando un tetto di conservazione ha tagliato lo storico che il
grafico tiene (ciò che può tenere un canale, ciò che può tenere un grafico sommando i suoi canali,
oppure ciò che la stazione tiene sommando tutti i grafici dal vivo), e dice ciò che quel tetto ha
lasciato; un grafico che ha ricevuto tutto lo storico richiesto non porta questa riga. I tetti sono
descritti in [Grafico a linee](component-line-chart#history).

## La scheda Commenti {#the-comments-card}

La scheda è intestata "Commenti · Procedura · Unità" mentre una prova è attiva e "Commenti · nessuna
prova attiva" altrimenti; un'unità inattiva non mostra alcuna cronologia, e una prova terminata
prende le proprie note dagli [Storici](histories-notes). Ogni riga registrata mostra la propria ora,
la propria fase (Prova oppure Dopo la prova) e il proprio testo, con due gesti: **Modifica** la
riscrive sul posto (Invio salva, Esc annulla; un testo vuoto o immutato lascia in pace la
registrazione, e una riscrittura timbra l'istante della modifica), e **Elimina** richiede due
pressioni, la prima che arma la riga ("Eliminare questo commento? L'operazione non è reversibile.") e la
seconda che la rimuove. La casella in fondo ("Aggiungere un commento…") e **Aggiungi** registrano una
riga nuova timbrata con l'istante e con l'operatore connesso su questa schermata (la stazione quando
non c'è nessuno). Tutti e tre i gesti richiedono Eseguire le procedure e una prova attiva. La stessa
aggiunta è disponibile alle dashboard e agli agenti attraverso il punto `Commands.Comment` dell'unità
([Lo spazio degli indirizzi di un'unità](process-addresses)).

## La scheda Occorrenze {#the-occurrences-card}

Gli episodi di occorrenza di questa unità, prima quelli attivi, ciascuno con il proprio stato, i
propri due orologi (tempo attivo e perdita di segnale) e il messaggio congelato con esso; la testata
conta gli episodi attivi. Che cosa sia un episodio, e come si ricavano i suoi orologi, sta in
[Occorrenze](process-occurrences).

## La scheda Produttività {#the-productivity-card}

L'attività di produzione dell'unità su **Oggi** oppure sul periodo mobile (un comando a segmenti
nella testata): produttività, resa e tempo trascorso tipico, il registro delle uscite, gli esiti di
completamento e una tabella per procedura. Che cosa conta e come si calcola sta in
[Produttività](process-productivity).

## La scheda Comandi singoli {#the-single-commands-card}

Un singolo comando isolato sull'unità, fuori da ogni procedura. Una riga compare soltanto dove il
modello dichiara ciò da cui essa lancia.

| Riga | Comandi | Che cosa fa | In grigio quando |
| --- | --- | --- | --- |
| Istantanea | Un selettore di datalog e **Acquisisci** | Registra adesso una riga di datalog come prova Immediata conclusa negli Storici, di nome "Snapshot · datalog". | L'unità è occupata, l'interblocco non è Normale, il runtime è fermo, un comando singolo è ancora in esecuzione, oppure senza Eseguire le procedure. |
| Valuta adesso | Un selettore di datalog, un selettore di valutazione e **Valuta** | Registra una riga e la giudica adesso in base alla valutazione; la prova si chiama "Evaluate · valutazione" e porta l'esito del momento. Disegnata soltanto quando il modello ha sia un datalog sia una valutazione. | Lo stesso. |
| Applica una ricetta | Un selettore sulle ricette immediate del modello e **Applica** | Scrive una volta i setpoint della ricetta attraverso l'unico punto di scrittura, sotto un blocco di breve durata; non si registra alcuna prova, il diario è l'annotazione. Una sorgente tenuta da una prova viva lo rifiuta. | L'interblocco non è Normale, il runtime è fermo, un'applicazione è ancora in esecuzione, oppure senza Eseguire le procedure. Resta disponibile mentre l'unità registra. |

Le istantanee e le valutazioni non richiedono metadati, non riservano alcun contatore e non contano
mai per la produzione. Gli esiti arrivano nel registro delle azioni ("Istantanea registrata. Vedere
gli Storici.", "Valutata. L'esito è registrato negli Storici.", "Ricetta applicata.").

## Le dashboard come schede {#dashboards-as-cards}

Un pannello può incorporare una qualsiasi dashboard del modello come scheda, all'altezza scelta sul
pannello. La scheda esegue la definizione del modello risolta per questa unità, esattamente come fa
il nodo di dashboard proprio dell'unità, e i suoi componenti di comando richiedono soltanto Eseguire
le procedure.

## Il datalog {#the-datalog}

Mentre una prova registra, il [datalog](process-datalogs) nominato dalla sua procedura scrive
un'istantanea di livello applicativo per intervallo: ogni canale registrato, nell'ordine di colonna
dichiarato, ciascun valore accoppiato a un contrassegno Buona oppure Non disponibile. La riga
promette un'osservazione applicativa coerente, non un'acquisizione fisica simultanea: i dispositivi
sorgente si aggiornano con il proprio ritmo. Una sorgente non disponibile o un valore non convertibile
è conservato come vuoto; un `NaN` o una sentinella ingegneristica ricevuti correttamente restano
Buona. Un intervallo più breve non ci arriva dallo schermo: il campo Intervallo tra le istantanee del
datalog rifiuta un valore sotto i 50 ms ("Immettere un numero pari o superiore a 50.") e riporta la casella
all'intervallo in vigore. Un intervallo che raggiunge una prova per un'altra strada è usato così
com'è fino a 50 ms; qualsiasi valore inferiore è trattato come 50 ms.

## Il file della prova {#the-run-file}

Il file della prova è la registrazione completa: identità e nomi stabili di modello, unità e
procedura, la revisione del modello, la disposizione congelata dei canali con l'inchiostro di traccia
risolto di ciascuna colonna, i valori dei metadati, le scritture della ricetta così come sono state
eseguite, i risultati dei criteri, gli eventi delle occorrenze, i commenti, le annotazioni del
grafico, le registrazioni di produzione, gli artefatti di etichetta e le registrazioni dei rapporti.
Il contesto congelato è acquisito all'Avvio e non è mai modificato; il finalizzatore aggiunge soltanto
la conclusione: esito, stato finale, ora di fine, chi ha terminato la prova e, dove è stato un interblocco
a terminarla, il motivo della conclusione. Eliminare il modello, l'unità o la procedura non tocca mai
una prova registrata. Sfogliare, esportare e rigenerare documenti dai file delle prove è
[Storici](histories).

## La via dell'automazione {#the-automation-path}

Un'unità la cui [automazione](process-automation) è abilitata prende lo stesso ciclo di vita dal
campo: un fronte di salita sulla sorgente booleana collegata ad Avvia, Sospendi, Riprendi, Arresta o
Interrompi fa scattare quel comando. Interrompi prevale su Arresta nella stessa interrogazione, e
qualsiasi altra coppia di fronti simultanei è rifiutata come conflitto. Un Avvio automatico risolve la
propria procedura dalla scelta fissa o dal selettore numerico e i propri metadati dalle sorgenti
configurate senza toccare la preparazione dell'operatore, ed è ammesso soltanto quando l'unità è
pronta per l'Avvio. Il risultato è riscritto sul ritorno associato come Command result: 0 in attesa /
riarmato, 1 accettato, 2 unità non pronta, 3 scelta non valida, 4 metadati non validi, 5 comando
incompatibile, 6 comandi in conflitto, 7 guasto interno. Una prova che l'automazione ha ammesso si
elenca negli Storici con il distintivo **Automazione**, registra l'automazione come responsabile e la
nomina come chi l'ha terminata dopo un Arresta o un Interrompi automatico.

## Agenti e dashboard {#agents-and-dashboards}

Il server dell'agente incorporato conduce lo stesso ciclo di vita attraverso i propri strumenti di
esercizio di Process (start, stop, hold, resume, abort, comment, snapshot, evaluate, recipe apply),
registrati a diario come Agente e annotati come Agente nella prova ([Accesso agente](agent)). Una
dashboard vi arriva attraverso i punti di comando dell'unità: un Pulsante su `Commands.Start` si
disabilita da solo mentre la prontezza legge falso e un Ingresso su `Next.<Field>` prepara
un valore ([Lo spazio degli indirizzi di un'unità](process-addresses)); la procedura stessa
si prepara sulla [scheda Prova](#the-run-card).

## Che cosa non fa questa superficie {#what-this-surface-does-not-do}

Non configura nulla: i canali, i collegamenti, i metadati, l'interblocco e l'automazione si
modificano sotto [Definizione](process-definition); ciò che una prova applica, registra e giudica si
compone sotto [Allestimento](process-setup). Non modifica una prova terminata: le note dopo la prova,
le annotazioni, le esportazioni, i rapporti e le etichette di una prova registrata sono
[Storici](histories). E non disegna mai una scheda che la stazione non può riempire.
