Saut conditionnel inversé (Jump Conditional NOT)
Lorsque le contenu de l’accumulateur est FALSE, l’exécution du programme continue à l’étiquette définie dans la zone d’opérande.
Toutes les étiquettes du programme sont valides. Dans l’accumulateur, la valeur doit être du type de données BOOL.
var_1 et var_2 peuvent être de n’importe quel type de données car la comparaison est définie pour tout type de données. var_3, var_4 et var_5 doivent être de type numérique en fonctions des opérations exécutées. LABEL1 et LABEL2 doivent être des étiquettes valides dans le programme. Le saut est exécuté uniquement lorsque l’accumulateur est FALSE. Sinon, l’exécution du programme continue avec l’instruction suivant l’instruction JMPCN.
L’étiquette doit être suivie de deux points. Dans l’instruction JMPCN, cependant, le nom de l’instruction ne doit pas être suivi des deux points.
Les étiquettes peuvent être insérées uniquement au début d’un réseau. Une étiquette peut être insérée au début de n’importe quel réseau, même sans saut (par ex. LABEL0 dans ce fragment de code).
Toutes les variables d’entrée et de sortie utilisées pour programmer cette fonction sont déclarées dans l’en-tête du POU.
(*Démarrage réseau 0 *) |
|||
LABEL0 : |
LD |
var_1 |
(* Charger var_1 dans l’accumulateur *) |
EQ |
var_2 |
(* Contenu de l’accumulateur comparé avec var_2 ; sauvegarder le résultat de la comparaison dans l’accumulateur ; résultat de type BOOL*) |
|
JMPC |
LABEL1 |
(* Si l’accumulateur est FALSE l’exécution du programme continue à l’étiquette LABEL1 *) |
|
(*Démarrage réseau 1 *) |
|||
LABEL1 : |
MUL |
var_3 |
(* Contenu de l’accumulateur multiplié par var_3 *) |
SUB |
var_4 |
(* Soustraire var_4 du contenu de l’accumulateur ; sauvegarder le résultat dans l’accumulateur *) |
|
ST |
var_5 |
(* Sauvegarder le contenu de l’accumulateur dans var_5 *) |