Les processeurs BMX P34 •••• peuvent exécuter des applications monotâches ou multitâches. Contrairement à une application monotâche qui n'exécute que la tâche maître, une application multitâche définit l'ordre dans lequel les tâches sont exécutées.
La tâche maître représente la tâche principale du programme application. Vous avez le choix entre plusieurs modes d'exécution pour la tâche MAST :
-
cyclique (par défaut) : les cycles d'exécution sont enchaînés les uns après les autres.
-
périodique : un nouveau cycle démarre périodiquement, selon une période définie par l'utilisateur (1 à 255 ms).
Si le temps d'exécution est supérieur à la période configurée par l'utilisateur, le bit %S19 est mis à 1 et un nouveau cycle est lancé.
Le schéma suivant représente l'exécution cyclique de la tâche MAST :
Le schéma suivant représente l'exécution périodique de la tâche MAST :
Les deux cycles de la tâche MAST sont contrôlés par un chien de garde.
Le chien de garde se déclenche si la période d'exécution de la tâche MAST est supérieure à la période maximale définie dans la configuration, et provoque une erreur logicielle. L'application passe alors à l'état HALT et le bit %S11 est mis à 1 (l'utilisateur doit le remettre à 0).
La valeur du chien de garde (%SW11) est configurable entre 10 ms et 1 500 ms (valeur par défaut : 250 ms).
NOTE : la configuration d'une valeur inférieure à la période dans le chien de garde n'est pas autorisée.
En mode de fonctionnement périodique, un contrôle supplémentaire détecte un dépassement de la période. Ce dépassement n'entraîne pas l'arrêt de l'automate tant qu'il reste inférieur à la valeur du chien de garde.
Le bit %S19 signale un dépassement de période. Il est mis à 1 par le système lorsque le temps de cycle devient supérieur à la période de la tâche. L'exécution périodique est aussitôt remplacée par l'exécution cyclique.
La tâche MAST peut être contrôlée par les bits et les mots système suivants :
Objet système
|
Description
|
%SW0
|
Période de la tâche MAST
|
%S30
|
Activation de la tâche maître
|
%S11
|
Défaut de chien de garde
|
%S19
|
Dépassement de période
|
%SW27
|
Temps système du dernier cycle (en ms)
|
%SW28
|
Temps système le plus long (en ms)
|
%SW29
|
Temps système le plus court (en ms)
|
%SW30
|
Temps d'exécution du dernier cycle (en ms)
|
%SW31
|
Temps d'exécution du cycle le plus long (en ms)
|
%SW32
|
Temps d'exécution du cycle le plus court (en ms)
|
La tâche FAST est destinée aux traitements courts et périodiques.
L'exécution de la tâche FAST est périodique et doit être rapide pour éviter tout dépassement par des tâches moins prioritaires. La période de la tâche FAST peut être configurée entre 1 et 255 ms. Le principe d'exécution de la tâche FAST est le même que celui de l'exécution périodique de la tâche MAST.
La tâche FAST peut être contrôlée par les bits et les mots système suivants :
Objet système
|
Description
|
%SW1
|
Période de la tâche FAST
|
%S31
|
Activation de la tâche rapide
|
%S11
|
Défaut de chien de garde
|
%S19
|
Dépassement de période
|
%SW33
|
Temps d'exécution du dernier cycle (en ms)
|
%SW34
|
Temps d'exécution du cycle le plus long (en ms)
|
%SW35
|
Temps d'exécution du cycle le plus court (en ms)
|
Lors du traitement d'événements, le temps de réaction du programme application peut être réduit lorsque les événements proviennent :
Le traitement des événements est asynchrone. En effet, l'apparition d'un événement déroute le programme application vers le processus associé à la voie d'entrées/sorties ou vers le temporisateur d'événement qui a déclenché l'événement.
Les tâches d'événement peuvent être contrôlées par les bits et les mots système suivants :
Objet système
|
Description
|
%S38
|
Activation du traitement d'événements
|
%S39
|
Saturation de la pile de gestion des signaux d'événement
|
%SW48
|
Nombre d'événements d'E/S et de processus de télégramme traités
NOTE : TELEGRAM est disponible uniquement pour PREMIUM (pas sur Quantum ni sur M340).
|
Le programme d'une application monotâche est associé à une seule tâche : la tâche MAST.
Le schéma suivant présente le cycle d'exécution d'une application monotâche :
Le schéma suivant montre le niveau de priorité des tâches dans une structure multitâche :
Le schéma suivant montre l'exécution des tâches dans une structure multitâche :