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.
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;
}