Convalida

La pagina dello stato di salute della configurazione: che cosa la stazione esamina in procedure, logica e dashboard, ogni rilievo che sa segnalare e come è formulato, che cosa apre una riga, il distintivo della barra e perché qui non si ripara nulla.

Visualizza come Markdown

La pagina Convalida elenca ciò su cui la stazione non può reggersi: un collegamento di canale, un interblocco, un campo di automazione, un'espressione, uno script o una condizione di Logic, oppure un componente di dashboard che punta a un tag, a una variabile, a una procedura o a un indirizzo che la stazione non ha più, un'azione di Process la cui documentazione una prova non potrebbe emettere come configurata, e una procedura che l'avvio di una prova rifiuterebbe. È la voce Convalida in fondo alla barra di navigazione, si apre per un'identità che possiede il permesso Visualizzare Convalida e risponde a /validation. È una pagina a scorrimento, disegnata a tutta larghezza perché ogni rilievo è una frase. È la sorella dello stato di salute del runtime nella barra di stato: quello dice se la stazione sta leggendo, questa dice se la configurazione si risolve ancora.

La pagina segnala; non ripara mai. Una riga apre l'editor che possiede il difetto, sull'entità che lo contiene, e la riparazione è la tua modifica lì.

Il riquadro di stato

Il riquadro in cima è l'intera risposta della pagina sulla configurazione, e l'unico posto in cui una stazione pulita viene annunciata:

Stato Punto Titolo Dettaglio
Pulita Verde Niente da riparare Ogni riferimento in procedure, logica e dashboard si risolve, ogni procedura partirebbe, e ogni azione ha ciò che le serve per uscire.
Rilievi Ambra N elementi da riparare ("1 elemento" per uno solo) Qui non si ripara nulla. Una riga apre l'editor che possiede il difetto, sull'entità che lo contiene.

Il riquadro porta l'unico comando della pagina, Riesamina (suggerimento: "Controlla di nuovo adesso l'intera configurazione. L'elenco si aggiorna anche da sé ogni volta che qualcosa cambia."). È in grigio mentre un esame è in corso. Poiché un esame che trova la stessa cosa lascia l'elenco esattamente com'era, l'esito è riportato nel registro delle azioni della barra di stato: "Riesame completato: niente da riparare.", "Riesame completato: N elementi da riparare.", oppure "Riesame non riuscito: motivo".

Raramente serve Riesamina. Il validatore è sempre acceso, sulla stazione, e riesamina da sé 750 millisecondi dopo una raffica di modifiche su una qualsiasi delle superfici che legge: dispositivi, linee e tag di Connector; modelli di Process; gli asset; variabili, azioni e allarmi di Logic; le dashboard; i modelli di etichetta; i layout dei rapporti. La pagina e il distintivo della barra seguono il risultato. Un esame che Connector attraversa mentre sta spostando dispositivi dentro o fuori (un aggiornamento di driver, un dispositivo in aggiunta) è ripreso una volta che Connector si è assestato, così un riferimento non viene mai chiamato rotto solo perché il suo dispositivo è in volo.

I gruppi

I rilievi sono raggruppati per la superficie che li possiede, in un ordine fisso. Un gruppo che non contiene nulla non viene disegnato, così una stazione con un solo difetto di dashboard mostra un solo gruppo.

Gruppo Generi di rilievo La riga sotto il titolo
Process Collegamenti (collegamenti di canale, interblocchi, automazione), procedure e occorrenze che armano, e documentazione delle azioni N elementi. Collegamenti di canale, interblocchi e automazione di unità che nominano un tag, una variabile o una procedura che la stazione non ha più, procedure che un avvio rifiuterebbe, e azioni la cui documentazione una prova non potrebbe emettere come configurata.
Logic Variabili a espressione, azioni, allarmi N elementi. Espressioni, script di azione e condizioni di allarme che leggono un indirizzo che non si risolve più.
Dashboard Componenti N elementi. Componenti le cui proprietà puntano a un indirizzo che non si risolve più. Si disegnano, ma non leggono nulla.

Una riga

