Présentation

Une PAC de sécurité M580 peut exécuter des applications monotâches et multitâches. A la différence d'une application monotâche qui exécute uniquement la tâche MAST, une application multitâche définit la priorité de chaque tâche.

Le PAC de sécurité M580 prend en charge les tâches suivantes :

  • FAST

  • SAFE

  • MAST

  • AUX0

  • AUX1

Caractéristiques des tâches

Caractéristiques des tâches prises en charge par le PAC de sécurité M580 :

Nom de la tâche

Priorité

Modèle temporel

Plage de la période

Période par défaut

Plage de chien de garde

Chien de garde par défaut

FAST

1

Périodique

1 à 255 ms

5 ms

10 à 500 ms2

100 ms2

SAFE

2

Périodique

10 à 255 ms

20 ms

10 à 500 ms2

250 ms2

MAST1

3

Cyclique4 ou périodique

1 à 255 ms

20 ms

10 à 1500 ms2

250 ms2

AUX03

4

Périodique

10 à 2550 ms

100 ms

100 à 5000 ms2

2000 ms2

AUX13

5

Périodique

10 à 2550 ms

200 ms

100 à 5000 ms2

2000 ms2

1. La tâche MAST est requise, elle ne peut pas être désactivée.

2. Si CCOTF est activé (en sélectionnant Modification en ligne en mode RUN ou STOP dans l'onglet Configuration de la boîte de dialogue des propriétés de la CPU), la valeur minimale du Chien de garde est 64 ms.

3. Pris en charge par les PAC de sécurité BMEP58•040S autonomes. Non pris en charge par les PAC redondants de sécurité BMEH58•040S.

4. Les PAC de sécurité BMEP58•040S autonomes prennent en charge les modèles temporels cycliques et périodiques. Les PAC redondants de sécurité BMEH58•040S ne prennent en charge que le modèle périodique.

Priorité de la tâche

Les PAC de sécurité M580 exécutent les tâches en cours selon leur priorité. Lorsqu'une tâche est en cours d'exécution, elle peut être interrompue par une autre tâche de priorité supérieure. Par exemple, si une tâche périodique est planifiée pour exécuter du code, elle interrompt une tâche de priorité inférieure, mais elle attend la fin de l'exécution d'une tâche de priorité supérieure.

Remarques relatives à la configuration des tâches

Toutes les tâches non liées à la sécurité (MAST, FAST, AUX0 et AUX1) sont exécutées dans la même zone de mémoire, tandis que la tâche SAFE est exécutée dans une zone de mémoire distincte indépendante. Par conséquent :

  • Si une tâche non liée à la sécurité dépasse son chien de garde, toutes les tâches non liées à la sécurité passent à l'état HALT, tandis que la tâche SAFE reste opérationnelle.

  • Si la tâche SAFE dépasse son chien de garde, elle passe à l'état HALT, tandis que les tâches non liées à la sécurité restent opérationnelles.

Lors de la création et la configuration de tâches pour votre application, tenez compte des fonctionnalités suivantes :

Tâche SAFE :

Vous pouvez configurer cette tâche périodique uniquement pour exécuter des sections de code liées à la sécurité pour les modules d'E/S de sécurité. Comme la priorité de la tâche SAFE est inférieure à celle de la tâche FAST, l'exécution de la tâche SAFE peut être interrompue par la tâche FAST.

Définissez le temps d'exécution maximal de la tâche SAFE en configurant une valeur appropriée pour le chien de garde. Tenez compte du temps requis pour exécuter le code et lire et écrire les données liées à la sécurité. Si le temps d'exécution de la tâche SAFE dépasse la valeur du chien de garde, la tâche SAFE passe à l'état HALT, et le mot système %SW125 affiche le code d'erreur détecté 16#DEB0.

NOTE :
  • Comme la priorité de la tâche FAST est supérieure à celle de la tâche SAFE, vous pouvez inclure le délai de la tâche FAST à la configuration du chien de garde de la tâche SAFE.

  • Si le dépassement de l'exécution de la tâche SAFE est égal au chien de garde de sécurité (valeur égale à 1 fois et demie la valeur du chien de garde de la tâche SAFE), la CPU et le coprocesseur passe à l'état ERROR et la fonction de sécurité est appliquée.

Tâche MAST :

Cette tâche peut être configurée pour être cyclique ou périodique. En mode cyclique, définissez un temps d'exécution maximal en entrant une valeur appropriée pour le chien de garde MAST. Ajoutez un petit intervalle de temps à cette valeur à la fin de chaque cycle afin de permettre l'exécution des tâches système de priorité inférieure. Comme la priorité des tâches AUX est inférieure à celle de la tâche MAST, si cet intervalle n'est pas défini, cela peut empêcher l'exécution des tâches AUX. Vous pouvez ajouter un intervalle de temps de 10 % du temps d'exécution du cycle, de 1 ms minimum et 10 ms maximum.

Si le temps d'exécution d'une tâche MAST cyclique dépasse le chien de garde, la tâche MAST et toutes les autres tâches non liées à la sécurité passent à l'état HALT, et le mot système %SW125 affiche le code de l'erreur détectée 16#DEB0.

En mode périodique, la tâche MAST peut dépasser sa période. Dans ce cas, la tâche MAST est exécutée en mode cyclique et le bit système %S11 est défini.

Tâche FAST :

L'objectif de cette tâche périodique est d'exécuter une partie à haute priorité de l'application. Définissez le temps d'exécution maximal en configurant la valeur du chien de garde FAST. Comme la tâche FAST interrompt l'exécution de toutes les autres tâches (y compris de la tâche SAFE), il est recommandé de configurer un temps d'exécution le plus court possible pour la tâche FAST. Il est préférable que la valeur du chien de garde de la tâche FAST ne soit pas supérieure à la période FAST.

Si le temps d'exécution de la tâche FAST dépasse le chien de garde, la tâche FAST et toutes les autres tâches non liées à la sécurité passent à l'état HALT, et le mot système %SW125 affiche le code de l'erreur détectée 16#DEB0.

Tâches AUX :

Les tâches AUX0 et AUX1 sont périodiques et facultatives. Leur objectif est d'exécuter une partie à faible priorité de l'application. Les tâches AUX sont exécutées uniquement après la fin de l'exécution des tâches MAST, SAFE et FAST.

Définissez le temps d'exécution maximal des tâches AUX en configurant une valeur appropriée pour le chien de garde. Si le temps d'exécution d'une tâche AUX dépasse le chien de garde, la tâche AUX et toutes les autres tâches non liées à la sécurité passent à l'état HALT, et le mot système %SW125 affiche le code de l'erreur détectée 16#DEB0.