> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/french/function-blocks/blocks-reference/input-output/communication/opc-ua-write.md).

# OPC UA Write

Ce bloc fonction envoie une valeur à une adresse de serveur OPC UA en utilisant la connexion client fournie. Utilisez-le pour mettre à jour des variables distantes depuis votre scénario avec un type de donnée sélectionnable.

## 📥 Entrées

`Client`\
Instance du client OPC UA à utiliser pour l'opération d'écriture (typiquement fournie par le bloc `OPC UA Client`)

`Node Address`\
L'adresse du nœud cible sur le serveur OPC UA où la valeur sera écrite

`Value`\
La valeur à envoyer au nœud cible

## 📤 Sorties

Ce bloc fonction ne fournit pas de sorties.

## 🕹️ Contrôles

`Data type`\
Menu déroulant pour sélectionner le type de variant OPC UA utilisé lors de l'écriture de la valeur. Les types courants comprennent Float, Boolean, variantes Integer, Double et String.

## 🎨 Fonctionnalités

* Écriture avec sélection explicite du type de donnée afin que la variable cible reçoive le type attendu.
* Fonctionne avec une instance de client OPC UA externe pour séparer la gestion de la connectivité.
* Interface minimale : ne nécessite que les entrées et la sélection du type de donnée pour fonctionner.

## ⚙️ Mécanisme d'exécution

Lorsque le bloc est évalué durant l'exécution d'un scénario et que les trois entrées sont fournies, il tentera d'envoyer la `Value` indiquée à l'`Node Address` spécifiée en utilisant la connexion `Client` fournie et le `Data type` choisi. Assurez-vous que le client est connecté et que l'adresse est valide avant d'exécuter afin d'éviter des échecs d'écriture.

## 📝 Instructions d'utilisation

1. Ajoutez et configurez un bloc `OPC UA Client` pour établir et gérer la connexion au serveur.
2. Fournissez la sortie du client à l'entrée `Client`.
3. Indiquez l'adresse du nœud cible dans l'entrée `Node Address`.
4. Fournissez la donnée à écrire dans l'entrée `Value`.
5. Sélectionnez le `Data type` approprié dans le menu déroulant correspondant au type de la variable sur le serveur.
6. Exécutez le scénario ou gatez l'écriture avec un signal logique pour que les écritures n'aient lieu que lorsque désiré.

## 💡 Astuces

* Utilisez le bloc `OPC UA Client` conjointement avec ce bloc pour gérer le cycle de vie de la connexion et réutiliser le même client pour les lectures et écritures.
* Associez-le au bloc `OPC UA Read` pour vérifier les valeurs actuelles avant d'écrire ou pour implémenter des flux read-verify-write.
* Servez-vous d'un bloc `Logic Input` pour déclencher les écritures uniquement lorsqu'une condition est remplie (par exemple, écriture sur pression d'un bouton ou lorsque une mesure dépasse un seuil).
* Enregistrez ou journalisez les valeurs avec `Data Write Global` / `Data Write Local` ou exportez-les via `CSV Export` pour conserver un historique des écritures.
* Pour les valeurs numériques, préférez sélectionner le `Data type` entier/float correspondant afin d'éviter des erreurs de conversion de type côté serveur.

## 🛠️ Dépannage

* Aucun client fourni : assurez-vous que l'entrée `Client` est connectée (utilisez le bloc `OPC UA Client`).
* Erreurs de connexion : confirmez que le bloc client OPC UA affiche une connexion réussie au serveur avant d'essayer d'écrire.
* Mauvaise adresse : vérifiez que la chaîne `Node Address` est exactement l'adresse attendue par le serveur.
* Incompatibilité de type : si le serveur rejette la valeur, essayez de changer le `Data type` pour correspondre exactement au type de la variable cible (ex. Float vs Double, bonne taille d'entier).
* Contrôler les écritures involontaires : gatez l'entrée avec un bloc `Logic Input` ou d'autres blocs logiques pour que les écritures n'aient lieu que lorsque souhaité.