Ogni riga è un rilievo, e dice di che cosa parla senza aprire nulla:

  • Un glifo per il genere: un'unità per un collegamento di Process, un segno di stampa per la documentazione di un'azione, il segno della composizione scritta per una procedura, una bandiera per un'occorrenza, i segni di variabile, azione e allarme dell'albero di Logic, il segno di dashboard per un componente.
  • Il nome dell'entità, poi il suo tipo quando il tipo dice qualcosa che il nome non dice (un componente che l'integratore non ha mai nominato ripiega sul proprio genere, e la riga non dice "Indicatore analogico Indicatore analogico"), poi "in posizione" dove ce n'è una.
  • Il rilievo: per un campo che nomina un bersaglio, "Campo punta a riferimento, che non esiste più." con il riferimento scritto a spaziatura fissa; per un campo che il runtime non può usare, "Campo: che cosa non va."
  • Una freccia a destra: la riga apre qualcosa. Il suggerimento della riga e il suo nome accessibile sono la frase intera più il punto in cui il clic atterra ("Apri l'unità in Process.", "Apri l'azione in Process.", "Apri la procedura in Process.", "Apri l'occorrenza in Process.", "Apri il componente nell'editor.", "Apri la variabile in Logic.", "Apri l'azione in Logic.", "Apri l'allarme in Logic.").

Ogni rilievo che l'esame sa produrre

Le formulazioni qui sotto sono quelle proprie della pagina. Un riferimento mostrato come tag:… o var:… è l'identità memorizzata di un tag o di una variabile che non esiste più; una chiave mostrata come testo è la chiave memorizzata di un collegamento.

Process: collegamenti di canale

Tipo "Collegamento di canale"; nome: il nome del canale (oppure "(canale rimosso)"); posizione: "Modello · Unità". Apre la schermata Canali del modello sull'unità.

Campo Formulazione
Tag punta alla chiave di tag memorizzata, che non esiste più
Variabile punta alla chiave di variabile memorizzata, che non esiste più

Process: interblocchi

Tipo "Interblocco"; nome: il nome dell'unità; posizione: "Modello · Unità". Un'unità è giudicata su ciò che osserva davvero: la propria sorgente, oppure il valore predefinito del modello quando segue il modello. Apre la schermata Automazione del modello sull'unità.

Campo Formulazione
Sorgente segue il modello, il cui valore predefinito non nomina alcuna sorgente booleana.
Sorgente non è configurata alcuna sorgente booleana.
Sorgente sono selezionati sia un Tag sia una Variabile.
Tag punta a tag:…, che non esiste più
Tag un tag DateTime non è convertibile in booleano. (anche i tag Guid e ByteString)
Variabile punta a var:…, che non esiste più
Variabile una variabile DateTime non è convertibile in booleano. (anche le variabili Image, Icon e Color)

I primi tre sono segnalati soltanto mentre l'interblocco di fermo del modello è abilitato.

Process: automazione

Tipo "Automazione"; nome: il nome dell'unità; posizione: "Modello · Unità". È giudicata soltanto un'automazione abilitata: una spenta non comanda nulla e si ritira dall'elenco. Apre la schermata Automazione del modello sull'unità.

Campo Formulazione
Comandi non è configurata alcuna sorgente Start.
Procedura la Procedura fissa non è disponibile. (selezione fissa)
Selettore un rilievo di sorgente (più sotto), per una sorgente intera
Codice del selettore n seleziona una Procedura che è stata rimossa.
sorgente Start, sorgente Stop e così via, una per sorgente di comando un rilievo di sorgente, per una sorgente booleana
Metadati un'associazione riempie una Procedura o un campo che è stato rimosso.
Metadati "campo" un rilievo di sorgente (numerico per un campo numerico; booleano, intero, reale, testo o data per gli altri), oppure: questo campo non supporta la generazione automatica.
Ritorno Ready, Ritorno Active, Ritorno SelectedCode, Ritorno CommandResult punta a tag:…, che non esiste più; oppure: il Tag su cui scrive non è scrivibile. / richiede un Tag booleano. (Ready, Active) / richiede un Tag intero. (SelectedCode, CommandResult)

Un rilievo di sorgente è uno fra: "non è configurata alcuna sorgente.", "sono selezionati sia un Tag sia una Variabile.", "il Tag che legge è stato rimosso (tag:…).", "il Tag che legge non è leggibile." (il tag è disabilitato o di sola scrittura), "un tag tipo non è compatibile qui.", "la Variabile che legge è stata rimossa (var:…).", "una variabile tipo non è compatibile qui.". La compatibilità segue il ruolo del campo: una sorgente booleana ha bisogno di un tag o di una variabile booleana; una sorgente intera di un tipo intero; una sorgente numerica di un tipo intero o reale; una sorgente di metadati di un qualsiasi tipo booleano, intero, reale, testo o data.

Process: procedure

Tipo "Procedura"; nome: il nome della procedura; posizione: il nome del modello. Il giudizio passa dalla stessa porta da cui passa l'avvio di una prova, quindi una procedura che questo elenco dichiara eseguibile è una procedura che il banco accetta. Apre la pagina propria della procedura.

