Une bascule à priorité à la mise à zéro qui se verrouille à FALSE lorsque l'entrée de réinitialisation est active.
L'instruction RS implémente une bascule à priorité à la mise à zéro, comme défini dans la norme IEC 61131-3. Elle a deux entrées : Reset (R) et Set (S). Lorsque les deux entrées sont TRUE simultanément, l'entrée Reset l'emporte et la sortie est FALSE.
Résumé du comportement :
TRUEFALSEFALSE (priorité à la mise à zéro)Utilisez RS lorsque la condition "désactivée" doit prendre la priorité sur la condition "activée", ce qui est courant dans les applications critiques pour la sécurité où l'arrêt doit toujours annuler le démarrage.
Pour les sorties critiques pour la sécurité (par exemple, arrêt d'urgence),
RS(priorité à la mise à zéro) est généralement le choix le plus sûr.
ActionQualifier (défaut : ActionQualifier.N)ActionInstruction.RS[ActionOperand("entree_set"), ActionOperand("entree_reset")] - operand[0] est l'entrée Set, operand[1] est l'entrée Reset
RSexige les deux opérandes. Sans eux, S et R valentFALSEpar défaut et le verrou ne bouge jamais. L'éditeur visuel et le moteur d'exécution signalent les opérandes manquants.
{GIF:HERE} - Capture d'écran montrant une étape nommée "StepName" avec une action sur "latch_var" utilisant l'instruction RS (bascule reset-set), avec les variables d'entrée Set et Reset renseignées dans les deux champs opérande
from automation_machine import Sequence, StepType, ActionInstruction, ActionOperand
class Example(Sequence):
def setup(self):
step = self.add_step(StepType.INITIAL, name="StepName")
# `latch_var` suit la logique de bascule à priorité Reset ; stop l'emporte si les deux sont TRUE.
step.add_action(
"latch_var",
"Verrou à priorité Reset piloté par les boutons start/stop",
instruction=ActionInstruction.RS,
operands=[
ActionOperand("bouton_start"), # Set (S)
ActionOperand("bouton_stop"), # Reset (R) - gagne en cas de conflit
],
)