Lo spazio degli indirizzi di un'unità

Ogni punto che un'unità pubblica sotto Process.Model.Unit, il suo tipo e il suo significato, quali punti sono comandi scrivibili e che cosa uno script di Logic può leggerne.

Visualizza come Markdown

Ogni unità pubblica i dati delle proprie prove come normali indirizzi Logic sotto Process.<Model>.<Unit>, così le dashboard, le espressioni di Logic, il server OPC UA incorporato e l'agente vi arrivano senza alcun collegamento in più. Il ramo si sfoglia nella pagina Logic sotto "Da altre pagine" (Da altre pagine) e in ogni selettore di indirizzo. Rinominare un modello, un'unità, un canale, un campo di metadati, una valutazione o un criterio sostituisce gli indirizzi corrispondenti e riscrive i riferimenti testuali vivi; i file registrati conservano i nomi congelati come erano quando sono stati scritti. I segmenti sono i nomi depurati: un'unità di nome "Unità 1" del modello "Climatic chamber" si indirizza come Process.Climatic_chamber.Unità_1.

Ramo Che cosa espone Scrivibile
Channels.<Channel> Il valore collegato dal vivo di ciascun canale, tipizzato come il canale dichiara. Un canale scrivibile (ruolo Sola scrittura oppure Lettura e scrittura) è un punto scrivibile attraverso l'unico punto di scrittura; una sorgente tenuta da una prova rifiuta ogni altro scrittore.
Procedure.<point> Lo stato della prova, uno scalare per punto (tabella qui sotto). No.
Commands.<command> Start, Hold, Resume, Stop, Abort e Comment. Sì: scrivere dispaccia il comando (tabella qui sotto).
Next.<point> L'area di preparazione che il prossimo Avvio consuma. Soltanto i campi di metadati manuali.
LastRun.<point> La registrazione dell'ultima prova che l'unità ha concluso (LastRun). No.
Productivity.Today.<branch> e Productivity.Rolling.<branch> La proiezione di produttività dell'unità per ciascun periodo. No.

Canali

Un punto di canale legge il valore che sta dietro il collegamento dell'unità, proiettato sul tipo di dato del canale, e si legge come vuoto quando il canale non è collegato oppure la sua sorgente non è disponibile. In uno script di Logic il punto è una proiezione tipizzata in sola lettura del tag o della variabile collegati, mai il tag stesso: Value, ValueObject, ValueRaw, ValueScaled, ValueCalibrated, ValueLimited, ValueRounded, le conversioni ValueToBool(), ValueToInteger(), ValueToReal(), ValueToString() e ValueToDateTime(), la qualità State(), i timbri SourceTimeStamp() e ApplicationTimeStamp(), Refresh(), Name e EngineeringUnit. I membri della catena di conversione rispondono per un collegamento a un tag; un collegamento a una variabile risponde con il valore e con il timbro dell'applicazione.

Procedure

Ogni punto è calcolato dalla prova viva e si legge con buona qualità; un punto che non ha nulla da dire si legge come vuoto.

Punto Tipo Significato
Status Testo Preparing mentre l'unità è riservata e non esiste ancora alcuna prova, Idle mentre nulla la possiede, altrimenti lo stato della prova: Running, Held, Saving, Completed, Aborted, Failed.
Running Booleano Esattamente lo stato in marcia; mai vero per la preparazione, la sospensione, il salvataggio o la finalizzazione.
Busy Booleano L'intero tratto occupato: riserva, marcia, sospensione, salvataggio e chiusura finale del file della prova.
Verdict Testo Ok, Nok, Indeterminate oppure None, scritti esattamente così, qualunque parola mostrino l'interfaccia o un'etichetta stampata: un confronto si scrive Process.<Model>.<Unit>.Procedure.Verdict == "Nok". L'evidenza giudicata resta leggibile dopo la fine della prova finché non ne parte un'altra.
Mode Testo Il modo della prova attiva, Instant, Temporal oppure Controlled; anche un comando singolo (istantanea, valuta adesso) si dichiara. Vuoto quando l'unità è inattiva.
ActiveProcedure Testo Il nome della prova attiva ("Procedura · Unità"). Vuoto quando l'unità è inattiva.
SegmentIndex Intero Il segmento attuale del profilo temporale, numerato da 0. Vuoto senza un profilo.
CycleIndex Intero Il ciclo attuale, numerato da 0. Vuoto quando l'unità è inattiva.
CycleCount Intero Il totale dei cicli della prova (1 per un passaggio solo). Vuoto quando l'unità è inattiva.
Cycle Testo "2 / 10" per una prova ciclica; un vuoto quando la prova non è ciclica, così una lettura collegata mostra il segno di vuoto invece di un passaggio unico che ingannerebbe.
FailedCycles Intero I cicli giudicati non conformi fino a qui. Vuoto quando la prova non è ciclica.
SamplesEvaluated, SamplesOut, SamplesUnavailable, SamplesInvalid Intero I contatori di evidenza della valutazione, aggiornati in modo atomico dal motore di valutazione. Vuoti senza evidenza giudicata.
Elapsed Decimale I secondi da quando la prova è partita. Vuoto quando l'unità è inattiva.
StartedAt Data e ora Quando è partita la prova attiva. Vuoto quando l'unità è inattiva.
Metadata.<Field> Testo Un punto per campo di metadati del modello: il valore che la prova in corso ha congelato all'Avvio. Vuoto quando l'unità è inattiva e per un campo che quella prova non chiede; un campo lasciato in bianco si legge come testo vuoto. È ciò che un'azione avviata all'Avvio legge della prova che comincia, dato che Next.<Field> mostra già la successiva.

