View
221
Download
0
Category
Preview:
Citation preview
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’utilisateurLes é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 :
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.
AVERTISSEMENTActions 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.
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 1Gestion des tâches Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Sélectionner les tâches de l’automate . . . . . . . . . . . . . . . . . . . 9Attention 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Allouer un temps suffisant pour les communications non prioritaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Éviter les chevauchements. . . . . . . . . . . . . . . . . . . . . . . . . . 16
Vérifier manuellement les chevauchements . . . . . . . . . . . 17Vérifier les chevauchements via le programme . . . . . . . . 18
Configuration du traitement des sorties d’une tâche . . . . . . . 20Configuration manuelle du traitement des sorties . . . . . . 22Configuration du traitement des sorties par programmation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Inhiber une tâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Inhiber ou désinhiber manuellement une tâche. . . . . . . . 24Inhiber ou désinhiber une tâche via le programme . . . . . 25
Créer une tâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Créer une tâche périodique . . . . . . . . . . . . . . . . . . . . . . 28Commutation de langues . . . . . . . . . . . . . . . . . . . . . . . . 29
Régler la tranche de temps de traitement système. . . . . . . . . 30Configuration de la tranche de temps de traitement système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Réglage du temps de chien de garde du système . . . . . . . . . 33Régler le temporisateur du chien de garde pour une tâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Chapitre 2Gestion des tâches événementielles
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Choisir le déclencheur pour une tâche événementielle . . . . . 35Dé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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38S’assurer qu’un module peut déclencher une tâche événementielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Liste de vérification pour une entrée de tâche événementielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Estimation du temps de réponse. . . . . . . . . . . . . . . . . . . 44Autres considérations . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Déclencheur groupe d’axes . . . . . . . . . . . . . . . . . . . . . . . . 47Liste de vérification pour une tâche de groupe d’axes . . . 48
Déclencheur Axis Registration . . . . . . . . . . . . . . . . . . . . . . 49Liste 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Liste de vérification pour une tâche de surveillance de position d’axe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Déclencheur point consommé . . . . . . . . . . . . . . . . . . . . . . . 57Maintien de l’intégrité des données. . . . . . . . . . . . . . . . . 59Synchronisation de plusieurs automates . . . . . . . . . . . . . 60Liste de vérification pour l’automate producteur . . . . . . . 61Liste de vérification pour l’automate consommateur . . . . 62Automate producteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Propriétés du point produit . . . . . . . . . . . . . . . . . . . . . . 63Logique à relais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Automate consommateur . . . . . . . . . . . . . . . . . . . . . . . . 64Propriétés de la tâche événementielle . . . . . . . . . . . . . . . 64Logique à relais dans la tâche événementielle . . . . . . . . . 64
Instruction EVENT comme déclencheur . . . . . . . . . . . . . . . . 65Déterminer par programmation si une instruction EVENT a déclenché une tâche . . . . . . . . . . . . . . . . . . . . 66Liste de vérification pour une tâche d’instruction EVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Propriétés de la tâche événementielle . . . . . . . . . . . . . . . 67Logique à relais dans le programme A . . . . . . . . . . . . . . 67Logique à 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Configurer un timeout via le programme . . . . . . . . . . . . 69Dé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 l’automate
Un automate Logix5000 prend en charge plusieurs tâches pour planifier et déterminer l’ordre d’exécution de vos programmes en 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 une section de votre logique…
Utilisez ce type de tâche
Description
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 (par exemple, toutes les 100 ms)
plusieurs fois pendant la scrutation de votre autre logique
tâche périodique Une tâche périodique exécute une fonction à une période spécifiée. Chaque fois que le délai de la tâche périodique prend fin, cette 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.
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
Voici quelques exemples de situations déterminant un type de tâche particulier :
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.
Si vous souhaitez exécuter une section de votre logique…
Utilisez ce type de tâche
Description
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 trémie.
tâche continue
Votre système doit vérifier la position d’un bras toutes les 0,1 s et calculer la vitesse de variation moyenne de sa position. Cela permet de déterminer la pression de freinage.
tâche périodique
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 d’encollage, l’automate doit exécuter immédiatement le sous-programme d’encollage.
tâche événementielle
Lors d’une opération d’assemblage à grande vitesse, un détecteur optique détecte un certain type de rebut. Lorsque le détecteur détecte un rebut, la machine doit immédiatement le rejeter.
tâche événementielle
Sur un banc d’essais moteur, vous souhaitez collecter et archiver toutes les données analogiques immédiatement après chaque échantillonnage.
tâche événementielle
Chargement des nouvelles données de production sur le poste de traitement immédiatement après leur réception.
tâche événementielle
Dans une ligne de conditionnement de barres chocolatées, vous devez vous assurer 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.
tâche événementielle
Une station d’encollage doit ajuster la quantité de colle appliquée pour compenser les 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.
tâche événementielle
Dans une ligne de production, si l’un des programmes détecte une condition dangereuse, toute la ligne doit être arrêtée. La procédure d’arrêt est la même quelle que soit la condition dangereuse.
tâche événementielle
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.
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 tâches périodiques et événementielles
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 événementielle est déclenchée tandis qu’une autre tâche est en 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… prend en charge ce nombre de tâches
Remarques
ControlLogixSoftLogix5800GuardLogix
32 Une seule tâche peut être continue.
CompactLogix
1769-L2x1769-L311769-L32x1769-L35x
1768-L431768-L45
3468
1630
DriveLogix 8
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.
Autres considérations
Lorsque vous planifiez les interruptions d’exécution d’une tâche, tenez compte des points suivants :
Si vous voulez… Alors Remarques
qu’une tâche interrompe une autre tâche attribuez un numéro de priorité qui soit inférieur (priorité plus élevée) au numéro de priorité de l’autre tâche.
Une tâche ayant une priorité plus élevée interrompt toutes les tâches qui ont une priorité plus faible.
Une tâche ayant une priorité plus élevée peut interrompre plusieurs fois une tâche qui a une priorité plus faible.
qu’une autre tâche interrompe cette tâche attribuez un numéro de priorité supérieur (priorité plus faible) au numéro de priorité de l’autre tâche.
que cette tâche partage le temps de l’automate avec une autre tâche
attribuez le même numéro de priorité aux deux tâches.
L’automate bascule d’une tâche à l’autre et exécute chaque tâche pendant 1 ms.
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 traitement des E/S
6
soit interrompue ou retardée par le traitement des E/S
7…15
12 Publication 1756-PM005C-FR-P – Octobre 2009
Gestion des tâches Chapitre 1
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.
Considération Description
Publication 1756-PM005C-FR-P – Octobre 2009 13
Chapitre 1 Gestion des tâches
EXEMPLECet exemple illustre l’exécution d’un projet comportant trois tâches utilisateur.
Tâche Priorité Période Temps d’exécution
Durée
Générateur de trajectoires – 8 ms (période d’actualisation du générateur de trajectoires)
1 ms 1 ms
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 automates ControlLogix et SoftLogix. Voir page 12
7 5 ms (RPI le plus rapide) 1 ms 1 à 5 ms
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érateurde
trajectoires
Tâcheévénemen-
tielle 1
Tâchepériodique 1
Tâche desE/S
Tempssystème
Tâchecontinue 5 10 15 20 25 30 35 40 45 50
Description
Initialement, l’automate exécute la génération de trajectoires et la tâche d’E/S (le cas échéant).
Après l’exécution de la tâche continue pendant 4 ms, l’automate déclenche le temps système.
La période pour la tâche périodique 1 prend fin (12 ms), la tâche interrompt donc la tâche continue.
Après l’exécution de la tâche continue pendant encore 4 ms, l’automate déclenche le temps système.
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.
La tâche continue reprend automatiquement.
1 2 4 5 63
1
2
3
4
5
6
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 pour les communications non prioritaires
Les communications non prioritaires sont transmises uniquement si aucune tâche périodique ou événementielle n’est exécutée. Si vous utilisez plusieurs tâches, assurez-vous que leurs temps de scrutation et 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.
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).
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
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.
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 :
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
21 43
Description
Le déclenchement de la tâche se produit.
La tâche est exécutée.
Le déclenchement de la tâche se produit.
La tâche est exécutée.
Le déclenchement de la tâche se produit.
La tâche est exécutée.
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é.
Si le type de la tâche est…
Alors
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.
1
2
3
4
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).
3. Cliquez sur OK.
Nombre de chevauchements depuis ladernière remise à zéro du compteur.
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 données
Description
Déterminer si un chevauchement s’est produit pour une tâche quelconque
FAULTLOG MinorFaultBits DINT Bits individuels qui indiquent un défaut mineur :
Pour déterminer si Observez ce bit
une instruction a produit un défaut mineur
4
un chevauchement s’est produit pour une tâche
6
le port série a produit un défaut mineur
9
la batterie est manquante ou doit être remplacée
10
Déterminer si un chevauchement s’est produit pour une tâche spécifique
TASK Status DINT Informations d’état sur la tâche. Une fois que l’automate a activé l’un de ces bits, vous devez le désactiver manuellement.
Pour déterminer si Observez ce bit
une instruction EVENT a déclenché la tâche (tâche événementielle uniquement)
0
un timeout a déclenché la tâche (tâche événementielle uniquement)
1
un chevauchement s’est produit pour cette tâche
2
Déterminer le nombre de fois qu’un chevauchement s’est produit.
TASK OverlapCount DINT Valable pour une tâche événementielle ou périodique.
Pour effacer le compteur, mettez l’attribut à 0.
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 des sorties d’une tâche
À 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 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 traitementdes 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.
Désactiver le traitement automatique des sorties pour réduire la surcharge de la tâche
Désactiver le traitement automatique des sorties pour réduire la surcharge de la tâche
B
CA
Combien de modules de sortie cette tâche affecte-t-elle (écriture de données) ?
S’agit-il de la seule tâche dans le répertoire Tasks du projet ?
oui Activer le traitement automatique des sorties.
non
4 ou plus
0, 1, 2 ou 3
Y a-t-il une autre tâche configurée pour activer le traitement automatique des sorties ?
non
oui
non Autorisez le traitement automatique des sorties pour la tâche que vous configurez.
Procédez de la façon suivante dans le cadre de la configuration d’une tâche :
1. désactivez le traitement automatique des sorties
2. utilisez une instruction IOT pour mettre à jour chaque module de sortie affecté
La tâche configurée pour traiter automatiquement les sorties est-elle exécutée fréquemment/en permanence ?
Pour cet organigramme, une tâche s’exécute fréquemment si son temps d’intervalle (temps qui s’écoule entre les déclenchements) est au RPI des modules d’E/S dans votre système.
B
B
C
B
AS’agit-il de la seule tâche dans le répertoire Tasks du projet ?
oui
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.
4. Cliquez sur OK.
Si vous voulez… Alors
activer le traitement des sorties à la fin de la tâche
Décochez « Disable Automatic Output Processing 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 sorties à la fin de la tâche
Cochez « Disable Automatic Output Processing To Reduce Task Overhead » (désactiver le traitement automatique des sorties pour réduire la consommation de ressources de la tâche).
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 données
Instruction Description
activer ou désactiver le traitement des sorties à la fin d’une tâche
DisableUpdateOutputs DINT GSV
SSV
Pour Donnez à l’attribut la valeur
activer le traitement des sorties à la fin de la tâche
0
désactiver le traitement des sorties à la fin de la tâche
1 (ou toute valeur différente de zéro)
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 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.
Si vous voulez… Alors
permettre l’exécution de la tâche lorsque son déclenchement se produit
désinhibez la tâche (par défaut)
empêcher l’exécution de la tâche lorsque son déclenchement se produit
inhibez la tâche
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.
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.
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.
Si vous voulez… Alors
permettre l’exécution de la tâche lorsque son déclenchement se produit
Décochez « Inhibit Task » (inhiber la tâche) – valeur par défaut.
empêcher l’exécution de la tâche lorsque son déclenchement se produit
Cochez « Inhibit Task » (inhiber la tâche).
Attribut Type de données
Instruction Description
InhibitTask DINT GSV
SSV
Empêche l’exécution de la tâche.
Pour Donnez à l’attribut la 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
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.
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).
Execute Task If No Event Occurs Within (exécuter la tâche si aucun événement se produit dans l’intervalle)
Cochez cette case et saisissez la valeur du temps qui doit s’écouler avant qu’une 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.
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.
Rubrique Description
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).
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.
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.
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 de traitement système
Un automate Logix5000 communique avec les autres dispositifs (modules d’E/S, automates, terminaux d’IHM, etc.) soit à une 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 de service
Communication avec les dispositifs IHM
Exécution d’instructions Message (MSG), y compris les blocs-transferts
Réponse à des messages provenant d’autres automates
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.
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 %.
Pour cette tranche de temps
La tâche continue s’exécute pendant
Les communications de 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
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é).
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.
43087
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 de garde du système
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 défaut majeur.
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.
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é.
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 une tâche événementielle
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 revue certains de ces déclencheurs.
Déclencheurs de tâche événementielle
Pour déclencher une tâche événementielle quand…
utilisez ce déclencheur
et tenez compte de ces considérations
une entrée TOR est activée ou désactivée
Changement d’état des données d’entrée du module
• Un seul module d’entrée peut déclencher une tâche événementielle spécifique.
• 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 échantillonne des données
Changement d’état des données d’entrée du module
• Un seul module d’entrée peut déclencher une tâche événementielle spécifique.
• 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 données provenant d’un point consommé
Point consommé • Un seul point consommé peut déclencher une tâche événementielle spécifique.
• 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
Voici quelques exemples d’utilisation de tâches événementielles avec les déclencheurs correspondants.
l’entrée de registration d’un axe est activée (ou désactivée)
Registration d’axe (1 ou 2)
• Pour que l’entrée de registration déclenche la tâche événementielle, 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 comme point de surveillance
Surveillance de position d’axe
• Pour que la position surveillée déclenche la tâche événementielle, 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 termine son exécution
Exécution d’un groupe d’axes
• 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 après la génération de trajectoires.
une ou des conditions spécifiques sont présentes dans la logique d’un programme
Instruction EVENT Plusieurs instructions EVENT peuvent déclencher la même tâche. Cela permet d’exécuter une tâche à partir de programmes différents.
Déclencheurs de tâche événementielle
Pour déclencher une tâche événementielle quand…
utilisez ce déclencheur
et tenez compte de ces considérations
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 position d’encollage, l’automate doit exécuter immédiatement le sous-programme d’encollage.
Changement d’état des données 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. Étant donné que le détecteur de proximité est activé pendant un très bref instant (impulsion), la tâche continue peut manquer la transition de Off à On du détecteur.
Changement d’état des données d’entrée du module
Dans un banc de test moteur, vous devez saisir et archiver chaque échantillon de données analogiques.
Changement d’état des données 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 assurer que l’automate B n’utilise pas les valeurs pendant que l’automate A met à jour le tableau.
Point consommé
Dans une ligne de conditionnement de barres chocolatées, vous devez vous assurer 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.
Registration d’axe 1 ou 2
36 Publication 1756-PM005C-FR-P – Octobre 2009
Gestion des tâches événementielles Chapitre 2
Les déclencheurs pouvant être utilisés pour une tâche événementielle varient en fonction du type d’automate Logix5000.
Dans la station d’étiquetage d’une ligne d’embouteillage, vous devez vérifier la position de 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.
Surveillance de position d’axe
Une station d’encollage doit ajuster la quantité de colle appliquée pour compenser les 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.
Exécution d’un groupe d’axes
Dans une ligne de production, si l’un des programmes détecte une condition dangereuse, toute la ligne doit être arrêtée. La procédure d’arrêt est la même quelle que soit la condition dangereuse.
Instruction EVENT
Pour cet exemple de cas… Utilisez une tâche événementielle avec ce déclencheur
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 cet automate
Vous pouvez utiliser ces déclencheurs de tâches événementielles
Changement d’état des
données d’entrée du module
Point consommé Registration d’axe 1 ou 2
Surveillance de position d’axe
Exécution d’un groupe d’axes
Instruction EVENT
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 changement d’état des données d’entrée du module
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 Input Data State Change » (changement d’état des données d’entrée du module).
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.
Un événement déclenchera cette tâche.
Les données fournies par un module d’entréedéclencheront la tâche.
Ce point d’entrée déclenchera la tâche.
Lorsque la tâche est terminée, n’actualisezpas les sorties TOR dans le châssis local.
Terme Définition
Envoi multidestinataire
Système par lequel un module envoie des données sur un réseau à plusieurs destinataires (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 requis (RPI)
Le RPI définit l’intervalle auquel un module multidiffuse ses données. Par exemple, un 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 temps réel (RTS)
Le RTS spécifie quand un module analogique scrute ses voies et distribue ses données (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
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.
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.
Voici quelques exemples de configurations du COS et du RTS.
Changement d’état (COS)
Le paramètre COS commande à un module d’entrée TOR de distribuer les données à chaque 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.
Terme Définition
Multidiffusion des données par le module d’entrée
Si le module d’entrée est
et que ses données sont multidiffusées et il déclenche une tâche événementielle
un module TOR le COS est activé pour un point quelconque sur le module
• lorsqu’un point dont le COS est activé reçoit le changement spécifié
• à l’issue du RPI
lorsqu’un point dont le COS est activé reçoit le changement spécifié
le COS n’est activé pour aucun point sur le module
à l’issue du RPI jamais
un module analogique
RTS RPI à l’issue du RTS (données de voie nouvellement actualisées)
à l’issue du RTS pour le module
RTS > RPI • à l’issue du RTS (données de voie nouvellement actualisées)
• à l’issue du RPI (données de voie non actualisées)
à l’issue du RTS pour le module
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)
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’étatAucun changement d’état
pour les points restants
Point 0
tâcheévénementielle
Changement d’état
Aucun changement d’étatpour les points restants
Point 0
tâcheévénementielle
Changement d’étatAucun changement d’état
pour les points restants
tâcheévénemen-
tielle
RTS desentrées
analogiques
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 temps réel
1756-IF16 1756-IF4FXOF2F/A
1756-IF6CIS 1756-IF6I
1756-IF8 1756-IR6I
1756-IT6I 1756-IT6I2
Modules de communication fournissant des connexions natives pour rack
1756-CNB/A 1756-CNB/B
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 d’événements CIP
1756-MODULE
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 événementielles
Limitez le nombre de tâches é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 sorties
Pour une tâche événementielle, vous pouvez généralement désactiver le traitement 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
EXEMPLELorsque des pièces passent à la hauteur d’un dérouteur, l’automate doit décider s’il 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.
La tâche événementielle utilise ce programme pour commander le dérouteur.
Une cellule photoélectrique placée au niveaudu 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 cellulepeut ainsi déclencher la tâche événementielle
lorsqu’elle est activée et lorsqu’elle est désactivée.
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 ?
sLa valeur est généralement indiquée en millisecondes. Convertissez-la en microsecondes (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 ?
s
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.
3. Quel est le temps de communication du fond de panier ?
s
Si la taille du châssis est de
Utilisez cette valeur (cas le plus défavorable)
4 emplacements 13 s
7 emplacements 22 s
10 emplacements 32 s
13 emplacements 42 s
17 emplacements 54 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
EXEMPLEEstimation du temps de réponse
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 ?
0 sLa valeur est généralement indiquée en millisecondes. Convertissez-la en microsecondes (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 ?
330 s
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.
3. Quel est le temps de communication du fond de panier ?
13 s
Si la taille du châssis est de
Utilisez cette valeur (cas le plus défavorable)
4 emplacements 13 s
7 emplacements 22 s
10 emplacements 32 s
13 emplacements 42 s
17 emplacements 54 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.
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).
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.
Considération Description
Quantité de code dans la tâche événementielle
Chaque élément du programme (ligne, instruction, élément de texte structuré, etc.) 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.)
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.
Lorsque la tâche est terminée, n’actualisezpas les sorties TOR dans le châssis local.
Interrompt toutes les autres tâches.
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.
Liste de vérification pour une tâche de groupe d’axes
Générateur de trajectoires
Période d’échantillonnage intermédiaire du générateur de trajectoires
Tâche événementielle
La période d’échantillonnage intermédiaire du groupe d’axesdéclenche l’exécution du générateur de trajectoires et de la
tâche événementielle.
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 événementielles
Limitez le nombre de tâches é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 sorties
Pour une tâche événementielle, vous pouvez généralement désactiver le 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 Registration
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).
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.
Un événement déclenchera cette tâche.
L’entrée de registration de position 1….
…de cet axe déclenchera la tâche.
Lorsque la tâche est terminée, n’actualisezpas les sorties TOR dans le châssis local.
Interrompt toutes les autres tâches.
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 registration entre les intervalles de la condition de déclenchement,
par exemple, un programme normal exécute toujours au moins deux scrutations entre les entrées de registration.
armez l’entrée de registration dans votre logique normale, si vous le souhaitez.
pas suffisamment rapide pour réarmer l’entrée de registration
armez l’entrée 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 événementielles
Limitez le nombre de tâches é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 sorties
Pour une tâche événementielle, vous pouvez généralement désactiver le 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
EXEMPLEDans une ligne de conditionnement de barres chocolatées, vous devez vous assurer 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.
Cette logique arme et réarme l’entrée de registration.
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 interrompttoutes les autres tâches.
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.
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é.
Autre logique
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.
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.
Un événement déclenchera cette tâche.
La surveillance de position…
…de cet axe déclenchera la tâche.
Lorsque la tâche est terminée, n’actualisezpas les sorties TOR dans le châssis local.
Interrompt toutes les autres tâches.
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 les intervalles de position surveillée,
par exemple, un programme normal réalise toujours au moins deux scrutations entre les points de surveillance.
armez l’axe dans votre logique normale, si vous le souhaitez.
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 événementielles
Limitez le nombre de tâches é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 sorties
Pour une tâche événementielle, vous pouvez généralement désactiver le 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
EXEMPLEDans la station d’étiquetage d’une ligne d’embouteillage, vous devez vérifier la 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.
Ce programme arme et réarme l’axe pour la surveillance de position.
La position surveillée…
…de l’axe nommé Axis_1 déclenchela tâche événementielle.
Cette tâche événementielle interrompttoutes les autres tâches.
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).
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é.
Autre logique
56 Publication 1756-PM005C-FR-P – Octobre 2009
Gestion des tâches événementielles Chapitre 2
Déclencheur point consommé
Pour déclencher une tâche événementielle en fonction des données d’un point consommé, utilisez le déclencheur Consumed Tag.
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.
Un événement déclenchera cette tâche.
Un point consommé déclenchera la tâche.
Ce point consommé déclenchera la tâche.
Tâche événementielle
Point_consommé
6A7844B1
3B221D89
43BB278F
Automate A Automate B
nou-velles
don-nées
Point_produit
6A7844B1
3B221D89
43BB278F
2 31 4
Description
Dans l’automate A, la logique actualise les valeurs d’un point produit.
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.
L’automate B consomme les nouvelles données.
Une fois que l’automate B a actualisé le point consommé, il exécute la tâche événementielle.
1
2
3
4
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.
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.
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 points sur un réseau ControlNet uniquement
Dans l’intervalle entre trames réel (API) du point consommé (connexion)
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
Tâche événementielledans l’automate
consommateur
Valeurs chargées dans lepoint produit
Instruction IOT dansl’automate producteur
Tâche événementielledans l’automate
consommateur
Valeurs chargées dans lepoint produit
Instruction IOT dansl’automate producteur
RPI du point produit
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.
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.
21 3 4
Exécution de l’instructionIOT interne
Transmission dupoint produit
Changement des valeursd’un point produit
Tâche événementielle dansl’automate consommateur
5
Description
Le RPI se produit pour le point produit.
Le point produit transfère les anciennes données à l’automate consommateur.
L’automate producteur commence à actualiser les valeurs du point produit.
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.
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.
Lorsque l’automate consommateur reçoit toutes les données, il exécute sa tâche événementielle.
1
2
3
4
5
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.
Tâche événementielle dans l’automate consommateur A
Exécution du programme dans l’automate producteur
Instruction IOT dans l’automate producteur
Tâche événementielle dans l’automate consommateur B
21 3 4
Description
Le premier automate exécute une action avec laquelle les autres automates doivent rester synchronisés.
Lorsque l’action est terminée, l’automate exécute une instruction IOT. L’instruction IOT utilise un point produit comme cible.
Lorsque l’automate A reçoit le point produit, il exécute sa tâche événementielle.
Lorsque l’automate B reçoit le point produit, il exécute sa tâche événementielle.
1
2
3
4
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.
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.
Point_produit
6A7844B1
3B221D89
43BB278F
CPS
Ce point stocke les données écrites par les instructions du
projet.
Donnéesdepuis la
logique
Point_source
6A7844B1
3B221D89
43BB278F
Copie synchrone de fichier
Ce point stocke une copie du point source à un moment
donné.
L’instruction CPS empêche la modification 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.
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.
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 événementielles
Limitez le nombre de tâches é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 sorties
Pour une tâche événementielle, vous pouvez généralement désactiver le traitement automatique des sorties (valeur par défaut). Cela réduit la durée de la tâche.
Point_destination
6A7844B1
3B221D89
43BB278F
CPS
Ce point stocke les données produites par l’autre automate.
Donnéesdepuis un
autreautomate
Point_consommé
6A7844B1
3B221D89
43BB278F
Copie synchrone de fichier
Ce point stocke une copie du point consommé. Les instructions du
projet utilisent ces données.
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.
Tâche événementielle
62 Publication 1756-PM005C-FR-P – Octobre 2009
Gestion des tâches événementielles Chapitre 2
EXEMPLELorsqu’une pièce se déplace sur une ligne de production, chaque station requiert 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
Logique à relais
Point_Produit est configuré pour actualiser sondéclencheur d’événement via une instruction IOT.
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
Logique à relais dans 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.
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 déclencheur
Pour déclencher une tâche événementielle en fonction de votre logique, utilisez le déclencheur EVENT Instruction Only (instruction EVENT seule).
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.
Un événement déclenchera cette tâche.
L’instruction EVENT déclenchera la tâche.
Aucun point n’est requis.
Description
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.
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.
Instruction EVENT dans leprogramme A
Instruction EVENT dans leprogramme B
Tâche événementielle
1 2
1
2
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.
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
Attribut Status de l’objet TASK
Attribut Type de données
Instruction Description
Status DINT GSV
SSV
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 s’est produit.
Pour déterminer si Observez ce bit
une instruction EVENT a déclenché la tâche (tâche événementielle uniquement)
0
un timeout a déclenché la tâche (tâche événementielle uniquement)
1
un chevauchement s’est produit pour cette tâche 2
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 événementielles
Limitez le nombre de tâches é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 sorties
Pour une tâche événementielle, vous pouvez généralement désactiver le 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
EXEMPLEUn automate utilise des programmes multiples, mais sa procédure d’arrêt est 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
Logique à relais dans le programme A
Logique à relais dans le programme B
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.
Si Shut_Down_Line = on (les conditions exigent un arrêt) alors
exécuter la tâche Shut_Down (fermeture) une fois.
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 timeout pour une tâche événementielle
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 certain temps, attribuez une valeur de timeout à la tâche. Lorsque 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.
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.
Description
La tâche événementielle s’exécute.
Le temps de timeout arrête de s’incrémenter.
La tâche événementielle est terminée.
Le temporisateur de timeout est réinitialisé et commence à s’incrémenter.
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é.
Tâche événementielle
Valeur de timeout pour la tâche
Temporisateur de timeout
2 31
Bit 1 de l’attribut Status del’objet TASK
1
2
3
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 données
Instruction Description
Rate (fréquence) DINT GSV
SSV
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é en millisecondes.
événementielle la valeur de timeout pour la tâche, le temps est exprimé en millisecondes.
EnableTimeOut DINT GSV
SSV
Active ou désactive la fonction de timeout d’une tâche événementielle.
Pour Donnez à l’attribut la valeur
désactiver la fonction de timeout
0 (valeur par défaut)
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
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.
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.
Attribut Status de l’objet TASK
Attribut Type de données
Instruction Description
Status DINT GSV
SSV
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 s’est produit.
Pour déterminer si Observez ce bit
une instruction EVENT a déclenché la tâche (tâche événementielle uniquement)
0
un timeout a déclenché la tâche (tâche événementielle uniquement)
1
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
Aautomate
nombre de tâches 11synchroniser 60
Cchangement d’état
configurer le module E/S 38chevauchement
présentation 16vérification manuelle 17vérification via le programme 18
communicationdirectives pour les communications non
prioritaires 15impact sur l’exécution 12
configurertraitement des sorties d’une tâche 20
COS. Voir Changement d’étatcréer
tâche périodique 28
Ddéclencheur
choisir pour tâche événementielle 35données d’entrée du module 38groupe d’axes 47instruction EVENT 65point consommé 57registration de position d’axe 49surveillance de position d’axe 53
dépassement. Voir chevauchement
EE/S
impact sur l’exécution 12temps de réponse pour une tâche
événementielle 44traitement des sorties 20
exécutertâche événementielle 35
Ggénérateur de trajectoires
déclencher une tâche événementielle 47impact sur l’exécution 12
Iinhiber
tâche 24
Mmodule E/S
choisir pour tâche événementielle 41configurer un changement d’état 38déclencher une tâche événementielle 38
Ppoint
déclencher une tâche événementielle 57point consommé
maintien de l’intégrité des données 59synchroniser des automates 60
position de surveillancedéclencher une tâche événementielle 53
prioritéattribuer 11
projetnombre de tâches 11organiser les tâches 9
Rregistration
déclencher une tâche événementielle 49
Ssurveiller
tâche 17synchroniser
automates 60
Ttâche
attribuer la priorité 11chevauchement 16choisir le déclencheur d’événement 35choisir le type 9configuration du traitement des sorties
par programmation 23configuration manuelle du traitement des
sorties 22créer une périodique 28déclencher via l’instruction EVENT 65définir le timeout 68éviter les chevauchements 16impact des tâches multiples sur la
communication 15inhiber 24nombre pris en charge 11priorité 11surveiller 17, 18temps du chien de garde 33
Publication 1756-PM005C-FR-P – Octobre 2009 73
Index
traitement des sorties 20vérification des chevauchements via le
programme 18vérification manuelle des
chevauchements 17tâche continue
présentation 9utilisation de 9
tâche événementiellechoisir le déclencheur 35déclencheur Axis Registration
(registration de position d’axe) 49
déclencheur Axis Watch 53déclencheur de données d’entrée 38déclencheur EVENT 65déclencheur groupe d’axes (Motion
Group) 47déclencheur point consommé 57estimation du temps de réponse 44liste de vérification pour un événement
de groupe d’axes 48liste de vérification pour un événement
de point consommé 61, 62liste de vérification pour un événement
de registration 49
liste de vérification pour un événement de surveillance de position 54
liste de vérification pour une entrée d’événement 42
présentation 9timeout 68utilisation de 9
tâche périodiquecréer 28présentation 9utilisation de 9
temps de réponseestimation pour une tâche
événementielle 44temps du chien de garde 33timeout
définir pour une tâche événementielle 68traitement des sorties
configuration manuelle 22configuration via le programme 23présentation 20
tranche de temps systèmedirectives pour les tâches multiples 15impact sur l’exécution 12
74 Publication 1756-PM005C-FR-P – Octobre 2009
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.4444Europe / Moyen-Orient / Afrique : Rockwell Automation NV, Pegasus Park, De Kleetlaan 12a, 1831 Diegem, Belgique, Tél. : +32 2 663 0600, Fax : +32 2 663 0640Asie 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.caFrance : 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 09Suisse : Rockwell Automation AG, Buchserstrasse 7, CH-5001 Aarau, Tél. : +41 62 889 77 77, Fax : +41 62 889 77 11
www.rockwel lautomation.com
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 :
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 :
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/.
Pour les États-Unis ou le Canada
1.440.646.3434
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.
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.
Publication 1756-PM005C-FR-P – Octobre 2009 76Copyright © 2009 Rockwell Automation, Inc. Tous droits réservés. Imprimé aux États-Unis.
Recommended