Documentation MCS32
B) Lecture des événements détectés
L'instruction GETEVENT permet de consommer et de lire quels événements ont été détectés.
Syntaxe :
Avec <Variable> : de type entier avec la même définition des bits que <Masque> de
MODIFYEVENT.
Chaque bit associé à un événement est à l'état 1 si l'événement a été détecté.
Si un nouvel événement apparaît pendant l'exécution de la tâche événementielle, il est
mémorisé et traité dès que possible.
C) Dévalidation des événements
Elle se fait en utilisant MODIFYEVENT(0,0).
D) Mises en garde
Les instructions RUN, HALT, SUSPEND, CONTINUE, STATUS n'ont aucun effet sur la tâche
événementielle.
Elle ne rend pas la main aux autres tâches tant qu'elle n'a pas été entièrement exécutée. Il ne
faut donc pas qu'elle soit très longue.
En aucun cas cette tâche ne doit comporter d'instructions bloquantes ( ex : WAIT, MOVA ...).
Elle ne doit pas être rebouclée : l'instruction END PROG doit être rencontrée en fin de tâche
afin de relancer la détection d'événements.
Si l'instruction MODIFYEVENT est utilisée dans la tâche événementielle, elle peut altérer tout
nouvel événement apparu pendant l'exécution de celle-ci.
E) Exemple
Tâche Init
PROG
....
MODIFYEVENT(0183H,1000)
.....
END PROG
Tâche EVENEM
PROG
Event%=GETEVENT
IF Event%.1=1 THEN JUMP EventE1
IF Event%.2=1 THEN JUMP EventE2
IF Event%.8=1 THEN JUMP EventTime
IF Event%.9=1 THEN JUMP EventCapture1
....
EventE1
:
....
JUMP EndTask
EventE2
:
....
JUMP EndTask
....
EndTask :
END PROG
R342
EX
<Variable>=GETEVENT
'événements E1, E2, base de temps 1s,
'Capture1 carte d'axe n°1
- 87 -
SERAD S.A.