Comandi

Leggere un punto di comando risponde alla domanda "questo si può eseguire adesso", così un Pulsante collegato si disabilita da solo; scriverlo dispaccia il comando attraverso la console delle prove, registrato a diario con la sorgente della superficie che scrive e annotato con l'identità di chi ha premuto. Un comando è una chiamata di servizio, mai una scrittura di punto messa in coda.

Punto Si legge vero quando Scrivere
Start L'unità non è occupata, il runtime accetta operazioni, l'interblocco è Normale ed è preparata una procedura. Avvia la procedura preparata con i metadati preparati.
Hold Una prova è in marcia e la sua procedura è Temporale. Congela la finestra.
Resume Una prova è sospesa e l'interblocco è Normale. Toglie la sospensione.
Stop Una prova è in marcia. Termina la prova come Completata.
Abort Una prova è in marcia oppure sospesa. Termina la prova come Interrotta.
Comment Mai: il punto non ha lettura. Aggiunge il testo scritto come commento alla prova attiva, oppure come nota dopo la prova sull'ultima prova terminata dell'unità quando questa è inattiva. Un'unità senza alcuna prova rifiuta ("L'unità non ha alcuna prova da commentare."), e così fa un testo vuoto.

Ogni comando si legge falso mentre la stazione rifiuta le scritture (il runtime fermo).

Next

Punto Tipo Significato
Next.Procedure Testo Il nome della procedura preparata. Qui è in sola lettura: la preparazione si fa sulla scheda Prova del pannello di unità.
Next.<Field> Testo Un punto per ogni campo di metadati che la procedura preparata richiede; il ramo cambia forma quando l'unità viene preparata di nuovo, e un campo di un'altra procedura si legge come vuoto. Un campo manuale (di testo o numerico) è un punto di preparazione scrivibile, che è ciò che scrive un componente Ingresso collegato a esso. Un campo sequenziale è una previsione in sola lettura dell'identificatore che il contatore comporrebbe adesso; leggerlo non lo riserva mai.

La preparazione vale per tutta la stazione, sta in memoria ed è transitoria: si azzera all'avvio dell'applicazione ed è consumata, non cancellata, dall'Avvio.

Produttività

