Types de tâches

Introduction

La section suivante décrit les différents types de tâches disponibles dans votre programme, ainsi que leurs caractéristiques.

Tâche cyclique

Une tâche cyclique se voit affecter un temps de cycle fixe correspondant au paramètre Intervalle défini dans la section Type du sous-onglet Configuration de cette tâche. Chaque type de tâche cyclique est exécuté comme suit :

G-SE-0006869.1.gif-high.gif

 

 

1. Lecture des entrées : les états des entrées physiques sont écrits dans les variables mémoire d'entrée %I et d'autres opérations système sont exécutées.

2. Traitement de la tâche : le code utilisateur (POU, etc.) défini dans la tâche est traité. Les variables mémoire de sortie %Q sont mises à jour en fonction des instructions du programme d'application, mais ne sont pas encore écrites dans les sorties physiques.

3. Ecriture des sorties : les variables mémoire de sortie %Q sont modifiées en fonction du forçage de sorties défini, mais l'écriture des sorties physiques dépend du type de sortie et des instructions utilisées.

Pour plus d'informations sur la définition de la tâche de cycle de bus, reportez-vous au document SoMachine - Guide de programmation et à la rubrique relative aux paramètres du Magelis SCU HMI Controller.

Pour plus d'informations sur le comportement des E/S, reportez-vous à la rubrique Description des états de contrôleur.

4. Intervalle restant : le micrologiciel du contrôleur effectue le traitement et exécute les autres tâches de priorité inférieure.

NOTE : Si vous définissez une période courte pour une tâche cyclique, elle se répète immédiatement après l'écriture des sorties, sans exécuter les autres tâches de priorité inférieure ou sans traitement système. Cela affecte l'exécution de toutes les tâches et le contrôle dépasse les limites de l'horloge de surveillance du système, ce qui génère une exception d'horloge de surveillance système.

NOTE : La durée de cycle de tâche est réglée sur une valeur supérieure ou égale à 4 ms, et l'intervalle entre les tâches est un multiple de 4 ms.

NOTE : vous pouvez obtenir et définir l'intervalle d'une tâche cyclique par l'application à l'aide des fonctions GetCurrentTaskCycle et SetCurrentTaskCycle. Pour plus d'informations, reportez-vous au Guide de bibliothèque Toolbox_Advance.

Tâche exécutée librement

Une tâche exécutée librement n'a pas de durée fixe. En mode d'exécution libre, chaque scrutation de tâche démarre après l'achèvement de la scrutation précédente et après une courte période de traitement système. Chaque type de tâche exécutée librement est exécuté comme suit :

G-SE-0006870.1.gif-high.gif

 

 

1. Lecture des entrées : les états des entrées physiques sont écrits dans les variables mémoire d'entrée %I et d'autres opérations système sont exécutées.

2. Traitement de la tâche : le code utilisateur (POU, etc.) défini dans la tâche est traité. Les variables mémoire de sortie %Q sont mises à jour en fonction des instructions du programme d'application, mais ne sont pas encore écrites dans les sorties physiques.

3. Ecriture des sorties : les variables mémoire de sortie %Q sont modifiées en fonction du forçage de sorties défini, mais l'écriture des sorties physiques dépend du type de sortie et des instructions utilisées.

Pour plus d'informations sur la définition de la tâche de cycle de bus, reportez-vous au document SoMachine - Guide de programmation et à la rubrique relative aux paramètres du Magelis SCU HMI Controller.

Pour plus d'informations sur le comportement des E/S, reportez-vous à la rubrique Description des états de contrôleur.

4. Traitement système : le micrologiciel du contrôleur effectue le traitement et exécute les autres tâches de priorité inférieure (par exemple, gestion HTTP, gestion Ethernet et gestion des paramètres).

Tâche événementielle

Ce type de tâche est lié à un événement et déclenché par une variable de programme. La tâche débute sur le front montant de la variable booléenne associée à l'événement déclencheur sauf si une tâche de priorité supérieure doit être exécutée avant. Dans ce cas, la tâche d'événement commence conformément aux attributions de priorité des tâches.

Etape

Action

1

Double-cliquez sur Tâche dans l'arborescence Équipements.

2

Sélectionnez Événement dans la liste Type de l'onglet Configuration.

3

Cliquez sur le bouton Aide à la saisie G-SE-0029549.2.gif-high.gif situé à droite du champ Événement.

Résultat : la fenêtre Aide à la saisie s'affiche.

4

Recherchez la variable my_Var dans l'arborescence de l'aide à la saisie afin de l'attribuer.

NOTE : La fréquence maximale admissible pour l'événement déclenchant une tâche d'événement dépend du niveau de priorité des autres tâches et processus système. Pensez à tester votre application pour valider le bon déclenchement des événements.

Tâche d'événement externe

Ce type de tâche est piloté par événement et initié par la détection d'un événement matériel ou associé au matériel. La tâche débute lorsque l'événement survient, sauf si une tâche de priorité supérieure doit être exécutée avant. Dans ce cas, la tâche d'événement externe démarre selon les affectations de priorité de tâches.

Une tâche d'événement externe (External Event Task) pourrait être associée à un événement de franchissement de seuil de compteur rapide. Pour associer l'événement HSC0_TH1 à une tâche d'événement externe, sélectionnez-le dans la liste déroulante Événement externe du sous-onglet Configuration.

Deux types d'événement peuvent être associés à une tâche d'événement externe (External Event Task) pour un contrôleur IHM Magelis SCU :

oune entrée rapide (FI0 et FI1) sur un front montant, un front descendant ou les deux fronts,

oun seuil de compteur rapide lors du comptage, du décomptage ou du comptage/décomptage.

Tâche d'événement externe - Performances

L'intervalle minimal entre les déclenchements de tâche d'événement externe (External Event Task) via FI0, FI1, HSC0_TH0 ou HSC0_TH1 est le suivant :

o1,5 ms pour les tâches ne nécessitant pas de changement d'état immédiat des sorties rapides (FQ0 ou FQ1)

o15 ms pour les tâches nécessitant un changement d'état immédiat des sorties rapides (FQ0 ou FQ1)

Lorsque l'intervalle est inférieur à celui indiqué ci-dessus alors que les conditions de déclenchement sont remplies, soit la tâche d'événement externe (External Event Task) est déclenchée en retard, soit elle n'est pas exécutée du tout. Ce scénario peut aussi s'appliquer à une tâche d'événement externe (External Event Tasks) avec des tâches complexes exigeant des temps de calcul supérieurs aux valeurs indiquées ci-dessus.

Warning_Color.gifAVERTISSEMENT

FONCTIONNEMENT INATTENDU DE L'ÉQUIPEMENT

Testez entièrement l'application pour être certain d'obtenir les performances attendues.

Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels.