# Tag

> La pagina del tag scheda per scheda: l'intestazione e i verbi, Generale, Sorgente con i campi di ogni driver, Conversione, Valore in tempo reale con il campo di scrittura, e Usato da con Sostituisci tutti.

Un **tag** è un punto indirizzabile su un dispositivo: un indirizzo sul bus, un tipo di dato, e la conversione che trasforma la lettura grezza nel valore ingegneristico. Seleziona una riga di tag sotto un dispositivo, oppure premi Apri su una riga della griglia Tag del dispositivo, per aprirne la pagina. Visualizzare Connector la legge; Configurare Connector la modifica; Tarare i tag modifica la sola fase Taratura.

## L'intestazione {#the-header}

Un punto in tempo reale (verde mentre il tag ha un valore, ambra quando il valore è un sostituto, la fase Limiti ha sollevato un guasto o la lettura è rimasta muta, grigio altrimenti, e grigio, qualunque cosa abbia mostrato per ultima, su un tag che la stazione non legge: uno disabilitato, o uno il cui dispositivo è disabilitato, sta sotto una linea disabilitata o non ha ancora un host inserito), il nome del tag, e sotto l'indirizzo del tag, `Connector.<Driver>.<Folders…>.<Device>.<Tag>`, che è quello che Logic e le dashboard scrivono. Sotto, quando si applicano: una nota di attenzione con il suggerimento di convalida (un nome vuoto, un indirizzo mancante, un fattore pari a 0) e l'ultimo errore in rosso. Finché il dispositivo del tag non è connesso, una nota neutra rimanda al dispositivo invece di ripetere l'errore di connessione: « Questo tag passa per il dispositivo Furnace, che non è connesso. La pagina del dispositivo dice perché. »

## La barra dei comandi {#the-command-bar}

| Comando | Che cosa fa | Grigio quando (situazione) | Non disegnato quando (ruolo) |
| --- | --- | --- | --- |
| **Copia valore** | Copia negli appunti il valore ingegneristico come è mostrato (« Valore di 'Temperature' copiato negli appunti. »). | Mai. | Mai. |
| **Abilita** | Rimette il tag nell'acquisizione e nello spazio degli indirizzi vivo. | È già abilitato, oppure la stazione rifiuta le modifiche. | Senza Configurare Connector. |
| **Disabilita** | Ritira il tag dall'acquisizione e dallo spazio degli indirizzi vivo; il dispositivo continua a interrogare gli altri suoi tag. | È già disabilitato, oppure la stazione rifiuta le modifiche. | Senza Configurare Connector. |
| **Elimina tag** (inchiostro di pericolo, a destra) | Chiede « Eliminare 'Temperature'? Questo lo rimuove da 'Furnace'. L'operazione non è reversibile. », elimina e seleziona il dispositivo. | La stazione rifiuta le modifiche. | Senza Configurare Connector. |

