Lo spazio degli indirizzi
Le sette radici riservate sotto cui vive ogni punto, come si scrive e si ripulisce un indirizzo, dove finisce un punto e comincia un membro, che cosa restringe la casella di filtro, e i tre modi per immettere un indirizzo in un editor.
Ogni punto che un'espressione, uno script, un collegamento di dashboard o uno strumento dell'agente può nominare vive sotto una delle sette radici riservate. I tuoi nomi vivono sempre sotto una radice, quindi non si scontrano mai con le radici stesse. La colonna della pagina Logic disegna le stesse radici, divise sotto due intestazioni, e quello che l'albero mostra è esattamente quello che scrivi: l'indirizzo di una riga è il testo che un'espressione usa.
Le sette radici
| Radice | Che cosa contiene | Intestazione nella colonna | Modificata |
|---|---|---|---|
System |
Quattro diagnostiche che l'applicazione pubblica su sé stessa | Da altre pagine | In nessun posto |
Server |
Quattro diagnostiche del server OPC UA integrato | Da altre pagine | Nelle Impostazioni |
Connector |
L'albero vivo di driver, cartelle, dispositivi e tag | Da altre pagine | Nella pagina Connector |
Variables |
Le variabili che definisci qui, nelle loro cartelle | Definiti qui | Qui |
Alarms |
Lo stato vivo degli allarmi che definisci qui, nelle loro cartelle | Definiti qui | Qui (lo stato in sé è in sola lettura) |
Process |
Le unità di ogni modello: canali, stato della prova, produttività, comandi, preparazione | Da altre pagine | Nella pagina Process |
Assets |
Immagini, Icone e Colori della libreria, indirizzabili per nome | Definiti qui, sotto la radice Risorse | Nei pannelli Risorse |
Azioni e Attivatori sono sezioni della colonna ma non radici dello spazio degli indirizzi: sono referenziati per identità, non per indirizzo, e non portano alcun valore in tempo reale. La radice Assets esiste per le espressioni e per il selettore Sfoglia…; nella colonna il suo posto è preso dalla radice della libreria Risorse, così l'albero non mostra mai due radici con quel nome. I punti fissi di System e di Server, e la forma dei rami Connector e Process, sono elencati in Da altre pagine.
Come si scrive un indirizzo
Un indirizzo è fatto di segmenti separati da punti, radicati in una radice riservata: Connector.Simulated.Air.CompressedAir.HeaderPressure, Variables.Forno.Setpoint, Alarms.HighLevel, System.Now, Assets.Colors.Red. I nomi visualizzati restano testo libero; l'indirizzo usa il segmento ripulito di ogni nome: ogni carattere che non è una lettera o una cifra diventa _, e un nome che comincia con una cifra riceve un _ iniziale (Forno de teste risponde a Forno_de_teste, 3rd zone a _3rd_zone, un nome vuoto a _). I segmenti sono sempre identificatori, quindi la forma con i punti funziona sempre; un segmento si può anche scrivere tra parentesi quadre con un valore stringa, Variables["Setpoint"], e il valutatore lo legge come lo stesso indirizzo.
Dove finisce il punto e comincia l'accesso a un membro dipende dalla radice. Gli indirizzi Connector portano i livelli di cartella del dispositivo tra il driver e il dispositivo (una linea Modbus RTU non aggiunge livelli), e Variables e Alarms portano fino a tre livelli di cartella prima del nome, quindi sotto queste radici il punto è il prefisso più lungo che si risolve e ciò che segue è un membro (.Value, .State()). Assets è sempre due segmenti sotto la radice; Process ne ha quattro per un punto ordinario, sei per un punto di riepilogo di produttività e sette per un punto di uscita di produttività o di procedura. Una catena più corta di quanto la sua radice ammetta viene rifiutata come indirizzo incompleto.
Gli indirizzi nelle espressioni e negli script devono essere statici: ogni segmento un identificatore o un valore stringa, mai un valore calcolato. Variables[someName] viene rifiutato alla convalida con « Addresses must be static ».
Collisioni di indirizzo
Un livello di una sezione è un unico spazio di nomi di segmento, condiviso dalle cartelle e dalle definizioni archiviate lì. Due variabili chiamate Setpoint in cartelle diverse vanno bene; una variabile e una cartella che allo stesso livello si riducono entrambe a Forno no, e nemmeno Pump 1 e Pump_1 fianco a fianco. Gli editor rifiutano un nome simile mentre lo scrivi, nominando ciò che risponde già all'indirizzo: « 'Pump 1' risponde già a 'Variables.Pump_1'. I nomi archiviati in una cartella devono ridursi a segmenti distinti. » Le risorse seguono la stessa regola dentro ogni categoria: due tue immagini, icone o colori non possono condividere un segmento, e un'icona o un colore utente il cui segmento coincide con una voce di sistema la sostituisce all'indirizzo.
Immettere un indirizzo
Tre modi per immettere un indirizzo in un'espressione, in una condizione o in uno script:
- Scriverlo. L'editor completa i simboli dell'indirizzo: i nomi delle radici per un simbolo nudo (
ConproponeConnector), poi i figli del percorso scritto fino a quel punto, confrontati per prefisso senza distinguere maiuscole e minuscole, e i membri leggibili di un punto appena il simbolo nomina un punto. Ogni candidato sostituisce il simbolo intero. - Sfoglia… apre un selettore sull'albero, fino al livello dei membri, di ogni radice, radice
Assetscompresa. Seleziona una riga e premi Inserisci, oppure fai doppio clic su di essa, per mettere il suo indirizzo al punto di inserimento. Il piede mostra il testo che la riga selezionata inserisce, oppure « Doppio clic (o Inserisci) per aggiungere all'editor. » mentre non c'è nulla di selezionato. - Copiarlo da un punto. Selezionare un punto qualsiasi nella colonna apre il pannello del punto, il cui campo Indirizzo è testo in sola lettura che puoi selezionare e copiare, accanto al valore in tempo reale, alla sua qualità e alla sua marca temporale. Un editor di variabile o di allarme riporta il proprio indirizzo sotto il campo Nome.
Sotto un punto, il selettore elenca i suoi membri leggibili (Value, ValueToReal(), State() e così via). Un membro non è un indirizzo a sé: è ciò che aggiungi all'indirizzo del punto. Espressioni elenca quella stessa superficie, con ciò che ogni membro restituisce.
La casella di filtro
La casella Filtra… sopra la colonna restringe l'albero alle righe il cui nome contiene il testo scritto, senza distinguere maiuscole e minuscole. Un punto sopravvive solo quando corrisponde; una cartella sopravvive quando corrisponde lei o un suo discendente, e si apre fino alle corrispondenze. Le sezioni Azioni e Attivatori elencano solo le righe il cui nome corrisponde (il loro nome tiene la sezione elencata, ma vuota); la radice Risorse si restringe alle categorie il cui nome corrisponde (scrivere Col lascia Colori) e arriva intera quando corrisponde solo il proprio nome; una radice dello spazio degli indirizzi il cui nome corrisponde resta elencata e carica il suo ramo quando la espandi. I membri non fanno mai parte della vista filtrata, e il filtro appartiene solo alla tua finestra: un altro browser sulla stessa stazione tiene il proprio.
Che cosa non fa lo spazio degli indirizzi
Non pubblica nulla per un dispositivo disabilitato, per un dispositivo i cui tag non sono materializzati nel server integrato, o per un canale di Process senza collegamento (un canale simile resta elencato ma non offre membri). I nomi non vengono tradotti: l'indirizzo è il nome visualizzato ripulito, quindi rinominare una variabile, un allarme, una cartella, un dispositivo, un tag o un'immagine è un cambio di indirizzo, che l'applicazione riscrive in ogni riferimento con la ridenominazione sicura (Variabili, Cartelle dei dispositivi).