76
Tâches, programmes et sous programmes des automates Logix5000 Références ControlLogix 1756, GuardLogix 1756, Compact GuardLogix 1768, CompactLogix 1768, CompactLogix 1769, SoftLogix 1789, PowerFlex avec DriveLogix Manuel de programmation

Structurer un projet dans RS-Logix5000

  • Upload
    buitu

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Structurer un projet dans RS-Logix5000

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

Page 2: Structurer un projet dans RS-Logix5000

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.

Page 3: Structurer un projet dans RS-Logix5000

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

Page 4: Structurer un projet dans RS-Logix5000

Sommaire des modifications

Notes :

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

Page 5: Structurer un projet dans RS-Logix5000

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

Page 6: Structurer un projet dans RS-Logix5000

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

Page 7: Structurer un projet dans RS-Logix5000

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

Page 8: Structurer un projet dans RS-Logix5000

Préface

Notes :

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

Page 9: Structurer un projet dans RS-Logix5000

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

Page 10: Structurer un projet dans RS-Logix5000

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

Page 11: Structurer un projet dans RS-Logix5000

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

Page 12: Structurer un projet dans RS-Logix5000

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

Page 13: Structurer un projet dans RS-Logix5000

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

Page 14: Structurer un projet dans RS-Logix5000

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

Page 15: Structurer un projet dans RS-Logix5000

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

Page 16: Structurer un projet dans RS-Logix5000

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

Page 17: Structurer un projet dans RS-Logix5000

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

Page 18: Structurer un projet dans RS-Logix5000

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

Page 19: Structurer un projet dans RS-Logix5000

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

Page 20: Structurer un projet dans RS-Logix5000

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

Page 21: Structurer un projet dans RS-Logix5000

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

Page 22: Structurer un projet dans RS-Logix5000

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

Page 23: Structurer un projet dans RS-Logix5000

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

Page 24: Structurer un projet dans RS-Logix5000

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

Page 25: Structurer un projet dans RS-Logix5000

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

Page 26: Structurer un projet dans RS-Logix5000

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

Page 27: Structurer un projet dans RS-Logix5000

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

Page 28: Structurer un projet dans RS-Logix5000

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

Page 29: Structurer un projet dans RS-Logix5000

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

Page 30: Structurer un projet dans RS-Logix5000

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

Page 31: Structurer un projet dans RS-Logix5000

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

Page 32: Structurer un projet dans RS-Logix5000

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

Page 33: Structurer un projet dans RS-Logix5000

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

Page 34: Structurer un projet dans RS-Logix5000

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

Page 35: Structurer un projet dans RS-Logix5000

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

Page 36: Structurer un projet dans RS-Logix5000

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

Page 37: Structurer un projet dans RS-Logix5000

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

Page 38: Structurer un projet dans RS-Logix5000

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

Page 39: Structurer un projet dans RS-Logix5000

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

Page 40: Structurer un projet dans RS-Logix5000

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

Page 41: Structurer un projet dans RS-Logix5000

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

Page 42: Structurer un projet dans RS-Logix5000

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

Page 43: Structurer un projet dans RS-Logix5000

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

Page 44: Structurer un projet dans RS-Logix5000

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

Page 45: Structurer un projet dans RS-Logix5000

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

Page 46: Structurer un projet dans RS-Logix5000

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

Page 47: Structurer un projet dans RS-Logix5000

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

Page 48: Structurer un projet dans RS-Logix5000

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

Page 49: Structurer un projet dans RS-Logix5000

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

Page 50: Structurer un projet dans RS-Logix5000

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

Page 51: Structurer un projet dans RS-Logix5000

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

Page 52: Structurer un projet dans RS-Logix5000

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

Page 53: Structurer un projet dans RS-Logix5000

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

Page 54: Structurer un projet dans RS-Logix5000

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

Page 55: Structurer un projet dans RS-Logix5000

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

Page 56: Structurer un projet dans RS-Logix5000

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

Page 57: Structurer un projet dans RS-Logix5000

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

Page 58: Structurer un projet dans RS-Logix5000

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

Page 59: Structurer un projet dans RS-Logix5000

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

Page 60: Structurer un projet dans RS-Logix5000

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

Page 61: Structurer un projet dans RS-Logix5000

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

Page 62: Structurer un projet dans RS-Logix5000

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

Page 63: Structurer un projet dans RS-Logix5000

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

Page 64: Structurer un projet dans RS-Logix5000

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

Page 65: Structurer un projet dans RS-Logix5000

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

Page 66: Structurer un projet dans RS-Logix5000

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

Page 67: Structurer un projet dans RS-Logix5000

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

Page 68: Structurer un projet dans RS-Logix5000

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

Page 69: Structurer un projet dans RS-Logix5000

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

Page 70: Structurer un projet dans RS-Logix5000

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

Page 71: Structurer un projet dans RS-Logix5000

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

Page 72: Structurer un projet dans RS-Logix5000

Chapitre 2 Gestion des tâches événementielles

Notes :

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

Page 73: Structurer un projet dans RS-Logix5000

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

Page 74: Structurer un projet dans RS-Logix5000

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

Page 75: Structurer un projet dans RS-Logix5000
Page 76: Structurer un projet dans RS-Logix5000

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.