Ogni scheda si salva da sola come descritto su [Connector](connector#the-detail-panel). Le schede Generale e Sorgente restano inerti per un ruolo senza Configurare Connector, con la nota « Per modificare il Connector serve il permesso “Configurare Connector”. » in cima.

## La scheda Generale {#the-general-card}

| Campo | Che cos'è | Valori e valore predefinito | Effetto |
| --- | --- | --- | --- |
| **Nome del tag** | Il nome del punto; l'ultimo segmento sia della chiave di bus sia dell'indirizzo. | Obbligatorio. | Mentre scrivi, il campo anticipa quanti riferimenti porta con sé la ridenominazione; confermare li riscrive: « Tag rinominato e 2 riferimenti aggiornati. » Un nome vuoto viene rifiutato: « Il nome del tag è obbligatorio. » I tag OCPP devono finire in Meter, Status o Transaction: « I nomi dei tag OCPP devono terminare con 'Meter', 'Status' o 'Transaction' (ad es. Connector1Meter). » |
| **Tipo di dato** | Il tipo scalare OPC UA che il server integrato espone. | Boolean, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Float, Double, String, DateTime, Guid, ByteString, ristretti a quello che il driver sa trasportare; Float all'inizio dove il driver ce l'ha, altrimenti il primo tipo che offre. | Cambiarlo allinea quello che ne dipende: un'azione sui limiti basata su NaN diventa Null su un tipo che non può contenere NaN, la politica su NaN torna al passaggio diretto su un tipo non numerico, un tipo di segnale simulato incompatibile con il tipo viene sostituito da quello predefinito del tipo, e una classe di registro Modbus attraversa il confine tra bit e registro insieme al tipo. La scheda Conversione cambia forma con lui. |
| **Accesso** | Se la stazione legge, scrive o entrambe le cose. | Sola lettura, Sola scrittura, Lettura e scrittura; Sola lettura. OCPP e LoRaWAN offrono solo Sola lettura. Un tag Matter offre la scrittura solo per un valore che il driver può cambiare, e altrimenti dice sotto il campo il perché ([Un tag creato a mano](driver-matter#a-tag-made-by-hand)). Un tag NI-DAQmx offre gli accessi che la sua misura consente ([Misure](driver-ni-daqmx#measurements)). Un tag SNMP su un oggetto standard che la sua MIB dichiara di sola lettura offre solo Sola lettura, e dice sotto il campo il perché ([Tipi di dato e accesso](driver-snmp#data-types-and-access)). Un tag File offre solo Sola lettura finché il suo dispositivo non consente la scrittura, e un dato del file resta in sola lettura ([Cosa legge un tag](driver-file#what-a-tag-reads)). Un tag Database mostra cosa fa una scrittura solo quando il suo accesso scrive ([Scrittura](driver-database#writing)). | Lettura e scrittura e Sola scrittura disegnano il campo di scrittura sulla scheda Valore in tempo reale; un tag di Sola scrittura non viene interrogato, non conta per lo stato di salute del dispositivo e non ha una politica per una lettura non riuscita, perché la stazione non lo legge mai. |
| **Unità** | L'unità ingegneristica, testo libero. | Vuota. | Mostrata accanto al risultato di ogni fase e al valore ingegneristico, e ovunque il valore venga visualizzato. |
| **Intervallo di interrogazione (ms)** | Una sostituzione, per questo tag, dell'intervallo di interrogazione del dispositivo. | 0 (usa il valore predefinito del dispositivo); un valore negativo si salva come 0. | Nascosto per Mitsubishi MC, BACnet, OCPP, LoRaWAN e MQTT, che lo ignorano. |

## La scheda Sorgente {#the-source-card}

« Da dove arriva il valore di questo tag e l'ultima lettura grezza. » I campi dipendono dal driver; le pagine dei driver spiegano il significato, questo è l'inventario così come il pannello lo disegna.

### Indirizzo a testo libero {#free-text-address}

I driver indirizzati da un simbolo che si scrive mostrano un solo campo, etichettato per driver: **ID nodo** (OPC UA), **Simbolo** (Beckhoff ADS), **Indirizzo di dispositivo** (Mitsubishi MC), **Tag del controllore** (Rockwell), **Percorso della risorsa** (Redfish), **Percorso PI** (AVEVA PI), **Percorso** (HTTP), **Topic MQTT** o **Metrica** (MQTT, secondo che il protocollo del dispositivo sia MQTT semplice o Sparkplug B), **Indirizzo di memoria** o **Nome della variabile** (Omron, secondo che il protocollo del dispositivo sia FINS o Tag NJ/NX per nome), **Interrogazione** (SCPI instruments), **Canale fisico** (NI-DAQmx), **OID** (SNMP), con sotto il suggerimento del driver. Per questi driver il campo è obbligatorio: « ID nodo è obbligatorio per questo driver. »

### Campi tipizzati per driver {#typed-fields-per-driver}

| Driver | Campi |
| --- | --- |
| Modbus TCP, Modbus RTU | **Classe di registro** (Bobina (0xxxx), Ingresso discreto (1xxxx), Registro di ingresso (3xxxx), Registro di mantenimento (4xxxx): ognuna con la prima cifra che l'indirizzo del manuale del dispositivo porta per lei; il valore predefinito segue tipo e accesso: un booleano di sola lettura è un ingresso discreto, uno scrivibile una bobina, un numero di sola lettura un registro di ingresso, uno scrivibile un registro di mantenimento) e **Numero di registro (base 0)**. |
| Siemens S7 | **Area di memoria** (DataBlock, Merker, ProcessInput, ProcessOutput, Timer, Counter), **Numero del DB** (solo DataBlock), **Byte iniziale**, **Bit (0-7)** (tag booleani), **Lunghezza massima (vuoto = 254)** (tag String). |
| Rockwell | **Scostamento nel tag (byte, bit per BOOL)**, dopo il campo Tag del controllore; 0 è l'inizio del tag. |
| BACnet | **Tipo di oggetto** (AnalogInput, AnalogOutput, AnalogValue, BinaryInput, BinaryOutput, BinaryValue, MultiStateInput, MultiStateOutput, MultiStateValue) e **Numero di istanza**. Quello che si legge è il valore presente. |
| OCPP | **Connettore di ricarica** (il numero del connettore, 1 all'inizio), con la nota « Chiamare il tag …Meter (lettura di energia), …Status (stato del connettore) oppure …Transaction (numero della transazione in corso). » |
| Redfish | **Puntatore JSON (vuoto = intero documento)**, « ad es. /Temperatures/0/ReadingCelsius », dopo il Percorso della risorsa. |
| Matter | **Uscita (endpoint)**, **Cluster Matter** e **Attributo**, su una sola riga; il cluster si sceglie nel catalogo Matter per nome. I tag di un dispositivo Matter di solito vengono dal dispositivo stesso, spuntati dopo l'associazione o in Rileva (vedi [Matter](driver-matter#tags)); questi campi servono al raro tag creato a mano. |
| MQTT | Su un dispositivo in MQTT semplice, **Percorso del valore** (dove sta il valore dentro un payload JSON; vuoto legge tutto il payload), **Topic di comando** (dove viene pubblicata una scrittura; vuoto lascia il tag in sola lettura) e **Modello del payload** (il JSON che pubblica una scrittura, con `{value}` dove va il valore), dopo il campo Topic MQTT. Una metrica Sparkplug B non ne ha nessuno: vedi [MQTT](driver-mqtt#tag-addressing). |
| Generic serial and TCP | Nessun indirizzo da digitare: **Modalità di lettura** (Richiesta e risposta o Ascolto), **Richiesta**, **Filtro dei messaggi**, **Il valore è** con i campi dell'estrazione che nomina, **Il dispositivo scrive una virgola come separatore decimale** (Float e Double) e, su un tag che viene scritto, **Messaggio di scrittura** e **Risposta attesa**. Vedi [Generic serial and TCP](driver-generic-serial-tcp#tag-addressing). |
| SCPI instruments | Accanto all'Interrogazione, **Valore nella risposta** (quale valore di una risposta separata da virgole è quello del tag, contato da 1; vuoto legge la risposta intera) su un tag che viene letto, e **Comando di scrittura** (ciò che invia una scrittura, con `{value}` dove va il valore) su un tag che viene scritto. Vedi [SCPI instruments](driver-scpi#tag-addressing). |
| NI-DAQmx | Accanto al Canale fisico, **Misura** e i campi della misura: il campo nella sua unità (**Minimo** e **Massimo**), **Configurazione dei terminali**, **Resistenza di shunt** e **Valore dello shunt (Ω)**, **Tipo di termocoppia**, **Compensazione del giunto freddo (CJC)** e **Temperatura CJC (°C)**, **Fronte contato**, **Direzione del conteggio**, **Conteggio iniziale** e **Terminale di ingresso**, ciascuno disegnato solo dove la misura lo legge. Vedi [NI-DAQmx](driver-ni-daqmx#tag-addressing). |
| SNMP | Sotto l'OID, in sola lettura: **Nome nella MIB**, il nome standard dell'oggetto con quello che la sua MIB ne dice (o « Nessun nome standard »), e **OID numerico**, il numero che porta ogni richiesta. Vedi [SNMP](driver-snmp#the-oid). |
| File | Nessun indirizzo da digitare: **Legge** (un valore, il file intero o un dato del file) e, per un valore, i campi del formato del dispositivo: **Colonna** e **Riga da leggere** (CSV), **Riga da leggere** e **Il valore è** (testo libero), **Percorso JSON** o **Percorso XML**; su un dispositivo che consente la scrittura, **Una scrittura** e **Modello di riga**. Vedi [File](driver-file#tag-addressing). |
| Database | Nessun indirizzo da digitare: **Legge** (**Tabella e colonna** o **Query propria**) e i suoi campi: **Tabella**, **Colonna del valore** e **Riga da leggere**, con **Colonna chiave** e **Valore chiave** o **Colonna data**, oppure **Testo della query**; su un tag che scrive, **Una scrittura** e **Comando di scrittura**. Vedi [Database](driver-database#tag-addressing). |
| LoRaWAN | **Indirizza per canale/tipo Cayenne LPP** (casella di spunta), **Canale / scostamento nel payload**, **Codice di tipo LPP** (con LPP attivo), **Maschera di bit (esadecimale, vuoto = nessuna)**, **Moltiplicatore (vuoto = nessuno)**. |

### Lunghezza sul bus e ordine dei byte {#wire-length-and-byte-order}

| Campo | Mostrato per | Che cos'è |
| --- | --- | --- |
| **Quantità (registri, vuoto = automatico)** | Modbus, solo tag String | Quanti registri a 16 bit leggere; vuoto ne legge 4. Gli altri tipi Modbus prendono una larghezza fissa (un registro per Boolean, Int16 e UInt16, due per Int32 e Float), quindi per loro il campo non viene disegnato. |
| **Lunghezza di lettura (byte, vuoto = automatico)** | Beckhoff, Mitsubishi, LoRaWAN | Il numero di byte; vuoto lo ricava dal tipo: 1 per Boolean, Byte e SByte; 2 per Int16 e UInt16; 4 per Int32, UInt32 e Float; 8 per Int64, UInt64 e Double; 16 per String; 4 altrimenti. |
| **Lunghezza (caratteri, vuoto = 16)** | Omron (FINS, solo tag String) | Quanti caratteri occupa il testo, due per parola, da 1 a 1998; vuoto legge 16. Ogni altro tipo FINS occupa le parole che il suo tipo dice, quindi il campo per esso non viene disegnato. |
| **Byte più significativo per primo (MSB first, big-endian)** | Modbus (tag numerici e tag Boolean tenuti in un registro), LoRaWAN | Quale estremità del valore arriva per prima sul bus; le parole tra parentesi sono quelle che stampano i manuali. Attivo all'inizio per Modbus, disattivo per LoRaWAN. Modbus non definisce alcun ordine dei byte per il testo, quindi a un tag Modbus String non viene offerto. Un Boolean Modbus in una bobina o in un ingresso discreto è un solo bit senza byte da ordinare, quindi nemmeno a lui viene offerto. |
| **Parola più significativa per prima (parola alta per prima)** | Modbus (tag Int32 e Float) | Quale metà a 16 bit guida in un valore su due registri. Attiva all'inizio. Sotto le due caselle, **Ordine dei byte del valore** nomina la disposizione che formano con le lettere che un manuale stampa: ABCD con entrambe attive, CDAB con quella della parola disattiva, BADC con quella del byte disattiva, DCBA con entrambe disattive. Un tipo a un solo registro (Boolean, Int16, UInt16) non ha una seconda metà, quindi lì la casella non viene disegnata; né per LoRaWAN, il cui payload non ha una parola da mettere per prima. |

### Indirizzo di origine (bus) {#source-address-wire}

Un tag Modbus chiude invece il gruppo di campi con **Indirizzo nel manuale**: dove si trova il tag nella notazione che stampa il manuale del dispositivo, la prima cifra della classe e poi il registro contato da 1. Il registro di ingresso 0 si legge 30001, un Float lì si legge da 30001 a 30002, e un registro oltre 9998 passa a sei cifre (il registro di mantenimento 9999 si legge 410000). Il numero scritto in **Numero di registro (base 0)** resta quello che porta la richiesta; vedere [Modbus TCP](driver-modbus-tcp#tag-addressing).

Ogni altro tag non simulato chiude il gruppo di campi con un'anteprima in sola lettura dell'indirizzo che il driver riceve davvero, composto dai campi qui sopra e dai campi di connessione del dispositivo: `DB1?0` per un byte S7, `Program:Main.Counter?0` per un tag Rockwell, `MAIN.fValue?4` per un simbolo ADS, `0,3` per un oggetto BACnet, `ocpp://<charge point>/<connector>`, `<resource>#/Temperatures/0/ReadingCelsius` per Redfish, `<DevEUI>/<channel>/<lpp>?quantity=<n>` per LoRaWAN, `<endpoint>/<cluster>/<attribute>` per Matter, `<topic>?path=<value path>&command=<command topic>` per un tag in MQTT semplice e il nome della metrica per uno Sparkplug B, `listen?extract=position&start=5&length=6` per un tag in ascolto del driver Generic serial and TCP, `D100` (o `D200?16` per un testo) per un tag Omron FINS e `Motor.Speed?0` per uno NJ/NX, `ask=READ?&field=3` per un tag SCPI che legge il terzo valore della sua risposta, `cDAQ1Mod1/ai0?measurement=voltageInput&terminal=diff&min=0&max=10` per un ingresso in tensione NI-DAQmx, `1.3.6.1.2.1.33.1.2.1.0` per un tag SNMP scritto `upsBatteryStatus.0`, `column?name=Force` per un tag File che legge la colonna Force di un file CSV, `row?table=dbo.Orders&column=Quantity&key=OrderNo&equals=4711` per un tag Database che legge la quantità dell'ordine 4711, e il simbolo stesso per OPC UA, AVEVA PI e HTTP (preceduto dal percorso della risorsa del dispositivo).

### Parametri del segnale simulato {#simulated-signal-parameters}

Un tag Simulated non ha campo dell'indirizzo: il punto è il suo nome. Al suo posto: **Tipo di segnale**, un elenco ristretto alle forme che il tipo di dato può comandare, ciascuna con una piccola figura della forma accanto al nome (Sinusoide, Rampa, Cammino casuale e Contatore per i numeri; Commutazione booleana per Boolean; Testo enumerato per String; Orologio per DateTime; GUID casuale per Guid; Byte casuali per ByteString; Setpoint mantenuto e Impulso per qualunque tipo). **Valore predefinito** compare per Cammino casuale, Contatore e Setpoint mantenuto, come campo di testo, come casella di spunta « Predefinito attivo (true) » per Boolean, oppure come campo di data per DateTime. **Stati (separati da punto e virgola)** compare per Testo enumerato: « ad es. Run;Stop;Pause (avanza di un passo ogni 3 s). » I parametri di forma che il pannello non modifica (la banda e il periodo di una sinusoide, la tenuta di un impulso) viaggiano con il tag senza cambiare. La pagina [Simulated](driver-simulated) elenca ogni parametro.

### Valore grezzo {#raw-value}

La scheda si chiude con l'ultima lettura grezza così come il driver l'ha consegnata, prima di ogni conversione e nel formato numerico della stazione; un trattino quando non ce n'è.

## La scheda Conversione {#the-conversion-card}

« Come il valore grezzo diventa il valore ingegneristico. » La scheda viene disegnata per i tipi numerici, booleani e String, che hanno trasformazioni proprie. DateTime, Guid e ByteString passano invariati, quindi la loro scheda porta solo la fase Lettura non valida.

Per un tag **numerico** la scheda è la catena a fasi, dall'alto in basso: **Valore grezzo**, poi **Scalatura** (Angolare (×), Lineare (+), un pulsante **Due punti**), **Taratura** (le stesse tre cose), **Lettura non valida** (due politiche), **Limiti** (Min, Max, Azione), **Decimali** (Decimali) e **Valore ingegneristico** con l'unità. Scalatura, Taratura, Limiti e Decimali portano ciascuna nella propria testa una casella di spunta che accende o spegne la fase, e un risultato a destra: `= value` quando la fase si applica, `→ value` quando viene saltata. Lettura non valida non ha la casella di spunta, perché spegnerla è già una delle sue politiche (**Lascialo passare** per un NaN, **Mostra l'errore** per un dispositivo che non ha risposto): la sua testa porta il titolo e il risultato, sempre `= value`. Un guasto sui limiti tinge di rosso la fase Limiti e stampa « Il valore 130 è fuori dai limiti (da 0 a 100). » sotto la scheda. I calcoli, i valori predefiniti e le politiche sono su [La catena di conversione](connector-value-pipeline); la procedura guidata a due punti e la divisione dei permessi tra Scalatura e Taratura sono su [Taratura](connector-calibration).

Ogni numero della scheda è scritto come il valore dal vivo, nel formato numerico della stazione ([Lingua e formati](settings-localization)): una fase mostra i decimali che il suo risultato ha, sei al massimo, e la fase Decimali, quando è attiva, quelli che dichiara; le fasi di un tag Float si leggono come il float le contiene (239,05, non 239,050003). **Valore ingegneristico** è ciò che il tag fornisce, lo stesso valore che leggono la scheda Valore dal vivo, il registratore e ogni espressione. Un tag intero la cui Scalatura o Taratura cambia il valore fornisce un numero reale: un tag Int16 con scalatura 0,1 mostra 62,40 alla fase Decimali e 62,40 come valore ingegneristico ([La catena di conversione](connector-value-pipeline#raw-first)). Un tag intero che Scalatura e Taratura lasciano com'è fornisce un numero intero, quindi dove Limiti riporta il valore a un limite con decimali e Decimali non arrotonda già a nessun decimale, una nota sotto il valore dice « Int16 contiene solo numeri interi, quindi il tag fornisce il valore ingegneristico arrotondato all'intero più vicino. Per mantenere i decimali prodotti dalla conversione, scegliere Float o Double come tipo di dato. » Su un tag Int64 o UInt64, un valore grezzo o ingegneristico troppo grande perché un numero reale lo contenga esattamente (un conteggio di nanosecondi, per esempio) è scritto con tutte le sue cifre e senza il segno di raggruppamento.

Un tag **Booleano** mostra **Inverti (riporta la negazione del valore grezzo)**, il **Risultato** e le politiche di lettura non valida. Un tag **String** mostra **Inizio della sottostringa** e **Lunghezza (vuoto = fino alla fine)**, il **Risultato** e le politiche di lettura non valida. Un tag **DateTime**, **Guid** o **ByteString** mostra quella fase e nient'altro: la riga **Il dispositivo non ha risposto**, con **Mostra l'errore** e **Mantieni l'ultimo valore buono**. Un tag di Sola scrittura non viene mai letto, quindi la fase lascia fuori la riga del dispositivo che non ha risposto: su un tag numerico resta solo la politica per il NaN, un tag Booleano o String non mostra affatto la fase Lettura non valida, e un tag DateTime, Guid o ByteString non mostra la scheda Conversione.

Oltre Scalatura e Taratura, le fasi numeriche e le trasformazioni booleane e di stringa sono configurazione ordinaria: Configurare Connector le modifica, tutti gli altri le leggono.

## La scheda Valore in tempo reale {#the-live-value-card}

| Voce | Che cosa mostra |
| --- | --- |
| **Valore attuale** | Il valore ingegneristico con la sua unità, nel formato numerico della stazione ([Lingua e formati](settings-localization)): con tanti decimali quanti ne dichiara la fase Decimali (nessuno su un tipo intero che Scalatura e Taratura lasciano com'è) oppure, a fase spenta, con i decimali che ha la lettura, fino a sei; un trattino quando non ce n'è. |
| Nota di sostituzione | Quando il valore non è una misura: « Sostituisce una misura mancante. », « Ultimo valore buono, mantenuto mentre il dispositivo non risponde. » oppure « Sostituisce una lettura non riuscita. », secondo le politiche di lettura non valida. |
| Nota di lettura muta | Quando la lettura è rimasta muta, cioè non ne è arrivata nessuna nuova per l'intervallo di interrogazione del tag più 10 secondi: « Nessuna nuova lettura è arrivata dopo la marca temporale dell'applicazione. Il tag lo considera una lettura non riuscita. » Il valore sopra è ciò che il tag presenta quando [il dispositivo non ha risposto](connector-value-pipeline#the-device-did-not-answer), un trattino come impostazione predefinita, accanto alla nota di sostituzione quando il tag tiene l'ultimo valore buono o lo sostituisce; il punto diventa ambra e lo stato di salute del dispositivo conta il tag come senza risposta. |
| **Marca temporale dell'origine** | Quando l'apparecchiatura ha preso la lettura. Per un dispositivo OPC UA è la marca temporale dell'origine che il server ha inviato con il valore, che un server può tenere finché non cambiano il valore o la sua qualità, così un valore stabile può mostrare una marca precedente alla marca temporale dell'applicazione. Per gli altri driver è l'istante in cui il Connector ha ricevuto la lettura, lo stesso della marca temporale dell'applicazione. Mentre una lettura sta fallendo l'etichetta diventa **Ultimo tentativo** e la marca è quella del tentativo; mentre viene tenuto l'ultimo valore buono o la lettura è rimasta muta, l'etichetta resta **Marca temporale dell'origine** e la marca resta quella di quella lettura. |
| **Marca temporale dell'applicazione** | Quando il Connector l'ha ricevuta. |
| **Valore da scrivere** | Per un tag di Lettura e scrittura o di Sola scrittura, e solo per Configurare Connector: un campo di testo (una casella di spunta « Attivo (true) » per Boolean, un campo di data per DateTime) e **Scrivi**. « Immettere il valore ingegneristico; la scalatura e l'inversione vengono applicate al contrario prima della scrittura. » La riga di stato legge « Immettere un valore da scrivere. » oppure « Non è stato possibile convertire il valore. » prima che qualcosa parta, « Scrittura… » mentre il valore è in viaggio, e poi l'esito. |

Scrivi è grigio con il suo motivo mentre una prova tiene la stazione o il runtime è fermo. È il pannello ad aspettare l'apparecchiatura, non la logica, quindi la riga di stato racconta che cosa è successo davvero al valore e non soltanto che la richiesta è partita; un secondo valore per lo stesso tag viene rifiutato finché il primo è ancora in viaggio. Gli esiti che distingue:

| Riga di stato | Che cosa è successo |
| --- | --- |
| « Valore scritto. » | L'apparecchiatura ha accolto il valore. |
| « Scrittura rifiutata: l'origine è in uso da un'operazione. » | Una prova o un interblocco tiene il tag. Dove il punto di scrittura ha nominato chi lo tiene, al posto del rifiuto compare quella frase (« Scrittura rifiutata: `<motivo>`. »). |
| « Scrittura rifiutata: questo tag è di sola lettura. », « Scrittura rifiutata: questo tag non è più in esecuzione. », « Scrittura rifiutata: il valore non corrisponde al tipo del tag. », « Scrittura rifiutata: in questo momento la stazione non accetta scritture. » | La stazione ha deciso prima che qualcosa partisse. |
| « 'Flow' è stato sostituito da un valore più recente prima dell'invio. » | Un valore più recente per lo stesso tag lo ha superato nella coda del dispositivo ed è partito al suo posto. Non è un guasto: il valore più recente è quello che l'apparecchiatura riceve. |
| « Scrittura annullata prima che raggiungesse l'apparecchiatura. » | La richiesta è stata ritirata mentre aspettava ancora il suo turno. |
| « Scrittura rifiutata dall'apparecchiatura. », « Scrittura rifiutata dall'apparecchiatura: `<motivo>`. » | Il dispositivo o il suo driver ha respinto il valore. Il motivo è quello che ha dato il driver, detto nella lingua della stazione (« l'indirizzo è di sola lettura », « il dispositivo non è connesso »), oppure il codice proprio dell'apparecchiatura, che si legge allo stesso modo in ogni lingua: lo stato di un dispositivo Matter (CONSTRAINT_ERROR, 0x87), un errore ADS (ADS 0x704). Un rifiuto di cui la stazione non sa dire il motivo nella sua lingua compare senza motivo; le parole del driver stesso, in inglese, restano nel diario tecnico. Un errore di cui la stazione conosce il tipo (la risposta di eccezione di un'unità Modbus, una connessione caduta, uno stato HTTP) è detto invece con la frase che gli dà la riga rossa del tag, in ogni lingua, come in [Ultimo errore](connector-health#last-error). |
| « Scrittura non confermata: l'apparecchiatura non ha risposto in tempo. » | Nessuna risposta è arrivata in tempo, quindi non si sa se l'apparecchiatura abbia accolto il valore. |
| « Scrittura non riuscita: non è stato possibile raggiungere l'apparecchiatura. » | Tutto il resto che il filo ha risposto, anzitutto un dispositivo non connesso. |

Che cosa viene percorso all'indietro prima che il valore grezzo esca è su [La catena di conversione](connector-value-pipeline#writes-reverse-the-pipeline).

## La scheda Usato da {#the-used-by-card}

« Tutto ciò che nella stazione legge o scrive questo tag. » La tabella elenca ogni riferimento con **Genere** (Canale, Interblocco di arresto, Automazione, Variabile Logic, Azione Logic, Allarme Logic, Componente della dashboard, Server Modbus, Server OPC UA, Pubblicazione MQTT), **Posizione** (il modello o la dashboard che lo contiene; vuota per i tipi di Logic di primo livello e per una riga della mappa dei registri del [server Modbus](connector-modbus-server)) e **Nome** (per una riga della mappa, la sua classe di registro e il suo indirizzo nel manuale, come Registro di mantenimento (4xxxx) 40101). Senza nessuno, « Non è referenziato da nessun canale o proprietà. » La ricerca è indicativa: un fallimento lascia la griglia vuota. Una riga della mappa tiene il suo tag per identità, quindi segue una ridenominazione; una volta eliminato il tag, continua a nominare il tag che ha perso e un client che la legge riceve l'eccezione 04, per questo è elencata qui, dove il tag si elimina. Una riga dell'[elenco del server OPC UA](connector-opcua-served-nodes) compare allo stesso modo, con il suo accesso come nome, e sostituire il tag sposta la riga sul nuovo. Allo stesso modo compare una riga della [scheda Pubblicare](driver-mqtt#the-publish-card) di un broker, con il broker come posizione e il suo topic come nome; sostituire il tag mantiene il topic.

Per Configurare Connector la scheda aggiunge l'apparato di sostituzione: un selettore che elenca per indirizzo ogni altro tag dello spazio degli indirizzi vivo, un pulsante **Sostituisci tutto**, e un'azione di sostituzione per riga. Sostituisci tutti riscrive ogni riferimento elencato sul tag scelto in un unico lotto tutto o niente (« 4 riferimenti usano ora Connector.Simulated.Air.Pump.Flow. »; « Nessun riferimento da sostituire. »); l'azione di riga ne riscrive uno solo (« 'Furnace temperature' fa ora riferimento a Connector.Simulated.Air.Pump.Flow. », oppure « Nel frattempo il riferimento è cambiato. Aggiornare e riprovare. » quando si è spostato mentre lavoravi). Un riferimento Interblocco di arresto o Automazione è struttura di Process, quindi sostituirlo richiede in più Gestire Process: « Per sostituire l'origine di un interblocco di unità serve il permesso “Gestire Process”. » e « Sostituisci tutto comprende l'origine di un interblocco di unità e richiede il permesso “Gestire Process”. » Finché non si sceglie un tag, Sostituisci tutto e l'azione della riga restano in grigio con il suggerimento « Scegliere prima il tag che riceve questi riferimenti. »; finché un riferimento richiede Gestire Process e il ruolo non lo ha, restano in grigio con la frase qui sopra come suggerimento. Una riga della mappa dei registri del server Modbus passa al tag scelto secondo le regole del server stesso: una riga che un client può scrivere rifiuta un tag che non accetta scritture, e allora non si sostituisce nulla.

## Che cosa non fa la pagina del tag {#what-the-tag-page-does-not-do}

Il dispositivo e il driver di un tag sono fissi; per spostare un punto si crea sull'altro dispositivo e si usa Sostituisci tutti. Qui si modificano le fasi di un solo tag alla volta; le modifiche su più righe sono la modifica di massa della griglia del dispositivo, descritta su [Dispositivi](connector-devices#mass-edit). Nella pagina non c'è storico né andamento: il punto in tempo reale, il valore e le marche temporali sono il campione attuale, aggiornato una volta al secondo.