La porta scrive questi rifiuti in inglese, e la riga li cita così come arrivano, qualunque sia la lingua della stazione.

Campo Formulazione
La composizione An evaluation judges over recorded rows. This procedure carries one but no datalog.
La composizione Occurrence 'name' watches recorded samples. This procedure arms it but has no datalog.
La composizione Nothing to run: this procedure references neither a datalog nor a recipe.
La composizione Instant mode needs an instant recipe (or none). A temporal profile has no single tick.
La composizione Controlled mode needs an instant recipe (or none). Setpoints apply at Start, safe-state at Stop.
La composizione Temporal mode needs a duration. Set one.
La composizione Temporal mode needs a temporal recipe (or none). An instant set has no timeline.
La composizione The recipe profile (N ms) is longer than the temporal window (M ms).
La composizione Occurrence 'name' watches 'Channels.channel', which this procedure's datalog does not record.
La composizione Un rifiuto su quello che una prova conclusa porta alla produzione, oppure su un valore di ricetta che non raggiunge il canale a cui è rivolto, nelle parole dell'editor che ne è proprietario.

Process: occorrenze

Tipo "Occorrenza"; nome: il nome dell'occorrenza; posizione: il nome del modello. Viene letta solo un'occorrenza che una procedura arma, e viene letta una volta sola per quante procedure la armino, perché la condizione è una e così la riparazione. Apre la pagina propria dell'occorrenza.

Campo Formulazione
La condizione Il rifiuto della condizione stessa, nelle parole dell'editor delle occorrenze: un riferimento di canale che questo modello non ha, una condizione che non si lascia leggere, una che restituisce qualcosa di diverso da un Bool, oppure due canali che finiscono nello stesso nome. Anch'esso è scritto in inglese.

Una condizione che sta in piedi da sola e che tuttavia non può essere giudicata, perché il datalog della procedura lascia fuori il canale che sorveglia, è un rilievo su quella procedura: il datalog è la scelta della procedura.

Process: documentazione delle azioni

Tipo "Azione"; nome: il nome dell'azione; posizione: il nome del modello. Il giudizio è lo stesso da cui la pagina propria dell'azione ricava il suo avviso "Da rivedere", quindi un'azione dichiarata pronta lì è pronta anche qui. Apre la pagina propria dell'azione.

Campo Formulazione
Comandi Aggiungi un comando: questa azione non emette ancora nulla.
Comando n · Etichetta all'Avvio, Comando n · Rapporto al Completamento e così via Il primo rilievo su quel comando, poi "(altri k su questo comando)" quando ce ne sono di più. Un comando con più rilievi resta una sola riparazione, fatta su una sola pagina, quindi è una sola riga.

I rilievi che un comando può portare, nell'ordine in cui si riparano:

  • Seleziona almeno un verdetto di completamento. (un comando al Completamento senza alcun verdetto spuntato)
  • Scegli un rapporto. / Il rapporto selezionato non esiste più.
  • Scegli un modello di etichetta. / Il modello è stato azzerato o eliminato; le associazioni memorizzate sono conservate. / Il modello globale selezionato non esiste più.
  • Il modello selezionato non ha ancora comandi di stampa; scrivili o importali prima che una prova raggiunga questo comando.
  • I segnaposti del modello non si possono leggere: errore
  • {{marker}} ha bisogno di una sorgente. / {{marker}} è associato più di una volta.
  • {{marker}}: scegli una sorgente / questa sorgente non è disponibile all'Avvio / seleziona un campo del catalogo di metadati di questo modello / seleziona un criterio di una delle valutazioni di questo modello / imposta un ciclo esplicito a base zero da 0 a n / togli le cifre decimali da questa sorgente di data e ora / usa il formato predefinito per questa sorgente numerica / le cifre decimali devono essere fra 0 e 9 / togli la formattazione numerica o di data da questa sorgente di testo
  • {{marker}} è stato rimosso dal modello attuale; togli la sua associazione memorizzata.

Logic

Nessuna posizione: i generi di Logic stanno al primo livello. Una riga per indirizzo distinto che non si risolve, con l'indirizzo scritto come lo scrive l'espressione. Sono esaminate soltanto le variabili a espressione; una variabile di memoria non ha alcuna espressione da leggere.

Tipo Campo Formulazione
Variabile a espressione Espressione punta a indirizzo, che non esiste più
Azione Script punta a indirizzo, che non esiste più
Allarme Condizione punta a indirizzo, che non esiste più

