# Modelli e cartelle

> La radice Modelli e i suoi riquadri, la pagina propria di un modello con la sua identità e la sua struttura, Copia il modello ed Elimina il modello, e le cartelle in cui si archiviano modelli, rapporti ed etichette.

Un **modello** è il tipo: i canali astratti, il catalogo dei metadati, l'automazione, le regole di produttività e le stampanti da cui un processo è definito, più le biblioteche e le procedure che un prodotto gli chiede. Si realizza su **unità**, le stazioni fisiche, e ogni unità esegue l'intera definizione su sorgenti proprie. Questa pagina copre la radice Modelli, la pagina propria di un modello, la copia e l'eliminazione di un modello, e le cartelle della colonna Spazio di lavoro. La tabella delle unità sulla pagina del modello ha una pagina tutta sua: [Unità](process-units).

I modelli si leggono da ogni livello di Process; crearne, rinominarne, copiarne, archiviarne ed eliminarne uno richiede Gestire Process.

## La radice Modelli {#the-models-root}

Selezionare **Modelli** apre un muro di riquadri sotto la riga "Ogni modello dichiara i canali astratti una volta sola, poi li concretizza sulle unità per eseguire prove registrate e valutate." Un riquadro per modello o per cartella, con il glifo e il nome della riga; premere un riquadro lo apre. Il riquadro di un modello porta un'icona **Rimuovi** nell'inchiostro di pericolo che esegue Elimina il modello (più sotto); il riquadro di una cartella non ne porta alcuna, perché una cartella non è una riga che si possa eliminare da qui. Senza alcun modello il muro dice "Ancora nessun modello. Aggiungerne uno."

| Comando | Che cosa fa | In grigio quando | Non disegnato quando |
| --- | --- | --- | --- |
| **Modello** (barra) | Crea "Nuovo modello 1" (o il numero libero successivo) alla radice Modelli, evidenziato su questo muro e portato in vista; il modello non viene aperto. | La stazione è bloccata ("La configurazione è bloccata mentre un'unità è in esecuzione." oppure "Runtime fermo"). | Al ruolo manca Gestire Process. |
| **Nuovo modello** (menu Nuovo…; tasto destro sulla radice) | Lo stesso, dal piede della colonna o dal menu della radice; la schermata va alla radice Modelli. | Lo stesso. | Lo stesso. |

Un modello nasce vuoto: nessun canale, nessuna unità, nessuna biblioteca, nessuna procedura. I suoi quattro gruppi e le loro righe esistono da subito, così la colonna mostra già dove va ogni cosa; soltanto la sua riga Pannelli si legge già come un pannello predefinito, finché non se ne dichiara uno proprio.

## La pagina di un modello {#a-models-page}

Selezionare un modello apre la pagina che dice che cos'è e dove gira, sotto la riga "Un modello di procedura: canali astratti dichiarati una volta sola, ciò che il prodotto sul banco chiede loro e le unità su cui viene eseguito." L'intestazione porta due pastiglie: `rev <revisione>` e il conteggio delle unità.

### Identità {#identity}

| Campo | Che cos'è | Valori / valore predefinito | Effetto |
| --- | --- | --- | --- |
| **Nome** | Il prefisso di indirizzo pubblico: ogni unità del modello risponde a `Process.<Model>.<Unit>`. | Testo libero; "Nuovo modello 1" alla creazione (o il numero libero successivo). Il segmento di indirizzo conserva lettere e cifre, trasforma tutto il resto in `_`, e fa precedere da `_` una cifra iniziale. | Confermare (Invio, o lasciando il campo) è una rinomina coordinata: ogni riferimento testuale vivo al vecchio indirizzo viene riscritto con esso. Mentre digiti, la riga sotto il campo mostra in anteprima la portata: "Controllo dei riferimenti…", poi "La rinomina aggiorna i 3 punti che leggono questo indirizzo.", "Nessun riferimento usa l'indirizzo attuale." oppure "L'indirizzo effettivo non cambia; nessun riferimento deve essere aggiornato." Un nome il cui segmento è già quello di un altro modello è rifiutato sul campo: "Il nome 'X' corrisponde al segmento di indirizzo 'Y', già usato da 'Z'." |
| **Revisione** | Testo libero portato dentro ogni istantanea di prova per la tracciabilità. | Un testo qualsiasi; vuoto. | Mostrato nella pastiglia `rev` e congelato in ogni prova avviata da lì in poi. Niente lo impone e niente lo incrementa. |
| **Note** | Testo libero per le persone. | Un testo qualsiasi; vuoto. | Niente lo legge. |

Il campo Nome è disattivato senza Gestire Process e mentre la stazione è bloccata; Revisione e Note si salvano da sole quando lasci il campo.

### Unità {#units}

Il riquadro **Unità** sta fra Identità e Struttura ed è disegnato soltanto per Gestire Process: le stazioni su cui il modello è realizzato, ciascuna con il proprio nome, codice, note e copertura dei canali. È descritto in [Unità](process-units).

