> 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/twincat-write.md).

# TwinCAT Write

Ce bloc de fonction écrit une valeur dans une variable PLC TwinCAT en utilisant une connexion PLC existante. Utilisez-le pour envoyer des valeurs numériques, booléennes ou textuelles depuis votre scénario vers le PLC et recevoir un indicateur simple de succès.

## 📥 Inputs

* `Connection` — objet de connexion PLC (fournir depuis un bloc de configuration de communication tel que `TwinCAT Connect`).
* `Value` — la valeur à écrire dans la variable PLC (nombre, texte, booléen ou valeur structurée selon la variable PLC).

## 📤 Outputs

* `Success` — booléen indiquant si l'opération d'écriture a réussi.

## 🕹️ Controls

* `Variable Name` — saisissez le nom/adresse exact(e) de la variable PLC que vous souhaitez écrire (tel que défini dans votre projet TwinCAT).

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

Lorsque ce bloc s'exécute, il :

1. Lit les entrées `Connection` et `Value` fournies ainsi que le contrôle `Variable Name`.
2. Vérifie qu'un nom de variable, une connexion valide et une valeur sont présents.
3. Tente d'écrire la valeur fournie dans la variable PLC spécifiée via la connexion fournie.
4. Émet `Success` à True si l'écriture aboutit, sinon False et enregistre un message d'erreur pour le dépannage.

## 🎯 Features

* Opération simple d'écriture sur une variable unique avec un résultat boolean clair.
* Acceptation flexible des entrées : peut recevoir des valeurs numériques, textuelles ou booléennes.
* Rapport d'erreur : informe lorsque la connexion, le nom de variable ou la valeur est manquant(e) ou lorsqu'une écriture échoue.

## 📝 Usage instructions

1. Ajoutez un bloc de connexion PLC tel que `TwinCAT Connect` et configurez-le.
2. Alimentez l'entrée `Connection` de ce bloc avec la sortie de la connexion.
3. Fournissez une valeur à écrire en utilisant un bloc d'entrée adapté (par exemple `Number Input` ou `String Input`) vers l'entrée `Value`.
4. Saisissez le nom de la variable PLC dans le contrôle `Variable Name`.
5. Exécutez le scénario et vérifiez la sortie `Success` pour confirmer l'écriture.

## 💡 Tips and Tricks

* Utilisez `TwinCAT Connect` pour créer et fournir l'entrée `Connection`.
* Utilisez `Number Input`, `String Input` ou `Logic Input` pour préparer l'entrée `Value` selon le type de variable dans le PLC.
* Après écriture, vérifiez le résultat en lisant la même variable avec `TwinCAT Read`.
* Si le type de valeur est incertain, passez les données par `Data Type Converter` avant l'écriture pour assurer la compatibilité des types.
* Ajoutez un `Debug Input` ou un contrôle `Is None` en amont pour détecter les valeurs manquantes ou invalides et éviter les écritures échouées.
* Journalisez les écritures réussies ou les échecs avec `CSV Export` ou `MQTT Publish` pour des pistes d'audit ou une surveillance distante.

## 🛠️ Troubleshooting

* Si `Success` est False : vérifiez que `Variable Name` est exactement tel que défini dans le PLC (y compris les namespaces/chemins).
* Assurez-vous que la `Connection` fournie est active et correctement configurée (vérifiez le statut de `TwinCAT Connect`).
* Confirmez que le type de la valeur correspond au type de la variable PLC ; convertissez les types en amont si nécessaire.
* Consultez les logs fournis par le bloc pour des messages d'erreur descriptifs guidant les actions correctives.