Dashboard

Tipo: il genere del componente come lo nomina l'editor (Indicatore analogico, Grafico a linee, Valore…); nome: il nome digitato per il componente, altrimenti la sua didascalia, altrimenti ciò che l'editor ricava; posizione: il nome della dashboard. Una riga per campo di indirizzo, così un componente il cui valore e il cui colore leggono due punti rimossi vale due riparazioni.

Campo Formulazione
Indirizzo, Indirizzo di accento, Serie 2 › Indirizzo, e ogni altro campo di indirizzo del genere (un elenco annidato si legge come il suo percorso) punta a indirizzo, che non esiste più

Sono letti soltanto i campi di indirizzo, e soltanto un valore che si analizza come indirizzo radicato con almeno un segmento: un'etichetta che contiene "Process.Press 1.Temperature" è testo, non un riferimento, e non è mai segnalata. Lo stesso indirizzo nello stesso campo è un solo rilievo. I sinottici definiti su un modello di Process sono saltati: collegano i canali attraverso un segnaposto di unità, e nessun punto risponde a quegli indirizzi finché un'unità non apre il sinottico.

Che cosa apre una riga

Genere Apre Dove atterra
Componente La dashboard in modo modifica (/d/{dashboard}?edit=true&focus={component}) Con il componente selezionato e le sue proprietà mostrate, dove l'indirizzo si riscrive. Modificare richiede il permesso Modificare le dashboard; senza di esso la dashboard si apre in consultazione.
Collegamento di canale Lo spazio di lavoro Process (/process?focus={unit}&screen=channels) La schermata Canali del modello, con la riga di quell'unità scelta e ogni cartella sopra di essa espansa.
Interblocco, Automazione Lo spazio di lavoro Process (/process?focus={unit}&screen=automation) La schermata Automazione del modello, con la riga di quell'unità scelta.
Documentazione dell'azione Lo spazio di lavoro Process (/process?focus={action}&screen=action) La pagina propria dell'azione nella colonna.
Procedura Lo spazio di lavoro Process (/process?focus={procedure}&screen=procedure) La pagina propria della procedura nella colonna.
Occorrenza Lo spazio di lavoro Process (/process?focus={occurrence}&screen=occurrence) La pagina propria dell'occorrenza nella colonna.
Variabile a espressione, Azione, Allarme La pagina Logic (/logic?focus={id}) L'entità selezionata nel suo editor, con la sua sezione dello spazio degli indirizzi espansa.

Aprire ti porta sul difetto; la pagina di destinazione applica poi i propri permessi alla modifica (Gestire Process sulle schermate di Process, Configurare Logic in Logic). Un'entità che non si risolve più quando la pagina arriva (eliminata nel frattempo) è ignorata, e la pagina si apre dove si aprirebbe normalmente.

Il distintivo della barra

La voce Convalida sulla barra porta una pastiglia di cautela con il numero di elementi da riparare, "99+" oltre novantanove, e nessuna pastiglia mentre la configurazione è pulita. Il conteggio è quello proprio del validatore, tenuto aggiornato in sottofondo dallo stesso riesame che la pagina segue, così si muove mentre modifichi su una pagina qualsiasi, senza che questa pagina sia aperta.

Che cosa la pagina non fa mai

  • Non ripara nulla: nessun ricollegamento, nessuna eliminazione, nessuna rinomina. Ogni riga è un "apri"; su una riga non c'è altra azione, e non c'è alcuna azione in blocco.
  • Non giudica mai il runtime: un dispositivo che non comunica è lo stato di salute della barra di stato, non un rilievo qui. Un riferimento a un tag che esiste ma legge con qualità cattiva si risolve.
  • Non segnala mai un'automazione disabilitata, un sinottico definito su un modello, testo libero che sembra un indirizzo, una variabile di memoria, o un secondo rilievo e successivi dello stesso comando di azione (il conteggio dice quanti altri aspettano su quella pagina).
  • Non legge mai un'occorrenza che nessuna procedura arma, e non elenca mai due volte la stessa occorrenza armata per quante procedure la armino: una condizione è una riparazione.
  • Non esamina mai mentre Connector è a metà transizione; aspetta e misura una volta sola.
  • È lo stesso elenco su ogni schermata, tanto sulla finestra della stazione quanto in un browser, ed è lo stesso per ogni identità che lo può aprire: il permesso condiziona la pagina, non le sue righe.
  • Mentre il runtime è fermo la pagina cede il posto all'avviso di pausa come ogni pagina; il distintivo conserva il suo ultimo conteggio.