### Struttura {#structure}

L'ultimo riquadro, "Di che cosa è fatto questo modello, secondo la frequenza con cui ciascuna parte cambia: la struttura del processo, il modo in cui si mostra, ciò che il prodotto sul banco gli chiede e le unità su cui viene eseguito. Fare clic su una voce per aprirla.", è fatto di quattro tessere: **Definizione**, **Visualizzazione** e **Allestimento** per nome, ed **Esercizio** con il conteggio delle sue unità. Ogni tessera seleziona quel gruppo nella colonna.

## Copia il modello {#copy-model}

**Copia il modello** sta sulla barra del modello e nel suo menu del tasto destro (Gestire Process; in grigio mentre la stazione è bloccata). Crea un modello indipendente a partire da quello selezionato, arriva sulla radice Modelli con il riquadro della copia evidenziato e portato in vista, senza aprirla, e riporta "'X' copiato in 'Y'. Aprire la copia per modificarla."

Che cosa viaggia, ogni riga sotto un'identità fresca e ogni riferimento fra le righe rimappato sulle copie:

- la riga di identità: revisione, note, l'interruttore Fermo esterno con il suo segnale e la sua polarità predefiniti, il periodo mobile predefinito e le quantità nominate, le quattro code di stampa predefinite;
- i canali con il loro numero, nome, alias, ambito dell'alias, ruolo, tipo, unità ingegneristica, colore e gruppo;
- il catalogo dei metadati con le sue parti di sequenza;
- i pannelli con i loro riquadri, e le dashboard del modello (ciascuna salvata come dashboard della copia, con i suoi indirizzi riscritti dal vecchio nome di modello a quello nuovo);
- i datalog, le ricette con setpoint e segmenti, le valutazioni con i criteri, le occorrenze, gli insiemi di alias con le loro voci, le azioni con i loro comandi e le associazioni dei segnaposti, e le procedure con le loro scelte;
- le unità con i loro collegamenti, le loro quantità proprie, i loro posti di stampante propri e la loro sorgente di interblocco, e la loro automazione (sorgenti di comando, codici del selettore, associazioni di metadati, ritorni verso il PLC).

