# Process

> Lo spazio di lavoro dove un modello di procedura si definisce una volta, si realizza sulle unità e si esegue come prova registrata e valutata: la colonna Spazio di lavoro, i quattro gruppi di un modello, la barra dei comandi, la scala dei permessi e i due blocchi.

**Process** è la pagina della barra di navigazione dove un collaudo o un passo di fabbricazione si costruisce e poi si esegue. Definisci una volta un **modello** (che cosa misura, che cosa una prova timbra, che cosa muove una stazione da sé, che cosa produce, dove stampa), lo realizzi su **unità** (le stazioni fisiche, ciascuna cablata a sorgenti proprie), componi **procedure** dalle biblioteche del modello e le avvii su un'unità. Ogni prova registra nel proprio file autosufficiente, così una prova registrata sopravvive a qualsiasi cambiamento successivo della configurazione che l'ha prodotta. Lo stesso vocabolario copre un collaudo di qualità e un passo di produzione: qualsiasi cosa a tempo che applichi setpoint, registri canali e giudichi il risultato.

L'intestazione della pagina dice "Process: definire modelli di procedura, concretizzarli sulle unità ed eseguire collaudi registrati e valutati." Si apre per qualsiasi identità che possieda uno dei quattro permessi di Process (Consultare i modelli, Eseguire le procedure, Modificare ricette e valutazioni, Gestire Process) oppure Visualizzare gli storici.

## In quest'area {#in-this-area}

| Pagina o gruppo | Che cosa copre |
| --- | --- |
| [Modelli e cartelle](process-models) | La radice Modelli, la pagina propria di un modello, Copia modello, Elimina modello e le cartelle in cui si archiviano modelli, rapporti ed etichette. |
| [Unità](process-units) | La tabella delle unità sulla pagina del modello, l'aggiunta e la rimozione di un'unità, l'unità scelta attraverso le schermate di Definizione, l'unità sotto Esercizio, Avvia tutte e Arresta tutte. |
| [Definizione](process-definition) | Canali, Metadati, Automazione, Produttività e Stampanti: la struttura del processo, cambiata soltanto quando cambia il processo stesso. |
| [Visualizzazione](process-visualization) | Dashboard e Pannelli: come il modello si mostra, definito una volta e disegnato per ogni unità. |
| [Allestimento](process-setup) | Occorrenze, Alias, Datalog, Ricette, Valutazioni, Azioni e Procedure: ciò che cambia quando cambia il prodotto sul banco. |
| [Esercizio](process-operate) | Un nodo per unità, che contiene i pannelli e le dashboard attraverso cui una prova si prepara, si avvia e si sorveglia. |
| [Modelli di documento](process-templates) | Le due biblioteche di tutta la stazione, Rapporti ed Etichette, condivise da ogni modello. |
| [Storici](histories) | L'esploratore delle prove registrate, una radice di questo stesso albero. |

## La pagina {#the-page}

Process è una pagina a elenco e dettaglio: la colonna **Spazio di lavoro** a sinistra, e a destra il pannello di dettaglio di ciò che la colonna ha selezionato, sotto una barra dei comandi che porta i verbi di quella selezione. I pannelli si salvano da soli: un interruttore si applica quando lo si commuta, un campo quando lo si lascia, e una scrittura rifiutata rimette il campo com'era e dice perché nel registro delle azioni in fondo alla finestra.

