# Tags

> La page d'un tag carte par carte : l'en-tête et les verbes, Général, Source de la valeur avec les champs de chaque pilote, Conversion, Valeur en direct avec le champ d'écriture, et Utilisé par avec Tout remplacer.

Un **tag** est un point adressable sur un équipement : une adresse sur le bus, un type de donnée, et la conversion qui transforme la lecture brute en valeur physique. Sélectionnez une ligne de tag sous un équipement, ou pressez Ouvrir sur une ligne de la grille des Tags de l'équipement, pour ouvrir sa page. Voir Connector la lit; Configurer Connector la modifie; Étalonner les tags modifie la seule étape Étalonnage.

## L'en-tête {#the-header}

Un point en direct (vert tant que le tag porte une valeur, ambre quand la valeur est une valeur de remplacement, que l'étape Limites a levé un défaut ou que la lecture s'est tue, gris sinon, et gris peu importe ce qu'il a affiché en dernier sur un tag que la station ne lit pas : un tag désactivé, ou dont l'équipement est désactivé, placé sous une ligne désactivée ou sans hôte encore saisi), le nom du tag, et en dessous l'adresse du tag, `Connector.<Pilote>.<Dossiers…>.<Équipement>.<Tag>`, qui est ce que tapent Logic et les tableaux de bord. En dessous, quand elles s'appliquent : une note de prudence avec l'indication de validation (un nom vide, une adresse manquante, un facteur de 0) et la dernière erreur en rouge. Tant que l'équipement du tag n'est pas connecté, un avis neutre renvoie à l'équipement au lieu de répéter l'échec de connexion : « Ce tag passe par l'équipement Furnace, qui n'est pas connecté. La page de l'équipement indique pourquoi. »

## La barre de commandes {#the-command-bar}

| Commande | Ce qu'elle fait | Grisée quand (situation) | Non dessinée quand (rôle) |
| --- | --- | --- | --- |
| **Copier la valeur** | Copie la valeur physique telle qu'elle est affichée dans le presse-papiers (« Valeur de « Temperature » copiée dans le presse-papiers. »). | Jamais. | Jamais. |
| **Activer** | Remet le tag dans l'acquisition et dans l'espace d'adressage vivant. | Déjà activé, ou la station refuse les modifications. | Sans Configurer Connector. |
| **Désactiver** | Retire le tag de l'acquisition et de l'espace d'adressage vivant; l'équipement continue de scruter ses autres tags. | Déjà désactivé, ou la station refuse les modifications. | Sans Configurer Connector. |
| **Supprimer le tag** (encre de danger, à droite) | Demande « Supprimer « Temperature »? Cela le retire de « Furnace ». Cette action est irréversible. », supprime, et sélectionne l'équipement. | La station refuse les modifications. | Sans Configurer Connector. |

Chaque carte s'enregistre automatiquement comme décrit sur [Connector](connector#the-detail-panel). Les cartes Général et Source de la valeur sont tenues inertes pour un rôle sans Configurer Connector, avec la note « Modifier le Connector demande la permission « Configurer Connector ». » au-dessus.

## La carte Général {#the-general-card}