Che cosa non viaggia: lo stato dei contatori sequenziali (un campo copiato riparte dal proprio valore iniziale e non condivide mai le riserve dell'originale), la cartella (la copia atterra alla radice Modelli) e il segno di esempio di un modello fornito con il prodotto. Tutto ciò che punta fuori dal modello (tag e variabili collegate, sorgenti di interblocco e di automazione, modelli di rapporto e di etichetta, nomi di code di stampa) conserva il proprio valore, così la copia punta a ciò a cui puntava l'originale; [Convalida](validation) elenca i riferimenti che potresti voler cambiare.

La copia prende il nome della sorgente finché è libero, poi "Nome (2)", "Nome (3)"; devono essere liberi sia il nome visualizzato sia il suo segmento di indirizzo. Un salvataggio rifiutato riporta "Il modello non è stato copiato: …" e non lascia nulla dietro di sé; una dashboard che non riesce a salvarsi costa alla copia quella superficie e riporta "Il sinottico 'S' non è stato copiato: …".

## Elimina il modello {#delete-model}

**Elimina il modello** è il verbo che termina, sulla barra e nel menu del modello, ed è l'icona Rimuovi sul suo riquadro alla radice Modelli o nella sua cartella (Gestire Process; in grigio mentre la stazione è bloccata). Chiede prima conferma: "Eliminare 'X'? Questo toglie il modello e tutto ciò che è definito sotto di esso. Un modello in uso non si può eliminare. L'operazione non è reversibile."

La stazione rifiuta, nel registro delle azioni, con "Non si può eliminare un modello mentre una delle sue unità è occupata da un'operazione di prova." e "Non si può eliminare un modello mentre una delle sue unità ha un interblocco a ritenuta inserito." Un modello eliminato si porta via le proprie unità, biblioteche, procedure, pannelli e dashboard; le sue prove registrate restano intatte in Storici, perché un file di prova è indipendente dalla configurazione che lo ha prodotto. Dopo l'eliminazione la schermata va al genitore del modello, la cartella in cui era archiviato o la radice Modelli, selezionato e aperto nell'albero con il suo muro in vista, e il registro dice "Eliminato."

## Cartelle {#folders}

Modelli, Rapporti ed Etichette accettano ciascuno cartelle dell'operatore, profonde al massimo due livelli. Una cartella è il posto in cui delle righe sono elencate e nient'altro: non entra mai in un indirizzo (un'unità resta `Process.<Model>.<Unit>` qualunque sia la cartella in cui sta il suo modello), e archiviare non riscrive alcun riferimento. I nomi si confrontano senza distinguere maiuscole e minuscole, quindi "Banchi" e "banchi" sono una sola cartella, disegnata sotto la grafia vista per prima. Le cartelle sono disegnate per prime, per nome, sopra le righe che nessuno ha archiviato.

| Comando | Dove | Che cosa fa | Rifiutato |
| --- | --- | --- | --- |
| **Nuova cartella** > **Modelli** / **Rapporti** / **Etichette** | Il menu Nuovo… della colonna | Apre una cartella vuota su quella radice, di nome "Nuova cartella" (poi "Nuova cartella 2", …), con il campo del nome aperto sulla riga. Esc la lascia chiamata "Nuova cartella". | Stazione bloccata; Gestire Process mancante. |
| **Nuova cartella** | La barra di una cartella; **Nuova cartella** nel suo menu del tasto destro | Apre una sottocartella dentro la cartella selezionata. | "Questa cartella è già al livello più profondo consentito." su una cartella di secondo livello. |
| **Modello** / **Rapporto** / **Etichetta** | La barra di una cartella; **Nuovo modello** / **Nuovo rapporto** / **Nuova etichetta** nel suo menu | Crea la riga dentro quella cartella: il muro della cartella la evidenzia e la porta in vista, e la riga non viene aperta. | Stazione bloccata. |
| **Sposta in** | Il menu del tasto destro di un modello, di un rapporto o di un'etichetta | Un sottomenu: **Una nuova cartella** (che nasce contenendo la riga), **Una nuova sottocartella qui** (soltanto dall'interno di una cartella di primo livello), **Radice dei modelli** / **Radice dei rapporti** / **Radice delle etichette** (in grigio mentre la riga sta già lì), poi ogni cartella esistente della categoria tranne quella attuale. | "Quella cartella è annidata più in profondità di quanto le cartelle arrivino qui." |
| **Rinomina cartella** | La barra e il menu di una cartella | Apre il nome sulla riga; ogni riga che sta dentro, sottocartelle comprese, è riarchiviata sotto il nuovo nome, e ciò che avevi aperto resta aperto. | "Una cartella ha bisogno di un nome e un nome non può contenere '/'."; "Qui esiste già una cartella con nome 'X'." (fondere due cartelle è uno spostamento, non una rinomina). Riscrivere lo stesso nome è consentito. |
| **Rimuovi cartella** | La barra (gruppo di pericolo) e il menu di una cartella | Conferma "Rimuovere la cartella 'X'?", oppure "Rimuovere la cartella 'X'? I suoi 3 modelli tornano alla radice dei modelli. Non si elimina nulla.", poi restituisce ogni riga che sta dentro alla radice della categoria e ritira la cartella. | Stazione bloccata. |

La pagina di una cartella elenca come riquadri ciò che vi è archiviato, sotto "I modelli archiviati qui. Una cartella organizza la colonna e nient'altro." (oppure i rapporti, oppure le etichette). Una vuota dice "Questa cartella non contiene ancora nulla. Aggiungere qualcosa, oppure spostarci dentro una riga dalla colonna." Ogni riquadro apre la propria riga; il riquadro di un modello, di un rapporto o di un'etichetta porta l'icona Rimuovi che elimina quella riga (Elimina il modello, "Elimina il rapporto", "Elimina l'etichetta", ciascuno con la propria conferma).

Un ruolo al livello Modificare ricette e valutazioni conserva le cartelle attraverso cui vede i modelli, ma non ne può creare, rinominare, spostare o rimuovere una.

## Le quattro pagine di gruppo {#the-four-group-pages}

Definizione, Visualizzazione e Allestimento aprono lo stesso pannello: il nome del gruppo, la sua descrizione su una riga (citata in [Process](process#a-models-four-groups)) e un riquadro **Contenuto**, "Che cosa contiene questo gruppo. Fare clic su una voce per andarci direttamente.", con una tessera per riga. Una tessera che sta per un elenco ne mostra il conteggio (Canali, Metadati, Dashboard, Pannelli, Occorrenze, Alias, Datalog, Ricette, Valutazioni, Azioni, Procedure); Automazione, Produttività e Stampanti mostrano il proprio nome, perché ciascuna è una sola impostazione anziché un numero di righe. Esercizio apre un pannello diverso, le unità con il loro stato dal vivo, descritto in [Unità](process-units#the-unit-under-operate).

Nessuna delle quattro pagine porta una barra né modifica alcunché.

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

- Di un'unità qui non si configura nulla oltre al nome, al codice e alle note: collegamenti, contatori, interblocco, automazione, produttività e stampanti si configurano sulle cinque schermate di [Definizione](process-definition), ciascuna delle quali mostra insieme ogni unità.
- Un modello non si riordina, e il suo nome non si modifica dall'albero.
- Un modello dentro una cartella non è indirizzato attraverso la cartella, e spostarlo non cambia nulla di ciò che lo legge.
- Niente si annulla: Copia il modello è il modo di conservare una versione, e una prova registrata conserva la configurazione che l'ha prodotta qualunque cosa accada al modello.
