Détecte un front montant (transition de FALSE à TRUE) sur un signal d'entrée surveillé et produit une impulsion d'un cycle sur la variable de sortie de l'action.
L'instruction R_TRIG surveille la variable booléenne passée en opérande pour un front montant - le moment où ce signal passe de FALSE à TRUE. Lorsque le front se produit, la variable name (la sortie de l'action) est mise à TRUE pendant exactement un cycle de balayage, puis retourne à FALSE.
Deux variables distinctes sont en jeu :
name - la variable de sortie. Pulse à TRUE pendant un cycle à chaque front montant.operands[0] - le signal d'entrée surveillé.Ceci est utile lorsque vous devez déclencher une action une seule fois au moment où une condition devient vraie, plutôt que continuellement tant qu'elle est vraie.
Les utilisations typiques incluent :
R_TRIGexige l'opérande d'entrée. Sans lui, l'instruction n'a rien à comparer et la sortie ne pulse jamais. L'éditeur visuel et le moteur d'exécution signalent l'opérande manquant.
R_TRIGest souvent confondu avec le qualificatifActionQualifier.P(impulsion à l'activation d'étape), mais ils servent des objectifs différents.R_TRIGest un détecteur de front au niveau de l'instruction sur un signal, tandis queActionQualifier.Pest une impulsion au niveau du qualificatif sur l'activation d'étape.
ActionQualifier (défaut : ActionQualifier.N)ActionInstruction.R_TRIG[ActionOperand("signal_entree")] - la variable booléenne à surveiller{GIF:HERE} - Capture d'écran montrant une étape nommée "StepName" avec une action sur "edge_var" utilisant l'instruction R_TRIG (détection de front montant), avec la variable d'entrée surveillée renseignée dans le champ opérande
from automation_machine import Sequence, StepType, ActionInstruction, ActionOperand
class Example(Sequence):
def setup(self):
step = self.add_step(StepType.INITIAL, name="StepName")
# `edge_var` pulse à TRUE pendant un cycle quand `signal_entree` passe de 0 à 1.
step.add_action(
"edge_var",
"Front montant de signal_entree",
instruction=ActionInstruction.R_TRIG,
operands=[ActionOperand("signal_entree")],
)
# Référencer la sortie dans une condition de transition :
# self.add_transition(step, next_step, "edge_var")