# Valutazioni

> I criteri di conformità con cui si giudica una prova, ogni campo di un criterio, che cosa fa alla prova ciascun risultato e come i risultati si compongono in un esito.

Una **valutazione** è un insieme riutilizzabile di criteri di conformità. Ogni criterio sorveglia un
canale leggibile dentro una finestra della prova e ne giudica i campioni registrati rispetto a una
banda fissa oppure a una tolleranza attorno a un altro canale; ciascuno chiude con un risultato
proprio, e l'esito della prova è la loro composizione. Il motore giudica dal vivo sulle righe che il
datalog registra, quindi il canale di un criterio e il suo canale di riferimento devono essere
colonne del datalog della procedura: il file della prova dimostra che cosa è stato giudicato. Le
valutazioni stanno sotto Process > Modelli > modello > Allestimento > **Valutazioni** e richiedono il
permesso **Modificare ricette e valutazioni**.

## La cartella Valutazioni {#the-evaluations-folder}

Selezionare la riga **Valutazioni** apre la pagina della cartella ("Criteri di conformità con cui si
giudica una prova. La valutazione legge i canali del processo.") con un riquadro per valutazione, per
nome; premere un riquadro la apre e la X la rimuove. Senza nessuna, la pagina dice "Ancora nessuna
valutazione. Aggiungerne una."

| Comando | Che cosa fa | In grigio quando (situazione) | Non disegnato quando (ruolo) |
| --- | --- | --- | --- |
| **Nuova valutazione** (barra di dettaglio, cartella selezionata; tasto destro **Aggiungi una valutazione**) | Aggiunge `Valutazione <n>` senza criteri. La riga si aggiunge al suo gruppo, evidenziata e portata in vista lì; il suo riquadro la apre. | Una qualsiasi unità tiene una prova, oppure il runtime è fermo. | Senza Modificare ricette e valutazioni. |

## La pagina della valutazione {#the-evaluations-page}

L'intestazione porta il nome, la riga "Criteri di conformità con cui si giudica una prova." e una
pastiglia che conta i criteri. Ogni campo si salva da solo, e ogni modifica ridisegna l'anteprima del
criterio scelto.

### Definizione {#definition}

| Campo | Che cos'è | Valori / predefinito |
| --- | --- | --- |
| **Nome** | Come si chiama la valutazione nell'albero, nel selettore Valutazione di una procedura e nel selettore Valuta adesso di un pannello, e la sua cartella sotto `LastRun.Evaluations` di ogni unità ([I nomi sono indirizzi](#names-are-addresses)). Si applica quando lasci il campo, attraverso la ridenominazione che dice prima quanti riferimenti si spostano con lui; un nome vuoto è rifiutato. | Testo libero; `Valutazione <n>` alla creazione. |
| **Note** | Testo libero per chi la legge. | Vuoto per impostazione predefinita. |

Sotto i due campi, il riquadro dice quando un nome di questa valutazione o di uno dei suoi criteri si
legge uguale a quello di un altro, cosa che una versione pubblicata può aver salvato (vedi
[I nomi sono indirizzi](#names-are-addresses)).

### Come si giudica la prova {#how-the-run-is-judged}

Questo riquadro dichiara la composizione che il motore applica, nel suo ordine:

- **Non conforme** se anche un solo criterio fallisce.
- **Indeterminato** se nessuno è fallito e uno non ha potuto essere giudicato.
- **Conforme** solo quando tutti sono stati superati.

"La gravità non cambia nulla di tutto questo. Si legge rispetto alla soglia di interruzione della
procedura e decide soltanto se un fallimento termina anche lì la prova." Il riquadro avverte
anche prima che una prova parta: "Un criterio non può essere giudicato così com'è configurato, quindi
una prova finirebbe Indeterminata." (oppure "`<n>` criteri non possono essere giudicati …"), e dice
"Nessuna procedura di questo modello gira ancora su questa valutazione." finché nulla vi fa
riferimento.

## L'elenco dei criteri {#the-criteria-list}

L'elenco è intitolato **Criteri** e il suo pulsante **Criterio** aggiunge una riga sul primo canale
leggibile del modello (ancoraggio Intera prova, modo Intera finestra, una banda fissa con i due lati
aperti, gravità Grave, senza nome) e la sceglie. Premere una riga la apre nella colonna **Criterio**;
senza niente di scelto la colonna dice "Selezionare un criterio per modificarlo tutto in un unico
posto, con accanto ciò che decide ogni campo." L'elenco porta il criterio intero e scorre lateralmente
oltre la larghezza del pannello.

| Colonna | Che cosa contiene |
| --- | --- |
| **Nome** | Il nome del criterio, modificabile sul posto. Si applica quando lasci la casella, attraverso la stessa ridenominazione del campo **Nome** della colonna; un rifiuto è detto nella barra di stato. |
| **Canale** | Il canale leggibile giudicato. |
| **Ancoraggio** | Intera prova, Finestra temporale o Segmento, ciascuno con la forma del tratto che giudica accanto al proprio nome e la propria conseguenza come suggerimento. |
| **Finestra** | Le due impostazioni che l'ancoraggio richiede: **Seg** e **Stab** per un ancoraggio a Segmento, **Da** e **A** per un ancoraggio a Finestra temporale, "Intera prova" per la prova intera. |
| **Modo** | Intera finestra oppure Un solo punto, con la propria forma. |
| **Limite** | Banda fissa oppure Intorno al setpoint, con la propria forma. |
| **Banda** | **Min.** e **Max.** per una banda fissa ("vuoto lascia il lato aperto"); il canale di riferimento e la tolleranza **±** per un limite relativo. |
| **Gravità** | Lieve, Grave o Critica. |
| **Risultato** | Che cosa il criterio porta alla prova ("Un esito non conforme fa fallire la prova", "Un esito non conforme fa fallire e ferma la prova", "Non giudicabile"), con la frase intera come suggerimento. |
| Comando di riga | **Rimuovi** chiede "Elimina il criterio": il nome (oppure il nome del canale), "Questo rimuove il criterio dalla valutazione." |

## Il criterio per intero {#the-criterion-in-full}

La colonna si apre con un'anteprima: la banda del criterio scelto e il tratto che giudica, su assi
dichiarati senza alcun campione vicino (dietro una schermata di configurazione non c'è alcuna prova).
Una banda fissa è disegnata nei valori ingegneristici del canale con spazio per un fallimento da
ciascun lato; una banda relativa è disegnata come scostamento dal canale di riferimento, che sta come
la linea sullo zero. Quando non si può disegnare nulla (nessun limite impostato, nessun riferimento
scelto) la cornice dice perché invece di restare vuota. Sotto di essa, ogni campo sta sopra una
didascalia fissa e, dove la risposta si muove con ciò che scrivi, sopra l'effetto di quanto è in
vigore. Le righe di effetto scrivono i loro numeri nel formato numerico della stazione
([Lingua e formati](settings-localization)), con le cifre che ciascuno ha: un limite della banda o una
tolleranza fino ai sei decimali che mostra il suo campo, e un tempo in millisecondi sotto il secondo e
in secondi da lì in poi.

| Campo | Che cos'è | Valori / predefinito | Riga di effetto |
| --- | --- | --- | --- |
| **Nome** | "Nomina questo controllo ovunque ne compaia il risultato." Vuoto ricade sul canale nel rapporto e nell'indirizzo del criterio sotto `LastRun`; la colonna si intitola da sé `Criterio <n>` finché la riga non è nominata. | Testo libero; vuoto alla creazione. | Che cosa porta con sé l'applicazione del nome, come lo dice ogni campo di ridenominazione: quanti riferimenti si spostano, o che non se ne sposta nessuno. |
| **Canale** | "La lettura giudicata. Deve essere una colonna di datalog della procedura." | I canali leggibili del modello; il primo alla creazione. | |
| **Ancoraggio** (FINESTRA) | "Su quale tratto della prova viene giudicato questo criterio." | **Intera prova** (predefinito), **Finestra temporale**, **Segmento**. | Intera prova: "Giudicato sull'intera prova. Non richiede alcuna ricetta." Finestra temporale: "Giudicato tra due istanti misurati dall'avvio della prova." Segmento: "Giudicato mentre la ricetta è in quel segmento, dopo il ritardo. Una sospensione lo prolunga." |
| **Segmento (numerato da 0)** e **Stabilizzazione (ms)** (ancoraggio a Segmento) | "Quale segmento della ricetta viene giudicato, e quanto attende la finestra dentro di esso prima di aprirsi." | Numeri interi; 0 e 0 per impostazione predefinita. Nessuno dei due campi accetta un numero negativo: l'inserimento viene rifiutato, la nota sotto il campo lo dice, e il valore precedente torna. | "Si apre con il segmento 1." oppure "Si apre 2 s dentro il segmento 1." |
| **Da (ms)** e **A (ms, 0 = fine della prova)** (ancoraggio a Finestra temporale) | "I due istanti, contati dall'avvio della prova, tra cui sta la finestra." | Millisecondi; 0 e 0 per impostazione predefinita. A = 0 significa fino alla fine della prova; altrimenti A deve stare dopo Da. | "Da 5 s alla fine della prova.", "Da 5 s a 30 s." oppure "A è pari o precedente a Da, quindi la finestra è vuota." |
| **Modo** | "Su quanta parte di quel tratto si regge l'esito." | **Intera finestra** (predefinito), **Un solo punto**. | Intera finestra: "Ogni campione nella finestra deve essere conforme." Un solo punto: "Decide solo l'ultimo campione della finestra." |
| **Limite** (LIMITI) | "Quale forma prende il limite, che è anche ciò che chiedono i campi sottostanti." | **Banda fissa** (predefinita), **Intorno al setpoint**. | Banda fissa: "Una banda ingegneristica fissa. Ciascun lato può restare aperto." Intorno al setpoint: "Una banda attorno a un altro canale, campionato sulla stessa riga." |
| **Min.** e **Max.** (banda fissa) | "I valori ingegneristici tra cui la lettura deve restare. Un lato lasciato vuoto resta aperto." | Numeri oppure vuoto; tutti e due vuoti alla creazione. | "Nessun limite impostato, quindi ogni lettura è conforme.", "Conforme a 20 o al di sopra.", "Conforme a 80 o al di sotto.", "Conforme tra 20 e 80." oppure "Il minimo sta sopra il massimo, quindi non si può giudicare e una prova finirebbe Indeterminata.", che è anche ciò che dice il blocco RISULTATO sotto la riga |
| **Riferimento** e **± Tolleranza** (relativo) | "Il canale rispetto a cui si misura la lettura, e quanto può discostarsene." | Un canale leggibile del modello e un numero; nessuno e 0 alla creazione. | "Conforme entro ±0,5 da Setpoint." oppure "Scegliere il canale attorno a cui si misura la tolleranza." |
| **Gravità** | "Letta rispetto alla soglia di interruzione della procedura. Imposta anche il risalto sul rapporto." | **Lieve**, **Grave** (predefinita), **Critica**. | |
| **RISULTATO** | Che cosa produce il criterio, e che cosa questo fa alla prova. | In sola lettura. | Vedi qui sotto. |

### Che cosa dice il risultato {#what-the-result-says}

| Riga | Dettaglio | Quando |
| --- | --- | --- |
| "Un esito non conforme fa fallire la prova" | "Un fallimento rende la prova non conforme." oppure, quando qualche procedura esegue la valutazione, "Un fallimento rende la prova non conforme. La prova termina comunque, perché nessuna procedura interrompe a questa gravità." | Nessuna procedura che esegue questa valutazione interrompe alla gravità di questo criterio. |
| "Un esito non conforme fa fallire e ferma la prova" | "Un fallimento rende la prova non conforme e la termina lì, perché `<procedura>` interrompe a questa gravità." | Una procedura che esegue questa valutazione ha Interrompi se non conforme pari o inferiore a questa gravità. |
| "Non giudicabile" | "Così configurato non è giudicabile, quindi lascerebbe la prova con esito Indeterminato." seguito dal motivo. | Vale uno dei motivi qui sotto. |

I motivi per cui un criterio non può essere giudicato, verificati in fase di configurazione
nell'ordine proprio del motore: "Non sorveglia alcun canale di questo modello."; "Il canale che
sorveglia non è registrato dal datalog della procedura che lo esegue."; "Non segue alcun canale di
riferimento di questo modello."; "A è pari o precedente a Da, quindi la finestra è vuota."; "I suoi
limiti sono incompleti o invertiti."; "Il canale di riferimento non è registrato dal datalog della
procedura che lo esegue." I motivi che riguardano il datalog sono chiesti soltanto alle procedure che
eseguono la valutazione; una valutazione che nessuna procedura ha ancora raccolto è incompleta, non
sbagliata.

## Come i criteri si compongono in un esito {#how-criteria-fold-into-a-verdict}

Ogni riga registrata dentro una finestra attiva è classificata una volta sola: **valutata**, **non
disponibile** (un valore mancante o una cattiva qualità) oppure **non valida** (un valore buono che
non è un numero finito; un `NaN` buono resta un dato grezzo verificabile ma non può certificare un
criterio numerico). Un limite fisso ha bisogno del valore sorvegliato; un limite relativo ha bisogno
del valore sorvegliato e di quello di riferimento presi dalla stessa riga. I contatori Campioni
valutati, Campioni fuori, Campioni non disponibili e Campioni non validi e l'insieme congelato dei
canali interessati sono registrati per criterio, e si leggono anche dal vivo sotto i punti
`Procedure.*` dell'unità (vedi [Lo spazio degli indirizzi di un'unità](process-addresses)).

Ogni risultato registra anche che cosa è stato misurato: l'ultimo valore valutato del canale
sorvegliato nella finestra (in modo Un solo punto, il campione giudicato), il valore valutato più
basso e il più alto, e l'escursione peggiore, la distanza maggiore oltre un limite tra i campioni
contati (0 quando ci sono stati campioni valutati e nessuno era fuori). Le righe non disponibili e
non valide non contano mai, così una finestra senza nulla di valutato non registra nessuno di questi
valori. Un file di prova scritto da una versione precedente non ha valori misurati e li legge vuoti.

Ogni risultato conserva anche il tratto della prova che ha giudicato: il modo, l'ancoraggio,
l'inizio e la fine di una finestra temporale, il segmento e la sua stabilizzazione. Una prova aperta
più tardi dice così ancora che cosa è stato giudicato, e l'evidenza nel registro della prova e nel
rapporto PDF comincia con esso (vedi [Criteri giudicati](histories-record#judged-criteria)). Un file
di prova scritto da una versione precedente non lo ha conservato, e la sua evidenza mostra soltanto
i contatori.

I risultati sono severi sulle prove. In modo **Intera finestra** qualsiasi violazione valutata
dimostra **Non conforme**; altrimenti una riga non disponibile o non valida, un'osservazione
interrotta o una finestra vuota rendono il criterio **Indeterminato**; soltanto una prova completa e
dentro la banda lo rende **Conforme**. Il modo **Un solo punto** decide sull'ultimo campione attivo
della finestra e basta, e i contatori, l'escursione peggiore e i canali interessati del suo
risultato sono soltanto quelli di quel campione; il valore più basso e il più alto coprono comunque
tutta la finestra sorvegliata. Una procedura Temporale riancora ogni criterio a ciascun ciclo e
conta i cicli falliti. L'esito della prova si compone in ordine: una prova interrotta o un qualsiasi
criterio non conforme la rendono **Non conforme**; altrimenti un qualsiasi risultato Indeterminato
la rende **Indeterminato**; risultati tutti conformi la rendono **Conforme**; una prova senza
valutazione finisce senza esito. Soltanto un esito non conforme confermato fa scattare la soglia di
interruzione della procedura o il conteggio dei cicli falliti.

## I nomi sono indirizzi {#names-are-addresses}

Ogni unità pubblica il risultato della sua ultima prova sotto
`Process.<Model>.<Unit>.LastRun.Evaluations.<Evaluation>.<Criterion>`
([LastRun](process-addresses#lastrun)), così il nome della valutazione e il nome di ciascun criterio
(o, per un criterio senza nome, quello del suo canale) sono segmenti di indirizzo, i nomi depurati:
"Soak check" diventa `Soak_check`. Rinominarne uno sposta quegli indirizzi e riscrive le espressioni,
gli script e le schermate che li hanno scritti, come ogni ridenominazione del modello; rinominare il
canale di un criterio senza nome sposta anche lui.

Due nomi che si leggono uguali rispondono a un solo indirizzo, che non sa dire quale risultato
contiene, quindi:

| Situazione | Che cosa succede |
| --- | --- |
| Un nome darebbe a due valutazioni del modello, o a due criteri di questa valutazione, lo stesso segmento (maiuscole e minuscole non contano) | Rifiutato, nominando il segmento e chi vi risponde già. |
| Due criteri di questa valutazione non hanno nome e sorvegliano lo stesso canale | Permesso, dato che un criterio nuovo comincia così; nessuno dei due risultati si può leggere sotto `LastRun` finché uno dei due non ha un nome. |
| Un modello salvato da una versione precedente ha già due nomi così | Restano come sono, e sono salvati come sono. L'indirizzo condiviso non legge nulla, e il riquadro Definizione lo dice: "Il suo segmento di indirizzo Soak_check è anche quello di Soak Check, quindi Logic non legge i risultati dell'ultima prova di nessuna delle due. Rinominarne una." oppure "I criteri Oven air, Oven Air condividono il segmento di indirizzo Oven_air, quindi Logic non legge il risultato dell'ultima prova di nessuno di essi. Dare a ciascuno un nome proprio." |
| Un modello con nomi così viene copiato | La copia li mantiene come li aveva la sua sorgente. |

## Dove si usa una valutazione {#where-an-evaluation-is-used}

| Superficie | Che cosa fa con la valutazione |
| --- | --- |
| Il passo **Giudica** di una procedura | Giudica ogni prova della procedura; il selettore **Interrompi se non conforme ≥** arriva insieme a esso. La riga del passo dice "Giudica 4 criteri, e un esito non conforme di gravità Grave interrompe la prova." oppure "…, e un esito non conforme non interrompe mai la prova." Una procedura con una valutazione e senza datalog non è valida. Vedi [Procedure](process-procedures). |
| Il riquadro **Comandi singoli** di un pannello | **Valuta adesso** registra una riga attraverso un datalog e la giudica in base alla valutazione; l'esito è registrato negli Storici. I canali della valutazione devono essere colonne del datalog scelto. |
| I comandi di etichetta | Un segnaposto può leggere il nome, il canale, i limiti, la gravità, il risultato, l'errore, gli istanti della finestra, i contatori dei campioni, i canali interessati o l'escursione peggiore di un criterio, per un ciclo esplicito. Vedi [Azioni](process-actions#markers). |
| I rapporti | La sezione dei criteri stampa il risultato di ciascun criterio con il risalto che la sua gravità stabilisce. |
| Logic | `LastRun.Evaluations` di ogni unità legge il risultato di ciascun criterio nell'ultima prova dell'unità (esito, valore misurato, estremi, limiti, scostamento peggiore, cicli falliti), per un'azione Logic avviata al Completamento, una schermata o un allarme. Vedi [LastRun](process-addresses#lastrun). |

## Rimuovi la valutazione {#remove-evaluation}

**Rimuovi la valutazione** sta nel gruppo di pericolo della barra di dettaglio con la valutazione
selezionata, nel suo menu del tasto destro e come X sul riquadro della pagina della cartella. Chiede
prima ("Elimina la valutazione", "Questo rimuove la valutazione e i suoi criteri."). Ogni procedura
che giudicava con essa svuota il proprio riferimento Valutazione e termina le proprie prove senza
esito. Richiede Modificare ricette e valutazioni ed è in grigio sotto il blocco di progettazione e con
il runtime fermo.

## Che cosa non fa una valutazione {#what-an-evaluation-does-not-do}

- Non giudica nulla che un datalog non registri, e nulla fuori da una prova o da un'istantanea.
- Non ha criteri a espressione: un criterio è una banda o una tolleranza su un canale solo.
- Non differisce in nulla da unità a unità: un solo insieme di limiti serve ogni unità del modello.
- Non termina alcuna prova da sola. Se un esito non conforme interrompe la prova lo decide la soglia
  Interrompi se non conforme della procedura, letta rispetto alla gravità del criterio.
