15- la fonction DELAY


Lorsque nous avons attribué un "Type" à un Paramètre, par exemple la CONDITION IF ou la CONDITION ELSE, nous avons choisi ces conditions dans la liste déroulante Paramètres / Type. La même liste comprend également FUNCTION, et ce choix active la fenêtre de droite 'Function" . Nous y voyons des choses comme DELAY, ROUND, TESTBIT, etc... Nous allons examiner les plus importantes de ces fonctions . Prenons un premier exemple: DELAY.

 

Comme son nom l'indique, cette fonction a pour but d'introduire un certain retard dans l'exécution d'une variable. Reprenons l'exemple du train d'atterrissage. En temps normal, et même si nous utilisons trois variables pour indiquer la position du train, ce que nous avons fait plus haut, les trois vertes s'allument en même temps. Il est plus réaliste de faire en sorte qu'il y ait un petit décalage entre chaque allumage, les trains arrivent souvent en retard ...

 

Ne touchons pas à la variable NOSE_GEAR_POS ($0BEC), qui transmet la position du train avant. Comme vu plus haut, cette variable est liée à une variable Output, la NOSE_GEAR_LED, allumant la diode verte "train avant sorti" Par contre, nous allons faire en sorte que la variable RIGHT_GEAR_POS allumant la diode verte du train droit ait un retard de 0,4 seconde.

 

Reprenons notre fichier .ssi et faites un double clic sur la ligne RIGHT_GEAR_LED=1

Le tableau des paramètres de cette variable s'affiche:

Dans Command / Type, déroulons la liste et au lieu de ASSIGN, cliquons sur FUNCTION: la case Function à droite est activée. Choisissons dans sa longue liste: DELAY. C'est maintenant le paragraphe FUNCTION / CALL qui est actif. Dans VAR : indiquons le numéro de la variable que nous voulons temporiser, en l'occurrence RIGHT_GEAR_LED.

Dans la case suivante, ne vous occupez pas de la liste déroulante, tapez le premier paramètre de la fonction à savoir 1, puisque nous voulons que la variable RIGHT_GEAR_LED prenne la valeur 1 pour allumer la diode.

Dans la deuxième case indiquez la durée du retard souhaité, en centièmes de seconde. Si vous voulez un retard de 1 seconde, tapez 100, nous voulons un retard de 0,4 seconde, nous tapons donc 40. OK.

Désormais notre ligne de commande sera la suivante:

Faites de même pour la variable L_GEAR_LED du train gauche, en introduisant un retard de 1,2 seconde. Nous rencontrerons bien d'autres fonctions par la suite, dans notre voyage en SIOC.


CHAPITRE SUIVANT: 16- les fonctions TIMER et MOD