Programmation de texte structuré
Si vous exécutez les actions suivantes,
La boucle REPEAT_UNTIL exécute d'abord les instructions de la construction, et ce
n'est qu'ensuite qu'elle détermine si les conditions sont vraies avant d'exécuter à
nouveau les instructions. Cela diffère de la boucle WHILE_DO parce que la boucle
WHILE_DO The WHILE_DO évalue d'abord ses conditions.
Si les conditions sont vraies, l'automate exécute alors les instructions à l'intérieur
de la boucle. Les instructions dans la boucle REPEAT_UNTIL sont toujours
exécutées au moins une fois. Les instructions dans une boucle WHILE_DO peuvent
ne jamais être exécutées.
Si vous exécutez les actions suivantes,
Déplacer les caractères ASCII d'un tableau SINT dans une étiquette de la chaîne.
(Dans un tableau SINT, chaque élément contient un seul caractère.) Arrêter quand
vous atteignez le retour chariot.
Initialiser Element_number à 0.
Compter le nombre d'éléments dans SINT_array (tableau contenant les caractères
ASCII) et stocker le résultat dans SINT_array_size (étiquette DINT).
Pour arrêter la boucle avant que les conditions soient fausse, utilisez une
instruction EXIT.
Affecter les indicateurs d'état mathématique
Non
Conditions de défaut
Un défaut majeur se produira si
La construction fait des boucles pendant
trop longtemps
Exemple 1
Saisissez ce texte structuré
pos := -1;
REPEAT
pos := pos + 2;
UNTIL ((pos = 101) OR (structarray[pos].value = targetvalue))
end_repeat;
Exemple 2
Saisissez ce texte structuré
element_number := 0;
SIZE(SINT_array, 0, SINT_array_size);
Repeat
String_tag.DATA[element_number] := SINT_array[element_number];
element_number := element_number + 1;
Publication Rockwell Automation 1756-RM006K-FR-P - Novembre 2018
Type de défaut Code de défaut
6
1
Chapitre 10
551