| Champ | Ce que c'est | Valeurs et valeur par défaut | Effet |
| --- | --- | --- | --- |
| **Nom du tag** | Le nom du point; le dernier segment de la clé de bus comme de l'adresse. | Obligatoire. | La frappe annonce d'avance combien de références le renommage emporte; la validation les réécrit : « Tag renommé et 2 références mises à jour. » Un nom vide est refusé : « Le nom du tag est obligatoire. » Les tags OCPP doivent finir par Meter, Status ou Transaction : « Un nom de tag OCPP doit se terminer par 'Meter', 'Status' ou 'Transaction' (par exemple Connector1Meter). » |
| **Type de donnée** | Le type scalaire OPC UA que le serveur intégré expose. | Boolean, SByte, Byte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Float, Double, String, DateTime, Guid, ByteString, réduits à ce que le pilote sait transporter; Float par défaut là où le pilote l'a, sinon le premier type qu'il offre. | Le changer aligne ce qui en dépend : une action de limite NaN devient Null sur un type qui ne peut pas porter NaN, la politique NaN revient à laisser passer sur un type non numérique, une nature de signal simulé incompatible avec le type est remplacée par celle du type par défaut, et une classe de registre Modbus franchit la frontière bit/registre avec le type. La carte Conversion change de forme avec lui. |
| **Accès** | Si la station lit, écrit, ou les deux. | Lecture seule, Écriture seule, Lecture et écriture; Lecture seule. OCPP et LoRaWAN n'offrent que Lecture seule. Un tag Matter ne propose l'écriture que pour une valeur que le pilote peut changer, et sinon dit pourquoi sous le champ ([Un tag créé à la main](driver-matter#a-tag-made-by-hand)). Un tag NI-DAQmx propose les accès que sa mesure admet ([Mesures](driver-ni-daqmx#measurements)). Un tag SNMP sur un objet standard que sa MIB déclare en lecture seule ne propose que Lecture seule, et dit pourquoi sous le champ ([Types de donnée et accès](driver-snmp#data-types-and-access)). Un tag File ne propose que Lecture seule tant que son équipement n'autorise pas l'écriture, et une donnée du fichier reste en lecture seule ([Ce qu'un tag lit](driver-file#what-a-tag-reads)). Un tag Database ne montre ce que fait une écriture qu'une fois que son accès écrit ([Écriture](driver-database#writing)). | Lecture et écriture et Écriture seule dessinent le champ d'écriture sur la carte Valeur en direct; un tag en Écriture seule n'est pas scruté, ne compte pas dans l'état de santé de l'équipement et n'a aucune politique pour une lecture en échec, puisque la station ne le lit jamais. |
| **Unité** | L'unité physique, en texte libre. | Vide. | Montrée à côté de chaque résultat d'étape et de la valeur physique, et partout où la valeur est affichée. |
| **Intervalle de scrutation (ms)** | Un remplacement, par tag, de l'intervalle de scrutation de l'équipement. | 0 (employer la valeur de l'équipement); une valeur négative est enregistrée comme 0. | Masqué pour Mitsubishi MC, BACnet, OCPP, LoRaWAN et MQTT, qui l'ignorent. |

## La carte Source de la valeur {#the-source-card}

« D'où vient la valeur de ce tag, et la dernière lecture brute. » Les champs dépendent du pilote; les pages des pilotes expliquent la sémantique, ceci est l'inventaire tel que le volet le dessine.

### Adresse en texte libre {#free-text-address}

Les pilotes adressés par un jeton que vous tapez montrent un seul champ, intitulé selon le pilote : **ID de nœud** (OPC UA), **Symbole** (Beckhoff ADS), **Adresse d'équipement** (Mitsubishi MC), **Tag d'automate** (Rockwell), **Chemin de la ressource** (Redfish), **Chemin PI** (AVEVA PI), **Chemin** (HTTP), **Topic MQTT** ou **Métrique** (MQTT, selon que le protocole de l'équipement est MQTT simple ou Sparkplug B), **Adresse mémoire** ou **Nom de variable** (Omron, selon que le protocole de l'équipement est FINS ou Tags NJ/NX par nom), **Requête** (SCPI instruments), **Voie physique** (NI-DAQmx), **OID** (SNMP), avec l'indication du pilote en dessous. Le champ est obligatoire pour ces pilotes : « ID de nœud est obligatoire pour ce pilote. »

### Champs typés par pilote {#typed-fields-per-driver}

| Pilote | Champs |
| --- | --- |
| Modbus TCP, Modbus RTU | **Classe de registre** (Bobine (0xxxx), Entrée discrète (1xxxx), Registre d'entrée (3xxxx), Registre de maintien (4xxxx) : chacune avec le premier chiffre que l'adresse du manuel de l'équipement porte pour elle; la valeur par défaut suit le type et l'accès : un booléen en lecture seule est une entrée discrète, un booléen inscriptible une bobine, un nombre en lecture seule un registre d'entrée, un nombre inscriptible un registre de maintien) et **Numéro de registre (base 0)**. |
| Siemens S7 | **Zone** (DataBlock, Merker, ProcessInput, ProcessOutput, Timer, Counter), **Numéro de DB** (DataBlock seulement), **Octet de début**, **Bit (0-7)** (tags booléens), **Longueur maximale (vide = 254)** (tags de texte). |
| Rockwell | **Décalage dans le tag (octets, bits pour BOOL)**, après le champ Tag d'automate; 0 est le début du tag. |
| BACnet | **Type d'objet** (AnalogInput, AnalogOutput, AnalogValue, BinaryInput, BinaryOutput, BinaryValue, MultiStateInput, MultiStateOutput, MultiStateValue) et **Numéro d'instance**. C'est la valeur présente qui est lue. |
| OCPP | **Connecteur** (le numéro du connecteur, 1 par défaut), avec la note « Nommez le tag …Meter (relevé d'énergie), …Status (état du connecteur) ou …Transaction (numéro de la transaction en cours). » |
| Redfish | **Pointeur JSON (vide = document entier)**, « par exemple /Temperatures/0/ReadingCelsius », après le chemin de ressource. |
| Matter | **Sortie (endpoint)**, **Cluster Matter** et **Attribut**, sur une seule ligne; le cluster se choisit dans le catalogue Matter par son nom. Les tags d'un équipement Matter viennent le plus souvent de l'équipement lui-même, cochés après l'appairage ou dans Découvrir (voir [Matter](driver-matter#tags)); ces champs servent au tag rare créé à la main. |
| MQTT | Sur un équipement en MQTT simple, **Chemin de la valeur** (où se trouve la valeur dans une charge utile JSON; vide, il lit toute la charge utile), **Topic de commande** (où une écriture est publiée; vide, il laisse le tag en lecture seule) et **Modèle de charge utile** (le JSON que publie une écriture, avec `{value}` là où va la valeur), après le champ Topic MQTT. Une métrique Sparkplug B n'en a aucun : voir [MQTT](driver-mqtt#tag-addressing). |
| Generic serial and TCP | Aucune adresse à saisir : **Mode de lecture** (Requête et réponse ou Écoute), **Requête**, **Filtre des messages**, **La valeur est** avec les champs de l'extraction qu'il nomme, **L'équipement écrit une virgule comme séparateur décimal** (Float et Double) et, sur un tag écrit, **Message d'écriture** et **Réponse attendue**. Voir [Generic serial and TCP](driver-generic-serial-tcp#tag-addressing). |
| SCPI instruments | À côté de la Requête, **Valeur de la réponse** (quelle valeur d'une réponse séparée par des virgules est celle du tag, comptée à partir de 1; vide, la réponse entière est lue) sur un tag qui est lu, et **Commande d'écriture** (ce qu'envoie une écriture, avec `{value}` là où va la valeur) sur un tag qui est écrit. Voir [SCPI instruments](driver-scpi#tag-addressing). |
| NI-DAQmx | À côté de la Voie physique, **Mesure** et les champs de la mesure : la plage dans son unité (**Valeur minimale** et **Valeur maximale**), **Configuration des bornes**, **Résistance de shunt** et **Valeur du shunt (Ω)**, **Type de thermocouple**, **Compensation de soudure froide (CJC)** et **Température CJC (°C)**, **Front compté**, **Sens du comptage**, **Comptage initial** et **Borne d'entrée**, chacun dessiné seulement là où la mesure le lit. Voir [NI-DAQmx](driver-ni-daqmx#tag-addressing). |
| SNMP | Sous l'OID, en lecture seule : **Nom dans la MIB**, le nom standard de l'objet avec ce que sa MIB en dit (ou « Aucun nom standard »), et **OID numérique**, le numéro que porte chaque requête. Voir [SNMP](driver-snmp#the-oid). |
| File | Aucune adresse à saisir : **Lit** (une valeur, le fichier entier ou une donnée du fichier) et, pour une valeur, les champs du format de l'équipement : **Colonne** et **Ligne à lire** (CSV), **Ligne à lire** et **La valeur est** (texte libre), **Chemin JSON** ou **Chemin XML**; sur un équipement qui autorise l'écriture, **Une écriture** et **Modèle de ligne**. Voir [File](driver-file#tag-addressing). |
| Database | Aucune adresse à saisir : **Lit** (**Table et colonne** ou **Requête propre**) et ses champs : **Table de la valeur**, **Colonne de la valeur** et **Ligne à lire**, avec **Colonne clé** et **Valeur clé** ou **Colonne de date**, ou **Texte de la requête**; sur un tag qui écrit, **Une écriture** et **Commande d'écriture**. Voir [Database](driver-database#tag-addressing). |
| LoRaWAN | **Adresser par canal/type Cayenne LPP** (case), **Canal / décalage dans la charge utile**, **Code de type LPP** (avec LPP activé), **Masque binaire (hexadécimal, vide = aucun)**, **Multiplicateur (vide = aucun)**. |

### Longueur sur le bus et ordre des octets {#wire-length-and-byte-order}

| Champ | Montré pour | Ce que c'est |
| --- | --- | --- |
| **Quantité (registres, vide = automatique)** | Modbus, tags de texte seulement | Combien de registres de 16 bits lire; vide en lit 4. Les autres types Modbus prennent une largeur fixe (un registre pour un booléen, un Int16 et un UInt16, deux pour un Int32 et un Float) : le champ ne leur est donc pas dessiné. |
| **Longueur de lecture (octets, vide = automatique)** | Beckhoff, Mitsubishi, LoRaWAN | Le nombre d'octets; vide le déduit du type : 1 pour Boolean, Byte et SByte; 2 pour Int16 et UInt16; 4 pour Int32, UInt32 et Float; 8 pour Int64, UInt64 et Double; 16 pour String; 4 sinon. |
| **Longueur (caractères, vide = 16)** | Omron (FINS, tags String seulement) | Combien de caractères le texte occupe, deux par mot, de 1 à 1998; vide lit 16. Tout autre type FINS occupe les mots que dit son type, si bien que le champ n'est pas dessiné pour lui. |
| **Octet de poids fort en premier (MSB first, gros-boutiste)** | Modbus (tags numériques, et tags booléens gardés dans un registre), LoRaWAN | Quel bout de la valeur passe en premier sur le bus; les mots entre parenthèses sont ceux que les manuels impriment. Activé par défaut pour Modbus, désactivé pour LoRaWAN. Modbus ne définit aucun ordre d'octets pour le texte : un tag Modbus de texte ne se le voit donc pas offrir. Un booléen Modbus dans une bobine ou une entrée discrète est un seul bit, sans octet à ordonner : il ne se le voit pas offrir non plus. |
| **Mot de poids fort en premier (mot haut en premier)** | Modbus (tags Int32 et Float) | Quelle moitié de 16 bits mène dans une valeur sur deux registres. Activé par défaut. Sous les deux zones, **Ordre des octets de la valeur** nomme la disposition qu'elles forment avec les lettres qu'un manuel imprime : ABCD avec les deux cochées, CDAB avec la zone du mot décochée, BADC avec celle de l'octet décochée, DCBA avec les deux décochées. Un type sur un seul registre (booléen, Int16, UInt16) n'a pas de seconde moitié : la zone n'y est donc pas dessinée, pas plus que pour LoRaWAN, dont la charge utile n'a pas de mot à mettre en premier. |

### Adresse source (bus) {#source-address-wire}

Un tag Modbus termine le groupe de champs par **Adresse dans le manuel** : l'endroit où se trouve le tag dans la notation que le manuel de l'équipement imprime, le premier chiffre de la classe puis le registre compté à partir de 1. Le registre d'entrée 0 se lit 30001, un Float à cet endroit se lit de 30001 à 30002, et un registre au-delà de 9998 passe à six chiffres (le registre de maintien 9999 se lit 410000). Le numéro saisi dans **Numéro de registre (base 0)** reste celui que la requête porte; voir [Modbus TCP](driver-modbus-tcp#tag-addressing).

Chaque autre tag non simulé termine le groupe de champs par un aperçu en lecture seule de l'adresse que le pilote reçoit réellement, assemblée à partir des champs ci-dessus et des champs de connexion de l'équipement : `DB1?0` pour un octet S7, `Program:Main.Counter?0` pour un tag Rockwell, `MAIN.fValue?4` pour un symbole ADS, `0,3` pour un objet BACnet, `ocpp://<borne>/<connecteur>`, `<ressource>#/Temperatures/0/ReadingCelsius` pour Redfish, `<DevEUI>/<canal>/<lpp>?quantity=<n>` pour LoRaWAN, `<endpoint>/<cluster>/<attribut>` pour Matter, `<topic>?path=<value path>&command=<command topic>` pour un tag en MQTT simple et le nom de la métrique pour un tag Sparkplug B, `listen?extract=position&start=5&length=6` pour un tag en écoute du pilote Generic serial and TCP, `D100` (ou `D200?16` pour un texte) pour un tag Omron FINS et `Motor.Speed?0` pour un tag NJ/NX, `ask=READ?&field=3` pour un tag SCPI qui lit la troisième valeur de sa réponse, `cDAQ1Mod1/ai0?measurement=voltageInput&terminal=diff&min=0&max=10` pour une entrée de tension NI-DAQmx, `1.3.6.1.2.1.33.1.2.1.0` pour un tag SNMP écrit `upsBatteryStatus.0`, `column?name=Force` pour un tag File qui lit la colonne Force d'un fichier CSV, `row?table=dbo.Orders&column=Quantity&key=OrderNo&equals=4711` pour un tag Database qui lit la quantité de l'ordre 4711, et le jeton lui-même pour OPC UA, AVEVA PI et HTTP (préfixé par le chemin de ressource de l'équipement).

### Paramètres d'un signal simulé {#simulated-signal-parameters}

Un tag Simulated n'a pas de champ d'adresse : son nom est le point. À la place : **Nature du signal**, une liste réduite aux formes que le type de donnée peut piloter, chacune avec une petite image de la forme à côté de son nom (Sinus, Rampe, Marche aléatoire et Compteur pour les nombres; Booléen alterné pour un booléen; Texte énuméré pour du texte; Horloge pour DateTime; GUID aléatoire pour Guid; Octets aléatoires pour ByteString; Maintien de consigne et Impulsion pour tout type). **Valeur par défaut** apparaît pour Marche aléatoire, Compteur et Maintien de consigne, sous la forme d'un champ de texte, d'une case « Actif par défaut (true) » pour un booléen, ou d'un champ de date pour DateTime. **États (séparés par des points-virgules)** apparaît pour Texte énuméré : « par exemple Run;Stop;Pause (avance d'un cran toutes les 3 s). » Les paramètres de forme que le volet ne modifie pas (la bande et la période d'une sinusoïde, le maintien d'une impulsion) voyagent avec le tag sans changer. La page [Simulated](driver-simulated) liste chaque paramètre.

### Valeur brute {#raw-value}

La carte se ferme sur la dernière lecture brute telle que le pilote l'a livrée, avant toute conversion et dans le format de nombre de la station; un tiret quand il n'y en a pas.

## La carte Conversion {#the-conversion-card}

« Comment la valeur brute devient la valeur physique. » La carte est dessinée pour les types numériques, booléens et textuels, qui ont chacun leurs propres transformations. DateTime, Guid et ByteString passent inchangés, si bien que leur carte ne contient que l'étape Lecture non valide.

Pour un tag **numérique**, la carte est la chaîne par étapes, de haut en bas : **Valeur brute**, puis **Mise à l'échelle** (Angulaire (×), Linéaire (+), un bouton **Deux points**), **Étalonnage** (les mêmes trois), **Lecture non valide** (deux politiques), **Limites** (Mini, Maxi, Action), **Décimales** (Décimales) et **Valeur physique** avec l'unité. Mise à l'échelle, Étalonnage, Limites et Décimales portent chacune une case dans leur en-tête qui active ou désactive l'étape, et un résultat à droite : `= valeur` quand l'étape s'applique, `→ valeur` quand elle est contournée. Lecture non valide n'a pas de case, parce que la désactiver est déjà l'une de ses politiques (**Laisser passer** pour un NaN, **Afficher l'erreur** pour un équipement qui n'a pas répondu) : son en-tête contient le titre et le résultat, toujours `= valeur`. Un défaut de limite passe l'étape Limites au rouge et écrit « La valeur 130 est hors des limites (de 0 à 100). » sous la carte. Le calcul, les valeurs par défaut et les politiques sont sur [La chaîne de conversion](connector-value-pipeline); l'assistant à deux points et le partage de permission entre Mise à l'échelle et Étalonnage sont sur [Étalonnage](connector-calibration).

Chaque nombre de la carte s'écrit comme la valeur en direct, dans le format de nombre de la station ([Localisation](settings-localization)) : une étape montre les décimales que son résultat possède, six au plus, et l'étape Décimales, quand elle est activée, celles qu'elle déclare; les étapes d'un tag Float se lisent comme le flottant les porte (239,05, et non 239,050003). **Valeur physique** est ce que le tag fournit, la même valeur que lisent la carte Valeur en direct, l'enregistreur et chaque expression. Un tag entier dont la Mise à l'échelle ou l'Étalonnage change la valeur fournit un nombre réel : un tag Int16 mis à l'échelle par 0,1 affiche 62,40 à l'étape Décimales et 62,40 comme valeur physique ([La chaîne de conversion](connector-value-pipeline#raw-first)). Un tag entier que la Mise à l'échelle et l'Étalonnage laissent tel quel fournit un nombre entier : là où Limites écrête sur une borne avec des décimales et où Décimales n'arrondit pas déjà à zéro décimale, une note sous la valeur dit « Int16 ne contient que des nombres entiers : le tag fournit donc la valeur physique arrondie à l'entier le plus proche. Pour garder les décimales que produit la conversion, choisissez Float ou Double comme type de donnée. » Sur un tag Int64 ou UInt64, une valeur brute ou physique trop grande pour qu'un nombre réel la porte exactement (un compteur de nanosecondes, par exemple) s'écrit avec tous ses chiffres et sans la marque de groupement.

Un tag **Booléen** montre **Inverser (rapporter la négation de la valeur brute)**, le **Résultat**, et les politiques de lecture invalide. Un tag **textuel** montre **Début de la sous-chaîne** et **Longueur (vide = jusqu'à la fin)**, le **Résultat**, et les politiques de lecture invalide. Un tag **DateTime**, **Guid** ou **ByteString** montre cette étape, sans rien d'autre : la ligne **L'équipement n'a pas répondu**, avec **Afficher l'erreur** et **Maintenir la dernière valeur correcte**. Un tag en Écriture seule n'est jamais lu, si bien que l'étape laisse de côté la ligne de l'équipement qui n'a pas répondu : un tag numérique ne garde que la politique NaN, un tag booléen ou textuel ne montre aucune étape Lecture non valide, et un tag DateTime, Guid ou ByteString ne montre aucune carte Conversion.

Passé la Mise à l'échelle et l'Étalonnage, les étapes numériques et les transformations booléenne et textuelle sont de la configuration ordinaire : Configurer Connector les modifie, tous les autres les lisent.

## La carte Valeur en direct {#the-live-value-card}

| Élément | Ce qu'il montre |
| --- | --- |
| **Valeur actuelle** | La valeur physique avec son unité, dans le format de nombre de la station ([Localisation](settings-localization)) : avec autant de décimales que l'étape Décimales en déclare (aucune pour un type entier que la Mise à l'échelle et l'Étalonnage laissent tel quel) ou, quand l'étape est désactivée, avec les décimales qu'a la lecture, six au plus; un tiret quand il n'y en a pas. |
| Note de valeur de remplacement | Quand la valeur n'est pas une mesure : « Remplace une mesure absente. », « Dernière valeur correcte, maintenue tant que l'équipement ne répond pas. » ou « Remplace une lecture en échec. », selon les politiques de lecture invalide. |
| Note de lecture muette | Quand la lecture s'est tue, c'est-à-dire qu'aucune nouvelle n'est arrivée pendant l'intervalle de scrutation du tag plus 10 secondes : « Aucune nouvelle lecture n'est arrivée depuis l'horodatage de l'application. Le tag compte cela comme une lecture en échec. » La valeur au-dessus est ce que le tag présente quand [l'équipement n'a pas répondu](connector-value-pipeline#the-device-did-not-answer), un tiret par défaut, à côté de la note de valeur de remplacement quand le tag conserve sa dernière bonne valeur ou la remplace; le point passe à l'ambre, et l'état de santé de l'équipement compte le tag comme ne répondant pas. |
| **Horodatage source** | Quand l'équipement a pris la lecture. Pour un équipement OPC UA, c'est l'horodatage source que le serveur a envoyé avec la valeur; un serveur peut le garder jusqu'à ce que la valeur ou sa qualité change, si bien qu'une valeur stable peut afficher un horodatage antérieur à l'horodatage de l'application. Pour les autres pilotes, c'est l'instant où le Connector a reçu la lecture, le même que l'horodatage de l'application. Pendant qu'une lecture échoue, le libellé devient **Dernière tentative** et l'horodatage est celui de la tentative; pendant que la dernière bonne valeur est conservée ou que la lecture s'est tue, le libellé reste **Horodatage source** et l'horodatage reste celui de cette lecture. |
| **Horodatage de l'application** | Quand le Connector l'a reçue. |
| **Valeur à écrire** | Pour un tag en Lecture et écriture ou en Écriture seule, et pour Configurer Connector seulement : un champ de texte (une case « Actif (true) » pour un booléen, un champ de date pour DateTime) et **Écrire**. « Saisissez la valeur physique; la mise à l'échelle et l'inversion sont défaites avant l'écriture. » La ligne d'état indique « Saisissez une valeur à écrire. » ou « La valeur n'a pas pu être convertie. » avant que quoi que ce soit ne parte, « Écriture… » pendant que la valeur est en route, puis le résultat. |

Écrire est grisé avec sa raison pendant qu'un essai tient la station ou que le runtime est arrêté. C'est le volet qui attend l'équipement, pas la logique : la ligne d'état rapporte donc ce qui est réellement arrivé à la valeur, et non simplement que la demande est partie; une deuxième valeur pour le même tag est refusée tant que la première voyage encore. Les résultats qu'elle distingue :

| Ligne d'état | Ce qui s'est passé |
| --- | --- |
| « Valeur écrite. » | L'équipement a pris la valeur. |
| « Écriture refusée : la source est utilisée par une opération. » | Un essai ou un verrouillage retient le tag. Là où le canal a nommé qui la retient, c'est cette phrase qui s'écrit à la place du refus (« Écriture refusée : `<la raison>`. »). |
| « Écriture refusée : ce tag est en lecture seule. », « Écriture refusée : ce tag n'est plus en service. », « Écriture refusée : la valeur ne correspond pas au type du tag. », « Écriture refusée : la station n'accepte pas d'écriture en ce moment. » | La station a tranché avant que quoi que ce soit ne parte. |
| « « Flow » a été remplacé par une valeur plus récente avant l'envoi. » | Une valeur plus récente pour le même tag a devancé celle-ci dans la file de l'équipement et est partie à sa place. Ce n'est pas un échec : c'est la valeur la plus récente qui est dite à l'équipement. |
| « Écriture annulée avant d'atteindre l'équipement. » | La demande a été retirée pendant qu'elle attendait encore son tour. |
| « Écriture refusée par l'équipement. », « Écriture refusée par l'équipement : `<la raison>`. » | L'équipement ou son pilote a refusé la valeur. La raison est celle que le pilote a donnée, dite dans la langue de la station (« l'adresse est en lecture seule », « l'équipement n'est pas connecté »), ou le code propre à l'équipement, qui se lit de la même façon dans toutes les langues : le statut d'un équipement Matter (CONSTRAINT_ERROR, 0x87), une erreur ADS (ADS 0x704). Un refus dont la station ne sait pas dire la raison dans sa langue s'affiche sans raison; les mots du pilote lui-même, en anglais, sont dans le journal technique. Un échec dont la station connaît le genre (la réponse d'exception d'une unité Modbus, une connexion tombée, un statut HTTP) est dit à la place dans la phrase que lui donne la ligne rouge du tag, dans toutes les langues, comme sous [Dernière erreur](connector-health#last-error). |
| « Écriture non confirmée : l'équipement n'a pas répondu à temps. » | Aucune réponse n'est arrivée à temps, donc on ne sait pas si l'équipement a pris la valeur. |
| « Échec de l'écriture : l'équipement n'a pas pu être joint. » | Tout le reste de ce que le fil a répondu, d'abord un équipement qui n'est pas connecté. |

Ce qui est remonté avant que la valeur brute ne parte est sur [La chaîne de conversion](connector-value-pipeline#writes-reverse-the-pipeline).

## La carte Utilisé par {#the-used-by-card}

« Tout ce qui, dans la station, lit ou écrit ce tag. » Le tableau liste chaque référence avec **Nature** (Voie, Verrouillage d'arrêt, Automatisme, Variable Logic, Action Logic, Alarme, Tableau de bord, Serveur Modbus, Serveur OPC UA, Publication MQTT), **Emplacement** (le modèle ou le tableau de bord qui la porte; vide pour les natures Logic de premier niveau et pour une ligne de la table des registres du [serveur Modbus](connector-modbus-server)) et **Nom** (pour une ligne de la table, sa classe de registre et son adresse dans le manuel, par exemple Registre de maintien (4xxxx) 40101). Sans aucune, « Référencé par aucune voie ni propriété. » La recherche est indicative : un échec laisse la grille vide. Une ligne de la table tient son tag par son identité, elle suit donc un renommage; une fois le tag supprimé, elle continue de nommer le tag qu'elle a perdu et un client qui la lit reçoit l'exception 04 : c'est pourquoi elle est listée ici, là où le tag se supprime. Une ligne de la [liste du serveur OPC UA](connector-opcua-served-nodes) apparaît de la même façon, avec son accès pour nom, et remplacer le tag déplace la ligne vers le nouveau. De même pour une ligne de la [carte Publier](driver-mqtt#the-publish-card) d'un broker, avec le broker pour emplacement et son topic pour nom; remplacer le tag garde le topic.

Pour Configurer Connector, la carte ajoute l'appareillage de remplacement : un sélecteur qui liste par adresse chaque autre tag de l'espace d'adressage vivant, un bouton **Tout remplacer**, et une action de remplacement par ligne. Tout remplacer réécrit chaque référence listée vers le tag choisi, en un seul lot tout ou rien (« 4 références utilisent désormais Connector.Simulated.Air.Pump.Flow. »; « Aucune référence à remplacer. »); l'action de ligne n'en réécrit qu'une (« « Furnace temperature » référence désormais Connector.Simulated.Air.Pump.Flow. », ou « La référence a changé entre-temps. Actualisez et réessayez. » quand elle a bougé sous vos pieds). Une référence de verrouillage d'arrêt ou d'automatisme est de la structure de Process : la remplacer demande donc Gérer Process en plus : « Remplacer la source d'un verrouillage d'unité demande la permission « Gérer Process ». » et « Tout remplacer inclut la source d'un verrouillage d'unité et demande la permission « Gérer Process ». » Tant qu'aucun tag n'est choisi, Tout remplacer et l'action de la ligne restent grisés, avec l'infobulle « Choisissez d'abord le tag qui reçoit ces références. »; tant qu'une référence demande Gérer Process et que le rôle ne l'a pas, ils restent grisés avec la phrase ci-dessus pour infobulle. Une ligne de la table des registres du serveur Modbus passe au tag choisi selon les règles du serveur lui-même : une ligne qu'un client peut écrire refuse un tag qui n'accepte pas d'écriture, et rien n'est alors remplacé.

## Ce que la page d'un tag ne fait pas {#what-the-tag-page-does-not-do}

L'équipement et le pilote du tag sont fixes; déplacez un point en le créant sur l'autre équipement et en employant Tout remplacer. Les étapes d'un seul tag se modifient ici à la fois; les modifications sur plusieurs lignes sont la modification en lot de la grille de l'équipement, décrite sur [Équipements](connector-devices#mass-edit). Il n'y a ni historique ni courbe sur la page : le point en direct, la valeur et les horodatages sont l'échantillon courant, rafraîchi une fois par seconde.
