Relation entre le cycle de bus et la tâche

Pour chaque tâche CEI, les données d'entrée utilisées sont lues au début de chaque tâche (1) et les données de sortie écrites sont transférées au driver d'E/S à la fin de la tâche (3) (voir figure suivante). L'implémentation dans le pilote d'E/S est décisive pour le transport ultérieur des données d'E/S. Elle est responsable du délai dans lequel et à quel moment le transfert effectif vers le système de bus respectif a lieu.

La tâche de cycle de bus de l'API peut être définie globalement pour tous les bus de terrain dans les paramètres de l'API. Cependant, avec certains bus de terrain, vous pouvez les modifier indépendamment du réglage global. La tâche avec le temps de cycle le plus court est automatiquement utilisée comme tâche de cycle de bus (paramètre : non spécifié dans les paramètres de l'API). Dans cette tâche, les messages sont généralement envoyés sur le bus.

D'autres tâches copient uniquement les données d'E/S à partir d'un tampon interne qui n'est échangé qu'avec le matériel réel dans la tâche de cycle de bus.

Tâches EtherCAT
Tâches EtherCAT
Légende de la figure « Tâches EtherCAT »

Pos.

Description

1

Lecture des entrées depuis le tampon d'entrée

2

Tâche CEI

3

Écriture des sorties dans le tampon de sortie

4

Cycle de bus

5

Tampon d'entrée

6

Tampon de sortie

7

Copier les données de/vers le bus

9

Tâche de cycle de bus, priorité 1, 1ms

10

Tâche de cycle de bus, priorité 5

11

Tâche de cycle de bus, priorité 10, interrompue par la tâche 5

Avant la copie des entrées CEI, les messages réseau en attente du dernier cycle sont lus.

Traitement des tâches sans l'option « envoyer/recevoir par tâche »
Traitement des tâches sans l'option « envoyer/recevoir par tâche »

Si l'option Envoyer/Recevoir par tâche est activée dans les paramètres du maître EtherCAT, des télégrammes supplémentaires sont transmis aux appareils utilisés pour chaque tâche et entrées ou sorties utilisées. Les canaux utilisés dans une tâche lente sont également transmis moins souvent. La charge du bus peut ainsi être réduite.

Traitement des tâches avec l'option « envoyer/recevoir par tâche »
Traitement des tâches avec l'option « envoyer/recevoir par tâche »

Remarque

États indéfinis dus à l'écriture et à la lecture dans plusieurs tâches

Si une sortie est écrite dans différentes tâches, l'état n'est pas défini car il peut être écrasé dans chaque cas. Lorsque vous utilisez les mêmes entrées dans différentes tâches, il peut arriver que l'entrée change pendant qu'une tâche est en cours de traitement. Cela se produit lorsque la tâche est interrompue par une tâche avec une priorité plus élevée et que la mémoire image est à nouveau lue.

Remède :
Au début de la tâche CEI, copiez les variables d'entrée dans les variables et travaillez ensuite uniquement avec les variables locales dans le code suivant.

Conclusion :
L'utilisation des mêmes entrées et sorties dans plusieurs tâches n'a pas de sens et peut dans certains cas conduire à des conditions imprévues.