IF_THEN

Utiliser IF_THEN pour faire quelque chose quand une condition spécifique se produit.
Opérandes
IF bool_expression THEN
<statement>;
Opérande
Type
Format
Saisir
Bool_
expression
BOOL
Expression de balise
Étiquette ou expression BOOL qui est évaluée pour donner une valeur BOOL
(Expression BOOL)
Description
La syntaxe est décrite dans le tableau.
Structured Text Syntax_If_Then
Pour utiliser ELSIF ou ELSE, observez ces recommandations.
Pour choisir à partir de plusieurs groupes d'instructions possibles, ajoutez une ou plusieurs instructions ELSIF.
Chaque ELSIF représente un chemin alternatif.
Spécifiez autant de chemins ELSIF que nécessaire.
L'automate exécute le premier IF ou ELSIF vrai et saute le reste des ELSIF et le ELSE.
Pour effectuer une action quand toutes les conditions IF ou ELSIF sont fausses, ajoutez une instruction ELSE.
Le tableau résume les différentes combinaisons de IF, THEN, ELSIF et ELSE.
Si
Et
Utilisez cette construction
Faire quelque chose si ou quand les conditions sont vraies
Ne rien faire si les conditions sont fausses
IF_THEN
Faire quelque chose d'autre si les conditions sont fausses
IF_THEN_ELSE
Choix d'instructions alternatives ou groupes d'instructions en fonction des conditions d'entrées
Ne rien faire si les conditions sont fausses
IF_THEN_ELSIF
Affecter des instructions par défaut si toutes les conditions sont fausses
IF_THEN_ELSIF_ELSE
Affecte les indicateurs d'état mathématique
Non
Défauts majeurs/mineurs
Aucun.
Exemples
Exemple 1
IF…THEN
Pour exécuter ceci
Saisissez ce texte structuré
Si rejets > 3 alors
IF rejets > 3 THEN
convoyeur = off (0)
convoyeur := 0;
alarme = on (1)
alarm := 1;
END_IF;
Exemple 2
IF_THEN_ELSE
Pour exécuter ceci
Saisissez ce texte structuré
Si direction du contact du convoyeur = avant (1) alors
IF convoyeur_direction THEN
lumière = off
light := 0;
Sinon lumière = on
ELSE
light [:=] 1;
END_IF;
Le [:=] dit à l'automate de mettre lumière à zéro chaque fois que l'automate fait ce qui suit :
Il entre dans le mode EXÉCUTION.
Il quitte l'étape d'un SFC, si vous configurez le SFC pour qu'il se réinitialise automatiquement. (Cela s'applique seulement si vous incluez l'affectation dans l'action de l'étape ou si vous utilisez l'action pour appeler un routine de texte structuré via une instruction JSR.)
Exemple 3
IF…THEN…ELSIF
Pour exécuter ceci
Saisissez ce texte structuré
Si l'interrupteur de limite basse en sucre = bas (on) et interrupteur de limite haute en sucre = non haut
(on) alors
IF Sugar.Low & Sugar.High THEN
vanne d'entrée = ouverte (on)
Sugar.Inlet [:=] 1;
Jusqu'à ce que l'interrupteur de limite haute en sucre = haut (off)
ELSIF NOT(Sugar.High) THEN
Sugar.Inlet := 0;
END_IF;
Le [:=] dit à l'automate de mettre Sugar.Inlet à zéro chaque fois que l'automate fait ce qui suit :
Il entre dans le mode EXÉCUTION.
Il quitte l'étape d'un SFC, si vous configurez le SFC pour qu'il se réinitialise automatiquement. (Cela s'applique seulement si vous incluez l'affectation dans l'action de l'étape ou si vous utilisez l'action pour appeler un routine de texte structuré via une instruction JSR.)
Exemple 4
IF…THEN…ELSIF…ELSE
Pour exécuter ceci
Saisissez ce texte structuré
Si la température du réservoir > 100
IF tank.temp > 200 THEN
alors pompe = lente
pump.fast :=1; pump.slow :=0; pump.off :=0;
Si la température du réservoir > 200
ELSIF tank.temp > 100 THEN
alors pompe = rapide
pump.fast :=0; pump.slow :=1; pump.off :=0;
Sinon pompe = off
ELSE
pump.fast :=0; pump.slow :=0; pump.off :=1;
END_IF;
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.
Normal