La pagina risponde a due indirizzi. `/process` si apre sulla prima radice che il ruolo in uso può vedere. `/histories` è un collegamento diretto sulla radice Storici, così un segnalibro alle prove atterra ancora su di esse. Un indirizzo che porta `?focus=<id>&screen=channels`, `automation`, `action`, `view` o `screen` apre lo spazio di lavoro su quella superficie: la pagina [Convalida](validation) scrive i primi due (la schermata Canali o Automazione del modello, con la riga dell'unità difettosa già scelta), e la pagina [View](home) scrive gli ultimi due. Un id che il ruolo in uso non può vedere, o un nome di schermata che la pagina non disegna, aprono la pagina nel modo ordinario.

Quando un ruolo non possiede alcuna radice, il pannello dice: "Nessun ramo di questo spazio di lavoro è aperto a questo operatore: i modelli e i modelli di documento si configurano al livello Gestire, e le prove registrate hanno bisogno del proprio permesso. Le procedure si avviano dalla schermata Esercizio di un'unità o da una dashboard."

## La colonna Spazio di lavoro {#the-workspace-column}

Un solo albero con tre radici:

| Radice | Che cosa contiene |
| --- | --- |
| **Modelli** | Ogni modello della stazione, elencato per nome, ciascuno con i suoi quattro gruppi. I modelli si possono archiviare in cartelle dell'operatore; una cartella è soltanto navigazione e non entra mai in un indirizzo. |
| **Modelli di documento** | Le due biblioteche di tutta la stazione: **Rapporti** (layout PDF) ed **Etichette** (file di comandi di stampa). Le due accettano cartelle allo stesso modo. |
| **Storici** | L'esploratore delle prove registrate. È una foglia: selezionarlo apre l'elenco delle prove nel pannello di dettaglio. |

Ogni riga nasce chiusa; si apre il ramo che interessa, e ciò che si apre resta aperto attraverso i salvataggi. Un gruppo che elenca righe porta un segno di conteggio, `(3)`, oppure la parola `Vuoto` quando non contiene nulla, così una stazione fresca sa distinguere "qui non c'è niente" da "non ancora caricato". Le cinque righe di Definizione e le tre righe di raggruppamento (Definizione, Visualizzazione, Allestimento) non portano alcun segno: si modificano nel pannello, oppure raggruppano soltanto altre righe. Esercizio conta le proprie unità. Radici, modelli e cartelle sono disegnati in grassetto.

Il piede porta **Nuovo…**, **Espandi tutto** e **Comprimi tutto**. Nuovo… è disegnato soltanto per Gestire Process, ed è in grigio con il motivo come suggerimento mentre la stazione è bloccata. Apre un unico menu: **Nuovo modello**, **Nuovo rapporto**, **Nuova etichetta**, e un sottomenu **Nuova cartella** le cui tre voci (**Modelli**, **Rapporti**, **Etichette**) aprono una cartella vuota su quella radice con il campo del nome già aperto per scrivere. Ogni voce crea alla radice della propria categoria; creare dentro una cartella è un gesto sulla cartella (la sua barra, o il suo menu del tasto destro).

## I quattro gruppi di un modello {#a-models-four-groups}

Selezionare un modello apre la sua pagina propria: la sua identità, la tabella delle unità e le tessere sopra i suoi gruppi (vedi [Modelli e cartelle](process-models)). Sotto di essa stanno quattro gruppi, ordinati per quanto spesso ciascuno cambia:

| Gruppo | Righe | Che cosa dice la pagina del gruppo |
| --- | --- | --- |
| **Definizione** | Canali, Metadati, Automazione, Produttività, Stampanti | "La struttura di questo processo: le stazioni su cui gira, che cosa misura, che cosa timbra una prova, che cosa muove una stazione da sola, che cosa produce e dove stampa. Cambia quando cambia il processo." |
| **Visualizzazione** | Dashboard (n), Pannelli (n) | "Come questo processo si mostra: le dashboard di esercizio definite su di esso e le superfici attraverso cui si conducono le sue unità. Una sola definizione di ciascuna serve ogni unità del modello." |
| **Allestimento** | Occorrenze, Alias, Datalog, Ricette, Valutazioni, Azioni, Procedure | "Che cosa cambia quando cambia il prodotto sul banco: che cosa si sorveglia, i nomi sotto cui si leggono i canali, che cosa si registra, i setpoint che una prova applica, in base a che cosa viene giudicata e le procedure che mettono insieme tutto questo." |
| **Esercizio** | Un nodo per unità, ciascuno con un nodo per pannello e uno per dashboard del modello | "Le stazioni su cui gira questo modello. Aprirne una per preparare una procedura, avviarla e seguire una prova registrata e valutata." |

Le tre pagine di raggruppamento sono muri di tessere che saltano a una riga: una tessera che sta per un elenco ne mostra il conteggio, e Automazione, Produttività e Stampanti mostrano il proprio nome. Esercizio elenca le proprie unità con il loro stato dal vivo. Nessuna delle quattro porta una barra dei comandi propria.

## La scala dei permessi {#the-ladder-of-permissions}

L'accesso a Process sono quattro permessi di utente locale, concessi per ruolo sulla pagina [Utenti](users), ciascuno dei quali comprende quelli sotto di sé (vedi [Permessi](users-permissions)):

| Livello | Che cosa ammette | Che cosa mostra l'albero |
| --- | --- | --- |
| **Consultare i modelli** | Leggere ogni modello, unità, definizione, superficie di preparazione e modello di documento senza eseguire né cambiare nulla. | Modelli e Modelli di documento interi; ogni pannello tenuto in sola lettura e nessun verbo disegnato. |
| **Eseguire le procedure** | Preparare e avviare procedure sulle superfici di un'unità; Sospendi, Riprendi, Arresta e Interrompi; i commenti; i comandi singoli; Avvia tutte e Arresta tutte; Riarma. | Lo stesso di Consultare. |
| **Modificare ricette e valutazioni** | Tutto ciò che sta sotto Allestimento: creare, modificare e rimuovere occorrenze, insiemi di alias, datalog, ricette, valutazioni, azioni e procedure. | Ogni modello ridotto al suo ramo Allestimento, nelle cartelle in cui è stato archiviato; Modelli di documento assente. |
| **Gestire Process** | Tutto: modelli, unità, le cinque schermate di Definizione, Visualizzazione, cartelle, le biblioteche Rapporti ed Etichette, e ogni rinomina. | Tutto. |

Altri due bit raggiungono questa pagina. **Visualizzare gli storici** ammette la radice Storici (e, per un'identità che non possiede altro, la pagina stessa). **Modificare le dashboard** è ciò che il verbo Modifica dashboard su una dashboard di un modello richiede.

La pagina distingue due rifiuti come fa ogni barra dei comandi dell'applicazione. Ciò che il ruolo non permetterà mai non è disegnato affatto. Ciò che è rifiutato adesso resta disegnato e in grigio, con il motivo come suggerimento. Una voce di menu che un ruolo non può usare dice "La gestione di questo spazio di lavoro richiede il permesso “Gestire Process”."; una rinomina tentata senza il bit risponde "Rinominare le identità di indirizzo di Process richiede il permesso Gestire Process."

## La barra dei comandi {#the-command-bar}

La barra sta dove la selezione ha un verbo: ciò che la fa crescere, la copia, la modifica o la avvia a sinistra, ciò che la termina a destra nell'inchiostro di pericolo. È tolta dove la selezione non ha né l'uno né l'altro.

| Nodo selezionato | Verbi iniziali | Verbo che termina | Richiede |
| --- | --- | --- | --- |
| Radice Modelli | **Modello** | | Gestire Process |
| Una cartella (sotto Modelli, Rapporti o Etichette) | **Modello** / **Rapporto** / **Etichetta** (creati dentro la cartella), **Nuova cartella** (una sottocartella), **Rinomina cartella** | **Rimuovi cartella** | Gestire Process |
| Un modello | **Copia il modello** | **Elimina il modello** | Gestire Process |
| Rapporti | **Rapporto** | | Gestire Process |
| Un rapporto | **Stampa un esempio** (vedi [Modelli di documento](process-templates)) | **Elimina il rapporto** | Gestire Process |
| Etichette | **Etichetta** | | Gestire Process |
| Un'etichetta | | **Elimina l'etichetta** | Gestire Process |
| Dashboard | **Dashboard** | | Gestire Process |
| Una dashboard | **Modifica la dashboard**, **Mostra in View** (un interruttore) | **Rimuovi la dashboard** | Gestire Process; Modificare le dashboard per l'editor |
| Pannelli | **Nuovo pannello** | | Gestire Process |
| Un pannello | **Mostra in View** (un interruttore) | **Rimuovi il pannello** | Gestire Process |
| Occorrenze, Alias, Datalog, Ricette, Valutazioni, Azioni, Procedure | **Occorrenza**, **Insieme di alias**, **Datalog**, **Ricetta**, **Valutazione**, **Azione**, **Procedura** | | Modificare ricette e valutazioni |
| Una occorrenza, un insieme di alias, un datalog, una ricetta, una valutazione o una procedura | | **Rimuovi l'occorrenza** … **Rimuovi la procedura** | Modificare ricette e valutazioni |
| Un'azione | **Nuovo comando** | **Rimuovi l'azione** | Modificare ricette e valutazioni |
| Esercizio | **Avvia tutte**, **Arresta tutte** | | Eseguire le procedure |
| Una dashboard in modifica | **Fine modifica** (sulla striscia propria dell'editor) | | |

Ogni verbo di creazione fa la propria riga sotto un nome segnaposto ("Nuovo modello 1", "Rapporto 2", "Procedura 3", "Canale 4"). Nessuno di loro apre ciò che ha creato: la schermata va alla pagina che elenca la riga nuova (dalla barra di quella stessa pagina resta dov'è), l'albero seleziona quella pagina e la espande, e la riga nuova vi è evidenziata e portata in vista. Dove la pagina è un muro di riquadri (la radice Modelli, Rapporti, Etichette, le loro cartelle e ogni gruppo di un modello che elenca riquadri), il riquadro nuovo è quello evidenziato; dove è una tabella con il pannello della riga scelta accanto (le unità di un modello, le azioni, i comandi di un'azione, i canali, i campi dei metadati), la tabella sceglie la riga nuova, e quella è la sua evidenziazione. Il riquadro, o la riga nell'albero, apre l'elemento, e dargli un nome è la prima cosa che fai lì. Ogni verbo che termina chiede prima conferma, nell'unico dialogo che ogni eliminazione di configurazione usa ("Eliminare 'X'? … L'operazione non è reversibile."); Annulla, Esc o un clic fuori rifiutano. Rimuovi cartella è l'eccezione che non elimina nulla: la sua conferma conta le righe che tornano alla radice.

Nessuna barra sta sulle tre pagine di raggruppamento, sulle cinque righe di Definizione (i loro verbi stanno nelle testate delle aree della schermata stessa), sulle radici Modelli di documento e Storici, su un'unità sotto Esercizio, né sulla tabella delle unità della pagina del modello (i suoi verbi stanno nella testata di quel riquadro).

Ogni verbo di questa barra è in grigio, con il motivo come suggerimento, mentre la stazione è bloccata (più sotto). Un verbo che il ruolo non possiede non è disegnato.

## Tasto destro {#right-click}

Fare clic con il tasto destro su una riga la seleziona e apre gli stessi verbi come menu. Aggiunge i gesti che appartengono a una riga anziché alla barra: **Aggiungi un'unità** su un modello (la schermata va alla pagina del modello, dove l'unità viene scelta nella sua tabella), **Sposta in** su un modello, un rapporto o un'etichetta (una nuova cartella, una nuova sottocartella quando la riga sta già in una cartella di primo livello, la radice della categoria, o una qualsiasi cartella esistente), **Aggiungi un canale** su Canali e **Aggiungi un campo** su Metadati (la schermata va alla pagina di quella riga, dove viene scelta la riga nuova) e **Aggiungi comando** su un'azione (la schermata va alla pagina dell'azione, dove viene scelto il comando). Il menu non si apre mentre la stazione è bloccata, né su una riga che il ruolo non può cambiare.

## Il blocco di progettazione {#the-engineering-lock}

Mentre una qualsiasi unità di un qualsiasi modello è occupata da un'operazione di prova (preparazione, registrazione, sospensione, salvataggio, finalizzazione), la configurazione di tutta la stazione è in sola lettura. Un avviso in cima alla pagina dice "Progettazione bloccata: è attiva un'operazione su un'unità. La configurazione resta in sola lettura finché ogni unità non ha finito; i comandi di prova e le altre azioni dell'operatore restano disponibili." Ogni pannello di Process è tenuto inerte, ogni verbo della barra passa in grigio con "La configurazione è bloccata mentre un'unità è in esecuzione.", e un editor di dashboard aperto si chiude. Connector, Logic e le dashboard sono bloccati dallo stesso confine. Le superfici delle unità sotto Esercizio, i loro comandi di prova, la pagina View e Storici restano disponibili per tutto il tempo.

## Il runtime fermo {#the-stopped-runtime}

Mentre il runtime della stazione è fermo, ogni modifica di Process (configurazione, preparazione, comandi del ciclo di vita, commenti, eliminazione di prove) è rifiutata come "Runtime fermo"; Avvia tutte e Arresta tutte passano in grigio con esso. La lettura, Storici, le esportazioni e i rapporti restano disponibili.

## Agenti {#agents}

L'endpoint di [accesso agente](agent) sulla loopback raggiunge gli stessi modelli e le stesse prove: gli strumenti di lettura `process_models`, `process_runs`, `process_run` e `unit_status` fanno parte del gruppo di lettura, e gli strumenti di esercizio (`process_start`, `process_stop`, `process_hold`, `process_resume`, `process_abort`, `process_snapshot`, `process_evaluate`, `process_recipe_apply`, `process_comment`, `process_report`, `process_run_delete`) stanno dietro alla loro adesione esplicita sulla pagina Agente. Le loro scritture vanno a diario come Agent. Mentre il runtime è fermo rispondono soltanto gli strumenti di lettura e `process_report`.

## Che cosa questa pagina non fa {#what-this-page-does-not-do}

- Non avvia alcuna prova dall'albero: una procedura si prepara e si avvia sul pannello di un'unità sotto Esercizio, su una dashboard, attraverso un punto di comando collegato, oppure da un PLC attraverso Automazione.
- Non riordina modelli, cartelle o le righe di un gruppo: modelli, procedure e biblioteche sono elencati per nome, le azioni nel loro ordine proprio, le unità nell'ordine in cui sono state aggiunte.
- Non rinomina dall'albero: un modello, un'unità, un canale o un campo di metadati si rinominano nel proprio pannello, attraverso la rinomina sicura che riscrive i riferimenti.
- Niente si annulla: ogni eliminazione chiede prima conferma, e una prova registrata non è mai toccata da un'eliminazione in questo spazio di lavoro.