Due periodi, Today (dalla mezzanotte locale) e Rolling (la finestra dichiarata sul modello oppure sull'unità), ciascuno con tre rami (Produttività):

Ramo Punti Tipo
Summary ProductivityPercent, YieldPercent, TypicalElapsedSeconds Decimale; un vuoto finché non esiste il denominatore.
Summary Finalized, OK, NOK, Indeterminate, Unclassified, Aborted, Failed Conteggi interi.
Outputs.<key> Quantity, RatePerHour Decimale; una chiave per quantità con un nome proprio, oppure per procedura produttiva quando il modello non dichiara alcuna quantità.
Procedures.<key> Quantity, RatePerHour e i punti di riepilogo qui sopra Come sopra, per procedura produttiva.

Le chiavi derivano dall'id stabile e dall'unità di misura dell'uscita congelata, non dal nome visualizzato, così una rinomina non sposta mai un'espressione. Ogni punto è in sola lettura, e la proiezione è letta dall'indice degli storici, mai dai file delle prove.

LastRun

La registrazione dell'ultima prova che l'unità ha concluso: quale era, come è finita, che cosa l'operatore ha inserito all'Avvio e come è andato ciascun criterio. È ciò che legge un'azione Logic avviata al Completamento (Azioni), e ogni altro consumatore la legge allo stesso modo: una schermata che mostra l'ultimo pezzo, un allarme, i server della stazione. Conta ogni prova registrata dell'unità, anche una non riuscita e un'Istantanea o un Valuta adesso; una prova importata non conta mai.

Punto Tipo Significato
RunId Testo L'identificativo della prova.
Procedure Testo Il nome della procedura come la prova lo ha registrato.
Status Testo Completed, Aborted o Failed, scritti esattamente così.
Verdict Testo Ok, Nok, Indeterminate o None, scritti come in Procedure.Verdict; una prova non riuscita si legge None.
StartedAt, FinishedAt Data e ora Quando la prova è partita e quando è finita.
Elapsed Decimale I secondi dall'avvio alla fine.
CycleCount Intero I cicli della prova (1 per un passaggio unico).
FailedCycles Intero I cicli giudicati non conformi.
Metadata.<Field> Testo Un punto per campo di metadati del modello: il valore che la prova ha congelato all'Avvio. Un campo che la prova non ha chiesto si legge vuoto, senza valore; un campo lasciato in bianco si legge come testo vuoto.
Evaluations.<Evaluation>.<Criterion>.<point> Come sotto Una cartella per valutazione del modello e, sotto, una per criterio, con il nome del criterio, o con quello del suo canale quando non ne ha uno.

Ogni criterio porta un esito, ripiegato su tutti i cicli in cui è stato giudicato, così l'indirizzo è lo stesso per un passaggio unico e per una prova di cento cicli:

Punto Tipo Significato
Outcome Testo Ok, Nok o Indeterminate, scritti esattamente così: un ciclo non conforme dà Nok, altrimenti un ciclo indeterminato dà Indeterminate, altrimenti Ok.
Passed Booleano Vero solo quando Outcome è Ok.
Value Decimale Il valore misurato del canale osservato: l'ultimo campione valutato della finestra, in modo Un solo punto quello giudicato, dal ciclo più recente che ne ha misurato uno.
MinValue, MaxValue Decimale Il valore valutato più basso e il più alto, su tutti i cicli.
Limits Testo I limiti come sono stati registrati, ad esempio 5 .. 45.
WorstExcursion Decimale La distanza più grande oltre un limite, su tutti i cicli.
FailedCycles Intero I cicli che hanno giudicato questo criterio non conforme.

Il ramo ha la forma del modello, mai la forma dell'ultima prova: ogni campo di metadati del catalogo e ogni criterio di ogni valutazione è un punto, così uno script che ne nomina uno supera la validazione prima di qualsiasi prova, e dopo una prova di una procedura che ha giudicato secondo un'altra valutazione.

Situazione Che cosa leggono i punti
Nessuna prova dell'unità è ancora finita Vuoto con cattiva qualità, in ogni punto.
Una prova finisce La nuova registrazione, già al suo posto prima che Procedure.Status dell'unità dica che la prova è finita.
Un'altra prova dell'unità è in corso La registrazione precedente, finché quella prova non finisce.
L'applicazione si riavvia L'ultima prova conclusa dell'unità, riletta dal suo file poco dopo l'avvio; vuoto finché non è letta.
Un criterio che l'ultima prova non ha giudicato (di un'altra valutazione, o aggiunto dopo) Vuoto in ogni punto.
Due valutazioni, o due criteri, i cui nomi si leggono uguali Niente: l'indirizzo non si risolve in nessuno dei due, e la pagina della valutazione lo dice (Valutazioni).

Rinominare un campo di metadati, una valutazione, un criterio o il canale di un criterio senza nome sposta questi indirizzi come ogni altra ridenominazione di questa pagina.

Che cosa può fare uno script

Gli script di variabile, di allarme e di azione di Logic possono leggere tutto ciò che sta qui: i valori dei canali, lo stato della prova, la prontezza dei comandi, i valori preparati, l'ultima prova e i punti di produttività. Non possono dispacciare un comando, scrivere un campo di preparazione o aggiungere un commento; quelle scritture appartengono ai consumatori espliciti dei comandi: i pannelli di esercizio, i Pulsanti e i Campi di immissione delle dashboard, l'automazione dell'unità e gli strumenti dell'agente.

Un punto di canale si legge come la proiezione tipizzata di Canali; ogni altro punto qui si legge come il suo valore semplice, senza .Value dopo, a differenza di una variabile:

if (Process.Oven_soak.Oven_1.LastRun.Verdict === "Ok") {
  Variables.Last_serial = Process.Oven_soak.Oven_1.LastRun.Metadata.Serial;
}