> 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/data-logic/logic/set-reset.md).

# Set - Reset

Un bloc logique simple de type verrou (latch) qui stocke un état booléen. Utilisez-le lorsqu'un déclencheur doit activer quelque chose et un autre le désactiver, tout en conservant le dernier état entre les évaluations.

## 📥 Entrées

* `Set` — Envoyez un signal TRUE pour placer la sortie verrouillée à TRUE.
* `Reset` — Envoyez un signal TRUE pour remettre la sortie verrouillée à FALSE.

## 📤 Sorties

* `Check` — Valeur booléenne verrouillée actuelle (TRUE si set, FALSE si reset).

## 🕹️ Contrôles

Aucun contrôle interactif ou widget. Ce bloc utilise uniquement ses prises d'entrée pour modifier l'état verrouillé.

## 🎯 Fonctionnalités

* Comportement de verrouillage qui préserve la dernière sortie jusqu'à modification.
* `Reset` a la priorité : lorsque `Reset` est actif, la sortie est remise à zéro quel que soit l'état de `Set`.
* Sortie stable adaptée pour alimenter d'autres logiques, compteurs, indicateurs ou actionneurs.

## 📝 Comment l'utiliser

1. Connectez un signal momentanée ou conditionnel à `Set` pour activer le latch.
2. Connectez un signal distinct à `Reset` pour désactiver le latch.
3. Utilisez la sortie `Check` comme un drapeau/persistent enable pour des traitements ou sorties suivants.

## 📊 Comportement lors de l'exécution

* Si `Reset` est TRUE alors la sortie devient FALSE.
* Sinon, si `Set` est TRUE alors la sortie devient TRUE.
* Sinon, la sortie conserve sa valeur précédente.

## 💡 Astuces

* Utilisez `Logic Input` pour le contrôle manuel de `Set` et `Reset` pendant les tests.
* Associez avec `Rising Edge` ou `Edge Rising` si votre déclencheur est une impulsion brève afin que le latch ne bascule qu'une fois par événement.
* Utilisez `Delay Step`, `ON Delay` ou `OFF Delay` pour créer des resets temporisés ou implémenter un simple anti-rebond pour des signaux bruités.
* Combinez avec `Counter` pour compter les occurrences pendant que le latch est actif ; alimentez la sortie du latch dans l'activation du compteur.
* Utilisez `And`, `Or` et `Not` pour construire des conditions set/reset plus complexes (par exemple exiger plusieurs conditions avant de set).
* Pilotez un indicateur visuel avec `Led Output` ou envoyez l'état verrouillé vers `Output` pour les systèmes externes.

## 🛠️ Dépannage

* Si le latch ne change jamais, vérifiez que le bloc en amont envoie un booléen changeant et envisagez d'utiliser `Rising Edge` pour convertir un TRUE continu en un seul déclencheur.
* Si le latch se remet immédiatement à zéro après l'avoir set, vérifiez si l'entrée `Reset` est mise à TRUE par un autre bloc.
* Pour des déclenchements rebondissants ou répétés, ajoutez `Delay Step` ou un détecteur d'arête approprié pour éviter plusieurs basculements involontaires.
