Vous êtes sur la page 1sur 76

Tâches, programmes et sous programmes

des automates Logix5000


Références ControlLogix 1756, GuardLogix 1756,
Compact GuardLogix 1768, CompactLogix 1768,
CompactLogix 1769, SoftLogix 1789, PowerFlex avec DriveLogix
Manuel de programmation
Informations importantes destinées à l’utilisateur
Les équipements électroniques possèdent des caractéristiques de fonctionnement différentes des équipements
électromécaniques. La publication SGI-1.1 « Application, Installation and Maintenance of Solid State Controls »
(disponible auprès de votre agence commerciale Rockwell Automation ou en ligne sur le site
http://www.rockwellautomation.com/literature/) décrit certaines de ces différences importantes. En raison de ces
différences et de la diversité des utilisations des produits décrits dans le présent manuel, les personnes qui en sont
responsables doivent s’assurer de l’acceptabilité de chaque application.
La société Rockwell Automation, Inc. ne saurait en aucun cas être tenue pour responsable ni être redevable des dommages
indirects ou consécutifs à l’utilisation ou à l’application de cet équipement.
Les exemples et schémas présents dans ce manuel sont présentés à titre indicatif seulement. En raison du nombre important
de variables et d’impératifs associés à chaque installation, la société Rockwell Automation, Inc. ne saurait être tenu pour
responsable ni être redevable des suites d’utilisation réelle basée sur les exemples et schémas présentés dans ce manuel.
La société Rockwell Automation, Inc. décline également toute responsabilité en matière de propriété intellectuelle et
industrielle concernant les informations, circuits, équipements ou logiciels décrits dans ce manuel.
Toute reproduction totale ou partielle du présent manuel sans autorisation écrite de la société Rockwell Automation, Inc.,
est interdite.
Des remarques sont utilisées tout au long de ce manuel pour attirer votre attention sur les mesures de sécurité à prendre en
compte :

AVERTISSEMENT
Actions ou situations susceptibles de provoquer une explosion en environnement dangereux et risquant d’entraîner
des blessures pouvant être mortelles, des dégâts matériels ou des pertes financières.

IMPORTANT Informations particulièrement importantes dans le cadre de l’utilisation du produit.

ATTENTION
Actions ou situations risquant d’entraîner des blessures pouvant être mortelles, des dégâts matériels ou des pertes
financières. Les messages « Attention » vous aident à identifier un danger, à prévenir ce danger et en mesurer les
conséquences éventuelles.

DANGER
D’ÉLECTROCUTION
Les étiquettes ci-contre, placées sur l’équipement ou à l’intérieur, par exemple, un variateur ou un moteur, signalent
la présence de tensions électriques dangereuses.

RISQUE DE
BRÛLURE
Les étiquettes ci-contre, placées sur l’équipement ou à l’intérieur, par exemple, un variateur ou un moteur, indiquent
au personnel que certaines surfaces peuvent être à des températures particulièrement élevées.

Allen-Bradley, Rockwell Automation, Logix5000, RSLogix 5000, ControlLogix, CompactLogix, GuardLogix, SoftLogix, FlexLogix, PowerFlex, Rockwell Software, et TechConnect sont des marques
commerciales de Rockwell Automation, Inc.

Les marques déposées n’appartenant pas à Rockwell Automation sont les propriétés de leur société respective.
Sommaire des modifications

Introduction La présente version de ce document contient de nouvelles


informations.

Nouvelles informations Les nouvelles informations sont indiquées par des barres de
changement sur le côté droit, comme ci-contre.

Chapitre Modifications
Chapitre 1 Pour le logiciel RSLogix 5000 en version 16 et ultérieure,
la tranche de temps de traitement système nécessite un
temps d’exécution d’au moins 1 ms pour une tâche
continue.
Chapitre 2 Les descriptions et les procédures relatives aux tâches
événementielles ont été regroupées dans ce nouveau
chapitre.

Publication 1756-PM005C-FR-P – Octobre 2009 3


Sommaire des modifications

Notes :

4 Publication 1756-PM005C-FR-P – Octobre 2009


Table des matières

Préface Objet de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Chapitre 1
Gestion des tâches Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 9
Sélectionner les tâches de l’automate . . . . . . . . . . . . . . . . ... 9
Attention au nombre de tâches que vous utilisez. . . . . . . 11
Définir la priorité des tâches périodiques et
événementielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Autres considérations . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Allouer un temps suffisant pour les communications non
prioritaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Éviter les chevauchements. . . . . . . . . . . . . . . . . . . . . . . . . . 16
Vérifier manuellement les chevauchements . . . . . . . . . . . 17
Vérifier les chevauchements via le programme . . . . . . . . 18
Configuration du traitement des sorties d’une tâche . . . . . . . 20
Configuration manuelle du traitement des sorties . . . . . . 22
Configuration du traitement des sorties par
programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Inhiber une tâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Inhiber ou désinhiber manuellement une tâche. . . . . . . . 24
Inhiber ou désinhiber une tâche via le programme . . . . . 25
Créer une tâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Créer une tâche périodique . . . . . . . . . . . . . . . . . . . . . . 28
Commutation de langues . . . . . . . . . . . . . . . . . . . . . . . . 29
Régler la tranche de temps de traitement système. . . . . . . . . 30
Configuration de la tranche de temps de traitement
système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Réglage du temps de chien de garde du système . . . . . . . . . 33
Régler le temporisateur du chien de garde pour
une tâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

Chapitre 2
Gestion des tâches Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
événementielles Choisir le déclencheur pour une tâche événementielle . . . . . 35
Déclencheur de changement d’état des données d’entrée
du module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Déclenchement d’une tâche événementielle par
un module d’E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
S’assurer qu’un module peut déclencher une tâche
événementielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Liste de vérification pour une entrée de tâche
événementielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Estimation du temps de réponse. . . . . . . . . . . . . . . . . . . 44
Autres considérations . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Déclencheur groupe d’axes . . . . . . . . . . . . . . . . . . . . . . . . 47
Liste de vérification pour une tâche de groupe d’axes . . . 48
Déclencheur Axis Registration . . . . . . . . . . . . . . . . . . . . . . 49
Liste de vérification pour une tâche de registration
d’axe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Publication 1756-PM005C-FR-P – Octobre 2009 5


Table des matières

Déclencheur Axis Watch . . . . . . . . . . . . . . . . . . . . . . . . . . . 53


Liste de vérification pour une tâche de surveillance
de position d’axe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Déclencheur point consommé . . . . . . . . . . . . . . . . . . . . . . . 57
Maintien de l’intégrité des données. . . . . . . . . . . . . . . . . 59
Synchronisation de plusieurs automates . . . . . . . . . . . . . 60
Liste de vérification pour l’automate producteur . . . . . . . 61
Liste de vérification pour l’automate consommateur . . . . 62
Automate producteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Propriétés du point produit . . . . . . . . . . . . . . . . . . . . . . 63
Logique à relais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Automate consommateur . . . . . . . . . . . . . . . . . . . . . . . . 64
Propriétés de la tâche événementielle . . . . . . . . . . . . . . . 64
Logique à relais dans la tâche événementielle . . . . . . . . . 64
Instruction EVENT comme déclencheur . . . . . . . . . . . . . . . . 65
Déterminer par programmation si une instruction
EVENT a déclenché une tâche . . . . . . . . . . . . . . . . . . . . 66
Liste de vérification pour une tâche d’instruction
EVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Propriétés de la tâche événementielle . . . . . . . . . . . . . . . 67
Logique à relais dans le programme A . . . . . . . . . . . . . . 67
Logique à relais dans le programme B . . . . . . . . . . . . . . 67
Définir une valeur de timeout pour une tâche
événementielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Attribuer une valeur de timeout à une tâche
événementielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Configurer un timeout via le programme . . . . . . . . . . . . 69
Déterminer par le programme si un timeout se
produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Index

6 Publication 1756-PM005C-FR-P – Octobre 2009


Préface

Objet de ce manuel Le présent manuel explique comment configurer les tâches de


l’automate ainsi que les programmes et sous-programmes permettant
d’exécuter correctement ces tâches. Il fait partie d’un ensemble de
manuels relatifs aux procédures communes de programmation et
d’exploitation des automates Logix5000.

Pour une liste complète des manuels décrivant ces procédures


communes, voir la publicaion 1756-PM001 « Logix5000 Controllers
Common Procedures Programming Manual ».

Le terme « automate Logix5000 » désigne tout automate basé sur le


système d’exploitation Logix5000, tels que les automates :
 CompactLogix ;
 ControlLogix ;
 GuardLogix ;
 DriveLogix ;
 FlexLogix ;
 SoftLogix5800.

7Publication 1756-PM005C-FR-P – Octobre 2009 7


Préface

Notes :

8 Publication 1756-PM005C-FR-P – Octobre 2009


Chapitre 1

Gestion des tâches

Introduction Le projet RSLogix 5000 par défaut utilise une seule tâche pour
l’ensemble de votre logique. Bien que cela suffise pour de
nombreuses applications, dans certains cas, vous pouvez avoir besoin
de plus d’une tâche.

Sélectionner les tâches de Un automate Logix5000 prend en charge plusieurs tâches pour
planifier et déterminer l’ordre d’exécution de vos programmes en
l’automate fonction de critères spécifiques. Cela permet d’équilibrer le temps
de traitement de l’automate.
 L’automate exécute une seule tâche à la fois.
 Une tâche différente peut interrompre la tâche en cours
d’éxécution et prendre le contrôle.
 Dans chaque tâche, un seul programme est exécutée à la fois.

Un automate Logix5000 peut gérer trois types de tâches.

Si vous souhaitez exécuter Utilisez ce type de Description


une section de votre tâche
logique…
en permanence tâche continue La tâche continue est exécutée en arrière-plan. Toute partie du temps CPU
non allouée à d’autres opérations (comme les commandes de mouvement, les
communications, les tâches périodiques ou événementielles) est utilisée pour
l’exécution des programmes de la tâche continue.

 La tâche continue est exécutée en permanence. Lorsqu’elle a terminé une


scrutation complète, elle recommence immédiatement.
 Un projet ne requiert pas de tâche continue. Le cas échéant, il ne peut y
en avoir qu’une seule.
 périodiquement tâche périodique Une tâche périodique exécute une fonction à une période spécifiée. Chaque
(par exemple, toutes les fois que le délai de la tâche périodique prend fin, cette tâche :
100 ms)
 plusieurs fois pendant la  interrompt toute tâche ayant une priorité plus faible ;
scrutation de votre autre  s’exécute une fois ;
logique  renvoie la commande là où la tâche précédente s’est arrêtée.

Vous pouvez configurer la périodicité entre 0,1 ms à 2000 s, la valeur par


défaut étant de 10 ms.

Publication 1756-PM005C-FR-P – Octobre 2009 9


Chapitre 1 Gestion des tâches

Si vous souhaitez exécuter Utilisez ce type de Description


une section de votre tâche
logique…
dès qu’un événement se produit tâche événementielle Une tâche événementielle exécute une fonction uniquement lorsqu’un
événement (déclencheur) se produit. Chaque fois que le déclencheur de la
tâche événementielle survient, la tâche :

 interrompt toute tâche ayant une priorité plus faible ;


 s’exécute une fois ;
 renvoie la commande là où la tâche précédente s’est arrêtée.

Le déclencheur peut être :

 le changement d’une entrée TOR ;


 un nouvel échantillon de données analogiques ;
 certaines opérations de mouvement ;
 un point consommé ;
 une instruction EVENT.
Important : certains automates Logix5000 ne prennent pas en charge tous
les déclencheurs.

Voici quelques exemples de situations déterminant un type de tâche


particulier :

Pour cet exemple de cas… Utilisez ce type de tâche


Remplissage d’une cuve jusqu’à son niveau maximum, puis ouverture d’une vanne de vidange. tâche continue
Recueil et traitement des paramètres système et envoi sur un écran d’affichage. tâche continue
Réalisation de l’étape 3 d’une séquence de commande : repositionnement du dérouteur d’une tâche continue
trémie.
Votre système doit vérifier la position d’un bras toutes les 0,1 s et calculer la vitesse de variation tâche périodique
moyenne de sa position. Cela permet de déterminer la pression de freinage.
Lire l’épaisseur d’un rouleau de papier toutes les 20 ms. tâche périodique
Une ligne de conditionnement encolle des boîtes pour les fermer. Lorsqu’une boîte arrive en position tâche événementielle
d’encollage, l’automate doit exécuter immédiatement le sous-programme d’encollage.
Lors d’une opération d’assemblage à grande vitesse, un détecteur optique détecte un certain type de tâche événementielle
rebut. Lorsque le détecteur détecte un rebut, la machine doit immédiatement le rejeter.
Sur un banc d’essais moteur, vous souhaitez collecter et archiver toutes les données analogiques tâche événementielle
immédiatement après chaque échantillonnage.
Chargement des nouvelles données de production sur le poste de traitement immédiatement après tâche événementielle
leur réception.
Dans une ligne de conditionnement de barres chocolatées, vous devez vous assurer que la tâche événementielle
perforation se fait au bon endroit sur chaque barre. Chaque fois que le capteur de registration
détecte le repère de registration, il faut vérifier la précision de l’axe et l’ajuster au besoin.
Une station d’encollage doit ajuster la quantité de colle appliquée pour compenser les modifications tâche événementielle
de la vitesse de l’axe. Après l’exécution du générateur de trajectoires, vérifier la commande de
vitesse de l’axe et modifier la quantité de colle, le cas échéant.
Dans une ligne de production, si l’un des programmes détecte une condition dangereuse, toute la tâche événementielle
ligne doit être arrêtée. La procédure d’arrêt est la même quelle que soit la condition dangereuse.

10 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

Le nombre de tâches gérées dépend de l’automate.

Cet automate… prend en charge ce Remarques


nombre de tâches
ControlLogix 32 Une seule tâche peut être
SoftLogix5800 continue.
GuardLogix
CompactLogix

1769-L2x 3
1769-L31 4
1769-L32x 6
1769-L35x 8

1768-L43 16
1768-L45 30
DriveLogix 8

Attention au nombre de tâches que vous utilisez

Concrètement, chaque tâche prend du temps automate au détriment


des autres tâches. Si vous avez trop de tâches, alors :
 la tâche continue peut prendre trop de temps pour être
exécutée ;
 d’autres tâches peuvent subir des chevauchements. Si une tâche
est interrompue trop souvent ou trop longtemps, il se peut
qu’elle ne termine pas son exécution avant d’être redéclenchée.

Définir la priorité des Bien qu’un projet puisse inclure de nombreuses tâches, l’automate
n’en exécute qu’une à la fois. Si une tâche périodique ou
tâches périodiques et événementielle est déclenchée tandis qu’une autre tâche est en
événementielles cours d’exécution, la priorité de chaque tâche indique à l’automate
comment réagir.

Le nombre de niveaux de priorité dépend de l’automate.

Cet automate Logix5000… dispose de ce nombre de niveaux de


priorité
CompactLogix 15
ControlLogix 15
DriveLogix 15
FlexLogix 15
SoftLogix5800 3

Publication 1756-PM005C-FR-P – Octobre 2009 11


Chapitre 1 Gestion des tâches

Pour attribuer une priorité à une tâche, suivez ces directives.

Si vous voulez… Alors Remarques


qu’une tâche interrompe une autre tâche attribuez un numéro de priorité qui soit  Une tâche ayant une priorité plus élevée
inférieur (priorité plus élevée) au numéro de interrompt toutes les tâches qui ont une
priorité de l’autre tâche. priorité plus faible.
qu’une autre tâche interrompe cette tâche attribuez un numéro de priorité supérieur  Une tâche ayant une priorité plus élevée
(priorité plus faible) au numéro de priorité peut interrompre plusieurs fois une
de l’autre tâche. tâche qui a une priorité plus faible.
que cette tâche partage le temps de attribuez le même numéro de priorité aux L’automate bascule d’une tâche à l’autre et
l’automate avec une autre tâche deux tâches. exécute chaque tâche pendant 1 ms.

Autres considérations

Lorsque vous planifiez les interruptions d’exécution d’une tâche, tenez


compte des points suivants :

Considération Description
Générateur de trajectoires Le générateur de trajectoires interrompt toutes les tâches utilisateur, quelle que soit leur
priorité.
 Le nombre d’axes et la fréquence d’échantillonnage intermédiaire du groupe d’axes ont
une influence sur la durée et la fréquence d’exécution du générateur de trajectoires.
 Si le générateur de trajectoires fonctionne lorsqu’une tâche est déclenchée, la tâche
attend qu’il ait terminé.
 Si la période d’échantillonnage intermédiaire survient pendant l’exécution d’une tâche,
la tâche est interrompue pour permettre l’exécution du générateur.
Tâche des E/S Les automates CompactLogix, FlexLogix et DriveLogix utilisent une tâche périodique dédiée
pour traiter les données d’E/S. Cette tâche d’E/S :
 n’apparaît pas dans le dossier des tâches de l’automate ;
 n’est pas considérée comme une tâche pouvant limiter le nombre de tâches maximum
prises en charge par l’automate ;
 possède une priorité 6 ;
 s’exécute à l’intervalle RPI le plus rapide que vous avez programmé dans votre système ;
 s’exécute aussi longtemps qu’il faut pour scruter les modules d’E/S configurés.
Lorsque vous attribuez des priorités à vos tâches, tenez compte de la tâche d’E/S.
Si vous voulez qu’une tâche… Attribuez l’une de ces priorités
interrompe ou retarde le traitement des E/S 1…5
partage le temps de l’automate avec le 6
traitement des E/S
soit interrompue ou retardée par le 7…15
traitement des E/S

12 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

Considération Description
Temps système Le temps système est le temps que l’automate passe à traiter les communications non
prioritaires.
 Les communications non prioritaires sont les communications qui ne sont pas
configurées dans le dossier de configuration des E/S du projet, par exemple, les
instructions Message (MSG) et les communications avec les IHM ou les stations de
travail.
 Le temps système n’interrompt que la tâche continue.
 La tranche de temps de traitement système indique le pourcentage de son temps de
traitement (à l’exclusion de celui dédié aux tâches périodiques ou événementielles) que
l’automate alloue aux communications non programmées.
 L’automate traite les communications non prioritaires pendant 1 ms au maximum et puis
reprend la tâche continue.
Tâche continue Il n’est pas nécessaire d’attribuer une priorité à la tâche continue. Elle a toujours la priorité
la plus faible. Toutes les autres tâches interrompent la tâche continue.

Publication 1756-PM005C-FR-P – Octobre 2009 13


Chapitre 1 Gestion des tâches

EXEMPLE
Cet exemple illustre l’exécution d’un projet comportant trois tâches
utilisateur.
Tâche Priorité Période Temps Durée
d’exécution
Générateur de trajectoires – 8 ms (période d’actualisation 1 ms 1 ms
du générateur de trajectoires)
Tâche événementielle 1 1 – 1 ms 1 à 2 ms
Tâche périodique 1 2 12 ms 2 ms 2 à 4 ms
Tâche d’E/S – non applicable aux 7 5 ms (RPI le plus rapide) 1 ms 1 à 5 ms
automates ControlLogix et SoftLogix.
Voir page 12
Temps système – tranche de temps = 20 % 1 ms 1 à 6 ms
Tâche continue – – 20 ms 48 ms

Légende : La tâche est exécutée La tâche est interrompue (en attente)

Générateur
de
trajectoires
Tâche
événemen-
tielle 1
Tâche
périodique 1

Tâche des
E/S

Temps
système

Tâche
continue
5 10 15 20 25 30 35 40 45 50

1 2 3 4 5 6

Description

1 Initialement, l’automate exécute la génération de trajectoires et la tâche d’E/S (le cas échéant).

2 Après l’exécution de la tâche continue pendant 4 ms, l’automate déclenche le temps système.

3 La période pour la tâche périodique 1 prend fin (12 ms), la tâche interrompt donc la tâche continue.

4 Après l’exécution de la tâche continue pendant encore 4 ms, l’automate déclenche le temps système.

5 Des déclenchements de la tâche événementielle 1 se produisent.


La tâche événementielle 1 attend que la génération de trajectoires soit terminée.
Les tâches avec une priorité plus basse subissent des délais plus longs.

6 La tâche continue reprend automatiquement.

14 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

Le CD du logiciel RSLogix 5000 comprend un utilitaire de surveillance


des tâches. Vous pouvez utiliser cet utilitaire pour analyser la façon
dont les tâches sont exécutées.

Allouer un temps suffisant Les communications non prioritaires sont transmises uniquement si
aucune tâche périodique ou événementielle n’est exécutée. Si vous
pour les communications utilisez plusieurs tâches, assurez-vous que leurs temps de scrutation et
non prioritaires leurs intervalles d’exécution laissent suffisamment de temps pour les
communications non prioritaires. Utilisez l’une des méthodes
ci-dessous pour définir un temps suffisant pour les communications
non prioritaires.

1. Vérifiez que le temps d’exécution des tâches ayant la priorité la


plus haute est significativement plus court que leur périodicité
définie.

2. Vérifiez que le temps d’exécution total de l’ensemble de vos


tâches est significativement inférieur à la périodicité des tâches
ayant la priorité la plus faible.

C’est le cas, par exemple, de la configuration suivante.

Tâche Priorité Temps d’exécution Périodicité définie


1 plus élevée 20 ms 80 ms
2 plus faible 30 ms 100 ms
temps total d’exécution : 50 ms

 Le temps d’exécution de la tâche ayant la priorité la plus élevée


(Tâche 1) est significativement inférieur à sa périodicité définie
(20 ms par rapport à 80 ms).
 Le temps d’exécution total de toutes les tâches est
significativement inférieur à la périodicité définie de la tâche
qui a la plus faible priorité (50 ms par rapport à 100 ms).

Cela laisse généralement suffisamment de temps pour les


communications non prioritaires.
 Définissez la périodicité des tâches selon vos besoins, de
façon à obtenir le meilleur compromis entre l’exécution de
votre programme et le traitement des communications non
prioritaires.
 Si votre projet comporte une tâche continue, un certain
pourcentage du temps de l’automate est alloué aux
communications non prioritaires (à l’exclusion du temps
alloué aux tâches périodiques ou événementielles).

Publication 1756-PM005C-FR-P – Octobre 2009 15


Chapitre 1 Gestion des tâches

Éviter les chevauchements Un chevauchement est une condition dans laquelle une tâche
(périodique ou événementielle) est déclenchée alors que son
exécution, initiée par le déclenchement précédent, est toujours en
cours.

IMPORTANT En cas de chevauchement, l’automate ignore le déclenchement


qui provoque le chevauchement. En d’autres termes, vous
risquez de manquer une exécution importante de la tâche.

Déclencheur de la tâche

Tâche événementielle

1 2 3 4

Description

1 Le déclenchement de la tâche se produit.


La tâche est exécutée.

2 Le déclenchement de la tâche se produit.


La tâche est exécutée.

3 Le déclenchement de la tâche se produit.


La tâche est exécutée.

4 Un chevauchement se produit. La tâche est déclenchée alors qu’elle est toujours en


exécution.
Le déclenchement ne redémarre pas la tâche. Le déclenchement est ignoré.

Chaque tâche doit disposer de suffisamment de temps pour se


terminer avant d’être de nouveau déclenchée. Assurez-vous que le
temps de scrutation de la tâche est notablement inférieur à la
fréquence de son déclenchement. En cas de chevauchement, réduisez
la fréquence à laquelle la tâche est déclenchée :

Si le type de la tâche Alors


est…
périodique Augmentez la période de la tâche.
événementielle Ajustez la configuration de votre système pour déclencher la
tâche moins fréquemment.

16 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

Vérifier manuellement les chevauchements

Pour vérifier manuellement si des chevauchements se produisent pour


une tâche donnée, procédez de la façon suivante :

1. Dans l’arborescence de l’automate, cliquez avec le bouton droit


de la souris sur Main Task (tâche principale) et sélectionnez
Properties (propriétés).

La boîte de dialogue Task Properties s’affiche.

2. Cliquez sur l’onglet Monitor (surveillance).

Nombre de chevauchements depuis la


dernière remise à zéro du compteur.

3. Cliquez sur OK.

Publication 1756-PM005C-FR-P – Octobre 2009 17


Chapitre 1 Gestion des tâches

Vérifier les chevauchements via le programme

Lorsqu’un chevauchement se produit, l’automate :


 enregistre un défaut mineur dans l’objet FAULTLOG ;
 stocke l’information relative au chevauchement dans l’objet
TASK pour la tâche.

Pour écrire un programme permettant de contrôler la présence de


chevauchements, utilisez une instruction GSV (Get System Value –
obtenir la valeur système) pour superviser l’un de ces objets.

Si vous voulez… Alors accédez à l’objet et à l’attribut


Objet Attribut Type de Description
données
Déterminer si un chevauchement FAULTLOG MinorFaultBits DINT Bits individuels qui indiquent un défaut mineur :
s’est produit pour une tâche
Pour déterminer si Observez ce bit
quelconque
une instruction a produit un défaut 4
mineur
un chevauchement s’est produit 6
pour une tâche
le port série a produit un défaut 9
mineur
la batterie est manquante ou doit 10
être remplacée
Déterminer si un chevauchement TASK Status DINT Informations d’état sur la tâche. Une fois que
s’est produit pour une tâche l’automate a activé l’un de ces bits, vous devez le
spécifique désactiver manuellement.
Pour déterminer si Observez ce bit
une instruction EVENT a 0
déclenché la tâche (tâche
événementielle uniquement)
un timeout a déclenché la tâche 1
(tâche événementielle
uniquement)
un chevauchement s’est produit 2
pour cette tâche
Déterminer le nombre de fois TASK OverlapCount DINT Valable pour une tâche événementielle ou périodique.
qu’un chevauchement s’est
Pour effacer le compteur, mettez l’attribut à 0.
produit.

18 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

EXEMPLE Vérifier les chevauchements via le programme


1. L’instruction GSV définit Task_2_Status = attribut d’état de Task_2 (valeur DINT).

2. Si le bit Task_2_Status.2 = 1, un chevauchement s’est produit, il faut donc obtenir le comptage des
chevauchements :

l’instruction GSV copie dans Task_2_Overlap_Count (point DINT) = l’attribut OverlapCount de Task_2.

3. Si Condition_1 = 1, désactivez les bits de l’attribut d’état de Task_2 :

l’instruction SSV met l’attribut Status de Task_2 = Zéro. Zéro est un point DINT ayant une valeur de 0.

Publication 1756-PM005C-FR-P – Octobre 2009 19


Chapitre 1 Gestion des tâches

Configuration du traitement À la fin d’une tâche, l’automate exécute les opérations de service
(traitement des sorties) des modules d’E/S de votre système. Bien que
des sorties d’une tâche ces opérations soient distinctes de la mise à jour des modules, le
traitement des sorties peut affecter la mise à jour des modules d’E/S
dans votre système.

Vous pouvez si vous le souhaitez désactiver le traitement des sorties


pour une tâche spécifique, ce qui permet de réduire le temps écoulé
de la tâche.

Active ou désactive le traitement


des sorties à la fin de la tâche.

20 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

Choisissez la façon dont sera configuré le traitement des sorties pour


une tâche.

B Désactiver le traitement automatique


des sorties pour réduire la surcharge de
la tâche

C Désactiver le traitement automatique


A des sorties pour réduire la surcharge de
la tâche

Combien de modules de sortie cette tâche 4 ou plus


affecte-t-elle (écriture de données) ?

0, 1, 2 ou 3

A B
S’agit-il
S’agit-il de ladeseule
la seule
tâchetâche
dansdans le répertoire
le répertoire oui Activer le traitement automatique des
TasksTasks du projet
du projet ? ? sorties.

non
B
Y a-t-il une autre tâche configurée pour activer non
le traitement automatique des sorties ?

oui
B
La tâche configurée pour traiter non Autorisez le traitement automatique des
automatiquement les sorties est-elle exécutée sorties pour la tâche que vous configurez.
fréquemment/en permanence ?
C
Pour cet organigramme, une tâche s’exécute Procédez de la façon suivante dans le
fréquemment si son temps d’intervalle (temps cadre de la configuration d’une tâche :
qui s’écoule entre les déclenchements) est  au oui
RPI des modules d’E/S dans votre système. 1. désactivez le traitement automatique
des sorties

2. utilisez une instruction IOT pour


mettre à jour chaque module de sortie
affecté

Publication 1756-PM005C-FR-P – Octobre 2009 21


Chapitre 1 Gestion des tâches

Configuration manuelle du traitement des sorties

Pour configurer manuellement le traitement des sorties, procédez de


la façon suivante :

1. Dans l’arborescence de l’automate, cliquez avec le bouton droit


de la souris sur Main Task (tâche principale) et sélectionnez
Properties (propriétés).

La boîte de dialogue Task Properties s’affiche.

2. Cliquez sur l’onglet Configuration.

3. Configurez le traitement des sorties pour la tâche.

Si vous voulez… Alors


activer le traitement des Décochez « Disable Automatic Output Processing
sorties à la fin de la tâche To Reduce Task Overhead » (désactiver le
traitement automatique des sorties pour réduire
la consommation de ressources de la tâche) –
valeur par défaut.
désactiver le traitement des Cochez « Disable Automatic Output Processing
sorties à la fin de la tâche To Reduce Task Overhead » (désactiver le
traitement automatique des sorties pour réduire
la consommation de ressources de la tâche).

4. Cliquez sur OK.

22 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

Configuration du traitement des sorties par programmation

Pour écrire la logique permettant de configurer le traitement des


sorties pour une tâche, utilisez une instruction Set System Value (SSV).
Accédez à l’attribut de l’objet TASK correspondant à la tâche.

Si vous voulez… Sélectionnez cet attribut Type de Instruction Description


données
activer ou désactiver le DisableUpdateOutputs DINT GSV Pour Donnez à l’attribut la
traitement des sorties valeur
à la fin d’une tâche SSV
activer le traitement 0
des sorties à la fin de
la tâche
désactiver le 1 (ou toute valeur
traitement des différente de zéro)
sorties à la fin
de la tâche

EXEMPLE Configuration du traitement des sorties par programmation

Si Condition_1 = 0 alors permettez à la tâche Task_2 de traiter les sorties lorsqu’elle est terminée.
1. L’instruction ONS limite l’exécution réelle de l’instruction SSV à une scrutation.
2. L’instruction SSV définit l’attribut DisableUpdateOutputs de Task_2 = 0. La tâche traite ainsi automatiquement les sorties
lorsqu’elle a terminé son exécution.

Si Condition_1 = 1 alors ne laissez pas la tâche Task_2 traiter les sorties lorsqu’elle est terminée.
1. L’instruction ONS limite l’exécution réelle de l’instruction SSV à une scrutation.
2. L’instruction SSV définit l’attribut DisableUpdateOutputs de Task_2 = 1. Cela désactive le traitement automatique des sorties
lorsque la tâche termine son exécution.

Publication 1756-PM005C-FR-P – Octobre 2009 23


Chapitre 1 Gestion des tâches

Inhiber une tâche Implicitement, chaque tâche s’exécute en fonction du déclenchement


qui la caractérise (événementielle, périodique ou continu).
Facultativement, vous pouvez empêcher l’exécution d’une tâche
(c’est-à-dire, l’inhiber) lorsque son déclenchement se produit. C’est
utile pour tester, diagnostiquer ou démarrer votre projet.

Si vous voulez… Alors


permettre l’exécution de la tâche lorsque désinhibez la tâche (par défaut)
son déclenchement se produit
empêcher l’exécution de la tâche lorsque inhibez la tâche
son déclenchement se produit

EXEMPLE Inhiber une tâche


Pendant la mise en service d’un système comportant plusieurs tâches, vous
pouvez commencer par tester chaque tâche individuellement.
Inhibez toutes les tâches sauf une et testez cette tâche.
Si la tâche correspond à vos besoins, inhibez-la et désinhibez une autre tâche.
Continuez jusqu’à ce que vous ayez testé toutes les tâches.

Si une tâche est inhibée, l’automate pré-scrute quand même la tâche


lorsqu’il bascule du mode programme au mode d’exécution ou test.

Inhiber ou désinhiber manuellement une tâche

Suivez cette procédure pour inhiber ou désinhiber manuellement


l’exécution d’une tâche :

1. Dans l’arborescence de l’automate, cliquez avec le bouton droit


de la souris sur Main Task (tâche principale) et sélectionnez
Properties (propriétés).

La boîte de dialogue Task Properties s’affiche.

24 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

2. Cliquez sur l’onglet Configuration.

3. Choisissez l’une de ces options pour inhiber ou désinhiber la


tâche.

Si vous voulez… Alors


permettre l’exécution de la tâche Décochez « Inhibit Task » (inhiber la
lorsque son déclenchement se produit tâche) – valeur par défaut.
empêcher l’exécution de la tâche Cochez « Inhibit Task » (inhiber la tâche).
lorsque son déclenchement se produit

4. Cliquez sur OK.

Inhiber ou désinhiber une tâche via le programme

Pour écrire un programme permettant d’inhiber ou désinhiber une


tâche, utilisez l’instruction SSV (Set System Value – définir la valeur
système) pour accéder à l’attribut de l’objet TASK correspondant à la
tâche.

Attribut Type de Instruction Description


données
InhibitTask DINT GSV Empêche l’exécution de la tâche.
Pour Donnez à l’attribut la
SSV
valeur
activer la tâche 0 (valeur par défaut)
inhiber (désactiver) la tâche 1 (ou toute valeur différente
de zéro)

Publication 1756-PM005C-FR-P – Octobre 2009 25


Chapitre 1 Gestion des tâches

EXEMPLE Inhiber ou désinhiber une tâche via le programme

Si Condition_1 = 0 alors permettez l’exécution de Task_2.

1. L’instruction ONS limite l’exécution réelle de l’instruction SSV à une scrutation.

2. L’instruction SSV définit l’attribut InhibitTask de Task_2 = 0. Cela a pour effet de désinhiber la tâche.

Si Condition_1 = 1 alors empêchez l’exécution de Task_2.

1. L’instruction ONS limite l’exécution réelle de l’instruction SSV à une scrutation.

2. L’instruction SSV définit l’attribut InhibitTask de Task_2 = 1. Cela a pour effet d’inhiber la tâche.

26 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

Créer une tâche Pour créer une tâche événementielle, procédez de la façon suivante :

1. Dans l’arborescence de l’automate, cliquez avec le bouton droit


de la souris sur le dossier Tasks (tâches) et sélectionnez New
Task (nouvelle tâche).

La boîte de dialogue New Task (nouvelle tâche) s’affiche.

2. Renseignez les informations de cette boîte de dialogue New


Task (nouvelle tâche).

Rubrique Description
Name (nom) Entrez un nom pour la tâche.
Description Saisissez éventuellement une
description pour la tâche.
Type Choisissez Event (événementielle)
comme type de tâche.
Trigger Choisissez un déclencheur pour la
tâche.
Tag Choisissez un point si ce champ est
activé pour le déclencheur sélectionné.

Publication 1756-PM005C-FR-P – Octobre 2009 27


Chapitre 1 Gestion des tâches

Rubrique Description
Execute Task If No Event Occurs Within Cochez cette case et saisissez la valeur
(exécuter la tâche si aucun événement du temps qui doit s’écouler avant qu’une
se produit dans l’intervalle) tâche ne puisse être effectuée.
Priority Entrez la valeur de la priorité pour la
tâche.
Watchdog Entrez le temps de chien de garde pour
la tâche.

3. Cliquez sur OK.

Créer une tâche périodique

Une tâche périodique exécute une ou des fonctions à une fréquence


spécifique.

IMPORTANT Assurez-vous que la période de temps est plus longue que


la somme des temps d’exécution de tous les programmes
assignés à la tâche.
 Si l’automate détecte qu’un déclenchement de tâche
périodique se produit pour une tâche qui est déjà en
cours d’exécution, un défaut mineur se produit
(chevauchement).
 Les priorités et les temps d’exécution des autres
tâches peuvent également provoquer un
chevauchement.

1. Dans l’arborescence de l’automate, cliquez avec le bouton droit


de la souris sur le dossier Main Task (tâche principale) et
électionnez Properties (propriétés).

28 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

La boîte de dialogue Task Properties (propriétés de la tâche)


s’affiche.

2. Cliquez sur l’onglet Configuration.

3. Renseignez les informations de la boîte de dialogue Task


Properties (propriétés de la tâche).

Rubrique Description
Type Choisissez Periodic (périodique – valeur
par défaut) comme type de tâche.
Period Entrez la fréquence à laquelle vous
souhaitez que la tâche soit exécutée.
Priority Entrez la valeur de la priorité pour la
tâche.
Watchdog Entrez le temps de chien de garde pour
la tâche.

4. Cliquez sur OK.

Commutation de langues

Avec la version 17 du logiciel RSLogix 5000, vous avez la possibilité


d’afficher une documentation pour le projet, par exemple des
descriptions de points et des commentaires de ligne, dans toutes les
langues d’interface prises en charge. Vous pouvez mémoriser une
documentation de projet plurilingues dans un seul fichier de projet
plutôt que dans des fichiers de projet spécifiques pour chaque
langues. Vous pouvez définir toutes les langues d’interface que le
projet devra prendre en charge, ainsi que la langue d’interface
courante, celle par défaut et, éventuellement, une langue
personnalisée. Le logiciel utilise la langue par défaut si le contenu de
la langue actuelle est vide pour un composant particulier du projet.
Toutefois, vous pouvez utiliser une langue personnalisée pour adapter
la documentation à un type spécifique d’utilisateur de fichier de
projet.

Publication 1756-PM005C-FR-P – Octobre 2009 29


Chapitre 1 Gestion des tâches

Saisissez les descriptions pour votre projet RSLogix 5000 dans la


langue d’interface, soit en effectuant votre programmation directement
dans cette langue, soit en utilisant l’option d’importation/exportation
pour traduire la documentation hors ligne puis la réimporter dans le
projet. Une fois que vous avez validé la commutation de langue dans
le logiciel RSLogix 5000, vous pouvez passer instantanément d’une
langue à l’autre pendant que vous utilisez le logiciel.

Une documentation de projet qui prend en charge plusieurs


traductions au sein d’un projet comprend :

 les descriptions de composants dans les points,


sous-programmes, programmes, types de données utilisateur et
instructions complémentaires ;
 les phases d’équipement ;
 les tendances ;
 les automates ;
 les messages d’alarme (dans une configuration
ALARM_ANALOG et ALARM_DIGITAL) ;
 les tâches ;
 les descriptions de propriété des modules dans l’arborescence
de l’automate ;
 les commentaires de ligne, les zones de texte de SFC et de FBD.

Régler la tranche de temps Un automate Logix5000 communique avec les autres dispositifs
(modules d’E/S, automates, terminaux d’IHM, etc.) soit à une
de traitement système fréquence définie (communications prioritaires) ou lorsqu’il reste
du temps de traitement disponible pour traiter les communications
(non prioritaires).

Ce type de communication Correspond à


Actualisation des données d’E/S (hors blocs-transferts)
Communications planifiées
Points produits ou consommés
Communication avec les terminaux de programmation (c’est-à-dire, avec le logiciel
RSLogix 5000)
Communication avec les dispositifs IHM
Exécution d’instructions Message (MSG), y compris les blocs-transferts
Réponse à des messages provenant d’autres automates Communication de service

Synchronisation de l’automate secondaire dans un système redondant


Rétablissement et surveillance des connexions d’E/S (par exemple, en cas de retrait
et d’insertion sous tension) ; à l’exclusion des actualisations d’E/S normales se
produisant pendant l’exécution du programme

30 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

Les communications de service correspondent à toutes les


communications que vous ne configurez pas par l’intermédiaire
du dossier de configuration des E/S du projet.

La tranche de temps de traitement système correspond au


pourcentage de temps qu’un automate consacre au traitement des
communications de service. Cependant, s’il n’existe pas de tâche
continue, la tranche de temps de traitement système n’est pas
concernée. Si vous utilisez à la fois une tâche périodique et une tâche
continue, la valeur sélectionnée dans l’onglet Advanced (avancé) de la
boîte de dialogue Controller Properties (propriétés de l’automate) –
(voir page 32) – déterminera la répartition du temps de traitement
entre l’exécution de la tâche continue et les communications de
service.

Le tableau suivant indique la répartition entre la tâche continue et les


communications de service pour différentes valeur de tranche de
temps de traitement système.

Pour cette La tâche continue Les communications de


tranche de temps s’exécute pendant service ont lieu pendant une
durée maximum de
10 % 9 ms 1 ms
20 % 4 ms 1 ms
25 % 3 ms 1 ms
33 % 2 ms 1 ms
50 % 1 ms 1 ms
66 % 1 ms 2 ms
75 % 1 ms 3 ms
80 % 1 ms 4 ms
90 % 1 ms 9 ms

Comme l’indique le tableau, dans le cas de RSLogix 5000 version 16 et


ultérieure, à partir d’une tranche de temps de traitement système de
50 %, le temps d’exécution reste fixe à 1 ms.

C’est le cas à 66 % et au delà, sauf qu’à partir de cette valeur il y a


plusieurs intervalles d’1 ms. Par exemple, à 66 %, on aura deux
intervalles de temps consécutifs de 1 ms et neuf à 90 %.

Publication 1756-PM005C-FR-P – Octobre 2009 31


Chapitre 1 Gestion des tâches

Configuration de la tranche de temps de traitement système

Pour configurer la tranche de temps de traitement système, procédez


de la façon suivante :

1. Sur la barre d’outils Online (en ligne), cliquez sur l’icône


Controller Properties (propriétés de l’automate).

La boîte de dialogue Controller Properties (propriétés de


l’automate) s’affiche.

2. Cliquez sur l’onglet Advanced (avancé).

43087

3. Entrez une valeur numérique dans la case System Overhead


Time Slice (tranche de temps de traitement système).

4. Choisissez soit « Run Continuous Task » (exécuter la tâche


continue – valeur par défaut) soit « Reserve for System Tasks »
(réserver pour les tâches système).
– Le bouton d’option Run Continue Task (exécuter la tâche
continue) est utilisé lorsqu’il n’y a pas de tâches de
communication ou d’arrière-plan à traiter. L’automate passe
alors immédiatement à la tâche continue.

32 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches Chapitre 1

– Le bouton d’option Reserve for System Task (réserver pour les


tâches système) affecte la durée maximum de 1 ms de la
tranche de temps de traitement système à l’exécution des
tâches de communication ou d’arrière-plan par l’automate,
avant qu’il passe à la tâche continue. Ceci vous permet de
simuler une charge de communication sur l’automate pendant
la phase de conception et de programmation, tant que les
IHM, la messagerie de l’automate, etc., ne sont pas
configurées. Ce réglage est à utiliser exclusivement pour les
essais.

5. Cliquez sur OK.

Réglage du temps de chien Chaque tâche comprend un chien de garde qui spécifie pendant
combien de temps elle peut être exécutée avant de déclencher un
de garde du système défaut majeur.

ATTENTION Si le temporisateur du chien de garde atteint la valeur


prédéfinie, un défaut majeur se produit. En fonction du
gestionnaire de défauts de l’automate, celui-ci peut être
arrêté.

 Un chien de garde peut être réglé entre 1 et 2 000 000 ms


(2000 secondes). La valeur par défaut est 500 ms.
 Le temporisateur du chien de garde commence le décompte
lorsque la tâche démarre et s’arrête lorsque tous les programmes
de la tâches sont exécutés.
 Si la tâche met plus de temps que le temps de chien de garde,
un défaut majeur se produit. (Ce temps inclut les interruptions
provoquées par d’autres tâches.)
 Vous pouvez utiliser le gestionnaire de défauts de l’automate
pour effacer un défaut de chien de garde. Si le même défaut de
chien de garde se produit une seconde fois pendant la même
scrutation de logique, l’automate passe en mode défaut même si
le gestionnaire de défauts efface le défaut de chien de garde.

Publication 1756-PM005C-FR-P – Octobre 2009 33


Chapitre 1 Gestion des tâches

Régler le temporisateur du chien de garde pour une tâche

Pour modifier le temps de chien de garde d’une tâche, procédez de la


façon suivante :

1. Dans l’arborescence de l’automate, cliquez avec le bouton droit


de la souris sur Main Task (tâche principale) et sélectionnez
Properties (propriétés).

La boîte de dialogue Task Properties (propriétés de la tâche)


s’affiche.

2. Cliquez sur l’onglet Configuration.

3. Saisissez une valeur numérique pour le temps de chien de garde


de la tâche.

4. Cliquez sur OK.

34 Publication 1756-PM005C-FR-P – Octobre 2009


Chapitre 2

Gestion des tâches événementielles

Introduction Une tâche événementielle, lorsqu’elle est configurée correctement,


interrompt toutes les autres tâches pendant le temps minimum
nécessaire pour répondre à l’événement.

Ce chapitre explique comment configurer les tâches événementielles


et présente certains facteurs, comme une tâche de priorité supérieure,
pouvant influer sur l’exécution d’une tâche événementielle.

Choisir le déclencheur pour Chaque tâche événementielle requiert un déclencheur spécifique qui
définit quand la tâche doit être exécutée. Le tableau suivant passe en
une tâche événementielle revue certains de ces déclencheurs.

Déclencheurs de tâche événementielle

Pour déclencher une tâche utilisez ce et tenez compte de ces considérations


événementielle quand… déclencheur
une entrée TOR est activée ou Changement d’état • Un seul module d’entrée peut déclencher une tâche événementielle
désactivée des données spécifique.
d’entrée du module • Le module d’entrée déclenche la tâche événementielle en fonction de la
configuration du changement d’état (COS) du module. La configuration
du COS détermine quels sont les points qui invitent le module à produire
des données lorsqu’ils sont activés ou désactivés. Cette production de
données (due au COS) déclenche la tâche événementielle.
• Généralement, il faut activer le COS uniquement pour un point du
module. Si vous activez le COS pour plusieurs points, un chevauchement
de tâche de la tâche événementielle peut se produire.
un module analogique Changement d’état • Un seul module d’entrée peut déclencher une tâche événementielle
échantillonne des données des données spécifique.
d’entrée du module • Le module analogique déclenche la tâche événementielle après chaque
échantillonnage en temps réel (RTS) des voies.
• Toutes les voies du module utilisent le même RTS.
l’automate obtient de nouvelles Point consommé • Un seul point consommé peut déclencher une tâche événementielle
données provenant d’un point spécifique.
consommé • Généralement, utilisez une instruction IOT dans l’automate producteur
pour signaler la production de nouvelles données. L’instruction IOT
active un déclencheur d’événement dans le point producteur.
Ce déclencheur passe au point consommé et déclenche la tâche
événementielle.
• Lorsqu’un point consommé déclenche une tâche événementielle, celle-ci
attend que toutes les données arrivent avant de s’exécuter.

Publication 1756-PM005C-FR-P – Octobre 2009 35


Chapitre 2 Gestion des tâches événementielles

Déclencheurs de tâche événementielle

Pour déclencher une tâche utilisez ce et tenez compte de ces considérations


événementielle quand… déclencheur
l’entrée de registration d’un axe est Registration d’axe • Pour que l’entrée de registration déclenche la tâche événementielle,
activée (ou désactivée) (1 ou 2) exécutez d’abord une instruction Armement Registration d’Axe (MAR).
Ceci permet à l’axe de détecter l’entrée de registration, puis de
déclencher la tâche événementielle.
• Une fois que l’entrée de registration déclenche la tâche événementielle,
l’instruction MAR est à nouveau exécutée afin de réarmer l’axe pour la
prochaine entrée de registration.
• Si le temps de scrutation de votre programme normal n’est pas assez
rapide pour réarmer l’axe avant l’entrée de registration suivante, il est
possible de placer une instruction MAR dans la tâche événementielle.
l’axe atteint la position définie Surveillance de • Pour que la position surveillée déclenche la tâche événementielle,
comme point de surveillance position d’axe exécutez d’abord une instruction Armement de surveillance de position
(MAW). Ceci permet à l’axe de détecter la position surveillée, puis de
déclencher la tâche événementielle.
• Une fois que la position surveillée déclenche la tâche événementielle,
l’instruction MAW doit être à nouveau exécutée afin de réarmer l’axe
pour la prochaine surveillance de position.
• Si le temps de scrutation de votre logique normale n’est pas assez
rapide pour réarmer l’axe avant la surveillance de position suivante,
vous pouvez placer l’instruction MAW dans la tâche événementielle.
le générateur de trajectoires Exécution d’un • La période d’échantillonnage intermédiaire du groupe d’axes déclenche
termine son exécution groupe d’axes l’exécution du générateur de trajectoires et de la tâche événementielle.
• Comme le générateur de trajectoires interrompt toutes les autres
tâches, il s’exécute en premier. Si vous attribuez la priorité la plus élevée
à la tâche événementielle, elle est exécutée après la génération de
trajectoires.
une ou des conditions spécifiques Instruction EVENT Plusieurs instructions EVENT peuvent déclencher la même tâche. Cela
sont présentes dans la logique d’un permet d’exécuter une tâche à partir de programmes différents.
programme

Voici quelques exemples d’utilisation de tâches événementielles avec


les déclencheurs correspondants.

Pour cet exemple de cas… Utilisez une tâche événementielle


avec ce déclencheur
Une ligne de conditionnement encolle des boîtes pour les fermer. Lorsqu’une boîte arrive en Changement d’état des données
position d’encollage, l’automate doit exécuter immédiatement le sous-programme d’encollage. d’entrée du module
Une ligne de production utilise un détecteur de proximité pour détecter la présence d’une pièce. Changement d’état des données
Étant donné que le détecteur de proximité est activé pendant un très bref instant (impulsion), d’entrée du module
la tâche continue peut manquer la transition de Off à On du détecteur.
Dans un banc de test moteur, vous devez saisir et archiver chaque échantillon de données Changement d’état des données
analogiques. d’entrée du module
L’automate A génère une table de données de production pour l’automate B. Vous voulez vous Point consommé
assurer que l’automate B n’utilise pas les valeurs pendant que l’automate A met à jour le
tableau.
Dans une ligne de conditionnement de barres chocolatées, vous devez vous assurer que la Registration d’axe 1 ou 2
perforation se fait au bon endroit sur chaque barre. Chaque fois que le capteur de registration
détecte le repère de registration, il faut vérifier la précision de l’axe et l’ajuster au besoin.

36 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Pour cet exemple de cas… Utilisez une tâche événementielle


avec ce déclencheur
Dans la station d’étiquetage d’une ligne d’embouteillage, vous devez vérifier la position de Surveillance de position d’axe
l’étiquette sur la bouteille. Lorsque l’axe atteint la position définie comme point de vérification,
l’étiquette doit être vérifiée.
Une station d’encollage doit ajuster la quantité de colle appliquée pour compenser les Exécution d’un groupe d’axes
modifications de la vitesse de l’axe. Après l’exécution du générateur de trajectoires, vérifier
la commande de vitesse de l’axe et modifier la quantité de colle, le cas échéant.
Dans une ligne de production, si l’un des programmes détecte une condition dangereuse, Instruction EVENT
toute la ligne doit être arrêtée. La procédure d’arrêt est la même quelle que soit la condition
dangereuse.

Les déclencheurs pouvant être utilisés pour une tâche événementielle


varient en fonction du type d’automate Logix5000.

IMPORTANT Le logiciel de programmation RSLogix 5000 vous permet


de configurer un déclencheur pour une tâche
événementielle qui n’est pas gérée par votre automate.
Le projet sera validé et téléchargé avec succès mais la
tâche événementielle ne sera pas exécutée.

Déclencheurs de tâche événementielle

Si vous utilisez Vous pouvez utiliser ces déclencheurs de tâches événementielles


cet automate
Changement Point consommé Registration Surveillance de Exécution d’un Instruction
d’état des d’axe 1 ou 2 position d’axe groupe d’axes EVENT
données d’entrée
du module
CompactLogix X X
FlexLogix X X
ControlLogix X X X X X X
DriveLogix X X X X X
SoftLogix5800 X(1) X(2) X X X X

(1)
Nécessite un module d’E/S 1756 ou un fond de panier virtuel.
(2)
Un automate SoftLogix5800 produit et consomme des points uniquement sur un réseau ControlNet.

Publication 1756-PM005C-FR-P – Octobre 2009 37


Chapitre 2 Gestion des tâches événementielles

Déclencheur de Pour déclencher une tâche événementielle en fonction des données


fournies par un module d’entrée, utilisez le déclencheur « Module
changement d’état des Input Data State Change » (changement d’état des données d’entrée
données d’entrée du du module).
module

Un événement déclenchera cette tâche.


Les données fournies par un module d’entrée
déclencheront la tâche.
Ce point d’entrée déclenchera la tâche.

Lorsque la tâche est terminée, n’actualisez


pas les sorties TOR dans le châssis local.

Déclenchement d’une tâche événementielle par un module d’E/S

Les termes suivants s’appliquent au fonctionnement d’un module


d’entrée.

Terme Définition
Envoi Système par lequel un module envoie des données sur un réseau à plusieurs destinataires
multidestinataire (dispositifs) qui les reçoivent simultanément. Désigne la capacité d’une ligne d’E/S
Logix5000 à gérer la réception simultanée par plusieurs automates de données d’entrée
provenant d’un même module d’E/S.
Intervalle entre trames Le RPI définit l’intervalle auquel un module multidiffuse ses données. Par exemple, un
requis (RPI) module d’entrée envoie des données à un automate au RPI que vous affectez au module.
• La plage va de 0,2 à 750 ms.
• Lorsque le temps spécifié s’est écoulé, le module distribue ses données. On appelle cela
une actualisation cyclique.
Échantillonnage en Le RTS spécifie quand un module analogique scrute ses voies et distribue ses données
temps réel (RTS) (actualise la mémoire tampon des données d’entrée et les distribue).
• Le RPI spécifie quand le module distribue le contenu actuel de la mémoire tampon des
données d’entrée sans scrutation (actualisation) des voies.
• Le module remet à zéro le temporisateur du RPI chaque fois qu’un transfert RTS se
produit.

38 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Terme Définition
Changement d’état Le paramètre COS commande à un module d’entrée TOR de distribuer les données à chaque
(COS) fois qu’un point d’entrée spécifié passe de On  Off ou Off  On.
• Vous activez le COS individuellement par point d’entrée.
• Lorsqu’un point dont le COS a été activé reçoit le changement spécifié, le module
distribue les données de tous ses points.
• Par défaut, le COS est activé pour les changements On  Off et Off  On de tous les
points.
• Vous devez spécifier une valeur de RPI que vous ayez activé ou non le changement
d’état (COS). Si aucun changement d’état se produit dans l’intervalle RPI, le module
envoie ses données selon cet intervalle.

Le tableau suivant récapitule dans quels cas un module d’entrée


distribue ses données et déclenche une tâche événementielle dans
son propre châssis.

Multidiffusion des données par le module d’entrée

Si le module et que ses données sont multidiffusées et il déclenche une tâche


d’entrée est événementielle
un module TOR le COS est activé pour • lorsqu’un point dont le COS est activé reçoit le lorsqu’un point dont le COS est
un point quelconque changement spécifié activé reçoit le changement spécifié
sur le module • à l’issue du RPI
le COS n’est activé à l’issue du RPI jamais
pour aucun point sur le
module
un module RTS  RPI à l’issue du RTS (données de voie nouvellement à l’issue du RTS pour le module
analogique actualisées)
RTS > RPI • à l’issue du RTS (données de voie à l’issue du RTS pour le module
nouvellement actualisées)
• à l’issue du RPI (données de voie non
actualisées)

Si le module se trouve dans un châssis décentralisé, seul le RPI


détermine à quel moment l’automate reçoit les données et déclenche
l’événement sur le réseau.

Sur ce réseau l’automate reçoit les données


EtherNet/IP en moyenne, à un intervalle proche du RPI
ControlNet à l’intervalle entre trames requis réel ( RPI)

Voici quelques exemples de configurations du COS et du RTS.

IMPORTANT Si vous utilisez un module TOR pour déclencher une tâche


événementielle, configurez seulement un point de ce
module pour le COS. Si vous configurez plusieurs points,
un chevauchement de tâches peut se produire.

Publication 1756-PM005C-FR-P – Octobre 2009 39


Chapitre 2 Gestion des tâches événementielles

Exemples de configuration du COS et du RTS

Si vous voulez configurez le module d’entrée comme indiqué (ici, pour le point 0)

Point 0
tâche
événementielle

Changement d’état
Aucun changement d’état
pour les points restants

Point 0
tâche
événementielle

Changement d’état
Aucun changement d’état
pour les points restants

Point 0

tâche
événementielle

Changement d’état
Aucun changement d’état
pour les points restants

RTS des
entrées
analogiques

tâche
événemen-
tielle
25,0 ms

Échantillonnage en temps réel des entrées

40 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

S’assurer qu’un module peut déclencher une tâche


événementielle

Pour utiliser un module d’entrée pour déclencher une tâche


événementielle, le module doit prendre en charge le déclenchement
de tâche événementielle. Si le module est décentralisé, les modules de
communication associés doivent également prendre en charge le
déclenchement de tâche événementielle.

Le tableau suivant répertorie les modules Rockwell Automation testés


pour le déclenchement de tâches événementielles. Certains modules
tiers peuvent également prendre en charge le déclenchement de
tâches événementielles. Avant d’utiliser un module tiers, consultez le
fournisseur pour valider le mode de fonctionnement du module.

Catégorie Modules
Modules d’E/S TOR prenant en charge le changement d’état 1756-IA8D 1756-IA16

1756-IA16I 1756-IA32

1756-IB16 1756-IB16D

1756-IB16I 1756-IB16ISOE

1756-IB32 1756-IC16

1756-IG16 1756-IH16I

1756-IH16ISOE 1756-IM16I

1756-IN16 1756-IV16

1756-IV32
Modules d’E/S analogiques prenant en charge l’échantillonnage en 1756-IF16 1756-IF4FXOF2F/A
temps réel
1756-IF6CIS 1756-IF6I

1756-IF8 1756-IR6I

1756-IT6I 1756-IT6I2
Modules de communication fournissant des connexions natives 1756-CNB/A 1756-CNB/B
pour rack
1756-CNB/D 1756-CNBR/A

1756-CNBR/B 1756-CNBR/D

1756-DNB 1756-ENBT/A

1756-SYNCH/A 1784-PCIDS/A
Modules d’E/S génériques compatibles avec les communications 1756-MODULE
d’événements CIP
1789-MODULE

Publication 1756-PM005C-FR-P – Octobre 2009 41


Chapitre 2 Gestion des tâches événementielles

Liste de vérification pour une entrée de tâche événementielle

Rubrique : Vérification :
 1. Type de module d’entrée Pour obtenir la réponse la plus rapide, utilisez ces modules :

• Pour obtenir la réponse TOR la plus rapide, utilisez un module 1756-IB32/B.


• Pour obtenir la réponse analogique la plus rapide, utilisez un module 1756-IF4FXOF2F.
 2. Emplacement du module d’E/S Placez le module qui déclenche l’événement et les modules qui répondent à l’événement
(sorties) dans le même châssis que l’automate.

Les modules décentralisés ajoutent le temps de transmission du réseau à leur temps de


réponse.
 3. Nombre de modules locaux Limitez le nombre de modules dans le châssis local.

Les modules supplémentaires accroissent les délais de communication dans le bus


intermodules.
 4. Changement d’état (COS) Si un dispositif TOR déclenche l’événement, activez uniquement le COS du point qui
déclenche la tâche événementielle.

• Validez le changement d’état pour le type de transition qui déclenche la tâche, Off  On,
On  Off, ou les deux.
• Si vous configurez le COS pour Off  On et On  Off à la fois, le point déclenchera une
tâche événementielle chaque fois qu’il sera activé ou désactivé. Assurez-vous que la
durée de l’entrée est plus longue que le temps de scrutation de la tâche. Autrement, un
chevauchement peut se produire.
• Désactivez (effacez) le COS pour les points restants sur le module d’entrée. Si vous
configurez le COS de plusieurs points sur un module, chaque point pourra déclencher la
tâche événementielle. Cela peut provoquer un chevauchement.
 5. Priorité de la tâche Configurez la tâche événementielle en tant que tâche ayant la priorité la plus élevée.

Si une tâche périodique a une priorité plus élevée, il se peut que la tâche événementielle
doive attendre la fin de la tâche périodique.
 6. Générateur de trajectoires Le générateur de trajectoires interrompt toutes les autres tâches, quelle que soit leur priorité.

• Le nombre d’axes et la fréquence d’échantillonnage intermédiaire du groupe d’axes ont


une influence sur la durée et la fréquence d’exécution du générateur de trajectoires.
• Si le générateur de trajectoires fonctionne lorsqu’une tâche est déclenchée, la tâche
attend qu’il ait terminé.
• Si la période d’échantillonnage intermédiaire survient pendant l’exécution d’une tâche,
la tâche est interrompue pour permettre l’exécution du générateur.
 7. Nombre de tâches Limitez le nombre de tâches événementielles.
événementielles
Chaque tâche supplémentaire réduit le temps de traitement disponible pour les autres tâches.
Cela peut provoquer un chevauchement.
 8. Traitement automatique des Pour une tâche événementielle, vous pouvez généralement désactiver le traitement
sorties automatique des sorties (valeur par défaut). Cela réduit la durée de la tâche.
 9. Instruction IOT Utilisez une instruction IOT pour chaque module de sortie référencé dans la tâche
événementielle.

L’instruction IOT ne tient pas compte du RPI du module et envoie immédiatement les données.

42 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Lorsque des pièces passent à la hauteur d’un dérouteur, l’automate doit décider s’il
EXEMPLE
active ou non ce dérouteur. Une fois le dérouteur activé, l’automate doit également
le désactiver avant que la pièce suivante n’arrive en position. En raison de la vitesse
de la ligne, une tâche événementielle commande le dérouteur.

Une cellule photoélectrique placée au niveau


du dérouteur signale lorsque la pièce arrive en
position. L’entrée est câblée au module à
l’emplacement 4 du châssis local.

La cellule photoélectrique du dérouteur


(Diverter_Photoeye, point 0) est configurée à la fois
pour un changement d’état Off et On. La cellule
peut ainsi déclencher la tâche événementielle
lorsqu’elle est activée et lorsqu’elle est désactivée.

La tâche événementielle utilise ce programme pour commander le dérouteur.

Si Diverter_Photoeye = 1 (la pièce est en position)


et Divert_Part = 1 (déroutage de la pièce)
alors Diverter = 1 (activation du dérouteur)
sinon Diverter = 0 (désactivation du dérouteur)

Envoi immédiat des valeurs des sorties au module de sortie à l’emplacement 5.

Publication 1756-PM005C-FR-P – Octobre 2009 43


Chapitre 2 Gestion des tâches événementielles

Estimation du temps de réponse

Pour estimer le temps de transit entre l’entrée et la sortie (de vis à vis),
utilisez cette feuille de calcul.

Considération Valeur
1. Quel est le temps de filtrage de l’entrée du module qui déclenche la tâche événementielle ?
La valeur est généralement indiquée en millisecondes. Convertissez-la en microsecondes (s). s
2. Quel est le temps de réponse du matériel pour le module d’entrée qui déclenche la tâche événementielle ?
Assurez-vous d’utiliser le type de transition approprié (Off  On ou On  Off). Voir les temps
de réponse matériels nominaux des modules d’E/S 1756 les plus couramment utilisés avec des
tâches événementielles, page 45. s
3. Quel est le temps de communication du fond de panier ?
Si la taille du châssis Utilisez cette valeur (cas le plus défavorable)
est de
4 emplacements 13 s
7 emplacements 22 s
10 emplacements 32 s
13 emplacements 42 s
17 emplacements 54 s s
4. Quel est le temps d’exécution total des programmes de la tâche événementielle ? s
5. Quel est le temps de communication du fond de panier ? (même valeur qu’à l’étape 3.) s
6. Quel est le temps de réponse du matériel du module de sortie. s
7. Faites la somme des valeurs définies aux étapes 1 à 6. Vous obtenez le temps de transit minimum estimé lorsque
l’exécution du générateur de trajectoires ou d’autres tâches n’interrompt pas ni ne retarde la tâche
événementielle. s
8. Quel est le temps de scrutation du groupe d’axes ? s
9. Quel est le temps de scrutation total des tâches qui ont une priorité plus élevée que cette tâche événementielle
(le cas échéant) ? s
10. Faites la somme des valeurs définies aux étapes 7 à 9. Vous obtiendrez le temps de réponse minimum estimé
lorsque l’exécution du générateur de trajectoires ou d’autres tâches n’interrompt ni ne retarde la tâche
événementielle. s

44 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Temps de réponse matériel nominal des modules d’E/S 1756 avec des tâches
événementielles

Référence Temps de réponse nominal en s


25 °C 60 °C
Off On On  Off Off  On On  Off
1756-IB16 265 582 265 638
1756-IB16D 303 613 305 673
1756-IB32/B 330 359 345 378
1756-IV16 257 435 254 489
1756-IV32 381 476 319 536
1756-OB16D 48 519 51 573
1756-OB16E 60 290 61 324
1756-OB32 38 160 49 179
1756-OV16E 67 260 65 326
1756-OV32E 65 174 66 210

Publication 1756-PM005C-FR-P – Octobre 2009 45


Chapitre 2 Gestion des tâches événementielles

Estimation du temps de réponse


EXEMPLE
L’exemple de la figure suivante présente les temps de transit à prendre en
compte au niveau système. Dans cet exemple, le temps de réponse est le
temps qui s’écoule entre l’activation de l’entrée et l’activation de la sortie.

module d’entrée TOR 1756-IB32/B module de sortie TOR


1756-OB16D

transition Off  On transition Off  On

Considération Valeur
1. Quel est le temps de filtrage de l’entrée du module qui déclenche la tâche événementielle ?
La valeur est généralement indiquée en millisecondes. Convertissez-la en microsecondes (s). 0 s
2. Quel est le temps de réponse du matériel pour le module d’entrée qui déclenche la tâche événementielle ?
Assurez-vous d’utiliser le type de transition approprié (Off  On ou On  Off). Voir les temps
de réponse matériels nominaux des modules d’E/S 1756 les plus couramment utilisés avec des
tâches événementielles, page 45. 330 s
3. Quel est le temps de communication du fond de panier ?
Si la taille du châssis Utilisez cette valeur (cas le plus défavorable)
est de
4 emplacements 13 s
7 emplacements 22 s
10 emplacements 32 s
13 emplacements 42 s
17 emplacements 54 s 13 s
4. Quel est le temps d’exécution total des programmes de la tâche événementielle ? 400 s
5. Quel est le temps de communication du fond de panier ? (même valeur qu’à l’étape 3.) 13 s
6. Quel est le temps de réponse du matériel du module de sortie. 51 s
7. Faites la somme des valeurs définies aux étapes 1 à 6. Vous obtenez le temps de transit minimum estimé
lorsque l’exécution du générateur de trajectoires ou d’autres tâches n’interrompt pas ni ne retarde la tâche
événementielle. 807 s
8. Quel est le temps de scrutation du groupe d’axes ? 1130 s
9. Quel est le temps de scrutation total des tâches qui ont une priorité plus élevée que cette tâche événementielle
(le cas échéant) ? 0 s
10. Faites la somme des valeurs définies aux étapes 7 à 9. Vous obtiendrez le temps de réponse minimum estimé
lorsque l’exécution du générateur de trajectoires ou d’autres tâches n’interrompt ni ne retarde la tâche
événementielle. 1937 s

46 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Autres considérations

Les considérations suivantes affectent le temps de scrutation de la


tâche événementielle, ce qui affecte la vitesse à laquelle elle répond
au signal d’entrée.

Considération Description
Quantité de code dans la tâche Chaque élément du programme (ligne, instruction, élément de texte structuré, etc.)
événementielle augmente le temps de scrutation de la tâche.
Priorité de la tâche Si la tâche événementielle n’est pas celle ayant la priorité la plus élevée, une tâche de
priorité plus élevée peut retarder ou interrompre l’exécution de cette tâche événementielle.
Instructions CPS et UID Si une de ces instructions est active, la tâche événementielle ne peut pas interrompre la
tâche en cours d’exécution. (La tâche avec l’instruction CPS ou UID.)

Déclencheur groupe d’axes Pour coupler l’exécution d’une tâche événementielle à l’exécution du
générateur de trajectoires, utilisez le déclencheur Motion Group
Execution (exécution du groupe d’axes).

Un événement déclenchera cette tâche.

Le générateur de trajectoires déclenchera la tâche.

C’est le nom du point du groupe d’axes.

Interrompt toutes les autres tâches.

Lorsque la tâche est terminée, n’actualisez


pas les sorties TOR dans le châssis local.

Le déclencheur Motion Group Execution fonctionne de la manière


suivante :

• La période d’échantillonnage intermédiaire du groupe d’axes


déclenche l’exécution du générateur de trajectoires et de la
tâche événementielle.

• Comme le générateur de trajectoires interrompt toutes les autres


tâches, il s’exécute en premier. Si vous attribuez la priorité la
plus élevée à la tâche événementielle, elle est exécutée
immédiatement après la génération de trajectoires.

Publication 1756-PM005C-FR-P – Octobre 2009 47


Chapitre 2 Gestion des tâches événementielles

Ce chronogramme montre la relation entre le générateur de


trajectoires et la tâche événementielle.

Période d’échantillonnage intermédiaire du générateur de trajectoires

Générateur de trajectoires

Tâche événementielle

La période d’échantillonnage intermédiaire du groupe d’axes


déclenche l’exécution du générateur de trajectoires et de la
tâche événementielle.

Liste de vérification pour une tâche de groupe d’axes

Rubrique : Vérification :
 1. Temps de scrutation Assurez-vous que le temps de scrutation de la tâche événementielle est
considérablement inférieur à la période d’échantillonnage intermédiaire du groupe
d’axes. Dans le cas contraire, un chevauchement peut se produire.
 2. Priorité de la tâche Configurez la tâche événementielle en tant que tâche ayant la priorité la plus
élevée.

Si une tâche périodique a une priorité plus élevée, il se peut que la tâche
événementielle doive attendre la fin de la tâche périodique.
 3. Nombre de tâches Limitez le nombre de tâches événementielles.
événementielles
Chaque tâche supplémentaire réduit le temps de traitement disponible pour les
autres tâches. Cela peut provoquer un chevauchement.
 4. Traitement automatique des Pour une tâche événementielle, vous pouvez généralement désactiver le
sorties traitement automatique des sorties (valeur par défaut). Cela réduit la durée de la
tâche.

48 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Déclencheur Axis Pour que l’entrée de registration d’un axe déclenche une tâche
événementielle, utilisez le déclencheur Axis Registration (1 ou 2).
Registration

Un événement déclenchera cette tâche.

L’entrée de registration de position 1….

…de cet axe déclenchera la tâche.

Interrompt toutes les autres tâches.

Lorsque la tâche est terminée, n’actualisez


pas les sorties TOR dans le châssis local.

Lorsque l’entrée de registration de position spécifiée atteint sa


condition de déclenchement, elle déclenche la tâche événementielle.

• Dans la configuration de la tâche événementielle, spécifiez


l’entrée de registration qui déclenchera la tâche. Choisissez Axis
Registration 1 ou Axis Registration 2 (registration d’axe 1 ou 2).

• Vous devez d’abord armer l’entrée de registration à l’aide de


l’instruction « Motion Arm Registration » (MAR).

• Dans l’instruction MAR, l’opérande « Trigger Condition » définit


la transition (Off  On or On  Off) de l’entrée de registration
qui déclenche la tâche événementielle.

• Une fois que l’entrée de registration a déclenché la tâche, vous


devez la réarmer.

Ce chronogramme montre la relation entre l’entrée de registration et la


tâche événementielle.

Entrée de registration

Position de l’axe

Tâche événementielle

Publication 1756-PM005C-FR-P – Octobre 2009 49


Chapitre 2 Gestion des tâches événementielles

Liste de vérification pour une tâche de registration d’axe

Rubrique : Vérification :
 1. Entrée de registration Armez l’entrée de registration (instruction MAR). Ceci permet à l’axe de détecter
l’entrée de registration et de déclencher la tâche événementielle.

• Commencez par armer l’entrée de registration pour détecter la première


condition de déclenchement.
• Réarmez l’entrée de registration après chaque exécution de la tâche
événementielle.
• Réarmez l’entrée de registration suffisamment vite pour détecter chaque
condition de déclenchement.
Si votre logique normale est Alors
suffisamment rapide pour réarmer l’entrée de armez l’entrée de registration
registration entre les intervalles de la condition dans votre logique normale, si
de déclenchement, vous le souhaitez.

par exemple, un programme normal exécute


toujours au moins deux scrutations entre les
entrées de registration.
pas suffisamment rapide pour réarmer l’entrée armez l’entrée de registration
de registration dans la tâche événementielle.
 2. Priorité de la tâche Configurez la tâche événementielle en tant que tâche ayant la priorité la plus
élevée.

Si une tâche périodique a une priorité plus élevée, il se peut que la tâche
événementielle doive attendre la fin de la tâche périodique.
 3. Nombre de tâches Limitez le nombre de tâches événementielles.
événementielles
Chaque tâche supplémentaire réduit le temps de traitement disponible pour les
autres tâches. Cela peut provoquer un chevauchement.
 4. Traitement automatique des Pour une tâche événementielle, vous pouvez généralement désactiver le
sorties traitement automatique des sorties (valeur par défaut). Cela réduit la durée de la
tâche.

50 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Dans une ligne de conditionnement de barres chocolatées, vous devez vous assurer
EXEMPLE
que la perforation se fait au bon endroit sur chaque barre.

• Chaque fois que le capteur de registration détecte le repère de registration,


il faut vérifier la précision de l’axe et l’ajuster au besoin.

• En raison de la vitesse de la ligne, vous devez armer l’entrée de registration


dans la tâche événementielle.

Un capteur de registration est connecté


en tant qu’entrée de registration 1…

…pour l’axe nommé Axis_1.

Cette tâche événementielle interrompt


toutes les autres tâches.

Cette logique arme et réarme l’entrée de registration.

Tâche continue
Si Arm_Registration = 1 (le système est prêt pour détecter la marque de registration) alors
L’instruction ONS limite l’exécution réelle de l’instruction EVENT à une scrutation.
L’instruction EVENT déclenche une exécution de Task_1 (tâche événementielle).

Task_1 (tâche événementielle)


L’instruction GSV définit Task_Status (point DINT) = l’attribut Status pour la tâche événementielle. Dans l’attribut
Instance Name (nom d’instance), « THIS » désigne l’objet TASK pour la tâche dans laquelle se trouve l’instruction
(c.-à-d., Task_1).

suite sur la page suivante

Publication 1756-PM005C-FR-P – Octobre 2009 51


Chapitre 2 Gestion des tâches événementielles

Si Task_Status.0 = 1 alors une instruction EVENT a déclenché la tâche événementielle. Dans la tâche continue,
EVENT s’exécute pour armer la registration pour la première fois.
L’instruction JMP commande à l’automate de sauter à l’exécution de l’instruction Arm LBL. Ceci court-circuite
toute la logique du sous-programme à l’exception de la ligne qui arme la registration pour l’axe.

Autre logique

L’instruction MAR s’exécute chaque fois que la tâche s’exécute et arme Axis_1 pour la registration.
L’instruction OTU remet à zéro le bit EN de l’instruction MAR.
• L’instruction MAR est une instruction de transition.
• Pour exécuter l’instruction MAR, sa condition d’entrée de ligne doit passer de fausse à vraie.
• En effaçant d’abord le bit EN, l’instruction répond comme si sa condition d’entrée de ligne était passée de
fausse à vraie.
L’instruction MAR arme l’axe pour la registration.

L’automate ne désactive pas les bits de l’attribut Status une fois qu’ils sont activés. Pour utiliser un bit pour de
nouvelles informations d’état, vous devez le désactiver manuellement.
Si Task_Status.0 = 1 alors effacez ce bit.
L’instruction OTU met Task_Status.0 = 0.
L’instruction SSV définit l’attribut Status de la tâche THIS (Task_1) = Task_Status. Cela a pour effet d’inclure le
bit effacé.

52 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Déclencheur Axis Watch Pour que la surveillance de position d’un axe déclenche une tâche
événementielle, utilisez le déclencheur Axis Watch.

Un événement déclenchera cette tâche.

La surveillance de position…

…de cet axe déclenchera la tâche.

Interrompt toutes les autres tâches.

Lorsque la tâche est terminée, n’actualisez


pas les sorties TOR dans le châssis local.

Lorsque l’axe atteint la position spécifiée en tant que position


surveillée, il déclenche la tâche événementielle.

• Vous devez d’abord armer l’axe pour la surveillance de position


au moyen d’une instruction MAW (Motion Arm Watch).

• Dans l’instruction MAW, l’opérande Trigger Condition définit la


direction dans laquelle l’axe doit se déplacer pour déclencher la
tâche événementielle.

• Une fois que l’axe atteint la position surveillée et déclenche la


tâche événementielle, vous devez le réarmer pour la surveillance
de position suivante.

Ce chronogramme montre la relation entre la position surveillée et la


tâche événementielle.

Point de surveillance

Position de l’axe

Tâche
événementielle

Publication 1756-PM005C-FR-P – Octobre 2009 53


Chapitre 2 Gestion des tâches événementielles

Liste de vérification pour une tâche de surveillance de position


d’axe

Rubrique : Vérification :
 1. Surveillance de position Utilisez une instruction MAW pour configurer une surveillance de position. L’axe
déclenche la tâche événementielle lorsqu’il atteint la position surveillée.

• Commencez par armer l’axe pour détecter la première position surveillée.


• Une fois que l’axe atteint la position surveillée et déclenche la tâche
événementielle, vous devez le réarmer pour la surveillance de position
suivante.
• Réarmez l’axe suffisamment vite pour détecter chaque position surveillée.
Si votre logique normale est Alors
suffisamment rapide pour réarmer l’axe entre armez l’axe dans votre logique
les intervalles de position surveillée, normale, si vous le souhaitez.

par exemple, un programme normal réalise


toujours au moins deux scrutations entre les
points de surveillance.
pas suffisamment rapide pour réarmer l’axe armez l’axe dans la tâche
événementielle.
 2. Priorité de la tâche Configurez la tâche événementielle en tant que tâche ayant la priorité la plus
élevée.

Si une tâche périodique a une priorité plus élevée, il se peut que la tâche
événementielle doive attendre la fin de la tâche périodique.
 3. Nombre de tâches Limitez le nombre de tâches événementielles.
événementielles
Chaque tâche supplémentaire réduit le temps de traitement disponible pour les
autres tâches. Cela peut provoquer un chevauchement.
 4. Traitement automatique des Pour une tâche événementielle, vous pouvez généralement désactiver le
sorties traitement automatique des sorties (valeur par défaut). Cela réduit la durée de la
tâche.

54 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Dans la station d’étiquetage d’une ligne d’embouteillage, vous devez vérifier la


EXEMPLE
position de l’étiquette sur la bouteille.

• Lorsque l’axe atteint la position définie comme point de surveillance, vérifier


l’étiquette et procéder aux ajustements nécessaires.

• En raison de la vitesse de la ligne, vous devez armer l’axe pour la surveillance


de position dans la tâche événementielle.

La position surveillée…
…de l’axe nommé Axis_1 déclenche
la tâche événementielle.
Cette tâche événementielle interrompt
toutes les autres tâches.

Ce programme arme et réarme l’axe pour la surveillance de position.

Tâche continue
Si Arm_Watch = 1 (le système est prêt pour configurer une surveillance de position) alors
L’instruction ONS limite l’exécution réelle de l’instruction EVENT à une scrutation.
L’instruction EVENT déclenche une exécution de Task_1 (tâche événementielle).

Task_1 (tâche événementielle)


L’instruction GSV définit Task_Status (point DINT) = l’attribut Status pour la tâche événementielle. Dans l’attribut
Instance Name (nom d’instance), « THIS » désigne l’objet TASK pour la tâche dans laquelle se trouve l’instruction
(c.-à-d., Task_1).

suite sur la page suivante

Publication 1756-PM005C-FR-P – Octobre 2009 55


Chapitre 2 Gestion des tâches événementielles

Si Task_Status.0 = 1 alors une instruction EVENT a déclenché la tâche événementielle. Dans la tâche continue,
EVENT s’exécute pour configurer la surveillance de position pour la première fois.
L’instruction JMP commande à l’automate de sauter à l’exécution de l’instruction Arm LBL. Toute la logique du
sous-programme est ainsi ignorée, à l’exception de la ligne qui arme l’axe pour la surveillance de position
(instruction MAW).

Autre logique

L’instruction MAW s’exécute chaque fois que la tâche s’exécute et arme Axis_1 pour la surveillance de position.
L’instruction OTU remet à zéro le bit EN de l’instruction MAW.
• L’instruction MAW est une instruction de transition.
• Pour exécuter l’instruction MAW, sa condition d’entrée de ligne doit passer de fausse à vraie.
• En effaçant d’abord le bit EN, l’instruction répond comme si sa condition d’entrée de ligne était passée de
fausse à vraie.
L’instruction MAW arme l’axe pour la surveillance de position.

L’automate ne désactive pas les bits de l’attribut Status une fois qu’ils sont activés. Pour utiliser un bit pour de
nouvelles informations d’état, vous devez le désactiver manuellement.
Si Task_Status.0 = 1 alors effacez ce bit.
L’instruction OTU met Task_Status.0 = 0.
L’instruction SSV définit l’attribut Status de la tâche THIS (Task_1) = Task_Status. Cela a pour effet d’inclure le
bit effacé.

56 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Déclencheur point Pour déclencher une tâche événementielle en fonction des données
d’un point consommé, utilisez le déclencheur Consumed Tag.
consommé

Un événement déclenchera cette tâche.

Un point consommé déclenchera la tâche.

Ce point consommé déclenchera la tâche.

Une liaison point produit/consommé peut passer un déclencheur


d’événement en même temps que les données transmises à un
automate consommateur. Généralement, on utilise une instruction de
sortie immédiate (IOT) pour envoyer le déclencheur d’événement à
l’automate consommateur.

1 2 3 4

Point_produit Point_consommé
nou- 6A7844B1 6A7844B1
velles
3B221D89 3B221D89
don-
nées 43BB278F 43BB278F

Tâche événementielle

Automate A Automate B

Description

1 Dans l’automate A, la logique actualise les valeurs d’un point produit.

2 Une fois l’actualisation terminée, l’automate A exécute une instruction IOT pour
envoyer les données et un déclencheur d’événement à l’automate B.

3 L’automate B consomme les nouvelles données.

4 Une fois que l’automate B a actualisé le point consommé, il exécute la tâche


événementielle.

Publication 1756-PM005C-FR-P – Octobre 2009 57


Chapitre 2 Gestion des tâches événementielles

Le type de réseau qui relie les automates détermine à quel moment


l’automate consommateur reçoit les nouvelles données et le
déclencheur d’événement via l’instruction IOT.

Moment auquel le dispositif consommateur reçoit les nouvelles données et déclenche l’événement

Avec cet automate Sur ce réseau Le dispositif consommateur reçoit les


données et le déclencheur d’événement
ControlLogix Fond de panier Immédiatement
EtherNet/IP Immédiatement
Réseau ControlNet Dans l’intervalle entre trames réel (API) du
point consommé (connexion)
SoftLogix5800 Vous pouvez produire et consommer des Dans l’intervalle entre trames réel (API) du
points sur un réseau ControlNet uniquement point consommé (connexion)

Les schémas suivants permettent de comparer la réception des


données via une instruction IOT sur les réseaux EtherNet/IP et
ControlNet.

Comparaison de la réception des données par l’intermédiaire d’une instruction IOT

Réseau EtherNet/IP (automate ControlLogix) Réseau ControlNet

Valeurs chargées dans le Valeurs chargées dans le


point produit point produit
Instruction IOT dans Instruction IOT dans
l’automate producteur l’automate producteur
Tâche événementielle RPI du point produit
dans l’automate
consommateur Tâche événementielle
dans l’automate
consommateur

58 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Maintien de l’intégrité des données

Une tâche événementielle avec déclencheur par point consommé est


une façon simple de passer des données à un automate et de s’assurer
que ce dernier n’utilise pas ces données lorsqu’elles sont en cours
d’actualisation.

Changement des valeurs


d’un point produit

Exécution de l’instruction
IOT interne

Transmission du
point produit

Tâche événementielle dans


l’automate consommateur

1 2 3 4 5

Description

1 Le RPI se produit pour le point produit.

Le point produit transfère les anciennes données à l’automate consommateur.

2 L’automate producteur commence à actualiser les valeurs du point produit.

3 Le RPI se produit de nouveau pour le point produit.

Le point produit transfère une combinaison de données anciennes et nouvelles


à l’automate consommateur.

4 L’automate producteur fini d’actualiser les valeurs du point produit.

L’automate producteur exécute une instruction de sortie immédiate (IOT).

Le point produit transfère immédiatement toutes les nouvelles données à


l’automate consommateur.

5 Lorsque l’automate consommateur reçoit toutes les données, il exécute sa tâche


événementielle.

Bien que l’automate producteur exécute l’instruction IOT


immédiatement après avoir chargé les nouvelles données, la tâche
événementielle n’est pas déclenchée (dans l’automate consommateur)
tant que l’automate consommateur n’a pas reçu toutes les nouvelles
données. Ceci permet de s’assurer que l’automate utilise un paquet
complet de nouvelles données.

Publication 1756-PM005C-FR-P – Octobre 2009 59


Chapitre 2 Gestion des tâches événementielles

Synchronisation de plusieurs automates

Vous pouvez également utiliser la relation point produit/consommé


pour synchroniser les automates. Dans ce cas, le point produit/
consommé sert uniquement en tant que mécanisme de
déclenchement.

Exécution du programme dans l’automate producteur

Instruction IOT dans l’automate producteur

Tâche événementielle dans l’automate consommateur A

Tâche événementielle dans l’automate consommateur B

1 2 3 4

Description

1 Le premier automate exécute une action avec laquelle les autres automates
doivent rester synchronisés.

2 Lorsque l’action est terminée, l’automate exécute une instruction IOT.


L’instruction IOT utilise un point produit comme cible.

3 Lorsque l’automate A reçoit le point produit, il exécute sa tâche événementielle.

4 Lorsque l’automate B reçoit le point produit, il exécute sa tâche événementielle.

60 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Liste de vérification pour l’automate producteur

Rubrique : Vérification :
 1. Mémoire tampon des données Si vous souhaitez envoyer une image complète des données à un instant donné,
produisez une copie de ces données comme indiqué ci-dessous.

Ce point stocke les données Ce point stocke une copie du


écrites par les instructions du point source à un moment
projet. donné.

Point_source CPS Point_produit


Copie synchrone de
Données 6A7844B1 6A7844B1
fichier
depuis la 3B221D89 3B221D89
logique
43BB278F L’instruction CPS empêche la modification 43BB278F
des données par les opérations de
l’automate pendant la copie. Les tâches
qui tentent d’interrompre l’instruction
CPS sont retardées jusqu’à ce que la
copie soit terminée.
 2. Propriétés du point consommé Dans les propriétés de connexion (Connection) du point produit, cochez
« Programmatically (IOT Instruction) Send Event Trigger to Consumers »
(envoyer par programmation d’une instruction IOT le déclencheur d’événement
aux consommateurs).

Si cette case n’est pas cochée, l’automate producteur déclenchera la tâche


événementielle au terme de toute tâche actualisant automatiquement les sorties
locales. En d’autres termes, la scrutation de la tâche va déclencher l’événement
en plus de l’instruction IOT.
 3. Instruction IOT Utilisez une instruction IOT à l’endroit de votre logique où vous souhaitez
déclencher la tâche événementielle.

L’instruction IOT écrase le RPI du point et envoie immédiatement le déclencheur


d’événement et les données du point.

Publication 1756-PM005C-FR-P – Octobre 2009 61


Chapitre 2 Gestion des tâches événementielles

Liste de vérification pour l’automate consommateur

Rubrique : Vérification :
 1. Mémoire tampon des données Si vous voulez vous assurer que l’automate n’utilise pas les données du point
consommé alors qu’elles changent, utilisez une copie du point consommé. Utilisez
la tâche événementielle pour copier les données, comme indiqué ci-dessous.

Tâche événementielle
Ce point stocke les données Ce point stocke une copie du point
produites par l’autre automate. consommé. Les instructions du
projet utilisent ces données.

Point_consommé CPS Point_destination


Données Copie synchrone de 6A7844B1
6A7844B1 fichier
depuis un
3B221D89 3B221D89
autre
automate 43BB278F 43BB278F
L’instruction CPS empêche l’utilisation des
données par d’autres instructions pendant la
copie. Les tâches qui tentent d’interrompre
l’instruction CPS sont retardées jusqu’à ce
que la copie soit terminée.

 2. Priorité de la tâche Configurez la tâche événementielle en tant que tâche ayant la priorité la plus
élevée.

Si une tâche périodique a une priorité plus élevée, il se peut que la tâche
événementielle doive attendre la fin de la tâche périodique.
 3. Nombre de tâches Limitez le nombre de tâches événementielles.
événementielles
Chaque tâche supplémentaire réduit le temps de traitement disponible pour les
autres tâches. Cela peut provoquer un chevauchement.
 4. Traitement automatique des Pour une tâche événementielle, vous pouvez généralement désactiver le
sorties traitement automatique des sorties (valeur par défaut). Cela réduit la durée de la
tâche.

62 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Lorsqu’une pièce se déplace sur une ligne de production, chaque station requiert
EXEMPLE
des spécifications de production pour traiter la pièce qui arrive. Pour vous assurer
qu’une station n’exploite pas des données anciennes, une tâche événementielle
signale l’arrivée des nouvelles données pour la pièce suivante.

Automate producteur Cet automate contrôle le poste 24 et produit des données pour le poste suivant
(poste 25). Pour signaler la transmission de nouvelles données, l’automate utilise
ces éléments :

Propriétés du point produit

Point_Produit est configuré pour actualiser son


déclencheur d’événement via une instruction IOT.

Logique à relais

Si New_Data = On, il se produit ceci à chaque scrutation :


L’instruction CPS définit Produced_Tag_1 = Source_Tag_1.
L’instruction IOT actualise Produced_Tag_1 et envoie les données actualisées à l’automate consommateur (poste 25).
Lorsque l’automate consommateur reçoit ces données, il déclenche la tâche événementielle associée dans cet
automate.

Publication 1756-PM005C-FR-P – Octobre 2009 63


Chapitre 2 Gestion des tâches événementielles

Automate consommateur L’automate du poste 25 utilise les données produites par le poste 24. Pour
déterminer l’arrivée des nouvelles données, l’automate utilise une tâche
événementielle.

Propriétés de la tâche événementielle

Un événement déclenchera cette tâche.

Un point consommé déclenchera la tâche.

Ce point consommé déclenchera la tâche.

Logique à relais dans la tâche événementielle

Lorsque la tâche événementielle s’exécute, l’instruction CPS définit Destination_Tag_1 = Consumed_Tag_1 (valeurs
provenant de l’automate producteur). La logique restante de cet automate utilise les valeurs provenant du point
Destination_Tag_1.

64 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Instruction EVENT comme Pour déclencher une tâche événementielle en fonction de votre
logique, utilisez le déclencheur EVENT Instruction Only (instruction
déclencheur EVENT seule).

Un événement déclenchera cette tâche.

L’instruction EVENT déclenchera la tâche.

Aucun point n’est requis.

Le déclencheur EVENT Instruction Only nécessite l’utilisation d’une


instruction Trigger Event Task (EVENT) pour déclencher la tâche.
Vous pouvez utiliser une instruction EVENT dans plusieurs points de
votre projet. Chaque fois que l’instruction s’exécute, elle déclenche la
tâche événementielle spécifiée.

Instruction EVENT dans le


programme A

Instruction EVENT dans le


programme B

Tâche événementielle

1 2

Description

1 Le programme A exécute une instruction EVENT.

La tâche événementielle spécifiée par l’instruction EVENT s’exécute une fois.

2 Le programme B exécute une instruction EVENT.

La tâche événementielle spécifiée par l’instruction EVENT s’exécute une fois.

Publication 1756-PM005C-FR-P – Octobre 2009 65


Chapitre 2 Gestion des tâches événementielles

Déterminer par programmation si une instruction EVENT


a déclenché une tâche

Pour déterminer si une instruction EVENT a déclenché une tâche


événementielle, utilisez l’instruction Get System Value (GSV) pour
surveiller l’attribut Status de la tâche.

Attribut Status de l’objet TASK

Attribut Type de Instruction Description


données
Status DINT GSV Fournit les informations d’état sur la tâche. Une fois que l’automate a activé
un bit, vous devez l’effacer manuellement pour déterminer si un autre défaut
SSV de ce type s’est produit.
Pour déterminer si Observez ce bit
une instruction EVENT a déclenché la tâche 0
(tâche événementielle uniquement)
un timeout a déclenché la tâche 1
(tâche événementielle uniquement)
un chevauchement s’est produit pour cette tâche 2

L’automate ne désactive pas les bits de l’attribut Status une fois qu’ils
sont activés.

• Pour utiliser un bit pour de nouvelles informations d’état, vous


devez le désactiver manuellement.

• Utilisez une instruction Set System Value (SSV) pour donner


à l’attribut une valeur différente.

Liste de vérification pour une tâche d’instruction EVENT

Rubrique : Vérification :
 1. Instruction EVENT Utilisez une instruction Trigger Event Task à chaque point de votre logique où vous
souhaitez déclencher la tâche événementielle.
 2. Priorité de la tâche Configurez la tâche événementielle en tant que tâche ayant la priorité la plus
élevée.

Si une tâche périodique a une priorité plus élevée, il se peut que la tâche
événementielle doive attendre la fin de la tâche périodique.
 3. Nombre de tâches Limitez le nombre de tâches événementielles.
événementielles
Chaque tâche supplémentaire réduit le temps de traitement disponible pour les
autres tâches. Cela peut provoquer un chevauchement.
 4. Traitement automatique des Pour une tâche événementielle, vous pouvez généralement désactiver le
sorties traitement automatique des sorties (valeur par défaut). Cela réduit la durée de la
tâche.

66 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

Un automate utilise des programmes multiples, mais sa procédure d’arrêt est


EXEMPLE
commune à tous ces programmes. Chaque programme utilise un point d’accès
programme nommé Shut_Down_Line qui s’active si le programme détecte une
condition nécessitant un arrêt.

Propriétés de la tâche événementielle

Un événement déclenchera cette tâche.

L’instruction EVENT déclenchera la tâche.

Aucun point n’est requis.

Interrompt toutes les autres tâches.

Logique à relais dans le programme A

Si Shut_Down_Line = on (les conditions exigent un arrêt) alors


exécuter la tâche Shut_Down (fermeture) une fois.

Logique à relais dans le programme B

Si Shut_Down_Line = on (les conditions exigent un arrêt) alors


exécuter la tâche Shut_Down (fermeture) une fois.

Publication 1756-PM005C-FR-P – Octobre 2009 67


Chapitre 2 Gestion des tâches événementielles

Définir une valeur de Si vous voulez que votre tâche événementielle s’exécute
automatiquement si le déclencheur ne se produit pas au bout d’un
timeout pour une tâche certain temps, attribuez une valeur de timeout à la tâche. Lorsque
événementielle l’exécution de la tâche événementielle est terminée, sa minuterie
commence son décompte. Si le temporisateur atteint la valeur
prédéfinie avant le déclenchement de la tâche événementielle, celle-ci
s’exécute automatiquement.

Tâche événementielle
Valeur de timeout pour la tâche
Temporisateur de timeout
Bit 1 de l’attribut Status de
l’objet TASK
1 2 3

Description

1 La tâche événementielle s’exécute.


Le temps de timeout arrête de s’incrémenter.

2 La tâche événementielle est terminée.


Le temporisateur de timeout est réinitialisé et commence à s’incrémenter.

3 Le temporisateur de timeout atteint la valeur de timeout.


La tâche événementielle s’exécute automatiquement.
Dans l’attribut Status de l’objet TASK, le bit 1 est activé.

Attribuer une valeur de timeout à une tâche événementielle

Pour affecter une valeur de temps limite à une tâche événementielle,


procédez de la façon suivante :

1. Dans l’arborescence de l’automate, cliquez avec le bouton droit


de la souris sur Main Task (tâche principale) et sélectionnez
Properties (propriétés).

La boîte de dialogue Task Properties s’affiche.

68 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

2. Cliquez sur l’onglet Configuration.

3. Dans le menu déroulant Type, sélectionnez Event


(événementielle).

4. Cochez « Execute Task If No Event Occurs Within » (exécuter la


tâche si aucun événement ne se produit durant).

5. Entrez la valeur de temps limite.

6. Cliquez sur OK.

Configurer un timeout via le programme

Pour configurer un timeout via le programme, utilisez une instruction


Get System Value (GSV) pour accéder aux attributs de la tâche.

Attribut Status de l’objet TASK

Attribut Type de Instruction Description


données
Rate (fréquence) DINT GSV Si le type de tâche est alors l’attribut Rate spécifie
périodique la période de la tâche, le temps est exprimé
SSV
en millisecondes.
événementielle la valeur de timeout pour la tâche, le temps
est exprimé en millisecondes.
EnableTimeOut DINT GSV Active ou désactive la fonction de timeout d’une tâche événementielle.
Pour Donnez à l’attribut la valeur
SSV
désactiver la fonction de 0 (valeur par défaut)
timeout
activer la fonction de timeout 1 (ou toute valeur différente de zéro)

Publication 1756-PM005C-FR-P – Octobre 2009 69


Chapitre 2 Gestion des tâches événementielles

EXEMPLE Configurer un timeout via le programme


Afin de s’assurer que la valeur de temps limite soit toujours définie et activée pour une tâche
événementielle, le programme configure cette valeur lorsque l’automate passe en mode d’exécution.

Si S:FS = 1 (première scrutation), définir la valeur de temps limite pour Task_2 et activer la fonction de temporisation.

1. La première instruction MOV définit Task_2_Timeout = 10000000 s (valeur DINT). Puis, l’instruction SSV définit
l’attribut Rate pour Task_2 = Task_2_Timeout. Cela configure la valeur de timeout pour la tâche.

2. La deuxième instruction MOV définit One = 1 (valeur DINT). Puis, l’instruction SSV définit l’attribut EnableTimeout
pour Task_2 = One. Cela active la fonction de timeout pour la tâche.

Déterminer par le programme si un timeout se produit

Pour déterminer si l’exécution d’une tâche événementielle a été


provoquée paur un timeout, utilisez l’instruction Get System Value
(GSV) pour surveiller l’attribut Status de la tâche.

Attribut Status de l’objet TASK

Attribut Type de Instruction Description


données
Status DINT GSV Fournit les informations d’état sur la tâche. Une fois que l’automate a activé un bit,
vous devez l’effacer manuellement pour déterminer si un autre défaut de ce type
SSV s’est produit.
Pour déterminer si Observez ce bit
une instruction EVENT a déclenché la tâche 0
(tâche événementielle uniquement)
un timeout a déclenché la tâche 1
(tâche événementielle uniquement)
un chevauchement s’est produit pour cette tâche 2

70 Publication 1756-PM005C-FR-P – Octobre 2009


Gestion des tâches événementielles Chapitre 2

EXEMPLE Définir une valeur de timeout pour une tâche événementielle


Si un timeout se produit pour la tâche événementielle, la communication avec le dispositif déclencheur
peut avoir échoué. Cela requiert l’arrêt du procédé. Pour arrêter l’automate ; la tâche événementielle
appelle le sous-programme de défaut et fournit un code de défaut défini par l’utilisateur (999 dans cet
exemple).
1. L’instruction GSV définit Task_2_Status = attribut d’état de Task_2 (valeur DINT).

2. Si Task_2_Status.1 = 1, un dépassement du temps limite s’est produit. Arrêter l’automate et régler le code de défaut
majeur sur 999.
L’instruction JSR appelle le sous-programme de défaut du programme. Cela génère un défaut majeur.
Le code de défaut majeur = 999 (valeur 999 du paramètre d’entrée).

3. Si Condition_1 = 1, effacer les bits de l’attribut d’état de Task_2.


L’instruction SSV met l’attribut Status de Task_2 = Zéro. Zéro est un point DINT ayant une valeur de 0.

Publication 1756-PM005C-FR-P – Octobre 2009 71


Chapitre 2 Gestion des tâches événementielles

Notes :

72 Publication 1756-PM005C-FR-P – Octobre 2009


Index

A M
automate module E/S
nombre de tâches 11 choisir pour tâche événementielle 41
synchroniser 60 configurer un changement d’état 38
déclencher une tâche événementielle 38
C
changement d’état P
configurer le module E/S 38 point
chevauchement déclencher une tâche événementielle 57
présentation 16 point consommé
vérification manuelle 17 maintien de l’intégrité des données 59
vérification via le programme 18 synchroniser des automates 60
communication position de surveillance
directives pour les communications non déclencher une tâche événementielle 53
prioritaires 15 priorité
impact sur l’exécution 12 attribuer 11
configurer projet
traitement des sorties d’une tâche 20 nombre de tâches 11
COS. Voir Changement d’état organiser les tâches 9
créer
tâche périodique 28
R
registration
D déclencher une tâche événementielle 49
déclencheur
choisir pour tâche événementielle 35
données d’entrée du module 38
S
groupe d’axes 47 surveiller
instruction EVENT 65 tâche 17
point consommé 57 synchroniser
registration de position d’axe 49 automates 60
surveillance de position d’axe 53
dépassement. Voir chevauchement
T
tâche
E attribuer la priorité 11
E/S chevauchement 16
impact sur l’exécution 12 choisir le déclencheur d’événement 35
temps de réponse pour une tâche choisir le type 9
événementielle 44 configuration du traitement des sorties
traitement des sorties 20 par programmation 23
exécuter configuration manuelle du traitement des
tâche événementielle 35 sorties 22
créer une périodique 28
déclencher via l’instruction EVENT 65
G définir le timeout 68
générateur de trajectoires éviter les chevauchements 16
déclencher une tâche événementielle 47 impact des tâches multiples sur la
impact sur l’exécution 12 communication 15
inhiber 24
nombre pris en charge 11
I priorité 11
inhiber surveiller 17, 18
tâche 24 temps du chien de garde 33

Publication 1756-PM005C-FR-P – Octobre 2009 73


Index

traitement des sorties 20 liste de vérification pour un événement


vérification des chevauchements via le de surveillance de position 54
programme 18 liste de vérification pour une entrée
vérification manuelle des d’événement 42
chevauchements 17 présentation 9
tâche continue timeout 68
présentation 9 utilisation de 9
utilisation de 9 tâche périodique
tâche événementielle créer 28
choisir le déclencheur 35 présentation 9
déclencheur Axis Registration utilisation de 9
(registration de position d’axe) temps de réponse
49 estimation pour une tâche
déclencheur Axis Watch 53 événementielle 44
déclencheur de données d’entrée 38 temps du chien de garde 33
déclencheur EVENT 65 timeout
déclencheur groupe d’axes (Motion définir pour une tâche événementielle 68
Group) 47 traitement des sorties
déclencheur point consommé 57 configuration manuelle 22
estimation du temps de réponse 44 configuration via le programme 23
liste de vérification pour un événement présentation 20
de groupe d’axes 48 tranche de temps système
liste de vérification pour un événement directives pour les tâches multiples 15
de point consommé 61, 62 impact sur l’exécution 12
liste de vérification pour un événement
de registration 49

74 Publication 1756-PM005C-FR-P – Octobre 2009


Assistance Rockwell Automation
Rockwell Automation fournit des informations techniques sur Internet pour vous aider à utiliser ses produits. Sur le
site http://www.rockwellautomation.com/support/, vous trouverez des manuels techniques, une foire aux questions,
des notes techniques et profils d’application, des exemples de programme et des liens vers les mises à jour des
logiciels (service packs). Vous y trouverez également la rubrique « MySupport », que vous pouvez personnaliser pour
utiliser au mieux ces outils.

Si vous souhaitez une assistance technique supplémentaire par téléphone pour l’installation, la configuration et
le dépannage de vos produits, nous proposons les programmes d’assistance TechConnect. Pour de plus amples
informations, contactez votre distributeur ou représentant Rockwell Automation, ou rendez-vous sur le site
http://www.rockwellautomation.com/support/.

Aide à l’installation

En cas de problème dans les 24 heures suivant l’installation, consultez les informations données dans le présent
manuel.
Vous pouvez également contacter l’Assistance Rockwell Automation afin d’obtenir de l’aide pour la mise en service
de votre produit :

Pour les États-Unis ou 1.440.646.3434


le Canada
Pour les autres pays Utilisez la rubrique Worldwide Locator sur le site
http://www.rockwellautomation.com/support/americas/phone_en.html,
ou contactez votre représentant Rockwell Automation.

Procédure de retour d’un nouveau produit

Rockwell Automation teste tous ses produits pour en garantir le parfait fonctionnement à leur sortie d’usine.
Cependant, si votre produit ne fonctionne pas et doit faire l’objet d’un retour :

Pour les États-Unis Contactez votre distributeur. Vous devrez lui fournir le numéro de dossier que le Centre d’assistance
vous aura communiqué (voir le numéro de téléphone ci-dessus), afin de procéder au retour.
Pour les autres pays Contactez votre représentant Rockwell Automation pour savoir comment procéder.

Commentaires sur la documentation


Vos commentaires nous aident à mieux vous servir. Si vous avez des suggestions sur la façon d’améliorer
ce document, remplissez le formulaire de la publication RA-DU002, disponible sur le site
http://www.rockwellautomation.com/literature/.

www.rockwel lautomation.com

Siège des activités « Power, Control and Information Solutions »


Amériques : Rockwell Automation, 1201 South Second Street, Milwaukee, WI 53204-2496 Etats-Unis, Tél. : +1 414.382.2000, Fax : +1 414.382.4444
Europe / Moyen-Orient / Afrique : Rockwell Automation NV, Pegasus Park, De Kleetlaan 12a, 1831 Diegem, Belgique, Tél. : +32 2 663 0600, Fax : +32 2 663 0640
Asie Pacifique : Rockwell Automation, Level 14, Core F, Cyberport 3, 100 Cyberport Road, Hong Kong, Tél. : +852 2887 4788, Fax : +852 2508 1846

Canada : Rockwell Automation, 3043 rue Joseph A. Bombardier, Laval, Québec, H7P 6C5, Tél: +1 (450) 781-5100, Fax: +1 (450) 781-5101, www.rockwellautomation.ca
France : Rockwell Automation SAS – 2, rue René Caudron, Bât. A, F-78960 Voisins-le-Bretonneux, Tél. : +33 1 61 08 77 00, Fax : +33 1 30 44 03 09
Suisse : Rockwell Automation AG, Buchserstrasse 7, CH-5001 Aarau, Tél. : +41 62 889 77 77, Fax : +41 62 889 77 11

Publication 1756-PM005C-FR-P – Octobre 2009 76


Copyright © 2009 Rockwell Automation, Inc. Tous droits réservés. Imprimé aux États-Unis.

Vous aimerez peut-être aussi