> 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-client.md).

# OPC UA Client

Ce bloc de fonction établit et maintient une connexion à un serveur OPC UA afin que d'autres blocs de communication puissent lire depuis ou écrire vers ce serveur. Il propose des champs simples pour l'adresse du serveur et des identifiants optionnels, surveille l'état de la connexion et tente une reconnexion automatique si nécessaire.

## 📥 Entrées

`(none)`

Ce bloc n'exige pas d'entrées pour fonctionner. Il agit comme fournisseur de communication pour d'autres blocs.

## 📤 Sorties

`Client`\
Fournit l'objet client OPC UA connecté que d'autres blocs de communication peuvent utiliser pour effectuer des opérations de lecture/écriture.

## 🕹️ Contrôles

`Username`\
Saisissez le nom d'utilisateur si le serveur OPC UA requiert une authentification. Laisser vide pour un accès anonyme.

`Password`\
Saisissez le mot de passe associé au nom d'utilisateur. Ce champ masque la saisie pour des raisons de confidentialité.

`Server Address`\
Saisissez l'adresse du serveur sous la forme IP:port (par exemple 192.168.1.10:4840) ou une URL OPC UA complète (par exemple opc.tcp\://host:port). Le bloc utilisera cette valeur pour se connecter au serveur.

## 🎨 Fonctionnalités

* Gestion automatique de la connexion : le bloc se connecte lorsque l'adresse est définie et tentera de se reconnecter si la connexion est perdue ou si l'adresse change.
* Support de l'authentification : champs optionnels `Username` et `Password` pour les serveurs sécurisés.
* Surveillance de la santé de la connexion : avertit ou journalise lorsque le client ne peut pas atteindre le serveur.
* Déconnexion propre : libère la connexion lorsque le bloc est retiré de l'espace de travail pour libérer les ressources.

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

Lorsque le scénario est exécuté, ce bloc utilise la valeur fournie dans `Server Address` (et éventuellement `Username`/`Password`) pour ouvrir une connexion vers le serveur OPC UA. Il vérifie en continu l'état de la connexion et tente de se reconnecter automatiquement en cas d'échec ou de modification de l'adresse. La connexion active est exposée via la sortie `Client` afin que d'autres blocs puissent effectuer des opérations sur le serveur. Lorsque le bloc est supprimé, la connexion est fermée proprement.

## 💡 Astuces

`OPC UA Read`\
Connectez ce bloc à la sortie `Client` pour lire des valeurs depuis le serveur pendant l'exécution.

`OPC UA Write`\
Utilisez ce bloc avec la sortie `Client` pour écrire des valeurs vers le serveur.

`CSV Export`\
Journalisez les valeurs lues en redirigeant les sorties vers ce bloc pour enregistrer des séries temporelles.

`SQL-DB Client Connect` + `SQL-DB Operations`\
Stockez les valeurs historiques dans une base de données en combinant le client OPC UA avec une connexion DB et des blocs d'écriture/requête.

`MQTT Publish` / `MQTT Subscribe`\
Faites le pont entre les données OPC UA et les systèmes cloud en publiant des relevés sur MQTT ou en vous abonnant à des sujets de contrôle pour déclencher des écritures.

`REST API - Post` / `REST API - Get`\
Transmettez des données critiques ou des alertes vers des services web en envoyant des requêtes HTTP contenant des données OPC.

`Send Mail`\
Déclenchez des alertes par e-mail (par ex. en cas de perte de connexion ou dépassement de seuils) en alimentant ce bloc avec des sorties conditionnelles.

`Debug Input`\
Utilisez ce bloc pour inspecter les valeurs provenant du serveur lors de la configuration et du dépannage.

## 📝 Utilisation rapide

1. Saisissez l'adresse du serveur dans `Server Address` (IP:Port ou URL OPC UA complète).
2. Si le serveur exige une authentification, remplissez `Username` et `Password`.
3. Exécutez le scénario — le bloc se connectera et fournira la sortie `Client` pour que d'autres blocs de communication l'utilisent.
4. Pour arrêter et libérer les ressources, retirez le bloc ou effacez l'adresse ; le bloc fermera la connexion.

## 🛠️ Dépannage

* Échec de connexion ou délai d'attente
  * Vérifiez que l'adresse et le port du serveur sont corrects et accessibles depuis la machine qui exécute le scénario.
  * Vérifiez les règles de pare-feu ou réseau qui pourraient bloquer les ports OPC UA.
  * Si le serveur utilise un endpoint sécurisé, confirmez les identifiants et les paramètres de sécurité du serveur.
* Erreurs d'authentification
  * Assurez-vous que `Username` et `Password` sont corrects et que le serveur autorise la méthode d'authentification choisie.
* Déconnexions inattendues ou connexion instable
  * Utilisez le bloc `Debug Input` pour journaliser les valeurs et identifier quand les déconnexions surviennent.
  * Envisagez de router les lectures importantes vers `CSV Export` ou une base de données (`SQL-DB Operations`) pour garantir la persistance.

Si les problèmes persistent, consultez la documentation de votre serveur OPC UA et l'administrateur réseau pour confirmer les endpoints, ports et exigences de sécurité du serveur.
