Utilisation de tâches
Remarque
Rapport entre les tâches et
le fonctionnement des
temporisations
Rapport entre les tâches et
les drapeaux de condition
Remarque
4-2-2
Limites des instructions relatives aux tâches
Instructions requises dans la même tâche
168
• Les autres mots et bits dans la mémoire E/S sont partagés par toutes les
tâches. CIO 001000, par exemple, est le même bit pour la tâche
cyclique 1 et la tâche cyclique 2. Veillez par conséquent à toujours utiliser
dans la programmation des zones de mémoire E/S autres que les zones
IR et DR, car les valeurs modifiées avec une tâche seront utilisées par
d'autres tâches.
Mémoire E/S
Zones CIO, auxiliaire, de mémoire de données et
toutes les autres zones de mémoire à l'exception des
zones IR et DR (voir remarque 1).
Registres d'index (IR) et registres de données (DR)
(voir remarque 2).
1. La banque EM actuelle est également partagée par les tâches. Par
conséquent, si le numéro de la banque EM actuelle est modifié avec la tâche
cyclique 1, par exemple, le nouveau numéro de la banque EM actuelle sera
également valide pour la tâche cyclique 2.
2. Les valeurs IR et DR ne sont pas définies au démarrage des tâches
d'interruption (y compris des tâches cycliques extra). Si IR et DR sont utilisées
dans une tâche d'interruption, ces valeurs doivent être définies par les
instructions MOVR/MOVRW (MOVE TO REGISTER et MOVE TIMER/
COUNTER PV TO REGISTER) dans la tâche d'interruption. Après l'exécution
de la tâche d'interruption, IR et DR reprennent automatiquement les valeurs
qu'elles avaient avant l'interruption.
Les valeurs actuelles des temporisations pour TIM, TIMX, TIMH, TIMHX, TMHH,
TMHHX, TIMW, TIMWX, TMHW et TMHWX programmées avec les numéros de
temporisation 0000 à 2047 seront mises à jour même si la tâche est commutée
ou si la tâche contenant la temporisation passe à l'état En attente ou de nouveau
à l'état READY.
Si la tâche contenant TIM passe à l'état En attente et repasse à l'état READY, le
drapeau de fin passera à ON si l'instruction TIM est exécutée lorsque la valeur
actuelle est 0 (les drapeaux de fin de temporisation sont mis à jour uniquement à
l'exécution de l'instruction). Si l'instruction TIM est exécutée alors que la valeur
actuelle n'est pas encore égale à 0, la valeur actuelle continuera d'être mise à
jour comme elle l'était lorsque la tâche était à l'état READY.
• Les valeurs actuelles des temporisations programmées avec les numéros de
temporisation 2048 à 4098 seront conservées pendant que la tâche sera à
l'état En attente.
Tous les drapeaux de condition seront remis à zéro avant l'exécution de chaque
tâche. Par conséquent, l'état du drapeau de condition à la fin de la tâche 1 ne
peut pas être lu dans la tâche 2. Avec une UC CS1-H, CJ1-H, CJ1M ou CS1D,
toutefois, vous pouvez utiliser CCS(282) et CCL(283) pour lire l'état du drapeau
de condition dans une autre partie du programme, par exemple, dans une autre
tâche.
Lorsque l'état des drapeaux de condition est surveillé à partir d'une console de
programmation, celle-ci affiche l'état des drapeaux à la fin du cycle, c'est-à-dire
leur état à la fin de la dernière tâche du cycle.
Les instructions suivantes doivent être placées dans la même tâche. Si vous
essayez de séparer des instructions entre deux tâches, le drapeau ER
passera à ON et les instructions ne seront pas exécutées.
Mnémonique
JMP/JME
JUMP/JUMP END
CJP/JME
CONDITIONAL JUMP/JUMP END
CJPN/JME
CONDITIONAL JUMP NOT/CONDITIONAL JUMP END
JMP0/JME0
MULTIPLE JUMP END
Chapitre 4-2
Rapport avec les tâches
Partagées avec les autres
tâches.
Utilisés séparément pour
chaque tâche
Instruction