Tâche de cycle de bus
Généralement, 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 pilote d'E/S à la fin de la tâche (3). L'implémentation dans le pilote d'E/S est déterminante pour le transfert supplémentaire des données d'E/S. Il est responsable du laps de temps et du moment où le transfert effectif vers le système de bus correspondant se produit.
La tâche de cycle de bus de l'automate peut être définie globalement pour tous les bus de terrain dans les paramètres de l'automate. Pour certains bus de terrain, cependant, vous pouvez modifier cela indépendamment du paramètre global. La tâche avec le temps de cycle le plus court est utilisée comme tâche de cycle de bus (réglage : non spécifié dans les paramètres de l'automate). Les messages sont normalement envoyés sur le bus dans cette tâche.
D'autres tâches copient uniquement les données d'E/S d'un tampon interne qui est échangé uniquement avec le matériel physique dans la tâche de cycle de bus.

(1) Lire les entrées du tampon d'entrée
(2) Tâche CEI
(3) Écrire les sorties dans le tampon de sortie
(4) Cycle d'autobus
(5) Tampon d'entrée
(6) Tampon de sortie
(7) Copier les données vers/depuis le bus
(9) Tâche de cycle de bus, priorité 1, 1 ms
(10) Tâche de cycle de bus, priorité 5
(11) Tâche de cycle de bus, priorité 10, interrompue par la tâche 5
Utilisation des tâches
le Déploiement des tâches L'onglet fournit une vue d'ensemble des canaux d'E/S utilisés, de la tâche de cycle de bus définie et de l'utilisation des canaux.
Avertissement
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.
Si les mêmes entrées sont utilisées dans différentes tâches, il est possible que l'entrée change pendant le traitement d'une tâche. Cela se produit lorsque la tâche est interrompue par une tâche de priorité plus élevée et entraîne la relecture de l'image du processus. Solution : Au début de la tâche IEC, copiez les variables d'entrée dans les variables, puis utilisez uniquement les variables locales dans le reste du code.
Conclusion : Utiliser les mêmes entrées et sorties dans plusieurs tâches n'a aucun sens et peut entraîner des réactions inattendues dans certains cas.
Pour plus d'informations, voir :